Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming...

44

Transcript of Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming...

Page 1: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

Chapter �

Integer Programming Techniques

In the previous chapter we illustrated the use of two simple integer programming techniquesfor the design of laminates subject to in�plane sti�ness requirements� One method� enumer�ation� has general applicability beyond in�plane sti�ness design� but for most problems it istoo computationally expensive� The second method� Miki�s lamination parameter diagram�can be generalized to a few other problems� but cannot handle many problems of inter�est� The objective of the present chapter is to describe methods which are more generallyapplicable to the design of laminated composites�

Section ��� describes the formulation of linear integer programming problems� This classof problems has been studied extensively by developers of optimization methods� and e��cient algorithms which are guaranteed to �nd the global optimum are available� Section ��shows how in�plane sti�ness design problems� of the type discussed in the previous chap�ter� can be formulated as linear integer programming problems� Section �� describes thebranch�and�bound algorithm� which is the most popular general algorithm for linear integerprogramming�

For problems that cannot be formulated as linear integer programming problems� algo�rithms that deal with nonlinear integer programming problems must be used� Such algo�rithms have not reached the level of e�ciency and reliability achieved for linear problems�Furthermore� the choice of algorithm is highly problem dependent� We chose to concentrateon a single class of algorithms� genetic algorithms� with which we had extensive and goodexperience in the design of composite laminates� Additionally� genetic algorithms are fairlyeasy to implement and to tailor to the particular laminate design problem at hand� Sec�tion ��� provides an introduction to genetic algorithms and their application to compositelaminate design�

��

Page 2: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

��� Integer Linear Programming

An optimization problem is called a Linear Programming �LP problem if the objective func�tion and the constraint functions are linear functions of the design variables� The standardform of an LP problem is

minimize f�x � cTx

such that Ax � b� ������

x � � �

where c is an n � � vector of constant coe�cients� A is an m � n matrix of constraintcoe�cients� and b is an m�� vector of constants� Note that the sign of the design variablesare restricted to be positive in the standard form� Some commercially available LP codesare also restricted to handle positive valued design variables� If a variable is to have anunrestricted sign� then the standard procedure is to replace it with the di�erence of twopositive variables� For example� an unrestricted design variable xi is replaced by two newvariables� as

xi � x�i � x�i �

where both x�i and x�i are limited to be positive� but depending on relative magnitudes of

the two the outcome may yield a positive or a negative value for the variable xi� A disad�vantage of the approach just described is the doubling of the number of design variables�If the designer has a good idea of the lowest possible value of the variable that can assumenegative values� then more practical approach is to de�ne the new variable by adding apositive constant C to the variable with an unrestricted sign�

xposi � xi � C �

where C is greater than the absolute value of the lowest possible value of the unrestrictedvariable�

More general LP problems allow design variables of unrestricted signs and general in�equalities� However� frequently the values of the design variables are restricted not exceedor drop below values that are dictated by either availability of the resources or physicallimitations� Such upper and lower bounds on the design variables are often treated di�er�ently than constraints that involve more than one design variable� The bounds� therefore�are often written separately� The general LP problem is

minimize f�x � cTx

such that Ax ��b� �����

x � xU

x � xL �

���

Page 3: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� IN�PLANE STIFFNESS DESIGN AS A LINEAR INTEGER PROGRAMMING PROBLEM

where xU and xL are the vectors of upper and lower bounds for the design variables� Thismore general form of LP can be converted to the standard form by change of variables�This standard form is then solved by a variety of solution techniques� most notably theSimplex method� The reader is referred to� for example� Arora ����� for more informationon solution of LP problems�

In the case of LP problems encountered in laminate design problems� some or all of thevariables of a LP problem are restricted to take only integer values� If all the variables areso restricted� the problem is called an integer linear programming �ILP problem or pureILP problem� If some of the design variables are allowed to be continuous� the problem isreferred to as mixed integer linear programming �MILP problem� and its standard form is

minimize f�x � cT� x� cT� y

such that A�x�A�y � b� �����

xi � � integer �

yj � � �

It is also common to have problems where design variables are used to indicate a yes�or�no type decision�making situation� Such problems are referred to as zero�one or binary ILPproblems� For example� as we will demonstrate later in Chapter �� in a laminate stackingsequence design the presence of a layer with a speci�ed �ber orientation �or its absence can be represented by a binary variable� Many programs for the solution of ILP programspermit the user to specify that some of the variables are binary�

Most of the remaining discussion in this chapter assumes problems to be pure ILP�

��� In�plane Sti�ness Design as a Linear Integer Program�

ming Problem

Linear Programming �LP problems have been important in management� economics andengineering for many years� As a result� e�cient software for solving LP problems is read�ily available and� therefore� there is a substantial incentive to formulate laminate designproblems as LP problems� A quick review of the in�plane sti�ness problem reveals thatcertain in�plane laminate properties are indeed linear functions of the design variables� Forexample� from Table �� and Eq� ����� we see that the elements of the in�plane sti�nessmatrix A�

A�� � h�U� � U�V�� � U�V

�� � A�� � h�U� � U�V

�� �

A�� � h�U� � U�V�� � U�V

�� � A�� � h�U� � U�V

�� � �����

���

Page 4: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

are all linear functions of the in�plane lamination parameters V �� and V �

� � Furthermore� itis demonstrated in the following that for laminates with prescribed �ber orientations� it ispossible to express the in�plane lamination parameters as linear functions of the number oflayers of a given orientation�

Restricting ourselves to balanced symmetric laminates� we rewrite Eq� ����� by ex�panding the summation over each layer in one half of the laminate

V �� � �v� cos �� � v� cos �� � v� cos �� � � � �� vN�� cos �N�� �

V �� � �v� cos ��� � v� cos ��� � v� cos ��� � � � �� vN�� cos ��N�� � ����

In this representation� the volume fractions of individual layers vi� i � �� � � � � N�� are equalto the ratio of the thickness of a layer� t� to total laminate thickness� h� Therefore� in thecommon case when all layers have the same thickness t�

V �� �

t

h�cos �� � cos �� � cos �� � � � �� cos �N�� �

V �� �

t

h�cos ��� � cos ��� � cos ��� � � � �� cos ��N�� � ����

If several of the individual layers are made up of the same orientation angles� say np layerswith �p� and nq layers with �q� then Eqs� ���� take the following form

V �� �

t

h�np cos �p � nq cos �q �

V �� �

t

h�np cos ��p � nq cos ��q � �����

For a constant thickness laminate with speci�ed values of the �ber orientations �p and �q�the cosine terms are constants and� therefore� the in�plane sti�ness parameters are linearfunctions of the number of layers np and nq� Hence� the elements of the in�plane sti�nessmatrix A are also linear functions of the number of layers� When the laminate thickness isnot constant� the lamination parameters are not linear functions of the number of layers�but the in�plane sti�ness coe�cients are still linear� because the h in the denominators inEqs� ����� cancels the h in Eqs� �����

For example� consider a balanced symmetric laminate which contains only ��� �����and ��� layers� The in�plane lamination parameters are given by

V �� �

t

h�no � nn � and V �

� �t

h�no � nf � nn � �����

where no is the number of �� layers� nn is the number of ��

� layers� and nf is the numberof ��� layer groups in half of the laminate� The thickness of the laminate may be writtenas

h � t�no � nf � nn � �����

���

Page 5: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� IN�PLANE STIFFNESS DESIGN AS A LINEAR INTEGER PROGRAMMING PROBLEM

Substituting this expression into Eq� ����� we see that the in�plane sti�ness parametersV �� and V �

� are no longer linear in the numbers of layers of distinct orientation angles�However� the coe�cients of the sti�ness matrix are still linear functions of the number oflayers� Substituting the in�plane sti�ness parameters into Eqs� ����� yields the followingexpressions for sti�ness coe�cients

A�� � t ��no � nf � nn U� � �U� � U� no � U�nf � �U� � U� nn� �

A�� � t ��no � nf � nn U� � �U� � U� no � U�nf � �U� � U� nn� �

A�� � t ��no � nf � nn U� � U��no � nf � nn � � �����

A�� � t ��no � nf � nn U� � U��no � nf � nn � �

The weight of the laminate is proportional to the total laminate thickness h which wehave seen is a linear function of the number of layers� Thus� we can formulate as LP anyin�plane design problem which involves the weight and linear expressions in the elementsof the A matrix�

The e�ective engineering elastic constants are not linear functions of the numbers oflayers� but two of them� the laminate shear sti�ness Gxy and the Poisson�s ratio �xy� canbe used to formulate linear constraints� For example if we require that the laminate has aPoisson�s ratio larger than a certain value �xy � �dxy� using Eqs� ����� and ����� we canimpose the following linear constraint

�no � nf � nn U� � U��no � nf � nn � �dxy��no � nf � nn U� � �U� � U� no

�U�nf � �U� � U� nn� � �����

This equation may be rearranged in the standard form of an inequality constraint as

��U� � U� � �dxy�U� � U� � U� �no � �U� � U� � �dxy�U� � U� �nf

� �U� � U� � �dxy�U� � U� � U� � � � � �����

Most in�plane laminate design problems can be usually classi�ed as weight minimizationor sti�ness maximization� In the weight minimization problem� we minimize the weightof the laminate� which is equivalent to minimizing the thickness when the laminate ismade from a single material� Constraints are placed on the sti�nesses and occasionallyon the maximum or minimum percentages of layers of given orientation� In the sti�nessmaximization problem� the objective function is one of the sti�ness properties� while theweight� or the thickness� or the total number of layers are speci�ed� Additional sti�nessand layer percentage constraints may also be present� The following example demonstratesa sti�ness maximization problem� The weight minimization problem is left as an exercise�see Exercise � �

���

Page 6: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

Example �����

For a �� layer balanced symmetric laminate� formulate the problem of determining the numberof ��� ����� and ��� layers to maximize the sti�ness coe�cient A�� while keeping the shearsti�ness Gxy of the laminate larger than �� GPa� and A�� larger than ��MN�m� The propertiesof individual layers are E� � �� GPa� E� � ��� GPa� G�� � �� GPa� ��� � ���� andt � ������ ����m�

Using the material properties speci�ed� we calculate the Ui�s to be

U� � ���� GPa� U� � ���� GPa� U� � ���� GPa�

U� � ����� GPa� and U� � ����� GPa �

For this problem the laminate has constant thickness of

� t �no � �nf � nn � h � �� ����m �

and so from Eq� ���� the coe�cients of the sti�ness matrix A are

A�� � ���� �����no � ����nf � �����nn �

A�� � ���� �����no � ����nf � �����nn �

A�� � ������ ����no � ����nf � ����nn �

all in MN�m� Therefore� the shear sti�ness is

Gxy � ������ ����no � ����nf � ����nn GPa �

The optimization problem is then formulated as

maximize f�no� nf � nn � �����no � ����nf � �����nn

subject to �����no � ����nf � �����nn � ��� �

�����no� ����nf � ����nn � ����� �

no � �nf � nn � � �a

no� nn � �� �� �� � � � � �

nf � �� �� �� � � �

Note that the constant term in the A�� is ignored for the objective function because mostlinear programming programs do not allow constants in their input� Adding a constant to theobjective function or multiplying it with a positive constant does not change the optimal valuesof the design variables� However� these operations change the value of the objective function atthe optimum� and that change must be reversed in order to obtain the optimum of the originalproblem� Also note that the constraint equation Eq� a is added to the problem to insure thatthe total number of layers in the laminate adds up to sixteen� Based on this equation� the

���

Page 7: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� SOLUTION OF INTEGER LINEAR PROGRAMMING PROBLEMS

design variable no and nn can take any integer value between � and �� but the largest integernumber nf can assume is �� which correspond to all ��� laminate�

The solution of the problem is no � �� nf � � nn � � which corresponds to a ���������slaminate� � � �

��� Solution of Integer Linear Programming Problems

A common approach to solving MILP problems is to round�o� the optimum values of thevariables� obtained by assuming them to be continuous� to the nearest acceptable integervalue� For problems with n integer design variables there are n possible rounded�o� designs�and the problem of choosing the best one is formidable for large n� For example� for aproblem with �� design variables there are ���� possibilities� Increasing the number ofdesign variables to � would increase the number of possibilities to more than ����������Furthermore� for some problems the optimum design may not even be one of these rounded�o� designs� while for others� none of the rounded�o� designs may be feasible� Thus� insteadof using continuous optimization method followed by rounding� it may be more reasonableto use methods speci�cally developed for MILP problems�

����� Enumeration

For problems with a small number of design variables� enumeration of all possible solutionsis a reasonable alternative to rounding� For many laminate design problems� the cost of ananalysis is low enough so that enumeration is a reasonable procedure� even if the numberof possible designs is in the thousands�

Example �����

Solve Example ���� by enumerating all possible ���ply laminates� The possible laminatesare ��no�� ��nf���nn�s� with the condition of having exactly �� layers given as

no � �nf � nn � �

It is convenient to enumerate on the basis of the number nf of ���� pairs� as we can have only possible values ��������� � Then for each value of nf � we can vary no from zero to � �nf �and use what is left for nn� The results are summarized in Table ���

Only four of the laminates satisfy the constraints that A�� be at least �� MN�m and thatGxy be at least �� GPa� and these are marked by the letter �F� for feasible design � Amongthese the ���������s design� has the highest A��� � � �

���

Page 8: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

Table ���� Enumeration of all possible �� balanced symmetric laminates

laminate A���MN�m A���MN�m Gxy�GPa �����s ����� ����� ����

�������s ����� ���� ������������s ����� ������ ������������s ����� ����� ������������s ����� ����� ������������s ����� ����� ������������s ������ ����� �����������s ���� ����� ��������s ����� ����� �������������s ����� ����� ���������������s ����� ������ ����������������s ��� ����� ����������������s ���� ���� ����������������s ����� ��� ���������������s ������ ����� ������������s ����� ����� ��������������s ����� ������ ����������������s ����� ���� �����������������s ����� ����� ����������������s ���� ����� �������������s ������ ����� ��������������s ���� ����� ���� F�����������s ���� ���� ���� F���������s ����� ���� ���� F������s ���� ���� ����� F

���

Page 9: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� SOLUTION OF INTEGER LINEAR PROGRAMMING PROBLEMS

As can be seen from this example� we have used the condition that the total numberof layers is �� to reduce the number of combinations of no� nf and nn that we needed tocheck� A systematic way of taking advantage of constraints to reduce the number of casesthat need to be inspected by enumeration is called an enumeration tree� An example fromGar�nkel and Nemhauser ���� demonstrates the use of a constraint in an enumerationtree� The example also introduces some of the terminology that will be useful for the mostimportant algorithm for ILP discussed later in this chapter text� the Branch�and�Boundtechnique�

Example �����

Consider the binary ILP problem of choosing a combination of �ve variables such that thefollowing summation is satis�ed

h �

�Xi��

ixi � � �

A decision tree representing the progression of solution of this problem is composed of nodesand branches that represent the solutions and the combinations of variables that lead to thosesolutions� respectively Figure �� � The top node of the tree corresponds to a solution for whichall the variables are turned o� xi � �� i � �� � � � � � with a function value of h � �� Branchingfrom this solution are two paths corresponding to the two alternatives for the �rst variable� Thebranch with x� � � has h � � and tolerates turning additional variables on without runningthe risk of exceeding the required function value of �� The other branch is same as the initialsolution� and can be branched further� Next� these two nodes are branched by considering theon and o� alternatives for the second variable� The node arrived by taking x� � x� � � hash � and is terminated because further branching would mean adding a number that wouldcause h to exceed its required value of �� Such a vertex is said to be fathomed� and is indicatedby a vertical line� The other three vertices are said to be live� and can be branched further byconsidering the alternatives for the remaining variables in a sequential manner until either thecreated nodes are fathomed or the branches arrive at feasible solutions to the problem�

For the present example� after considering �� possible combinations of variables� we iden�ti�ed � feasible solutions which are marked by an asterisk� This is a ��� reduction in thetotal number of possible trials� namely �� � �� needed to identify all possible solutions� For alaminate design problem in which trials with di�erent combinations of variables could requirelengthy analyses an enumeration tree can yield substantial savings� � � �

����� Branch�and�Bound Algorithm

The concept behind the enumeration technique forms the basis for this powerful algorithmsuitable for MILP problems� The original algorithm� developed by Land and Doig ����� �

���

Page 10: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

h = 0

x 1 = 1

x1 = 0

h = 1

h = 2

h = 3 h = 4 h = 5

h = 1 h = 1 h = 1

h = 0

h = 0

h = 0 h = 0 h = 0

h = 5h = 4h = 3

h = 2

h = 5

x 2 = 1

x2 = 0 x3 = 0

x 3 = 1

x4 = 0

x 4 = 1

x2 = 0

x3 = 0 x4 = 0

x 4 = 1x3

= 1

x 2 = 1

x 3 = 1

x3 = 0

x5 = 0

x 5 = 1

*

*

*

Figure ���� Enumeration tree for binary ILP problem with constraint h �P�

i� ixi � ��

relies on calculating upper and lower bounds on the objective function� so that nodes thatresult in designs with objective functions outside the bounds can be fathomed� and thereby�the number of analyses required can be reduced� Consider a hypothetical example of aMILP problem of the type of Eq� ����� � The �rst step of the algorithm is to solve theLP problem obtained from the MILP problem by assuming the variables to be continuousvalued� If all the x variables for the resulting solution have integer values� there is no need tocontinue� the problem is solved� Suppose several of the variables assume non�integer valuesand the objective function value is f�� The f� value will form a lower bound fL � f� for theMILP� since imposing conditions that require non�integer valued variables to take integervalues can only cause the objective function to increase� This initial problem is labeled asLP�� and is placed in the top node of the enumeration tree as shown in Figure ��� � Forthe purpose of illustration� it is assumed that only two variables xk and xk�� violate theinteger requirement with xk � x�k � �� and xk�� � x�k�� � ���

The second step of the algorithm is to branch from the node into two new LP problemsby adding a new constraint to the LP�� that involves only one of the non�integer variables�say xk� One of the problems� LP�� will require the value of the branched variable� xk tobe less than or equal to the largest integer smaller than x�k� and the other� LP�� will havea constraint that xk is larger than the smallest integer larger than x

�k� These two problems

��

Page 11: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� SOLUTION OF INTEGER LINEAR PROGRAMMING PROBLEMS

LP - 2f2

LP - 4f4 > fU

LP - 3fU = f3

LP - 5f5 < fU

xk = 4.3xk+1 = 2.8

x k

4xk = 4xk+1 = 3.5

xk = 5xk+1 = 2

xk+1 3

xk 5

xk+1 4

LP - 1fL = f1

>_

>_

>_

>_

Figure ��� Illustration of branch�and�bound decision tree for MILP problems�

actually do branch the feasible design space of the LP�� into two segments� There areseveral possibilities for the solutions of these two new problems� One of these possibilities isto have no feasible solution for the new problem� In that case the new node will be fathomed�Another possibility is to reach an all integer feasible solution �see LP� of Figure �� � In thiscase the node will again be fathomed� but the value of the objective function will providean upper bound for the optimum solution because it is feasible�

We denote that upper bound as fU and update it when we �nd other integer solutionswith lower values than the current fU � Once an upper bound has been established� any nodethat has an LP solution with a larger value of the objective function will be fathomed� andonly those solutions that have the potential of producing an objective function betweenfL and fU will be pursued� If there are no solutions with an objective function smallerthan fU � then the node with fU is an optimum solution� If there are other solutions withan objective function smaller than fU � they may still include non�integer valued variables�LP� of Figure �� � and are labeled as live nodes� Live nodes are then branched again byconsidering one of the remaining non�integer values and resulting solutions are analyzeduntil all the nodes are fathomed�

The performance of the branch�and�bound algorithm depends heavily on the choice ofnon�integer variable to be used for branching� and the selection of the node to be branched�If a selected node and branching variable leads to an upper bound close to the objectivefunction of the LP�� early in the enumeration scheme� then substantial computational sav�ings can be obtained because of the elimination of branches that cannot generate solutionslower than the upper bound� A rule of thumb for choosing the non�integer variable to be

��

Page 12: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

LP - 1

LP - 2 LP - 3

LP - 4 LP - 5

no ≥ 4 no ≤ 3

nf ≥ 3 nf ≤ 2no solution

no solution

no = 3.51nf = 2.24nn = 0

A11 = 94.00

no = 3nf = 2.5A11 = 87.25

no = 2nf = 3A11 = 74.00

Figure ��� Branch and Bound decision tree for laminate design problem

branched is to take the variable with the largest fraction� For the selection of the node tobe branched� we choose� among all the live nodes� the LP problem which has the smallestvalue of the objective function� that node is most likely to generate a feasible design witha tighter upper bound�

Example �����

Solve Example ���� by the branch�and�bound method� using software for solving continuouslinear programming problems�

