1 Introduction

Cloud computing provides an interesting technology that makes scientific and industrial projects easier to implement. Infrastructure as a service (IaaS) is a type of cloud computing that provides online resources for virtualized computing. In addition to software as a service (SaaS) and platform as a service (PaaS), IaaS is one of the three main categories of cloud computing services [1]. Cloud computing can be used to deploy highly complex applications for scientific workflow. Workflows break down complex, data-intensive applications into smaller tasks and perform them in serial or parallel depending on the application’s nature. Workflow models are commonly used in fields such as science, business, and engineering. In the planning of the scientific workflow, we need to take the following questions: (1) how to allocate tasks to VMs; (2) in what order the VMs will perform tasks taking into account the data dependency between tasks. Usually, these scientific workflows require a great deal of data of different sizes and simulations of long-term computers. We need high computing power and the availability of large infrastructure that offers different levels of QoS for the grid and more recently cloud computing environments.

There are various strategies to solving the problem of scheduling; scheduling schemes can usually be defined as follows: metaheuristic-based scheduling, heuristic workflow scheduling, hybrid metaheuristic, and heuristic scheduling, and Task and workflow scheduling [2]. Metaheuristic scheduling schemes can use algorithms such as simulated annealing (SA), ant colony optimization (ACO), and particle swarm optimization (PSO) to generate optimum schedules. For metaheuristic scheduling workflow schemes, the goals sought are often found in the metaheuristic algorithm’s fitness function. For this reason, once multiple objections are implemented to scheduling, different coefficients are allocated for each goal that can change the effect of each goal on the overall scheduling of workflow. Also, Metaheuristic algorithms were commonly used to solve various optimization issues, such as the selection of features [3].

The metaheuristic optimization algorithms have become so popular over the past two decades. Some of these algorithms are even known among scholars from other sciences. They are usually inspired by physical phenomena and animals’ behaviors. Additionally, learning, using, and combining these algorithms are done easily. The only point in using these algorithms is how to give input and get output from the system. These algorithms act better than conventional optimization methods in the comparison with local optimizations given their stochastic nature. On the contrary, all meta-heuristic methods have some weaknesses [4,5,6,7].

A common feature among the meta-heuristic approaches is dividing the search process into two stages: exploration and exploitation [8]. The exploration step is the broad random search in the search space to reach more desirable segments. The exploitation step is the local and more precise search in the desirable explored segments of the search space. Finding the right balance between these two stages is one of the challenging issues of metaheuristic methods.

Several approaches have been proposed concerning the metaheuristic algorithms in the past few decades, which we intend to review in some cases. Particle swarm optimization (PSO) algorithm [9, 10] is inspired by the collective behavior of the birds where each particle tries to find the best response in the search space by changing its speed and direction. Gandomi [11] introduced the krill herd (KH) optimization algorithm according to krill feeding behavior. In this algorithm, particle motion is specified according to three factors: food search behavior, random scattering, and the motion created by other particles [11]. Bat algorithm is inspired by the echolocation behavior of bats that was proposed by Yang in 2012. In this algorithm, the particles randomly navigate the search space at a different speed, position, frequency, and sound band [12].

Ant lion optimizer (ALO) algorithm [13] was first proposed by mirjalili according to ant lion feeding behavior for continuous problems. Ant lion performance uses specific movements of this insect to trap the ants in a pit. Multi-verse optimizer (MVO) algorithm is a kind of the new powerful meta-heuristic algorithms inspired by nature, where it has been commonly applied in a lot of fields, and based on three cosmological concepts: black hole, a white hole, and wormhole. These three concepts are used for exploration, exploitation, and local search [14]. Moth-flame optimizer algorithm [15] is a population-based algorithm that is proposed by Mirjalili. The moths in this algorithm move in a single, two, or multidimensional space. Cosine and logarithmic spiral function are used to implement moth-flame motion.

In the shuffled frog leaping algorithm [16], the frogs mimic each other and try to improve this behavior locally and turn into a model that others can imitate. This is a conscious imitation and not a mere imitation. The new optimization algorithm, inspired by the static and dynamic behavior of dragonflies’ accumulation and its two main phases of exploration and exploitation, has been done by modeling the grasshopper optimization algorithm’s social relationship in guiding, searching for food, and avoiding the enemies [17].

Several papers have been presented regarding grey wolves in recent years. In [18], a hybrid algorithm of PSO and GWO algorithms is presented. The particle swarm position is first updated by the PSO algorithm and then by the GWO algorithm. In [19], Kumar et al. proposed three strategies for improving the GWO algorithm. The first strategy is to use weighted baits. He then uses the laws of astrophysics to better guide the grey wolves to more desirable goals. According to this strategy, the wolves perform both exploration and exploitation processes. In the third strategy, the features and benefits of the two strategies are applied together. Various schemes have also been proposed to improve the GWO algorithm [20, 21].

