2026年4月15日水曜日

Dualの具体例

 例えば、累計シフト制約で、累計シフト数≦10であったとします。


この時最適解が、累計シフト9であったとすると、

■そのDualは、0

となります。つまり、制約境界10に接しておらず、余裕(スラック)が1あります。この制約を微小に変化されても目的関数は変化しません。よって、制約に対する目的関数への寄与は0、ということになります。

では、MIN側にも制約があった場合は、どうなるでしょうか? 6≦9≦10 の場合も余裕があるので、

■そのDualは、0

となります。

もう一つ制約があって、特定シフト回数≦3 と言う制約があって、最適解時の回数が3であったとします。こういう境界に張り付いた状態であるときだけ、Dualは、0にはならない、ということが出来ます。逆に言うと、Dualが0である制約は、効いていない、ということになります。

 







注意すべきは、Dualの概念が有効なのは、あくまでLPsolver上のみです。即ち緩和問題でのみ定義可能です。整数計画では、DUALという概念はありません。

0 件のコメント:

コメントを投稿