Целочисленные переменные решения как индекс
Следующая задача имеет только две целочисленные переменные; однако они появляются в указателе параметров. Цените его, если у кого-то есть эффективная идея преобразовать его в каноническую модель целочисленного программирования.
$$ \begin{alignat*}{2} &&\max \quad & (d_y - d_x)^2 \\ &&\text{s.t.} \quad & d_y - d_x \geq \alpha \\ && & x,y \in \mathbb{Z}_+ \\ \end{alignat*} $$
Ответы
Предполагать $x,y\in\{0,\dots,n\}$. Думаю, я бы просто перебрал эти$(n+1)^2$ пары и оставьте лучший, удовлетворяющий ограничению.
Но если вы настаиваете на целочисленном программировании, введите двоичные переменные $x_i$ а также $y_i$ для $i\in\{0,\dots,n\}$, с интерпретацией, что $d_x=\sum_i d_i x_i$ а также $d_y=\sum_i d_i y_i$. Проблема в том, чтобы максимизировать$$\left(\sum_i d_i (y_i - x_i)\right)^2$$ при условии \begin{align} \sum_i x_i &= 1\\ \sum_i y_i &= 1\\ \sum_i d_i (y_i - x_i) &\ge \alpha \end{align} Если хотите, можете линеаризовать цель.