# Lexicographic optimization

Lexicographic optimization is a kind of Multi-objective optimization. In general, multi-objective optimization deals with optimization problems with two or more objective functions to be optimized simultaneously. Often, the different objectives can be ranked in order of importance to the decision-maker, so that objective $f_{1}$ is the most important, objective $f_{2}$ is the next most important, and so on. Lexicographic optimization presumes that the decision-maker prefers even a very small increase in $f_{1}$, to even a very large increase in $f_{2},f_{3},f_{4},$ etc. Similarly, the decision-maker prefers even a very small increase in $f_{2}$, to even a very large increase in $f_{3},f_{4},$ etc. In other words, the decision-maker has lexicographic preferences, ranking the possible solutions according to a lexicographic order of their objective function values. Lexicographic optimization is sometimes called preemptive optimization, since a small increase in one objective value preempts a much larger increase in less important objective values.
As an example, consider a firm which puts safety above all. It wants to maximize the safety of its workers and customers. Subject to attaining the maximum possible safety, it wants to maximize profits. This firm performs lexicographic optimization, where $f_{1}$ denotes safety and $f_{2}$ denotes profits.
As another example, in project management, when analyzing PERT networks, one often wants to minimize the mean completion time, and subject to this, minimize the variance of the completion time.

## Notation

A lexicographic maximization problem is often written as:${\begin{aligned}\operatorname {lex} \max &&f_{1}(x),f_{2}(x),\ldots ,f_{n}(x)\\{\text{subject to}}&&x\in X\end{aligned}}$where $f_{1},\ldots ,f_{n}$ are the functions to maximize, ordered from the most to the least important; $x$ is the vector of decision variables; and $X$ is the feasible set - the set of possible values of $x$. A lexicographic minimization problem can be defined analogously.

## Algorithms

There are several algorithms for solving lexicographic optimization problems.

### Sequential algorithm for general objectives

A leximin optimization problem with n objectives can be solved using a sequence of n single-objective optimization problems, as follows:$^{:Alg.1}$
* For t = 1,...,n do
** Solve the following single-objective problem:${\begin{aligned}\max ~~~f_{t}(x)\\{\text{subject to}}~~~&x\in X,\\&f_{k}(x)\geq z_{k}{\text{ for all }}k{\text{ in }}1,\ldots ,t-1.\end{aligned}}$
** If the problem is infeasible or unbounded, stop and declare that there is no solution.
** Otherwise, put the value of the optimal solution in $z_{t}$ and continue.
* End for
So, in the first iteration, we find the maximum feasible value of the most important objective $f_{1}(x)$, and put this maximum value in $z_{1}$. In the second iteration, we find the maximum feasible value of the second-most important objective $f_{2}(x)$, with the additional constraint that the most important objective must keep its maximum value of $z_{1}$; and so on.
The sequential algorithm is general - it can be applied whenever we have a solver for the single-objective functions.

### Lexicographic simplex algorithm for linear objectives

Linear lexicographic optimization is a special case of lexicographic optimization in which the objectives are linear, and the feasible set is described by linear inequalities. It can be written as:${\begin{aligned}\operatorname {lex} \max &&c_{1}\cdot x,c_{2}\cdot x,\ldots ,c_{n}\cdot x\\{\text{subject to}}&&A\cdot x\leq b,x\geq 0\end{aligned}}$where $c_{1},\ldots ,c_{n}$ are vectors representing the linear objectives to maximize, ordered from the most to the least important; $x$ is the vector of decision variables; and the feasible set is determined by the matrix $A$ and the vector $b$.
Isermann extended the theory of linear programming duality to lexicographic linear programs, and developed a lexicographic simplex algorithm. In contrast to the sequential algorithm, this simplex algorithm considers all objective functions simultaneously.

### Weighted average for linear objectives

Sherali and Soyster prove that, for any linear lexicographic optimization problem, there exist a set of weights $w_{1}>w_{2}>\cdots >w_{n}$ such that the set of lexicographically-optimal solutions is identical to the set of solutions to the following single-objective problem:${\begin{aligned}\max &&w_{1}f_{1}(x)+\cdots +w_{n}f_{n}(x)\\{\text{subject to}}&&x\in X\end{aligned}}$One way to compute the weights is given by Yager. He assumes that all objective values are real numbers between 0 and 1, and the smallest difference between any two possible values is some constant d < 1 (so that values with difference smaller than d are considered equal). Then, the weight $w_{t}$ of $f_{t}(x)$ is set to approximately $d^{t}$. This guarantees that maximizing the weighted sum $\sum _{t}w_{t}f_{t}(x)$ is equivalent to lexicographic maximization.
Cococcioni, Pappalardo and Sergeyev show that, given a computer that can make numeric computations with infinitesimals, it is possible to choose weights that are infinitesimals (specifically: $w_{1}=1$; $w_{2}$ is infinitesimal; $w_{3}$ is infinitesimal-squared; etc.), and thus reduce linear lexicographic optimization to single-objective linear programming with infinitesimals. They present an adaptation of the simplex algorithm to infinitesimals, and present some running examples.

## Properties

(1) Uniqueness. In general, a lexicographic optimization problem may have more than one optimal solution. However, If $x^{1}$ and $x^{2}$ are two optimal solutions, then their value must be the same, that is, $f_{i}(x^{1})=f_{i}(x^{2})$ for all $i\in [n]$.$^{:Thm.2}$ Moreover, if the feasible domain is a convex set, and the objective functions are strictly concave, then the problem has at most one optimal solution, since if there were two different optimal solutions, their mean would be another feasible solution in which the objective functions attain a higher value - contradicting the optimality of the original solutions.
(2) Partial sums. Given a vector $f_{1},\ldots ,f_{n}$ of functions to optimize, for all t in 1,...,n, define $f_{1..t}:=\sum _{i=1}^{t}f_{i}$ = the sum of all functions from the most important to the t-th most important one. Then, the original lexicographic optimization problem is equivalent to the following:$^{:Thm.4}$${\begin{aligned}\operatorname {lex} \max &&f_{1...1}(x),f_{1..2}(x),\ldots ,f_{1..n}(x)\\{\text{subject to}}&&x\in X\end{aligned}}$In some cases, the second problem may be easier to solve.