Constraint Optimization We are interested in the general non-linear programming problem like the following Find x which optimizes f(x) subject to gi(x)

Similar presentations

Presentation on theme: "Constraint Optimization We are interested in the general non-linear programming problem like the following Find x which optimizes f(x) subject to gi(x)"— Presentation transcript:

1
Constraint Optimization We are interested in the general non-linear programming problem like the following Find x which optimizes f(x) subject to gi(x)  0, i=1, ,n hj(x)=0, j=1, ,p

2
How to solve Penalty functions Special representations and operators Repair algorithms Separation of objectives and constraints Hybrid methods

3
Penalty functions The most common approach to handle constraints (particularly, inequality constraints) is to use penalties. The basic idea is to transform a constrained-optimization problem into an unconstrained one by adding/substracting a certain value to/from the objective function based on the amount of constraint violation present in a certain solution.

4
General formulation of the penalty function The general formulation of the penalty function is  (x)=f(x)  (  ri  Gi+  cj  Lj) where  (x) is the new objective function to be optimized, Gi and Lj are functions of the constraints gi(x) and hj(x), respectively, and ri and cj are positive constants normally called “penalty factors” The most common form of Gi and Lj is Gi=max(0,gi(x))  Lj=|hj(x)|  where  and  are normally 1 or 2

5
Minimum penalty rule The penalty should be kept as low as possible, just above the limit below which infeasible solutions are optimal. If the penalty is too high and the optimum lies at the boundary of the feasible region, the GA will be pushed inside the feasible region very quickly and will not be able to move back towards the boundary with the infeasible region. If there are several disjoint feasible regions in the search space, the GA would tend to move to one of them and would not be able to move to a different feasible region. If the penalty is too low, a lot of the search time will be spent exploring the infeasible region because the penalty will be negligible with respect to the objective functions.

8
Annealing penalties Penalty factors are changed once in many generations (after the algorithm has been trapped in a local optima) Fitness(x)=f(x)  max[0,gi(x)] 2 /  where  is the cooling schedule.

9
Adaptive penalties Use a penalty function which takes a feedback from the search process. Fitness(x)=f(x)  (t)  max[0,gi(x)] 2 where (t) is updated at every generation t in the following way If the best individual in the last k generations was always feasible: (t+1)= (t)/ ,  >1 If the best individual in the last k generations was never feasible: (t+1)=  (t),  >1 Otherwise, there are some feasible and infeasible individuals tied as best in the population, the penalty does not change.

10
Segregated GA Use two penalty parameters instead of one. These two values aim at achieving a balance between heavy and moderate penalties. A population of size 2m is generated. These individuals are divided into two groups. Each group use one penalty parameter. Choose m best individuals from these two groups to become parents for the next generation. These m parents produce m offspring. The 2m individuals are combined together as a new generation.

11
Death penalty The rejection of infeasible individuals is probably the easiest way to handle constraints.

12
Special Representations and operators Solve a certain problem for which a generic representation scheme might not be appropriate To simplify the shape of the search space It is always difficult to locate at least a single feasible solution.

13
Linear constraints Eliminate equality constraints together with an equal number of problem variables The search space is a convex sets. Crossover: linear combinations of individuals Mutation: Re-define the domain.

19
Decoder A chromosome “gives instructions” on how to build a feasible solution. For each feasible solution there must be a decoded solution Each decoded solution must correspond to a feasible solution The transformation is computationally fast and it has locality feature in the sense that small changes in the decoded solution result in small changes in the solution itself

20
TSP and ordinal expression The ith gene belongs to the region [1,n-i+1]. It determines which city will be chosen from the city list.

25
Repair algorithms Repair an infeasible individual, i.e., to make feasible an infeasible individual. Such a repaired version can be used either for evaluation only, or it can also replace (with some probability) the original individual in the population.

26
Basic rule There are no standard heuristics for the design of repair algorithms The success of this approach relies mainly on the ability of the user to come up with such a heuristics. It is possible to use a greedy algorithm (i.e., an optimization algorithm that proceeds through a series of alternatives by making the best decision, as computed locally, at each point in the series), a random algorithm or any other heuristic which would guide the repair process.

27
Repair by random evolution The main idea is to use random evolutionary search combined with a mathematical programming technique for unconstrained optimization. Whenever a solution is not feasible, the following constraint functional is minimized C(x)=  hj 2 (x)-  gj(x) c1={i=1, ,n| |hi(x)|>  } c2={j=1, ,q| gj(x)<0}

29
Superiority of feasible points Evaluations of feasible solutions are mapped into a better interval, and infeasible solution into a worst interval Modified tournament selection A feasible solution is always better than an infeasible one Between two feasible solutions, the one having a better objective function value is preferred. Between two infeasible solutions, the one having smaller constraints violation is preferred

30
Behavioral memory Constraints are handled in a particular order Start with a random population of individuals Set j=1 (j is the constraint counter) Evolve this population to minimize the violation of the jth constraint, until a given percentage of the population is feasible for this constraint. Points that do not satisfy at least one of the 1st, 2nd, , (j-1)th constraints are eliminated from the population. j=j+1. If j<=m repeat the former step. Optimize the objective function and reject infeasible individuals.

31
Hybrid methods In this section we are considering methods that are coupled with another technique (normally a numerical optimization approach) to handle constraints.

32
Fuzzy logic Replace constraints of the form gi(x)  bi by a set of fuzzy functions ci(x) if gi(x)  bi, ci(x)=1 if bibi+s, ci(x)=0 This method allows a higher degree of tolerance if gi(x) is greater than bi but close to bi. The tolerance decrease rapidly when the error increase. fitness(x)=f(x)  min(c1(x), ,cm(x))