The basic GWO algorithm does not perform well in the identification and exploration of global optimums that affect the convergence rate, despite good convergence. Hence, the purpose of the paper is to present the improved GWO algorithm that performs better in global optimizations. This algorithm is based on collective intelligence and is inspired by the collective behavior and hunting of grey wolves in nature. The innovation of the paper is using hill-climbing problem and random numbers based on chaos problem in the proposed algorithm. With the improvements done, we have seen good results with the basic method based on the chaos theory of the GWO algorithm. Many papers have used random numbers based on chaos problem and hill-climbing to improve the optimization algorithms [22,23,24,25,26,27,28].

The main contributions of this paper are as follows: (1) inspired by the GWO algorithm, an improved version of this algorithm was designed in this paper. The proposed algorithm is search improvement using hill-climbing problem and random numbers based on the theory of chaos. In this scheme, the update of the particle’s position at each iteration is affected by the last few positions. (2) We used some standard mathematical optimization benchmark functions to compare the other algorithms. These benchmark functions were chosen as single exponential, multi-exponential, and finite-dimensional, with varying levels of hardness. (3) Using the transfer functions in the proposed algorithm for the solution of scientific workflow scheduling. (4) To evaluate the performance of the proposed algorithm practically, we implemented the extended proposed algorithm using the WorkflowSim tool, which is based on the CloudSim tool. The results of the proposed algorithm were compared with some other algorithms.

The rest of this paper is organized as follows. The second section explores the context and the related work in recent literature. This section divided into two parts: heuristic, and meta-heuristic algorithms. The third section briefly explains the basic GWO algorithm. The proposed algorithm is provided in the fourth part, and in this part, we describe the innovation in the proposed algorithm, such as the improvement in search using hill-climbing problem and random numbers based on chaos theory. In the fifth part, the optimization functions and simulation results will be discussed. Section 5 explains the simulation component in detail, focusing on the optimization functions which divided into three groups: unimodal, multimodal, and constrained multimodal benchmark functions. Part six is a workflow scheduling in green cloud computing. In this section, we highlight the scheduling problem and describe a binary version of the proposed algorithm to use in discrete problems. In this section, we integrate the S-shaped and V-shaped transfer functions into the algorithm to convert the continuous proposed algorithm into the binary version, and simulation of workflow in the cloud-sim simulator are presented in this section, respectively. Section seven and eight exhibits the discussing and concluding remarks.

2 Literature review

Workflow scheduling is a NP-complete problem. Various heuristic and meta-heuristic algorithms have been proposed that solve workflow scheduling problems. The rest of this section is classified as heuristic and meta-heuristic algorithms.

2.1 Heuristic algorithms

Many heuristic algorithms such as MIN–MIN [29], and MAX–MIN [30] are proposed in the scheduling literature. List scheduling is one of the most common methods of scheduling workflow [31], in which a priority is given to each of the workflow tasks. Among the list-based heuristic algorithms, the critical path on the processor (CPOP) [32], dynamic level scheduling (DLS) [33], heterogeneous earliest finish time (HEFT) [34], dynamic heterogeneous earliest finish time (DHEFT) [35] and dynamic critical path (DCP) can be cited [36]. All these algorithms are aimed to reduce workflow makespan [37]. Some papers have considered two main criteria such as makespan and cost for scheduling. In [38], a multi-objective list-scheduling algorithm is presented to find dominant responses using Pareto for heterogeneous environments.

There are many bi-objective and multi-objective heuristic algorithms which solve workflow scheduling problem. The following are some examples of these algorithms. A bi-objective dynamic level scheduling algorithm performs the assignment of tasks in conditions where the runtime is acceptable against reliability [39]. The authors considered makespan and cost and used the concept of Pareto dominance to run large cloud applications to reduce financial costs regardless of budget and time constraints.

Camelo et al. [40], have presented a multi-objective heuristic algorithm to solve the workflow scheduling problem in the grid environment and they have used branch and bound’s deterministic algorithm to find real Pareto front solutions. Juan et al. [37], have enhanced a new multi-objective list-based scheduling algorithm to deal with numerous contradictory objectives such as makespan, cost, and suggested a genuinely multi-criteria optimization reaching the Pareto front using a variety of well-distributed trading solutions chosen from the crowding distance and analyzed that use the HV metric. Multi-objective HEFT [41] has been provided for scheduling workflows on Amazon EC2. Cost and makespan have been considered to create an optimal Pareto and the users have been allowed to select the best solution manually.

2.2 Meta-heuristic algorithms

Matthews et al. [42], have proposed a new scheduling algorithm based on ant colony algorithm, aimed to minimize the workflow time and the makespan. Unfortunately, these have been ignored job priorities. In [43], a cost-based algorithm is presented for efficient mapping of tasks to available cloud resources. This scheduling algorithm considers the cost of resource use and efficiency. The scheduler divides all tasks by priority into three categories: high, medium, and low priorities.

Mozmar et al. [44], have proposed a bi-objective hybrid genetic scheduling algorithm for parallel applications, limited priority in heterogeneous distributed systems like cloud computing infrastructure. One of the advantages of this algorithm is the reduction of makespan and communication costs.

