Excelでの最大フロー問題
有向ネットワークにおけるノードTへのノードSからの最大流量を見つけるために、Excelのソルバーを使用します。ネットワーク内の点はノード(S、A、B、C、D、EおよびT)と呼ばれます。ネットワーク内の行は、弧(SA、SB、SC、AC、など)と呼ばれています。
はモデルの策定
モデルは、我々は、Excelで次のようにルックスを解決しようとしています。
この最大フロー問題を定式化するために1.、以下の3つの質問に答えます。
\。なされるべき決定事項は何ですか?この問題については、我々はそれぞれの円弧上の流れを見つけるために、Excelを必要とします。 SBの流れが2である場合、例えば、セルD5は2に等しい
\ B。これらの決定上の制約は何ですか?正味の流れ(フローアウト – フロー内の)ノードAのは、B、C、D及びEは、すなわち、フローアウト=流れの中で0に等しくなければなりません。また、各アークは、固定された容量を有します。各アーク上のフローは、この容量未満であるべきです。
\ C。これらの決定のためのパフォーマンスの全体的な尺度は何ですか?目的は、この量を最大化することであるので、性能の全体的な尺度は、最大流量です。最大流量は、ノードSのフローアウト等しく
以下の範囲に名前を付ける、理解するためにモデルを容易にするために2。
Range Name |
Cells |
From |
B4:B15 |
To |
C4:C15 |
Flow |
D4:D15 |
Capacity |
F4:F15 |
SupplyDemand |
K5:K9 |
MaximumFlow |
D17 |
次の関数を挿入3.。
説明: SUMIF関数は、各ノードの正味の流れを計算します。ノードAのために、最初のSUMIF関数は、カラムから(フローアウト)における「A」とフローカラム内の値を合計します。第SUMIF関数は、に列の「A」(フロー内)でFlowカラムの値を合計します。最大流量は、ノードA、B、C、D及びEは、0の正味の流れがあるため、ノードSの流出であるセルI4の値と等しい、ノードTの流れの中に等しくなるノードSのフローアウト
試行錯誤
この処方では、それがどの試行解を分析することが容易になります。
1.たとえば、2これらのパスの流れ8のgivea総流量4.路SBETの流れと2パスSCTの流れにパスSADT
試行錯誤を使用する必要はありません。私たちは、Excelソルバーはすぐに最適なソリューションを見つけるために使用することができる方法を次の記述しなければなりません。
モデルを解く
最適解を見つけるには、次の手順を実行します。
-
[Data]タブで、分析グループで、ソルバーをクリックします。
注:ソルバーのボタンを見つけることができませんか?ソルバーアドインをロードするにはここをクリックしてください。
ソルバーパラメータを(読み)を入力します。結果は以下の画像と一致している必要があります。
あなたは、範囲名を入力するか、スプレッドシート内のセルをクリックするかを選択できます。
目的のためにMaximumFlowを入力します。
マックス]をクリックします。
変更する可変細胞のフローを入力します。
5.次の制約を入力して[追加]をクリックします。
6.次の制約を入力して[追加]をクリックします。
7.チェック「制約のない変数非負を作る」と「シンプレックスLP」を選択します。
8.最後に、解決をクリックします。
結果:
最適なソリューション:
結論:2の流れとパスSADT 4の流れとパスSCT 2の流れとパスSBET 1の流れと2パスSACETの流れにパスSCET経路SACDT 1の流れにこれらのパスは、12の最大流量をgivea