Optimizare multiobiectiv utilizand algoritmi genetici Multiobjective optimization using genetic algorithms
Multiobjective Optimization (MOO) Find x x, 1 x, 2..., x T N that minimizes {f 1 (x), f 2 (x),, f M (x)} All individual objective functions f i (x) must be simultaneously minimized. If the objective functions are competing, there is no unique solution to this problem.
For MOOP there are two solving variants: Solving variants Real MOO set of Pareto optimal solution Transformation in a problem with only one objective function, by combining the individual objectives in a single (global) objective function (weighted sum) x x Find x that minimizes F wi fi i 1 eher w are weights showing the relative preference k (importance) between original objectiv functions M f k ( x)
Real multiobjective optimization Pareto optimality The concept of noninferiority (Pareto optimality) is used A solution x * is said to be Pareto optimal, or a nondominated solution for a multiobjective optimization problem if and only if there is no other x such that f i j ( x) for f i ( x that * ) f j for ( x) i f 1,..., n j ( x * )
Illustration of Pareto frontier The boxed points represent feasible choices, and smaller values are preferred to larger ones. Point C is not on the Pareto frontier because it is dominated by both A and B points. Points A and B are not strictly dominated by any other, and hence they do lie on the Pareto frontier.
Case study We want to minimize two competing objectives, having the same decision variable. f f 1 2 2 x ( x 2) 10 2 x ( x 2) 20 Find x that minimizes {f 1 (x), f 2 (x)}
180 160 objective1 objective2 140 120 100 80 60 40 20 0 f f -20-10 -8-6 -4-2 0 2 4 6 8 10 x 1min 2min 10, 20, for for x 2 x 2
Methods to solve Use a real MOO (multiobjective ranking ) Multiple solutions: Pareto frontier Transformation to a SOO, (using a weighted sum) and optimize one objective One single solution: one individual
MOO Fitness assignment: multiobjective ranking Each individual in a population receives a rank according to its quality. All solutions found during optimization and nondominated by a different solution constitute the Pareto optimal solutions set rank 1. Rank 1 individuals are best, rank 2 individuals are dominated only by rank 1 individuals, and so on
Coding the fitness function For serial evaluation function y = moo(x) y(1) = (x+2)^2-10; y(2) = (x-2)^2 + 20; For vectorized evaluation function y = moo_v(x) y(:,1) = (x+2).^2-10; y(:,2) = (x-2).^2 + 20;
Minimizing Using GAMULTIOBJ
optimresults = x: [9x1 double] fval: [9x2 double] exitflag: 0 output: [1x1 struct] population: [25x1 double] score: [25x2 double] x -2.000282778881985 2.000661899148628 2.000661899148628 1.035470952846574 0.505323859855575 0.755010732722052 0.035470952846574 1.637152311139357 9 solution on the Pareto frontier objectives for solution individuals in last generation objectives for last generation objective1 objective2-10.0000 36.0023 6.0053 20.0000 6.0053 20.0000-0.7859 20.9303-3.7234 22.2341-2.4099 21.5500-10.0000 36.0023-5.8569 23.8594 3.2289 20.1317 pop = -2.000282778881985 2.000661899148628-2.000282778881988-2.000282778881987-2.000282778881988-2.000282778881988 2.000661899149350 2.000661899148628 2.000661899149427 2.000661899148811 1.035470952846574 0.505323859855575 0.755010732722052 2.000661899148662-1.000282778881986 0.035470952846574 1.637152311139357
Objective 2 38 36 34 32 30 28 26 Pareto front objective1 objective2-10.0000 36.0023 6.0053 20.0000 6.0053 20.0000-0.7859 20.9303-3.7234 22.2341-2.4099 21.5500-10.0000 36.0023-5.8569 23.8594 3.2289 20.1317 24 22 20-10 -8-6 -4-2 0 2 4 6 8 Objective 1
The user should choose the final solution, according with its preferences/options/constrains Solutions from the Pareto front
Number of individuals 9 8 7 6 5 4 3 2 1 Rank histogram 0 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 Rank pop = -2.000282778881985 2.000661899148628-2.000282778881988-2.000282778881987-2.000282778881988-2.000282778881988 2.000661899149350 2.000661899148628 2.000661899149427 2.000661899148811 1.035470952846574 0.505323859855575 0.755010732722052 2.000661899148662-1.000282778881986 0.035470952846574 1.637152311139357
5 Score Histogram 4.5 4 Number of individuals 3.5 3 2.5 2 1.5 1 0.5 0-10 -5 0 5 10 15 20 25 30 35 40 Score (range)
The problem can be exported in the workspace It can be saved on disk (save name) If the problem was exported with Include information needed to resume this run, after importing it back, the optimization starts in the point where it was stopped before.
The optimization problem can now be loaded from the disk (load name) Then it can be imported from the workspace into the optimization tool The optimization algorithm can be run.
Coding the fitness function as a weighted sum function z = moo_soo(x) y(1) = (x+2)^2-10; y(2) = (x-2)^2 + 20; w1=0.75; w2=0.25; z=w1*y(1)+w2*y(2); SOO method w1=0.2; w2=0.8; Solution changes with weights
Case study: Sizing a CE transistor amplifier Design parameters (variables): Design requirements: Avo, Ro R R 1 2 R R E C
Ranges of parameters 10K 1K R 0. 5K 0. 5K R 2 1 R R 200K E C 200K 10K 20K Design requirements Avo Avo _c R o R o _ c Linear inequality constrain To have the T in the on state R R 1 9 2 0 One more condition to be satisfied V CE V CE _ c To void the saturation of T V CE V CC I C R C R It results a nonlinear inequality constrain E
Because MOO using GA cannot be invoked with nonlinear constrains we have to include that nonlinear constrain in the objective function. The resulting MOO problem: three objectives 4 boundary constrains (ranges of parameters) 1 linear inequality constrain Objectives Avo Avo _c R R _ c o o VCE V CE _ c Boundary constrains lb ub 10 1 200 0. 5 200 0. 5 10 20 Linear inequality constrain 1 9 0 0 0 A b
Formulation of the MOO problem Design requirements: Avo_c=300; Ro_c=2.5; Vce_c=2.5; y(1) 300 200 100 0 0 100 200 300 400 500 600 Avo 3 Objective functions: y(1)=abs(avo_c-avo); y(2)=abs(ro_c-ro); y(3)=zmf(vce,[0.5*vce_c,vce_c]) y(2) 2 1 0 0 1 2 3 4 5 Ro 1 Avo, Ro and Vce are the actual values of circuit performances computed for each individual in the current population. y(3) 0.5 0 0 0.5 1 1.5 2 2.5 3 3.5 4 Vce
Run 1
15 Rank histogram Number of individuals 10 5 Optimization terminated: average change in the spread of Pareto solutions less than options.tolfun. 100 0 1 2 3 4 5 6 7 8 Rank Average Distance Between Individuals 1 0.9 Average Spread: 0.0966314 90 0.8 80 0.7 Avergae Distance 70 60 50 Average Spread 0.6 0.5 0.4 0.3 40 0.2 30 0.1 20 20 40 60 80 100 120 140 160 180 200 Generation 0 0 20 40 60 80 100 120 140 160 180 200 Generation
10 Pareto front 9 8 Objective 2 7 6 5 4 3 2 Only the 1 st (f1) and 2 nd (f2) objective functions are represented for the Pareto front 1 0 0 20 40 60 80 100 120 Objective 1
6 selected solutions from the Pareto front 400 "equal" Avo 200 0 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 20 "equal" Ro 10 0 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6 "greater than" Vce 4 2 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 solution The user should choose one convenient final solution. How?
Run 2 Optimization terminated: maximum number of generations exceeded.
70 Rank histogram 60 Number of individuals 50 40 30 20 10 0 1 2 3 4 5 6 7 8 Rank 70 Score Histogram 60 Number of individuals 50 40 30 20 10 0 0 1 2 3 4 5 6 7 8 9 Score (range)
Selection of 5 solution from the Pareto frontier R1 R2 Re Rc f1 f2 f3 Avo Ro Vce 299.8679 2.5899 2.5105 300.0000 2.6198 2.6683 300.0000 2.6198 2.6683 299.9996 2.5903 2.5072 298.3451 2.5746 2.5086
301 "equal" Avo 300 299 298 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 "equal" Ro 2.6 2.55 2.5 2.45 2.8 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 "greater than" Vce 2.7 2.6 2.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 solution
Problema
Problema Var1 Var2 I1 3 7 I2-2 2 I3 3.3-4 I4-2.7 0 I5 5-5 I6 4 0.5 Care sunt cei doi umasi rezultati? respectiv a 1 =1.1; a 2 =0.