One way to solve multi-objective problems is to convert them to weighted single-objective problems. In [45], Li et al. transform the multi-objective problem into a single-objective problem with the heuristic algorithm. They have been focused on using cloud resources to provide large-scale graph computing tasks. This algorithm produces a priority task list and passes the highest priority task in a cloud environment to a cost-effective virtual machine.

Dangra et al. [46], have proposed a scheduling method with the technique of transforming a multi-objective problem into single-objective to increase efficiency and reliability. They have proposed a reliable dynamic level scheduling (RDLS) algorithm based on dynamic level scheduling (DLS) [47]. Unlike the previous method where only one definite solution is proposed as a result of the algorithm, a set of dominant solutions provided to the user.

Yu et al. [48], have used the multi-objective evolutionary algorithm (MOEA) to solve the workflow scheduling problem. This algorithm is used to reduce two contradictory criteria of cost and runtime. Besides these two criteria, budget constraints and deadlines are considered in the algorithm as well. Population-based algorithms SPEA2 and NSGA-II [49, 50] and local search algorithms such as MOEA and PAES [51] have been used to solve workflow scheduling problems with conflicting objectives and various constraints. Another multi-objective algorithm with the R-NSGA-II approach [52] obtains Pareto optimal solutions according to three conflicting objectives: runtime, total cost, and reliability.

By examining the past studies, one can conclude that most multi-objective heuristic algorithms are suitable for the grid model and studies on the cloud environment are few. On the other hand, most studies have been conducted to reduce makespan and cost, ignoring the energy issue. In their proposed approach, Khalili et al. [53], have considered throughput besides these two criteria. In our proposed method, besides reducing the makespan and implementation cost, the consumed energy and throughput have been considered as criteria. This paper presents a multi-objective optimization solution to create optimal Pareto responses for the workflow in the green cloud environment.

3 Grey wolf optimization algorithm

This algorithm imitates the leadership hierarchy and grey wolves’ hunting mechanism in nature. In this algorithm, four types of a grey wolf—alpha, beta, delta, and omega—are used to simulate the leadership hierarchy. Moreover, three main stages of hunting—Hunt for a target, encircling target, and attacking target—are simulated. According to Moro et al., the main stages of grey wolves’ hunting are as follows [54]: tracking, chasing, and approaching prey. Chasing, seizing, and teasing the prey until it stops moving and attacking the prey. For mathematical modeling of the social hierarchies of wolves, we name the most appropriate solution as alpha, and among the best solutions, we name the second and third as beta and delta, respectively. The rest of the candidate solutions are considered as omega. The optimization process is directed by alpha, beta, and delta, and the fourth group follows these three groups. Equations 1 and 2 are used to model wolf siege behavior [54]:

$$\overrightarrow { D } = \left| {\overrightarrow { C } .\vec{X}_{p} \left( t \right) - \overrightarrow {X } \left( t \right)} \right|$$
(1)
$$\overrightarrow {X } \left( {{\text{t}} + 1} \right) = \overrightarrow {{X_{p} }} \left( {\text{t}} \right) - \overrightarrow {A } .\overrightarrow { D}$$
(2)

In these equations, t shows the number of current iterations. A and C are coefficients vectors, \(\vec{X}_{p}\) the hunting position vector, and x the position vector of a grey wolf. D is the wolf’s distance from the prey or the current position distance from the optimal response. Equation 2 is the new position of the wolf after moving towards the target. Vectors A and C are calculated by Eqs. 3 and 4 [54]:

$$\vec{A} = 2\vec{a}.\vec{r} - \vec{a}$$
(3)
$$\vec{C} = 2.\vec{r}$$
(4)

Vector decreases linearly from 2 to 0 during the iteration period in both the exploration and exploitation phases and r is a random vector from 0 to 1. Given the stochastic nature of r1 and r2 vectors, the wolves are allowed to reach any position between the points shown in Fig. 1. Thus, a grey wolf can change its position within the space that encompasses the prey at random using Eqs. 5 and 6. The same concept can be extended to n-dimensional search space. In this case, the grey wolves move around the cubes around the best solution. In Eq. 5, variable D shows the spatial distance of the alpha, beta, and delta wolves from the prey position or variable X. In Eq. 6, variables X1, X2, and X3 are the new positions of the alpha, beta, and delta wolves are after changing the location and approaching the prey. Equation 7 calculates the new location of the hunter based on the mean of the three newer locations of alpha, beta, and delta wolves.

Fig. 1
figure 1

Particle position updating in GWO algorithm

Grey wolves’ hunting is usually guided by alpha. Beta and delta sometimes take part in hunting as well. We save three of the best solutions obtained and force the other search agents according to Eq. 7 to update their position according to the best search factors to model this behavior. Figure 1 shows how to update the search agent position in 2D space. According to Fig. 1, alpha, beta and delta estimate the hunting position, and other wolves randomly update their position around the hunting area. In Fig. 1, alpha, beta, delta, and omega wolves are shown as circles. Dα, Dβ, and Dδ show the hunter’s distance from other wolves. Variables a and c are the radius of spatial variations of alpha, beta, and delta particles and can be calculated through Eqs. 3 and 4. Variable R is the radius of prey locations change.

