Lecture 13: Multi-Objective Optimisation

Often we encounter problems that have multiple objectives which we would like to maximise/ minimise. For example, buying a car, we may have many things that we are looking to maximise whilst also minimising the price such as number of seats or comfort.

How do we determine which solutions are optimal?

Domination

x1x_1 dominates x2x_2 if it satisfies both:

  1. x1x_1 is no worse than x2x_2 in all objectives
  2. x1x_1 is strictly better than x2x_2 in at least on objective.

You can often find 2 solutions where neither satisfy the above conditions, in this case we say these solutions are independent

Pareto-Optimal Solutions

Non-dominated solutions: The set PPP' \in P can be defined as the set of non-dominated solutions in PP where pP\forall p \in P' p is not dominated by any member of the set PP. An O(MN2)O(MN^2) algorithm exists to find this set.

Pareto-Optimal Solutions: When P=SP=\mathcal{S}, the resulting PP' is the Pareto optimal set. Where S\mathcal{S} is the set of all possible solutions in the search space.

Preference-Based Approach

In a preference based approach given a set of objectives which we need to minimise or maximise subject to constraints we first take into account higher level information before estimating a relative importance vector, {w1,w2,,wM}\{ w_1,w_2,\ldots,w_M\}.

Using this vector we can define a new objective function which is a weighted sum of the objectives. F=w1f1+w2f2++wMfMF = w_1f_1 + w_2f_2 + \ldots + w_Mf_M
We now have a single objective optimisation problem which can be solved using conventional means.

Ideally our solution will be a single point on the pareto front

We can define out weighted sum of objectives more formally as:

F(x)=m=1Mwmfm(x)F(x) = \sum_{m=1}^{M}w_mf_m(x)
where the user supplies the weight vector w\vec{w}. This is one of the downsides of this method as it requires the user to know the weight vector.

Another issue with this method comes from the possible non-uniformity of Pareto-Optimal solutions leading to our inability to find some solutions using this method.

Ideal MOO

In an ideal world, our MO optimiser would return the complete set of Pareto-Optimal solutions allowing us to simply choose one from the set. Sadly, in practice it is not that simple.

Why an Evolutionary Approach?

As we have seen previously, evolutionary algorithms lend themselves well to producing a set of possible solutions due to the fact that each member of the population is a potential solution in the search space.

We can also employ the niching techniques we have studied to find diverse solutions even in cases where the pareto front is irregularly shaped.

Identifying the Non-dominated set

  1. i:=1i:=1 & P=P' = \empty
  2. jP,ji\forall j \in P, j\neq i:
    1. Check if solution jj dominates ii
      1. if yes, go to step 4
  3. If more solutions are left in PP, j++j++ and go to 2, otherwise, P=P{i}P' = P' \cup \{i\}
  4. i++i++ if iNi\leq N, goto 2, else stop and declare PP' the non-dominated set.

This approach has O(MN2)O(MN^2) computational complexity

Lecture 14: MOO Continued

Shortcomings to Non-Elitist MOEAs

In non-elitist MOEAs, the preservation of the most elite in the population is missing. Elite preservation is an important property of Single Objective Evolutionary Algorithms (SOEAs), this is the same for MOEAs

Elitist MOEAs

Elitist MOEAs have 3 major tasks:

  1. Elite Preservation: They must maintain an archive of non-dominated solutions
  2. Progress towards the Pareto-Optimal Front: They must prefer non-dominated solutions
  3. Maintain diversity among candidate solutions: By making use of techniques such as clustering, niching or grid-based competition they must make individuals compete for a place in the archive.

NSGA-II

Abstract

Algorithm

In one generation of NSGA-II :

We require a parent population, PtP_t of NN individuals
We also require an offspring population, QtQ_t of NN individuals.

This algorithm works in both a continuous and a discrete space.

  1. Sort Rt:=PtQtR_t := P_t \cup Q_t into non-dominated fronts F1,...\mathcal{F}_1,...
  2. Set i:=1i:=1 and Pt+1:=P_{t+1} := \empty
  3. While Pt+1+Fi<N|P_{t+1}| + |\mathcal{F_i}| < N:
    1. Set Pt+1:=Pt+1FiP_{t+1} := P_{t+1} \cup \mathcal{F_i}
    2. Set i:=i+1i:=i+1
  4. Perform crowding sort on the individuals from Fi\mathcal{F_i}
  5. Add NPt+1N-|P_{t+1}| most widely spread solutions from Fi\mathcal{F_i} to Pt+1P_{t+1}
  6. Create Qt+1Q_{t+1} from Pt+1P_{t+1} using crowded tournament selection, crossover and mutation operators

