ソルバーと組み合わせて使用するモデルを Excel で作成しました。それは主に動作します。唯一の問題は、ソルバーがバイナリとして制約されたセルを適切に処理していないことです。解を見つけると、数値の一部は実際には 0.9999996、1.0000000003、0.0000017 などになります。
Mac OS X で Excel 2004 を使用しています。
バイナリ値が 0 または 1 からかけ離れている場合は、[ソルバー] ウィンドウのオプションに移動して、[整数制約を無視する] ボックスがオンになっているかどうかを確認する必要がある場合があります。
コンピューターの有限精度と最適化アルゴリズムの性質により、ソルバーには許容誤差が組み込まれています。[ソルバー パラメーター] ダイアログ ボックスの [オプション] ボタンを選択してから、[精度] を上げてみます (たとえば、デフォルトの 0.000001 から 0.00000001 にします)。 . これが機能するかどうかはわかりませんが、試してみる価値はあります。
私の会社では、What'sBest という Excel に接続された商用グレードのソルバーを作成しています。上記がうまくいかない場合は、それを検討することができます。詳細については、www.lindo.com をご覧ください。
I had similar issue and could resolve it by going to solver options and then checking "Use Automatic scaling". I am not sure this will fix your issue or not but worth a try.
ソルバーが許可された時間枠または反復回数内に解を見つけることができない場合 (または正しい答えが得られない場合)、バイナリの答えは返されません。
解決しようとしている問題の種類と必要な答えの正確さに応じて、考えられる回避策の 1 つは、いくつかのセル (おそらく、計算対象のセルで最小値を持つセル) を制約付きで設定することです。バイナリ<=1
で>=0
はなく。提供された画像が表示されないため、何を求めていたのか正確にはわかりません。
(2 進数として設定されていないセルの sumproduct を使用してセルを設定すると役立つ場合があります。以下を参照してください。)
例として、合計 22 (解がない) を解こうとしている場合は、次のように開始します。
9 1
9 1
9 1
6 1
3 1
2 番目の列のすべての値をバイナリとして設定すると、次のようになります。
9 0.5625
9 0.5625
9 0.5625
6 0.708333333
3 0.854166667
最初の 3 つをバイナリとして設定し、最後の 2 つを<=1
&として設定すると、次のようになり>=0
ます。
9 0
9 1
9 1
6 0.333333333
3 0.666666667
最後の 2 行の和積 = 4。これを使用して、最後の 2 行のうちの 1 つを手動で 1 に設定し、他の行を 0 に設定できます。これは、目標をわずかに下回るか上回る回答が必要かどうかによって決まります。
おそらくあなたの問題ではありませんがIgnore Integer Constraints
、オプションにチェックボックスがあり、Excel ソルバーではデフォルトでチェックされていることに注意してください。少なくとも、私の Excel 2011 for Mac のコピーではそうです。