$$\overrightarrow {{ D _{\alpha \left| \beta \right|\delta } }} = \left| {\overrightarrow {{ C _{1\left| 2 \right|3} }} .\vec{X}_{\alpha \left| \beta \right|\delta } - \overrightarrow {X } } \right|$$
(5)
$$\begin{aligned} & \overrightarrow {{X_{1} }} = \overrightarrow {{X_{\alpha } }} - \overrightarrow {{A_{1} }} .\overrightarrow {{ D_{\alpha } }} \\ & \overrightarrow {{X_{2} }} = \overrightarrow {{X_{\beta } }} - \overrightarrow {{A_{2} }} .\overrightarrow {{ D_{\beta } }} \\ & \overrightarrow {{X_{3} }} = \overrightarrow {{X_{\delta } }} - \overrightarrow {{A_{3} }} .\overrightarrow {{ D_{\delta } }} \\ \end{aligned}$$
(6)
$$\overrightarrow {{X\left( {t + 1} \right) }} = \frac{{\overrightarrow {{X_{1} }} + \overrightarrow {{X_{2} }} + \overrightarrow {{X_{3} }} }}{3}$$
(7)

In the exploitation phase or prey attack, the grey wolves will attack if the prey stops. We reduce the value of a from 2 to 0 to model this. The value of A, depending on a, decreases as well. The decrease in the value of A from 1 makes the wolves attack the prey. To avoid trapping at a local minimum of this algorithm, it provides a search or exploration phase for the prey. The wolves are separated from each other in search of prey and work together to attack it. To simulate this divergence, we use vector A with random values greater than 1 or smaller than 1. Figure 2 shows this problem.

Fig. 2
figure 2

Exploration phase versus exploitation

Another component affecting the exploration process is C value. The value of this random number vector is in the range [0, 2]. If the random value C is greater than 1, the prey position will affect the wolf and prey distance (variable D in Eq. 5). However, if this value is less than 1, the prey position will be less effective. This vector can be considered as the effect of obstacles that prevent approaching the prey in nature. The pseudo-code of this algorithm is given in Table 1. All variables like the number of algorithm iterations, random variables A and C, the population of wolves, and the parameter a are initialized. In each iteration, which is shown by variable t, the wolves’ population is randomly generated and the fit function is run for each case. In each iteration among the population, the best wolves are identified by alpha, beta, and delta based on their identified fitness. Then, the new position of the hunter wolves is determined based on the average location values of the top three wolves and all parameters and spatial vectors are updated. The best position of the wolves (Xα) is recorded as the response in each iteration.

Table 1 Pseudocode of the GWO algorithm

4 Proposed algorithm

In the GWO algorithm, the population moves towards the optimal responses—alpha, beta, and delta wolves move. In each iteration, the optimal particles are identified based on the fitness function and the best particle is called alpha. Each dimension of the new location is equal to the corresponding dimension mean of the superior particles, fully explained in Sect. 2 in Eqs. 17. The movement of the particles at each stage is done regardless of the degree of fitness; i.e., non-greedily.

In the proposed algorithm, the number of steps of a particle can change without an increase in the degree of fitness. Every change in the fitness of the new location is compared to the best location it used to be. If there are no definite steps to improve, the particle is returned to the last optimal response [55]. This is well shown in Fig. 3. As is seen in this figure, after reaching the global optimum, it continues to explore several steps until it reaches a better response; however, it returns to the general optimum after not finding appropriate responses.

Fig. 3
figure 3

Hill–Climbing problem

Fig. 4
figure 4

Flowchart of the proposed HCGWO algorithm

The basic GWO algorithm does not perform well in the exploration of global optimizations [21]; thus, we used 10 functions according to chaos theory such as circular, Gaussian and logistic instead of conventional stochastic functions to reduce this effect and increase the efficiency of the proposed algorithm [56]. These functions are used to create numbers between [0, 1] as seen in Table 2. The initial value of all random numbers is considered 0.7 [57].

Table 2 Chaotic maps

Overall, chaos, deterministic and quasi-random functions on dynamic and nonlinear systems are non-periodic, non-convergent, and finite. Mathematically, chaos functions are a random deterministic dynamic system. Chaos maps different from alternate mathematical functions can be used to use these functions in the optimization algorithm. Since the last decade, these functions have widely been focused on optimization because of their dynamic behavior that helps optimization algorithms in dynamic and more general discovery. Most importantly, chaos functions are used in real-world applications to make the algorithms applied. The results show that using chaos theory-based functions is effective to avoid being trapped in local optimum and to increase convergence speed. The implementation of some of these functions can be seen in Fig. 5. A random chaos function is used in each iteration of the GWO algorithm. Table 3 shows the pseudo-code for the proposed algorithm. The flowchart of the algorithm is also shown in Fig. 4 for more clarity.

Fig. 5
figure 5

Chaotic maps implementation result

