Part 7 · Chapter 27

Multi-Objective Optimization

Every method so far has chased a single number — one objective to push as low as it will go. Real engineering is rarely so tidy. A design must be light and strong, fast and cheap, accurate and robust, and these pull against each other: buy more of one and you pay in the other. When objectives conflict, "the optimum" stops being a point and becomes a set — the collection of sensible compromises, each best in its own way, none beating all the others. This chapter is about that set: how to define it precisely through Pareto dominance, how to picture it as the Pareto front, how to compute it by scalarization or by evolution, and how a human finally chooses one design from it.

Optimization Techniques Prof. Mithun Mondal Reading time ≈ 55 min
i What you'll learn
  • Why conflicting objectives replace a single optimum with a set of compromises, and the split between decision space and objective space.
  • Pareto dominance and Pareto optimality — the exact meaning of "better in all objectives."
  • The Pareto front as a trade-off surface, with its ideal and nadir points.
  • The weighted sum method, and the sharp reason it cannot reach a non-convex front.
  • The ε-constraint method and compromise programming, which can.
  • NSGA-II: non-dominated sorting, crowding distance and elitism — and how a decision maker finally chooses.
Section 27-1

When One Objective Isn't Enough

Part 7 turns from methods to the harder questions real optimization raises, and the first is the most common of all: engineering objectives conflict. A transformer should be cheap and efficient, but efficiency demands more copper and better steel, which cost money. A control system should be fast and stable, but the gains that speed it up erode its stability margin. A portfolio should earn a high return at low risk, but the assets that promise more return carry more of it. In each case, improving one objective actively worsens another. There is no single design that is best on every count, because no such design exists.

A multi-objective problem simply writes several objectives down at once:

The multi-objective program
\[ \min_{\mathbf{x} \in \Omega}\ \mathbf{F}(\mathbf{x}) = \big(f_1(\mathbf{x}),\, f_2(\mathbf{x}),\, \dots,\, f_k(\mathbf{x})\big), \qquad \Omega = \{\mathbf{x} : g_j(\mathbf{x}) \le 0,\ h_l(\mathbf{x}) = 0\} \]

The notation hides a genuine difficulty: what does \(\min\) of a vector even mean? Real numbers are totally ordered — any two can be compared — but vectors are not. Is \((3, 8)\) better or worse than \((5, 4)\)? It is cheaper in the first objective and dearer in the second; the question has no answer until someone says how much a unit of the first is worth in terms of the second. This is the whole problem in miniature, and it forces a distinction the rest of the chapter depends on.

SpaceLives inA point isWhat we compare
Decision space\(\mathbb{R}^n\) (the variables \(\mathbf{x}\))A candidate designFeasibility against the constraints \(\Omega\)
Objective space\(\mathbb{R}^k\) (the values \(\mathbf{F}\))The score-vector of a designOne design against another, objective by objective
The search happens in one space; the judgement happens in the other. We manipulate the variables \(\mathbf{x}\) in decision space, but we decide which designs are good by looking at their images \(\mathbf{F}(\mathbf{x})\) in objective space. Almost every idea in this chapter — dominance, the Pareto front, crowding — is defined in objective space, on the score-vectors, not on the designs themselves. Keep the two straight and the subject is simple; blur them and it is baffling.

Section 27-2

Pareto Dominance & Optimality

The one comparison we can make between vectors without any trade-off information is the cautious one: a design is clearly better than another only if it is better in some objective and no worse in every other. This is Pareto dominance, named for the economist Vilfredo Pareto.

🔑
Pareto dominance (for minimisation)
\[ \mathbf{x} \prec \mathbf{y} \quad\Longleftrightarrow\quad f_i(\mathbf{x}) \le f_i(\mathbf{y})\ \ \forall i \quad\text{and}\quad f_j(\mathbf{x}) < f_j(\mathbf{y})\ \ \text{for at least one } j \]

Read \(\mathbf{x} \prec \mathbf{y}\) as "\(\mathbf{x}\) dominates \(\mathbf{y}\)." It means \(\mathbf{x}\) is a strict improvement — better somewhere, worse nowhere. If neither dominates the other, the two are incomparable: each wins on some objective, and choosing between them needs a preference we have not yet supplied.

