3

Excel で設定した最適化問題があります。(GUI を使用して) 最適化すると、目的関数の最終的な (最適な) 値が得られます。Excel が多くの点の目的関数の値を計算し、最適なものに落ち着いていることがわかります。すべての目的関数の値を Excel シートのある範囲に保存する方法はありますか。ソルバー GUI を使用してそれを行うことができれば素晴らしいことです。そうでない場合は、VBA ベースのソリューションでも十分です。

ありがとう。

4

1 に答える 1

1

これは可能ですが、手動で面倒です。Excel /ソルバーの場合、[ソルバーパラメーター]ダイアログで[オプション]を選択します。[データ]->[ソルバー]-> [Excelのオプション])[反復結果の表示]チェックボックスをオンにします。これを行うと、Excelのソルバーは各反復後に一時停止し、現在の変数値でセルを更新します。

これで、[解決]をクリックしてモデルを実行すると、Excelは中間の反復ごとに一時停止します。ソルバーは、各中間ステップを「シナリオ」と見なします。各反復後にポップアップする[シナリオ]ダイアログボックスで名前を付けることにより、それぞれを保存できます。(テキストボックスに、i1、i2、i3などの論理的なものを入力します...)

ソルバーが完了すると、[シナリオマネージャー] Excel->[オプション]->[シナリオ]にアクセスできます。保存したすべてのシナリオが一覧表示されます。必要な名前の範囲にすべてを表示するには、[概要]を押します。 []ボタンをクリックし、ダイアログボックスで[シナリオピボットテーブルレポート]を選択します。これにより、分析に適したピボットテーブルにすべての中間目的関数値が表示されます。

留意すべきいくつかの制限:1。 [反復結果の表示]オプションを有効にすると、ソリューションの速度が大幅に低下します。2. LPが中規模の場合でも、反復回数が膨大になります。シナリオを手動で記録することは現実的には実現可能ではありません。ただし、 ESCボタンを押してシナリオを保存し、続行することで、数回の反復を「サンプリング」できます。

于 2012-01-14T08:50:47.267 に答える