Keywords

1 Introduction

Optimization in simple terms defined as choosing the best alternative from the given set of solutions. Optimization problems exist in almost every sphere of human activities. Optimization techniques are widely used where decisions have to be taken in some or more complex conditions that can be formulated mathematically. To solve such complex optimization problems, stochastic search techniques gather the attention of many researchers, scientists, and academicians. Stochastic search techniques or nature-inspired metaheuristic algorithms (NIMA) mimic their inspiration from nature or some biological phenomena. Some of the popular stochastic search techniques are GA [1], DE [2], PSO [3], ABC [4], ACO [5], SFLA [6], etc. These algorithms have proved their efficacy in solving intricate and complex optimization problems emerging in various domains.

Shuffled frog-leaping algorithm (SFLA) is a recent addition to the family of NIMA proposed by Eusuff and Lansey [6]. SFLA is formulated on the concept of evolution of memeplexes in frogs. Having the advantage of both, PSO and mixing of the information (taken from GA), SFLA has also proved its efficacy and ability in discovering global optimal solutions to several combinatorial optimization problems. In this study, we have proposed a hybrid differential evolution (DE)-based shuffled leap frog algorithm. This hybridization is done to enhance the searching capability SFLA as well as to maintain the diversity of population.

This paper is structured in five sections including introduction. Section 2 presents working process of SFLA followed by Sect. 3 that describes the proposal. Problem definition is explained in Sect. 4. Simulation settings and results are given in Sect. 5. Finally, the conclusions drawn from the study are mentioned in Sect. 6.

2 Working of SFLA

SFLA, stochastic search algorithm based on evolution of memeplexes. In essence, SFLA contains the element of both the local search method of PSO and the concept of mixing information of the shuffled complex evolution. SFLA has also proved its efficacy in finding global solutions to several combinatorial optimization problems [6]. In SFLA, a set of frogs represents the population of possible solutions, which is partitioned into subsets called memeplexes. Different subsets are having frogs from different cultures and each frog carry out a local search and the position of worst’s frog is modified or updated so that the frogs can move toward optimization. When each subset evolves through fixed number of generations or memetic evolution steps, the ideas hold by the frogs within the subset are passed among subsets through shuffling process. This process of local search and shuffling of information continues until the termination criterion is satisfied.

There are four steps in SFLA:

  1. A.

    Initialization Process

    The initialization of a set of frogs (solutions) is similar to initialization process of other stochastic techniques, i.e., using Eq. (1). The population of frogs (P) be represented by X Fi  = (x i1, x i2, …, x iS ) and then position of each frog is generated by:

    $$ x_{ij} = {\text{lb}}_{j} + {\text{rand}}(0,1) \times \left( {{\text{ub}}_{j} - {\text{lb}}_{j} } \right) $$
    (1)

    for i = 1, 2, …, P (set of frogs); j = 1, 2, …, S (S-dimensional vector) and, lb j and ub j are the lower and upper bounds, respectively, for the dimension j.

  2. B.

    Sorting and Division Process

    The frogs, based on their fitness evaluations, are sorted in descending order. Then, the sorted population of P frogs is distributed into m subsets (memeplexes) each subset holds n frogs such that P = m × n. The distribution is done such that the frog with maximum fitness value will go into subset first, accordingly the next frog into second subset and so on. Then X b (best) and X w (worst) individuals in each subset are determined.

  3. C.

    Local Search Process

    Worst individual position is improved using Eqs. (2) and (3):

    $$ D_{i} = {\text{rand}}(0,1) \times (X_{\text{b}} - X_{\text{w}} ) $$
    (2)
    $$ X_{\text{w}} = X_{\text{w}} + D_{i} ;\quad - D_{\hbox{max} } \le D_{i} \le D_{\hbox{max} } $$
    (3)

    where i = 1, 2, …, N gen; D is the movement of a frog, whereas D max represents the maximum permissible movement of a frog in feasible domain; N gen is maximum generation of evolution in each subset. The old frog is replaced if the evolution produces the better solution else X b is replaced by X g (optimal solution). If no improvement is observed then a random frog is generated and replaces the old frog. This process of evolution continues till the termination criterion met.

  4. D.

    Shuffling Process

    The frogs are again shuffled and sorted to complete the round of evolution.

    Again follow the same four steps until the termination condition met.

3 Differential SFLA (DSFLA)

Since the inception of SFLA, several attempts have been made and analyzed to improve its performance in terms of accelerating convergence and to balance exploration and exploitation capabilities [710]. In this study, we have presented one more variant of SFLA that combines the searching efficiency of DE and SFLA by maintaining the population diversity of frogs. The diversity of populations measures the efficiency of any population-based algorithm.

DE algorithm is proposed by Price and Storn [2] in 2005 to solve global optimization problem. DE uses mutation, crossover, and selection evolutionary operators as that of GA [1] but difference lies in its working. Like SFLA, DE has also been successfully applied and shown its efficacy on benchmark functions and many real-life problems [1114].