Dominance sorts the whole feasible set into two kinds of design. A design that is dominated by some other is simply wasteful — another feasible design beats it outright, so no rational decision maker would ever choose it. A design that is dominated by nothing feasible is Pareto optimal (or non-dominated, or efficient): you cannot improve any one of its objectives without giving up ground on another. The collection of all such designs is the Pareto-optimal set, and it is the true answer to a multi-objective problem — not one design, but every design worth considering.

f₂ f₁ p dominates p (better in both) dominated by p incomparable incomparable
The four dominance quadrants around a point
f₂ f₁ dominated ideal z* nadir Pareto front
The Pareto front in objective space
Section 27-3

The Pareto Front

The image of the Pareto-optimal set in objective space is the Pareto front — the boundary of the achievable region, along its lower-left edge for a minimisation. It is the trade-off surface made visible: every point on it is a design you might rationally build, and moving along it means trading a measured amount of one objective for a measured amount of another. The slope of the front at a point is literally the exchange rate between the objectives there.

Two reference points frame the front and recur throughout the methods that follow. The ideal point \(\mathbf{z}^{\star}\) takes the best value of each objective separately — the corner you would reach if the objectives did not conflict. It is almost never attainable; if it were, the problem would not be multi-objective. The nadir point takes the worst value each objective attains on the Pareto front, marking the front's opposite extreme. Together they bound the front and give the natural scale for normalising objectives that come in different units.

Ideal and nadir points
\[ z_i^{\star} = \min_{\mathbf{x}\in\Omega} f_i(\mathbf{x}), \qquad z_i^{\text{nad}} = \max_{\mathbf{x}\in\mathcal{P}} f_i(\mathbf{x}) \quad (\mathcal{P} = \text{Pareto set}) \]

The shape of the front matters more than it first appears, because it decides which solution methods will work. A convex front bulges toward the ideal point; a non-convex (concave) front has stretches that bow away from it. Both are perfectly ordinary — many real problems produce fronts with concave regions, disconnected pieces, or sharp knees. As the next section shows, the simplest and most popular scalarization method is blind to exactly the concave stretches, which is why the shape is not a curiosity but a design constraint on the whole approach.

Section 27-4

The Weighted Sum Method

The oldest way to handle several objectives is to collapse them into one. Assign each objective a weight reflecting its importance and add them up — a scalarization that turns the vector problem back into an ordinary single-objective one we already know how to solve.

🔑
The weighted sum method
\[ \min_{\mathbf{x}\in\Omega}\ \sum_{i=1}^{k} w_i\, f_i(\mathbf{x}), \qquad w_i \ge 0,\quad \sum_{i=1}^{k} w_i = 1 \]

Each choice of weights \(\mathbf{w}\) yields one Pareto-optimal point (provided the weights are strictly positive). Sweeping the weights across the simplex traces out points along the front, so a family of single-objective solves approximates the whole trade-off surface.

It is appealingly simple, and when the front is convex it works: every Pareto point can be reached by some weight vector. But the method carries a fatal blind spot on non-convex fronts, and the geometry makes the reason plain. Minimising \(w_1 f_1 + w_2 f_2\) is the same as sliding a straight line of slope \(-w_1/w_2\) toward the origin until it just touches the achievable region. The point it touches is always on the convex hull of the front. A solution sitting in a concave dip lies above the line joining its neighbours, so no such line can touch it first — some other point is always reached sooner.

The weighted sum can only find supported solutions. No matter how you choose the weights, the method returns a point on the convex hull of the Pareto front. Genuinely Pareto-optimal solutions in concave regions are invisible to it — as the weights sweep across such a region, the solution simply jumps from one end to the other, skipping everything between. If your front is non-convex, you need a method that does not rely on a supporting hyperplane.
Section 27-5

ε-Constraint & Compromise Methods

The cure for the weighted sum's blindness is to stop adding objectives together. The ε-constraint method keeps just one objective to minimise and demotes the rest to constraints, each capped at a chosen bound \(\varepsilon_i\).

🔑
The ε-constraint method
\[ \min_{\mathbf{x}\in\Omega}\ f_r(\mathbf{x}) \quad\text{subject to}\quad f_i(\mathbf{x}) \le \varepsilon_i \ \ \text{for all } i \neq r \]

