Multi-Objective Genetic Algorithms
Multi-Objective Genetic Algorithms
Algorithms
Group - 17
● Maximum power
● Minimum on-road price
● Maximum comfort
● Minimum maintenance cost
● Maximum features
Minimax Problem
Saddle point
Solution
Mathematical definition of multi-objective
optimization problems
- A priori -> A total order is defined on the objective space and the optimisation
algorithm finds a minimal point and minimum value concerning the order.
User states their preferences prior to the optimisation.
- A posteriori -> A partial order is defined on the objective space and the
algorithm searches for minimal set concerning this order over all feasible
solutions. Here, the user states their preference after being informed about
the trade-offs among non-dominated solutions.
- Interactive -> Objective function and constraints and their prioritisation are
refined by requesting user feedback on preferences at multiple points in time
during execution.
Our focus…
We will be focusing on a posteriori (with the partial order in question, being
Pareto order) approaches to MOO, with no explicit constraints.
But why?
This allows us to demonstrate the MO problem solving approach without
focusing on specific cases.
Dominance and Order
● Pareto Dominance
○ Allows precise comparison of
objective functions
● Pareto Order
○ Strict partial order
○ Decision Space and Objective Space
in Multi Objective Optimisation
○ Pre-Order in Decision/Search Space
Pareto Front
Continuous,
Convex Pareto
front (Problem:
BNH )
PARETO Continuous,
FRONT Concave Pareto
front
(Problem: ZDT2)
Based on Based on
Shape Continuity
Discontinuous
Pareto front
Convex Concave (Problem: ZDT3)
Continuous Discontinuous
Time Complexity to find Minimal Elements
Numerical Approaches
● Scalarization Techniques:
○ Linear Scalarization
○ Chebyshev Scalarization
○ 𝛜-Constraint Method
○ Boundary Intersection Method
Linear Scalarization
● Definition
// ES (mu + lambda)
evaluate(population)
for g in range(ngen):
offspring = variation_or(population, lambda, Pcx, Pmut)
evaluate(offspring)
population = select(population + offspring, mu)
Examples :
- NSGA-II
- SPEA2
NSGA-II
Indicator based MOEA
Example :
- SMS-EMOA
SMS-EMOA
Decomposition based MOEA
Examples :
- MOEA/D
- NSGA-III
MOEA/D
Examples
MOEA/D
Algorithms
MOO Problems
1. ZDT-1
2. MW3
3. BNH
NSGA2
Parameters used by NSGA-2
01 Sampling
Random Sampling
02 Selection
Based on Binary tournament
Eta = 30 Eta = 1
Parameters used by MOEA/D
01 Sampling
Random Sampling
02 Selection
None
05 Survival None
ZDT-1 PROBLEM
● Min f1(x)
● Min f2(x)=g(x)h(f1(x),g(x))
Code Result
ZDT-1 using MOEA/D
Code
Result
MW3 PROBLEM
Problem
Code Result
MW-3 using MOEA/D
Code
Result
BNH PROBLEM
Pareto Front
BNH
BNH using NSGA-II
Code Result
BNH using MOEA/D
Code
Result
References
Research Papers/Journals
1. Emmerich, M.T.M., Deutz, A.H. “A tutorial on multiobjective optimization: fundamentals and
evolutionary methods”. Nat Comput 17, 585–609 (2018).
Link: https://doi.org/10.1007/s11047-018-9685-y
2. Slowik, A., Kwasnicka, H. “Evolutionary algorithms and their applications to engineering problems”.
Neural Comput & Applic 32, 12363–12379 (2020).
Link: https://doi.org/10.1007/s00521-020-04832-8
3. Eckart Zitzler , Kalyanmoy Deb , and Lothar Thiele. ”Comparison of Multiobjective Evolutionary
Algorithms: Empirical Results”. Evolutionary Computation 2000 8:2, 173-195
Link: https://www.mitpressjournals.org/doi/abs/10.1162/106365600568202
4. To Thanh Binh and Ulrich Korn. “MOBES: A Multiobjective Evolution Strategy for Constrained
Optimization Problems”. PROCEEDINGS OF THE THIRD INTERNATIONAL CONFERENCE ON
GENETIC ALGORITHMS (1997).
Link: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.8661
5. Z. Ma and Y. Wang. "Evolutionary Constrained Multiobjective Optimization: Test Suite Construction and
Performance Comparisons". IEEE Transactions on Evolutionary Computation, vol. 23, no. 6, pp. 972-
986, Dec. 2019.
Link: https://ieeexplore.ieee.org/document/8632683
Web Resources
1. PyMOO: Multi-objective optimization in Python.
Link: https://pymoo.org/
2. DEAP: A novel evolutionary computation framework for rapid prototyping and testing of
ideas.
Link: https://deap.readthedocs.io/en/master/
Code
The experiments conducted and the results obtained which were used in the slides can be found in
this Google Colaboratory notebook:
https://colab.research.google.com/drive/1P_14ZzDXtjaDLmi7KNmgSFMUdNDsRCF0?usp=sharing