Table 3 Pseudocode of proposed HCGWO algorithm

Chaotic random numbers have a good effect on the convergence rate of the algorithm. Maps of the chaos functions generate random numbers within a permissible range. These numbers are initially predictable for a very short time and are random for a long time then.

5 Simulation and results

We used 23 standard mathematical optimization functions presented as CEC 2005 to compare the GWO algorithm and the proposed algorithm [56, 58, 59]. These benchmark functions have been selected as single exponential, multi-exponential, and finite-dimensional with varying hardness levels. The simulation and the resulting numerical results are performed in MATLAB 2017. The simulator uses a computer with a Core i7 processor with 2 GHz processing power and 4 GB of main memory.

We run the proposed algorithm 10 times over the relevant functions and obtain the maximum, minimum, median, and mean of the iterations as are shown in Tables 5, 7, and 9. All the results shown in this paper are based on the IEEE CEC 2005 approved format. In these tables, the results are better distinguished by the thick pen. Each time the algorithm is fully run, 1000 searches are performed. We have a population size of 30 and each response is assumed to be a set of 30. The population and computational power of the compared algorithms are considered similar to have a correct and fair comparison.

5.1 Unimodal benchmark functions

Figure 6 is a three-dimensional drawing of these benchmark functions. Moreover, the cost functions along with the dimensions, ranges, and minimum inputs related to the single exponential benchmark functions are shown in Table 4. In Tables 4, 6, and 8, n shows the number of x members. We used an array of length 30 for each particle.

Fig. 6
figure 6

3-D versions of unimodal benchmark functions

Table 4 Unimodal benchmark functions

These functions are suitable for measuring the exploitation process. Table 5 shows the statistical results (mean, median, minimum, and maximum) of the basic GWO algorithm, the proposed algorithm, and several new algorithms on unimodal exponential functions. Figure 7 shows the convergence graph for the best response to the algorithms. In Figs. 7, 9, and 11, the number of iterations is shown 80 times less, so the number of iterations in this figure is 12.5.

Table 5 Comparison of optimization results obtained for the unimodal benchmark functions (F1-F7) in 10 iterations
Fig. 7
figure 7

Comparison of convergence curves of HCGWO and other algorithms in some of the unimodal benchmark functions

Fig. 8
figure 8

3-D versions of multimodal benchmark functions

Fig. 9
figure 9figure 9

Comparison of convergence curves of HCGWO and other algorithms in some of the multimodal benchmark functions

Fig. 10
figure 10

3-D versions of fixed-dimension multimodal benchmark functions

Fig. 11
figure 11

Comparison of convergence curves of HCGWO and other algorithms in some of the fixed-dimension multimodal benchmark functions

The results in Tables 5, 7 and 9 show the comparison of the proposed algorithm (HCGWO) with GWO Algorithms [54], Chaos Theory-based GWO (CGWO) [21], Hill-climbing Improved GWO (HGWO), PSO, ALO [13], multi-verse optimizer (MVO), and MFO algorithms [15]. Table 5 shows the statistical results of unimodal functions for the mentioned algorithms. According to the results of Fig. 7, the proposed algorithm exploitation stage performs better than the other algorithms. The results of the two improved algorithms of the other grey wolves are better than the other algorithm except for F6 function. According to Table 5, the results of the proposed algorithm mean, median, minimum, and maximum in all single unimodal functions except F6 are better than other algorithms. In F6 function, the result of the PSO algorithm is better as well. In the proposed algorithm, because of using the hill-climbing problem, the exploitation stage has improved significantly compared to the basic algorithm.

5.2 Multimodal benchmark functions

These functions evaluate the exploration stage and the ability to avoid the local optimum of the search algorithm. In CEC 2005 test problems, functions F8–F16 are multimodal. The cost functions related to the multimodal benchmark functions along with the dimensions, range, and minimum input are shown in Table 6. Figure 8 is the three-dimensional diagram of the multimodal benchmark functions.

Table 6 Multimodal benchmark functions

For a spatial vector with a length of 30 results, the mean of the proposed algorithm is less than the other algorithms. The statistical results for the multimodal functions are shown in Table 7. The results in all multimodal functions are better for the proposed algorithm except for F8 function that has a better mean and the best state for the moth algorithm. However, the result of the proposed algorithm is better than basic grey wolves, PSO chaos theory based GWO algorithm, and grey wolves with hill-climbing problem in this function. According to Fig. 9, the proposed algorithm exploration step is better than other algorithms. The chaos theory-based GWO algorithm performs better in F10, F11, and F15 functions than the basic GWO algorithm. The improved GWO algorithm with hill-climbing problem also performs better than the basic grey wolves in functions F9, F10, F12, F13, and F14. In the other multimodal functions, the results of the basic GWO algorithm are better than the chaos-theory based GWO algorithm. Because of using chaotic functions, the proposed algorithm exploration stage performs better than other algorithms.

Table 7 Comparison of optimization results obtained for the multimodal benchmark functions (F8-F15) in 10 iterations