Algorithm: Non-Dominated Sorting

Abstract

Requires a population of individuals PP

  1. For each individual, iPi \in P:
    1. Set Si:=S_i := \empty and ni:=0n_i := 0
  2. for all pairs i,jP,iji,j \in P, i\neq j
    1. if jj dominates ii
      1. Sj:=Sj{i}S_j := S_j \cup \{i\}
    2. else if ii dominates jj
      1. nj:=nj+1n_j := n_j + 1
  3. for each iPi \in P
    1. if ni=0n_i =0 keep ii in the first non-dominant front P1P_1
  4. Set k=1k=1
  5. while PkP_k \neq \empty
    1. for each iPki\in P_k and jSij\in S_i
      1. Set nj:=nj1n_j := n_j -1
      2. If nj=0n_j =0
        1. Update Q:=Q{j}Q := Q \cup \{j\}
    2. Set k=k+1k=k+1 and Pk=QP_k = Q and update Q:=Q := \empty

Crowding Distance Algorithm

Requires a set F={(f1i,,fni)}i[l]\mathcal F = \{(f_1^i,\ldots,f_n^i)\}_{i\in[\mathcal{l}]} of objective vectors.

  1. For each i[l]i \in [\mathcal{l}]
    1. sort the set F\mathcal F according to objective fmf_m s.t.
      fm(l1m)fm(l2m)fm(llm)f_m^{(l_1^m)} \leq f_m^{(l_2^m)} \leq \cdots \leq f_m^{(l_{\mathcal{l}}^m)}
    2. Set dl1m:=d_{l_1^m} := \infin and dllm:=d_{l_{\mathcal{l}}^m}:= \infin so that boundary points are selected
    3. For j{2,,k1}j\in\{2,\ldots,\mathcal{k}-1\}
      1. dlj:=dlj+fm(lj+1m)fm(lj1m)fmmaxfmmind_{l_j} := d_{l_j} + \frac{f_m^{\left(l_{j+1}^m\right)}- f_m^{\left(l_{j-1}^m\right)}}{f_m^{\max} - f_m^{\min}} for all other points
  2. return crowding distances (d1,,dl)(d_1,\ldots,d_{\mathcal{l}})

Strength Pareto EA (SPEA)

These type of EA stores non-dominated solutions externally to the rest of the algorithm. It uses Pareto-Dominance to assign fitness values. For external members, it assigns the number of dominated solutions in the population (smaller is better). For Population members, it assigns the total fitness of external dominating members (smaller is better)

Tournament selection and recombination is then applied to combined current and elite populations. A clustering technique is used to maintain diversity in the updated external population when it's size reaches a limit.

Pareto-Archived ES (PAES)

Known as a (1+1)-ES, a parent ptp_t and a child ctc_t are compared with an external archive AtA_t.

Where the winner is based on the least number of solutions in the hypercube.

Note PAES and SPEA are not used as widely in modern times. Your first port of call should be NSGA-II

Constraint Handling

One classical approach to constraint handling MOOPs is by using a penalty function:

Fm=fm+RmΩ(g)F_m = f_m + R_m\Omega(\vec{g})

Here we replace the fitness function fmf_m with FmF_m which includes the additional term RmΩ(g)R_m\Omega(\vec{g}) which represents how much a given solution violates our constraints. Where RmR_m determines how much we penalise infeasible solutions.

Alternative approaches to handling infeasible solutions include Jimmenez's approach or the Ray-Tang-Seow approach

There are also alternative approaches that rely on modified definitions of domination, namely Fonseca and Fleming's approach and Deb et al's approach.

Constrain-Domination Principal

A solution ii constrain-dominates a solution jj if any of the following is true:

  1. Solution ii is feasible and solution jj is not
  2. Solutions ii and jj are both infeasible but solution ii has a smaller overall constrain violation.
  3. Solutions ii and jj are feasible and solution ii dominates solution jj