The issue
In many models, we observe that an objective that minimizes a (weighted) sum, delivers undesirable results. Here are some examples:Assignment under preferences
In [1], we formulated a MIP model that tackles the problem of creating groups taking into account the preferences of people. When we just maximize the total sum of preferences that are honored by the assignment, we can see that some participants get a terrible assignment. I.e., taking one for the team. It requires some thought to develop a model that produces a more equitable solution. In a sense, we are looking at trading-off overall efficiency for fairness.
Job scheduling
Typically in job scheduling models, we minimize (1) the total make-span: do things as quickly as possible and (2) the sum of tardiness of jobs. Sometimes we use a weighting scheme for tardy jobs: jobs from valuable clients may get a higher weight to make it less likely they are chosen to be tardy. There are some terms in the objective we can add, for instance:
- The number of jobs that are tardy. The sum may distribute the pain over many jobs. If we want to reduce the number of tardy jobs we can add a term that minimizes the number of tardy jobs.
- The maximum tardiness of a job. Adding such a term will try to prevent the situation where a single job will take the brunt of the pain.
These are examples where just minimizing the sum can lead to unpalatable solutions. It may require some effort to design a more sophisticated objective that takes into account more aspects than just overall efficiency.
Example model
In [2] I discussed a MIP formulation for a matching problem:
Given \(N=2M\) points, find a matching that minimizes the sum of the cost (represented by lengths between the matched points).
A. Single solution
In this section, I discuss how we can look at the problem in different ways:
- MIN SUM: Solve the problem minimizing the sum of the cost.
- MIN MAX: Solve the problem minimizing the maximum cost.
- MIN MAX followed by MIN SUM: this variant exploits that MIN MAX is not unique.
- MIN SUM followed by MIN MAX: due to uniqueness, this is not an interesting problem.
- A weighted sum of MIN SUM and MIN MAX.
A.1. MIN SUM Matching
The Min Sum problem can be stated as a MIP problem:
The optimal MIP solution looks like:
In the solution, we see a spike: the longest length is much larger than the rest.
| MIP Model for Min Sum Matching |
|---|
| \[\begin{align}\min& \sum_{i,j|i \lt j} \color{darkblue}d_{i,j} \color{darkred}x_{i,j}\\ & \sum_{j|j \gt i} \color{darkred}x_{i,j} + \sum_{j|j \lt i} \color{darkred}x_{j,i} = 1 && \forall i\\ & \color{darkred}x_{i,j} \in \{0,1\} \end{align} \] |
The optimal MIP solution looks like:
![]() |
| Optimal MIN SUM solution |
In the solution, we see a spike: the longest length is much larger than the rest.
A.2. MIN MAX Problem
Instead of minimizing the sum, we can also minimize the length of the largest segment. Formally we want \[\min \max_{i
| MIP Model for Min-Max Matching |
|---|
| \[\begin{align}\min\>& \color{darkred}z\\ & \color{darkred}z \ge \color{darkblue}d_{i,j} \color{darkred}x_{i,j} && \forall i \lt j\\ & \sum_{j|j \gt i} \color{darkred}x_{i,j} + \sum_{j|j \lt i} \color{darkred}x_{j,i} = 1 && \forall i\\ & \color{darkred}x_{i,j} \in \{0,1\} \end{align} \] |
![]() |
| Optimal MIN MAX solution |
We see we do much better than the maximum length of the MIN SUM problem.
One issue with the MIN MAX problem is that the solution is not unique. Any configuration with lengths less than the maximum length is optimal.
A.3. MIN MAX followed by MIN SUM
Instead of just using the MIN MAX objective, we can look at the problem as a multi-objective problem:
| Multi-objective Model |
|---|
| \[\begin{align}\min \>& \color{darkred}z_1 = \max_{i,j|i \lt j} \color{darkblue}d_{i,j} \color{darkred}x_{i,j}\\ \min\>& \color{darkred}z_2 = \sum_{i,j|i \lt j} \color{darkblue}d_{i,j} \color{darkred}x_{i,j}\\ & \sum_{j|j \gt i} \color{darkred}x_{i,j} + \sum_{j|j \lt i} \color{darkred}x_{j,i} = 1 && \forall i\\ & \color{darkred}x_{i,j} \in \{0,1\} \end{align} \] |
Of course we need to reformulate the \(\max\) function to make it linear. The multi-objective structure was implemented as:
- Solve problem with the MIN MAX objective\[\begin{align} \min\>&z_1\\ &z_1 \ge d_{i,j} x_{i,j} &&\forall i\lt j \\ & \sum_{j|j \gt i} x_{i,j} + \sum_{j|j \lt i} x_{j,i} = 1 \\ &x_{i,j} \in \{0,1\} \end{align}\] Let \(z_1^*\) be the optimal objective.
- Solve problem with the MIN SUM, subject to MIN MAX objective is not deteriorating (i.e. the length of each segment is less than the maximum length found in the previous step). \[\begin{align}\min\>& z_2 = \sum_{i,j|i \lt j} d_{i,j} x_{i,j} \\ & d_{i,j} x_{i,j} \le z_1^* && \forall i\lt j\\ & \sum_{j|j \gt i} x_{i,j} + \sum_{j|j \lt i} x_{j,i} = 1 && \forall i\\ & x_{i,j} \in \{0,1\}\end{align}\]
This is typically called the lexicographic method or preemptive method.
The results look like:
![]() |
| Optimal multi-objective solution |
We see a much better distribution of the lengths with this approach. The underlying reason is that the MIN MAX solution is not unique. There are a ton of solutions with all lengths less than the MIN-MAX objective (at least 50k: I stopped after reaching this number). With the second objective, we choose the "best" of all these solutions.
Here is a summary of the results:
| Model | Objective | Sum | Max |
|---|---|---|---|
| MIN SUM | 241.267 | 241.267 | 38.768 |
| MIN MAX | 22.954 | 403.265 | 22.954 |
| MULTI-OBJECTIVE (second solve) | 247.382 | 247.382 | 22.954 |
We can see that:
- The largest segment is very long for the MIN SUM model
- The sum is very large for the MIN MAX model.
- The MULTI model has a sum only a bit larger than from the MIN SUM model, and the largest length is identical to the MIN MAX model. It prevents the disadvantages of the MIN SUM and MIN MAX models.
A.4. MIN SUM followed by MIN MAX
The problem formed by first solving the MIN SUM problem followed by the MIN MAX model is not of much value: we get the same solution as the MIN-SUM problem. The reason is that the MIN-SUM solution is unique. That means that running the second model does not yield a different solution.
A.5. A weighted sum of MIN SUM and MIN MAX
An alternative to the preemptive or lexicographic method is to use a composite objective with some weights:
| Multi-objective Model via Weighted Sum |
|---|
| \[\begin{align}\min \>& \color{darkblue}w_1 \color{darkred}z_1 + \color{darkblue}w_2 \color{darkred}z_2 \\ & \color{darkred}z_1 \ge \color{darkblue}d_{i,j} \color{darkred}x_{i,j} && \forall i,j| i \lt j \\ & \color{darkred}z_2 = \sum_{i,j|i \lt j} \color{darkblue}d_{i,j} \color{darkred}x_{i,j}\\ & \sum_{j|j \gt i} \color{darkred}x_{i,j} + \sum_{j|j \lt i} \color{darkred}x_{j,i} = 1 && \forall i\\ & \color{darkred}x_{i,j} \in \{0,1\} \end{align} \] |
The convention is we use \(w_i\gt 0\) and \(\sum_i w_i=1\). If we use\[\begin{cases} w_1 = 0.01 \\ w_2 = 0.99\end{cases}\] we get the same solution as in section A.3 MIN ABS followed by MIN SUM.
B. Finding All Efficient Solutions
In section A we looked at characterizing the "optimal" solution by a single point. When we have multiple objectives (min-sum and min-max), it can be insightful to looks at all "optimal" points or a representative subset. An optimal solution in this context can be defined as being non-dominated by another solution. Such a solution is called efficient. The collection of all efficient solutions is called the efficient frontier.
A first method is to vary the weights and solve for each weight. We don't want weights of zero (or one), so I generated the following step values:
A first method is to vary the weights and solve for each weight. We don't want weights of zero (or one), so I generated the following step values:
---- 135 PARAMETER step
step0 0.010, step1 0.050, step2 0.100, step3 0.150, step4 0.200, step5 0.250, step6 0.300
step7 0.350, step8 0.400, step9 0.450, step10 0.500, step11 0.550, step12 0.600, step13 0.650
step14 0.700, step15 0.750, step16 0.800, step17 0.850, step18 0.900, step19 0.950, step20 0.990
If we solve our weighted sum model for these values, we get the following report:
---- 147 PARAMETER front
w1 w2 sum max obj
step0 0.0100.990247.38222.95425.199
step1 0.0500.950247.38222.95434.176
step2 0.1000.900247.38222.95445.397
step3 0.1500.850247.38222.95456.619
step4 0.2000.800247.38222.95467.840
step5 0.2500.750247.38222.95479.061
step6 0.3000.700247.38222.95490.283
step7 0.3500.650247.38222.954101.504
step8 0.4000.600247.38222.954112.726
step9 0.4500.550247.38222.954123.947
step10 0.5000.500247.38222.954135.168
step11 0.5500.450247.38222.954146.390
step12 0.6000.400247.38222.954157.611
step13 0.6500.350247.38222.954168.833
step14 0.7000.300247.38222.954180.054
step15 0.7500.250241.26738.768190.642
step16 0.8000.200241.26738.768200.767
step17 0.8500.150241.26738.768210.892
step18 0.9000.100241.26738.768221.017
step19 0.9500.050241.26738.768231.142
step20 0.9900.010241.26738.768239.242
This is a bit disappointing: we only observe two different solutions. And we saw these before.
We may miss some efficient (i.e., non-dominated) solutions. In general, the weighted sum method suffers from two problems:
- We may miss some efficient solutions. Although each point found with the weighted sum method is non-dominated, the other way around is not true: there may be efficient solutions we cannot see with this method.
- If this method finds several efficient points, these points may not be nicely distributed.
There is another method we can use. [to do]