5.3 Constrained multimodal benchmark functions

Constrained multimodal test problems to show the ability to avoid being trapped in local optimum and the balance between exploration and exploitation stages. Functions F17–F23 are constrained multimodal. The dimensions of these problems differ as shown in Table 8. Figure 10 is a three-dimensional drawing of these benchmark functions. According to the statistical results of Table 9, in these functions, the proposed algorithm is better than the other two algorithms with little difference. Figure 11 shows the results of the algorithms close to these functions. The results of the convergence diagram of functions F19–F23 were very similar to each other; thus, they have not been shown. Overall, the results of exploration, exploitation, and local optimum avoidance steps of the proposed algorithm are better than or similar to other algorithms. The changes applied to the proposed algorithm have improved the relative balance between the exploration and exploitation steps.

Table 8 Fixed-dimension multimodal benchmark functions
Table 9 Comparison of optimization results obtained for the fixed-dimension multimodal benchmark functions (F17–F23) in 10 iterations

6 Workflow scheduling in green cloud computing

According to the previous section, the HCGWO algorithm produces better compared to other optimization algorithms on various benchmark functions. This algorithm is designed to solve continuous optimization problems. In this section, we will solve the workflow scheduling problem using the proposed algorithm. We can use the discrete environment optimization algorithm to solve this problem. The solutions must be binary to develop binary HCGWO. Hence, various conversions are required to realize this goal. Using transfer functions is one of the efficient ways to convert continuous optimizer to binary. Transfer functions are simple, fast, and low cost with simple implementation as well [60, 61].

In this paper, four S-shaped (S1–S4) and V-shaped (V1–V4) transfer functions are used to convert continuous HCGWO to binary. Table 10 shows the mathematical definition of these transfer functions. The images of these functions are shown in Fig. 12 as well.

Table 10 The utilized S-shaped and V-shaped transfer functions
Fig. 12
figure 12

Sample S-shaped and V-shaped transfer functions

Binary hill-climbing chaotic GWO (BHCGWO) algorithm could search binary search space in the light of using the transfer function. In this algorithm, the wolves’ location changes in two stages. In the first step, the BHCGWO algorithm updates the location of wolves like the proposed HCGWO algorithm. This new location is in continuous space. In the second step, the transfer functions are used to convert the new location to a possible value. Wolf’s new location is updated by Eqs. 8 and 9.

Thus, we convert the wolf’s location into a binary form. In the set of S-shaped functions, the BHCGWO algorithm updates the location of the wolves according to Eq. 8.

