私は、目的関数がmax
それぞれの係数を掛けた決定変数から余分な重みを追加する線形計画法を設定しようとしています。
これを念頭に置いて、線形計画法の目的関数内でmin
またはmax
演算子を使用する方法はありますか?
例:
Minimize
(c1 * x1) + (c2 * x2) + (c3 * x3) + (c4 * max(c1*x1, c2*x2, c3*x3))
subject to
#some arbitrary integer constraints:
x1 >= ...
x1 + 2*x2 <= ...
x3 >= ...
x1 + x3 == ...
(c4 * max(c1*x1, c2*x2, c3*x3))
それが私が懸念している「余分な重量」の用語であることに注意してください。「余分c4
な重み」係数を示します。また、この特定の例では、、、およびは整数x1
であることに注意してください。x2
x3
上記は線形計画法が提供する範囲外かもしれないと思います。しかし、おそらくこれをハック/再フォーマットして有効な線形計画法にする方法はありますか?
この問題が完全に線形計画法の範囲外である場合、おそらく誰かがこのタイプの問題により適した最適化パラダイムを推奨できますか?(すべての可能な解決策を手動で列挙してチェックすることを回避できるものなら何でも役に立ちます。)