You are currently viewing a new version of our website. To view the old version click .
Mathematics
  • Article
  • Open Access

21 April 2025

A Chemistry-Based Optimization Algorithm for Quality of Service-Aware Multi-Cloud Service Compositions

and
Computer Science Department, College of Computer and Information Sciences, King Saud University, Riyadh 11451, Saudi Arabia
*
Author to whom correspondence should be addressed.
This article belongs to the Special Issue Computational Intelligence: Theory and Applications, 2nd Edition

Abstract

The increasing complexity of cloud service composition demands innovative approaches that can efficiently optimize both functional requirements and quality of service (QoS) parameters. While several methods exist, they struggle to simultaneously minimize the number of combined clouds, examined services, and execution time while maintaining a high QoS. This novelty of this paper is the chemistry-based approach (CA) that draws inspiration from the periodic table’s organizational principles and electron shell theory to systematically reduce the complexity associated with service composition. As chemical elements are organized in the periodic table and electrons organize themselves in atomic shells based on energy levels, the proposed approach organizes cloud services in hierarchical structures based on their cloud number, composition frequencies, cloud quality, and QoS levels. By mapping chemical principles to cloud service attributes—where service quality levels correspond to electron shells and service combinations mirror molecular bonds—an efficient framework for service composition is created that simultaneously addresses multiple objectives in QoS, NC, NEC, NES, and execution time. The experimental results demonstrated significant improvements over existing methods, such as Genetic Algorithms (GAs), Simulated Annealing (SA), and Tabu Search (TS), across multiple performance metrics, i.e., reductions of 14–33% are observed in combined clouds, while reductions of 20–85% are observed in examined clouds, and reductions of 74–98% are observed in examined services. Also, a reduction of 10–99% is observed in execution time, while fitness levels are enhanced by 1–14% compared to benchmarks. These results validate the proposed approach’s effectiveness in optimizing service composition while minimizing computational overhead in multi-cloud environments.
MSC:
68M11; 68M14; 68T20; 90C59; 90B35

1. Introduction

The exponential growth in cloud service adoption has fundamentally transformed how user applications are deployed and accessed over the Internet [1,2,3,4]. This transformation has led to an unprecedented increase in the availability of online services [5,6,7], creating both opportunities and challenges in service composition and management. Cloud services exist in two primary forms—single services offering basic functionality and composite services that combine multiple primitives to meet complex requirements. While single services serve specific needs, they often fall short in addressing sophisticated user requirements, driving the demand for composite services [1,5].
Efficient service composition in multi-cloud environments (MCEs) presents several critical challenges. Service providers must optimize multiple competing objectives simultaneously, including QoS, execution time, and resource usage. The complexity of selecting optimal service combinations from vast service pools, coupled with the challenge of minimizing inter-cloud communication overhead, makes this task particularly demanding. Additionally, maintaining reliability while reducing the number of combined clouds poses a significant technical challenge that current solutions have yet to fully address.
Current approaches to service composition, particularly those employing nature-inspired algorithms (NIAs), have demonstrated success in solving difficult optimization problems [8,9,10,11,12]. However, significant limitations persist in existing solutions. Most current approaches focus on single-cloud environments [5,13], making them vulnerable to single points of failure. Multi-cloud approaches lack efficient mechanisms for simultaneously optimizing the number of combined clouds (NC) and quality of service (QoS). Furthermore, while previous studies [13,14,15,16,17] address NC optimization, they fail to balance it effectively with other critical parameters.
To address these limitations, an innovative chemistry-based approach (CA) is proposed that draws inspiration from the organizational principles of the periodic table and electron shell theory. The key innovations of the proposed work are outlined below.
The proposed approach establishes a novel mapping between chemical concepts and cloud service composition. The services are organized in hierarchical structures based on QoS levels, similar to how electrons organize themselves in shells based on energy levels. In addition, SFs (Service Files), which describe service tasks, are arranged in an SF table based on composition frequency and cloud distribution, mirroring the periodic table’s organization of elements according to atomic properties. The service composition and optimization methodology in this research approach are analogously modeled on the periodic table’s structure and the dynamic behavior of electrons transitioning between shells during chemical reactions.
The proposed approach uniquely structures SFs in a novel SF table that groups SFs according to their composition frequency and distribution across clouds. Within each SF, services are further arranged in four QoS levels (very high, high, medium, and low), mirroring electron shell organization in atoms. This organization significantly enhances the efficiency of service composition while maintaining high-quality standards. The innovation and novelty can be defined as follows:
Service File (SF) Table for Systematic Composition: This research work elaborated on organizing SFs (Service Files) in a tabular format that is based on the composition frequency and cloud distribution. It depicts the periodic table’s classification of elements according to their atomic number and number of shells to provide efficient SF selection.
Electron Transition-Inspired Optimization: The proposed work models service arrangement, which is based on the electron configuration according to energy level. This significantly enhances efficiency in selection by leveraging the principles of electron shell theory.
The main contributions of this research are as follows:
A Novel Chemistry-Inspired Approach (CA): This method uses the periodic table and electron shell theory to streamline service composition and help in moderating its inherent complexity.
A Multi-Objective Optimization Framework: The proposed framework balances competing objectives in a better way. These include QoS, NC, NEC, NES, and execution time.
Empirical Validation and Comparative Analysis: Experimental results demonstrate performance enhancements over the available optimization techniques. The techniques included are Genetic Algorithms (GAs), Simulated Annealing (SA), and Tabu Search (TS). The enhancements span across multiple key metrics.
The remainder of this paper is organized as follows: Section 2 discusses the state of the art in this field, Section 3 presents the problem statement, Section 4 explains the proposed CA methodology, Section 5 outlines the experimental design, Section 6 presents results and analysis, and Section 7 concludes with future research directions.

3. Problem Statement

3.1. Preliminaries

Cloud services are arranged in a hierarchical structure, as defined in [15], consisting of multiple clouds (Cs), where C = {C1, C2, …, Cc}. Each cloud contains a collection of SFs, where SF = {SF1, SF2, …, SFf}. Each SF contains a set of services (Ss), where S = {S1, S2, …, Ss}.
SFs (also known as abstract services) are a description of service tasks. Ss (also known as concrete services) are a subset of SFs that perform similar tasks but with different QoS features [25].

3.2. Indicators

The indicators are NC, NEC, and NES.
To define SC formally, it is supposed that a user request contains n tasks {t1, t2, …, tn}. The SC algorithm locates and combines n available services from c clouds and f SFs to find an optimal solution denoted as {S1,1,13, S3,2,1, …, Sc,f,n}, where each Sc,f,n represents a specific service n selected from cloud c and SFf. The main objective of the SC algorithm is to minimize NC, NEC, and NES of the SC problem and maximize the quality of a solution (Q), as per Equation (1)
Min (NC, NEC, NES) And Max (Q)

4. System Design

This section introduces the CA, which is inspired by the principles of electron movement and the periodic table. Section 4.1 provides the chemical background underlying the CA method. Section 4.2 outlines the design of the CA. Section 4.3 explains the SF table, which arranges SFs based on their composition frequency and the total number of clouds. Section 4.4 describes the service table, which ranks services based on their quality. Section 4.5 details the process for searching the SF table to find a required SF. Finally, Section 4.6 describes the computational complexity of the system.

4.1. Chemistry Inspiration

The CA draws inspiration from the periodic table and the movement of electrons, highlighting similarities between foundational chemistry principles and the design of the CA. The key innovation of this proposed approach lies in its unique mapping between chemical concepts and cloud service composition. By organizing SFs in a periodic table-like structure based on composition frequency and establishing quality levels analogous to electron shells, an original framework is created that significantly reduces the search space while maintaining solution quality. This represents a fundamental departure from traditional metaheuristic approaches, introducing a new paradigm in cloud service composition.

4.1.1. Periodic Table

Since Mendeleev’s first periodic table in 1869, this organizational tool has driven the discovery and study of elements and materials [80]. Figure 1a depicts the current structure of the periodic table, which arranges and organizes chemical elements in order of increasing atomic numbers vertically and horizontally. As per Figure 1b, each cell contains the following important information [81,82]:
Figure 1. Periodic table [83].
  • Atomic number: The number of protons in an atom, which determines the element and its chemical behavior.
  • Atomic symbol: An abbreviation for an element (e.g., “C” for carbon).
  • Atomic weight: The average mass of an element.
Periodic table columns are commonly referred to as groups. The valence electrons, or electrons in the outermost shell of an element, are identical for every element in the same column. Hence, they react in the same ways physically and chemically. For example, Group 18 elements are all inert gases with eight valence electrons. Each row is called a period, and the period number refers to the number of electron shells. For example, hydrogen is in the first row and contains only one electron shell [81].

4.1.2. Electron Movements Among Shells