$$X_{i}^{d} \left( {t + 1} \right) = \left\{ {\begin{array}{*{20}l} {1 } \hfill & {if\, rand\left( {0,1} \right) < T\left( {\Delta X_{i}^{d} \left( {t + 1} \right)} \right)} \hfill \\ {0 } \hfill & {otherwise} \hfill \\ \end{array} } \right.$$
(8)

In this equation, T(x) is a S-shaped transfer function, rand(0,1) is a random number between [0,1], x the wolf’s location, i the wolf number in the population, d is dimension and t is the current iteration number. Unlike the S-shaped transfer function, the V-shaped transfer function does not restrict the search agent to the interval [0,1]. Equation 9 shows updating the wolf’s location with V-shaped transfer functions.

$$X_{i}^{d} \left( {t + 1} \right) = \left\{ {\begin{array}{*{20}l} {\neg X_{i}^{d} \left( t \right) } \hfill & {if\, rand\left( {0,1} \right) < T\left( {\Delta X_{i}^{d} \left( {t + 1} \right)} \right)} \hfill \\ {X_{i}^{d} \left( t \right)} \hfill & {otherwise} \hfill \\ \end{array} } \right.$$
(9)

In this equation, T(x) is the S-shaped transfer function, rand(0,1) random number between [0,1], x wolf location, i wolf number in the population, d dimension, t current iteration number, and \(\neg X\) supplement X. Table 11 shows the proposed binary algorithm.

Table 11 Pseudocode of proposed BHCGWO algorithm

We simulated the workflow problem in the Cloudsim environment and compared it with heterogeneous earliest finish time (HEFT), DHEFT, PSO, GWO, and CGWO algorithms to evaluate the proposed algorithm. The HEFT scheduling algorithm is a popular scheduling algorithm to minimize the execution time of tasks in the workflow. This algorithm has two stages of task prioritization and the last task selection phase. Each task is assigned to a processor with fewer EFTS for that task [34]. The distributed DHEFT or HEFT algorithm uses the distributed concept and better utilizes the concept of virtual machine accessibility level to better map tasks to the virtual machine [35]. The workflow scheduling and evaluation criteria will be discussed later on.

The parallel workflow can be shown by a non-circular graph in Fig. 13 [62]. The task graph G = (N, E) consists of a set of N vertices and E edges. In this problem, N is a set of tasks and E is a set of available edges between tasks that show prioritized constraints. Each E ∈ edge(i, j) edge shows ni and nj tasks that nj task cannot start until ni task is completed [63]. Tasks without an input edge are the starting tasks. The actual start time (AST) is calculated for each ni node on Pk processor using Eq. 10 [64].

$$AST\left( {n_{i} , P_{k} } \right) = \hbox{max} \left( {EST\left( {n_{i} , P_{k} } \right),Avail\left( {P_{k} } \right)} \right)$$
(10)
Fig. 13
figure 13

Non-cyclic graph of scientific workflows

In this equation, ESTFootnote 1(ni, Pk) is the start time of task ni on Pk processor. Avail(Pk) is the first time Pk processor is ready to perform the task. The earliest end time (EFT) of each node on Pk processor is calculated using Eq. 11 [65].

$$EFT\left( {n_{i} , P_{k} } \right) = AST\left( {n_{i} , P_{k} } \right) + W\left( {n_{i} , P_{k} } \right)$$
(11)

In Eq. 11, variable W is the time needed to process the task ni on Pk processor. According to Eq. 12, the completion time of all tasks equals the end time of the output graph node [65]. In this practical example, the goal is to reduce the time all tasks are completed [66,67,68,69,70,71].

$$makespan = max\left\{ {EFT\left( {n_{exit} } \right)} \right\}$$
(12)

In cloud computing, the computational cost for each customer is calculated according to the length of time the resources are used. Indeed, this cost is obtained by the execution time of task ti on VMj virtual machine according to Eq. 13. The duration of the task is according to Eq. 14.

$$C_{p} \left( {t_{i} } \right) = ET_{{t_{i} }}^{{VM_{j} }} \times CostPerProcessingVMj$$
(13)
$$ET_{{t_{i} }}^{{VM_{j} }} = MI\left( {t_{i} } \right)/MIPS\left( {VM_{j} } \right)$$
(14)

In this equation, MI(ti) is the number of instructions of request i and MIPS(VMj) is the number of millions of instructions that machine j executes per second. The cost of storage is calculated according to the time needed to store the task on the virtual machine according to Eq. 15. In this equation, \(WT_{{t_{i} }}^{{VM_{j} }}\) according to Eq. 16 is the waiting time of request ti on VMj virtual machine to provide the required resources.

$$C_{s} \left( {t_{i} } \right) = (ET_{{t_{i} }}^{{VM_{j} }} + WT_{{t_{i} }}^{{VM_{j} }} ) \times CostPreStorageInVM_{j}$$
(15)
$$WT_{{t_{i} }}^{{VM_{j} }} = maxinput\left( {t_{i} } \right)/BW$$
(16)

The cost of sending files for task ti is calculated by Eq. 17. The total cost is equal to Eq. 18 [72].

$$C_{T} \left( {t_{i} } \right) = (\sum Output\left( {t_{i} } \right)/BW) \times CostPerTransfer$$
(17)
$$C_{total} \left( {t_{i} } \right) = C_{p} \left( {t_{i} } \right) + C_{s} \left( {t_{i} } \right) + C_{T} \left( {t_{i} } \right)$$
(18)

This paper considers the energy consumed in calculating tasks. Hence, the power consumption of task ti on the virtual machine VMij is expressed with Eq. 19. In this equation, VEij is the hourly power consumption of machine VMij. Thus, the energy consumption of a workflow equals the sum of the energy consumption of its workflow tasks according to Eq. 20 [73].

$$E\left( {t_{i} ,VM_{ij} } \right) = ET_{{t_{i} }}^{{VM_{j} }} \times VE_{ij}$$
(19)
$$E\left( V \right) = \mathop \sum \limits_{i = 1}^{n} E\left( {t_{i} ,sched\left( {t_{i} } \right)} \right)$$
(20)

We have several types of balanced and unbalanced workflows according to some scheduling papers [48, 74]. Table 12 shows the scientific workflows examined in this paper along with information like the number of vertices and edges, the minimum and maximum relevance of each edge in terms of bytes, the minimum and the maximum runtime [75]. Figure 13 is the graph of these workflows [2]. Experiments were done on 100 and 1000 vertices from four scientific workflows examined.

Table 12 Specification of scientific workflows

Epigenomics and Inspiral workflows are of the balanced type and Montage and Cybershake are of the unbalanced type. A balanced workflow has some pipelines that need similar services. However, they process various forms of services. The unbalanced workflow is more complex and has some parallel tasks that need various services.

The limited task distribution among the machines can meet the needs of users using the cloud. This section considers a particular type of cloud environment called green computing [76]. Green computing is known as environmentally friendly information technology. In other words, studying, designing, constructing, using, and disposition related systems and subsystems, so that they have minimal approval and exploitation from the environment. Reduction in energy consumption is one of the main goals of green computing, we can reach by designing efficient algorithms. In the rest of this section, the purpose is to evaluate the energy consumption of the proposed algorithm and examining the time and cost needed to perform the tasks [77].

As most scheduling presented does not reach the best possible response under all conditions, the paper tries to enhance the scheduling problem to some extent with an improved algorithm. We will compare the algorithms according to the three criteria - task completion time, cost, and energy. Figure 14 shows the 3D Pareto front diagram of the proposed algorithm. Figure 14 shows the results of the proposed algorithm for average workflows. Each chart has a number of blue and red dots where the red dots show the Pareto members optimally produced and the blue ones the ideal Pareto members produced. In these graphs, each dimension is one of the comparison benchmarks.

Fig. 14
figure 14

Pareto front of scientific workflows in medium dimension

According to the results shown in Figs. 15, 16, and 17, the proposed algorithm has relatively lower task completion time, cost, and power consumption compared to the basic algorithms. As is seen in Fig. 15, the proposed algorithm has managed to accomplish less time than other methods in different workflows. However, in the large-scale Montage workflow, the results of the proposed algorithm and the HEFT, PSO, GWO, and CGWO algorithms are close together. Figure 16 indicates the results for the cost of scheduling. The results of the proposed algorithm on medium-sized workflows have proven to be better than the other algorithms examined. The proposed algorithm scheduling cost in large-scale Epigenomics, Inspiral, and Cybershake workflows are better than other algorithms as is shown in Fig. 16. However, the results of this criterion on large-scale Montage workflow are better for the HEFT algorithm. Figure 17 is the results of the energy consumption of running algorithms on different workflows. The proposed algorithm on the Montage workflow with various dimensions has proper results as well. The results of this algorithm on mid-dimensional Epigenomics, Inspiral, and Cybershake workflows are better than other algorithms as well. In large-scale Epigenomics, Inspiral, and Cybershake workflows, the results of the presented algorithm are better than HEFT and DHEFT algorithms, whereas it yields improper results compared to PSO, GWO, and CGWO algorithms. The changes made on the proposed algorithm in task scheduling problems have a great effect on task completion time, cost, and energy consumption as a result of returning to the optimal states in case of failing to find proper responses.

Fig. 15
figure 15

Comparison of Makespan

Fig. 16
figure 16

Comparison of cost

Fig. 17
figure 17

Comparison of energy consumption

7 Discussion

The innovation in the proposed algorithm is the improvement in search using hill-climbing problem and random numbers based on chaos theory. From the experiments performed in Sects. 5.15.3 on the benchmarks, it is shown that HCGWO performs better than the GWO and other optimization approaches. Besides, HCGWO implementation is easy and simple, and there is no effect on the fine-tuning of the parameters. The work performed in this paper shows the robustness of the HCGWO for all types of benchmark functions. There are several ways to check meta-heuristic optimization-based algorithms efficiently. Benchmark evaluation is a simple way that is widely used. However, it is not a perfect approach.

The use of chaos was one of the techniques used in metaheuristic algorithms to tune certain parameters. We added chaos to the basic GWO in the current work and created a chaotic GWO version. To validate the algorithm, ten different chaotic maps were used. The results suggest that the new algorithms are strengthened due to the implementation of deterministic chaotic signals instead of constant and/or random values. Statistical findings and the HCGWO’s performance rates suggest that the tuned algorithms will significantly improve the reliability of the global optimality and also increase the consistency of the results. Any progress in such evaluation will undoubtedly provide insight into the working mechanism of chaotic metaheuristic algorithms and the confluence of metaheuristic algorithms with chaos.

A local search strategy works well in certain instances but usually fails with a large number of local maxima. Hill climbing is a local search strategy that aims to enhance a given solution by searching around the currently best-known solution in the solution space. Hill Climbing is therefore suggested as a method for the general case due to its capability to avoid local maxima and ease of use and implementation.

Ultimately, we compared the performance of the new algorithm with some of the famous existing algorithms in this regard and identified its strengths and weaknesses. The improvements made bring about an increase in convergence speed and prevent trapping in local optimum by proper adjustment of the parameters. The paper used the proposed algorithm in an applied way for workflow scheduling in the green cloud computing environment. Thus, we made the proposed algorithm binary using transfer functions. The purpose was to minimize the cost and time of doing the tasks and workflows and to reduce energy consumption for having a green cloud environment. The results show a reduction in the energy consumed, the cost, and the time needed to perform tasks in some cases.

8 Conclusion

The purpose of the paper was to present a new version of the metaheuristic GWO algorithm to optimize the search capability in wolves hunting. Thus, 23 standard IEEE CEC2005 benchmark functions were used to evaluate the performance of the presented algorithm. The efficiency of the proposed algorithm proved to be better compared to the base algorithm and other algorithms. In the algorithm proposed for random numbers, we use several chaos functions and keep the best possible response for some determined steps until we return to the last optimal response if no better responses are reached. This improvement led to increased convergence speed and prevented trapping in a local optimum. Moreover, the practical task scheduling problem was proposed on scientific workflows of various sizes and the performance of the binary version of the proposed algorithm was examined on the task scheduling problem to prove the applicability of the algorithm. The simulation results showed the reduction of runtime, cost, and energy for the proposed algorithm.

The proposed algorithm has opened a new path for enhancing leadership-based search capability. Other improvements could be proposed for this algorithm in the finite problems and infinite to multi-swarm multi-objective states.