Differential-SFLA (DSFLA) algorithm starts like the usual DE algorithm up to the point of trial vector generation. If the target vector fitness value is better than the fitness value of generated trail vector, then it is included into the population otherwise the SFLA gets activated and generates the new trail vector by following the process of SFLA with expectation of getting better solution. The SFLA phase produces perturbation in the population of solutions (frogs) by dividing it into fixed number of memeplexes. This helps in maintaining the diversity of the population and produces optimal solution. The pseudo code of DSFLA is explained below:

If the resulting value falls outside the acceptable range for parameter j, it is set to the corresponding extreme value in that range.

4 Problem Definition

4.1 Optimal Distribution Policy to Minimize the Total Cost of a Company [15]

A company has two alkalyte units (say AL1 and AL2) at different locations. From these units, the goods or products are transported to the customers (say CU1, CU2, and CU3). The details about maximum and fixed rate of production from each plant, minimum and fixed customer requirements and the transportation cost are given in Tables 1, 2 and 3, respectively. If the production (ton/day) rate goes down below 0.5 ton/day, than the production cost for AL1 is 30 $/ton, while it is 40 $/ton for production rate above 0.5 ton/day, whereas production cost of AL2 is steady at 35 $/ton. The key objective is to find the optimal distribution policy such that the company cost be minimize.

Table 1 Maximum rates of production from units (AL i=1,2)
Table 2 Customers (CU i=1,2,3) requirements
Table 3 Transfer costs between units (AL i=1,2) and customers (CU i=1,2,3)

4.2 Circulation Dryer Problem

This problem is given by Luus and Jaakola [16].

Maximize: \( P = 0.0064z_{1} \left[ {1 - \exp \left( { - 0.184z_{1}^{0.3} z_{2} } \right)} \right] \)

w.r.t.

  • power constraint: \( \left( {3,000 + z_{1} } \right)z_{1}^{2} z_{2} = 1.2 \times 10^{13} \)

  • distribution of the moisture content: \( \exp \left( {0.184z_{1}^{0.3} z_{2} } \right) = 4.1. \)

4.3 Minimization of Capital Investment for Batch Processes [15]

$$ \begin{aligned} P & = 592V^{0.65} + 582V^{0.39} + 1,200V^{0.52} + 370\left( {\frac{V}{{z_{1} }}} \right)^{0.22} + 250\left( {\frac{V}{{z_{2} }}} \right)^{0.40} \\ & \quad + 210\left( {\frac{V}{{z_{2} }}} \right)^{0.62} + 250\left( {\frac{V}{{z_{3} }}} \right)^{0.40} + 200\left( {\frac{V}{{z_{3} }}} \right)^{0.85} \\ \end{aligned} $$

w.r.t. constraint:

  • V = 50(10 + z 1 + z 2 + z 3).

5 Simulation Settings and Results

5.1 Parameter Settings

The above-stated problems are simulated on deb c++ with the following parameters

  • The same seed for random number generation is used for all the algorithms (DE, SFLA, and the proposal) so that the initial population is same for all the algorithms.

  • All experiments were repeated 25 times independently with 24,000 objective function evaluations for each problem.

  • Population size of frogs is fixed to 100.

  • Scaling factor (F) = 0.5.

  • Crossover rate (Cr) = 0.2.

  • m (no. of memeplexes) = 10.

  • n (no. of iterations evolves in each memeplexes) = 10.

  • N gen = 10.

  • D max = 100 % of variable range.

  • Constrained handling is done using parameter-free penalty method [17].

  • Integers are handled by rounding of the decision variables to nearest integer [18].

5.2 Results Discussion

The performance of the proposed algorithm D-SFLA is analyzed on a set of three chemical engineering problems taken from the literature. The results for all the three problems are presented in Table 4. All the three algorithms DE, SFLA, and D-SFLA are capable of solving all problems with 100 % success rate. The difference lies in the number of function evaluations taken which are presented in Fig. 1.

Table 4 Solution for the problems
Fig. 1
figure 1

NFE taken by the problems (4.1, 4.2, and 4.3)

It can be analyzed from Fig. 1 that the proposal attained the optimal value 29 and 30 % faster than DE and SFLA, respectively, for the problem 4.1. For the problem 4.2, DSFLA converges 13 and 22 % faster than DE and SFLA. Similarly for the problem 4.3, DSFLA performed 18 and 13 % faster than DE and SFLA. If we further analyze, DFSLA performed 23 and 25 % faster for all the three problems in comparison with DE and SFLA, respectively.

6 Conclusions

In this study, we have proposed the hybridization of DE and SFLA to improve the searching capability of SFLA while maintaining the diversity of the population of the frogs. This kind of hybridization seems to be very efficient in solving computational optimization problems. We have tested the efficacy of the proposal on three chemical engineering problems of different types such linear and nonlinear.

In future, we will try to further investigate the proposal and modify the employment of the proposal on large scale problems.