特定の問題で問題が発生しています。14日間で5人の従業員が働くようにスケジュールする必要があります。各従業員は14日のうち9日しか働けず、毎日3人の従業員がスケジュールされている必要があります。重要な部分は、各従業員が特定の日に働くことに対して与えられたペナルティを持っているということです。したがって、その日に仕事ができない場合は、ペナルティが10になります。ペナルティがゼロであってもかまいません。最後に、ペナルティが5になりたくない場合は、ペナルティが10になります。
毎日の各従業員のペナルティ値のマトリックスがあります。私は自分の制約を書き出す方法を見つけようとしています。
マトリックスA(ペナルティマトリックス)とマトリックスB(スケジュールマトリックス)とマトリックスC(C(i、j)= A(i、j)* B(i、j))を作成することを考えました。この設定では、A(i、j)が0に等しい(従業員が働いていない)場合、ペナルティは考慮されません。その逆も同様です。
だから私は私の制約として言うことができます:
A(1,1)+ A(1、m)+ A(1、n)<= 9
と
A(1,1)+ A(m、1)+ A(n、1)= 3
そして私は最小化しています:C(1,1)+ C(m、m)+ C(n、n)
このように見る際の私の問題は、これを最適化アルゴリズムで使用しようとすることです。シンプレックスアルゴリズムはLPの問題を解決できるはずですが、最も遅くなる可能性があります。私は立ち往生していて、これを間違った方法で見ていると確信しています。誰かが私に新鮮な目と、おそらく私がこれを間違った方法で見ている理由についての説明を与えることができれば、私はそれをいただければ幸いです。