目次
このチュートリアルでは、2016から2003までの異なるExcelバージョンでSolverを追加する方法とその場所を説明します。 ステップバイステップの例では、線形計画法や他の種類の問題の最適解を見つけるためにExcel Solverを使用する方法を紹介します。
Microsoft Excelには、計算時間を短縮する便利な関数や強力なツールがたくさんあることは誰もが知っています。 しかし、意思決定問題の最適解を見つけるのに役立つツールもあることをご存知でしょうか?
このチュートリアルでは、Excel Solverアドインの本質的な部分をすべてカバーし、最も効果的に使用する方法をステップバイステップで説明します。
Excel Solverとは?
エクセルソルバー は、What-if分析ツールと呼ばれる特殊なコマンド群に属し、主に様々なビジネスおよびエンジニアリングモデルのシミュレーションと最適化を目的としています。
Excel Solverアドインは、線形計画問題、別名線形最適化問題を解くのに特に有効であるため、以下のように呼ばれることもあります。 線形計画法ソルバ 詳しくは、Excelソルバーのアルゴリズムをご覧ください。
Solverは、すべての問題を解決できるわけではありませんが、最適な判断を必要とするあらゆる種類の最適化問題に対処する際に、本当に役立ちます。 たとえば、投資収益率の最大化、広告キャンペーンの最適予算の選択、従業員の最適勤務スケジュールの作成、配送コストの最小化など、さまざまな問題に対応できます。
エクセルにソルバーを追加する方法
Solverアドインは、2003以降のMicrosoft Excelのすべてのバージョンに含まれていますが、デフォルトでは有効になっていません。
ExcelにSolverを追加するには、次の手順を実行します。
- Excel 2010 - Excel 365 で、 をクリックします。 ファイル > オプション .
Excel 2007では マイクロソフトオフィス ボタンをクリックし エクセルオプション .
- での エクセルオプション をクリックします。 アドイン を左サイドバーで確認してください。 エクセルアドイン が選択されています。 管理する をクリックします。 行く .
- での アドイン ダイアログボックスで ソルバーアドイン をクリックします。 よっしゃー :
Solverを起動するには エクセル2003 にアクセスしてください。 ツール メニューをクリックします。 アドイン である。 アドイン 使用可能 のリストで、確認してください。 ソルバーアドイン をクリックします。 よっしゃー .
注意:Excelで「Solverアドインが現在コンピュータにインストールされていません」というメッセージが表示された場合は、以下のボタンをクリックしてください。 はい をクリックするとインストールされます。
ExcelのSolverはどこにあるのですか?
最近のバージョンのExcelでは ソルバー ボタンが表示されます。 データ タブで 分析 のグループです。
Excel 2003のSolverはどこにあるのですか?
Solver Add-in が Excel 2003 に読み込まれると、そのコマンドが ツール のメニューがあります。
ExcelのSolverがどこにあるかわかったところで、新しいワークシートを開いて、さっそく始めてみましょう。
注意:このチュートリアルで説明する例は、Excel 2013 の Solver を使用しています。 他のバージョンの Excel を使用している場合、Solver の機能は基本的に同じですが、スクリーンショットがお使いのバージョンと正確に一致しない場合があります。
エクセルでソルバーを使う方法
Excel Solverアドインを実行する前に、ワークシートで解きたいモデルを定式化します。 この例では、次のような単純な最適化問題の解を求めることにします。
問題点 例えば、あなたが美容室のオーナーで、顧客に新しいサービスを提供するために、4万ドルの新しい機器を購入する必要があり、12ヶ月以内に分割で支払わなければならないとします。
目標 新しい機器の購入代金を指定された期間内に支払うことができる最小限のサービス単価を算出します。
この作業のために、次のようなモデルを作りました。
そして次に、Excel Solverがこの問題の解決策を見出す方法を紹介します。
1.エクセルソルバーの実行
について データ タブで 分析 グループをクリックします。 ソルバー ボタンをクリックします。
2.問題の定義
があります。 ソルバーパラメーター のウィンドウが開き、3つの主要コンポーネントをセットアップする必要があります。
- 対象セル
- バリアブルセル
- 制約事項
Excel Solverは、上記のパラメータを使って何をするのでしょうか? それは、以下の式に最適な値(最大、最小、または指定)を見つけます。 目的 の値を変更することにより バリアブル セルで、制限されることを条件とする。 制約事項 セルを使用します。
目的
があります。 目的 セル( ターゲット 以前のバージョンのExcelではセル)は、セル 式が入っている この問題の目的は,最大化,最小化,または目標値の達成である.
この例では、目的のセルは B7 であり、数式を使用して支払期間を計算します。 =B3/(B4*B5)
となり、計算式の結果は12となるはずです。
バリアブルセル
バリアブル セル( 変更 セルまたは アジャスタブル Excelソルバーでは、最大200個の変数セルを指定することができます。
この例では、値を変更できるセルがいくつかあります。
- 1ヶ月あたりの見込み客数(B4) 50人以下であること。
- Excel Solverに計算させたいサービス単価(B5)。
ヒント:モデル内の変数セルや範囲が 非同時 または、範囲をカンマで区切って手入力します。
制約事項
エクセルソルバー コンストレインズ 言い換えれば、制約とは満たさなければならない条件のことである。
制約を追加するには、次のようにします。
- をクリックします。 追加 ボタンを右クリックし、" 制約条件 " のボックスを表示します。
- での コンストレイント ウィンドウで、制約を入力します。
- をクリックします。 追加 ボタンをクリックすると、リストに制約が追加されます。
- 引き続き、他の制約を入力します。
- 最終的な制約を入力した後 よっしゃー をクリックすると、メインに戻ります。 ソルバー パラメータ ウィンドウに表示されます。
Excelソルバーでは、参照されるセルと制約の間に以下の関係を指定することができます。
- 以下 , 同様 そして 以上 のセルを選択することで、これらの関係を設定することができます。 セルリファレンス のボックスで、次の記号のいずれかを選択します。 <= , =, または >=。 に数値、セル参照/セル名、または数式を入力します。 コンストレイント のボックスをクリックします(上のスクリーンショットをご覧ください)。
- 整数 参照するセルが整数でなければならない場合は、次のように選択します。 イント という言葉があります。 整数 が表示されます。 コンストレイント ボックスを使用します。
- 異なる価値観 参照する範囲の各セルに異なる値を入れる必要がある場合は、以下のようにします。 ディフ という言葉があります。 AllDifferent が表示されます。 コンストレイント ボックスを使用します。
- バイナリ 参照するセルを 0 または 1 に制限する場合は、次のようにします。 ビン という言葉があります。 バイナリ が表示されます。 コンストレイント ボックスを使用します。
注 イント , ビン そして ディフ の関係は、Variableセルに対する制約にのみ使用することができる。
への エディット または 消す 既存の制約の場合は、次のようにします。
- での ソルバーパラメーター ダイアログボックスで、制約をクリックします。
- 選択した制約を修正するには 変更 をクリックし、必要な変更を加えてください。
- 制約を削除するには 削除 ボタンをクリックします。
この例では、制約があります。
- B3=40000 - 新しい機器のコストは40,000ドルです。
- B4<=50 - 50未満で1ヶ月あたりの予測患者数。
3.問題を解決する
すべてのパラメーターを設定したら、[OK]をクリックします。 ソルブ の下にあるボタンをクリックします。 ソルバーパラメーター ウィンドウを開き(上のスクリーンショットを参照)、Excel Solverアドインに問題の最適解を探させることができます。
モデルの複雑さ、コンピューターのメモリーやプロセッサーの速度によって、数秒から数分、あるいは数時間かかることがあります。
Solverが処理を終了すると、その場で ソルバー結果 を選択するダイアログウィンドウが表示されます。 ソルバーソリューションの保持 をクリックします。 よっしゃー :
があります。 ソルバー結果 ウィンドウが閉じ、解答がすぐにワークシートに表示されます。
この例では、セルB5に66.67ドルが表示されていますが、これは、月に50人以上のクライアントがいる場合に、12ヶ月で新しい機器の代金を支払うことができる最小のサービス単価です。
ヒント
- Excelソルバーが特定の問題を長時間処理している場合、Escキーを押して処理を中断することができます。 Excelは、その問題に対して最後に見つかった値でワークシートを再計算します。 バリアブル セルを使用します。
- 解決した問題の詳細を確認するには、以下のレポートタイプをクリックします。 レポート ボックスをクリックします。 よっしゃー .レポートは新しいワークシートに作成されます。
ExcelでのSolverの使い方の基本を理解したところで、さらに理解を深めるために、いくつかの例を詳しく見てみましょう。
Excelソルバーの例
Excel Solverアドインの使用例を2つご紹介します。 まず、よく知られたパズルの解を求め、次に現実の線形計画問題を解きます。
Excelソルバー例1(魔方陣)
マジックスクエアと呼ばれる、タテヨコ斜めの正方形に数字を並べるパズルは、みなさんよくご存じだと思います。
例えば、1~9の数字を含む3×3の正方形で、各行、列、対角線の足し算が15になる解法をご存知でしょうか?
このパズルを試行錯誤して解くのは大したことではないのでしょうが、ソルバーの方が早く解を見つけられるに違いありません。 私たちの仕事は、問題をきちんと定義することです。
まず、3行3列の表に1から9までの数字を入力します。 Excel Solverは実際にはこれらの数字を必要としませんが、問題を視覚化するのに役立ちます。 Excel Solverアドインが本当に必要とするのは、各行、列、対角線2本を合計するSUM式なのです。
すべての計算式が揃ったところで、Solverを実行し、以下のパラメータを設定する。
- セット 目的 この例では、目的語を設定する必要がないので、このボックスは空白にしておきます。
- バリアブルセル セルB2〜D4に数値を入力したいので、範囲B2:D4を選択します。
- 制約事項 以下の条件を満たす必要があります。
- B$2:$D$4 = AllDifferent - すべてのVariableセルが異なる値を含む必要があります。
- B$2:$D$4 = 整数 - Variableセルはすべて整数でなければならない。
- B$5:$D$5 = 15 - 各列の値の合計が15になるはずです。
- E$2:$E$4 = 15 - 各行の値の合計が15になるはずです。
- B$7:$B$8 = 15 - 両対角線の和は15になるはずです。
最後に 解く ボタンをクリックすると、解決します
Excelソルバー例2(線形計画問題)
これは、線形目標を持つ単純な輸送最適化問題の例です。 この種のより複雑な最適化モデルは、多くの企業で毎年何千ドルも節約するために使用されています。
問題点 : あなたは,2つの異なる倉庫から4人の異なる顧客に商品を出荷する際のコストを最小にしたいと思います. それぞれの倉庫には限られた供給があり,それぞれの顧客は一定の需要を持っています.
目標 各倉庫の在庫数を超えない範囲で、お客様のご要望に応え、総配送コストを最小化します。
ソースデータ
輸送最適化問題は、こんな感じです。
モデルの定式化
Excelソルバーで線形計画問題を定義するために、3つの主要な質問に答えましょう。
- どのような判断をするのか? 各倉庫から各顧客に配送する最適な商品の数量を計算したい。 これらは、以下の通りです。 バリアブル 細胞(B7:E8)。
- 制約条件とは? 各倉庫の在庫(I7:I8)は超えてはいけないし、各顧客の注文数量(B10:E10)は納入しなければならない。 これらは、以下の通りである。 コンストレイント セル.
- 目標は何かというと、送料の総額を最小限に抑えること。 そして、これが私たちの 目的 セル(C12)。
次に、各倉庫から出荷された合計数量 (G7:G8) と、各顧客が受け取った合計商品 (B9:E9) を計算します。 これは、以下のスクリーンショットに示される単純な Sum 式で実行できます。 また、C12 に SUMPRODUCT 式を入れて、配送料の合計を計算します。
輸送最適化モデルをわかりやすくするために、以下のような名前の範囲を作成します。
レンジ名 | 細胞 | ソルバー パラメータ |
製品出荷数 | B7:E8 | バリアブルセル |
利用可能 | I7:I8 | コンストレイント |
総出荷量 | G7:G8 | コンストレイント |
ご注文 | B10:E10 | コンストレイント |
総受領数 | B9:E9 | コンストレイント |
送料 | C12 | 目的 |
最後に、Excel Solverのパラメータを設定する必要があります。
- 目的:Shipping_costを設定する。 最小
- 変数セル:Products_shipped
- 制約:Total_received = 注文、かつTotal_shipped <= 入荷可能。
を選んでいますので、ご注目ください。 シンプレクスLP この例では、線形計画問題を扱っているため、解法が不明確です。 GRG ノンリニア 詳しくは、Excelソルバーのアルゴリズム をご覧ください。
解決方法
をクリックします。 ソルブ の下にあるボタンをクリックします。 ソルバーパラメーター のウィンドウを開くと、答えが得られます。 この例では、Excel Solverアドインが、各倉庫から各顧客に配送する商品の最適な数量を、配送にかかる総費用を最小にするように計算しました。
Excel Solverのシナリオを保存・読み込みする方法
あるモデルを解くときに、保存しておいた バリアブル セルの値をシナリオとして表示し、後で再利用することができます。
例えば、このチュートリアルの一番最初の例で最小限のサービスコストを計算する場合、月間の予測顧客数を変えてみて、それがサービスコストにどう影響するかを確認するとよいでしょう。 その際、既に計算した最も確率の高いシナリオを保存しておいて、いつでも復元できるようにしておくとよいでしょう。
セービング Excel Solverのシナリオは、データを保存するセル範囲を選択することに集約されます。 ローディング Solverのモデルは、Excelにモデルを保存するセル範囲を指定するだけです。 詳しい手順は、以下のとおりです。
モデルの保存
Excel Solverのシナリオを保存するには、次の手順を実行します。
- 計算したモデルのワークシートを開き、Excelソルバーを実行します。
- での ソルバーパラメーター をクリックします。 ロード/セーブ ボタンをクリックします。
同時に ソルバーパラメーター が表示され、制約を変更したり、さまざまな「もしも」のオプションを試すことができます。
保存されたモデルの読み込み
保存したシナリオを復元する場合は、次のようにします。
- での ソルバーパラメーター をクリックします。 ロード/セーブ ボタンをクリックします。
- ワークシート上で、保存されたモデルを含むセル範囲を選択し 負荷 :
Excelソルバーのアルゴリズム
Excelソルバーの問題を定義する際に、以下の方法のいずれかを選択することができます。 解答方法の選択 ドロップダウン・ボックス
- GRGノンリニア。 一般化された還元勾配非線形 アルゴリズムは、滑らかな非線形問題、すなわち、制約条件の少なくとも1つが決定変数の滑らかな非線形関数である問題に使用されます。 より詳細については、こちらを参照してください。
- LPシンプレックス Simplex LP解法は、アメリカの数学者George Dantzigが考案したSimplexアルゴリズムに基づいています。 いわゆる 線形計画法 問題 - 要件が線形関係で特徴付けられる数学モデル、すなわち最大化または最小化されなければならない線形方程式で表される単一の目的からなる。 詳細は、こちらのページをご覧ください。
- 進化系 .関数の一部が非平滑、あるいは不連続であるため、関数が増加または減少する方向を決定することが困難な、最適化問題の中で最も難しいタイプの問題で使用されます。 詳しくは、こちらのページをご覧ください。
ソルバーが解を見つける方法を変更するには オプション ボタンをクリックします。 ソルバーパラメーター ダイアログボックスを開き、オプションの設定を行います。 GRG ノンリニア , すべてのメソッド そして 進化系 タブがあります。
このように、ExcelのSolverを使って、意思決定問題の最適解を見つけることができます。 そして、このチュートリアルで取り上げたExcel Solverの例をダウンロードして、リバースエンジニアリングすると、より理解が深まります。 読んでいただきありがとうございました!来週のブログでお会いできるのを楽しみにしています。