IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is...

23
ASIAN JOURNAL OF CIVIL ENGINEERING (BUILDING AND HOUSING) VOL. 11, NO. 6 (2010) PAGES 675-697 IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN PROBLEMS A. Kaveh *a and S. Talatahari b a Centre of Excellence for Fundamental Studies in Structural Engineering, Iran University of Science and Technology, Tehran, Iran b Department of Civil Engineering, University of Tabriz, Tabriz, Iran ABSTRACT Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems. The Imperialist Competitive Algorithm is based on a socio-politically inspired optimization strategy. This paper presents four different variants of this algorithm. These methods are applied to some engineering design problems and a comparison is made among the results of these algorithms and other meta-heuristics. The results show the efficiency and capabilities of the ICA in finding the optimum design. Keywords: Imperialist competitive algorithm; meta-heuristic algorithms; engineering design problems 1. INTRODUCTION In the recent decades, many mathematical algorithms have been developed to solve various engineering optimization problems. However due to some disadvantages of these methods to handle engineering problems [1], meta-heuristic algorithms, such as Genetic Algorithms (GAs) proposed by Holland [2] and Goldberg [3], Particle Swarm Optimization (PSO) developed by Eberhart and Kennedy [4], Ant Colony Optimization (ACO) formulated by Dorigo et al. [5], Harmony Search (HS) suggested by Geem et al. [6], Big Bang–Big Crunch algorithm (BB–BC) proposed by Erol and Eksin [7] and improved by the authors [8], and Charged System Search (CSS) developed by Kaveh and Talatahari [9-11] are widely utilized for solving optimization engineering design problems. These methods are mostly powerful tools for obtaining the solution of optimization problems. Recently a new meta-heuristic algorithm, so called Imperialist Competitive Algorithm (ICA) is proposed by Atashpaz et al. [12,13] and applied to structural optimum design by the Kaveh and Talatahari [14]. ICA is a socio-politically motivated optimization algorithm which is similar to many other evolutionary algorithms, and starts with a random initial population or empires. Each individual agent of an empire is called country and the * E-mail address of the corresponding author: [email protected] (A. Kaveh)

Transcript of IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is...

Page 1: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

ASIAN JOURNAL OF CIVIL ENGINEERING (BUILDING AND HOUSING) VOL. 11, NO. 6 (2010) PAGES 675-697

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN PROBLEMS

A. Kaveh*a and S. Talataharib

aCentre of Excellence for Fundamental Studies in Structural Engineering, Iran University of Science and Technology, Tehran, Iran

bDepartment of Civil Engineering, University of Tabriz, Tabriz, Iran

ABSTRACT

Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems. The Imperialist Competitive Algorithm is based on a socio-politically inspired optimization strategy. This paper presents four different variants of this algorithm. These methods are applied to some engineering design problems and a comparison is made among the results of these algorithms and other meta-heuristics. The results show the efficiency and capabilities of the ICA in finding the optimum design.

Keywords: Imperialist competitive algorithm; meta-heuristic algorithms; engineering design problems

1. INTRODUCTION

In the recent decades, many mathematical algorithms have been developed to solve various engineering optimization problems. However due to some disadvantages of these methods to handle engineering problems [1], meta-heuristic algorithms, such as Genetic Algorithms (GAs) proposed by Holland [2] and Goldberg [3], Particle Swarm Optimization (PSO) developed by Eberhart and Kennedy [4], Ant Colony Optimization (ACO) formulated by Dorigo et al. [5], Harmony Search (HS) suggested by Geem et al. [6], Big Bang–Big Crunch algorithm (BB–BC) proposed by Erol and Eksin [7] and improved by the authors [8], and Charged System Search (CSS) developed by Kaveh and Talatahari [9-11] are widely utilized for solving optimization engineering design problems. These methods are mostly powerful tools for obtaining the solution of optimization problems.

Recently a new meta-heuristic algorithm, so called Imperialist Competitive Algorithm (ICA) is proposed by Atashpaz et al. [12,13] and applied to structural optimum design by the Kaveh and Talatahari [14]. ICA is a socio-politically motivated optimization algorithm which is similar to many other evolutionary algorithms, and starts with a random initial population or empires. Each individual agent of an empire is called country and the

* E-mail address of the corresponding author: [email protected] (A. Kaveh)

Page 2: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

A. Kaveh and S. Talatahari

676

countries are categorized into two types; colony and imperialist state that collectively form empires. Imperialistic competitions among these empires form the basis of the ICA. During this competition, weak empires collapse and powerful ones take possession of their colonies. Imperialistic competitions converge to a state in which there exists only one empire and its colonies are in the same position and have the same cost as the imperialist [13].

This article utilizes ICA for the solution of some engineering problems. In order to fulfill this aim, four different ICA-based methods are developed. Some changes on the original ICA are performed to improve the exploration and exploitation abilities of the algorithm. There are some constraints in the engineering design problems which must be handled. Several techniques are available to handle the constraints for meta-heuristic algorithms. The feasible-based constrained approach is one of the powerful and reliable approaches used by many researchers [15]. In this paper, a modified feasible-based mechanism handles the constraints [16]. Simulation results and comparisons based on various well-known constrained engineering design problems demonstrate the efficiency of the present algorithm and its variants.

2. ENGINEERING OPTIMIZATION PROBLEMS

2.1 Statement of the optimization design problem Many engineering design problems can be formulated as constrained optimization problems:

dixxx

nkxh

njxg

xfx

ii

h

gj

,....,2,1

