8

表面上は0-1ナップザックのように見えるという問題があります。私は選択できる(または選択できない)可能な「候補」のセットを持っています。各候補には「重み」(コスト)と潜在的な「価値」があります。これが全体の問題だったとしたら、私はDPアプローチを使用して、それで終わります。しかし、ここにカーブボールがあります。最終的な解決策に含まれる可能性のある候補には、「パーティション化の制約」があります。

つまり、候補空間は離散同値類に分割されます。私の特定の問題については、約300の候補と12の可能な同値類があります。クラスC1の候補者は3人、C2の候補者は6人までしか持てないという「ビジネスルール」などがあります。

この制約は、分枝限定法または他の形式の剪定を使用したグラフ検索タイプのアプローチを示唆していますが、0-1ナップザックのDPソリューションに精通しているだけなので、どのように開始するかについて少し困惑しています。この問題にはどのような手法/アプローチが適しているでしょうか?また、制約プログラミングライブラリを使用することも考えましたが、解決策を見つけることができるかどうかわかりませんか?

4

1 に答える 1

1

各候補を選択するためのバイナリ変数がある整数線形計画ソルバーを試すことができます。制約は、線形不等式として簡単に表現できます。300の変数があれば、ソルバーはそれを解決するのにそれほど問題はないはずです。

最も簡単な方法は、問題をCPLEX LP形式などのテキスト形式で記述してから、CoinCBCやGLPKなどのソルバーを使用することです。

于 2012-02-05T10:50:47.677 に答える