Minimise one objective while holding the others below their bounds; varying the bounds \(\varepsilon_i\) traces the front. Because the feasible region is carved out by constraints rather than by a supporting line, this method reaches concave points the weighted sum cannot — it can recover every Pareto-optimal solution.

The picture is a movable wall. Capping \(f_2 \le \varepsilon\) slices off the part of objective space above the wall; minimising \(f_1\) within what remains slides to the leftmost surviving point of the front — which may sit squarely in a concave dip. Push the wall down step by step and the found point walks along the entire front, concavities included. The price is that the bounds must be chosen with some care: set \(\varepsilon\) too tight and the problem becomes infeasible; too loose and the constraint is inactive and you recover only the single-objective optimum.

f₂ f₁ P₁ P₂ P₃ iso-cost line missed
Weighted sum skips the concave point P₂
f₂ f₁ f₂ ≤ ε infeasible (f₂ > ε) P₁ P₂ ✓ P₃ min f₁
ε-constraint recovers the concave point

A third family sidesteps weights and bounds by measuring distance to the ideal point. Compromise programming minimises \(\lVert \mathbf{F}(\mathbf{x}) - \mathbf{z}^{\star}\rVert_p\) — the \(L_p\) distance from a design's score-vector to the unattainable ideal — and returns the Pareto point that comes closest to having everything at once. With \(p = 2\) it picks the balanced, "knee"-like solution; with \(p = \infty\) (the weighted Chebyshev form) it too can reach any Pareto point, convex or not. Objectives should be normalised by the ideal–nadir range first, so that a large-numbered objective does not swamp a small-numbered one purely through its units.

Section 27-6

Evolutionary Methods & NSGA-II

Every scalarization shares one inconvenience: it delivers a single point per solve, so approximating the whole front means running the optimizer many times, once per weight or bound. Population methods have a decisive structural advantage here. A population is a set of solutions, so a single run can approximate the entire Pareto front at once — which is why the evolutionary algorithms of Chapters 24–25 became the dominant tools for multi-objective problems. The catch is that their selection step, built to rank a population by one number, must be rebuilt to rank by dominance instead.

The standard answer is Deb's NSGA-II (2002), and it earns its status from two ingredients that together push a population toward the front while spreading it evenly along it.

🔑
The two ideas behind NSGA-II
Non-dominated sorting ranks the population into layers; crowding distance spreads it within a layer.

Non-dominated sorting peels the population into fronts: \(F_1\) is every non-dominated individual; remove them and \(F_2\) is the non-dominated remainder; and so on. Lower-numbered fronts are strictly preferred. Crowding distance then measures how isolated an individual is within its front, so that when a front must be split, the most isolated members survive and diversity is preserved.

Crowding distance is worth stating precisely, because it is how NSGA-II avoids the classic failure of collapsing onto one corner of the front. For each objective, sort the front and give every individual the normalised gap between its two neighbours; sum these gaps across objectives. The two boundary individuals — best and worst in each objective — are given infinite distance so they are never discarded, which anchors the spread of the front at its extremes.