The decision tree for this problem is shown in Figure ��� The �rst node shows the solutionwith non�integer number of layers �������� �������s� with A�� � �� GPa� With no having thelarger fraction� we branch on no� The branch with the additional constraint of no � � doesnot have a solution because the constraint on Gxy cannot be satis�ed� The branch with anadditional constraint of no � yields the solution ����� ������s with A�� � ���� GPa� Nowthat no and nn are integers� we can branch only on nf � As shown in the Figure� the branch withnf � � does not have a solution because again we cannot satisfy the constraint on Gxy� andthe branch with nf � yields ����� ����s with A�� � ���� GPa� This is an integer solution�and since we do not have any more live nodes it is the optimum solution�

� � �

���

Page 13: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

Branch�and�bound is only one of the algorithms for the solution of ILP or MILP prob�lems� However� because of its simplicity it is incorporated into many commercially availablecomputer programs �see� for example� Johnson and Powell ����� � and Schrage ����� �There are a number of other techniques which are capable of handling general discrete�valued problems �see� for example� Kov�acs ����� � Some of these algorithms are good notonly for ILP problems but also for NLP problems with integer variables�

Linear problems have a big advantage over nonlinear ones in that we can count on get�ting the global optimum for the problem� Algorithms for nonlinear problems� on the otherhand� typically provide only a local optimum� A methodical way of dealing with multipleminima for discrete optimization problems is to use random search techniques that samplethe design space for a global minimum without the use of derivatives� However� the e��ciency of traditional random search techniques is poor for problems that have large numberof variables� Two algorithms� simulated annealing �Laarhoven� ���� and genetic algorithms

�Goldberg� ���� � have emerged more recently as tools ideally suited for optimization prob�lems where a global minimum is sought� In addition to being able to locate near�globalsolutions� these two algorithms are also powerful tools for problems with discrete�valueddesign variables� Both algorithms mimic naturally observed phenomena and their imple�mentation calls for the use of a random selection process which is guided by probabilisticdecisions� The next section describes genetic algorithms� in particular some which haverecently been applied to the design of composite laminates�

��� Genetic Algorithms

Genetic algorithms use techniques derived from biology� and rely on the application ofDarwin�s principle of survival of the �ttest� When a population of biological creatures isallowed to evolve over generations� individual characteristics that are useful for survival tendto be passed on to future generations� because individuals carrying them get more chances tobreed� In biological populations these characteristics are stored in chromosomal strings� Themechanics of natural genetics is based on operations that result in structured yet randomizedexchange of genetic information �hence biological traits between the chromosomal stringsof the reproducing parents� and consists of reproduction� crossover� occasional mutation�and inversion of the chromosomal strings�

Genetic algorithms� developed by Holland ����� � mimic the mechanics of natural genet�ics for arti�cial systems based on operations which are the counterparts of the natural ones�even called by the same names � As will be described in the following paragraphs� these op�erations involve simple� easy to program� random exchanges of location of numbers in stringsthat represent the design variables� These operations may appear like a completely random

���

Page 14: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

search of extremum in parameter space based on function values only� However� geneticalgorithms are experimentally proven to be robust� and the reader is referred to Goldberg����� for discussion of their theoretical properties� Here we discuss the genetic represen�tation of a minimization problem� and focus on the mechanics of three commonly usedgenetic operations �namely� reproduction� crossover� and mutation and a fourth operator�permutation �or sometimes called gene swap � recently proposed for buckling optimizationof composite plates�

Unlike many search algorithms that move from one point to another in the design vari�able space� genetic algorithms work with a population of strings� This aspect of the geneticalgorithms is responsible for increased chance for obtaining global or near�global optima�By keeping many solution points that may have the potential of being close to minima�local or global in the pool during the search process� rather than converging on a singlepoint early in the process� we reduce the risk of converging to a local minimum� Workingon a population of designs also suggests the possibility of implementation on parallel com�puters� However� the concept of parallelism is even more basic to genetic algorithms in thatevolutionary selection can improve in parallel many di�erent characteristics of the design�Also� since the outcome of the search is random� repeated genetic optimization will oftenyield di�erent good designs� This aspect can be very useful to the designer when the designspace includes many local optima of comparable performance�

Genetic algorithms have been applied to optimal structural design only recently� The�rst application of the algorithm to a structural design was presented by Goldberg andSamtani ����� who solved a well known ���bar truss weight minimization problem� Morerecently� Hajela ����� used genetic search for several structural design problems for whichthe design space is known to be either nonconvex or disjoint� Rao et al� ����� addressed theoptimal selection of discrete actuator locations in actively controlled structures via geneticalgorithms� Applications of the algorithm to design with composite materials are recent �seeCallahan and Weeks� ���� Le Riche and Haftka ���� Hajela and Erisman ���� Nagendraet al����� and Kogiso et al������ �

����� Design Coding

Application of the operators of the genetic algorithm to a search problem �rst requires therepresentation of the possible combinations of the variables in terms of bit strings that arecounterparts of the chromosomes of the biological genetics� For historical reasons� binarynumbers were predominantly used for representing design information as bit strings� Forinteger design variables this is quite simple� For example� consider the minimization problem

minimize f�x � x � fx�� x�� x�� x�g � ������

���

Page 15: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

where the variables are integer and can assume values in the range f�� � x�� x� � �g�f� � x� � �g� and f � x� � �g� The length of the bit string used to represent eachvariable� in this case� is dictated by the range of the variables� For example� the designvariable vector can be a binary string represented as

� � � �� �z �x�

� � �� �z �x�

� ���z�x�

� � � �� �z �x�

� �����

where binary representations of the individual variables are strung head�to�tail� and� in thisexample� the variables are x� � �� x� � �� x� � � x� � ��� For problems where the designvariables are continuous within a range xLi � xi � xUi � the common practice is to dividethe intervals to a �nite number of subintervals so as to discretize the design variables� Thesize of the subintervals� which determines the precision of the solution obtained by thegenetic algorithm� de�nes the number of bits needed� If a variable is de�ned in a rangefxLi � xi � xUi g and the precision needed for the �nal value is x

incr� then the number m ofbinary digits needed for an appropriate representation can be calculated from

m ���xUi � xLi �x

incr � ��� �����

For example� if f���� � xi � ����g and the required precision is ������ the smallest numberof digits is m � ��� which actually produces increments of ������� in the value of thevariable� instead of the required value of ������

The conversion of variables to binary numbers introduces a degree of complexity that isnot always necessary� Binary variables have the advantage of corresponding to the smallestpossible alphabet� which has some theoretical advantages� For example� with a very largealphabet� it is more di�cult to ensure that every possible gene is present in the initial pop�ulation� However� studies comparing binary to other representations tend to �nd superiorperformance by non�binary representations �e�g�� Michalewicz� ���� Furuya and Haftka���� � In many problems we can use the actual values of the design variables in the string�as long as we take precautions with the crossover and mutation operators as will be de�scribed later� The use of real variables in strings has enjoyed more popularity in Europethan in the United States �see� for example� B�ack and Schwefel� ��� � The European schooloften uses the term Evolutionary Strategies to describe methods� such as genetic algorithms�based on mimicking evolution� Variants of genetic algorithms that employ real numbers andare applied to function optimization have been dubbed as Evolutionary Algorithms by theEuropean school�

For designing the stacking sequence of a laminate we typically employ a code assigningan integer digit to each possible orientation angle� For example� the stacking sequence ofa laminate that can only admit ��� ���� ���� and ��� layers with �xed thickness t can

���

Page 16: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

be represented by a string containing the digits �� � � and �� respectively� The ���plylaminate ������������s is then represented by the genetic code � � � � � � � � � � � � � �� If we make use of the symmetry condition �that is� limit ourselves to only symmetriclaminates we can simply represent the same laminate by � � � � � � ��� This reduction inthe length of the string can signi�cantly improve the speed of the genetic search� There are��� � �� � ��� ���digit strings that correspond to distinct designs� but only �� � ��� ��strings of � digits�

For most applications laminates are further assumed to be balanced� requiring a ����

layer for every ��� layer� The � pair of o��axis angles are normally placed adjacent to oneanother in order to keep the values of the D�� and D�� terms small� This allows us toreduce further the length of the string for balanced symmetric laminates� We de�ne stackvariables which represent two adjacent layers with the same orientation� For a laminatemade of only ���� ���

��� and ��

�� layers we use the � and representation� Therefore� the

������������s laminate is represented by � � � �� This reduction in the length of the string�however� does not permit us to represent laminates containing stacks with odd number of�� or ��� layers� It is also possible to use natural coding� where the gene looks like thestacking sequence� For example� the stacking sequence ������������s may be representedas ��� � � ���� This natural representation reduces the e�ort of coding and decoding� but itrequires more specialized programming tailored to the speci�c set of orientations used�

For in�plane laminate�design problems� the stacking sequence is often unimportant� andwe need only the number of layers in each given orientation� Then we can represent thesymmetric and balanced laminate ����L NL

����L�� NL��� � � � ����� N�

�s as a string withthe L integers Ni� i � �� � � � � L� or with a longer string containing the binary representationof these integers� For example� in�plane design of a ���ply balanced and symmetric laminatewith ���� ����� and ���� stacks can be represented by a string �N� � N� � N��� The integersN�� N� and N�� represent the number of stacks of ��

�� ����� and ���� layers� respectively�and can vary between � and �� Of course� we will need a constraint requiring that N��N��N� � �� Instead we can have a string composed only of �N� � N��� with N� � ��N��N��with a constraint that N� � �� This second representation is much more e�cient� The designspace associated with �N� � N� � N�� has �

� � ��� possible designs� while the design spaceassociated with �N� � N�� has only ��� possible designs� It is easy to check that� because ofthe constraint on N�� there are only �� possible designs� So with the �rst representationwe have a much larger design space� and additionally the great majority of the designsgenerated by the genetic algorithm on the way to the optimum will violate the constraintN� � N� � N� � �� resulting in slower progress towards the optimum� With the secondrepresentation� we have a smaller design space� and more than half of the designs generatedby the genetic algorithm will be possible designs �that is� satisfy the constraint N� � � �

���

Page 17: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

Genetic algorithms generally work with a population of strings that are all of the samelength� This can present a problem when the number of layers in the laminate is unknown�as in the case of thickness minimization� and we use a coding with one number for eachlayer or each two�layer stack� We can solve this problem by making the length of ourstrings correspond to an upper limit on the thickness of the laminate and adding anotherdigit to represent an absent layer or stack� For example� assume that we found that allthe constraints can be satis�ed with a ��ply laminate� but we seek thinner laminates thatsatisfy these constraints� Limiting ourselves to symmetric laminates� this means that we canuse � digit strings to code the laminate� We will then represent the laminate ����s by �� � � �� ��� with the zero in the leftmost position corresponding to the absent layer� Similarly� wewill represent ���������� ���s by �� � � � �� As will be seen later� with this approach weneed to take precautions of not having �s appear anywhere except for the leftmost positionsin the string�

����� Initial Population

Most genetic algorithms work with a �xed size population� so that the size of the initialpopulation of designs determines the size of the population in all future generations as well�We will denote that size by ns� for the number of strings� Choosing the population size isat the present a matter of trial and error� In general� the optimal size of the populationincreases with problem size� That is� the design of a thin laminate that can be representedby a short string will require a smaller population size than the design of a thicker laminatethat must be represented by a longer string� Similarly� the design of a structure composedof several laminates will require an even larger population size� For example� for the designof ���ply balanced symmetric laminates ���digit string subject to buckling and strengthconstraints� Le Riche and Haftka ���� found that the optimum population size was �� Forthe design of a simple wing made up of �� di�erent laminates� the best population size wasabout �� �Le Riche� ���� �

The initial population is typically generated at random� Subroutines or functions thatgenerate random numbers distributed uniformly between � and � are widely available� andwe use them extensively in genetic algorithms� Such random number generators typicallyrequire an input �seed� the �rst time they are called� The seed determines the sequence ofrandom number that will be generated by repeatedly calling the function or subroutine�Thus the numbers are not truly random� and are often called pseudo random numbers�However� for the use in genetic algorithms the distinction is not important� In the followingwe will assume that random numbers are generated by a function RAND�ISEED and wewill denote by r the output of the function�

For example� consider the case of the stacking sequence design of a laminate made of ���

���

Page 18: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

subroutine init�lamin�L�ns�nmax integer lamin�L�ns do ��� i���nsdo ��� j���Llamin�j�i ��nmax�� �rand�iseed

��� continuereturnend

Figure ���� Fortran subroutine for generating initial population of ns strings of length L�with each digit being an integer between � and nmax�

���� ���� and ��� layers� so that each digit in the string can take integer values in the range���� � with zero corresponding to an absent layer� Using RAND� we �rst generate a randomnumber r between � and ���� and then transform it to a choice of an integer between zeroand four by taking the value b�rc� where bxc indicate the integer part of a real numberx ��oor function � We can then repeat this process for each layer to generate the entirelaminate� Then we repeat it again to generate the requisite ns laminates �see Figure ��� �Subroutine init of Figure ��� will produce zeroes or �voids� inside the laminate� and thesevoids will have to be pushed out� for example

� � � � � � � � � � ��������� � ���s � ������

We can use information on the design to bias the initial population makeup� One casewhere we need such bias is when we encounter a singular optimum associated with �� layers�A singular optimum is an isolated optimum which represents a discontinuity in design space�We can get a singular optimum in the design of composite laminates when the objectivefunction favors designs with ���� or ��� layers� but the loading is primarily in the ��

direction� This phenomenon was reported by Schmit and Farshi� ���� for continuous layer�thickness design variables� However� a similar problem with a singular optimum occurs withdiscrete thickness designs� as explained below�

Consider� for example� a ���ply laminate under uniaxial tension� where we want tomaximize Gxy subject to constraints on strains in the layers� The optimum design willusually be an all ���� laminate� If we start with a design with a small number of �� layers�such as �������� s� the strains in the zero �bers will be higher than the strains in the ��

or the ���� �bers �see Exercise at the end of this chapter � If the load is high enough� thelaminate will �rst fail due to breakage of the �� �bers� If we reduce the number of �� layers

���

Page 19: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

by two to �������� s� the situation will worsen as the strains in the �� layers will increase�

However� if we eliminate the last �� layer and get an all ���� laminate� the strains in thezero direction will not matter because we will not have any �bers in this direction� The all���� optimum is called singular because it cannot be obtained by gradual reduction of the�� layers�

When continuous optimization techniques are used� this di�culty has to be counteredby considering designs that have �� layers and also designs that do not have �� layers�With genetic algorithms we have to use a similar strategy� seeding the initial populationwith some designs without any �� layers� Kogiso et al� ����� have shown that such seedinghelps in getting optimal no�zero�layer designs� and does not appear to have adverse e�ectseven when the optimum is not singular�

Once an initial population is generated we apply a series of genetic operators thatproduce a new generation and replace the initial population with the new one� The �rst ofthese operations is selection�

����� Selection and Fitness

The selection process in genetic algorithms mimics biology in giving more �t designs a higherchance to breed and pass their genes to future generations� Genetic algorithms thereforeneed to de�ne �tness and use it in a procedure that selects pairs of parent designs thatwill be used to create child designs for future generations� For unconstrained problems� the�tness of a design can be de�ned as the objective function �for maximization problems or a constant minus the objective �for minimization problems � For constrained problemsthe �tness also must consider constraint violations or constraint margins� Several methodsexist for handling constraints� and this is a hotly debated topic �e�g�� Le Riche et al�� ���� �The following is one simple way for handling constraints�

Consider the standard formulation of an optimization problem� Eq� ������ � where forsimplicity we omit the equality constraints

minimize f�x � x � X

such that gj�x � �� j � �� � � � � ng �

We assume that the constraints are normalized so that a constraint value of ���� correspondsto a �� percent margin� while a constraint value of ��� corresponds to a �� percent de�ciency�The design margin of safety is then de�ned by the most critical constraint gmax � maxj�gj �If gmax is positive the design is infeasible� and we want to add a penalty to the objective

���

Page 20: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

function to help the search move into the feasible design� If gmax is negative we have a feasibledesign with a positive margin of safety� and we want to reduce the objective function as abonus for that margin� We can de�ne an augmented objective function f�

f� �

�f � p gmax � � if gmax � � �f � �jgmaxj otherwise�

������

In Eq� ������ there are two parameters� � and p that penalize infeasible design� The�rst� � should be chosen as a small infeasibility penalty which applies even for very smallconstraint violations� It should typically be a very small percentage of the average value ofthe objective function� The second parameter p penalizes substantial constraint violations�The penalty parameter p needs to be chosen large enough so that all infeasible designshave a higher value of f� than the optimum design� However� we do not want to use a verylarge penalty parameter because the design process often bene�ts from shortcuts taken viainfeasible design� For example� consider a situation where we require the laminate to bebalanced� but we have a coding that permits unbalanced designs� Now suppose we havea design that needs to replace a pair of ������ layers with a stack of ����� layers� Wecan have intermediate designs where only one layer is replaced� For example� a �� layeris replaced by a ��� layer� resulting in an unbalanced laminate� If we penalize constraintviolation too heavily� the unbalanced laminate will have such low �tness value that it willhave very little chance of being selected for reproduction� So to achieve a transition fromthe pair of ������ layers to the ����� stack� we must have two changes in the genetic stringoccur simultaneously� Such double change has very little probability of happening with thestandard genetic operators described below� and having to rely on a double change will slowdown convergence� This example illustrates a case where the easiest transition between twofeasible designs proceeds through an intermediate infeasible design� This situation is notunique to balance constraints� but is quite common� Therefore� large values for penaltyparameters are often found to slow down the convergence of the genetic algorithm�

Occasionally� we have designs which are only slightly infeasible� but which have verygood objective functions� Without the �rst penalty parameter� � we would have to use verylarge values of p to ensure that these designs did not have the best augmented objective�because the value of gmax for these designs is very small� This situation is the reason forusing two penalty parameters instead of one�

The bonus parameter � is needed when the optimum design is not unique� so that wewant to �nd the optimum design with the highest safety margin� When we design laminatesfor minimum thickness we often encounter such non�uniqueness because the thickness canbe only a multiple of the basic layer thickness� Thus� we often can obtain several laminates�all having the same thickness� but with di�erent constraint margins� The bonus parameter

��

Page 21: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

ensures that the selection process favors the design with the highest margin of safety�However� the bonus parameter � needs to be small enough so that no design has a lower f�

than the optimum design� no matter how large the constraint margin is�

Genetic algorithms traditionally use the concept of �tness� which is higher for the betterindividuals� rather than the concept of an objective function which could be maximized orminimized� To accommodate the minimization problem� we can de�ne the �tness� �� fromf� as

� � c� f� � ������

where c is a constant chosen large enough so that � is always positive� but not so large� so asto almost obliterate the relative di�erences between di�erent designs� When large changesin the magnitude of f occur during the optimization� it may be desirable to periodicallyupdate c as well� so that these conditions will be met�

Example �����

Consider the following optimization problem�

maximize f�x

such that g��x � � and g��x � � �

A population of four designs calculated to have the following objective function and constraintfunction values�

design��� f� � ����� g��� ������ g�

�� �����

design��� f� � ���� g��� ���� g�

�� ����

design��� f� � ����� g��� ������ g�

�� �����

design��� f� � ����� g��� ����� g�

�� �����

a Determine the largest value of the bonus parameter � that may be used for this set ofdesigns without causing the GA to pick an inferior design as the best design of the population�

b If the bonus parameter is � � ���� and the penalty parameter � � ����� determine thesmallest value of the penalty parameter p that can be used without causing the GA to pick aninfeasible design as the best design of the population�

For part a of this problem� we consider only designs that satisfy both constraints� Therefore�we will add bonus only to the objective functions of design�� and design��� Note that this isa maximization problem so we add the bonus to the objective function as opposed to thefunction of Eq� ��� from which we subtract the bonus � The bonus is calculated on thebasis of the most critical constraint� For design��� g�

�� ���� is the most critical� and for

design��� g��� ����� is the most critical� Adding a bonus to these constraints for the two

designs will change the �tness function of the respective designs�

�� � ���� � � ���� and �� � ���� � � ����

��

Page 22: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

Clearly� design�� has a better objective function than design��� However� design�� has a con�straint margin which is larger than that of design��� and adding too large a bonus may make the�tness � of the design�� better than that of design��� This is not an acceptable situation� andthe largest value of the bonus parameter should be limited such that the �tness �� is smallerthan the �tness ��� Therefore�

������� ���� � ������ ���� � � � ��� �

For part b � we penalize those designs that have constraint violation� namely� design�� anddesign��� Typically� designs that violate one or more of the constraints have better objectivefunction values than designs that satisfy all constraints� as is the case in this example� If thepenalty parameter is not large enough� the �tness function of the design with a constraintviolation may be better than the �tness of the best design which satis�es all the constraints�In this example� the �tness of the best feasible design with the speci�ed bonus parameter of� � ��� is�

�� � ���� � ��� ���� � ���� �

For the second design� the value of the penalty parameter which will cause �� to become largerthan �� is�

���� ����� p ��� � ���� � p � ���� �

For the fourth design� the value of the penalty parameter which will cause its �tness to becomelarger than �� is�

����� ����� p ���� � ���� � p � �� �

Therefore� the smallest penalty parameter that can be used without causing the GA to pick aninfeasible design as the best design of the population is the largest of the two values� p � �����If we use a penalty parameter of p � ��� the �tness of design�� becomes �� � ���� which islarger than the �tness of the best feasible design and� therefore� is unacceptable� � � �

In the example above we picked the permissible values of the penalty and bonus param�eters by inspecting � possible designs� Of course� other designs may exist that will requiremore stringent values for these parameters� In general� we need to try and estimate reason�able values for these parameters based on our knowledge of the problem� It pays to beginwith relatively small penalty parameters� If these parameters are inappropriate we will �ndthat the genetic algorithm will yield infeasible designs� and then we can increase the penaltyparameters� Similarly� we may want to start with fairly substantial bonus parameters� If we�nd that some of the designs with high constraint margins produce �tnesses larger than �t�nesses for designs that have better value of actual objective function but smaller constraintmargins� we can reduce the bonus parameter�

Once we de�ne the �tness of all the designs in the population� a common procedurefor selecting parent designs is to simulate a biased roulette wheel� with each design beingassigned to a sector of the roulette wheel with an area proportional to its �tness� That is�

���

Page 23: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

subroutine select�R�ns�parent integer parent� dimension R�ns do ��� i���place�rand�iseed do �� j��nsif �place �gt� R�j�� go to ��parent�i �j��go to ���

�� continueparent�i �ns

��� continuereturnend

Figure ���� Fortran subroutine for selecting two parents by simulating a roulette wheel�

with ns designs having �tness values of �i� i � �� � � � � ns� the ith designs gets a fraction riof the wheel� where

ri ��iPnsj� �j

� ������

On the computer the roulette wheel can be implemented by generating a random numberr between zero and one� and then selecting the ith design if

Ri�� � r Ri � ������

where R � ���� and

Ri �iX

j�

rj � i � �� � � � � ns � ������

The procedure is coded as subroutine select in Figure ���� and demonstrated in thefollowing example�

Example �����

For a generation of six designs the following �tnesses were calculated� f��� ��� ��� ��� ��� ��g �f���� ����� ��� ����� ����� ����g� In order to select parents for crossover� six random numbers

���

Page 24: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

between ��� and ��� were generated� r � f������ ������ ������� ������� ������� �����g�Construct the roulette wheel and determine the individuals selected for the crossover operation�

For the given list of �tnesses� the sum of all �tnesses yield

nsXj��

�j � ��� � ���� � �� � ���� � ���� � ���� � ��� �

Therefore� the fractions of the wheel occupied by the di�erent designs are given by�

fr�� r�� r�� r�� r�� r�g � f������ ������ ������ ������� ������� �����g �

In order to implement the selection process using the roulette wheel� we create another list ofnumbers following Eq� ���� �

fR� R�� R�� R�� R�� R�� R�g � f���� ������ ���� ������� ������� ������� ���g �

and the wheel for this generation of designs is shown in Figure �� with the integers on theslices indicating the location of the design in the initial �tness list Also note that the anglesassociated with the Ris are obtained by multiplying them by ��� �

1

2

3

4 5

6R0, R6

R1R2

R3

R4

R5

r = 0.2825

r = 0.7123

r = 0.1560

r = 0.9217

r = 0.6120

r = 0.3471

Figure ���� Roulette wheel for Example �����

The locations of the Ri� i � �� � � � � � are marked along the circumference of the wheel� Foreach value of the random number r� we chose a parent design using Eq� ���� � That is� weplace the random number around the circumference going counter clockwise from R � � and

���

Page 25: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

�nd the interval in which the random number falls� For the �rst random number r � �����we have

R� � ����� � R� �

therefore� design � is selected� For the remaining random numbers� we have

R� � ����� � R�� R� � ������ � R�� R� � ������ � R��

R� � ������ � R�� and R� � ����� � R� �

The parent designs selected for the next generations are�

f�� �� �� �� �� �g �

� � �

De�ning �tness on the basis of the numerical value of the objective function or theaugmented function carries the disadvantage that towards the end of the optimization�when the di�erences between competing designs become small� the selection pressures infavor of the better design becomes small� and progress slows down� For this reason� anotherpopular strategy is to de�ne the �tness based on the relative rank of the designs� In thatcase� the ith ranked design is reassigned a �tness value of

�i � ns � i� � � �������

In this case the portion of the roulette wheel assigned to the design� Eq� ������ � becomes

ri ��ns � i� �

�ns � � ns� �������

Example �����

Repeat the previous example� Example ����� for a �tness list of f��� ��� ��� ��� ��� ��g �f����� ����� ����� ����� ����� ����g� which represent a typical population towards the end of agenetic optimization when the di�erence between the designs becomes small� Use the same sixrandom numbers used in the previous example� a for the standard �tness�based selection� b for the rank�based selection process�

a In this case of �tness based selection� the fractions of the wheel occupied by the di�erentdesigns are given by�

fr�� r�� r�� r�� r�� r�g � f������ ������� ������� ������ ������� �����g �

and the wheel for this generation of designs is shown in Figure ���a�

���

Page 26: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

1

2

3

4

5

6

R0, R6

R1R2

R3

R4 R5

r = 0.2825

r = 0.7123

r = 0.1560

r = 0.9217

r = 0.6120

r = 0.3471

12

3

4

5

6 R0, R6

R1

R2

R3

R4

R5

r = 0.2825

r = 0.7123

r = 0.1560

r = 0.9217

r = 0.6120

r = 0.3471

a) based on fitnesses b) based on ranking

Figure ���� Roulette wheel for example ����

The list of summation of fractions of the area of the wheel is�

fR�� R�� R�� R�� R�� R�g � f������ ����� ������ ������� ������ ���g �

For the same set of random numbers used in the previous example� we have

R� � ����� � R�� R� � ����� � R�� R � ������ � R��

R� � ������ � R�� R� � ������ � R�� and R� � ����� � R� �

yielding the following parents�f�� �� �� �� �� g �

Note that� none of the designs are selected twice as parents�

b Reordering the designs according to ranking we have

f����� ����� ����� ����� ����� ����g �

where the corresponding designs from the original list are�

f� �� �� �� �� �g �

The new rank�based �tnesses for these designs are�

f�� �� �� � �� �g �

���

Page 27: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

The fractions of the wheel occupied by the rank�based designs are given by Eq� ����� as�

fr�� r�� r�� r�� r�� r�g � f������ ����� ������� ������� ������� ������g �

and the wheel for this generation of designs is shown in Figure ���b� Note that the numbers inthe list above are ordered from best to poorest rather than by the original order of the designs�So r� � ����� corresponds to the best design� or design �� of the original list�

The list of summation of fractions of the areas of the wheel is�

fR�� R�� R�� R�� R�� R�g � f������ ����� ������ ������ ������� ���g �

and� for the same set of random numbers used in the previous example� we have

R � ����� � R�� R� � ����� � R�� R � ������ � R��

R� � ������ � R�� R� � ������ � R�� and R� � ����� � R� �

These random numbers select the

f�� � �� �� � �g

designs of the ranked population as parents� The original designs corresponding to these parentsare�

f� �� � �� �� �g �

The designs � and � in the original population� which are among the designs with the highest�tnesses� are each selected twice as parents� On the other hand designs � and of the originalpopulation with low �tnesses are not selected� � � �

Another advantage of the rank�based selection procedure is its capability to handlenegative values of the �tness function� �� as well as the combination of negative and positiveones� This feature becomes especially handy in cases where� for designs that violate theconstraint� a large penalty multiplier causes the �tness function to become negative �seefor example Exercise ��� �

����� Crossover

Once pairs of parents are selected� the mating of the pair also involves a random processcalled crossover� The simplest crossover� the single�point crossover� begins by generating arandom integer k between � and L� �� where L is the string length� This number de�nes acuto� point in each of the two strings� and separates each into two sub�strings� Denoting�for convenience� the two parts as left �initial part and right ��nal part substrings� wesplice together the left part of the string of one parent with the right part of the string ofthe other parent� The random integer needed for de�ning the cuto� point can be generated

���

Page 28: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

as ��L�� r���� where r is our ������ uniformly distributed random variable� Consider� forexample� two symmetric laminates coded in a string of length L � �� and a crossover pointk � �

parent �� � � � �k � � � �������� � ������s �

parent �� � � � � �k � � ������ � ��������s � ������

The two possible child designs are

child �� � � � � � � ����������� � ��������s �

child �� � � � � � � � � ���� ������s � ������

One or both of the child designs are then selected for the next generation� Note that eventhough both parent laminates are balanced� neither child is� This indicates the disadvantageof coding that distinguishes between �� and �� in balanced laminates� One solution to thisproblem is to use the previously discussed two�layer stacks� Another solution is discussedlater in Section ����� �

Crossover is typically implemented with some probability pc� If crossover is not indicatedthen one of the parents is cloned into the next generation� Implementation of crossoverbegins with the generation of single random number r uniformly distributed between ��and �� If the number is less than pc crossover will be performed by generating anotherrandom number for the cuto� point� The decisions on which parent to clone or which childdesign to select are not important� as the parents were selected at random� The processesof selection and crossover are repeated until there are ns child designs�

Multiple point crossovers in which information between the two parents are swappedamong more string segments is also possible� but because of the mixing of the strings thecrossover becomes a more random process and the performance of the algorithm mightdegrade �De Jong� ���� � An exception to this is the two�point crossover� In fact� the onepoint crossover can be viewed as a special case of the two point crossover in which one endof the string is the second crossover point� Booker ����� showed that� instead of lettingthe end of the string to be the second point that de�nes the string segment to be crossed�choosing the end�point randomly improves the performance of the algorithm�

When integer or real variables� such as number of layers or panel dimensions� are rep�resented by binary strings� crossover may generate child designs that do not bear anyresemblance to the parent designs� Consider� for example� a rectangular panel with a lengthvariable l� Assume the length variable to have an expected range of ������ � inches� rep�resented to an accuracy of ���� inch by a ��digit binary number b� The binary number hasa range from � to � � � � �� so that we calculate l as

l � ���� �b � � � �������

���

Page 29: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

The following crossover scenario� between two panels of lengths ��� and ��� can take place

parent �� � �k� � � � l � ��� �

parent �� � �k� � � � l � ��� � �������

The two possible child designs are

child �� � � � � � � l � ���� �

child �� � � � � � � l � � � �������

That is� instead of getting child designs that have some intermediate value between thetwo parent designs we obtain designs that are more extreme than either parent� One cancheck that most of the designs obtained by crossover from these two parents will have thisproperty� This property reduces from the e�ectiveness of crossover operator for combiningexisting traits from parent designs into the child designs� However� it contributes to theexploration of new design alternatives� a process which is usually handled by the mutationoperator described in the next section� It is probably preferable to let the crossover operatorcontrol recombination of existing traits� and the mutation operator handle exploration ofnew traits� However� one can expect that in some situations the additional exploratorypower of the binary crossover operator is bene�cial�

If� on the other hand� we use real numbers to represent the variables we run into theopposite problem� In this kind of a representation the real values of each of the variablesis assigned to a single location in the genetic string� With binary representation of thesereal numbers� crossover can create child designs which have intermediate values of theparents genes� However� with each real number represented by a single gene� crossover canonly reproduce values present in the initial population� This situation may be acceptable�since the mutation operator� described in the next section can create new values� Anothersolution to this problem is to replace the ordinary crossover with an averaging crossover�For example� if we have a string of length L with integer or real variables� we generate thecrossover cuto� point as a real random number w � rL between � and L� Then we take the�rst bwc variables from one parent� the last L � bwc � � from the second parent� and weaverage the bwc � � variable between the two parents according to the fraction w � bwc�That is� if in location bwc � � the �rst parent has the value x� and the second parent x��then the child design will have

xc � �w � bwc x� � ��� w � bwc x� �������

Consider� for example� a problem where we design a balanced� symmetric laminated platewith the design variables being the length a and width b of the plate� and the numbers ofstacks of ���� ���

�� and ���� in half of the thickness of the plate� denoted as N� N�� and

���

Page 30: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

N�� respectively� The genetic string will be �a � b �N� N�� � N��� The following crossoverscenario will correspond to a ����� �� ���� plate crossed with a ���� �� ����� �������splate with a cuto� point of ���

parent �� ���� �� � � � �

parent �� ��� �� � � �������

The �only child design is

child � ���� �� � � �������

That is the child design is a ������� ����������� �s plate� Note that with the cuto� pointbeing ��� the �rst two numbers in the string were taken from parent �� the last two fromparent � while the third number was calculated as

N � ��� � � � ��� �� � � ��� � ������

and then rounded down to an integer� If the cuto� involved one of the real numbers inthe string the last step of rounding would have not been required� The process is coded insubroutine cross for integer variables� as shown in Figure ����

����� Mutation

Mutation serves an important task of preventing premature loss of important genetic in�formation by introduction of occasional random alteration of a string� Inferior designs mayhave some good traits that can get lost in the gene pool when these designs are not selectedas parents� Additionally� mutation is needed when integer or real coding is used because inmost cases there is low probability that all the possible genes are represented in the initialpopulation� Consider� for example an initial population of � designs� each with � genes�where each gene can take a value from � to ��� Let us calculate the probability that nomember of the initial population will have a value of �� for one of the � genes� The prob�ability that any individual design does not have the value �� in the �rst gene is ���� Theprobability that none of the designs have that value is ���� � ����� That is the probabilitythat at least one design will have a gene with a value of �� is ������ The probability thatat least one design will have the value �� for each one of the � genes is ������ � ����� Thatis� there is more than �� percent chance that the value �� is missing from at least one genein the entire initial population� Because this is the highest value for the gene� averagingcrossover cannot create this gene� and only mutation can�

Mutation is implemented by changing� at random� the value of a digit in the string withsmall probability� Based on small rate of occurrence in biological systems and on numerical

��

Page 31: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

subroutine cross�parent�chldlm�prntlm�ns�pc�L integer parent� �prntlm�L�ns �chldlm�L id��parent�� id�parent� clone�rand�iseed if �clone �gt� pc thendo ��� i���Lchldlm�i �prntlm�i�id�

��� continuereturnelseendifrcut�L�rand�iseed icut�int�rcut if �icut �eq� � go to ��do �� i���icutchldlm�i �prntlm�i�id�

�� continue�� continue

chldlm�icut�� ��rcut�icut �prntlm�icut���id� � �����rcut�icut �prntlm�icut���id if �icut �eq� L�� returndo ��� i�icut��Lchldlm�i �prntlm�i�id

��� continuereturnend

Figure ���� Fortran subroutine for averaging crossover with integer variables in a string oflength L� Crossover is performed with probability pc� otherwise the �rst parent is cloned�

��

Page 32: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

experiments� the role of the mutation operation on the performance of a genetic algorithmis considered to be a secondary e�ect� Goldberg suggests a rate of mutation pm of one inone thousand bit operations� However� when integer coding is used higher mutation ratesare required� Our experience with stacking sequence design suggests a rate of about one ina hundred� with smaller populations requiring higher mutation rates to preserve diversityin the population� Mutation is implemented by generating a random number between � and� and applying a mutation if its value is smaller than pm� Another random number canthen be used to select a replacement to the digit being mutated� When we use � to denoteabsent layers� a mutation may create a void inside the laminate� so that we have to packthe laminate as described earlier in Section ���� after the mutation operation�

When real design variables are coded as binary numbers� there are situations wheresmall changes in the design cannot be achieved by mutations� For example� consider thecase when we have an integer design variable varying from � to �� coded as a � digit binarynumber� The string ������� corresponds to �� and the string ������� corresponds to ��� Eventhough the two designs are close� it is extremely unlikely that a mutation will change onestring into another� This can occasionally result in slower progress for the algorithm� Forexample� if the optimum design corresponds to ��� and �� is a close second best� we canrun into situations when most of the members of the population have a value of �� at somestage of the optimization� Making the �nal improvement from �� to �� can then take a verylong time� To counteract this problem� one can use another binary coding� called the graycode� which does not have the abrupt change in digits due to small changes in the valueof the number� Alternatively� we can add another mutation operator� called local mutation�applied to the original variables rather than the coded ones� This local mutation operatoris also useful when we do not use binary numbers but use the actual values of the variablesin the string� Subroutine locmut� shown in Figure ���� performs such a mutation� Thesize of the mutation is dictated by the parameter range�

The mutation coded in subroutine locmut in Figure ��� is based on a uniform dis�tribution� When real variables are used in the string� the mutation is often a normallydistributed random number with a zero mean and a speci�ed standard deviation �see� B�ackand Schwefel� ��� �

����� Permutation� Ply Addition and Deletion

For stacking sequence design� several specialized mutation operators have been suggestedin the literature� One class of operators is permutation operators which change the stack�ing sequence without changing the composition of the laminate� These operators changethe bending sti�ness of the laminate without changing its in�plane properties� They areparticularly useful for laminate problems with constraints on both in�plane and bending

���

Page 33: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

subroutine locmut�lamin�L�pm�range dimension lamin�L do ��� i���Ldodont�rand�iseed if �dodont �gt� pm go to ���mute�range�rand�iseed if �dodont �lt� ��� thenlamin�i �lamin�i �muteif �lamin�i �lt� � lamin�i ��elselamin�i �lamin�i �muteendif

��� continuereturnend

Figure ���� Fortran subroutine for local mutation which perturbs integer variables by�rangewith probability pm�

properties as explained below�

In problems of stacking sequence design� there are many laminates with the same in�plane properties and di�erent bending properties� For example� the laminates �������s����������s� and �������s have the same in�plane sti�nesses but di�erent bending sti�nesses�In fact� any permutation of the stacking sequence preserves the in�plane properties� In par�ticular� if we consider the optimum stacking sequence for a combined in�plane and bendingproblem� there may be many laminates with identical layer composition� but with di�erent�non�optimal stacking sequence� Since there are many possible laminates� the genetic algo�rithm typically �nds laminates with optimal composition of orientation angles early in thesearch� and the rest of the search is devoted to shu ing the stacking sequence to producethe desired bending properties�

Achieving a permutation in stacking sequence by a standard mutation operator is dif��cult because it calls for two simultaneous mutations� which have a low probability ofoccurring� For this reason� various permutation operators have been proposed for stackingsequence design �e�g�� Le Riche and Haftka ���� ����� Marcelin et al�� ����� Nagendra etal�� ���� � The simplest� and possibly the most e�ective permutation operator is the ply�swap� where two layers are interchanged� For example� for a symmetric balanced laminate

���

Page 34: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

����� ������������������ ���s with positions and � chosen for a ply�swap� we have ����

���� ����� ��� coded as ������ respectively

before ply�swap � � � � � � � �

after ply�swap � � � � � � � � � ������

leading to ���� � �������������� ���s laminate�

Occasionally� the number of plies of each orientation is �xed� and the laminate de�sign requires only to obtain the best stacking sequence with the given orientations� Thisis equivalent to �nding the best permutation of a baseline laminate� Specialized codingsand crossover have been developed for permutation problems arising in scheduling �e�g�Michalewicz� ��� � These can be adapted to composite optimization� and have proved tobe highly e�cient �Liu et al� ���� �

When the thickness of a laminate is not speci�ed� we use empty layers or stacks withspecial code �e�g� zero to allow for variable thickness� The standard mutation operatorin this case controls the processes of adding layers� deleting layers� and changing theirorientation in a collective manner� These operators are referred to as� the ply�addition� ply�deletion� and ply�orientation mutations� respectively� Assigning di�erent probabilities tothe three di�erent forms of the mutation operator may provide performance improvements�For example� if a single mutation probability is used� we may change the laminate thicknessmore frequently than we need� The optimum laminate thickness is usually achieved earlyin the genetic search� so that the probability of adding or subtracting layers should be lowcompared to the probability of changing the orientation� Le Riche and Haftka� ����� showthe bene�t of using separate ply�addition� ply�deletion� and ply�orientation mutations� Na�gendra et al�� ����� show similar gains� and also suggest separate ply�swap operators forinterchanging layers in the same laminate and between di�erent laminates in the compo�nents of a sti�ened panel �e�g�� between the skin and the sti�ener laminates �

���� Computational Cost and Reliability

Genetic algorithms tend to be costly� requiring thousands of analyses� The cost depends onthe size of the design space and the way constraints hinder movement in the design space�Therefore� to keep the computational cost manageable it is useful to try and keep downthe size of the design space and avoid formulating constraints in such a way that they willgreatly constrain the movement in the design space� The constraint re�ecting the balancedlaminate requirement is a good example of this principle� Consider for example� the designof a ���ply symmetric and balanced laminate to be made of ��� ���� and ���� orientations�The symmetry allows modeling of only half of the laminate� so that the string length is

���

Page 35: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