Every element is composed entirely of a single kind of atom. Atoms consist of a nucleus, including protons and neutrons, and an outer region where electrons move in shells around the nucleus. According to the Bohr model, electrons can only be located in defined shells, each with a distinct energy level. Electrons closest to the nucleus have the lowest energy, while those further away have higher energy levels. Electrons can jump from one allowed shell to another by absorbing or emitting photons equal to the difference between the levels. An electron vanishes from the shell in which it is positioned and emerges again without ever being anywhere in between. Electrons absorb energy and jump to higher energy states [81]. Figure 2 depicts an electron jumping from shell n = 4 to shell n = 1, resulting in a photon perceived as red light.
Figure 2. Bohr model [81].

4.1.3. Analogies Between Chemistry and Chemistry Algorithms

The fundamental principles of the periodic table and electron motion inspired this work. Similarly to how the periodic table groups elements based on atomic numbers, the proposed research organizes SFs in a table in reverse sequence based on their composition frequency. The SFs are arranged in rows according to the number of clouds containing them, analogous to the periodic table’s row-based arrangement of elements based on the number of electron shells. Frequently combined SFs are grouped in the same column, akin to the periodic table’s vertical grouping of elements with similar characteristics.
Services within a specific cloud and SF are grouped in a service table according to their QoS levels (very high, high, medium, and low). This arrangement mirrors the distribution of electrons according to their energy levels. Table 3 provides a mapping between components of the CA and the principles of the periodic table and electron movement.
Table 3. Mapping of CA components to the periodic table and electron movement.

4.2. System Architecture

