Solver は、What-If 分析に使用できる Microsoft Excel アドイン プログラムです。 ソルバーを使用すると、ワークシート上の数式セルに対する制約や制限の対象となる 1 つのセル (目的のセルと呼ばれます) の数式の最適な (最大または最小) 値を検索できます。 ソルバーは、目的セルと制約セルの数式の計算に使用される、意思決定変数または単に変数セルと呼ばれるセルのグループを操作します。 ソルバーは決定変数セルの値を調整し、制約セル上の制限を満たし、目的セルに必要な結果を生成します。
簡単に言うと、他のセルを変更することで、1 つのセルの最大値または最小値を決定するのにソルバーを使用することができます。 たとえば、広告予算額を変更し、利益予想額に及ぼす影響を確認できます。
ソルバーの使用例
次の例では、四半期ごとの広告のレベルが販売個数に影響を与えており、売上高、関連費用、利益を間接的に決定していることが分かります。 ソルバーでは、四半期ごとの広告予算 (決定変数セル B5:C5) を、合計 $20,000 (セル F5) の予算の制約まで、利益の合計 (目的セル F7) が可能な限り最大の金額に変更できます。 変数セルの値は各四半期の利益の計算に使用されるので、数式目標セル F7 =SUM(Q1 Profit:Q2 Profit) に関連しています。
1. 変数セル
2. 制約条件セル
3. 目的セル
ソルバーの実行結果は次のようになります。
問題を定義し、解決する
[ データ ] タブの [分析 ] グループで、[ ソルバー] を選択します。
注
ソルバー コマンドまたは分析グループが使用できない場合は、ソルバー アドインをアクティブ化する必要があります。 詳細については、「 ソルバー アドインをアクティブ化する方法」を参照してください。
[ 目的の設定] ボックスに、目標セルのセル参照または名前を入力します。 目的セルには、数式を含める必要があります。
次のいずれかの手順を実行します。
- 目的セルの値をできるだけ大きくする場合は、[ 最大] を選択します。
- 目的セルの値をできるだけ小さくする場合は、[ 最小] を選択します。
- 目的のセルを特定の値にする場合は、[ 次の値] を選択し、その値をボックスに入力します。
- [変数セルの変更] ボックスに、各決定変数セルの範囲の名前または参照を入力します。 隣接していない参照は、コンマで区切ります。 変数セルは、目的セルに直接的または間接的に関連付けられる必要があります。 最大 200 個の変数セルを指定することができます。
[ 制約に従う] ボックスに、次の手順に従って適用する制約を入力します。
[ ソルバー パラメーター] ダイアログ ボックスで、[ 追加] を選択します。
[セル範囲] ボックスに、値の制約条件を設定するセル範囲へのセル参照または名前を入力します。
参照先セルと制約で必要なリレーションシップ ( <=、 =、 >=、 int、 bin、 または dif ) を選びます。 [int] を選択すると、[制約] ボックスに整数が表示されます。 bin を選択すると、バイナリが [制約] ボックスに表示されます。 「dif」を選択すると、「拘束」(Constraint)ボックスに「alldifferent」が表示されます。
[制約] ボックスでリレーションシップに <=、=、または >= を選択した場合は、数値、セル参照または名前、数式を入力します。
次のいずれかの手順を実行します。
制約を受け入れて別の制約を追加するには、[ 追加] を選択します。
制約を受け入れて「 ソルバーパラメータ」(Solver Parameters ) ダイアログボックスに戻るには、「 OK」(OK)を選択します。
注
int、bin、および dif 関係は、決定変数セルの制約内でのみ適用できます。
既存の制約を変更または削除するには、次の操作を実行します。
- [ ソルバー パラメーター] ダイアログ ボックスで、変更または削除する制約を選択します。
- [ 変更] を選択してから変更を行うか、[ 削除] を選択します。
[ 解決] を選択し、次のいずれかの操作を実行します。
- ワークシート上の解の値を保持するには、[ ソルバー結果 ] ダイアログ ボックスで [ ソルバー解を保持] を選択します。
- [ 解決] を選択した前の元の値を復元するには、[ 元の値の復元] を選択します。
- Esc キーを押すと、ソリューション プロセスを中断できます。Excel は、決定変数のセルについて最後に見つかった値を使用してワークシートを再計算します。
- ソルバーがソリューションを見つけた後にソリューションに基づくレポートを作成するには、[ レポート] ボックスでレポートの種類を選択し、[ OK] を選択します。 レポートはブック内の新しいワークシート上に作成されます。 ソルバーが解を見つけられない場合、特定のレポートのみ利用できるか、利用できるレポートはありません。
- 決定変数セルの値を後で表示できるシナリオとして保存するには、[ソルバー結果] ダイアログ ボックスで [シナリオの保存] を選択し、[シナリオ名] ボックスにシナリオの名前を入力します。
ソルバーの試行によって解を求める
問題を定義した後、[ソルバー パラメーター] ダイアログ ボックスで [オプション] を選択します。
[オプション] ダイアログ ボックスで、[反復結果の表示] チェック ボックスをオンにして各試行ソリューションの値を表示し、[OK] を選択します。
[ ソルバー パラメーター] ダイアログ ボックスで、[ ソルブ] を選択します。
[ トライアル ソリューションの表示 ] ダイアログ ボックスで、次のいずれかの操作を実行します。
- ソリューション プロセスを停止して [ ソルバー結果 ] ダイアログ ボックスを表示するには、[ 停止] を選択します。
- ソリューション プロセスを続行し、次の試用版ソリューションを表示するには、[ 続行] を選択します。
ソルバーによる解の解決方法を変更する
- [ ソルバー パラメーター] ダイアログ ボックスで、[ オプション] を選択します。
- ダイアログ ボックスの [すべてのメソッド]、[GRG 非線形]、[進化的] の各タブのオプションの値を選択または入力します。
問題モデルを保存する、または読み込む
[ ソルバー パラメーター] ダイアログ ボックスで、[ 読み込み/保存] を選択します。
モデル エリアのセル範囲を入力し、[ 保存] または [読み込み] を選択します。
モデルを保存するときに、問題モデルを配置する空白セルの垂直範囲の最初のセルの参照を入力します。 モデルを読み込む場合、問題モデルを含むセルの範囲全体に対する参照を入力します。ヒント
ブックを保存すると、[ソルバーのパラメーター] ダイアログ ボックス内の最後の選択内容をワークシートと共に保存できます。 ブック内の各ワークシートには、独自のソルバー選択項目を含めることができ、すべてのソルバー選択が保存されます。 [ 読み込み/保存] を選択して問題を個別に保存することによって、ワークシートに複数の問題を定義することもできます。
ソルバーで使用される解決メソッド
[ ソルバー パラメーター] ダイアログ ボックスでは、次の 3 つのアルゴリズムまたは解析方法のいずれかを選択できます。
- 一般化縮小勾配 (GRG) 非線形: 滑らかな非線形の問題に使用します。
- LPシンプレックス: 線形の問題に使用します。
- 進化的: スムーズでない問題に使用します。
ソルバーの使用に役立つ情報
ソルバーの詳細については、以下にお問い合わせください。
Frontline Systems, Inc.
私書箱 4288
インクラインビレッジ、ネバダ州89450-4288
(775) 831-0300
Web サイト: http://www.solver.com
電子メール: info@solver.com
www.solver.com のソルバー ヘルプ。
ソルバーのプログラム コード部分の著作権は、1990 から 2009 年については Frontline Systems, Inc.、1989 年については Optimal Methods, Inc. にあります。
補足説明
Excel 技術コミュニティの専門家にいつでも質問するか、コミュニティでサポートを受けることができます。