,....,2,1 0})({

,....,2,1 0})({

:subject to

})({ minimize to}{ find

max,mini,

k

cost

(1)

where Tdxxxx ],...,,[}{ 21 denotes the decision vector; costf is the cost function

(objective function); mini,x and maxi,x are the minimum and the maximum permissible

values for the ith variable, respectively; ng is the number of inequality constraints and nh is the number of equality constraints. In common practice, an equality constraint 0})({k xh

can be replaced by an inequality constraint 0|})({| k xh , where is a small tolerant amount. Thus all constraints can be transformed into inequality constraints [17].

2.2 Constraint handling approach The aim of a constraint optimization is to search for feasible solutions with better objective values. }{x is a feasible solution if it satisfies all the constraints. In this paper, a modified feasible-based mechanism is utilized to handle the constraints which can be described as follows [16]:

Page 3: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN...

677

Level 1: Any feasible solution is preferred to any infeasible solution. Level 2: Infeasible solutions containing slight violence of the constraints (from 0.01 in

the first iteration to 0.001 in the last iteration) are considered as feasible solutions. Level 3: Between two feasible solutions, the one having better objective function value

is preferred. Level 4: Between two infeasible solutions, the one having smaller sum of constraint

violation is preferred. This sum is calculated as

hg n

jj

n

jj xhxgViol

11

|})({|,0max})({,0max (2)

By using feasible-based rule in the first and fourth levels, the search tends to the feasible

region rather than infeasible region, and in the third level the search tends to the feasible region with good solutions. For most of the engineering optimization problems, the global minimum is located on or close to the boundary of a feasible design space. Applying the level 2, the particles will approach to the boundaries and can fly to the global minimum with a higher probability.

3. IMPERIALIST COMPETITIVE ALGORITHM IMPLEMENTATION

As an alternative to the conventional mathematical approaches, the meta-heuristic optimization techniques have widely been utilized and improved to obtain engineering optimum design solutions. Many of these methods are created by the simulation of the natural processes. As an example, GA is a particular evolutionary algorithm, which aims at simulating natural genetic variation and natural selection. The inspiration source of PSO, formulated by Edward and Kennedy in 1995 [4], is the social behavior of animals such as bird flocking or fish schooling. Ant Colony Ooptimization simulates the foraging behavior of real ants. Harmony Search imitates the musical performance process which takes place when a musician searches for a better state of harmony. As another example, Big Bang–Big Crunch algorithm relies on one of the theories of the evolution of the universe. Also, Charged System Search utilizes the governing laws of physics and mechanics, [9]. This paper presents a new optimization algorithm which contrary to the above mentioned methods, is not based on phenomena from the nature.

3.1 General aspects [13] ICA simulates the social political process of imperialism and imperialistic competition. This algorithm is population based process in which each individual of the population is called a country. Some of the best countries (in optimization terminology, countries with lower cost) are selected to be the imperialist states and the remaining countries form the colonies of these imperialists. All the colonies of initial countries are divided among the imperialists based on their power. The power of each country, the counterpart of fitness value, is inversely proportional to its cost. The imperialist states together with their colonies form

Page 4: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

A. Kaveh and S. Talatahari

678

some empires. After forming initial empires, the colonies in each empire start moving toward their

relevant imperialist country. This movement is a simple model of assimilation policy which was pursued by some of the imperialist states. The total power of an empire depends on both the power of the imperialist country and the power of its colonies. This fact is modeled by defining the total power of an empire as the power of the imperialist country plus a percentage of mean power of its colonies.

Then the imperialistic competition begins among all the empires. Any empire that is not able to succeed in this competition and cannot increase its power (or at least prevent losing its power) will be eliminated from the competition. The imperialistic competition will gradually result in an increase in the power of the powerful empires and a decrease in the power of weaker ones. Weak empires will loose their power and ultimately they will collapse. The movement of colonies toward their relevant imperialist states along with competition among empires and also the collapse mechanism will hopefully cause all the countries to converge to a state in which there exist just one empire in the world and all the other countries are colonies of that empire. In this ideal new world, colonies will have the same position and power as the imperialist. 3.2 Original ICA Each agent or country is formed of an array of variable values and the related cost of a country is found by evaluation of the cost function fcost of the corresponding variables using Eq. (1). Total number of initial countries is set to Ncountry and the number of the most powerful countries to form the empires is taken as Nimp. The remaining Ncol of the initial countries will be the colonies each of which belongs to an empire. In this paper, 10 percent of countries belong to empires and the remaining are used as colonies. To form the initial empires, the colonies are divided among imperialists based on their power. That is, the number of colonies of an empire should be directly proportionate to its power. In order to proportionally divide the colonies among imperialists, the normalized cost of an imperialist is defined as

)( ),(cos

),(cos max iimp

ti

nimptn ffC (3)

where ),(cos

nimptf is the cost of the nth imperialist and Cn is its normalized cost. The initial

colonies are divided among empires based on their power or normalized cost, and for the nth empire it will be as follows

colN

ii

nn N

C

CRoundNC

imp

1

(4)

where NCn is the initial number of colonies associated to the nth empire which are selected randomly among the colonies. These colonies along with the nth imperialist form the nth empire.

Page 5: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN...

679

In ICA, the assimilation policy, pursued by some of former imperialist states, is modeled by moving all the colonies toward the imperialist. This movement is shown in Figure 1(a) in which a colony moves toward the imperialist by a random value that is uniformly distributed between 0 and β×d:

}{),0(}{}{ 1VdUxx oldnew (5)

where β is a parameter greater than 1 and d is the distance between colony and imperialist. β>1 causes the colonies to get closer to the imperialist state from both sides. β >>1 gradually results in a divergence of colonies from the imperialist state, while a very close value to 1 for β reduces the search ability of the algorithm. }{ 1V is a vector which its start point is the previous location of the colony and its direction is toward the imperialist locations. The length of this vector is set to unity.

(a)

(b)

Figure 1. Movement of colonies to its new location in the original ICA: (a) toward their relevant imperialist, (b) in a randomly deviated direction

To increase the searching around the imperialist, a random amount of deviation is added

to the direction of movement. Figure 1(b) shows the new direction which is obtained by deviating the previous location of the country as great as θ. In this figure, θ is a random

Page 6: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

A. Kaveh and S. Talatahari

680

number with uniform distribution as ),( U (6)

where is a parameter that adjusts the deviation from the original direction. In most of implementations, a value of about 2 for β [12] and about 0.1 (Rad) for results in good convergence of countries to the global minimum.

If the new position of a colony is better than that of the corresponding imperialist (considering the cost function), the imperialist and the colony change their positions and the new location with lower cost becomes the imperialist. Then the other colonies move toward this new position.

Imperialistic competition is another strategy utilized in the ICA methodology. All empires try to take the possession of colonies of other empires and control them. The imperialistic competition gradually reduces the power of weaker empires and increases the power of more powerful ones. The imperialistic competition is modeled by just picking some (usually one) of the weakest colonies of the weakest empires and making a competition among all empires to possess these (this) colonies. Based on their total power, in this competition, each of empires will have a likelihood of taking possession of the mentioned colonies.

Total power of an empire is mainly affected by the power of imperialist country. But the power of the colonies of an empire has an effect, albeit negligible, on the total power of that empire. This fact is modeled by defining the total cost as

n

NC

i

icolt

nimptn NC

ffTC

n

1

),(cos

),(cos (7)

where TCn is the total cost of the nth empire and is a positive number which is considered

to be less than 1. A small value for causes the total power of the empire to be determined by just the imperialist and increasing it will add to the role of the colonies in determining the total power of the corresponding empire. The value of 0.1 for is found to be a good value in most of the implementations [12]. Similar to Eq. (3), the normalized total cost is defined as

)(max i

inn TCTCNTC (8)

where NTCn is the normalized total cost of the nth empire. Having the normalized total cost, the possession probability of each empire is evaluated by

Page 7: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN...

681

impN

ii

nn

NTC

NTCP

1

(9)

When an empire loses all its colonies, it is assumed to be collapsed. In this model

implementation where the powerless empires collapse in the imperialistic competition, the corresponding colonies will be divided among the other empires.

Moving colonies toward imperialists are continued and imperialistic competition and implementations are performed during the search process. When the number of iterations reaches a pre-defined value, the search process is stopped. The pseudo-code of the ICA algorithm is presented in Figure 2.

Step 1: Initialization. Define the optimization problem; Select some random points as new position

of colonies; Initialize the empires.

Step 2: Colonies Movement. Move the colonies toward their relevant imperialist.

Step 3: Imperialist Updating. If the new colony has lower cost than that of imperialist, exchange

the positions of that colony and the imperialist.

Step 4: Imperialistic Competition. Pick the weakest colony from the weakest empire and give it to

the empire that has the most likelihood to possess it.

Step 5: Implementation. Eliminate the powerless empires.

Step 6: Terminating Criterion Control. Repeat Steps 2-5 until a terminating criterion is satisfied.

Figure 2. The pseudo-code of the ICA algorithm.

3.3 Different Variants of ICA-based methods Recently, the authors presented a variant of the ICA for the structural optimum design [14]. Here, we present three other variants of the ICA method by simplifying the previous method of [14]. These variants are designed considering different movement approaches for countries as follow:

3.3.1 ICA-1 method According to Figure 3(a), when a colony is deviated by θ from its previous direction of movement, it can be located on any point in the circle shown in the figure. In the first version of the ICA, we define a random vector, }{ 2V , to determine the location of the

colony. This vector is designed in a manner that it is perpendicular to the line crossing the previous location of colony and the imperialistic (i.e. }{ 1V ) and its length is equal to unity. Therefore, Eqs. (5) and (6) are modified and replaced by the following equation

Page 8: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

A. Kaveh and S. Talatahari

682

1||}{||,0}{}{|}{}{

},{)tan(}{),0(}{}{

2212

21

VVVrandV

VdVdUxx oldnew (10)

3.3.2 ICA-2 method As the second version, we utilize the different random values for the different components of the solution vector. Since these random values are not necessarily the same, the colony is deviated automatically without requiring the definition of θ, as shown in Figure 3(b). Thus we will have

}{}{}{}{ 1Vranddxx oldnew (11)

where {rand} is a random vector and the sign " " denotes an element-by-element multiplication. It should be noted that in Eq. (5), ),0( dU creates one random number.

3.3.3 ICA-3 method The third ICA-based algorithm utilizes the combination of the properties of the previous two versions. For ICA-3, not only different random values are used similar to ICA-2, but also the definition of θ is taken as that of ICA-1 in order to increase the exploration of the algorithm as follows:

1||}{||,0}{}{|}{}{

},{)tan(}{}{}{}{

2212

21

VVVrandV

VdVranddxx oldnew (12)

Figure 3(c) describes the performance of this version. As a result, this algorithm will

have the most exploration ability among the others.

3.3.4 ICA-4 method [14] As the last method, Eq. (12) is modified as shown in Figure 3(d). Here, considering the two first term of this equation, a point out of the colony-imperialistic contacting line can be obtained as indicated in the figure. Then, it is possible to obtain the orthogonal colony-imperialistic contacting line instead of the random vector defined by Eq. (12). Thus the final location of colony will be as

1||}{||,0}{}{

},{)tan()1,1(}{}{}{}{

221

21

VVV

VdUVranddxx oldnew (13)

Comparing to ICA-3, in this method }{ 2V is not a random vector, since this vector must

be crossed the point obtained from the two first terms and also be perpendicular to }{ 1V .

Therefore, we use a random value by using )1,1( U for the third term of the Eq. (13) which changes its value in addition to its direction by using the negative values.

Page 9: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN...

683

(a)

(b)

(c)

(d)

Figure 3. Performance of variants ICA-based algorithms: (a) ICA-1, (b) ICA-2, (c) ICA-3, (d) ICA-4

Page 10: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

A. Kaveh and S. Talatahari

684

4. SIMULATION AND ANALYSIS

Some well-studied numerical examples are taken from the optimization literature to examine the efficiency of the proposed approaches. The examples contain some uni-modal and multi-modal mathematical functions presented in section 4.1 and some engineering design problems investigated in section 4.2. These examples have been previously solved using a variety of other techniques, which is useful to show the validity and effectiveness of the proposed algorithms. For each example, 30 independent runs are carried out using each ICA-based algorithm and compared to other methods.

4.1 Mathematical examples In this section a number of benchmark functions are optimized using ICA-based algorithms and the results are compared to each other to recognize the best version of the ICA method among the others. The description of these test problems is provided in Table 1. The number of variables (d) is set to 10. Figure 4 shows the final results of the ICA-based algorithms in the 30 independent runs. For all functions, ICA-2 has the worst performance. This shows that utilizing different random values without considering deviation angle is not sufficient and it is necessary to add some other factors in order to increase the exploration ability. For the first and fifth functions, the ICA-1 has better performance than others while for the reminding ICA-4 is the best algorithm. For fourth function both ICA-1 and IAC-4 in all 30 independent runs can find the global minimum. Table 2 presents the statistics data for these algorithms. Small values indicate the stability of the algorithm. Considering the results of Table 2 and Figure 4, one can be conclude that ICA-1 and ICA-4 are better algorithms which utilize both different random numbers and deviation angle.

Table 1: Specifications of the benchmark problems

Global minimum Function Interval Function name

0.0

d

iixxf

1

2})({ dx ]100,100[}{ F1

0.0 )1,0[})({1

4 randixxfd

ii

dx ]28.1,28.1[}{ F2

–1.0

d

iixxf

1

25.0exp})({ dx ]1,1[}{ F3

0.0

d

i

d

i

ii

i

xxxf

1 1

2 )cos(4000

11})({ dx ]600,600[}{ F4

0.0

1

1

2221 )1()(100})({

d

iiii xxxxf dx ]30,30[}{ F5

0.0

d

iii xxxf

1

2 10)2cos(10})({ dx ]12.5,12.5[}{

F6

Page 11: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN...

685

Table 2: Statistics data for the ICA-based algorithm

ICA-4 ICA-3 ICA-2 ICA-1 Function name

1.06e–12 2.11e–7 0.1169 4.05e–13 minimm F1

4.57e–11 2.10e–5 0.2903 5.89e–11 mean

2.07e–11 1.40e–5 0.2710 8.76e–12 median

4.49e–11 1.68e–5 0.1286 1.11e–10 Std

0.0064 0.0044 0.0049 0.0052 minimum F2

0.0179 0.0222 0.0507 0.0250 mean

0.0173 0.0223 0.0471 0.0238 median

0.0068 0.0093 0.0224 0.0106 Std

–1.00 –1.00 –0.9984 –1.00 minimm F3

–1.00 –1.00 –0.9953 –1.00 mean

–1.00 –1.00 –0.9954 –1.00 median

0.00 2.50e–7 0.0017 0.00 Std

6.44e–13 2.84e–6 0.1414 1.08e–12 minimum F4

5.28e–11 6.57e–5 0.5756 1.98e–10 mean

1.86e–11 4.43e–5 0.5327 4.65e–11 median

7.07e–11 5.65e–5 0.2562 3.54e–10 Std

0.4145 0.1597 1228 0.0431 minimum F5

6.110 27.6 5293 4.468 mean

7.555 19.05 5210 3.627 median

4.753 23.34 2766 4.676 Std

4.975 6.544 16.48 9.025 minimum F6

9.725 14.10 35.11 19.82 mean

9.997 14.49 25.44 20.26 median

2.832 3.583 5.527 5.751 Std

Page 12: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

A. Kaveh and S. Talatahari

686

(a) F1

1 5 10 15 20 25 3010

-15

10-10

10-5

100

# of run

Fin

al r

esul

t

ICA-1ICA-2ICA-3ICA-4

(b) F2

1 5 10 15 20 25 3010

-3

10-2

10-1

# of run

Fin

al r

esul

t

ICA-1ICA-2ICA-3ICA-4

(c) F3

1 5 10 15 20 25 30

-1

-0.999

-0.998

-0.997

-0.996

-0.995

-0.994

-0.993

-0.992

# of run

Fin

al r

esul

t

ICA-2ICA-3

(d) F4

1 5 10 15 20 25 3010

-15

10-10

10-5

100

105

# of run

Fin

al r

esul

t

ICA-1ICA-2ICA-3ICA-4

(e) F5

1 5 10 15 20 25 3010

-2

100

102

104

106

# of run

Fin

al r

esul

t

ICA-1ICA-2ICA-3ICA-4

(f) F6

1 5 10 15 20 25 300

5

10

15

20

25

30

35

40

# of run

Fin

al r

esul

t

ICA-1ICA-2ICA-3ICA-4

Figure 4. Comparing the final results of mathematical results obtained by the ICA-based algorithms

4.2 Engineering design problems Here, a set of four engineering design optimization problems was chosen to evaluate the performance of our proposed algorithm. The number of objective function evaluations per run is set to 20,000. This value for a GA-based algorithm of Coello [18], and for a PSO-based method of He and Wang [17] is equal to 900,000 and 200,000 respectively. For the evolution strategies presented by Montes and Coello [19], it is 25,000. Thus, it can be pointed out that ICA-based algorithm has a better convergence speed compared to other meta-heuristics. The detailed descriptions of the test problems are presented in the following subsections.

Page 13: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN...

687

4.2.1 A tension/compression spring design problem This problem consists of minimizing the weight of a tension/compression spring subject to constraints on shear stress, surge frequency and minimum deflection as shown in Figure 5. The design variables are the mean coil diameter D (=x1); the wire diameter d (=x2) and the number of active coils N (=x3). The detailed information of the problem is stated in Table 3.

Table 3: Specifications of the tension/compression spring problem

2123cost )2(})({ xxxxf Cost function

071785

1})({41

332

1 x

xxxg

Constraint functions

015108

1

)(12566

4})({

21

41

312

2122

2

xxxx

xxxxg

045.140

1})({3

22

13

xx

xxg

015.1

})({ 214

xxxg

205.0 1 x Variable regions

3.125.0 2 x

152 3 x

This problem has been solved by Belegundu [20] using eight different mathematical

optimization techniques (only the best results are shown). Arora [21] also solved this problem using a numerical optimization technique called a constraint correction at the constant cost. Coello [18] as well as Coello and Montes [22] solved this problem using GA-based method. Additionally, He and Wang [17] utilized a co-evolutionary particle swarm optimization (CPSO). Recently, Montes and Coello [19] used various evolution strategies to solve this problem.

Table 4 presents the best solution and statistical information of this problem obtained using the ICA-based algorithms and compares the results with solutions reported by other researchers. The best feasible solutions obtained by ICA-1 and ICA-4 are better than those previously reported. In addition, as shown in the table, the average searching quality of ICA-4 is superior to those of other methods. Moreover, the standard deviation of the results by ICA-1 and ICA-4 in 30 independent runs for this problem among the others is the smallest.

Page 14: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

A. Kaveh and S. Talatahari

688

Figure 5. Tension/compression spring

Table 4: Optimum results for the tension/compression string design

Std. Dev. Worst result

Mean of results

Best result

x3 (N) x2 (D) x1 (d) Methods

N/A N/A N/A 0.0128334 14.250000 0.315900 0.050000 Belegundu

[20]

N/A N/A N/A 0.0127303 9.185400 0.399180 0.053396 Arora [21]

3.9390e–5 0.012822 0.012769 0.0127048 11.632201 0.351661 0.051480 Coello

[18]

5.9000e–5 0.012973 0.0127420 0.0126810 10.890522 0.363965 0.051989 Coello &

Montes [22]

5.1985e–5 0.012924 0.012730 0.0126747 11.244543 0.357644 0.051728 He & Wang

[17]

9.6600e–4 0.16485 0.013461 0.012698 11.397926 0.355360 0.051643 Montes &

Coello [19]

3.6806e–5 0.0127655 0.0126856 0.0126406 11.243772 0.3572141 0.0516910 ICA-1

1.9118e–4 0.0131925 0.0128562 0.0126462 11.887441 0.3466918 0.0512504 ICA-2

1.191e–4 0.0130979 0.0127568 0.0126503 10.643529 0.368067 0.052137 ICA-3

2.1815e–5 0.0126925 0.0126702 0.0126407 11.127122 0.359229 0.051774 ICA-4

4.2.2 A welded beam design problem The welded beam structure, shown in Figure 6, is a practical design problem that has been often used as a benchmark problem for testing different optimization methods. The objective is to find the minimum fabricating cost of the welded beam subject to constraints on shear stress ً )( , bending stress )( , buckling load )( cP , end deflection )( , and side constraint.

There are four design variables, namely

)( 1xh , )( 2xl , )( 3xt and )( 4xb . The

mathematical formulation of the problem is presented in Table 5.

Page 15: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN...

689

Figure 6. Welded beam structure

Table 5: Specifications of the welded beam problem

)0.14(04811.010471.1})({ 243221cost xxxxxxf Cost function

0})({})({ max1 xxg Constraint functions

0})({})({ max2 xxg

0})({ 413 xxxg

00.5)0.14(04811.010471.0})({ 243214 xxxxxg

0125.0})({ 15 xxg 0})({})({ max6 xxg

0})({})({7 xPPxg c

222 )"(2

"'2)'(})({ R

xx

212'

xx

P ,

J

MR'

)2

