Permutation optimization with three sequences

81 Views Asked by At

I have three increasing sequences, $\{a_{i}\}_{i=1}^n$, $\{b_{i}\}_{i=1}^{n}$, $\{c_{i}\}_{i=1}^{n}$, all of which are positive real numbers. And the following optimization problem

$$\min_{(s_1,s_2,\dots,s_n)\\(p_1,p_2,\dots,p_n)}\max\limits_{i} \left\{ \frac{a_i}{b_{s_i}} + c_{p_i} \right\},$$ where $(s_1,s_2,\dots,s_n)$ and $(p_1,p_2,\dots,p_n)$ are permutations of $(1,2,\dots,n)$.

I only can solve the problem when I fix one permutation. How can I optimize the two permutations simultaneously?

Here are my solutions when I fixed one permutation.

If we fixed $(s_1,s_2,\dots,s_n)$, then the value of $\frac{a_i}{b_{s_i}}$ are fixed. We only need to set $(p_1,p_2,\dots,p_n)$ such that the greatest $\frac{a_i}{b_{s_i}}$ matches the smallest $c_{p_i}$ (i.e., $c_1$), the second greatest $\frac{a_i}{b_{s_i}}$ matches the second smallest $c_{p_i}$ (i.e., $c_2$) and so forth.

If we fixed $(p_1,p_2,\dots,p_n)$, we can not do the same operators like before. This case is much more difficult than the former and I have not formed clear solutions yet.

So sorry to all, I am not a native English speaker and I do my best to express my ideas clearly.

1

There are 1 best solutions below

1
On

You can solve the problem via integer linear programming as follows. For $(i,j)\in \{1,\dots,n\}^2$, define binary decision variables $p_{i,j}$ and $s_{i,j}$. The problem is to minimize $z$ subject to \begin{align} \sum_j p_{i,j} &= 1 &&\text{for all $i$} \tag1\\ \sum_i p_{i,j} &= 1 &&\text{for all $j$} \tag2\\ \sum_j s_{i,j} &= 1 &&\text{for all $i$} \tag3\\ \sum_i s_{i,j} &= 1 &&\text{for all $j$} \tag4\\ z &\ge \sum_j \left(\frac{a_i}{b_j} s_{i,j} + c_j p_{i,j}\right) &&\text{for all $i$} \tag5 \end{align} Constraints $(1)$ and $(2)$ define $p$ as a permutation. Constraints $(3)$ and $(4)$ define $s$ as a permutation. Constraint $(5)$ enforces the minimax objective.