Crowding distance of individual \(i\) on a front
\[ d_i = \sum_{m=1}^{k} \frac{f_m^{(i+1)} - f_m^{(i-1)}}{f_m^{\max} - f_m^{\min}}, \qquad d_i = \infty \text{ for each objective's boundary points} \]

The full generation then reads like a standard GA with a dominance-aware twist: combine parents and offspring (elitism — the best are never lost), sort the combined pool into fronts, and fill the next generation front by front until one front overflows the population size. That last, overflowing front is admitted in order of decreasing crowding distance, taking the isolated individuals and dropping the crowded ones. Selection for mating uses a tournament on the pair (front rank first, crowding distance as the tie-breaker). Pushed toward \(F_1\) by the sorting and spread along it by crowding, the population converges to a well-distributed approximation of the whole front in one run.

f₂ f₁ F₁ F₂ F₃
Non-dominated sorting into fronts
f₂ f₁ cuboid = gap to both neighbours dᵢ
Crowding distance keeps the front spread out
Section 27-7

Choosing & Method Comparison

Whatever method produces the front, it produces a set, and an engineer must eventually build one design. Turning the Pareto set into a single choice is multi-criteria decision making, and the field is organised by when the decision maker's preferences enter.

ApproachWhen preferences enterHow it works
A prioriBefore optimizingState weights or goals up front, then solve once for the single preferred point (e.g. weighted sum, goal programming)
A posterioriAfter optimizingGenerate the whole front first (e.g. NSGA-II, ε-sweep), then let the decision maker pick from it
InteractiveDuring optimizingAlternate between solving and eliciting preferences, refining the region of interest as the search proceeds

The a posteriori route has become the default precisely because it separates the two hard things — computing the trade-offs, and judging them — and shows the decision maker the real cost of every preference before any is committed to. A common automatic pick from a generated front is the knee point, where the front bends most sharply: just before the knee, a small sacrifice in one objective buys a large gain in another; just after it, the exchange rate turns punishing. The knee is where a balanced compromise gives the most for the least, and compromise programming with \(p = 2\) tends to land near it.

Set against each other, the methods of this chapter divide cleanly by what they cost and what they can reach.

MethodOutput per runReaches non-convex front?Main costBest for
Weighted sumOne pointNo — hull onlyChoosing weights; blind spotsConvex fronts, quick a-priori picks
ε-constraintOne pointYesChoosing feasible bounds \(\varepsilon\)Recovering specific front regions
Compromise programmingOne pointYes (with \(p=\infty\))Normalisation; ideal pointFinding the balanced knee
NSGA-IIA whole frontYesMany evaluations per runApproximating the entire trade-off surface
The multi-objective shift, in one line. Single-objective optimization asks "what is the best design?" and returns a point. Multi-objective optimization replaces it with two separate questions — "what are the efficient designs?" (a computation, answered by the Pareto front) and "which efficient design do we want?" (a judgement, answered by a human). The methods here compute the first; only preferences settle the second.
Section 27-8

Worked Examples

1 Finding the non-dominated set

Problem. Six designs are scored on two objectives, both to be minimised: \(A(1,6)\), \(B(2,4)\), \(C(3,5)\), \(D(4,2)\), \(E(5,5)\), \(F(2,7)\). Which are Pareto optimal?

Solution. A design is dominated if another is \(\le\) in both objectives and \(<\) in at least one. Test each. \(A(1,6)\): nothing has \(f_1 \le 1\) except \(A\), so it is non-dominated. \(B(2,4)\): needs a rival with \(f_1\le2,\ f_2\le4\); \(A\) has \(f_2=6\), \(F\) has \(f_2=7\) — none qualifies, so \(B\) is non-dominated. \(C(3,5)\): \(B(2,4)\) has \(2\le3\) and \(4\le5\) — \(B\) dominates \(C\). \(D(4,2)\): no rival beats \(f_2=2\) at \(f_1\le4\), so non-dominated. \(E(5,5)\): \(B(2,4)\) dominates it. \(F(2,7)\): both \(A(1,6)\) and \(B(2,4)\) dominate it. The Pareto set is therefore \(\{A, B, D\}\) — the three designs no other design beats outright. The remaining three are simply wasteful: for each, one of \(A, B, D\) is at least as good everywhere and better somewhere.

2 Weights sweep the front

Problem. Using the Pareto set \(A(1,6)\), \(B(2,4)\), \(D(4,2)\), which design does the weighted sum select for \(\mathbf{w} = (0.8,0.2)\), \((0.6,0.4)\), and \((0.2,0.8)\)?

Solution. Evaluate \(S = w_1 f_1 + w_2 f_2\) at each. For \(\mathbf{w}=(0.8,0.2)\): \(A = 0.8+1.2 = 2.0\); \(B = 1.6+0.8 = 2.4\); \(D = 3.2+0.4 = 3.6\). Minimum is \(A\) — heavy weight on \(f_1\) buys the small-\(f_1\) design. For \(\mathbf{w}=(0.6,0.4)\): \(A = 0.6+2.4 = 3.0\); \(B = 1.2+1.6 = 2.8\); \(D = 2.4+0.8 = 3.2\). Minimum is \(B\), the balanced middle. For \(\mathbf{w}=(0.2,0.8)\): \(A = 0.2+4.8 = 5.0\); \(B = 0.4+3.2 = 3.6\); \(D = 0.8+1.6 = 2.4\). Minimum is \(D\) — heavy weight on \(f_2\) buys the small-\(f_2\) design. The single knob \(\mathbf{w}\) slides the chosen solution smoothly from one end of the front to the other; the weights are the trade-off preference, made numerical.

3 A point the weighted sum can never find

Problem. A non-convex front has Pareto points \(P_1(1,5)\), \(P_2(3,4)\), \(P_3(5,1)\). Show that no positive weights make \(P_2\) the weighted-sum minimum.

Solution. Write \(\mathbf{w}=(t,\,1-t)\). Then \(S(P_1)=t+5(1-t)=5-4t\), \(S(P_2)=3t+4(1-t)=4-t\), \(S(P_3)=5t+(1-t)=1+4t\). For \(P_2\) to be strictly best it must beat both ends: \(4-t < 5-4t \Rightarrow t < \tfrac13\), and \(4-t < 1+4t \Rightarrow t > \tfrac35\). No \(t\) satisfies \(t<\tfrac13\) and \(t>\tfrac35\) at once, so \(P_2\) never wins. Check the crossover: at \(t=\tfrac12\), \(S(P_1)=S(P_3)=3.0\) while \(S(P_2)=3.5\) — as the weight sweeps, the minimum jumps straight from \(P_1\) to \(P_3\) and skips \(P_2\) entirely. \(P_2\) is a perfectly good Pareto solution sitting in the concave dip, and the weighted sum is structurally blind to it.

4 ε-constraint recovers it

Problem. Same front \(P_1(1,5)\), \(P_2(3,4)\), \(P_3(5,1)\). Use the ε-constraint method — minimise \(f_1\) subject to \(f_2 \le \varepsilon\) — with \(\varepsilon = 5,\ 4,\ 1\).

Solution. At \(\varepsilon = 5\), all three satisfy \(f_2\le5\); minimising \(f_1\) gives \(P_1\) (\(f_1=1\)). At \(\varepsilon = 4\), the wall removes \(P_1\) (its \(f_2=5>4\)); the survivors are \(P_2(f_1=3)\) and \(P_3(f_1=5)\), so minimising \(f_1\) returns \(P_2\) — the very point the weighted sum could not reach. At \(\varepsilon = 1\), only \(P_3\) survives, giving \(P_3\). Sweeping \(\varepsilon\) downward thus walks the found solution \(P_1 \to P_2 \to P_3\) across the whole front, concavity and all. The lesson of Examples 3 and 4 together: when the front may be non-convex, prefer ε-constraint (or a Chebyshev/compromise scalarization) over the weighted sum.

5 The balanced solution by compromise programming

Problem. For the same three points, find the ideal point and the Pareto solution closest to it in \(L_2\) distance.

Solution. The ideal point takes the best of each objective separately: \(z^\star = (\min f_1,\ \min f_2) = (1,\ 1)\) — unattainable, since no single point achieves both. Now measure each point's Euclidean distance to it. \(P_1(1,5)\): \(\sqrt{(1-1)^2+(5-1)^2}=\sqrt{16}=4\). \(P_2(3,4)\): \(\sqrt{(3-1)^2+(4-1)^2}=\sqrt{4+9}=\sqrt{13}\approx 3.61\). \(P_3(5,1)\): \(\sqrt{(5-1)^2+(1-1)^2}=\sqrt{16}=4\). The closest to the ideal is \(P_2\), at \(\sqrt{13}\approx3.61\) versus \(4\) for both extremes. Compromise programming therefore selects \(P_2\) — the balanced knee — which is exactly the concave point the weighted sum missed. (In a real problem the objectives would be normalised by the ideal–nadir range first, so units cannot bias the distance.)

6 Crowding distance on a front

Problem. Five non-dominated designs form a front: \(Q_1(1,10)\), \(Q_2(2,8)\), \(Q_3(4,5)\), \(Q_4(7,3)\), \(Q_5(9,1)\). Compute the NSGA-II crowding distances.

Solution. The ranges are \(f_1^{\max}-f_1^{\min}=9-1=8\) and \(f_2^{\max}-f_2^{\min}=10-1=9\). Boundary points get \(\infty\): \(Q_1\) (min \(f_1\), max \(f_2\)) and \(Q_5\) (max \(f_1\), min \(f_2\)) are both boundaries, so \(d_{Q_1}=d_{Q_5}=\infty\) — they are never discarded. For the interior points, sum the normalised neighbour-gaps over both objectives. \(Q_2\): \(\frac{4-1}{8}+\frac{10-5}{9}=0.375+0.556=0.931\). \(Q_3\): \(\frac{7-2}{8}+\frac{8-3}{9}=0.625+0.556=1.181\). \(Q_4\): \(\frac{9-4}{8}+\frac{5-1}{9}=0.625+0.444=1.069\). So \(Q_3\) sits in the least-crowded region (largest finite distance) and is the most valuable for diversity, while \(Q_2\) is the most crowded and would be dropped first if the front had to be trimmed. This single number is how NSGA-II spreads its population evenly instead of letting it pile up in one attractive corner.

Review

Chapter Summary

Conflict → a set

When objectives conflict, the optimum is not a point but the Pareto set — every efficient compromise. Search runs in decision space; comparison happens in objective space.

Pareto dominance

\(\mathbf{x}\prec\mathbf{y}\): no worse in every objective, strictly better in one. Non-dominated designs are Pareto optimal; their image is the Pareto front.

Ideal & nadir

The ideal point is the best of each objective (usually unattainable); the nadir marks the front's worst extreme. Together they scale the objectives.

Weighted sum

Minimise \(\sum w_i f_i\). Simple, but reaches only the convex hull — genuinely concave Pareto points are invisible to it for any weights.

ε-constraint & compromise

Cap all-but-one objective, or minimise distance to the ideal. Both reach non-convex fronts; compromise programming lands near the knee.

NSGA-II

Non-dominated sorting into fronts + crowding distance for spread + elitism. One run approximates the whole front; a human then picks from it.

Practice

Problems

For dominance problems, test each pair objective by objective and remember that a tie in one objective still allows domination if the other is strictly better. For scalarization problems, watch the front's shape — if it is non-convex, expect the weighted sum to skip points. Difficulty rises down the list.

  1. Explain why a multi-objective problem generally has no single optimal solution, and distinguish decision space from objective space in one sentence each.
  2. State the definition of Pareto dominance for a minimisation, and explain what it means for two designs to be incomparable.
  3. Five designs score \((3,9)\), \((5,6)\), \((4,7)\), \((8,4)\), \((6,6)\) on two minimised objectives. Find the Pareto-optimal set and identify which design dominates each discarded one.
  4. Define the ideal and nadir points, and explain why the ideal point is almost never attainable in a genuine multi-objective problem.
  5. For the Pareto set \((2,8)\), \((4,5)\), \((7,2)\), find the weighted-sum choice for \(\mathbf{w}=(0.7,0.3)\), \((0.5,0.5)\), and \((0.2,0.8)\).
  6. Explain geometrically why the weighted sum can only return points on the convex hull of the Pareto front. What is a "supported" solution?
  7. A non-convex front has points \(A(1,6)\), \(B(4,4)\), \(C(6,1)\). Show that \(B\) never minimises the weighted sum, then find an \(\varepsilon\) for which minimising \(f_1\) subject to \(f_2\le\varepsilon\) returns \(B\).
  8. For the front in Problem 7, compute the ideal point and the \(L_2\) distance from each of \(A,B,C\) to it, and state which compromise programming selects.
  9. Describe the two core mechanisms of NSGA-II — non-dominated sorting and crowding distance — and say what each one is responsible for.
  10. A front has points \((1,9)\), \((3,6)\), \((5,4)\), \((8,2)\). Compute every crowding distance, and state which interior point would be dropped first under crowding.
  11. Contrast a priori, a posteriori, and interactive decision making, and explain why the a posteriori route has become the default. What is a knee point, and why is it attractive?
  12. Explain why population methods have a structural advantage over scalarization for approximating a whole Pareto front, and what selection must be replaced with to make a GA multi-objective.