Chapter 7 Handling Constraints
NonLinear Programming Problem NLP with linear constraints: Optimize Domain constraints: Equalities: Inequalities:
GENOCOP I Original GENOCOP (GEnetic algorithm, for Numerical Optimization for COnstrained Problems): With linear constrain An elimination of the equalities (convex) Special “genetic” operators
Example Optimize a function of six variables: subject to the following constraints Express four variables as functions of the remaining two:
Reduce the original problem to the optimization problem of a function of two variables and : Subject to the following constraints (inequalities only): These inequalities can be further reduced to:
Elimination of Equalities Equality constraint set: Split A: New set of inequalities (after removal ): Split C:
Final set of constraints: original domain constraints: new inequalities: original inequalities (after removal of variables):
Example (1) Optimize a function of six variables: subject to the following constraints Domain constraints: Equalities: Inequalities:
Example (2) Transportation problem:
Initialization process Representation floating point representation Initialization process A subset of potential solutions -- the space of the whole feasible region (randomly) The remaining subset -- the boundary of the solution space. Genetic operators dynamic non-uniform.
Mutation Uniform mutation Boundary mutation Non-uniform mutation
Crossover Arithmetical crossover Simple crossover Heuristic crossover
GENOCOP II With non-linear constrain Distinguish between linear and nonlinear constraints A single starting point Quadratic penalty function Iterative execution of GENOCOP
Algorithm Procedure GENOCOP II begin split the set of constraints C into select a starting point ( need not be feasible.) set the set of active constraints, A to (V: violated constraints at point ) set penalty
while (not termination-condition) do begin execute GENOCOP I for the function with linear constraints L and the starting point save the best individual : update A: decrease penalty r: (where ; end
Example Minimize s.t. Iteration Number 1 2 3 4 The best point (0,0) 1 2 3 4 The best point (0,0) (3,4) (2.06, 3.98) (2.3298, 3.1839) (2.3295, 3.1790) Active Constraints none c2 c1 , c2
Other Techniques Homaifar Joines and Houck
Schoenauer and Xanthakis Start with a random population of individuals (feasible or infeasible) Set ( j is a constraint counter) Evolve this population with , until a given percentage of population (flip threshold ) is feasible for this constraint Set The current population is the starting point for the next phase of the evolution, where . If , repeat the last two steps, otherwise optimize the objective function ,
Powell and Skolnick
Bean and Hadj-Alouane
GENOCOP III Two separate populations Repair: (search point): satisfy linear constraints (reference point): satisfy all constraints Repair: Feasible points: (reference point ) Infeasible search points: (search point ) ( : better reference points) ( is feasible) ( :probability of replacement) (if is better than ) ( :probability of replacement)
Extend GENOCOP III Nonlinear equations