Figure 3 illustrates the system architecture, which comprises the following key components:
Figure 3. System architecture.
  • Cloud services are arranged in an MCE [15], consisting of multiple clouds (Cs), where C = {C1, C2, …, Cc}. Each cloud contains a collection of SFs, where SF = {SF1, SF2, …, SFf}. Each SF comprises a set of services (Ss), where S = {S1, S2, …, Ss}.
  • The user interface facilitates the submission of user requests and the presentation of the resulting composite service. This functionality is managed by the Request Handler and the Main Controller. The Main Controller plays a pivotal role in coordinating the operations of the Structure Generator and the Service Selection and Composition Engine. Specifically, it is responsible for transmitting the outputs produced by the Structure Generator, such as the SF table, to the Composition Engine, while also ensuring the efficient processing of requests received from the Request Handler.
  • The CA, particularly the Structure Generator, is responsible for generating an SF table and a service table in cases where these tables have not been previously established, as explained in Section 4.3 and Section 4.4.
  • The Cloud List, a subcomponent of the Structure Generator, employs the Cloud Organizer to classify clouds based on SF, as illustrated in Figure 4. Each SF maintains a systematically organized list of clouds in descending order of cloud quality. Each entry in the list is represented as C<Cloud number>,<Quality>, where the first value denotes the Cloud identifier and the second represents the associated Quality score. For instance, C1,6 corresponds to Cloud 1 with a Quality rating of 6. The sorting of clouds by quality is performed by the Quality-Based Cloud Sorter, with cloud quality being assessed based on two factors—the number of SFs (Nb_SFs) associated with the cloud and the number of services present in the first three columns of the service table (QoS_1, QoS_2, and QoS_3), which correspond to very high, high, and medium quality levels, respectively. It is computed using Equation (2).
    Figure 4. Cloud lists (Each entry, such as C1,6, represents a Cloud (Cloud Number, Quality).
  C l o u d   Q u a l i t y = 0.3 ( N b _ S F s ) + 0.4 ( Q o S _ 1 ) + 0.2 ( Q o S _ 2 ) + 0.1 ( Q o S _ 3 )
Here, weights assigned to the number of SFs and the number of services in each corresponding column are represented by the numerical values of the coefficients 0.3, 0.4, 0.2, and 0.1. Poor-quality services (QoS_4) are excluded. The computation process is entirely carried out by the Cloud Quality Evaluator.
5.
As explained in Section 4.5, the CA searches the SF table for the requested SF using Service Selection and Composition Engine.
6.
Upon the selection of an SF, it is added to the composite list alongside the first cloud from its associated cloud list and the first service from the first column of the service table. If no service is available in the first column, the algorithm sequentially examines subsequent columns until a suitable service is identified. This selection process is governed by the Quality-Based Cloud Selection Module and the Quality-Based Service Selection Module, respectively. Once a service is integrated into a composite service, along with its associated cloud and SF, it is marked as unavailable for future compositions and is subsequently removed from the service table. The removal of a service can influence the associated cloud’s quality or its availability within the SF’s cloud list. Each removal prompts an update to the cloud’s quality, which may alter its ranking in the SF’s cloud list. If the removed service is the last available entry in the service table for a particular cloud, the cloud may also be removed from the SF’s cloud list as it can no longer provide the required SF. This, in turn, leads to an update in the SF table, where the row index of the affected SF is reduced by one, reflecting the cloud’s inability to support the SF.
7.
Subsequently, the CA utilizes the selected cloud for other SFs. Following all the steps laid out in point 6, the entire process is carried out again to select a service, after identifying a suitable SF. This iterative process continues until all requested SFs are sought within the selected cloud. This task is performed by the Cloud SF Utilizer.
8.
Steps 5, 6, and 7 are re-iterated until all requested SFs are incorporated into the composite service.
The pseudocode of the CA algorithm is presented in Algorithm 1, and its corresponding block diagram is illustrated in Figure 5. The main workflow of the system and the sequential stages involved in request processing are shown in Figure 6 and Figure 7, respectively.
Algorithm 1: Pseudocode of the CA Algorithm
  Input: Clouds, SFs, Services
  Output: Composite service
INITIALIZATION:
  1:
If (SF Table = ∅)
  2:
Create Service table, Cloud lists, SF table, and Frequency Matrix
  3:
Number of Requests = 0
RECEIVE REQUESTS:
  4:
Request = New User Request
  5:
Number of Requests++
Locate SFs in SF TABLE:
  6:
Locate SFi from Remaining Requested SFs from SF Table
  7:
Locate Ci from SFi’s Cloud List
LOCATE SERVICE:
  8:
Locate Si from Service table of SFi & Ci
  9:
Add (Ci, SFi, Si) to composite service
  10:
If (Is the Service Table of SFi & Ci Empty?)
  11:
Remove Ci from the SFi’s Cloud list
  12:
Reposition SF in the SF Table by decrementing its Row Index
  13:
If (Is the Service Table of SFi & Ci not empty?)
  14:
Update Ci Quality Due to Service Unavailability
  15:
Rearrange Clouds in the SFi’s Cloud list
  16:
If (Is Request not fulfilled)
  17:
SFi = Locate Remaining Requested SFs in Ci
  18:
If (SFi= ∅)
  19:
Go to Locate SFs in SF TABLE
  20:
If (SFi<> ∅)
  21:
Go to LOCATE SERVICE
  22:
If (Is Request fulfilled)
  23:
Update Frequency Matrix
  24:
Send the composite service to the user
  25:
If (Number of Requests= Max)
  26:
Update SF Table
  27:
Go to RECEIVE REQUESTS
Figure 5. Block diagram illustrating the CA algorithm.
Figure 6. Main control algorithm.
Figure 7. Request processing flow.

4.3. Generating the Service File Table

The SF table organizes SFs based on their composition frequency and the number of clouds, as depicted in Figure 8. SFs in the SF table are denoted as SFf,y, where f denotes the SF number and y represents the composition frequency, i.e., the number of times the SF is requested.
Figure 8. SF table (Each entry, such as SF1,22, represents a SF (SF Number, Composition Frequency).
Each column in the SF table groups SFs that are frequently requested together, while rows represent SFs associated with a specific number of clouds. For example, the first row lists SFs that are available in a single cloud. Within each cell of the SF table, SFs are arranged in reverse order based on their composition frequency.
In this research, it is suggested that the number of rows should be determined according to the maximum size of each SF cloud list. In contrast, the number of SFs (NSF) and the desired number of SFs per column (DSF) are used in Equation (3) to determine the number of columns in the SF table. For example, when NSF = 10 and DSF = 5, the table has two columns (10/5 = 2). The number of columns is set to one to generate the initial SF table, as depicted in Figure 8a. Each SF is placed in the correct row based on the number of clouds in which it exists. This task is performed by the SF Organizer. For example, SF1 and SF2 exist in one and three clouds, respectively, and so they are placed in rows 1 and 3. The number of columns required in the SF table is calculated using the following formula:
  N u m b e r   o f   C o l u m n s = N S F D S F
Once the CA generates a maximum number of composite services (assumed to be 30 in this example) using its initial SF table searching process, a frequency matrix is generated to create an updated SF table, as depicted in Figure 8b. This matrix indicates how often SFs are requested with other SFs (Table 4). For example, SF1 is present in 22 out of 30 composite services, whereas it is only composed with SF0 14 times.
Table 4. Frequency matrix.
The CA is initiated by identifying the SF with the highest frequency through the frequency matrix, utilizing the Highest-Frequency SF Locator. Subsequently, the SF table is updated to incorporate this SF along with additional SFs that collectively meet the specified frequency threshold, as determined by the SF Combiner. The new entries are placed in the first column of the SF table, distributed across rows based on the number of clouds. This process is repeated until all SFs are added to the SF table. Any SFs that do not fit into a column are compared against the highest-frequency SF in each column and assigned to the column where they have the greatest frequency. The frequency threshold is calculated using Equation (4), with a co-occurrence threshold of 70% assumed in this research, representing the percentage at which an SF co-occurs with the highest frequency SF.
F r e q u e n c y   t h r e s h o l d = N u m b e r   o f   r e q u e s t s C o - o c c u r a n c e   T h r e s h o l d
For instance, the algorithm updates column 1 with SF0 (the highest-frequency SF) and other SFs from the same row that meet the threshold frequency of 21 or higher. It only considers the first highest-frequency SF. Thus, SF4 was not selected despite its value being the same as that of SF0. SF9, with the next highest frequency, is placed in the second column along with corresponding SFs. The remaining SFs, such as SF5 with a frequency of 15 (below the threshold), are compared to the highest-frequency SFs in the existing columns and are assigned accordingly. In this case, the proposed algorithm compares the frequency of SF5 with that of SF0 and SF9, resulting in its addition to column 1 due to its higher frequency.

4.4. Generating the Service Table

A service table was created to display services and their QoS levels, as shown in Table 5. The focus here is on the four most important QoS features: two positive QoS features (reliability and availability) and two negative QoS features (cost and response time). Higher values indicate decreasing quality, whereas lower values indicate greater quality for negative features. Conversely, for positive features, higher values indicate higher quality, while lower values indicate worse quality [28,39,46].
Table 5. QoS parameters.
The service table leverages these QoS metrics to refine service selection and optimization, ensuring that only those services that fulfill the best performance criteria are considered. It mainly focuses on the four most significant features of cloud services [8]. Availability (A) and reliability (R) represent the likelihood that a service is accessible and performs its tasks successfully. Cost (C) and response time (T) affect monetary expense and user experience. These four QoS features ensure that the system is dependable (accessible and correct), practical, and usable (affordability and speed).
Each SF within a given cloud is associated with a service table, which is managed by the Service Organizer. Columns represent QoS level types—very high (QoS_1), high (QoS_2), medium (QoS_3), and low (QoS_4)—spanning the value ranges 0.9–1, 0.79–0.89, 0.69–0.78, and 0–0.68, respectively, as depicted in Figure 9. Services are organized in columns within the service table according to their quality—a process that is executed by the Quality-Based Service Organizer. For instance, the service with the highest quality is positioned in the first column, surpassing the other services in that column.
Figure 9. Service table.
Service quality was assessed by summing the QoS metrics, as outlined in Equation (5). This computation is carried out by the Service Quality Evaluator. This approach differs from previous methods [84,85], which calculate service quality by dividing the total positive QoS aspects (e.g., reliability and availability) by the total of negative QoS aspects (e.g., cost and time). These approaches emphasize the importance of decreasing negative QoS values and increasing positive QoS values. Based on several experiments, the division approach sometimes misinterprets service quality, particularly when QoS values are close to extremes (e.g., either 1 or 0.1). The proposed modification provides more accurate results by maximizing service quality.
Q ( s ) = w A     N A + w R     N R + w T     N T + w C     N C
Here, w A , w R , w T , w C and N A , N R , N T , a n d N C represent the assigned weights and normalized QoS values of A, R, T, and C. The sum of all weights typically equals 1. The QoS values are normalized to a uniform scale of values between 0 and 1. Negative and positive QoS parameters are computed using Equations (6) and (7), respectively.
N Q = S Q Q S Q + S Q
N Q + = Q S Q + S Q + S Q
Here, Q stands for the QoS parameter, while NQ and NQ+ are the normalized values of the negative and positive QoS service parameters, respectively. Furthermore, SQ and SQ+ denote the highest and lowest values of the QoS parameters [46]. Each QoS parameter is assigned a distinct weight value to emphasize its importance. Here, w A , w R , w T , a n d w C are assigned the weights 0.25, 0.25, 0.25, and 0.25, respectively.

4.5. Searching for Service Files

Upon receiving a user request, the proposed CA algorithm initiates a search for the requested SFs in the SF table, examining each row sequentially starting from row 1. This process is managed by the Row-Wise Search module. Upon locating an SF, it is appended with a cloud and service, as explained in Section 4.2—particularly in step 6. As mentioned in Section 4.2, specifically in step 7, the CA then searches for the remaining SFs within this SF’s cloud. If the remaining SFs are not located within the current cloud, the algorithm proceeds to search for them within the current column—a process that is handled by the Column-Wise Search module. Once a column has been fully examined, it is added to the list of reviewed columns to prevent redundant searches. This process continues until all requested SFs are located, except for the last remaining one. The algorithm repeats step 6 for the last remaining SF, appending a cloud and service; as a result, the composite list becomes ready for delivery to the cloud user.
To illustrate the search process, consider the example shown in Figure 10. In this scenario, the algorithm searches for SF8, SF3, SF0, SF2, and SF6. The search begins row-wise, identifying SF3 in the second cell of the first row (since no requested SF is found in the first cell). The first cloud in SF3’s cloud list is C2, as illustrated in Figure 11, where the proposed algorithm thoroughly searches for the remaining SFs and finds SF0. Continuing the search process for other SFs in the same column, the algorithm locates SF8 in C1, which is missing the remaining SFs (SF6 and SF2). After exhausting the search in the column without finding the remaining SFs, the algorithm resumes searching from its stopping point, i.e., row 2. Once SF6 has been located in C4, which does not contain SF2, and once SF2 is the only remaining SF, the searching process in the SF table stops. The user receives the composite service following the successful execution of step 6 for SF2 to add C3 and the corresponding service.
Figure 10. Search process (Each entry, such as SF1,22, represents a SF(SF Number, Composition Frequency).
Figure 11. Cloud list (Each entry, such as C1,6, represents a Cloud (Cloud Number, Quality).

4.6. Complexity Analysis

This section elaborates on the computational complexities of the service table creation, the cloud lists, the SF table, and the search process. The complexity analysis helps determine the overall contribution towards the computational cost.
The creation of the service table is a foundational operation executed only once at the start, and the service table categorizes services based on their quality levels, with a time complexity O(n2 × log(n)), where n represents the number of services, respectively. This process iterates through all services and subsequently sorts the services by their quality after their addition to the service table. The space complexity is equal to the number of services, which is O(n).
The creation of cloud lists is a crucial foundational step, which is performed once at the outset to facilitate efficient cloud selection based on quality metrics. As the algorithm uses a nested iterative process, it commences with iterations over each cloud. Within each cloud iteration, an inner loop traverses through each SF, resulting in a combined iteration complexity of O(nc × nf), where nc indicates the number of clouds and nf indicates the number of SFs. The cloud list structure retains a collection of SFs, each linked to their respective clouds, resulting in a space complexity equal to O(nf).
The SF table initialization process involves iterating over SFs in the cloud list to determine the required rows for the creation of the SF table and then populating the SF table with SFs. The SF table is enhanced by including the columns and organizing the SFs according to composition frequency. This setup results in a complexity of O(nf2 × log(nf)). The space complexity is equal to the number of SFs, which is O(nf).
The search process iteratively scans the SF table to locate the requested SFs and retrieve associated clouds and services from the cloud list and service table. This process operates with a time complexity of O(nf), guaranteeing an efficient composition.
To conclude the complexities, each component contributes unique computational complexities. The overall time complexity is influenced by the creation of the service table, resulting in O(n2 × log(n)), while the space complexity is highly influenced by O(n). This holistic approach ensures the computational efficiency and scalability of the proposed method.

5. Experimental Methodology

This section presents a comprehensive evaluation framework to validate the effectiveness of the proposed chemistry-based approach (CA) for multi-cloud service composition. The evaluation examines the algorithm’s performance across multiple dimensions, including resource utilization efficiency, computational overhead, and quality of service optimization. The algorithm’s effectiveness is demonstrated through controlled experiments in minimizing combined clouds while maintaining high QoS standards, its computational efficiency in examining clouds and services, and its scalability across different problem sizes.

5.1. Experimental Setup

Several controlled environment experiments were carried out to evaluate the effectiveness of the CA. The experiments were conducted on an Intel Core i7-10700K processor with 32GB RAM running Ubuntu 20.04 LTS, with the CA algorithm being implemented in Python 3.8. The experimental setup follows a simulation-based approach similar to that in [46]. Synthetic datasets were generated with varying numbers of clouds, SFs, and services, across three scenarios: small, moderate, and large. Table 6 summarizes the three experiment scenarios—small, moderate, and large setups—while detailed descriptions of these experimental settings are presented in Table 7.
Table 6. Experimental scenario for algorithm evaluation.
Table 7. Description of experimental settings.
Table 8 outlines the QoS value ranges used for each service. To evaluate the algorithm’s scalability, experimental scenarios featured increasing numbers of clouds, SFs, and services were used, with the number of user requests ranging from 10 to 80.
Table 8. QoS value ranges.
The experimental datasets were generated using controlled random generation, with QoS parameters following normal distributions within realistic ranges, as detailed in Table 8. To ensure comprehensive testing, each experiment was repeated 30 times, with results reporting means and standard deviations at a 95% confidence level.

5.2. Performance Metrics

For each scenario, five performance metrics were assessed: the total number of clouds utilized in the composite service (NC), the overall number of clouds examined throughout the service composition process (NEC), the total number of services examined to fulfill requests (NES), execution time, and fitness. The fitness metric, which is calculated using Equation (5), evaluates the overall quality of the composite service by computing QoS metrics, as shown in Table 9.
Table 9. Calculating the sequential pattern of QoS attributes.

5.3. Data Analysis and Sensitivity Evaluation

To examine the statistical characteristics of the experimental scenarios, we analyzed the following three key aspects:
(1)
the distribution of SFs across clouds;
(2)
the distribution of services across SFs;
(3)
the statistical properties of QoS parameters that influence the optimization objective.
These evaluations help ensure balanced input, avoid bias, and determine sensitivity across QoS factors in the optimization process.
From Table 10, in the small scenario, the SFs are evenly distributed across clouds, with both mean and median values at 6 and a low standard deviation of 1.63. The moderate and large scenarios exhibit higher variability, as indicated by the increased standard deviations. However, all clouds actively participate in service composition, suggesting a well-balanced structure that minimizes bottlenecks and ensures equitable cloud utilization.
Table 10. Statistical summary of SFs per cloud.
From Table 11, the small scenario demonstrates a nearly uniform distribution of services among SFs, with a minimal standard deviation of 0.54 and a narrow range between 83 and 85. The moderate scenario maintains this uniformity with slightly increased variability. Conversely, the large scenario exhibits a broader range (50–300) and a higher standard deviation of 46.21, indicating a more heterogeneous distribution. This variability in the large scenario could introduce complexity in service selection during composition.
Table 11. Statistical summary of services per SF.
Table 12 summarizes the statistical measures of key QoS parameters—response time, availability, cost, and reliability—across the experimental scenarios.
Table 12. Statistical comparison of QoSs in experimental scenarios.
The analysis of QoS parameters reveals the following insights.
Response Time: This exhibits significant variability across all scenarios, with a wide range (20–1500 ms) and high standard deviations (~460 ms). This indicates the need for normalization during fitness computation to manage the impact of extreme values.
Availability: This demonstrates high stability, with values tightly clustered between 0.95 and 1.00, with a low standard deviation of 0.02. This consistency suggests that availability is a reliable parameter across different scenarios.
Cost: This shows considerable spread, ranging from 2.00 to 15.00, with standard deviations exceeding 4.00. This indicates that cost is a discriminative factor in service selection and may introduce sensitivity in optimization.
Reliability: This caries moderately, ranging from 0.40 to 1.00, with a standard deviation of 0.19. This suggests differentiated service behavior under stress, making reliability a sensitive discriminator in the selection process.
The system is most sensitive to variations in response time, cost, and reliability, as observed through the wide data spread and higher standard deviations across all scenarios. These fluctuations demand normalization to ensure balanced fitness computation and to avoid the dominance of any single QoS metric. In contrast, availability remains remarkably stable, exhibiting minimal variation, thus contributing a low sensitivity. The CA normalized and equally weighted QoSs during quality assessment. This ensures that highly sensitive parameters such as response time or cost do not overshadow others, maintaining fairness and preventing bias.
The distribution of SFs across clouds in Table 10 is nearly uniform, especially in the small and moderate scenarios, leading to low sensitivity. However, as shown in Table 11, the distribution of services per SF becomes increasingly variable in the large scenario, introducing moderate sensitivity that can complicate service selection. The CA structures allow us to avoid such sensitivity by utilizing different structures to select SFs, clouds, and services based on their cloud number, composition frequencies, cloud quality, and QoS levels. Table 13 provides a summary of the distribution patterns and sensitivity levels across different aspects of the cloud service composition.
Table 13. Summary of distribution patterns and sensitivity levels.

5.4. Initial Configuration of the Considered Algorithms

The comparative algorithms used are the Genetic Algorithm (GA), Simulated Annealing (SA), and Tabu Search (TS). These were selected because they are widely used and well-established metaheuristic optimization methods for service composition problems, and without them, the comparison will be useless. Another reason for selecting these algorithms is their inclusion and application in [57]. The authors applied them to a similar context of multi-objective service compositions with QoS considerations. It was ensured that a diverse range of benchmark methods were added that were representative of current state-of-the-art techniques.
Furthermore, each algorithm represents a different heuristic family, i.e., evolutionary (GA), physics-inspired (SA), and memory-based (TS), allowing for a comprehensive performance evaluation of our proposed CA across diverse optimization paradigms.
To provide a comprehensive comparative analysis, the CA is evaluated against three state-of-the-art service composition algorithms: GA, SA, and TS. The GA implementation used a population size of 100 with a crossover probability of 0.8 and a mutation probability ranging from 0.2 to 0.9. The SA algorithm was configured with an initial temperature of 100,000 and a cooling schedule ranging from 0.15 to 0.9, while the TS implementation employed a tabu tenure of 20–100 steps. The CA and CA2 algorithms were configured with a fixed number of columns in the SF table, which were set to 1 and 2, respectively. The CA algorithm represents the initial configuration, utilizing a single column, while the CA2 algorithm reflects the state after processing the maximum number of requests, with two columns. Table 14 presents the complete configuration details for all the algorithms considered in this study.
Table 14. Initial configuration of each algorithm.
Each algorithm was executed for 250 iterations per request to ensure fair comparison. To prevent the loss of the best-found solution, elitism was implemented in all algorithms except CA and CA2. The experimental results and their analysis are presented in Section 6, which demonstrates the effectiveness of the proposed work across different operational scenarios and performance metrics.

6. Results and Discussion

The following section outlines the findings of the CA for service composition in an MCE, as detailed in Section 6.1. Section 6.2 provides a comprehensive analysis of these results, evaluating key findings to validate the algorithm’s effectiveness across diverse scenarios. The analysis highlights the algorithm’s efficiency and offers insights into its scalability, reliability, and applicability to various service composition problems, particularly in complex and large-scale environments.

6.1. Experimental Results

To evaluate service composition in a controlled setting, a series of experiments in an MCE were performed, utilizing the CA and additional benchmark algorithms in three different experimental scenarios (shown in Table 6). The algorithm’s performance is evaluated in terms of execution time, fitness, NC, NEC, and NES. Three well-known service composition algorithms—SA, GA, and TS—were employed as benchmarks in this research.
The following subsections describe the performance metrics for each scenario.

6.1.1. Number of Combined Clouds

Figure 12 shows the algorithms’ performance evaluation of NC. The algorithms showed a consistent increase in NC as the number of requests rose. The CA and CA2 algorithms achieved the lowest NC values across all experimental scenarios, with CA slightly outperforming CA2, as the number of requests increased from 30 to 80. In contrast, GA, TS, and SA displayed similar results but examined more combined clouds than CA and CA2. Among these, the TS algorithm exhibited a slightly lower NC value in all scenarios when compared to GA and SA.
Figure 12. Number of combined clouds vs. number of requests: (a) Scenario 1—Small: 10 clouds, 5000 services, 50 SFs, requests 10–80, (b) scenario 2—Moderate: 15 clouds, 10,000 services, 100 SFs, requests 10–80, and (c) scenario 3—Large: 20 clouds, 20,000 services, 200 SFs, requests 10–80.
As the total number of requests reached 80, the NC gap between CA/CA2 and the other algorithms became noticeable, increasing by approximately 100 in scenario 1, 200 in scenario 2, and 300 in scenario 3.

6.1.2. Number of Examined Clouds

Figure 13 illustrates the NEC performance of the proposed CA and benchmark algorithms across various scenarios. As the number of requests increased, these algorithms showed significant increases in NEC. CA and CA2 consistently achieved the lowest NEC values, indicating superior computational efficiency. TS displayed poor performance, reflecting higher computational costs, while GA performed moderately compared to the other algorithms. Notably, SA examined more clouds than GA, yet maintained a good performance.
Figure 13. Number of examined clouds vs. number of requests: (a) Scenario 1—Small: 10 clouds, 5000 services, 50 SFs, requests 10–80, (b) scenario 2—Moderate: 15 clouds, 10,000 services, 100 SFs, requests 10–80, and (c) scenario 3—Large: 20 clouds, 20,000 services, 200 SFs, requests 10–80.
It is also worth noting that the NEC gap between CA/CA2 and TS widened significantly across various scenarios, reaching approximately 800, 2000, and 4000 for scenarios 1, 2, and 3, respectively, when processing 80 requests. This demonstrated the computational efficiency of the CA compared to the other algorithms.

6.1.3. Number of Examined Services

The NES performance evaluation of the suggested and benchmark algorithms is presented in Figure 14. While all algorithms showed an increase in NES as the number of requests grew, CA and CA2 maintained the slowest rate of increase. Both algorithms consistently examined the fewest NES, even at higher request levels. Although not as effective as CA/CA2, SA also performed well. TS exhibited moderate performance, examining fewer services than GA but more than SA and the CA algorithms. The GA consistently examined the highest NES, with an exponential increase as the number of requests rose.
Figure 14. Number of examined services vs. number of requests: (a) Scenario 1—Small: 10 clouds, 5000 services, 50 SFs, requests 10–80, (b) scenario 2—Moderate: 15 clouds, 10,000 services, 100 SFs, requests 10–80, and (c) scenario 3—Large: 20 clouds, 20,000 services, 200 SFs, requests 10–80.

6.1.4. Execution Time

Figure 15 compares the execution times of the algorithms. Execution time increased for all algorithms as the number of requests rose. In both scenarios 1 and 2, CA had the shortest execution time, followed by CA2. The TS execution time increased by nearly 6 ms as the total number of requests increased. TS and SA displayed similar execution times, while the GA consistently had the longest execution time.
Figure 15. Execution time vs. number of requests: (a) Scenario 1—Small: 10 clouds, 5000 services, 50 SFs, requests 10–80, (b) scenario 2—Moderate: 15 clouds, 10,000 services, 100 SFs, requests 10–80, and (c) scenario 3—Large: 20 clouds, 20,000 services, 200 SFs, requests 10–80.
The execution times of all algorithms in scenario 3 are shown in Figure 15c, with TS and CA having the shortest execution times, followed by CA2 and SA. The GA exhibited a consistent performance with the highest execution time.
The execution times do not account for the time required to generate the support utilized in CA/CA2 (e.g., SF table, service table, frequency matrix, and cloud list). Even when including this preparation time in the overall execution time with 80 requests, CA and CA2 maintained the same performance pattern. In scenarios 1 and 2, CA had the fastest execution time, followed by CA2. Similarly, CA and TS achieved the shortest execution time in scenario 3. CA2 continued to rank third in terms of performance, following TS and CA. Table 15 details the amount of time required to generate the structures for CA and CA2.
Table 15. CA and CA2 structure generation times.

6.1.5. Fitness

Figure 16a depicts the performance evaluation of the proposed and benchmark algorithms in scenario 1 based on fitness metrics. For a low number of requests, the CA and CA2 algorithms demonstrated high fitness values. However, as the number of requests increased, their fitness values decreased. After processing 70 requests, the fitness levels of CA and CA2 fell below those of TS. At this point, TS performance was on par with that of the CA and CA2 algorithms. Beyond this point, the TS fitness values increased. SA initially showed greater fitness, but its performance declined once the number of requests reached 60 or more. The GA, which initially had lower fitness values, eventually outperformed SA after 60 requests.
Figure 16. Fitness vs. number of requests: (a) Scenario 1—Small: 10 clouds, 5000 services, 50 SFs, requests 10–80, (b) scenario 2—Moderate: 15 clouds, 10,000 services, 100 SFs, requests 10–80, and (c) scenario 3—Large: 20 clouds, 20,000 services, 200 SFs, requests 10–80.
Figure 16b,c present the fitness performance of the proposed and benchmark algorithms in scenarios 2 and 3. The fitness values of CA and CA2 consistently exceeded those of the other algorithms. While SA originally exhibited greater fitness than TS, its performance diminished after 30 requests and continued to decline beyond 70 requests, eventually falling below the GA. In scenarios with a smaller number of requests, TS initially exhibited lower fitness levels compared to SA. However, SA surpassed TS after processing 30 or more requests. Ultimately, the GA outperformed SA after processing 70 requests, despite having lower fitness values in the initial stages.
Table 16 summarizes the results of the CA compared to the benchmark algorithms (SA, GA, and TS) across the key performance metrics. The metrics used are NC, NEC, NES, execution time, and fitness. Improvement in terms of percentage is used for the efficiency calculations of CA over other algorithms. The key results achieved are enumerated below.
Table 16. Comparison table of CA enhancement over benchmark algorithms.
  • CA dominantly outperforms all benchmark algorithms in terms of NC, NEC, NES, execution time, and fitness across all scenarios.
  • The efficiency improvement in the CA is greater in relation to NES, execution time, and NEC. It has shown a 10–99% better performance when compared to the GA, SA, and TS.
  • Fitness values for CA are also higher, which indicates a better solution quality. Numerically speaking, an improvement of 1–14% over other algorithms is observed.
  • It was revealed that TS performs well in terms of fitness. However, it was also observed that TS is more resource-hungry, making it less efficient than CA.
  • The GA has the worst performance in terms of execution time and NES. This can be an unsuitable approach for large-scale real-world environments.

6.2. Discussions

The results of the comprehensive experiment revealed key insights into the performance of the CA compared to benchmarks across metrics such as NC, NEC, NES, fitness, and execution times in three different scenarios. The findings indicate that the CA and benchmarks performed differently in various scenarios with varying workload requests. Based on the results, the CA consistently maintained QoS solutions while outperforming benchmark methods, particularly in terms of lower computational costs across various scenarios and request counts. Despite the increasing complexity of the service composition problem, the CA achieved rapid execution times; low NC, NEC, and NES values; and high fitness across a range of experimental scenarios. In light of these findings, CA is the recommended algorithm for achieving high-quality results in resource-constrained environments.
As the number of requests increased, the performance advantage of the CA over other algorithms became increasingly evident, highlighting its scalability and flexibility in addressing complex service composition challenges. The algorithm exhibited a linear increase in execution time while consistently maintaining lower values for NC, NEC, and NES, alongside high solution quality. This demonstrates the CA’s practicality and reliability for large-scale and real-time applications.
The proposed chemistry-based algorithm (CA) is designed to be scalable, from the beginning. This was also demonstrated in Section 6 by testing the proposed approach against three scenarios (small, moderate, and large). These scenarios scale from 5000 to 20,000 services and from 10 to 20 clouds. It was ensured that low execution times and high fitness values were maintained. The scalability is achieved through the algorithm’s structured decomposition of the search space, and the use of pre-generated SF tables and QoS-ranked service lists significantly reduces computational overhead. Moreover, as the number of requests increased, CA consistently maintained lower NEC, NES, and NC values compared to benchmark algorithms (GA, SA, and TS), confirming its efficiency in large-scale environments and making it a strong contender for usage. These results confirm that the CA scales well with problem size while preserving performance and solution quality.
In contrast, the GA’s ability to explore the solution space resulted in high NES and execution times. Although the GA exhibited a moderate NEC and high NES, it still had trouble achieving optimal fitness values, particularly when the volume of requests increased. A key factor in the GA’s reduced performance is premature convergence. The GA starts with a randomly generated population, which may be lacking in diversity or high-quality initial solutions. This limitation can make it more difficult for the algorithm to effectively explore the solution space, which can lead to premature convergence to suboptimal solutions. Although the purpose of mutation and crossover processes is to ensure variety and improve solutions, their performance is impacted by the quality and variety of the initial population. As a result, the GA’s extensive exploration led to longer execution times, making it less suitable for real-time or large-scale applications.
In the experiments, it was revealed that the TS algorithm offers a well-rounded approach, striking an ideal balance between efficiency and exploration. Its NES values were moderate—generally higher than CA/CA2 but lower than the GA—while its execution time was better than the GA and comparable to CA/CA2. TS avoided local optima and achieved competitive fitness across a variety of experimental scenarios. However, its linear growth in both execution time and NES implies that while it scales well, it still requires more computational resources than CA and CA2. Furthermore, TS yielded the largest NEC values. Notably, after processing 70 requests, TS sometimes performed better than CA2, demonstrating its ability to preserve solution quality in high-request scenarios. This suggests that TS is a viable option when computational resources are adequate.
The SA algorithm provided a middle ground, outperforming the GA in efficiency and achieving comparable fitness values due to its moderate NEC, NES, and execution time. Nevertheless, it did not outperform CA/CA2 in all situations.
In summary, the experimental results confirm that CA and CA2 are the most reliable and scalable algorithms, particularly in complex, large-scale environments where both computational efficiency and solution quality are critical. In most scenarios, CA and CA2 achieved the highest fitness values, as well as the lowest values for NC, NES, NEC, and execution time. TS, on the other hand, proved to be a suitable choice for situations where high-quality solutions were a priority and computational resources were abundant, as it delivered competitive fitness values at the expense of increased computational effort. The GA, despite its extensive exploration, underperformed in terms of fitness and had long execution times, making it unsuitable for large-scale cloud service composition. The performance of SA was mediocre, combining efficiency and fitness, but it lagged behind both CA/CA2 and TS.

7. Conclusions and Future Work

This research presents a novel chemistry-based approach (CA) that addresses the complexities of multi-cloud environment-based service composition. Taking inspiration from the periodic table and electron motion principles, the proposed method systematically organizes and optimizes service selection. This enables a significant reduction in the search space while preserving the solution quality. In our experiments, it was deduced that the CA demonstrates superior efficiency compared to state-of-the-art algorithms, as well as evaluating fewer cloud resources and services while achieving better execution times and fitness levels. The superior performance across different scenarios attests to the method’s effectiveness not only in resource management and service composition but also in establishing a solid foundation for practical implementation in cloud computing systems.
In any technological research, there may be some limitations. In the proposed work, we have identified some limitations that need attention. First of all, to construct and maintain SFs and service tables, there is a significant amount of preprocessing involved. This pre-processing adds additional computational overhead during the start of the deployment, especially in large-scale systems. Another limitation observed is that the current implementation shows reduced effectiveness where Service Files are uniformly distributed across clouds or attain identical quality metrics, which makes the structured tables redundant. These limitations are natural considering the algorithm’s dependence on static organizational principles. Furthermore, this dependence may not allow for the adaptation to environments with highly dynamic service characteristics or highly balanced resource distributions.
In the future, we intend to enhance the algorithm’s adaptability and scalability. For those reasons, a key improvement requirement is to develop dynamic data structures. These data structures should automatically adjust table configurations based on real-time service availability and quality changes in order to eliminate the current dependency on static arrangements. Furthermore, we will also explore the possibility of using a distributed broker system instead of a single-broker model. Moreover, integration with machine learning techniques will be studied for the possibility to enable intelligent and context-aware service composition in dynamic environments. The satisfactory results achieved in cloud environments also suggest potential applications in other computing environments such as fog computing architectures, where challenges such as resource optimization exist.

Supplementary Materials

The following supporting information can be downloaded at: https://www.mdpi.com/article/10.3390/math13081351/s1, Table S1: Detailed dataset for Scenario 1; Table S2: Detailed dataset for Scenario 2; Table S3: Detailed dataset for Scenario 3; Table S4: Comparative performance results of benchmark algorithms against the proposed CA and CA2.

Author Contributions

Conceptualization: M.A. and H.K.; formal analysis: M.A.; funding acquisition: H.K.; investigation: H.K.; methodology: M.A. and H.K.; software: M.A.; supervision: H.K.; validation: M.A. and H.K.; writing—original draft: M.A.; writing—review and editing: M.A. and H.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research project was supported by the Researchers Supporting Project number (RSP2025R204), King Saud University, Riyadh, Saudi Arabia. M.A. acknowledges the use of ChatGPT to improve grammar and clarity. The final content has been reviewed and approved by the authors to ensure accuracy.

Data Availability Statement

The original contributions presented in this study are included in the article/Supplementary Materials. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Wu, Z. Service Computing: Concept, Method and Technology; Academic Press: Cambridge, MA, USA, 2014. [Google Scholar]
  2. Wiesner, K.; Vaculín, R.; Kollingbaum, M.; Sycara, K. Recovery mechanisms for semantic web services. In Lecture Notes in Computer Science, Proceedings of the IFIP International Conference on Distributed Applications and Interoperable Systems, Oslo, Norway, 4–6 June 2008; Goos, G., Ed.; Springer: Berlin/Heidelberg, Germany, 2008; pp. 100–105. [Google Scholar]
  3. Sheng, J.; Hu, Y.; Zhou, W.; Zhu, L.; Jin, B.; Wang, J.; Wang, X. Learning to schedule multi-NUMA virtual machines via reinforcement learning. Pattern Recognit. 2022, 121, 108254. [Google Scholar] [CrossRef]
  4. Yu, X.; Zhu, M.; Zhu, M.; Zhou, X.; Long, L. Location-aware job scheduling for IoT systems using cloud and fog. Alex. Eng. J. 2025, 110, 346–362. [Google Scholar] [CrossRef]
  5. Heidari, M.; Emadi, S. Services composition in multi-cloud environments using the skyline service algorithm. Int. J. Eng. 2021, 34, 56–65. [Google Scholar]
  6. Ramalingam, C.; Mohan, P. Addressing semantics standards for cloud portability and interoperability in multi cloud environment. Symmetry 2021, 13, 317. [Google Scholar] [CrossRef]
  7. Feng, B.; Ding, Z. Application-oriented cloud workload prediction: A survey and new perspectives. Tsinghua Sci. Technol. 2024, 30, 34–54. [Google Scholar] [CrossRef]
  8. Hayyolalam, V.; Kazem, A.A.P. A systematic literature review on QoS-aware service composition and selection in cloud environment. J. Netw. Comput. Appl. 2018, 110, 52–74. [Google Scholar] [CrossRef]
  9. Jatoth, C.; Gangadharan, G.R.; Buyya, R. Computational intelligence based QoS-aware web service composition: A systematic literature review. IEEE Trans. Serv. Comput. 2015, 10, 475–492. [Google Scholar] [CrossRef]
  10. Thakur, K.; Kumar, G. Nature inspired techniques and applications in intrusion detection systems: Recent progress and updated perspective. Arch. Comput. Methods Eng. 2021, 28, 2897–2919. [Google Scholar] [CrossRef]
  11. Saji, Y.; Riffi, M.E. A comparative study of three nature-inspired algorithms using the Euclidean travelling salesman problem. In Lecture Notes in Electrical Engineering, Proceedings of the Mediterranean Conference on Information & Communication Technologies 2015, Saïdia, Morocco, 7–9 May 2015; El Oualkadi, A., Choubani, F., El Moussati, A., Eds.; Springer: Berlin/Heidelberg, Germany, 2016; pp. 327–335. [Google Scholar]
  12. Bejinariu, S.-I.; Rotaru, F.; Luca, R.; Niţă, C.D.; Costin, H. Black hole vs particle swarm optimization. In Proceedings of the 10th International Conference on Electronics, Computers and Artificial Intelligence (ECAI), Iasi, Romania, 28–30 June 2018; pp. 1–6. [Google Scholar]
  13. Yu, Q.; Chen, L.; Li, B. Ant colony optimization applied to web service compositions in cloud computing. Comput. Electr. Eng. 2015, 41, 18–27. [Google Scholar] [CrossRef]
  14. Kurdi, H.; Ezzat, F.; Altoaimy, L.; Ahmed, S.H.; Youcef-Toumi, K. MultiCuckoo: Multi-cloud service composition using a cuckoo-inspired algorithm for the Internet of Things applications. IEEE Access 2018, 6, 56737–56749. [Google Scholar] [CrossRef]
  15. Kurdi, H.; Al-Anazi, A.; Campbell, C.; Al Faries, A. A combinatorial optimization algorithm for multiple cloud service composition. Comput. Electr. Eng. 2015, 42, 107–113. [Google Scholar] [CrossRef]
  16. Yin, H.; Hao, Y. An energy-aware multi-target service composition method in a multi-cloud environment. IEEE Access 2020, 8, 196567–196577. [Google Scholar] [CrossRef]
  17. Souri, A.; Rahmani, A.M.; Navimipour, N.J.; Rezaei, R. A hybrid formal verification approach for QoS-aware multi-cloud service composition. Clust. Comput. 2020, 23, 2453–2470. [Google Scholar] [CrossRef]
  18. Cassar, G.; Barnaghi, P.; Wang, W.; De, S.; Moessner, K. Composition of services in pervasive environments: A divide and conquer approach. In Proceedings of the IEEE Symposium on Computers and Communications (ISCC), Split, Croatia, 7–10 July 2013; pp. 000226–000232. [Google Scholar]
  19. Shang, J.; Liu, L.; Wu, C. WSCN: Web service composition based on complex networks. In Proceedings of the 2013 International Conference on Service Sciences (ICSS), Shenzhen, China, 11–13 April 2013; pp. 208–213. [Google Scholar]
  20. Ghobaei-Arani, M.; Souri, A. LP-WSC: A linear programming approach for web service composition in geographically distributed cloud environments. J. Supercomput. 2019, 75, 2603–2628. [Google Scholar] [CrossRef]
  21. Guidara, I.; Guermouche, N.; Chaari, T.; Jmaiel, M. Time-aware selection approach for service composition based on pruning and improvement techniques. Softw. Qual. J. 2020, 28, 1245–1277. [Google Scholar] [CrossRef]
  22. Mezni, H.; Sellami, M. Multi-cloud service composition using formal concept analysis. J. Syst. Softw. 2017, 134, 138–152. [Google Scholar] [CrossRef]
  23. Nazari, Z.; Kamandi, A.; Shabankhah, M. An optimal service composition algorithm in multi-cloud environment. In Proceedings of the 5th International Conference on Web Research (ICWR), Tehran, Iran, 24–25 April 2019; pp. 141–151. [Google Scholar]
  24. Rajakumar, R.; Dhavachelvan, P.; Vengattaraman, T. A survey on nature inspired meta-heuristic algorithms with its domain specifications. In Proceedings of the International Conference on Communication and Electronics Systems (ICCES), Coimbatore, India, 21–22 October 2016; pp. 1–6. [Google Scholar]
  25. Wang, L.; Shen, J. A systematic review of bio-inspired service concretization. IEEE Trans. Serv. Comput. 2015, 10, 493–505. [Google Scholar] [CrossRef]
  26. Tang, M.; Ai, L. A hybrid genetic algorithm for the optimal constrained web service selection problem in web service composition. In Proceedings of the IEEE Congress on Evolutionary Computation, Barcelona, Spain, 18–23 July 2010; pp. 1–8. [Google Scholar]
  27. Grati, R.; Boukadi, K.; Ben-Abdallah, H. QoS based resource allocation and service selection in the cloud. In Proceedings of the 11th International Conference on e-Business (ICE-B), Vienna, Austria, 28–30 August 2014; pp. 249–256. [Google Scholar]
  28. Wang, D.; Yang, Y.; Mi, Z. A genetic-based approach to web service composition in geo-distributed cloud environment. Comput. Electr. Eng. 2015, 43, 129–141. [Google Scholar] [CrossRef]
  29. Jatoth, C.; Gangadharan, G.R.; Buyya, R. Optimal fitness aware cloud service composition using an adaptive genotypes evolution based genetic algorithm. Future Gener. Comput. Syst. 2019, 94, 185–198. [Google Scholar] [CrossRef]
  30. Sadeghiram, S.; Ma, H.; Chen, G. Multi-objective distributed Web service composition—A link-dominance driven evolutionary approach. Future Gener. Comput. Syst. 2023, 143, 163–178. [Google Scholar] [CrossRef]
  31. Wang, H.; Du, Y.; Chen, F. A hybrid strategy improved SPEA2 algorithm for multi-objective web service composition. Appl. Sci. 2024, 14, 4157. [Google Scholar] [CrossRef]
  32. Wang, H.; Du, Y. An Adaptive Mutation Strategy Improved SPEA2 Algorithm for Multi-objective Web Service Composition. In Proceedings of the 2024 3rd International Symposium on Robotics, Artificial Intelligence and Information Engineering, Singapore, 5–7 July 2024; pp. 15–20. [Google Scholar]
  33. Garcia, N.P.; Duran, F.; Berrocal, K.M.; Pimentel, E. Location-aware scalable service composition. Softw.-Pract. Exp. 2023, 53, 2408–2429. [Google Scholar] [CrossRef]
  34. Sadeghiram, S.; Ma, H.; Chen, G. Cluster-guided genetic algorithm for distributed data-intensive web service composition. In Proceedings of the IEEE Congress on Evolutionary Computation (CEC), Rio de Janeiro, Brazil, 8–13 July 2018; pp. 1–7. [Google Scholar]
  35. Zhang, W.; Guo, H.; Zeng, Z.; Qi, Y.; Wang, Y. Transportation cloud service composition based on fuzzy programming and genetic algorithm. Transp. Res. Rec. 2018, 2672, 64–75. [Google Scholar] [CrossRef]
  36. Amiri, M.A.; Serajzadeh, H. Effective web service composition using particle swarm optimization algorithm. In Proceedings of the 6th International Symposium on Telecommunications (IST), Tehran, Iran, 6–8 November 2012; pp. 1190–1194. [Google Scholar]
  37. Gao, H.; Zhang, K.; Yang, J.; Wu, F.; Liu, H. Applying improved particle swarm optimization for dynamic service composition focusing on quality of service evaluations under hybrid networks. Int. J. Distrib. Sens. Netw. 2018, 14, 1550147718761583. [Google Scholar] [CrossRef]
  38. Balakrishnan, S.M.; Sangaiah, A.K. Integrated QoUE and QoS approach for optimal service composition selection in internet of services (IoS). Multimed. Tools Appl. 2017, 76, 22889–22916. [Google Scholar] [CrossRef]
  39. Dahan, F. An effective multi-agent ant colony optimization algorithm for QoS-aware cloud service composition. IEEE Access 2021, 9, 17196–17207. [Google Scholar] [CrossRef]
  40. Alayed, H.; Dahan, F.; Alfakih, T.; Mathkour, H.; Arafah, M. Enhancement of ant colony optimization for QoS-aware web service selection. IEEE Access 2019, 7, 97041–97051. [Google Scholar] [CrossRef]
  41. Wang, X.; Xu, X.; Sheng, Q.Z.; Wang, Z.; Yao, L. Novel artificial bee colony algorithms for QoS-aware service selection. IEEE Trans. Serv. Comput. 2016, 12, 247–261. [Google Scholar] [CrossRef]
  42. Huo, L.; Wang, Z. Service composition instantiation based on cross-modified artificial bee colony algorithm. China Commun. 2016, 13, 233–244. [Google Scholar] [CrossRef]
  43. Zhang, Y.; Cui, G.; Wang, Y.; Guo, X.; Zhao, S. An optimization algorithm for service composition based on an improved FOA. Tinshhua Sci. Technol. 2015, 20, 90–99. [Google Scholar] [CrossRef]
  44. Seghir, F.; Khababa, A. A hybrid approach using genetic and fruit fly optimization algorithms for QoS-aware cloud service composition. J. Intell. Manuf. 2018, 29, 1773–1792. [Google Scholar] [CrossRef]
  45. Li, J.; Yu, B.; Chen, W. Research on intelligence optimization of web service composition for QoS. In Communications in Computer and Information Science, Proceedings of the International Conference on Information Computing and Applications, Chengde, China, 14–16 September 2012; Li, G., Filipe, J., Xu, Z., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; pp. 227–235. [Google Scholar]
  46. Ghobaei-Arani, M.; Rahmanian, A.A.; Aslanpour, M.S.; Dashti, S.E. CSA-WSC: Cuckoo search algorithm for web service composition in cloud environments. Soft Comput. 2018, 22, 8353–8378. [Google Scholar] [CrossRef]
  47. Wang, H.; Yang, D.; Yu, Q.; Tao, Y. Integrating modified cuckoo algorithm and creditability evaluation for QoS-aware service composition. Knowl. Based Syst. 2018, 140, 64–81. [Google Scholar] [CrossRef]
  48. Bhushan, S.B.; Reddy, P.C.H. A hybrid meta-heuristic approach for QoS-aware cloud service composition. Int. J. Web Serv. Res. IJWSR 2018, 15, 1–20. [Google Scholar] [CrossRef]
  49. Xia, H.; Chen, Y.; Li, Z.; Gao, H.; Chen, Y. Web service selection algorithm based on particle swarm optimization. In Proceedings of the Eighth IEEE International Conference on Dependable, Autonomic and Secure Computing, Chengdu, China, 12–14 December 2009; pp. 467–472. [Google Scholar]
  50. Clerc, M.; Kennedy, J. The particle swarm-explosion, stability, and convergence in a multidimensional complex space. IEEE Trans. Evol. Comput. 2002, 6, 58–73. [Google Scholar] [CrossRef]
  51. Nazif, H.; Nassr, M.; Al-Khafaji, H.M.R.; Navimipour, N.J.; Unal, M. A cloud service composition method using a fuzzy-based particle swarm optimization algorithm. Multimed. Tools Appl. 2024, 83, 56275–56302. [Google Scholar] [CrossRef]
  52. Tabalvandani, M.A.N.; Shirvani, M.H.; Motameni, H. Reliability-aware web service composition with cost minimization perspective: A multi-objective particle swarm optimization model in multi-cloud scenarios. Soft Comput. 2024, 28, 5173–5196. [Google Scholar] [CrossRef]
  53. Yuan, S.; Shen, J.; Krishna, A. Ant inspired scalable peer selection in ontology-based service composition. In Proceedings of the World Conference on Services-II, Bangalore, India, 21–25 September 2009; pp. 95–102. [Google Scholar]
  54. Dahan, F.; El Hindi, K.; Ghoneim, A. An adapted ant-inspired algorithm for enhancing web service composition. Int. J. Semantic Web Inf. Syst. IJSWIS 2017, 13, 181–197. [Google Scholar] [CrossRef]
  55. Jiang, P.; Liu, F.; Wang, J.; Song, Y. Cuckoo search-designated fractal interpolation functions with winner combination for estimating missing values in time series. Appl. Math. Model. 2016, 40, 9692–9718. [Google Scholar] [CrossRef]
  56. Fan, X.-Q.; Fang, X.-W.; Jiang, C.-J. Research on web service selection based on cooperative evolution. Expert Syst. Appl. 2011, 38, 9736–9743. [Google Scholar] [CrossRef]
  57. Liu, S.; Wei, Y.; Tang, K.; Qin, A.K.; Yao, X. QoS-aware long-term based service composition in cloud computing. In Proceedings of the IEEE Congress on Evolutionary Computation (CEC), Sendai, Japan, 25–28 May 2015; pp. 3362–3369. [Google Scholar]
  58. Deng, S.; Huang, L.; Li, Y.; Zhou, H.; Wu, Z.; Cao, X.; Kataev, M.Y.; Li, L. Toward risk reduction for mobile service composition. IEEE Trans. Cybern. 2016, 46, 1807–1816. [Google Scholar] [CrossRef] [PubMed]
  59. Niewiadomski, A.; Skaruz, J.; Switalski, P.; Penczek, W. Concrete planning in PlanICS framework by combining SMT with GEO and simulated annealing. Fundam. Informaticae 2016, 147, 289–313. [Google Scholar] [CrossRef]
  60. Banâtre, J.-P.; Priol, T.; Radenac, Y. Service orchestration using the chemical metaphor. In Lecture Notes in Computer Science, Proceedings of the IFIP International Workshop on Software Technolgies for Embedded and Ubiquitous Systems, Capri Island, Italy, 1–3 October 2008; Goos, G., Ed.; Springer: Berlin/Heidelberg, Germany, 2008; pp. 79–89. [Google Scholar]
  61. Banâtre, J.-P.; Priol, T.; Radenac, Y. Chemical programming of future service-oriented architectures. J. Softw. 2009, 4, 738–746. [Google Scholar] [CrossRef][Green Version]
  62. Di Napoli, C.; Giordano, M.; Németh, Z.; Tonellotto, N. Using chemical reactions to model service composition. In Proceedings of the Second International Workshop on Self-Organizing Architectures, Washington, DC, USA, 7 June 2010; pp. 43–50. [Google Scholar]
  63. Viroli, M.; Casadei, M. Chemical-inspired self-composition of competing services. In Proceedings of the 2010 ACM Symposium on Applied Computing, Sierre, Switzerland, 22–26 March 2010; pp. 2029–2036. [Google Scholar]
  64. Fernández, H.; Tedeschi, C.; Priol, T. A chemistry-inspired workflow management system for decentralizing workflow execution. IEEE Trans. Serv. Comput. 2013, 9, 213–226. [Google Scholar] [CrossRef]
  65. Wang, C.; Pazat, J.-L. A chemistry-inspired middleware for self-adaptive service orchestration and choreography. In Proceedings of the 2013 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing, Delft, The Netherlands, 13–16 May 2013; pp. 426–433. [Google Scholar]
  66. De Angelis, F.L.; Fernandez-Marquez, J.L.; Di Marzo Serugendo, G. Self-composition of services in pervasive systems: A chemical-inspired approach. In Agent and Multi-Agent Systems: Technologies and Applications, Proceedings of the 8th International Conference KES-AMSTA 2014 Chania, Greece, June 2014; Jezic, G., Kusek, M., Lovrek, I., Howlett, R.J., Jain, L.C., Eds.; Springer: Berlin/Heidelberg, Germany, 2014; pp. 37–46. [Google Scholar]
  67. Ko, J.M.; Kim, C.O.; Kwon, I.-H. Quality-of-service oriented web service composition algorithm and planning architecture. J. Syst. Softw. 2008, 81, 2079–2090. [Google Scholar] [CrossRef]
  68. Spezzano, G. Using service clustering and self-adaptive MOPSO-CD for QoS-aware cloud service selection. Procedia Comput. Sci. 2016, 83, 512–519. [Google Scholar] [CrossRef]
  69. Khanam, R.; Kumar, R.R.; Kumari, B. A novel approach for cloud service composition ensuring global QoS constraints optimization. In Proceedings of the International Conference on Advances in Computing, Communications and Informatics (ICACCI), Bangalore, India, 19–22 September 2018; pp. 1695–1701. [Google Scholar]
  70. Sefati, S.S.; Halunga, S. A hybrid service selection and composition for cloud computing using the adaptive penalty function in genetic and artificial bee colony algorithm. Sensors 2022, 22, 4873. [Google Scholar] [CrossRef]
  71. Dahan, F.; Alwabel, A. Artificial bee colony with cuckoo search for solving service composition. Intell. Autom. Soft Comput. 2023, 35, 3385–3402. [Google Scholar] [CrossRef]
  72. Bei, L.; Wenlin, L.; Xin, S.; Xibin, X. An improved ACO based service composition algorithm in multi-cloud networks. J. Cloud Comput. 2024, 13, 17. [Google Scholar] [CrossRef]
  73. Jayaudhaya, J.; Jayaraj, R.; Ramash, K.K. A new integrated approach for cloud service composition and sharing using a hybrid algorithm. Math. Probl. Eng. 2024, 2024, 3136546. [Google Scholar]
  74. Arasteh, B.; Aghaei, B.; Bouyer, A.; Arasteh, K. A quality-of-service aware composition-method for cloud service using discretized ant lion optimization algorithm. Knowl. Inf. Syst. 2024, 66, 4199–4220. [Google Scholar] [CrossRef]
  75. Shirvani, M.H.; Amin, G.R.; Babaeikiadehi, S. A decision framework for cloud migration: A hybrid approach. IET Softw. 2022, 16, 603–629. [Google Scholar] [CrossRef]
  76. Karimi, M.B.; Isazadeh, A.; Rahmani, A.M. QoS-aware service composition in cloud computing using data mining techniques and genetic algorithm. J. Supercomput. 2017, 73, 1387–1415. [Google Scholar] [CrossRef]
  77. Taramasco, C.; Crawford, B.; Soto, R.; Cortés-Toro, E.M.; Olivares, R. A new metaheuristic based on vapor-liquid equilibrium for solving a new patient bed assignment problem. Expert Syst. Appl. 2020, 158, 113506. [Google Scholar] [CrossRef]
  78. Lam, A.Y.; Li, V.O. Chemical reaction optimization: A tutorial. Memetic Comput. 2012, 4, 3–17. [Google Scholar] [CrossRef]
  79. Alatas, B. ACROA: Artificial chemical reaction optimization algorithm for global optimization. Expert Syst. Appl. 2011, 38, 13170–13180. [Google Scholar] [CrossRef]
  80. Post, D.E. The periodic table of elements, an early example of “big data”. TC Comput. Sci. Eng. 2016, 98, 44. [Google Scholar] [CrossRef]
  81. Brown, T.L. Chemistry: The Central Science, 12th ed.; Pearson Education: London, UK, 2012. [Google Scholar]
  82. Al-Ossmi, L.H.M.; Al-Asadi, A.K. A simplified method for estimating atomic number and neutrons numbers of elements based on period and group numbers in the periodic table. Orient. J. Chem. 2019, 35, 39–48. [Google Scholar] [CrossRef]
  83. IonicViper, Periodic Table. 2025. Available online: https://view.officeapps.live.com/op/view.aspx?src=https%3A%2F%2Fwww.ionicviper.org%2Fsystem%2Ffiles%2Fperiodic%2520Table.xls&wdOrigin=BROWSELINK (accessed on 8 April 2025).
  84. Yu, Y.; Ma, H.; Zhang, M. A genetic programming approach to distributed QoS-aware web service composition. In Proceedings of the IEEE Congress on Evolutionary Computation (CEC), Beijing, China, 6–11 July 2014; pp. 1840–1846. [Google Scholar]
  85. Canfora, G.; Di Penta, M.; Esposito, R.; Villani, M.L. An approach for QoS-aware service composition based on genetic algorithms. In Proceedings of the 7th Annual Conference on Genetic and Evolutionary Computation, Washington, DC, USA, 25–29 June 2005; pp. 1069–1075. [Google Scholar]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.