Houjun Liu

SU-CS361 APR302024

Multi-Objective Optimization

  1. identify non-dominated individuals (individuals, for which in the multi-objective, is not dominated); this forms the “pareto frontier”
  2. create all combinations of input parameters, and create a pareto frontier for them
  3. 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

  1. pareto-frontier
  2. non-dominated except for 1)
  3. 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