3814
Ind. Eng. Chem. Res. 2000, 39, 3814-3822
Ant Colony Approach to Continuous Function Optimization Mohit Mathur,† Sachin B. Karale,‡ Sidhartha Priye,‡ V. K. Jayaraman,‡ and B. D. Kulkarni*,‡ Department of Chemical Engineering, Indian Institute of Technology, Kharagpur, India, and Chemical Engineering Division, National Chemical Laboratory, Pune 411 008, India
An ant colony optimization framework has been compared and shown to be a viable alternative approach to other stochastic search algorithms. The algorithm has been tested for variety of different benchmark test functions involving constrained and unconstrained NLP, MILP, and MINLP optimization problems. This novel algorithm handles different types of continuous functions very well and can be successfully used for large-scale process optimization. 1. Introduction Greater emphasis is now given in chemical process industries to improve manufacturing procedures with a view to producing chemicals at globally acceptable costs. Accurate models and optimization strategies are necessary for predicting the process behavior over the range of operating conditions and choosing the optimal one. A wide variety of deterministic optimization techniques are in vogue to solve process optimization problems. Many of these techniques have inherent disadvantages because they require continuous evaluation of derivatives and become prohibitively ill conditioned for large-scale problems. Recently several stochastic optimization techniques such as random and adaptive random search techniques and their refinements,1-2 including techniques such as simulated annealing and genetic algorithm,3-12 are becoming increasingly popular. In this paper we present a new framework called ant colony optimization and illustrate it by solving continuous optimization problems (both constrained and unconstrained). The representative examples solved include NLP, MILP, and MINLP problems. 2. Ant Colony Optimization: An Overview The natural metaphor on which ant algorithms are based is that of ant colonies. The approach aims at mimicking the way almost blind ants establish the shortest route from their nests to the food source and back. It is known13,14 that the ants use their pheromone trails as a medium for communicating information among them. A moving ant lays varying quantities of pheromone on its route and another randomly moving isolated ant can detect this marked pheromone trail. Further, it follows this trail with a very high degree of probability and simultaneously enhances the trail by depositing its own pheromone. More and more ants follow the pheromone rich trail and the probability of the trail being followed by other ants is enhanced by increased trail deposition. Blind ants lack artificial intelligence in the above process, but a collective autocatalytic behavior characterized by a positive feedback mechanism is responsible for establishing the shortest route. * Corresponding Author, e-mail
[email protected]. FAX: (91) (20) 5893041. † Indian Institute of Technology. ‡ National Chemical Laboratory.
The cooperative search behavior of real ants inspired the new computational paradigm for optimizing real life systems encountered in basic and applied sciences. The ant algorithm was originally used for solving large-scale combinatorial optimization problems15-17 including the Travelling Salesman Problem. Since then it has been applied to other optimization problems such as quadratic assignment problems, scheduling problems, supersequence problems, power system optimization, routing problems, heat and power optimization16-31 etc. The socalled artificial ants which were used to mimic the behavior of real ants by these authors differed in a few respects: (1) These ants are not completely blind. (2) They have some memory. (3) They live in an environment where time is discrete. Distributed cooperative search and positive feedback mechanisms were common to the real and the artificial ants employed in the works of these authors. Algorithms for continuous function optimization mimicking ant colony metaphor was first developed by Bilchev and Parmee32 and Bilchev et al.33 Attention in these works was devoted only on local search processes. Wodrich and Bilchev24 extended and modified the earlier algorithm to make it an effective global optimization procedure for continuous problem spaces. They introduced bilevel search procedures. As per their base ten coded ant algorithm (which we will henceforth denote as CACO), both local and global ants search and explore regions of the function space; and move to destinations of increasing fitness by repeatedly searching locally and globally. The important aspect, which characterizes the search procedure in CACO, is that the artificial ants select the regions to which they move with a selection probability proportional to the pheromone trail. We have further made some modifications in the basic CACO algorithm24 and found significant improvement in its performance. We present below the details of the ant algorithm, which we have subsequently applied for solving test problems. 2.1. The CACO Ant Algorithm. To apply the ant colony optimization methodology for the continuous function optimization problems, the domain has to be first divided into a specific number of, for example, R, randomly distributed regions. These regions are indeed the trial solutions and act as local stations for the ants to move into and explore. The fitness of these regions are first evaluated and sorted in the order of descending fitness. Totally, let us say that “A” number of ants explore these regions out of which G work as global ants
10.1021/ie990700g CCC: $19.00 © 2000 American Chemical Society Published on Web 09/14/2000
Ind. Eng. Chem. Res., Vol. 39, No. 10, 2000 3815
and L as local ants. Updating of the regions are done locally and globally with local search and global search mechanisms, respectively. The ratio of global to local ants is an important CACO parameter, which can be varied and is problem specific. Since our aim is to solve continuous function optimization problems we have used base 10 encoding to encode the position vectors of real numbers. 2.1.1. Local Search. The local search is started by setting the initial trail value equal to 1. The local ants have the capability of selecting regions proportional to the current pheromone value of these regions. The L local ants select L regions out of a total of R regions stochastically. The probability of selecting a region “i” is given by
Pi(t) )
τi(t)
∑k τk(t)
where “i” is the region index and τi(k) is the pheromone trail on region “i” at time t. After selecting the destination, the ant moves through a short distance. The direction of the movement will be same as that of the previous direction if there is an improvement in the fitness. If there is no improvement it searches in a random direction. If improvement in fitness is found in the above procedure the region’s position vectors are updated to the current position of the ant and the pheromone trail value is updated. The pheromone deposited by the ant will be proportional to the increase in fitness. If in the above search higher fitness is not obtained, the age of the region is increased. The age of a region is another important parameter in CACO algorithm. The size of the ant movement in the local search depends on the current age. The search radius is maximum for zero age and minimum for maximum age, with the variation in radius set to follow a linear relationship. 2.1.2. Global Search. The global search creates G new regions by replacing the weaker portions of the existing domain. The global search procedure essentially consists of two genetic algorithm type methods. In CACO terminology these are called random walk and trail diffusion. By the random walk procedure, the ants move to new regions in search of newer and richer stocks of food sources. In the CACO simulation such a global search in the entire domain is done by a process equivalent to (i) crossover operation (which combines existing parents to produce children) and (ii) mutation operations in GA. The crossover operation is done as follows. Select a parent randomly and set the first element of the child’s position vector to be the same as that of the first element of the parent’s position vector. The second element of the child’s position vector is set to the corresponding element of a randomly chosen another parent with a probability equal to the crossover probability, CP. Subsequent elements of the child’s position vector are chosen by the same procedure. Thus, for a crossover probability of one each element of the child’s position vector has a different parent. For a CP of zero the child is identical to the randomly chosen single parent. The mutation step in CACO is carried out by adding or subtracting a value stochastically with a probability proportional to the mutation probability. The mutation
step size is reduced as per the relation b
∆(T,MS) ) MS(1 - r(1-T) ) where “r” is a random number from 0 to 1, ”MS” is the maximum step size, “T” is the ratio of the current iteration number to that of the total number of iterations, and “b” is a positive parameter controlling the degree of nonlinearity. It can be seen that the mutation radius is nonlinearly reduced with increasing iterations. Such a scaling down is necessitated by decreased need for global search as the search progresses. The scaling down enables enhanced probability of locating maximum by concentrated search around a reduced search radius. The second global search procedure, viz., trail diffusion, is quite similar to arithmetic crossover in GA. In this step two parents are selected at random from the parent population space. The elements of the child’s position vector can have either (1) the corresponding element from the first parent, (2) the corresponding element from the second parent, or (3) a combination arrived at from a weighted average of the above
xi(child) ) (R).xi(parent1) + (1 - R).xi(parent2) where “R” is a uniform random number in the range 0-1. The probability of selecting third option is set equal to the mutation probability. Thus, if the mutation probability is 0.6, the probability of selecting the third option is 0.6 while the probability of selecting option 1 or 2 is 0.2 each. The division of G global ants deputed for searching by random walk and by mutation is again an important variable in the CACO algorithm. Once G new regions are created, it is mandatory for us to set the trail value of these new regions. It is a tough task to set the trail value of still unexplored regions; assigning the child region a trail value lying between the values of the original parent regions circumvents this difficulty. In real ant systems there is a process of food resource exhausting which causes the ants to lose interest. This feature is incorporated in the CACO algorithm by reducing the trail value of all regions by a certain value after each iteration step. With such a decrease the weaker regions are less likely to be selected as the simulation proceeds. The pheromone evaporation is carried out by24
τi(t + 1) ) F.τi(t) where “F” is the evaporation rate and “τi(t)” is the trail associated with region “i” at time t. We made some modifications in the above algorithm with a view to improve the convergence properties. Once the child regions are created, the fitness values of the regions are evaluated and the regions are sorted as per fitness. After this step in the original algorithm the local ants search the entire “R” regions with a probability proportional to the pheromone value of the regions. We, in our algorithm, selected only a percentage, “S” of the regions (leaving behind the weakest regions) for exploration by the local ants. In our simulations, we found a significant reduction in number of function evaluations required for convergence by adopting this selection procedure. The stepwise procedure can now be depicted as follows: L is the number of local agents. G is the number of global agents. Total number of ants, A ) L + G.
3816
Ind. Eng. Chem. Res., Vol. 39, No. 10, 2000
Table 1. Details of Unconstrained Test Functions
1. Create “R” regions. 2. Evaluate the function value of “R” regions. 3. Set the pheromone value equal to 1. 4. Set the age equal to 0. 5. Send “G” global ants to weakest regions. 6. Update the global maximum. 7. Send “L” local agents to the selected regions, as per fitness. 8. Move the ants a short distance (same as the direction of the previous iteration if fitness was improved in the last iteration, otherwise random direction). 9. If the fitness is improved, region is moved to ant’s position. 10. Deposit pheromone proportional to improvement. 11. If in step 11 there is no improvement, age of region is incremented. 12. Global maximum is updated. 13. In the global search, create “G” new regions by random walk and trail diffusion
G ) RW + TD where, RW is the number of regions created by the random walk process and TD is the number of regions created by the trail diffusion process. 14a. Random walk: This consists of (1) creating “RW” new regions (randomly) by a process analogous to crossover in GA with crossover probability and (2) adding a random step (analogous to mutation step in GA) with the mutation probability. After creating “RW” new regions, the trail value is assigned as the average of the trail values of the parents. 14b. Trail diffusion: “TD” new regions are created by selecting two parent regions randomly. 15. After each iteration, the trail value is reduced and set equal to trail (I) ) 0.9 trail (I - 1). 16. Repeat from step 5, until convergence. 3. Results and Discussions The ant colony algorithm has been tested on difficult benchmark unconstrained and constrained test func-
tions; involving NLP, MILP, and MINLP problems. All evaluations of the test functions have been cast as maximization problems; wherever necessary, the original minimization problems have been changed to maximization problems by negation. All simulations were performed in Fortran 77 with a 200MHZ Pentium PC. 3.1. Unconstrained Test Functions. Eight benchmark test functions varying from two to 10 dimensions were chosen to evaluate the performance of CACO algorithm. These functions are shown in Table 1. Depending upon the results available in the literature, comparisons are made with other algorithms such as discrete ant algorithm (DACO), GA, adaptive random search (ARS), hill climbing, population-based incremental learning (PBIL), etc.; wherever results are not available we computed the function evaluations ourselves using the genetic algorithm. As our computations use decimal coding it is difficult to compare the performance with binary coded algorithms. To circumvent this difficulty we computed the function evaluations by GA for bit accuracies in the range of 9-18 and population sizes in the range of 15-50 and took the best results for comparing with CACO. Single point crossover was employed for all GA simulations. For each function, 25 different runs with different initial seeds were taken to see the effect of reproducibility and reliability. The first test function chosen in our work was originally suggested by De Jong.24 For this function both CACO and GA are able to converge to the exact global optimum with 100% reliability. The number of function evaluations required by GA is 10 160 whereas CACO requires only 6000 function evaluations which is nearly 40% less than that required by GA. Function number 2 is Goldstein and Price’s34 test function, which is another test function used for bench marking evolutionary programs. We in our GA simulations found that 5662 function evaluations were necessary to converge to the global optimum. The ant colony algorithm took 5330 evaluations, and the success rate was 100%. Branin’s 34function (function number 3) is a multimodal function,
Ind. Eng. Chem. Res., Vol. 39, No. 10, 2000 3817
and CACO is able to locate the optimum in 1936 function evaluations where as GA requires 7325 function evaluations, which is approximately three and a half times more than that required by CACO. Function number 4 is one of the functions tested by Martin and Gaddy2 to evaluate their adaptive random search method. They have reported that the adaptive random search technique requires only 152 evaluations although the success rate is not always 100%; it depends on initial starting regions. For this function both CACO and GA converge to the optimum with CACO requiring slightly less number of function evaluations. Functions 5 and 6 were originally suggested by Rosenbrock35 as examples in two and four dimensions. These are considered to be benchmark test functions because they exhibit steep sided parabolic valleys. These two problems have already been solved by a combination of the well-known deterministic simplex method and the stochastic simulated annealing optimization procedure35 (SIMPSA and NESIMPSA). Looking at the results in Table 3, we find that CACO and GA show 100% convergence to Global optimum in the 25 independent runs with different seeds. The function evaluations required for GA is approximately 30% higher than that required by CACO algorithm for function number 5. For function number 6, the GA did not converge to the global optimum. Only one version of the deterministic stochastic combination, i.e., NESIMPSA required less number of function evaluations for both these Rosenbrock functions. For the 4D Rosenbrock function even this method (NESIMPSA) does not give a 100% success. Its convergence rate is around 94%. For function number 7, which is a spherical function, GA performs slightly better than CACO algorithm. Griewangk’s24 10D function (function number 8) is highly multimodal and has many like-sized peaks near the origin which makes this function a difficult objective function to handle. Convergence behavior of this function by different algorithms as computed earlier24 is shown in Table 5. For this function the CACO attains the global optimum in 50000 function evaluations whereas the GA even after 200000 function evaluations reaches a value of 3.52, which is far from the global maximum of 10.00. 3.2. Constrained function Optimization. It is wellknown in the evolutionary optimization literature that it is rather difficult to solve problems, which include both linear and nonlinear constraints. Several approaches for tackling constrained optimization problems using a stochastic approach exist. The simplest method is to restrict the search procedure only to the feasible regions satisfying the constraints. This is usually done by using greedy decoders or repair mechanisms or by designing special codes, which incorporate information about constraints. In many situations such a methodology of outright rejecting infeasible solutions becomes impractical and prohibitively costly. This is especially so for problems involving many active constraints. One alternative method of initially accepting infeasible solutions is the penalty function approach. In this approach the search is modified by converting the original problem as an unconstrained optimization problem. This is achieved by adding penalty term proportional to the degree of constraint violation. In this work we modified the original objective function as
P(x, v) ) f(x) + w(v, g) where f(x) is the original objective function and w is the
penalty term given by
w ) -v(g(x))2 with g(x) as constraint violation and v as the penalty weighing parameter. From above, it is clear that the weighted subtraction of the penalty term from the original function is done only in the case of constraint violation. While implementing the above-mentioned procedure in the CACO algorithm, runs were started with a small value of the penalty parameter v that was subsequently increased gradually with further iteration steps. The seven test functions with constraints selected for evaluating CACO performance are shown in Table 2 and the corresponding results are shown in Table 4. The first test function involves the maximization of drying rate for a through circulation dryer.2,36 Martin and Gaddy2 solved this problem by adaptive random search (ARS) and required an average of 564 function evaluations to come to within 0.1% of the global optimum with a success ratio of 100% where as the CACO algorithm requires 300 function evaluations. For a comparable performance level GA requires 1680 function evaluations. Function 2 is a geometric problem subjected to two inequality constraints. The adaptive random search procedure (ARS) requires less than 4000 function evaluations whereas CACO algorithm requires 6760 evaluations. Here again the performance of GA is inferior to both ARS and CACO. Function 3 is a wellknown Homaifar function, and the results of the performance of various evolutionary programming techniques including CACO are shown in Table 8. Function number 4 is a nonconvex NLP problem37 and the presently available deterministic techniques very often do not lead to global solution. Both GA and CACO perform very well for this nonconvex test function and reaches to within 0.1% of the global optimum. GA’s performance is better for this function and takes about 50% less number of evaluations than required by CACO. Function 5 is a four variable function with global minima at -44. The ant algorithm performs better than GA, as CACO requires lesser number of function evaluations with better accuracy. Function number 6 is a mixed integer linear programming problem (MILP) encountered in reactor optimization.7 For this function the CACO converges to within 0.1% of the global optimum in only 6380 function evaluations, while GA requires 11140 evaluations. Recent advances in optimization techniques have made it possible to obtain solutions of MILP and MINLP problems with reasonable computational efforts. Both deterministic and stochastic methods are available.39-41 We have tested a function involving mixed integer nonlinear programming problem38 (MINLP). It has three binary and two continuous variables and requires special efforts. In our simulations both GA and CACO do not encounter any difficulties for converging to the global optimum. CACO has taken 10 500 function evaluations whereas GA has taken about 50% more evaluations to arrive at the optimum. Function 8 is a six-variable problem taken from Michalewicz42 and is considered to be yet another benchmarking test function for evolutionary algorithms. CACO requires 54000 function evaluations to reach the exact global optima whereas GA was off target by 0.2% in 73050 function evaluations. Function 9 is also a MINLP problem which has four integer and three continuous variables with
3818
Ind. Eng. Chem. Res., Vol. 39, No. 10, 2000
Table 2. Details of Constrained Test Functions sr no.
reference 2
1
Dryer
2
Martin and Gaddy2
3
Homaifar24
4
Floudas37
5
Martin and Gaddy2
6
Biegler7
7
Floudas37
8
Michalewicz42
9
10
Salcedo39
Michalewicz43
test function
global optimum
max F ) 0.033x1/H where H ) 0.036/F + 0.095 - 9.27(10-4)/E(ln(G/F)) G ) 1 - exp(-5.39E) F ) 1 -exp(-107.9E) E ) x2/x10.41 subject to 0.2 - 4.62(10-10)x12.85x2 + 1.055(10-4)x1 g 0 4/12 - 8.2(10-7)x11.85x2 - 2.25/12 g 0 max F ) x12 + x22 + x32 subject to 4(x1 - 0.5)2 + 2(x2 - 0.2)2 + x32 + 0.1x1x2 + 0.2x2x3 e 16 2x12 + x22 - 2x32 g 2 max F ) -((x1 - 2)2 - (x2 - 1)2 subject to x1 - 2x2 + 1 ) 0 - (x12/4) - x22 + 1 g 0 min F ) -12x1 - 7x2 + x22 subject to - 2x14 + 2 - x2 - 0 min F ) x12 + x22 + 2x32 + x42 - 5x1 - 5x2 - 21x3 + 7x4 subject to x12 + x22 + x32 + x42 + x1 - x2 + x3 - x4 - 8 e 0 x12 + 2x22 + x32 + 2x42 - x1 - x4 - 10 e 0 2x12 + x22 + x32 + 2x1 - x2 - x4 - 4 e 0 min F ) 7.5y1 + 6.4x1 + 5.5y2 + 6.0x2 subject to 0.8x1 + 0.67x2 ) 10 x1 - 20y1 e 0 x2 - 20y1 e 0 x1, x2 g 0 y1, y2 ) {0,1} min F ) 2x1 + 3x2 + 1.5y1 + 2y2 - 0.5y3 subject to (x1)2 + y1 ) 1.25 (x2)1.5 + 1.5y2 ) 3 x1 + y1 e 1.6 1.333x2 + y2 e 3 -y1 - y2 + y3 e 0 x1, x2 g 0 y1, y2, y3 ∈ {0,1} min F ) -10.5x1 - 7.5x2 - 3.5x3 - 2.5x4 5 1.5x5 - 10x6 - 0.5∑i)1 xi2 subject to 6x1 + 3x2 + 3x3 + 2x4 + x5 e 6.5 10x1 + 10x3 + x6 e 20 mnF ) (y1 - 1)2 + (y2 - 2)2 + (y3 - 1)2 - log(y4 + 1) + (x1 - 1)2 + (X2 - 2)2 + (X3 - 3)2 subject to y1 + y2 + y3 + x1 + x2 + x3 e 5 y32 + x12 + x22 + x32 e 5.5 y1 + x1 e 1.2 y2 + x2 e 1.8 y3 + x3 e 2.5 y4 + x1 e 1.2 y22 + x22 e 1.64 y32 + x32 e 4.25 y22 + x32 e 4.64 min F ) (x1 - 10)2 + 5(x2 - 12)2 + x34 + 3(x4 - 11)2 + 10x56 + 7x62 + x74 - 4x6x7 - 10x6 - 8x7 subject to 127 - 2x12 - 3x24 - x3 - 4x42 - 5x5 g 0 196 - 23x1 - x22 - 6x62 + 8x7 g 0 282 - 7x1 - 3x2 - 10x32 - x4 + x5 g 0 - 4x12 - 2x22 + 3x1x2 - 2x32 - 5x6 + 11x7 g 0
nine constraints. CACO reaches exact global optima within 10200 evaluations. In our simulations GA could converge to within 2% of the optimum in 16240 evaluations. Function 10 is a seven variable function with four constraints. CACO converges to within 0.04% of the global optimum only in 36250 function evaluations whereas GA required 51020 function evaluations. Simulations were also conducted with varying CACO parameters such as mutation probability, distribution
X[977.12,0.523] F ) 172.5
X[0.989,2.674, -1.884] F ) 11.68 X[0.8229258, 0.9114892] F ) -1.3777 X[0.718,1.47] F ) -16.7389 X[0,1,2,-1] F ) -44
X[12.5006,0] Y[1,0] F ) 87.5
X[1.118,1.310] Y[0,1,1] F ) 7.667
X[0,1,0,1,1,20] F ) -213 X[0.2,0.8,1.908] Y[1,1,0,1] F ) 4.5796
X[2.330499,1.951372,-0.4775414,4.365726, -6244870,1.038131,1.594227] F ) 680.6300573
of global and local ants, crossover probability, nonlinearity parameter b and the parameter S, i.e., the percentage of regions selected for local search. The results of the computations are shown in Figures 1-5. Figure 1 shows the effect of change in mutation probability on the dynamic behavior of CACO. It can be observed that except for mutation probability equal to zero the algorithm reaches the global optimum value with a good degree of accuracy and the best performance
Ind. Eng. Chem. Res., Vol. 39, No. 10, 2000 3819 Table 3. Comparison of CACO Performance with Different Algorithms (Unconstrained Functions)
sr no.
search interval
1 2 3
X[-2.048,2.048] X[-2,2] X1[-5,10] X2[0,15] X[0,10] X[-1.2,1.2] X[-10,10] X[-1.2,1.2] X[-5.12,5.12] X[-512,512]
4 5 6 7 8
SIMPSA % success
SIMPSA no. of function evals
NE SIMPSA % success
NE SIMPSA no. of function evals
GA % success
GA no. of function evals
ANTS % success
ANT no. of function evals
** ** **
**** **** ****
**** **** ****
**** **** ****
100 100 100
10160 5662 7325
100 100 100
6000 5330 1936
** 100 100 99 ** **
*** 10780 12500 21177 *** ***
**** 100 100 94 *** ***
**** 4508 5007 3053 **** ****
100 100 **** **** 100 100
2844 10212 **** **** 15486 200000
100 100 100 100 100 100
1688 6842 7507 8471 22050 50000
Table 4. Comparison of CACO Performance with Different Algorithms Constrained functions) search interval
GA % success
GA function evals
GA % deviation
GA function value (av)
ANTS % success
x1[800,1000] x2[0.1,1] x1,x2[-2.3,2.7] x3[-2,2] x1[-1.82,0.82] x2[-0.41,0.92] x1[0,2] x2[0,3] x1,x2,x3[0,2] x4[-2,2] x[0,20], y{0,1} x[0,2] y{0,1} x[0,1] yg0 x1[0,1.2], y{0,1} x2[0,1.281] x3[0,2.062] x[-10,10]
100
1680
0.2023
171.15
100
300
0.7403
171.22306
100
36680
0.1541
11.662
100
6760
0.0093
11.67891
100
40000
4.079
-1.4339
100
4000
0.000
-1.3777
100
813
0.0066
-16.7378
100
1340
0.0174
-16.7368
100
11440
0.2272
-43.90
100
6380
0.1614
-43.929
100 100
6590 15045
0.0366 0.039
100 100
5910 10500
0.0211 0.2805
100
73050
0.188
100
54000
0.0000
100
16240
1.908
4.667
100
10200
0.0000
4.5796
100
51020
0.0577
681.023
100
36250
0.0393
680.8977
sr no. 1 2 3 4 5 6 7 8 9 10
Table 5. Performance of Different Algorithms for Griewangk’s Function24 method
evaluations
average maximum
DACO hill-climbing PBIL GA CACO
50000 200000 200000 200000 50000
10.0 10.0 5.49 3.52 10.0
Table 6. CACO Parameters for Unconstrained Problems sr total no. mutation crossover evap no. of ants regions prob prob rate 1 2 3 4 5 6 7 8
100 150 40 40 150 100 100 100
200 200 60 60 200 200 200 200
0.5 0.6 0.5 0.5 0.5 0.6 0.5 0.5
1 0.2 1 0.3 0.8 0.5 1 1
0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9
nonlinearity of random walk (b) 10 0.0001 10 10 10 10 10 10
is obtained for a value of mutation probability equal to 0.5. Figure 2 shows the effect of distribution of ants deputed for global and local search. The best result is obtained for a distribution of 80% global and 20% local ants while for other combinations either it requires more function evaluations or it never reaches to optimum function value. Figure 3 shows the effect of change in crossover probability on number of evaluations required to get optimum function value. For the function chosen, viz., the spherical function (function number 7 in Table 1.), crossover probability of one gives the optimum function value within less number of function evaluations than others. Figure 4 shows the effect of change
87.532 7.664 -212.6
ANTS function evals
ANTS % deviation
ANTS function value (av)
87.51843 7.6455 -213
Table 7. CACO Parameters for Constrained Problems sr no.
total ants
1 2 3 4 5 6 7 8 9 10
100 100 40 100 100 100 100 100 100 120
regions
mutation prob
crossover prob
evap rate
nonlinearity of random walk b
200 200 60 200 200 200 200 200 200 250
0.8 0.9 0.9 0.9 0.5 0.5 0.5 0.5 0.2 0.2
0 1 1 1 1 1 1 1 0.6 0.6
0.8 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9 0.9
10 10 10 10 10 10 10 10 10 10
Table 8. Result for Homaifar’s Function24 method
evaluations
average maximum
CACO EP GA DACO
4000 4000 40000 4000
-1.3777 -1.3789 -1.4339 -1.4609
in nonlinearity parameter b. It can be observed that for a value equal to five for this parameter we get the optimum function value with the least number of function evaluations as compared to other values. Figure 5 shows the effect of varying the number of regions selected for local search. For Branin’s function (function number 3 in Table 1.) the number of function evaluations decreases with decrease in percentage of regions. The best value is obtained when 40% regions are selected. Any further reduction in the percentage of regions affects the performance of the algorithm and the success rate in reaching the optimum was as low as 60%. The function evaluations required for various
3820
Ind. Eng. Chem. Res., Vol. 39, No. 10, 2000
Figure 1. Effect of change in mutation probability, MP (sphere model).
Figure 2. Effect of change in fraction, f, of global ants (sphere model).
functions using the modified and the original CACO algorithm are reported in Table 9. From the table, it can be seen that it is possible to minimize the function evaluations by restricting the local search for functions
Figure 3. Effect of change in crossover probability, CP (sphere model).
Figure 4. Effect of change in nonlinearity, b, in random walk (sphere model).
with small size. For functions with larger size and with multiple minima, however, caution must be exercised while restricting the search space. Parameters for which the algorithm required the least number of evaluations to give most accurate optimal
Ind. Eng. Chem. Res., Vol. 39, No. 10, 2000 3821
4. Conclusions The ant colony optimization algorithm is a powerful and yet simple and effective framework for handling different types of continuous optimization problems. For a majority of the functions tested the algorithm has performed very well and rapidly converges to within a percent of the global optimum. The new algorithm thus provides an interesting stochastic optimization environment, which can be used either separately or in combination with existing deterministic algorithms for solving a large class of process optimization problems. More effective combinations of local search and global search procedures and use of parallel codes will further strengthen the efficacy of the ant algorithm. Literature Cited
Figure 5. Effect of change in percent of regions selected, S, for local search (Branin’s function). Table 9. Comparison between CACO24 and Modified CACO for Unconstrained Functions
function no. 1 2 3 4 5 6 7 8 a
% regions selected for local search in modified CACOa
function evaluations required by modified CACO
% regions selected for local search in CACO
function evaluations required with CACO
100 100 40 60 80 80 60 60 100
6000 5330 1936 1688 6842 7507 8471 22050 50000
100 100 100 100 100 100 100 100 100
6000 5330 3700 2180 8000 18250 8800 22600 50000
Present work
value of test functions are listed in Tables 6 and 7. A value of 10 for nonlinearity of random walk and the value of 0.9 for evaporation rate gave the best performance for most of the problems. This leaves four other adjustable parameters viz. the total number of regions, total number of ants and mutation and crossover probability. The total number of regions depends on the dimension of problem and typically 200 regions will be sufficient for most normal size of problems. The total number of ants deputed for global and local search would typically be in the range of 50-60% of the regions. The mutation probability for different problems reported here, was varied over the range but a value of 0.5 was generally seen to require the least number of evaluations. For all other values the algorithm reaches global optima but takes more number of evaluations. In a similar fashion crossover probability of 1.0 gave very good results.
(1) Heuckroth, M. W.; Gaines, L. D.; Gaddy, J. L. An examination of the Adaptive Random Search Technique. AICHE. 1976, 22, 744. (2) Martin, D. L.; Gaddy, J. L. Process optimization with the Adaptive Randomly Directed Search. AICHE Symp. Ser. 1982, 214, 99. (3) Ku, H. M.; Karimi, I. An evaluation of Simulated Annealing for batch scheduling. Ind. Eng. Chem. Res. 1991, 30, 163. (4) Cardoso, M. F.; Salcedo, R. L.; De Azevedo, S. F. Non equilibrium simulated annealing: faster approach to combinatorial optimization. Ind. Eng. Chem. Res. 1994, 33, 1908. (5) Doma, M. J.; Taylor, P. A.; Vermeer, P. J. Closed loop identification of MPC models for MIMO processes using Genetic Algorithms and dithering one variable at a time: Application to an Industrial Distillation tower. Comput. Chem. Eng. 1996, 20, S1035. (6) Athier, G.; Floquet, P.; Piboulea, L. Process optimization by simulated annealing and NLP procedures. Application to heat exchanger network synthesis. Comput. Chem. Eng. 1997, 21, S475. (7) Biegler, L. T.; Grossmann, I. E.; Westerberg, A. W. Systematic methods of chemical process design; Prentice Hall PTR: Englewood Cliffs: NJ, 1997. (8) Cordero, J. C.; Davin, A.; Floquet, P.; Pibouleau, L.; Domenech, S. Synthesis of optimal reactor networks using mathematical programming and simulated annealing. Comput. Chem. Eng. 1997, 21, S47. (9) Maia, L. O.; Qassim, R. Y. Synthesis of utlity systems with variable demands using Simulated Annealing. Comput. Chem. Eng. 1997, 21, 940. (10) Murakami, Y.; Uchiyam, H.; Hascbe. S.; Hashimoto, I. Application of repetitive SA method to scheduling problems of chemical processes. Comput. Chem. Eng. 1997, 21, S1087. (11) Quanshi, X.; Macchietto, S. Design and synthesis of batch plants MINLP solution based on a stochastic method. Comput. Chem. Eng. 1997, 21, S697. (12) Tayal, M. C.; Yan Fu; Diwekar, U. M. Optimal design of heat exchangers: a Genetic Algorithm framework. Ind. Eng. Chem. Res. 1999, 38, 456. (13) Goss, S.; Aron, S.; Deneubourg, J. L.; Pasteels, J. M. Selforganised shortcuts in the argentine ant. Naturwissenschaften. 1989, 76, 579. (14) Beckers, R.; Deneubourg, J. L.; Goss, S. Trails and U-turns in the selection of the shortest path by the ant Lasius Niger. J. Theor. Biol. 1992, 159, 397. (15) Colorni, A.; Dorigo, M.; Maniezzo, V. Distributed optimization by ant colonies. In Proceedings ECAL91sEuropean Conference on Artificial Life. Elsevier: New York; 1991; p 134. (16) Dorgio, M. Optimization, learning and natural algorithms. Ph.D. dissertation, DEI, Politcnico di Milano, Italy, 1992. (17) Dorigo, M.; Maniezzo, V.; Colorni, A. The ant system: optimization by a colony of cooperating agents. IEEE Trans. Syst., Man., Cybern. B 1996, 26, 29. (18) Maniezzo, V.; Colorni, A.; Dorigo, M. The ant system applied to the quadratic assignment problem. Universite´ Libre de Bruxelles, Belgium, Technol. Rep. JRIDIA/94-28, 1994. (19) Bennett, F. H.; III. Emergence of a multi-agent architecture and new tactics for the ant colony food foraging problem using genetic programming. From Animals to Animats 4. Proceedings
3822
Ind. Eng. Chem. Res., Vol. 39, No. 10, 2000
of the Fourth International Conference on Simulation of Adaptive Behavior; MIT Press: Cambridge, MA, 1996; p 430. (20) Gambardella, L. M.; Taillard, E.; Dorigo, M. Ant colonies for QAP. IDSIA, Lugano, Switzerland, Technol. Rep. IDSIA 974, 1997. (21) Dorigo, M.; Gambardella, L. M. Ant colony system: A cooperative learning approach to the travelling salesman problem. IEEE Trans. Evol. Comput. 1997, 1, 53. (22) Chou, C. S.; Song, Y. H. Ant Colony-Tabu approach for combined heat and power economic dispatch. 32nd Universities Power Engineering Conference. UPEC ’97; UMIST: Manchester, U.K., 1997; Vol. 2, p 605. (23) Kamp, Y. Social insects with memory. Biol. Cybernetics 1997, 77, 447. (24) Wodrich, M.; Bilchev, G. Cooperative distributed search: the ants’ way. Control Cybernetics 1997, 26, 413. (25) Stutzle, T. Parallelization strategies for ant colony optimization. Parallel Problem Solving from Nature - PPSN V. 5th International Conference; Proceedings; Springer-Verlag: Berlin, 1998; p 722. (26) Michel, R.; Middendorf, M. An island model-based ant system with look ahead for the shortest super sequence problem. Parallel Problem Solving from Nature - PPSN V. 5th International Conference; Proceedings; Springer-Verlag: Berlin, 1998; p 692. (27) Parmee, I. C. Evolutionary and adaptive strategies for efficient search across whole system engineering design hierarchies. [AI EDAM] Artif. Intell. Eng. Des., Anal. Manuf. 1998, 12, 431. (28) Peng Sijun; Huang Zhangcan; Liu Daohai; Huang Xiaowei. Ant colony system: a new algorithm for TSP. J. Wuhan Automotive Polytech.Univ. 1998, 20, 88. (29) Song, Y. H.; Chou, C. S. Application of ant colony search algorithms in power system optimization. IEEE Power Eng. Rev. 1998, 18, 63. (30) Di Caro, G.; Dorigo, M. Mobile agents for adaptive routing. Proc. Thirty-First Hawaii Int. Conf. Syst. Sci. IEEE: Comput. Soc. 1998, 7, 74. (31) In-Keun Yu; Chou, C. S.; Song, Y. H. Application of the ant colony search algorithm to short-term generation scheduling problem of thermal units.POWERCON ’98. 1998 International Conference on Power System technology; Proceedings; IEEE: New York, 1998; p 552.
(32) Bilchev, G.; Parmee, I. The ant colony metaphor for searching continuous design spaces. In Lecture Notes in Computer Science; Fogarty, T., Ed.; Springer-Verlag: Berlin, 1995, Vol. 993, 25. (33) Bilchev, G.; Parmee, I.; Darlow, A. The inductive genetic algorithm with applications to the fault coverage test code generation problem. Fourth European Congress on Intelligent Techniques and Soft Computing; Proceedings, EUFIT ’96, Verlag Mainz: Mainz, Germany, 1996; Vol. 1, p 452. (34) Xin Y.; Yong, L. Fast evolution strategies. Control Cybernetics 1997, 26, 465. (35) Cardoso, M. F.; Salcedo, R. L.; De Azevedo, S. F. The simplex-simulated annealing approach to continuous nonlinear optimization. Comput. Chem. Eng. 1996, 20, 1065. (36) Chung, S. F. Mathematical model and optimization of Drying process for a Through-Circulation Dryer. Can. J. Chem. Eng. 1972, 50, 657. (37) Floudas, C. A.; Aggarwal, A.; Ciric, A. R. Global optimum search for non convex NLP and MINLP problems. Comput. Chem. Eng. 1989, 13, 1117. (38) Kocis, G. R.; Grossmann, I. E. Global optimization of non convex MINLP problems in process synthesis. Ind. Eng. Chem. Res. 1988, 27, 1407. (39) Salcedo, R. L. Solving nonconvex nonlinear programming and mixed integer nonlinear programming problems with adaptive random search. Ind. Eng. Chem. Res. 1992, 31, 262. (40) Cardoso, M. F.; Salcedo, R. L.; De Azevedo, S. F.; Barbosa, D. A simulated annealing approach to the solution of MINLP problems. Comput. Chem. Eng. 1997, 21, 1349. (41) Smith, E. M. B.; Pantelides, C. C. Global optimization of nonconvex MINMLPs. Comput. Chem. Eng. 1997, 21, s791. (42) Michalewicz, Z. Genetic algorithms + data structures ) evolution programs; Springer-Verlag: New York, 1992. (43) Michalewicz, Z.; Schoenauer, M. Evolutionary algorithms for constrained parameter optimization problems. Evol. Comput. 1996, 4, 1.
Received for review September 21, 1999 Accepted July 22, 2000 IE990700G