�� With four possible digits to represent the four orientations� the size of the design spaceis ��� � �� � ����� As noted in the Crossover Section �Section ����� � even if two parentlaminates are balanced the child laminate is often not balanced� That is� we have a verylarge design space� and the balance constraint is violated for many laminates generated bycrossover or mutation�

If we use stacks of two layers each ��� ���� and ���� we automatically satisfy thebalance constraint and� for the ���ply laminate� reduce the string length to �� With onlythree possible digits the size of the design space shrinks to �� � ��� ���� Of course� wemay lose a bit on performance� because we exclude laminates with odd number of layers ofthe same orientation in a stack� If we have a problem where this consideration is importantenough� we can still salvage some of the performance gains� We can use� for example� thedigits �� � and to represent the possible layers� with � representing �� and representing��� layers� The digit represents either a ��� or a ���� layer� with the understanding thatthe outermost in the string corresponds to ���� the next corresponds to ����� and so on�The size of the design space is now �� � ��� ����� which is still ���� times smaller thanthe original design space� Also� now we can never have more than a single layer violationof the balance condition� and violations are less common as a result of crossover�

The computational cost of genetic algorithms also depends on our requirements in termsof reliability� It is important to realize that because of the random aspects of the algorithm�each execution of the algorithm can result in a di�erent answer� High reliability means thatalmost always the answer is close enough to the global optimum� Le Riche and Haftka ���� de�ned practical reliability as the probability that the optimum is !practically equal" tothe global optimum� For the buckling and strength problems that they solved� they de�nedthe term !practically equal" to mean within ��� percent of the optimum� The reliabilitycan be increased by increasing the number of generations that the algorithm is run� and byincreasing the number of strings ns� Alternatively� we can simply run the algorithm severaltimes and take the best answer� All of these strategies cause an increase in computationalcost� However� multiple runs may also produce multiple solutions that could be useful tothe designer� This point is illustrated in the following example�

The reliability of the genetic algorithm is usually established by testing with problemswith known solutions� If the algorithm is run m times and is successful in �nding the globaloptimum ms of these runs� then the apparent reliability ra is

ra � ms�m � �����

However ifm is small� the apparent reliability may be quite di�erent from the true reliabilityr� In fact� with a bit of statistics� it can be shown that the standard deviation a of the

���

Page 36: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

apparent reliability is

a �qr��� r �m � �����

For example� if we have � successful runs out of ��� the apparent reliability is ���� with astandard deviation of ������

Example �����

Use genetic optimization to �nd the thinnest balanced symmetric Graphite�Epoxy laminatemade of ��� ���� ����� ���� and ��� layers that satis�es the strain constraints of Example������

Since this is an in�plane problem� we do not need to design the stacking sequence but onlythe number of layers in each orientation� We� therefore� select the design variables as n� n��n��� n�� and n� With the symmetry and the balance condition the total number of layers inthe laminate� which is the objective function� is

f � ��n � n � ��n� � n�� � n� �

The two constraints are a limit of ����� on the axial strain �x under a load of Nx � ��� ���lb�in� and a limit of ����� on the shear strain xy under a load of Nxy � � ��� lb�in� We writethe constraints in a normalized form as

g� ��x

��� � � � �

g� ��xy��

� � � � �

For the genetic optimization we use a string of �n� n�� n��� n�� n � and an augmentedobjective function of

f� �

�f � pmax�g�� g� if max�g�� g� � � �f � � jmax�g�� g� j otherwise�

To determine the magnitude of p we note that in Example ����� the total number of layersvaried between �� and ��� depending on the choice of orientation angles� For any of thesechoices� one constraint is critical� i�e� close to zero� Reducing the number of layers by� say ��percent� will increase the strains by �� percent� and so will result in gmax becoming about ����We need the penalty associated with this violation to result in an increment to the augmentedobjective of at least �� percent of that objective� This means a p of between �� and ��� Toensure feasibility we chose p � ���

To provide bonus for feasible designs with constraint margin� we need to choose � to besmall enough so that even a large constraint margin will not overpower a di�erence in thickness�On the other hand� we want it to be large enough to reward constraint margins for designs withthe same thickness� For this we chose � � ��� for a discussion of the selection of the bonusand penalty parameters� refer to Section ���� and Example ���� � For the initial population

���

Page 37: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

we used subroutine init of Figure ��� with nmax���� As can be seen from the equation forthe objective function� this choice permits the initial population to have up to ��� layers� withan average of ���� We used the averaging crossover of Figure ��� and the local mutation ofFigure ��� After some experimentation we settled on a mutation rate� pm � ����� a mutationrange of ��� and a crossover probability� pc � ����

To determine the population size and number of generations� we ran the optimization�� times and monitored the reliability of the process� For a population size of �� and �generations� �� of the �� optimizations gave the same �nal objective� Using Eqs� ����� and����� this corresponds to a reliability of ��� with standard deviation of ������ Of course�for more expensive problems we may not be able to engage in such extensive experimentation�However� it is important to build up intuition for these parameters from simple problems�

The optimizations yielded � designs with practically identical performance� These were������ ����s� ����� ���� ���� ���s� ���� ���� ������s� and ����� ���� �� s� Allfour designs have �� layers� and the �rst three have g� � �������� g� � �������� The lastdesign has g� � ������� g� � �������� This last design is slightly superior in that it hasa minimum margin of ���� percent instead of the ���� percent obtained for the other three�However� the di�erence is so minute� that it is much smaller than the error associated withpredicting the strains using classical lamination theory or any other theory �

It is worthwhile to note again that composite sti�ness design problems often have multipleoptima� and that genetic algorithms help the designer �nd all or many of these optima� thuspresenting a choice that could be decided on the basis of other considerations� � � �

The example above demonstrates that multiple genetic runs can produce near equivalentdesigns� Additionally� it is often computationally advantageous to make multiple runs ratherthan a single long genetic optimization� For example� if we �nd that optimization runs thatlast ��� generations give us ��# reliability� then the probability that we will not �nd theoptimum in one run is ��#� the probability that we will not �nd the optimum in two runsis ���� � �#� and the probability that we will not �nd the optimum in three runs is���� � ���#� That is� two runs give us a reliability of ��#� and three runs a reliabilityof ����#� We need to compare these numbers with the reliability achieved in a single runof �� generations and �� generations� respectively� In general� if we denote the reliabilityachieved by q runs each with n generations as rq�n � then

rq�n � �� ��� r��n �q � ������

This equation can be used to compare the relative e�ciency of multiple runs for simplecases for which we can a�ord to make a large number of runs� Then the results couldserve as guidelines for choosing the number of runs for similar but more computationallyexpensive cases� Le Riche and Haftka ����� found that for designing the stacking sequenceof unsti�ened panels for strength and buckling constraints� single runs are most e�cient

���

Page 38: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

when the desired reliability is below about ��#� For higher reliabilities multiple runs aremore e�cient�

Most of the discussion in the section on genetic algorithm focused on integer codings�However� binary codings are also popular� and we close the chapter with an example of anapplication of a genetic algorithm based on binary coding�

Example �����

The cantilever composite beam shown in Figure ��� is subjected to a transverse load P anda twisting moment Mxy� Use a genetic algorithm to design of a hygrothermally curvature�stable laminate for the beam� The beam is to be designed to maximize extension�twisting andbending�extension coupling� with constraints on sti�ness in �exure and twist under the appliedloads� The constraints require the tip displacement to be less than ��� inch and the tip twist tobe less than ���� radians� The couplings as well as the tip displacement and twist are given interms of the inverse of the A�B�D matrix� with the corresponding locations os submatrices inthe inverse are denoted as aij � bij � and dij � respectively� see Eq� ����� � The tip displacementwtip is given as

wtip �d��PL

�d��MxyL

��

The tip twist �tip is given as

�tip �d��PL

��d��MxyL

��

Assuming that we want to maximize a linear combination of the two coupling coe�cients b��and b��� the objective function is �c�jb��j � c�jb��j � The coe�cients c� and c� are chosendepending on how we want to emphasize the two coupling terms� In addition to constraints onmaximum de�ection and twist at the tip� an additional constraint was imposed in this problemthat limited the number of layers in the laminate to a maximum of ���

Material properties may assumed to be those corresponding to HT�S����� Graphite�Epoxy�and are de�ned as follows�

E� � ������ psi� E� � ������ psi� G�� � �������� psi� ��� � ����� t � ����� in�

A hygrothermally curvature�stable� antisymmetric laminate ������� ����� ��� ���� ����� provides one solution that would meet the desired objective see Chapter � � Findingthe optimum value of is a one dimensional optimization problem� and can be solved by plottingthe objective function and constraints as a function of � The hygrothermal curvature stabilitycan also be realized in more general unsymmetric composite laminates that are obtained bystacking two symmetric layer groups �� � ���n�s type�I and ���� � ���� � ����n�s type�II � Any additional symmetric layer groups with equally spaced angles can also be added tothe laminate without disturbing the hygrothermal curvature stability� The problem formulationallows for the two layer groups to be assigned to the two available positions on the laminate�

���

Page 39: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� GENETIC ALGORITHMS

A

A

Section A-A

1.0 in

P

M xy

0.12 in

L = 10 in

Figure ����� Cantilevered beam with a tip load and a moment

It is possible to have both layer groups be of the same type� with similar or di�erent basicorientation angles� The optimization problem for �nding the optimum laminate with the angles and � was formulated as

minimize �b� �c�jb��j� c�jb��j

such that n�p� � n�p� � ������

�d��PL�

�d��MxyL

� �

�� ���

���

�d��PL�

��d��MxyL

� �

�� � �

The design variables for this problem are the basic orientation angles and �� the numberof layer groups n� and n�� and the number of layers in each layer group p� and p�� That is�p� � � if we select the �rst layer group to go with n�� and p� � if we select the secondlayer group to go with n�� The constant �b� which was set to ��� ����� is used to convert themaximization problem into a minimization�

The orientation angles and � were varied discretely between �� and ���� in incrementsof ��� The �� possible values of were each represented by one of the unique combinationsavailable from a �digit binary string� the two excess binary string combinations were assignedto � and �� degrees� respectively� The variables n� and n� varied between � and �� and requireda ��digit binary string to uniquely represent the four possibilities� It is important to indicate thatthere is an inherent danger in representing certain variables by more strings than others� in thatthe search is biased in favor of the overrepresented variables� In this problem� however� due toa large number of possible choices of and � to select from� this is not a serious concern� Thechoice of layer group is assigned to two variables p� and p�� which could assume the values of

���

Page 40: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

Table ��� Summary of optimization results for weighting coe�cients c� � ���� c� � ���

Run � � Group Type n� n� b�� b��

ID p� p� ���� ����

� ��� �� � � � � ������� �������� ��� ��� � � � � ������� ������ ��� ��� � � � � ����� �������� ��� ��� � � � � ������� ����� ��� ��� � � � � ������� �����

Table ��� Summary of optimization results for weighting coe�cients c� � ����� c� � ����

Run � � Group Type n� n� b�� b��

ID p� p� ���� ����

� �� ��� � � � � ������� ������ � �� � � � � ������ ������ ��� ��� � � � � ������� ������ � �� � � � � ������ ����� ��� �� � � � � ����� �������

� or �� Hence� a single digit string is su�cient to represent each of these variables� A ���digitbinary string is required to represent all design variables for this problem �� digits for and�� � digits each for n� and n�� and � digit each for p� and p� �

Two variations of the above problem were considered� In each case� a total of ����� functionevaluations were permitted� A two�point crossover was used with a probability of ���� Mutationwith a probability of ���� per string was used� The �rst test case required the maximization ofan equally weighted sum of the b�� and b�� coe�cients� with only a constraint on the totalallowable thickness of the beam� The best design obtained for this case was that in each ofthe two available slots� layer group I was selected� the basic orientation angles for these groupswere � � ��� and � � ����� and the coupling coe�cients b�� and b�� were ������� ����

in�lb�in and ��������� in�lb�in� respectively� The variables n� and n� were both obtained asunity� this is to be expected as the thinner laminate would maximize the compliance coe�cients�This experiment was repeated for population sizes of ���� ��� and ���� and similar solutionswere identi�ed in each case�

In the second test case� the bending and twist displacement constraints were activated inaddition to the maximum thickness requirement� The population size was selected as ���� Forthree distinct choices of weighting coe�cients c� and c�� �ve simulations of genetic search were

��

Page 41: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� EXERCISES

Table ���� Summary of optimization results for weighting coe�cients c� � ���� c� � ����

Run � � Group Type n� n� b�� b��

ID p� p� ���� ����

� ��� ��� � � � � ������ ������ �� � � � � � ������ ������ �� � � � � � ������ ������ �� � � � � � ������ ����� ��� ��� � � � � ������ �����

performed� These results are summarized in Tables ������ For the case where c� � ����� c� ����� and c� � c� � ���� similar results were obtained� As seen in Tables �� and ��� thesolutions corresponded to a use of both Type I and Type II groups in establishing an optimallaminate for the given design constraints� When� the tension�twist coupling is emphasized toa greater degree than bending�extension c� � ����� c� � ���� � the Type I group was usedexclusively as shown in Table ��� This is easily explained by the observation that the TypeII group is mechanically isotropic� and would not contribute to the extension�twist couplingcoe�cient� In contrast� the Type I group is mechanically orthotropic� and is the predominantsource of the b�� coupling coe�cient� It is also worthwhile to note that the presence of thebending and twisting sti�ness constraints increases the laminate thickness by introducing n�and n� values di�erent from unity�

� � �

��� Exercises

�� Design a minimum thickness laminate with ��� ����� and ��� layers such that thelaminate Poisson�s ratio is greater than ���� the shear modulus is less than �� GPa� andthe sti�ness term A�� is greater than � MN�m� Formulate the problem as a linear integerprogramming problem and use optimization software �e�g� Microsoft Excel to solve it�Note that the total laminate thickness is not expected to be larger than � layers� Use thefollowing material properties� E� � �� GPa� E� � ��� GPa� G�� � � GPa� ��� � ����and t � ���� mm�

� For a ���ply Graphite�Epoxy laminate under unit axial load� show that as you de�crease the number of zeroes in the laminate� from �������� s to �������� s and �nallyto ����� s� the maximum strain in any �ber direction increases and then decreases� Thismakes the all ���� design singular� in that it cannot be reached by gradually reducing the

��

Page 42: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

number of �� layers�

� Solve Problem � by genetic optimization�

�� Repeat Example ����� using binary coding of the design variables�

�� Using genetic optimization� design ���� ��� and �ply balanced symmetric laminatesto maximize the Poisson�s ratio of the laminate subjected to the constraint that Ey ���GPa� Use the following material constants�

U� � ����GPa�U� � ����GPa�U� � ���GPa�U� � ����GPa� and U� � ���GPa�

Study the e�ects of the probability of mutation and the magnitude of the penaltymultiplier on the progress and �nal results of the design optimization�

��� References

Arora� J� S�� !Introduction to Optimum Design�" McGraw$Hill� New York� �����

B�ack� T�� and Schwefel� H��P�� !An Overview of Evolutionary Algorithms for ParameterOptimization�" Evolutionary Computation� � �� � �$� ����

Booker� L�� !Improving Search in Genetic Algorithms�" in Genetic Algorithms and Sim�ulated Annealing� Ed� Davis� L�� Morgan Kaufmann Publishers� Inc�� Los Altos� CA� �����pp� ��$��

Callahan� J� K�� and Weeks� G� E�� !Optimum Design of Composite Laminates UsingGenetic Algorithms�" Composites Engineering� � � pp� ���$���� ����

De Jong� K� A�� Analysis of the Behavior of a Class of Genetic Adaptive Systems �Doc�toral Dissertation� The University of Michigan� University Micro�lms No� ������ � Disser�tation Abstracts International� � ��� � ����B� �����

Furuya� H�� and Haftka� R�T�� !Genetic Algorithms for Placing Actuators on SpaceStructures�" Proceedings� Fifth International Conference on Genetic Algorithms�" July ��$� ���� Urbana� IL�� pp� ��$���

Gar�nkel� R� S�� and Nemhauser� G� L�� Integer Programming� John Wiley % Sons� Inc��New York� ����

Goldberg� D� E�� and Samtani� M� P�� !Engineering Optimization via Genetic Algo�rithm�" Proceedings of the Ninth Conference on Electronic Computation� ASCE� February����� pp� ���$���

���

Page 43: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

���� REFERENCES

Goldberg� D� E�� Genetic Algorithms in Search� Optimization� and Machine Learning�Addison�Wesley Publishing Co� Inc�� Reading� Massachusetts� �����

Hajela� P�� !Genetic Search&An Approach to the Nonconvex Optimization Problem�"AIAA J�� � �� � July ����� pp� ���$����

Holland� J� H�� Adaptation of Natural and Arti�cial Systems� The University of MichiganPress� Ann Arbor� MI� �����

Johnson� E� L�� and Powell� S�� !Integer Programming Codes�" in Design and Imple�mentation of Optimization Software� Greenberg� H� J� �ed� � pp� �$��� �����

Kogiso� N�� Watson� L�T�� G�urdal Z�� Haftka� R�T�� and Nagendra� S�� !Design of Com�posite Laminates by a Genetic Algorithm with Memory�" Mechanics of Composite Materialsand Structures� ��� � pp� ��$���� September �����

Kov�acs� L� B�� Combinatorial Methods of Discrete Programming� Mathematical Meth�ods of Operations Research Series� Vol� � Akad�emiai Kiad�o� Budapest� �����

Land� A� H�� and Doig� A� G�� !An Automatic Method for Solving Discrete ProgrammingProblems�" Econometrica� �� pp� ���$��� �����

Laarhoven� P� J� M� van� and Aarts� E��glossaryAarts� E�� Simulated Annealing� Theoryand Applications� D� Reidel Publishing� Dordrecht� The Netherlands� �����

Lawler� E� L�� and Wood� D� E�� !Branch�and�Bound Methods&A Survey�" Operationsresearch� ��� pp� ���$���� �����

Le Riche� R� Optimization of Composite Structures by Genetic Algorithms� Ph�D� Dis�sertation� Virginia Polytechnic Institute and State University� Oct������

Le Riche� R�� and Haftka� R� T� � !Optimization of Laminate Stacking Sequence forBuckling Load Maximization by Genetic Algorithm�" AIAA�ASME�AHS�ASCE� ASCrd Structures� Structural Dynamics and Materials Conference� Dallas� TX� ���� alsoAIAA Journal� Vol� � �� � pp� ���$���� ����

Le Riche� R�� and Haftka� R�T�� !Improved Genetic Algorithm for Minimum ThicknessComposite Laminate Design�" Composite Engineering� � � � pp� ��$���� �����

Le Riche� R�� Knopf�Lenoir� C�� and Haftka� R� T�� !A Segregated Genetic Algorithmfor Constrained Structural Optimization�" in Genetic Algorithms� Proceedings of �th In�ternational Conference on Genetic Algorithms �ICGA�� �L� Eshelman� editor � July �����

Liu� B�� Haftka R� T�� and Akg�un� M� A�� !Permutation Genetic Algorithm for StackingSequence Optimization�" AIAA Paper ������� �����

Marcelin� J��L�� Trompette� P�� and Dornberger� R�� !Optimization of Composite BeamStructures using a Genetic Algorithm�" Structural Optimization� ���� � pp� �$��� �����

���

Page 44: Chapter - University of FloridaCHAPTER INTEGER PR OGRAMMING TECHNIQUES In teger Linear Programming An optimization problem is called a Line ar Pr o gr amming LP problem if the ob jectiv

CHAPTER �� INTEGER PROGRAMMING TECHNIQUES

Michalewicz� Z�� Genetic Algorithms � Data Structures � Evolution Programs� SpringerVerlag� Berlin� ����

Nagendra� S�� Haftka� R� T�� and G�urdal� Z�� ! Design of a Blade Sti�ened CompositePanel by a Genetic Algorithm�" Proceedings� AIAA�ASME�ASCE��AHS�ASC �th Struc�tures� Structural Dynamics and Materials Conference� San Diego� CA� April ��$�� ����Part �� pp� ���$���

Nagendra� S�� Jestin� D�� and G�urdal� Z��� Haftka� R� T�� and Watson� L� T�� ! Im�proved Genetic Algorithm for the Design of Sti�ened Composite Panels�" Computers andStructures� �� � � pp� ��$���� �����

Rao� S� S�� Pan� T��S�� and Venkayya� V� B�� !Optimal Placement of Actuators in Ac�tively Controlled Structures Using Genetic Algorithms�" AIAA J�� � �� � pp� ��$��� June�����

Schmit�L� A�� and Farshi� B�� !Optimum Laminate Design for Strength and Sti�ness�"Int� J� Num� Meth� Engrg�� �� pp� ���$��� ����

Schrage� L�� Linear� Integer� and Quadratic Programming with LINDO� �th Edition�The Scienti�c Press� Redwood City CA�� �����

Tomlin� J� A�� !Branch�and�Bound Methods for Integer and Non�convex Programming�"in Integer and Nonlinear Programming� J� Abadie �ed� � pp� ��$���� Elsevier PublishingCo�� New York� �����

���