( 2xLPM ,

231

22

24

xxxR

231

22

21 21222

xxxxxJ

234

6})({

xx

PLx ,

433

34})({

xEx

PLx

G

E

L

x

L

xxE

xPc 42136

013.4})({ 3

2

64

23

lbP 6000 , inL 14 , psiE 61030 , psiG 61012

21.0 4,1 x Variable regions 101.0 3,2 x

Page 16: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

A. Kaveh and S. Talatahari

690

Deb [23], Coello [18] and Coello and Montes [22] solved this problem using GA-based methods. Radgsdell and Phillips [24] compared optimal results of different optimization methods that were mainly based on mathematical optimization algorithms containing APPROX (Griffith and Stewart’s successive linear approximation), DAVID (Davidon–Fletcher–Powell with a penalty function), SIMPLEX (Simplex method with a penalty function), and RANDOM (Richardson’s random method) algorithms. Also, He and Wang [17] using CPSO, and Montes and Coello [19] using evolution strategies solved this problem. The comparison of results is shown in Table 6.

The ICA-4 result, which was obtained after 20,000 searches, was better than those reported by He and Wang [17] who got the best results between others. The reported number of function evolution for by He and Wang is 200,000. The statistical simulation results are also shown in Table 6. From Table 6, it can be seen that the worst solutions found by ICA-based methods are better than the best solution found by Ragsdell and Phillips [24] and the best solution found by Deb [23]. In addition, the standard deviation of the results by all ICA-based methods in 30 independent runs is very small.

Table 6: Optimum results for the welded beam design

Std. Dev.

Worst result

Mean of results

Best result

x4 (b) x3 (t) x2 (l) x1 (h) Methods

Regsdell & Phillips [24]

N/A N/A N/A 2.3815 0.2444 8.2915 6.2189 0.2444 APPROX

N/A N/A N/A 2.3841 0.2444 8.2915 6.2552 0.2434 DAVID

N/A N/A N/A 2.5307 0.2796 7.7512 5.6256 0.2792 SIMPLEX

N/A N/A N/A 4.1185 0.6600 5.0853 4.7313 0.4575 RANDOM

N/A N/A N/A 2.433116 0.253300 8.178900 6.173000 0.248900 Deb [23]

0.011220 1.785835 1.771973 1.748309 0.210000 8.997500 3.420500 0.208800 Coello

[18]

0.074713 1.993408 1.792654 1.728226 0.206480 9.020224 3.471328 0.205986 Coello &

Montes [22]

0.012926 1.782143 1.748831 1.728024 0.205723 9.048210 3.544214 0.202369 He & Wang

[17]

0.070500 1.994651 1.813290 1.737300 0.206082 9.037500 3.612060 0.199742 Montes &

Coello [19]

0.029470 1.815100 1.764821 1.727903 0.205747 9.038958 3.494641 0.205241 ICA-1

0.061941 1.973904 1.856047 1.760374 0.204679 9.251953 3.322341 0.209046 ICA-2

0.045870 1.900021 1.816112 1.732465 0.207055 9.007861 3.437025 0.207822 ICA-3

0.017831 1.793435 1.742214 1.724906 0.205731 9.036654 3.47106 0.205703 ICA-4

4.2.3 A pressure vessel design problem A cylindrical vessel is capped at both ends by hemispherical heads as shown in Figure 7. The

Page 17: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN...

691

objective is to minimize the total cost, including the cost of material, forming and welding. Table 7 presents the details of the algorithm in which 1x is the thickness of the shell (Ts), 2x is

the thickness of the head (Th), 3x is the inner radius (R) and 4x is the length of cylindrical

section of the vessel, not including the head (L). Ts and Th are integer multiples of 0.0625 inch, the available thickness of rolled steel plates, and R and L are continuous.

Figure 7. Schematic of pressure vessel

Table 7: Specifications of the pressure vessel problem

3214

21

232431cost 84.191661.37781.16224.0})({ xxxxxxxxxxf Cost function

00193.0})({ 311 xxxg Constraint functions

000954.0})({ 322 xxxg

0000,296,13

4})({ 3

34233 xxxxg

0240})({ 44 xxg

990 2,1 x

Variable regions

20010 4,3 x

The approaches applied to this problem include genetic adaptive search (Deb and Gene

[25]), a GA-based co-evolution model (Coello [18]), an augmented Lagrangian multiplier approach (Kannan and Kramer [26]), a branch and bound technique (Sandgren [27]), a feasibility-based tournament selection scheme (Coello and Montes [22]), a co-evolutionary particle swarm optimization (He and Wang [17]), an evolution strategy (Montes and Coello [19]). The best solutions and their statistical simulation results obtained by the above mentioned approaches and by the ICA methods are listed in Table 8.

Page 18: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

A. Kaveh and S. Talatahari

692

Table 8: Optimum results for the pressure vessel

Std. Dev.

Worst result

Mean of results

Best result

x1 (L) x3 (R) x2 (Th) x1 (Ts) Methods

N/A N/A N/A 8129.103 117.7010 47.70000 0.625000 1.125000 Sandgren

[27]

N/A N/A N/A 7198.042 43.6900 58.29100 0.625000 1.125000 Kannan &

Kramer [26]

N/A N/A N/A 6410.381 112.6790 48.32900 0.500000 0.937500 Deb & Gene

[25]

7.4133 6308.149 6293.843 6288.744 200.0000 40.32390 0.437500 0.812500 Coello [18]

130.9297 6469.322 6177.253 6059.946 176.6540 42.09739 0.437500 0.812500 Coello &

Montes [22]

86.4545 6363.804 6147.133 6061.077 176.7465 42.09126 0.437500 0.812500 He & Wang

[17]

426.0000 7332.879 6850.004 6059.745 176.6405 42.09808 0.437500 0.812500 Montes &

Coello [19]

67.8235 6280.668 6179.125 6062.468 176.9162 42.0759 0.437500 0.812500 ICA-1

73.8965 6376.825 6261.452 6095.652 180.2938 41.8061 0.437500 0.812500 ICA-2

90.6012 6379.918 6197.265 6063.617 176.8357 42.0939 0.437500 0.812500 ICA-3

40.4317 6208.985 6100.212 6059.728 176.6379 42.0983 0.437500 0.812500 ICA-4

From Table 8, it can be seen that the best solution found by ICA-4 is better than the best

solutions found by other techniques. Also, the average searching quality of ICA-based algorithm is better than those of other methods, and even the worst solutions found by these methods are better than the best solutions found by Deb and Gene [25], Kannan and Kramer [26] and Sandgren [27].

Figure 8. Speed reducer

Page 19: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN...

693

4.2.4 Speed reducer design problem The design of the speed reducer [28] shown in Figure 8, is considered with the face width x1, module of teeth x2, number of teeth on pinion x3, length of the first shaft between bearings x4, length of the second shaft between bearings x5, diameter of the first shaft x6, and diameter of the first shaft x7 (all variables continuous except x3 that is integer). The weight of the speed reducer is to be minimized subject to constraints on bending stress of the gear teeth, surface stress, transverse deflections of the shafts and stresses in the shaft. The problem is defined in Table 9.

Table 9: Specifications of the speed reducer problem

)(7854.0)(4777.7)(508.1

)0934.439334.143333.3(7854.0})({275

264

37

36

27

261

323

221cost

xxxxxxxxx

xxxxxf

Cost function

0127

})({3

221

1 xxx

xg Constraint functions

015.397

})({23

221

2 xxx

xg

0193.1

})({4632

34

3 xxx

xxg

0193.1

})({4732

35

4 xxx

xxg

01109.16745

110

0.1})({ 6

2

32

436

5

xx

x

xxg

01105.157745

85

0.1})({ 6

2

32

537

6

xx

x

xxg

0140

})({ 327

xxxg

015

})({1

28

x

xxg

0112

})({2

19

x

xxg

019.15.1

})({4

610

x

xxg

019.11.1

})({5

711

x

xxg

8.07.0;6.36.2 21 xx Variable regions 3.83.7;2817 43 xx

5.50.5;9.39.2;3.88.7 765 xxx

Page 20: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

A. Kaveh and S. Talatahari

694

This example is solved by two constrained particle swarm optimizer algorithms previously (COPSO [29], SiC-PSO [30]). A total of 30,000 and 24,000 objective function evaluations per run was considered for this COPSO and SiC-PSO algorithms, respectively. However, when 20,000 function evaluations are used for ICA-based algorithm similar to the previous examples, in all runs the optimum results are obtained. So, we set 5,000 function evaluations as the maximum number for the ICA-based algorithm. As shown in Table 10, even with this small number of function evaluations, ICA-4 could find the best result almost in the all runs. Table 10 summarizes the statistical information of the PSO- and the ICA-based algorithms. In addition, Figure 9 shows the all final results in 30 runs obtained by ICA-based methods for these engineering problems to simplify the comparison.

Table 10: Optimum results for the speed reducer design

Std. Dev. Mean of results Best result Methods

0.0286 2,996.4085 2,996.372448 Hernandez et al. [29]

0.0000 2,996.3482 2,996.348165 Cagnina et al. [30]

4.7300 3,003.1012 2997.22 ICA-1

15.351 3,041.2100 3,009 ICA-2

7.1682 3,016.2011 3,004 ICA-3

0.0000 2,996.1022 2,996.348165 ICA-4

1 5 10 15 20 25 300.0126

0.0127

0.0128

0.0129

0.013

0.0131

0.0132

# of run

Fin

al r

esul

t

ICA-1ICA-2ICA-3ICA-4

1 5 10 15 20 25 301.7

1.75

1.8

1.85

1.9

1.95

2

# of run

Fin

al r

esul

t

ICA-1ICA-2ICA-3ICA-4

(a) Tension/compression spring (b) Welded beam structure

1 5 10 15 20 25 306050

6100

6150

6200

6250

6300

6350

6400

# of run

Fin

al r

esul

t

ICA-1ICA-2ICA-3ICA-4

1 5 10 15 20 25 30

2990

3000

3010

3020

3030

3040

3050

3060

3070

# of run

Fin

al r

esul

t

ICA-1ICA-2ICA-3ICa-4

(c) Pressure vessel (d) Speed reducer

Figure 9. Comparing the final results of the engineering examples obtained by the ICA-based algorithms

Page 21: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN...

695

5. CONCLUDING REMARKS

Imperialist competitive algorithm (ICA) is a novel meta-heuristic search method that uses imperialism and imperialistic competition process as a source of inspiration. This algorithm starts with some random initial countries. Some of the best countries are selected to be the imperialist states and all the other countries form the colonies of these imperialists. The colonies are divided among the imperialists based on their power. Then, the colonies start moving toward their relevant imperialist state. This movement is a simple model of assimilation policy that is pursued by some imperialist states. In addition, the imperialistic competition strategy gradually reduces the power of weaker empires and increases the power of more powerful ones. This is modeled by picking some of the weakest colonies of the weakest empires and making a competition among all empires to possess this colony. This process is continued and when an empire loses all its colonies, it will be collapsed.

Here, four different rules are presented to describe the movement process of colonies. According to the first rule, after moving the colony toward its imperialist, a random vector orthogonal to the colony-imperialistic contacting line is utilized to deviate the movement direction of the colony. This deviation was forecasted to increase the search ability of the algorithm. For the second variant, the different random values are utilized for the components of the solution vector without requiring the use of θ. The results of the ICA-2 approach for the mathematical and engineering numerical examples indicate inferiority of this version compared to the others. This proves the fact that to have a better algorithm, the use of a deviation angle in the movement process is necessary. Combining variants 1 and 2 forms the variant ICA-3. Due to using random values in the direct movement step (similar to that defined in ICA-2) and in the deviation step (similar to that described in ICA-1), the exploration ability is quite high for this variant. However, the balance between exploration and exploitation of the method is not regarded sufficiently suitable and as a result it is the second weakest algorithm. In the last variant as described in Ref. [14], the direct movement step is considered as defined for ICA-2, however for the deviation step, the orthogonal colony-imperialistic contacting line is utilized. This variant has directed the search process toward the global optimum in all the numerical examples studied in the article. Having a good search ability in addition to a powerful exploitation makes this variant superior compared to the other ICA-based algorithms. The comparison of the results with other meta-heuristic methods for engineering examples shows that ICA-1 and ICA-4 methods have a good convergence rate and can reach to better solutions. Comparing ICA-1 and ICA-4 methods, it can be observed that ICA-4 [14] has a better performance while the complexity of the ICA-1 is less and its results are not considerably worse than ICA-4. To sum up, these two presented variants of the new algorithm are powerful optimization methods which can easily be utilized for engineering problems to find the optimum designs.

Acknowledgement: The first author as the fellow of the Iranian Academy of Sciences is grateful for the support.

Page 22: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

A. Kaveh and S. Talatahari

696

REFERENCES

1. Kaveh A, Talatahari S. An improved ant colony optimization for constrained engineering design problems, Engineering Computations, International Journal for Computer-Aided Engineering and Software, No. 1, 27(2010) 155–82.

2. Holland JH. Adaptation in Natural and Artificial Systems. Ann Arbor, MI, University of Michigan Press, 1975.

3. Goldberg DE. Genetic Algorithms in Search Optimization and Machine Learning. Boston, MA, Addison-Wesley, 1989.

4. Eberhart RC, Kennedy J. A new optimizer using particle swarm theory, Proceedings of the Sixth International Symposium on Micro Machine and Human Science, Nagoya, Japan, 1995.

5. Dorigo M, Maniezzo V, Colorni A. The ant system: Optimization by a colony of cooperating agents. IEEE Trans Systems Man Cybernet B. No. 1, 26(1996) 29–41.

6. Geem ZW, Kim JH, Loganathan GV. A new heuristic optimization algorithm; harmony search, Simulation, 76(2001) 60–8.

7. Erol OK, Eksin I. New optimization method: Big Bang–Big Crunch, Advances in Engineering Software. 37(2006) 106–11.

8. Kaveh A, Talatahari S. Size optimization of space trusses using Big Bang–Big Crunch algorithm, Computers and Structures, Nos. 17–18, 87(2009) 1129–40.

9. Kaveh A, Talatahari S. Novel heuristic optimization method: Charged system search, Acta Mechanica, doi: 10.1007/s00707-009-0270-4, 2010.

10. Kaveh A, Talatahari S. Optimal design of skeletal structures via the charged system search algorithm, Structural and Multidisciplinary Optimization, No. 6, 37(2010) 893-911.

11. Kaveh A, Talatahari S. Charged system search for optimum grillage systems design using the LRFD-AISC Code, Journal of Constructional Steel Research, No. 6, 66(2010) 767–71.

12. Atashpaz-Gargari E, Lucas C. Imperialist competitive algorithm: An algorithm for optimization inspired by imperialistic competition, In: IEEE Congress on Evolutionary Computation, Singapore, 2007, pp. 4661–67.

13. Atashpaz-Gargari E, Hashemzadeh F, Rajabioun R, Lucas C. Colonial competitive algorithm: A novel approach for PID controller design in MIMO distillation column process, International Journal of Intelligent Computing and Cybernetics, No. 3, 1(2008) 337-55.

14. Kaveh A, Talatahari S. Optimum design of skeletal structures using imperialist competitive algorithm, Computers and Structures, 10.1016/j.compstruc.2010. 06.011.

15. Deb K. An efficient constraint handling method for genetic algorithms. Computer Methods in Applied Mechanics and Engineering, 186(2000) 311–38.

16. Kaveh A, Talatahari S. A particle swarm ant colony optimization algorithm for truss structures with discrete variables, Journal of Constructional Steel Research, Nos. 8–9, 65(2009) 1558–68.

17. He Q, Wang L. An effective co-evolutionary particle swarm optimization for constrained engineering design problems, Engineering Applications of Artificial Intelligence, 20(2007) 89–99.

Page 23: IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING … · Imperialist Competitive Algorithm (ICA) is one of the recent meta-heuristic algorithms proposed to solve optimization problems.

IMPERIALIST COMPETITIVE ALGORITHM FOR ENGINEERING DESIGN...

697

18. Coello CAC. Use of a self-adaptive penalty approach for engineering optimization problems, Computers in Industry, 41(2000) 113–27.

19. Montes EM, Coello CAC. An empirical study about the usefulness of evolution strategies to solve constrained optimization problems, International Journal of General Systems, No. 4, 37(2008) 443–73.

20. Belegundu AD. A Study of Mathematical Programming Methods for Structural Optimization, PhD thesis, Department of Civil and Environmental Engineering, University of Iowa, Iowa, USA, 1982.

21. Arora JS. Introduction to Optimum Design. McGraw-Hill, New York, 1989. 22. Coello CAC, Montes EM. Constraint-handling in genetic algorithms through the use of

dominance-based tournament selection, Advanced Engineering Informatics, 16(2002) 193–203.

23. Deb K. Optimal design of a welded beam via genetic algorithms, AIAA Journal, No. 11, 29(1990) 2013–5.

24. Ragsdell KM, Phillips DT. Optimal design of a class of welded structures using geometric programming, ASME Journal of Engineering and Industry Ser. B, No. 3, 98(1976) 1021–5.

25. Deb K, Gene AS. A robust optimal design technique for mechanical component design, In: D. Dasgupta, Z. Michalewicz (Eds.), Evolutionary Algorithms in Engineering Applications, Springer, Berlin, 1997, pp. 497–514.

26. Kannan BK, Kramer SN. An augmented Lagrange multiplier based method for mixed integer discrete continuous optimization and its applications to mechanical design, Transactions of the ASME, Journal of Mechanical Design, 116(1994) 318–20.

27. Sandgren E. Nonlinear integer and discrete programming in mechanical design, In: Proceedings of the ASME Design Technology Conference, F.L. Kissimine, 1988, pp. 95–105.

28. Golinski J. An adaptive optimization system applied to machine synthesis, Mechanism and Machine Theory, No. 4, 8(1973) 419–36.

29. Hernandez Aguirre A, Muñoz Zavala AE, Villa Diharce E, Botello Rionda S. COPSO: Constrained Optimization via PSO Algorithm, Technical report No. I-07-04/22-02-2007, Center for Research in Mathematics (CIMAT), 2007.

30. Cagnina LC, Esquivel SC, Coello CAC. Solving engineering optimization problems with the simple constrained particle swarm optimizer, Informatica, 32(2008) 319–26.