320 likes | 443 Views
Constraint Handling with EAs. CONTENTS 1. Motivation and the trouble 2. What is a constrained problem? 3. Evolutionary constraint handling 4. A selection of related work 5. Conclusions, observations, and suggestions. Motivation. Why constraints? Practical relevance:
E N D
Constraint Handling with EAs CONTENTS 1. Motivation and the trouble 2. What is a constrained problem? 3. Evolutionary constraint handling 4. A selection of related work 5. Conclusions, observations, and suggestions
Motivation Why constraints? • Practical relevance: a great deal of practical problems are constrained. • Theoretical challenge: a great deal of untractable problems (NP-hard etc.) are constrained. Why evolutionary algorithms? • EAs show a good ratio of (implementation) effort/performance. • EAs are acknowledged as good solvers for tough problems.
The trouble with constraints and EAs Standard reproduction operators are blind to constraints. • Mutating a feasible individual can result in an infeasible new individual. • Recombining two feasible individuals can result in infeasible new individuals.
What is a constrained problem? Consider the Travelling Salesman Problem for n cities: • Let C = {city1, … , cityn} If we define the search space as • S = Cn, then we need a constraint requiring uniqueness of each city in an element of S • S = {permutations of C}, then we need no additional constraint. The notion ‘constrained problem’ depends on what we take as search space
What is constrained / free search? • Even in the space S = {permutations of C} we cannot perform free search • Free search: standard mutation and crossover preserve membership of S : mut() S and cross(, t) S • The notion ‘free search’ depends on what we take as standard mutation and crossover. • Standard mutation of x1, … , xn: • mut(x1, … , xn) = x’1, … , x’n, x’i domain(i) • Standard crossover of x1, … , xn, y1, … , yn (and ...) • if for each child z1, … , zn: • zi {xi, yi} discrete case • zi [xi, yi] continuous case
Optimization Problems (FOPs) Free search space: S = D1 … Dn • one assumption on Di: if it is continuous, it is convex • the restriction si Di is not a constraint, it is the definition of the domain of the i-th variable • membership of S is coordinate-wise, hence • a free search space allows free search Free Optimization Problem: S, f, • • S is a free search space • f is a (real valued) objective function on S • Solution of an FOP: S such that f () is optimal in S FOPs are ‘easy’, in the sense that: • it's ‘only’ optimizing, no constraints and • EAs have a basic instinct for optimization
Constrained Optimization Problems (COPs) Constrained Optimization Problem: S, f, Φ • S is a free search space • f is a (real valued) objective function on S • Φ is a formula (Boolean function on S) Solution of a COP: SΦ such that f() is optimal in SΦ • SΦ = { S | Φ() = true} is the feasible search space Φ is the feasibility condition – may be a combination of several constraints • In general with m constraints they will fall into two types: • inequalities: g_i(x) < 0 1…i…q • equalities h_i(x) = 0q+1 … i…m
S F X s n U Feasible & Unfeasible Regions • In general S will be split into two disjoint sets of spaces: • F (the feasible regions) • U (the unfeasible regions). • The spaces in F may be connected or not.
Constraint Satisfaction Problems (CSPs) Constraint Satisfaction Problem: S, •, Φ • S is a free search space • Φ is a formula (Boolean function on S) Solution of a CSP: S such that Φ() = true Φ is typically given by a set (conjunction) of constraints ci = ci(xj1, … , xjni), where ni is the arity of ci ci Dj1 … Djni is also a common notation FACTS: • the general CSP is NP-complete • every CSP is equivalent with a binary CSP (ni 2) Note that there is nothing to be optimized in a CSP
Examples • FOP: Schwefel function • S = D1 … Dn Di = [-512.03, 511.97] • f() = 418.9829n - • COP: travelling salesman problem • S = Cn, C = {city1, … , cityn} • Φ() = true i, j {1, … , n} i j si sj • f() = • CSP: graph 3-coloring problem • G = (N, E), E N N , |N| = n • S = Dn, D = {1, 2, 3} • Φ() = ΛeE ce(), where ce() = true iff e = (k, l) and sk sl
Solving CSPs by EAs (1) • EAs can only work if they have an f to optimize. Thus a CSP S, •, Φ must be transformed first to a Case 1. FOP: S, •, ΦS, f, • Case 2. COP: S, •, ΦS, f, Φ • The transformation must be (semi-)equivalent, i.e. at least the following implications must hold: 1. f () is optimal in S Φ() 2. ψ () and f () is optimal in S Φ() • Case 1: All constraints are handled indirectly, i.e. they are solved by `simply‘ optimizing in S, f, • e.g. f is number of violated constraints (to be minimized) • Case 2: Some constraints are handled indirectly (those transformed into f), some constraints are handled directly (those that remain constraints in ψ)
Solving CSPs by EAs (2) Constraint handling has two meanings: • 1. how to transform the constraints in Φ into f, respectively f, ψbefore applying an EA • 2. how to enforce the constraints in S, f, Φwhile running an EA Case 1: constraint handling only in the 1st sense (pure penalty approach) Case 2: constraint handling in both senses In Case 2 the question ‘How to solve CSPs by EAs’ transforms to ‘How to solve COPs by EAs’
Direct constraint handling Notes: • only needed in Case 2, for some constraints • feasible here means Ψ in S, f, Ψ, not Φ in S, •, Φ ‘Standard’ list (minus penalty functions): • eliminating infeasible candidates (very inefficient, hardly practicable) • repairing infeasible candidates • preserving feasibility by special operators (requires feasible initial population, which can be NP-hard, e.g. for TSP with time windows) • decoding, i.e. transforming the search space (allows usual representation and operators)
Indirect PRO’s conceptually simple, transparent problem independent reduces problem to ‘simple’ optimization allows user to tune on his/her preferences by weights allows EA to tune fitness function by modifying weights during the search CON’s: loss of info by packing everything in a single number said not to work well for sparse problems Direct PRO's: it works well (except eliminating) CON's problem specific no guidelines Indirect vs. Direct Handling
Another categorization of constraint handling PRO-CHOICE PRO-LIFE
Penalty Functions • Assuming a minimisation problem, the general form, will be : min f(x) such thatx A, x B where the constraints x A are easy to satisfy and thosex B are harder • This can be reformulated as: min f (x + p( d( x, B) ) where d( x, B) is a distance function of x from B , and p(.) is a penalty function s.t. p(0) =0
Issues with penalty functions • Distance metrics might include: • number of violated constraints • sum of constraint violations ( linear or exponential) • distance to feasible region • Penalty function must balance exploration of infeasible region, with not wasting time
Static Penalty Functions Some variants: 1. Fixed penalty for all infeasible solutions 2. Add a penalty C for each violated constraint • These two are generally inferior to using some distance metric from feasible region 3. Penalty Functions based on cost of repair: where
Dynamic Penalty Functions • Attempt to solve problem of setting the values of C_i by hand. • Idea is to progressively penalise infeasible solutions as time progresses • Still need to fine tune penalties to problem • too lenient => infeasible solutions in final pop. • too harsh => converge to sub-optimal solution
Adaptive Penalty Functions • Bean & Hadj-Alouane: • revise penalties based on performance of best over last few generations. • Smith & Tate / Coit et al. • penalty involves estimating “near feasible threshold” over time • Eiben et al. • change bias as constraints satisfied
Decoders • Methods of dealing with CSP’s where genome gives instructions to decoder on how to build feasible solution. • Decoder maps from a Representation space R into the feasible regions F of the solution space S • for every solution s in F there must be at least one representation d in R • every d in R must map to one solution s in S • every s in S must map to the same number of representations in R : need not be 1:1
Decoder Example: Knapsack Problem • Sort items by profit/weight • Decoder reads string from left to right and interprets a ‘1’ as “take this item if possible” e.g. 11011000100100….. is interpreted as take items 1,2,5,6, 10 … • Redundancy arises at right hand end of string. • Can use normal crossover and mutation operators with guarantee of feasible solutions
Decoder Example: TSP • Representation: alleles in position i can have values in the range [1, n - i +1] e.g. 1:1-9, 8:1,2 • Decoder views Cities as ordered list, starting at position 1 with C = (1,2,3,4,5,6,7,8,9) • In position i put the d_ith element of C and then remove that element from C e.g. 124386967 is represented by [112141311] • Can use normal crossover and (relatively) normal mutation operators
Repair Algorithms • Method of solving CSP’s where an algorithm is used to “repair” infeasible solutions, i.e: eval_u (x) = eval_f(y) where y is repaired version of x • Major issue of whether to replace x with y • Baldwin vs. Lamarckian learning. • Some authors suggest P(replacement) ~ 5-15% • For some problems repair algorithm may be very time consuming
Example Repair Algorithms:Discrete • For instance in Knapsack problem with overfull knapsack, algorithm selects and removes items until weight constraint is met. • Choice of item to remove could be: • random probabilistic • leftmost/rightmost deterministic • one with worst p/w ratio deterministic “greedy” • using p.d.f. according to p/w ratio probabilistic
Example Repair: Continuous • Genocop Algorithm (Michalewicz) • Maintains a population of solutions Ps and a population of feasible “reference points” Pr • Evaluation of infeasible solutions depends on contents of Pr which adapt over time. • infeasible s evaluated by picking r from Pr • Draw segment from s to r • select sequence of points along segment • Stop at first feasible point z : f(s) = f(z) • If f(z) > f(r) replace r in Pr with z
Genocop Options • Genocop has three parameters: • selection of points along segment rs z = a_i(r) + (1-a_i)(s) a_i may be randomly chosen or (0.5, 0.25, 0.125…) • choice of reference point r may be fittest in Pr or random • probability of replacing infeasible solution s with repaired version z (0.15 seems good …)
Multi-Objective Approaches to CSP • Each of the m constraints has a violation measure f_m(x) associated with it • Treat the fitness function and these m functions as a m+1 dimensional vector whose components need to be minimised • Use multi-objective evolutionary approaches such as VEGA (Schaffer 1984) • successfully applied to problems such as Gas-pipeline layout
Co-evolutionary Approaches to CSP • Paredis (1994) • population of solutions + population of constraints • fitter solutions violate less constraints • fitter constraints are violated by more solutions • Segregated GA (Le Riche et al. 1995) • two populations with different penalty functions • rank & merge =>1 pop => generate offspring • evaluate offspring with each fcn =>2 pops • repeat • Balances penalty functions => more robust search
Summary of some research results • Global picture arising • Two principal approaches: • heuristics for mutation, crossover, repair, fitness function • time varying fitness (penalty) functions • Straightforward research questions: • which option is better (on a given problem class) • what if the two options are combined
Some general observations/conclusions • CSP FOP is common • CSP COP is not common • Mutation only and small populations work well on CSPs • Presence of constraints facilitates natural measures on sub-individual structures (kind of fitness values evaluating a part of a candidate solution) • Measures on sub-individual structures allow • CSP specific, but problem independent heuristics • composed fitness functions • Composed fitness functions can be naturally varied during a run explicitly or implicitly (co-evolution)
Some general observations/conclusions Summarizing • Incorporation of heuristics can highly increase EA performance • Varying the fitness function can highly increase EA performance • EAs can outperform the best heuristic benchmark techniques CSPs can be solved by EAs