2016-07-20 9 views
1

ExcelでOpenSolverを使用して生産シミュレーションを開発しています。私はif、or、およびstatementsを使ってソルバーを制約することはできないことを知っています。私は条件式のバイナリ制約を置換するさまざまな方法について読んでいる、またはXが0不連続ソルバー制約回避策

を等しくすることができる250 -

Xが150の範囲内でなければならない:

私は言う制約が必要しかし、私はそれを正確に動作させる方法がわかりません。

ご協力いただきまして誠にありがとうございます。

答えて

0
150 d <= x <= 250 d 
d in {0,1} 

以下とx半連続変数は、私はわかりませんが、私はあなたが余分を使用して第1の製剤を使用する必要があるので、OpenSolverは半連続変数をサポートしていないと信じて150と上限250をバインドしますバイナリ変数。

+1

説明したように1つのバイナリ変数dを使用してこれを試しましたが、Open Solverが実行可能な解決策を見つけることができないというエラーメッセージが表示されます。 最初の定式化で余分なバイナリ変数を使用して何を意味するのか説明できますか? – tdanner1993

+0

'xは[150,250]の間に半連続していますが、 '150 d <= x <= 250 dは1つの余分なバイナリ変数を使います。 –

+0

制約150d <= x <= 250dを使用します。ここで、xとdは両方とも決定変数です。&dはバイナリです。実行可能な解決策がないというエラーメッセージが表示され、xが150を超えて実行されるようには見えません – tdanner1993