Multi-Objective Optimization
- identify non-dominated individuals (individuals, for which in the multi-objective, is not dominated); this forms the “pareto frontier”
- create all combinations of input parameters, and create a pareto frontier for them
- identify a weighting between the variations you desire, and identify the elements which align with the Pareto frontier
Pareto Optimality
At a pareto optimal point, increasing one objective value decreases another. that is, a pareto optimal point is not dominated.
dominate
one point dominates another if:
\begin{align} f_{i}(x) \leq f_{i}(x’) \forall i \\ f_{i}(x) < f_{i}(x’)\ \text{for some}\ i \end{align}
Pareto Frontier
A Pareto frontier is the entire set of pareto optimal points—i. the set that’s not dominated.
Solving for Pareto Frontier
Constraint Method
We can convert this into a single-objective optimization problem; first, sort the constraints by order of importance:
\begin{align} \min_{x}&\ f_{1}(x) \\ s.t.&\ f_2(x) \leq c_2 \\ &\ f_3(x) \leq c_3 \\ &\ \dots \end{align}
we can set \(c_{j}\) to calibrate which point we want on our Pareto Frontier. By setting \(c_{j}\) large, we identify that we don’t care about that constraint as much; as we track \(c_{j}\) small, we start tracing out the Frontier along the \(j\) th direction. At some point, as you lower \(c_{j}\), we will run out of points because we would have left the criterion space.
Lexicographic Method
Iteratively perform optimization; again sort constraints in order of importance, then:
Weight Method
you can use a linear weight to obtain some Pareto optimal answers:
\begin{equation} f = w^{\top}\mqty[f_1 \\ \dots\\f_{N}] \end{equation}
this fits a line against the Pareto region, which will miss some points but will give some Pareto optimal answers—there will not be any weighting which preserves points in the zone.
Goal Programming
\begin{align} \min_{x \in \mathcal{X}} \mid f(x) - y^{goal} \mid_{p} \end{align}
just minimize some distance (L1, L2, L-inf norms are all good) to a “good” point, usually the Utopia Point.
L1 norms have the same problem as Weight Method as it is a line.
Utopia Point
The Utopia Point is the most optimal point, component wise.
Multi-Objective Population Method
Classic population method
- create \(m\) subpopulations
- optimize each population for one objective
- shuffle them together after each cohort’s optimization, create crossovers and mutations
This method is good to get the pareto frontier, but often we get clumping at the extremas of each objective. Often, we try to encourage dispersion.
Non-Dominating Ranking
You can rank all points (including those not on the Pareto Frontier), with
- pareto-frontier
- non-dominated except for 1)
- non-dominated except 1) or 2)
- …
Pareto filter
Identify points on the Pareto Frontier, and keep top k, perhaps with dispersion
Niche Technique
a niche disperses the design along the Pareto Frontier
- fitness sharing: penalize if neighbors are too close)
- equivalence class sharing: if two individuals are compared, their non-dominating ranks are compared first, then fitness sharing is used as a tie breaker