Multi-objective Optimization Implementation of Constrained GA Based on NSGA-II Some introductory figures from : Deb Kalyanmoy, Multi-Objective Optimization using Evolutionary Algorithms, Wiley 2001 Optimization • Optimization refers to finding one or more feasible solutions which correspond to extreme values of one or more objectives • Finding out design variable : x Minimize f(x) - Single objective Subjected to gj(x) ≤ 0, j=1,…,nj hk(x) = 0, k=1,…,nk xi(L) ≤ xi ≤ xi(U) Optimization Model Classification • Basic classifications are: – Constrained or unconstrained – Linear or non-linear – Single objective or multi-objective – Another classification can be made by variables: • continuous/discrete/mixed-integer Single and Multi-objective Optimization • Single Objective : Only one objective function • Multi-Objective : Two or more and often conflicting objective functions • e.g. Buying a car : minimize cost and maximize comfort Pareto Optimal Front • Mapping between feasible decision space and objective space • Dominated solutions : Set of design points performing worse than some other better points • Domination criterion : A feasible solution x1 dominates an other feasible solution x2 (denoted as x1 < x2), if both of the following conditions are true: 1) The solution x1 is no worse than x2 in all objectives, i.e. fi(x1) ≤ fi(x2) 2) The solution x1 is strictly better than x2 in at least one objective, i.e. fi(x1) < fi(x2) • Non-dominated solutions : If two solutions are compared, then the solutions are said to be non-dominated with respect to each other IF neither solution dominates the other • Pareto optimal front : The function space representation of all the nondominated solutions Pareto Optimal Front .. contd Options : • Min – Min • Min – Max • Max – Min • Max – Max Which one is which ? Solution Methods • Methods that try to avoid generating the Pareto front – Generate “utopia point” – Define optimum based on some measure of distance from utopia point • Generating entire Pareto front – Weighted sum of objectives with variable coefficients – Optimize one objective for a range of constraints on the others – Niching methods with population based algorithms Implementation of Multiobjective Constrained GA, Based on NSGA-II Genetic Algorithms • Genetic algorithms imitate natural optimization process, natural selection in evolution • Coding: replace design variables with a continuous string of digits or “genes” – Binary – Integer – Real • • • • Population: Create population of design points Selection: Select parents based on fitness Crossover: Create child designs Mutation: Mutate child designs Problem Formulation ≥ Inequalities defined ≥ 0 • Current program is written for 2 objectives (M=2), it is possible to change it NSGA-II • Non-dominated Sorting Genetic Algorithm (NSGA)-II performs better than other constrained multi-objective optimizers* (PAEA, SPEA) – Better and faster convergence to true optimal front – Better spread on Pareto optimal front • NSGA-II ranks designs based on non-domination • For example : min-max problem 3 Design Cost Comfort A 25K 65% B 45K 80% 3 55K 50% • Design 3 is dominated by both design A and B (and thus undesirable), but design A and B are non-dominated with respect to one another (and thus Pareto optimal). * Deb, K, et al, “A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II,” IEEE Transactions on Evolutionary Computations, Vol. 6, No. 2, pp. 182-197, 2002 Flow Chart * * From presentation of Tushar Goel Implementation • Initialize population – Fixed number of population size (N_pop) – Fixed number of variables (N_var) – Discrete variables • Variable upper (UB) and lower bounds (LB) • Number of increments (N_increments) – Randomly distributed throughout the design space Ranking • Ranks designs based on nondomination – The Pareto front is all rank 1 designs – If the rank 1 designs are removed, the next Pareto front will be all rank 2 designs, etc. – Sorting method is different than what NSGA-II* details Rank 1 Rank 2 • Constraints : handled with constraint-domination ideas – If two designs are both feasible, the standard non-domination techniques are used – If one design is feasible and the other is not, the former is obviously favored (ranked lower) – If both designs are infeasible, the design with a smaller overall constraint violation is favored (ranked lower) * Deb, K, et al, “A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II,” IEEE Transactions on Evolutionary Computations, Vol. 6, No. 2, pp. 182-197, 2002 Selection and Fitness • More fit designs have higher chance of passing their genes to the next generation • Fitness is based on rank, low rank designs have higher fitness • Selection : – – – – Using fitness based roulette wheel Create roulette wheel with ns segments Create random number between 0 and 1 Find segment on roulette wheel that contains the random number – Segment number corresponds to design number – Build parent database * From presentation of Gerhard Venter * Child Population Creation • Select two parents for each reproduction – randomly from parent database • Crossover : – Probability close to 1 – One point crossover – randomly select crossover point – Child = [parent1(1:cross_pt),parent2(cross_pt+1:N_var)] • Mutation : – – – – Exploration parameter Probability of mutation is typically small (e.g. 0.2) Randomly select gene to mutate Randomly modify gene Elitism • Keeps best individuals – Combine the child and parent population – Select best individuals from the combined population * Figure from presentation of Tushar Goel Nitching • Guides the selection process toward a uniformly spread-out Pareto front • Uses a parameter based upon crowding distance (c = a + b), where designs which provide the greatest spread along the Pareto front are favored – Between two solutions with differing nondomination ranks, we prefer the solution with the lower (better) rank – If both solutions belong to the same front, then we prefer the solution that is located in a lesser crowded region * Figure from presentation of Tushar Goel Example Laminate Design Problem Formulation • Objectives : Design a symmetric laminate – Maximize D11, maximize D22 • Design Variables : – 8 to 16 layers – Layup orientations, 0 ≤ θi ≤ 90 (15° step) • Constraints : – D12 ≥ 0.5*D11 – D12 ≥ 0.5*D22 Optimization Settings • • • • • • • N_pop = 10; % size of the population N_gen = 30; % # of generations cross = 1.0; % crossover probability mut = 0.2; % mutation probability LB = [1 1 1 1 0 0 0 0]; UB = [7 7 7 7 7 7 7 7]; N_increments = [7 7 7 7 8 8 8 8]; Use higher values Layup Orientations • For last 4 layers If variable is 0,the ply does not exist for i = 1:4 ply_angles(i) = (X(i)-1)*15; end count = 5; for i=5:8 if X(i) > 0 ply_angles(count) = (X(i)-1)*15; count = count+1; end end Pareto Front – 30 Generations A B C D Design A B C D D11 259.81 287.08 310.96 325.42 D22 333.23 317.54 300.29 275.83 con1 0.14248 0.06128 0.00750 0.00034 con2 0.00093 0.00744 0.02553 0.09029 θ1 15 15 15 15 θ1 is outermost layer θ2 15 15 15 15 Layup orientation (°) θ3 θ4 θ5 θ6 90 90 45 15 90 45 75 30 90 45 0 75 90 15 0 45 θ7 0 0 30 0 θ8 90 45 15 90
© Copyright 2026 Paperzz