<White paper FICO Xpress Optimization Suite>

Robust Optimization with Xpress
ユーザーガイド・例題集＜日本語版＞「誤訳、不適切な訳があるかもしれませんので、英文と併読なさるようにしてください。」<更新日：2015 年 5 月>

ＭＳＩ株式会社
Ｘｐｒｅｓｓ事業部
Tel: 043-2978841
Fax: 043-2978836
Email: xpress@msi-jp.com
Web: http://www.msi-jp.com

目次
Xpress を使用したロバスト最適化......................................................................................... 3
1.1 不確実性とロバスト制約 ............................................................................................ 3
1.2 ロバスト制約の種類.................................................................................................... 4
1.2.1 不確実性係数における簡単な制限 ............................................................................. 4
1.2.2 不確実性集合上の線形制約 ...................................................................................... 6
1.2.3 楕円不確実性集合..................................................................................................... 7
1.2.4 等式制約かつ不確実性制約を持たない不確実性の値 ................................................ 9
12.5 混合不確実性の設定と入力 ......................................................................................... 9
1.2.6 不確実性に対する濃度制限 ...................................................................................... 10
1.2.7 過去に使用したデータを活用する—シナリオ............................................................11
1.2.8 目的の不確実性 ........................................................................................................ 13
1.3 名目値：中心と非中心の不確実性 ............................................................................ 13
1.3.1 ロバスト性の値 ...................................................................................................... 14
1.3.2 名目値を使用して実行させる ................................................................................ 15
1.3.3 不確実性集合のシフトに名目の値を使用する ......................................................... 16
1.4 ロバストモデルの例題 .............................................................................................. 18
2 ロバスト最短経路 ............................................................................................................. 18
2.1 問題記述 .................................................................................................................... 18
2.2 数理的定式化............................................................................................................. 19
2.2.1 最短経路問題 .......................................................................................................... 19
2.2.2 ロバスト最適化問題 ............................................................................................... 20
2.3 実装 ........................................................................................................................... 21
2.4 結果 ........................................................................................................................... 223

需要不確実性に基づいた製造計画 .................................................................................. 24
3.1 問題記述 .................................................................................................................... 24
3.2 数理的定式化............................................................................................................. 24
3.2.1 多期間、多品目製造計画問題 ................................................................................ 24
3.2.2 ロバスト最適化問題 ............................................................................................... 26
3.3 実装 ........................................................................................................................... 27
3.4 結果 ........................................................................................................................... 29

4

ロバスト・ネットワークデザイン .................................................................................. 31
4.1 問題記述 .................................................................................................................... 31
4.2 数理的定式化............................................................................................................. 31
4.3 実装 ........................................................................................................................... 32

MSI 株式会社 Copyright©2015.All Rights Reserved.

1

4.4 データをインプットする .......................................................................................... 34
4.5 結果 ........................................................................................................................... 35
5. ロバスト・ポートフォリオ最適化 ................................................................................... 36
5.1 問題の説明 ................................................................................................................ 36
5.2 数理的定式化............................................................................................................. 36
5.2.1 過度な対策.............................................................................................................. 37
5.2.2 予算の減少を回避する対策 .................................................................................... 37
5.3 実装 ........................................................................................................................... 38
5.4 結果 ........................................................................................................................... 40
5.4.1 入力データ.............................................................................................................. 40
5.4.2 分析する ................................................................................................................. 41
6

ロバストなユニットコミットメント .............................................................................. 42
6.1

問題説明 .................................................................................................................... 42

6.1.1 電力需要のバリエーションに対するロバスト性 ................................................... 43
6.1.2 不確実性 N – k に対するロバスト性 ...................................................................... 44
6.2 数理的定式化............................................................................................................. 44
6.2.1 オリジナル ユニットコミットメント問題........................................................... 45
6.2.2 ロバストユニットコミットメント問題をロードする ............................................ 45
6.2.3 N-k 不測事態-制約付きユニットコミットメント問題 .......................................... 46
6.3 実装 ........................................................................................................................... 46
6.3.1 オリジナルユニットコミットメントの実装........................................................... 46
6.3.2 ロード ロバストユニットコミットメントの実装................................................ 48
6.3.3 N-k 不測事態-制約付きユニットコミットメントの実装 ....................................... 48
6.4 結果 ........................................................................................................................... 49
6.5 参考資料 .................................................................................................................... 51
7.電力供給不確実性に基づく生産計画 ................................................................................. 51
7.1 問題の説明 ................................................................................................................ 51
7.2 数理的定式化............................................................................................................. 51
7.3 実装 ........................................................................................................................... 53
7.4 インプットデータ ..................................................................................................... 54
7.5 結果 ........................................................................................................................... 55
7.6 参考資料 .................................................................................................................... 55
Bibliography ...................................................................................................................... 55

MSI 株式会社 Copyright©2015.All Rights Reserved.

2

Xpress を使用したロバスト最適化
通常、目的関数の期待値が不確実なデータの確率分布で最適な解を導く場合、不確実な値の実現を問わず、ロバスト最適化は実行可能な解を導くことに焦点を置きます：すなわち
ロバストとは、不確実性がモデルのオブジェクトに関連する場合に、ロバスト最適化は不確実性の数を仮定し、その中における最悪なケースの最適化という形で最適な解を導きます。

1.1

不確実性とロバスト制約

値に不確実が必要なモデルの値や係数は不確実性と呼ばれています。直感的に不確実性は、
コントロール不能な未知数と見なされていますが、実はコントロールすることが可能です。
私たちがある意思決定をした後、すなわちソルバーがモデルの変数に対して最適値を発見した後に、不確実性の値に対して意思決定を生成します。従って、モデルの変数の値は最悪のケースを仮定する必要があります。
不確実な係数や右辺の数式におけるある不確実を含むモデル制約はロバスト制約と呼ばれています。ロバスト最適化の概念を視覚化する最善な方法は、2 つのフェーズとして考えることです。議論のために、ある不確実なモデル値を含む制約より小さいまたは等しいと仮定します：

ここでは、全ての係数 ai は既知です。しかし、変数 xk から変数 xn の係数の値は、uk から
un によって示され、不確実性のあるレベルが分っているだけです。典型的な変数に関して、不確実性が取りうる値を定義する必要があります。
不確実性の可能領域は不確実集合と呼ばれ、不確実性の上にある制約によってモデル化されます。上記の例題では、不確実性の値は小さい可能性があり、それらのノルムは上から制約されるとわかっている場合、与えられた信頼性を満たすロバストな解を導きたいと思います。これは、の式における制約を暗示しています。

不確実性の実行可能値を表現することで、ロバスト最適化は常に実行可能解の発見を目指します。すなわちロバスト制約は制約式と等しいことを意味します。
ロバストなモデルは複数のロバスト制約や複数の不確実性集合が含まれている場合があります。ロバスト最適化問題の可解性はモデルの中にあるロバスト制約は利用可能な数理的プログラミングソルバーで解ける形式に変換できるか否かにかかっています。結果としてその変換モデル、すなわち解かれたモデルを The robust counterpart と呼びます。

MSI 株式会社 Copyright©2015.All Rights Reserved.

3

1.2

ロバスト制約の種類

ロバスト制約は変数または右辺で増加した不確実性を含めることができます。ロバスト制
約の種類はそれに影響を与える不確実性集合をどう表現するかによって定義します。ナッ
プザック問題の小さい例題を使用し、不確実性集合の代わりに明確な表現を考察します。

不確実性を含まないこの基本的なモデルは 256.601 の解を得ます。

1.2.1 不確実性係数における簡単な制限
不確実性の値に簡単なボックス制約を与えることができます。これは単に、係数が係数単位で取りうる値の範囲を定義する際ときに、有効なアプローチとなります。不確実性をモデルに導入すると、下記のようになります。

MSI 株式会社 Copyright©2015.All Rights Reserved.

4

新しいモデルは望ましい重量から 30％の最大偏差を予測しています。
新しいモデルは、141.751 の解を得ます。

最も重い品物を取ったことで解が変わりました。許容範囲の 30％の偏差によって取られた品物の重量が増加し、解が 81.042 になりました。最適解はロバストです。すなわち最大の目的関数を持つ、いかなる 2 次式の解に対してもロバスト制約に違反する可能性がある不確
実性ベクトルが存在しています。
目的関数は不確実性のため、大幅に減少しました。当初の問題とロバスト問題の目的関数の差異は、ロバストネス価格（BS04）と言います。不確実性集合の部分集合が、例えば
WTPERCENT より小さい値を持つ場合、不確実性の影響は減少し、より大きい目的関数を持つ解を得ます。むしろ、増加している WTPERCENT は増加する不確実性と等しくなり、
ロバスト最適解の目的関数値を減少させます。
不確実性係数上の明示的な非負の制限を意味します。典型的な意思決定変数と対比すると、不確実性には与えられたデフォルトの下限が全くありません。これは一般的に、不確実性が正値に偏っていないことが考慮されているためです。ロバストなモデリング機能が解をそのような簡単なモデルにしたとしても、各個別の不確実性が独立し、簡単な範囲で制限
した場合、同じモデルが多くの制約を制限する方法で全ての係数を修正することにより導かれることがわかります。ナップザック問題では、全ての変数が非負でなければならず、全ての重量が負ではないときに、不確実性の上限を従来の係数に追加することを意味しています。

MSI 株式会社 Copyright©2015.All Rights Reserved.

5実際、解は 141.751 のままです。

1.2.2

不確実性集合上の線形制約

有限制約式はモデル化が可能な不確実性集合の 1 例にすぎません。複数、または全ての不確実性を集約することができ、その不確実性によって不確実性制約を記述することができます。
下記は、簡単な有限の問題から例題を改良し、代わりに不確実性の合計が全重量の約 10％を要求する式です。

MSI 株式会社 Copyright©2015.All Rights Reserved.

6

これが妥当と思われる一方で、大規模な右辺（全重量の 10％）のため、修正したモデルは非常に保守的な不確実性集合となり解が全て 0 になります。

この動作はロバスト最適化が実行される方法を強調しています。実は、不確実性上の狭い上界を従来の不確実性集合から新しい不確実性集合に移行するとき、不確実性集合を緩和
し、ロバストな実行可能領域を拡張して全ての不確実性を 1 つの品物に置くことを可能にします。各品物が個別に存在していたとしても、重量が重すぎるため全ての零解が唯一の実行可能なものになります。これはロバスト最適化の動作上で非常に重要な点です。不確実性集合を緩和する際、ロバストの対象物はより制限的になります。またその逆も同様に、
ロバスト制約を緩和するには（保守性を低減させるために）対応する不確実性集合を厳しくする必要があります。例題のモデルの解はその後、不確実性値の実行可能領域を制限します。すなわち新たな不確実性制約の追加で設定した不確実性をより厳密にします。事実、
この制約は各係数で不確実性の数を制限する必要があり、簡単な有限のケースと類似しています。線形制約集合で定義した不確実性集合の多くは多面的な不確実性集合と呼ばれています。多面的な不確実性集合は大変、有用性がありますが、例題で見てきた通り、多面的な不確実性集合を適用する際は注意が必要です。

1.2.3

楕円不確実性集合

前述の例題で見てきた通り、The robust counterpart またはオポーネントは意図した物よりも、より保守的なモデルを生成することで、楕円不確実性集合の頂点の解を最大限活用することができます。これは制約式などを制限するかまたは集合を改良することで、（例えば、新たな線形制約を追加することで）対応することができます。これは潜在的な問題のみの

MSI 株式会社 Copyright©2015.All Rights Reserved.

7近似かつより大きい次元で実用的なことがわかります。不確実性集合が二次制約式で記述されることがわかっている場合、例えば不確実性のベクトルのノームは上から制限し、その後、楕円不確実性集合を使用することができます。楕円不確実性の別の利用方法は、不確実性集合を信頼楕円体で記述する場合、すなわち平均ベクトル a、共分散マトリックス、

および信頼性レベルαで定義することができます。この場合、不確実性集合は、となります。

下記の通り、このモデルは要求した解を得ます。

多面的不確実性が robust counterpart を生成する、つまり従来の問題と同じクラスとなり、線形制約の集合を追加することを意味しています。楕円不確実性の場合とは異なり、楕円不確実性に左右される各ロバスト制約に対し、二次錐の制約を含むロバスト counterpart を生成するため、問題の本質を変更する場合があります。従来の問題が線形計画問題（LP）の場合、robust counterpart は二次錐計画問題(SOCP)です。従来の問題が混合整数線形計画
問題(MILP)の場合、robust counterpart は MISOCP です。MISOCP ソルバーは強力ですが、MSI 株式会社 Copyright©2015.All Rights Reserved.

8

MISOCP 問題は MILP よりも求解が困難です。

1.2.4 等式制約かつ不確実性制約を持たない不確実性の値
ここでは、注意が必要なロバスト最適化の落とし穴をいくつか言及していきます。はじめに、等式のロバスト制約はロバスト最適化において非常に制限的です。

この問題の解では、z は常に 0 となります。理由は簡単です：変数 x と変数 y の値が固定されているとき、z は常にノンゼロ値に等しく、不確実性 e の値のいかなる変更も、等式制約
は実行不可能となります。一般的に、等式ロバスト制約における不確実性の影響は最も小さい次元に、従来の問題の実行可能領域を想定します。次に、不確実性集合が下限と上限の双方で制限されていること確認することが大切です。下記の例題は等式制約の場合と同じ影響を示しています。

ここで、z は再び 0 を得ます。Z の任意のノンゼロ値は、十分に大きい e が実行不可能な制
約となります。多くの場合、このような不明な制限は実行不可能なロバスト最適化問題をもたらします。

12.5 混合不確実性の設定と入力
ロバスト最適化理論によって、不確実性集合とロバスト制約における不確実性の使用に制限があるため、この点を留意する必要があります。最も顕著な制約事項としては、異なる
ロバスト制約間で同じ不確実性値の使用がデフォルトで禁止されています。これは、直接適用する場合のみならず、任意の不確実性制約式を使用した異なるロバスト制約と結ぶ（つながる）すべての不確実性に適用される禁止事項です。この禁止事項は、対応する robust
counterpart が作成された方法によって強制されオポーネントにその戦略の選択を許可します。例えば、各制約基底における不確実の値などです。従って、2 つのロバスト制約の値の中に同一の不確実性がある場合、各ロバスト制約に異なる値を取れるようにします。しかし、複数のロバスト制約に対して同一の不確実集合の記述を使用することは、とても便利

MSI 株式会社 Copyright©2015.All Rights Reserved.

9です。下記の例題を参照ください。

この例題は不確実性制約

が 2 つのロバスト制約を同一の不確実性集合につながれ、

重複しているため、デフォルト設定では解けません。その場合、ROBUST_UNCERTAIN_OVERLAP 設定することで、この問題を求解できます。

しかし返された解は x=1=y です。

が充足している場合、これが最適解ではないと

すぐにわかります。重複を許可することで、2 つのロバスト制約に対し、個々にその意思決定の最適化を可能にする opponent が結果的に生じているのが現状です。このモードが、デフォルト設定で許可されていない理由は次の通りです：この方法は、モデル構築を行う人
にとってまさに最適な手段であり、ROBUST_UNCERTAIN_OVERLAP を真に設定することは、不確実性制約を繰り返すことなく、複数回同一の不確実性集合の定義を再利用することができますが、問題を求解するとき、不確実性の値が定義した値を取らない場合、注意が必要です。異なるロバスト制約のために、値が異なることがあります。

1.2.6 不確実性に対する濃度制限
濃度制限は、0 とは異なる不確実性値の数を制限します。すなわち、濃度制限はノンゼロである不確実性の数や、さらに一般的に述べると名目値ではない数を制限します。ロバストに対応するものが生成される方法であるため、濃度制限における不確実性は常に上限と下限を持たせる必要があります。下記の例題で複数のロバスト制約（すなわち、重複する不MSI 株式会社 Copyright©2015.All Rights Reserved.

10確実性において）どのように、不確実性を利用するか示します。
3 つの品物のうち、1 つのみが重量にゼロではない数を取りうる小さいナップザック問題です。

返された解は x=y=1 と z=0 です。ここで注意すべきことは、他の制約式に関して、各ロバス
ト制約基底における濃度制約を考慮することおよび ROBUST_UNCERTAIN_OVERLAP が真に設定されない限り、モデルの求解ができないことを考慮することが重要です。

1.2.7 過去に使用したデータを活用する—シナリオ
シナリオとは不確実性の過去データを使用することで、ロバスト最適化問題を構築する効率的な方法の 1 つです。不確実性ベクトル u がある場合、モデルに適合する不確実性集合は未知ですが、不確実性ベクトルに対するこの 20 年間の月毎の各不確実性の値を含めた記録のデータベースがあります。従って、1 つ以上の制約がデータベースの不確実性ベクトルの各記録に充足しているモデルを構築したいと思います。不確実性集合のよい近似はない
けれど、過去データに対するロバスト性を満たすことができる場合があります。シナリオを宣言することは、問題に全てのデータに対応する制約を手動で追加することと同じです。
この機能は、シナリオデータがソルバーによって効率的に処理されたことの確認と過度に大規模な問題の生成を避けるために利用することができます。シナリオは過去データを処理することができ、過去の測定を取る前に分析したナップザック問題の次の拡張を示しめします。

MSI 株式会社 Copyright©2015.All Rights Reserved.

11ロバストモデルに基づいたシナリオが決定理論として等価であることを確認することは有益です。モデルに基づく簡単なシナリオは下記の通りです。

MSI 株式会社 Copyright©2015.All Rights Reserved.

12

この決定論的等価は：

1.2.8 目的の不確実性
不確実性係数が目的に導入される場合、ロバストに対応する解は最も保守的な目的を導きます。詳しく言うと、目的関数がかつ、値のベクトルは x であり不確実性のベクトルは u である最小化問題における最適な解は関数となります。新しい補助変

数 z が目的を表現するために使用される場合、これは目的をロバスト制約に変換することに等しくなります。

1.3

名目値：中心と非中心の不確実性

不確実性の名目値はそのデフォルト値、不確実性を仮定、または非ロバスト性の実数値を表しています。これまで見てきた例題において、不確実性の各名目値は 0 であったように、すべての不確実性が処理され、実際、不確実性は誤差項として処われます。
不確実性のデフォルトまたは中心（center）は 0 とは異なる名目値を指定することで変換することが可能です。名目値を使用する優位点は、同じモデルに不確実性を固定することにより得られたロバスト最適化モデルと決定なモデル双方でモデルを実行することができます。実数の不確実性係数として不確実性を使用し、実行させることが可能です。
使用する前に、不確実性の名目値を使用して実行する時の使用法とルールを下記の例題で示します。
1. Zero centered 不確実性を使用することで、そこでは Zero centered error として不確実性
はモデル化されます。
名目値を持つ不確実性：
式は下記の通りです：

MSI 株式会社 Copyright©2015.All Rights Reserved.

132.係数としての不確実性、そこでは係数として uncertain がモデル化されます。名目値として 5 を持つ uncertain 係数となります：
また下記のように表現することもできます。

上記の例題で見てきた通り、名目値は演算子’:=’.を使用して設定します。等価演算子’:=’.
と上記の演算子を区別することが重要です。
（それが、与えられた値に不確実性の値を代わりに固定します。
）

1.3.1

ロバスト性の値

zero-centered 不確実性の使用、または名目値を設定するとき、不確実性を取り除いて使用
し、モデルを解くことができます。すなわちそれらの名目値に固定されているすべての不確実性係数を使用します。これは不確実性を追加せずに、モデルが実行可能かどうかを確認するのみならず、モデルの中で不確実性を持つ値を計算することもできます。
下記の例題は名目値に固定されたすべての不確実性を使用し、どのように解くかを示します。

モデルは下記の出力を得ます：

MSI 株式会社 Copyright©2015.All Rights Reserved.

14不確実性に対する名目値を全く定義していないとき、デフォルト設定の 0 が使用されます。

1.3.2

名目値を使用して実行させる

名目値の実行は 2 つの簡単な規則で定義します。
規則 1：名目値を設定するために、不確実性ドメインを変更します。u:=a に不確実性として名目値を設定することで、u の後に生じるすべてが u+a に置換されます。下記の簡単なモデ
ルは x=0.5 の解を得ます。

最悪なケースは、u が上限に 1 を取る場合です。2 を示すために u の名目値を変更することで、u は u+2 により置換され、代わりにモデルの解は 0.25 となります。

不確実性 u は未だに 1 の上限を取りますが、制約式は、1 の上限を取る u を持つを読み込みます。
規則 2：変更された名目値は割当てられた後に、定義されるロバストかつ不確実性集合の制
約に反映されるのみです。
この作用は、実数値のパラメータの実行方法と類似すると考えると、分かりやすいと思います。規則 1 の例題を見てください。この作用がすでに使用されています。名目値の変更はロバスト制約にのみ影響を与えますが、このポイント前に宣言されたバウンドにも影響を与えます。

MSI 株式会社 Copyright©2015.All Rights Reserved.

15

このモデルは x = 0.25 を得ます。制約が使用されている(3)を宣言するとき、それは、r の実数値であり、後でそれを再定義しても、制約に影響を与えませんでした。この作用は、不確実性の名目値で実行するときに、再利用されます。

実数値の係数が y=0.25 で使用されるときと同様に、不確実性係数が使用されるモデルの名目バージョンが解かれます。
（注：名目の引数を最大化する）これらの規則は、不確実性に対する名目値を扱う方法における優れた柔軟性を提供しますが、注意が必要で、規則 2 の影
響を常に配慮しなくてはなりません。

1.3.3 不確実性集合のシフトに名目の値を使用する
名目値の付近にもその影響を同等にする一方で、名目値は不確実性係数をシフトするために、使用することができます。
下記の例題を見てください。

モデルは x=0.5、y=0.5 の解を得ます。不確実性 e の値と f はそれらの値を半径から取りえます。名目値が追加された時、モデルは下記の通りです。

MSI 株式会社 Copyright©2015.All Rights Reserved.

16

解は x=0.25、y=0.25 になります。この変化の要因を考えるために、問題に直接、名目値の影響を置換していきます。

不確実性のレンジは変わりませんが、ロバスト制約において、それらが集中する値は変化に応じて、名目値にシフトします。
1.3.4 係数に名目値の不確実性を使用する
はじめて不確実性を使用する前に、名目値を割り当てることができますが、想定外の方法
で動く場合があります。同じモデルの 3 つのバージョンを下記に示します。

この 3 つのバージョンはどれも x=y=0.5 の解を得ます。理由は、見ただけでは分かりにくいですが、例えば 3 番目のケースでは、規則 1 の影響を考えたときその理由が理解できます。

MSI 株式会社 Copyright©2015.All Rights Reserved.

17不確実性制約にシフトが適用されるとき、（範囲を含め）例題では、それを相互的に相殺します：線形のロバスト制約と対応するエラー制約は、ともにシフトしています。しかし、万が一、モデルがその名目値によって解かれる場合は明らかに異なります。この意味を明確に示した下記の表を見てください。

1.4

ロバストモデルの例題

このホワイトペーパーでは実世界の問題に適用されたロバスト最適化の完全な例題を複数掲載しています。この例題に対応したモデルやデータファイルは、Xpress7.7 のパッケージに含まれています。
（サブディレクトリ examples/robust/Mosel）

2 ロバスト最短経路
2.1

問題記述

毎日、自宅から仕事場まで車で通勤しています。複数のルートがあります。このルートを接続ノード（ルートの交差点）の集合の線として考えます。各ラインは（出発点）について、ある終点からもう一方への到着までにかかる所要時間は既知です。道路工事やその他要因による渋滞や遅延は未知です。

MSI 株式会社 Copyright©2015.All Rights Reserved.

18

図 1 は、起点と終点を、Source と Sink として示した交通網の例を表しています。
接点でのﾗﾍﾞﾙﾀﾌﾟﾙ(L,D)は、接点と接点上で道路工事が原因となりうる最大遅延Ｄの長さ（移動時間）を示しています。このデータ例では、接点に従って走行する双方向の時間が同じとなり、双方向の最大遅延は同じですが、多くの場合、値が実際には異なることがあります。

2.2 数理的定式化
2.2.1 最短経路問題
ネットワークを通じて、最小費用経路を見出す問題は最短経路問題として知られています。
アーク a が 0 以外を選択した場合、各アーク a はと関連したバイナリ変数を使ってこの問題を説明できます。
Source と sink のノードを除いた全ネットワークの中にあるノードに対し、フローバランス
制約を生成します：入ってくる交通量の合計は、出ていく交通量と同じです。Source ノー
ドは 1 つのみ出ていく交通量で使用したアークを持ち、sink ノードは 1 つのみ入ってくる交通量に使用したアークを持ちます。下記は、原点経由し目的地ノード

を定義し

ます。

MSI 株式会社 Copyright©2015.All Rights Reserved.

19上記のモデル定式化において、最短経路の計算で考慮すべき道路工事による遅延を追加的係数として目的関数に追加することができます。

しかし、上記の追加は下記を仮定しています。
(a)全遅延は最大値を取りうる かつ(b)全道路で遅延が発生する
上記の仮定は極端に保守的な予測を算出します。
このケースでは移動時間全体の推測における上限を提供しますが、確実に起こりうる可能性はかなり低いと考えられます。

2.2.2

ロバスト最適化問題

本来、記述したかった問題は下記の通りです。
(a)遅延は指定した最大値までの値を取ります。
(b)かつ N 道路が原因となる遅延の値をとります。
これは、各アークの遅延の値は固定されず、不確実性を含む問題であることを意味しています。

と関連した遅延の不確実な期間を delay a と示すならば、濃度制限された不確実性集合は下記のようになります。

上記の結果、生成されるロバスト最適化問題は下記の通りです。

MSI 株式会社 Copyright©2015.All Rights Reserved.

20

2.3

実装

下記の Mosel モデルは 2.2 で生成したロバスト最適化モデルを実装します。
注：最大 NWORK、
N=2 に対するパラメータに道路工事を要因とする遅延の全数値を制限する不確実な遅延に関する密度の使用法に留意ください。このような密度制約に使用する不確実性は、明示的に下限と上限の集合を設定してください。

MSI 株式会社 Copyright©2015.All Rights Reserved.

21

2.4

結果

図 2 はロバスト解で定義したネットワークを通る経路です。
総距離は 21 です。経路は、source→2 →5 → 6 → 7 → Sink この経路は 14 の名目の距離を持ちますが、経路 2-5 と経路 6-7で道路工事が行われていた場合、7 の全遅延を追加する必要があります。この 2 つの経路は最大遅延の（経路 2-5 と経路 5-6）道路工事が行われている他のいかなる組合せでも全所要時間は 21 分以下となる結果が得られます。

図 3 の解を考察していきます。道路工事による遅延を考慮せずに得た解です。この場合の最適な経路は全所要時間 11 となる Source → 3 → 8 →Sink です。しかし、最悪な場合、経路 Sink–3 と経路 3-8 は、所要時間が道路工事によって 13 分から 24 分に増大する可能性があり、この経路は明らかに考慮不足な解です。

MSI 株式会社 Copyright©2015.All Rights Reserved.

22最後に、全てのアークコストに最大値を設定して得た解（全起点には最大値の遅延があると仮定したグラフにおいて計算された最短経路）を考察していきます。図 4 で示されている通り、この解の経路は所要時間 27 分の Source →2 →4 →7 →Sink となっています。
多くても 2 つの経路で道路工事が行われていると仮定のもと、この所要時間は意味を持ちません。実際、名目の所要時間は 13 分であり、最悪な場合の所要時間は経路 2-4 と経路 4-7で道路工事行っていると仮定して得た解に 10 分追加した解となり、従って 23 の全所要時間を導きます。上記で示した 21 のロバスト最短経路よりも悪い解となります。
上記の結果を要約した表 1 は、3 つのケースにおける 3 つのアプローチで得た所要時間を示しています。
（ロバスト、名目値を持つ最短経路、全経路に最大遅延を持たせた最短経路）
道路工事がない場合、グラフ N＝2 の起点で道路工事が行われている場合、いたるところで道路工事が行われている場合も、N は無限です。

注：このセクションのはじめで作成した仮定に基づき、最小の最悪なケースの所要時間で問題を解いた唯一の解は、モデルに不確実性を使用したこと、ネットワーク上に道路工事を持たせること（制限はありますが）は既に述べました。

MSI 株式会社 Copyright©2015.All Rights Reserved.

23

3

需要不確実性に基づいた製造計画

3.1

問題記述

グラスを製造している工場のマネージャは、翌 12 週間における製造計画の作成を考えています。工場では 1000 個のグラスのバッチに 6 種類の異なるタイプ(V1 から V6)を製造しています：不揃いな（1000 個未満）バッチもあります。全種類のガラスに対する 12 週間の需要予測があります。最初の在庫と要求される最終的な在庫の基準（数千個）と同様に既知です。全種類のガラス製品におけるバッチあたりの労働者と機械に要求される稼働時間と要求される在庫スペース（トレイ数で測定）および€で格納コストを与えます。

3.2 数理的定式化
3.2.1 多期間、多品目製造計画問題
を製品（グラスの種類）の集合および、期間の集合を
期間 t 内の製品ｐの需要に関するとします。

を記述します。また製品

および製品と、グラスの種類 p に対する在庫費用があります。この費用は全ての期間において同一ですが、期間に対してインデックスを追加することにより、簡単に各期間に様々な費用をモデル化することができます。
とは製品ｐの各ユニットでそれぞれに要求される機械の稼働時間と労働者の作業時間を示し、それに対応する在庫スペースは、

MSI 株式会社 Copyright©2015.All Rights Reserved.

です。各製品（表 2 のデータ
24

を参照ください。
）あたりに要求される最終的な在庫基準
最初の在庫と同一基準になるようにを与えます。労働者と機械の許容量に対し、それぞれ記述し、在庫場所の許容量に対してをを記述します。

この問題を解くために、期間ｔのグラスタイプ p の製品を表現する変数
す。期間ｔの終了日の各製品ｐの在庫基準に対応する変数はより、最初の在庫基準

と

が必要で

と呼ばれます。慣例には期間 0 の終了日の在庫基準と考えうる場合、ストックバラ

ンス制約の定式化を簡素化するためにの表記法を使用します：

これらのストックバランス制約は製品の量
水準は前期の終了日におけるを示し、すなわち期間ｔの終了日の在庫+期間ｔの製品

p-期間終了日の需要に等しいことを示しています。
計画期間終了日に在庫が 0 にならないように、計画期間終了日における製品の在庫量を一定に保つ必要があります：

すべての期間に対して様々な容量制約を定式化していきます。下記の制約式は労働者の許
容制約、機械の運行時間の制約および、在庫スペースにおける制約を生成します：

費用関数とは、すなわち製品と全ての製品に対する在庫費用および期間の合計を最小化します。

製品の変数に対する非負制約式と上記で記述した定式の在庫量によって完全な数理モデルを得ます。

MSI 株式会社 Copyright©2015.All Rights Reserved.

25

3.2.2

ロバスト最適化問題

上記で述べた数理モデルの背景にある様々な仮定は疑問がある場合：
1.

一定の資源許容量：人材の労働枠は、経時的に一定にならないと考えうるであろうし、（休日や研修、病欠などで左右される）計画的な機械のメンテナンスや不慮の機械故障による供給停止などのリスクもあります。
2. 正確な需要量は既知：一般的に、需要の予測は推定値であり、過去のデータを分析した結果から算出されます。
従業員の欠勤機械の供給停止のケース（不測の事態 k として定式化）は、このマニュアルのセクション 7と 6 に掲載しています。従ってここでは、人材の労働枠（可用性）における不確実性をとらえる方法を見ていきます。
各期間ｔ（実際の欠勤の多くがこの値を取りうる）の欠勤時間における上限を

と

しますし、
経験値により長期間にわたる（全労働時間のパーセンテージ A として示します。）
平均的な欠勤の事由は既知です。各期間あたり、実際の欠勤時間を示すために、不確実性を導入します。オリジナル・モデルで生じた従業員許容制約式は下記の制約式に置き換えます。

多面的不確実性集合 Uabsent の表現は、下記の通りです。

MSI 株式会社 Copyright©2015.All Rights Reserved.

26

需要シナリオ
需要のロバスト定式化に関して、同時期の過去データや、様々な予測方法により算出された実現可能な様々なシナリオがあると仮定し、需要の実行可能領域を記述します。
固定された需要量
タ

では、シナリオの所与の集合に対する需要シナリオデー

によって決定される不確な量

単純な’robustification’ は不確実性を使用します。

によって固定需要量に簡単に置き換えられる場合があります。しかしこのアプローチは期待される結果には結びつかないでしょう。
等式制約に 1 つの不確実な量を導入することで、不確実性の様々な実現に対するいかなる領域も残すことができません。従ってここでは、在庫バランス制約に 2 つの不等式集合を使用します。

一番目の不等式は需要が期間内の製造と開始時と期間終了期間の異なる在庫基準によって充足すべきであることを表現しています。不等式の変換したモデルは下記の通りです。

3.3

実装

標準的な決定論的モデルの実装は下記の通りです。

MSI 株式会社 Copyright©2015.All Rights Reserved.

27

従業員の欠勤
従業員の欠勤に関するより詳細な処理の実装を行うために、各期間(ABSENCE)あたりの欠勤
時間の推定時間の最大数を使用して不確実性 absent を導入し、計画期間中の全欠勤時間における制限は 5％と仮定します。作業能力の制限において、欠勤は、理論上利用可能な勤務時間から推測しなければなりません。（ここでのこの値は、基本モデルのデフォルト制限値
より 20％高いと仮定します。
）

需要シナリオ
需要シナリオを定式化するために、需要のデータ（すなわち在庫バランス制約）に関する制約の定義を修正しなければなりません。シナリオ制約を解説する前に、シナリオの構成、（すなわちシナリオ・カウンターや全期間に関係する不確定需要でインデックス付けした
配列 SCENDATA）を使用して推測される形にシナリオ・データをコピーする必要があります。

MSI 株式会社 Copyright©2015.All Rights Reserved.

28

不確実性要素の 2 つの集合を同時に適用することができます。しかし不確実性要素の効果を分析するために、一度に 1 つの集合のみを適用するほうが望ましいでしょう。

3.4

結果

元の問題記述とインスタンスデータは[GHPS02]から取られています。
（セクション 8.2 ガ
ラスコップ製品）
図 2 は 6 種類のグラスに関する費用と資源使用法のデータを示しています。

基本的な需要シナリオを持つオリジナル問題の解は、総費用が€185,899 となります。結果として得られる製造計画の詳細は図 3 に示します。利用可能な人材資源はほぼ完全に消費され（最初の週で、351 時間が消費され、他の全週で、390 時間の制限に達しています。
）機械はある期間（週 1-3 と 5）において、全ての許容量を消費していますが、利用可能な在庫スペ
ースは現実のニーズを超過しています。
ロバスト性をこのような厳しい制約を持つ問題に導入する場合、選択肢を組み込む余地が全くないため、結果はおそらく「実行不可能な問題」となります。従って、この元の値が最悪な推測であると見なし、実際の利用可能な勤務時間を 20％と仮定した従業員の作業時間の制限を緩和させます。

MSI 株式会社 Copyright©2015.All Rights Reserved.

29

図 4 に欠勤の推測結果の詳細をまとめました。€181、210 の総費用が前述の固定された最悪な欠勤ケースよりわずかに減少しています。

シナリオベースのアプローチは€203,545 の高額な総費用が結果として生じています。図 5 で纏めた結果において機械の稼働時間許容量と従業員の労働時間許容量は、双方ともにほぼ許容量制限まで消費されていることがわかります。
（各 850 and 429=1.1 ・390）
さらに、大量の製品が在庫として残っています。

もっと簡単に比較するために、図 5 のロバスト定式化で使用したものと同じ許容制限を使ったオリジナル・モデルに対する要約結果を図 6 で示しています。このケースにおける総費用
は€ 181,432 となります。

MSI 株式会社 Copyright©2015.All Rights Reserved.

30

4

ロバスト・ネットワークデザイン

4.1

問題記述

電気通信ネットワークを作成していきます。ルータの集合、リンクの集合やトラフィック
需要量（M/Bで計測）の集合をルータのペア間に与えます。便宜上、各々は、都市にあると仮定します。全てのトラフィック需要量を満たすために、各リンクに許容量を設定していきます。科学文献におけるこの問題の様々なバリエーションや、プロビジョニング・仮想
私設ネットワーク問題（略：VPN）を扱う重要なサブクラスもあります。一般的にVPNト
ラフィック需要量は短期間でさえ、予測が難しいためトラフィック需要量は不確実です。
この点に注意しながら、VPNを現実的に満たすことを考慮していきます。
2つのパラメータ とは、それぞれノードiで、最大の送信と受信の合計を予測しているものと仮定します。従って、この問題はネットワークの各ノードに対して、トラフィックの送受信において上限と下限により、モデル化した需要における不確実性に関するノードhからノードkに任意のトラフィック需要量を適用するためにネットワーク(所与の許容量Cのユニットの倍数)の各アークの許容量の値を探索します。

4.2と数理的定式化アークを持つ有向グラフGを考察します。G = (V,A)として定義し、はnノードの集合を示し、はアークの集合です。各アークに設定した許容量（MB/s）の各ユニットの費用はで示され、各ペアのノード(h,K)に対するhからkまでの（unknown）トラフィック需要量は、バイナリフロー変数

により与えられます。

を導入します。：この変数は需要（h,k）がアーク(i,j)を通り、0またはその他と取るルート、かつ各資源/距離間のデータのフローをモデル化することに役立ちます。
ネットワークに設定される許容量Cのチャンネル数を表す整数変数も導入する必要があります。この問題はトラフィック需要おける不確実性の重要な付加を持つマルチ・コモディティネットワークフロー問題です。はじめに、不確実性集合をモデル化します：全ての不確実な需要は非負かつノードiの送受信合計需要は所与のパラメータによる上限から固定されています。

この問題に対する 2 つの主要な制約式のクラスを考察します：変数 f と許容量制約式に対すMSI 株式会社 Copyright©2015.All Rights Reserved.

31

るフローの予測は、下記の通りです：各ノード i と各需要(h,k)に関して、i がこの需要に対する中間ノードである場合、すなわち h でも k でもない場合、送受信のフローは等しくなければなりません。すなわち

i = hのとき、フローのトータルバランスは下記の通りです。

i = kのときは冗長となりこれに対応する制約は省略することができます。ここで、許容量の制約を作成します：アーク(i, j)における全トラフィックは、(unknown)トラフィック需要量
で重み付けされ、アークに設定された全許容量に等しいか、または小さくする必要があります：

最後に、目的関数を最小化します。つまり

4.3

実装

下記はMoselで実装したモデルです：ROBUST_OVERLAP_UNCERTAINはオプションであり、各アークで許容量制約式を不確実性需要の部分集合として使用するために用います。

MSI 株式会社 Copyright©2015.All Rights Reserved.

32

MSI 株式会社 Copyright©2015.All Rights Reserved.

33

4.4

データをインプットする

図5に示したネットワークを考察していきます。各リンクは、逆方向の2つのアークを表しています。下記の表7は不確実性集合（各ネットワークのノードに対する送受信の最大トラフ
ィック需要）を説明しているデータファイルvpn_data.datで指定されたパラメータのレポー
トです。

MSI 株式会社 Copyright©2015.All Rights Reserved.

34表8は、ネットワークで使用された全arc (i, j)に対し、設定されたアークコストを説明しています。(“–”は交差がないことを示しています。)

4.5

結果

vpn_data.dat の例題は、6 つのノードと 18 のアークを持つネットワークを説明し、総費用 566 のデザインを得ます。表 9 は各アークに設定される許容量のユニット数をレポートし、表 10 では
起点（Source）から目的地への各需要がたどった経路を示しています。

MSI 株式会社 Copyright©2015.All Rights Reserved.

35

5. ロバスト・ポートフォリオ最適化
このセクションでは、単一期間ポートフォリオ選択問題のロバスト最適化における定式化を説明しています。ロバスト最適化から得られる結果を比較するために、Monte-Carlosimulation を使用して解のロバスト性を数値化する方法も説明しています。

5.1

問題の説明

単一期間におけるポートフォリオ選択問題は、最大予想収益値を持つポートフォリオを作成するために所与のリストから資産の選択を行う問題です。資産は市場価格で購入するため、価格が変動します。投資予算額は固定され選択された各資産は一定の割合の利用可能な予算を使用します。各資産の市場価格はあるユニットを購入するために投資家が支払う額に応じて変動するため購入時に確定します。将来的な資産の価格は未知ですが、確率変数の分布特徴は既知と仮定します。
投資家はリスクを避けるために、ポートフォリオの最悪なケースにおける価格に関してある保証を設定したいと考えています。最悪な状況下での資産価値の下方変動は資産変動の1.5 倍に達すると見込んでいます。言い換えると、1.5 倍を超える価格変動による資産価値の減少が最悪なケースだと考えています。例：資産#20 は市場価格 100$であり、資産#20 の変動性は+/- 10$と仮定します。そして資産価値を考慮した最悪なケースは 85$です。
この問題における投資家の目的はポートフォリオの予想収益価格を最大にしつつ、過度なリスクを避けることが目的です。保守的な投資家は、最悪な結果を避けようとするあまり、最悪なケースの価格を持つ資産に間違いなく予算の全てを注ぎ込むでしょう。残念なことに、この戦略はポートフォリオの予想収益値を劇的に減少させると考えられます。
別の極端な投資家は、最悪な状況下をあまり考慮せずに、最も高い予想収益値を持つ資産に予算のすべてを注ぎ込む楽観的な方針を持っています。2 つのアプローチは極端であり、同程度まで全ての資産価格は上下するという現実をまったく考慮に入れていません。通常、現実の場では、最小収益値が保証されている投資先よりも最大収益値の保証がある投資先をポートフォリオに選びます。
この問題は、機会制約付き最適化問題として知られています。セクション 5.4 の「結果」に、どのようにして、ロバスト最適化が最悪な状況下を避ける制約を守りつつ、最大収益を上げる解を導くかを示しています。

5.2

数理的定式化

集合 S は利用可能な資産を含み、インデックス
ます。資産 S の市場価格は各資産に対し、変数は集合 S から生じる資産を表現していと表記され、この変動範囲はを使って与えます。

は、資産を購入するために費やす予算の一部を表現しています。

変数 W はポートフォリオの最悪なケースの価格を表現しています。変数

MSI 株式会社 Copyright©2015.All Rights Reserved.

は、資産 S36

の値の変動可能性を表現しています。値 N は投資家が考慮しうる最悪なケースを表現し、その標準偏差の倍数として表現された資産価値の最大減少に一致しています。

5.2.1

過度な対策

保守的な投資家は、ポートフォリオの最悪なケースを最大化すると予期できます。最悪な状況を避けるために、ポートフォリオの最悪なケースの価値を最大化しようとするでしょう。例題ではこの最悪なケース、全ての資産の価値がいつ N 時までにその標準偏差を下回るかを説明しています。

5.2.2

予算の減少を回避する対策

セクション 5.4 の結果の説明を理解するために、最悪なケースの発生を確実に避けることは、
平均的なケースにおいて、価値の重大な損失を招きます。従って平均的なケースが最も発生しうるので、このような戦略は賢い選択ではないでしょう。投資家は保護レベルを制限するために制御パラメータを追加してモデルの改善を行います。保護レベルを表現している割合を k、全体の変動予算を G で表現した下記の式を使い定義します。

楕円体不確実性集合
利用可能な資産価格の減少は不確実性集合 U(G)を使って制御します。下記のように定義します。

ロバスト制約式
結果として得られるロバスト最適化問題は、下記の通りです。

MSI 株式会社 Copyright©2015.All Rights Reserved.

37

5.3

実装

前セクションの数理モデル下記の Mosel モデルで実装します。下記のモデルは、ロバスト最適化問題を生成するために楕円体不確実性集合をオリジナル問題に追加する方法を説明しています。また Monte-Carlo simulation method を使用し、解の品質を数値化する方法も示しています：NMC = 5000 のイタレーションでは、この価格（平均値）に集中した正規分布を適用し、その既知の変動を使って、すべての資産予想収益値に対するランダムな値を表します。異なる解の品質可用性を決定するため、目的関数の値（より正確に言うと、結果として得る解の値はその値の範囲に属している）の生成を考慮します。確立変数の分布関数の正確な成形を決定することが難しい場合、解の品質に関して洞察するのに、大変有益な方法です。

MSI 株式会社 Copyright©2015.All Rights Reserved.

38

MSI 株式会社 Copyright©2015.All Rights Reserved.

39

5.4

結果

不確実性集合がどのように解に影響を与えるかを理解するために、様々な保護レベル k に対するポートフォリオ割当問題を解き、保守的なアプローチに対する提案と比較していきます。投資家は 110 から 130 の範囲でポートフォリオの価値を予想できると知っています。
従って、0-110、110-130、130-無限の 3 つの範囲に各々に対し、ポートフォリオの値がこの範囲に属する可能性の計算を望んでいます。

5.4.1

入力データ

図 11 は、資産平均値を示し、つまり市場価格（平均値）、値（ S. Dev）の標準偏差、および
N=1.5(最も悪い値)を持つ考慮された最悪なケースの値である資産の平均値を示しています。
これは最悪なケースの値を持つけれど、予想収益値に対して最もよいケースを持っているので、資産#25 は、楽観的な投資家が好む資産であり、資産#22 は、最悪な値を持つため保守的な投資家にとって最善な選択であることが、下記のデータからわかります。

MSI 株式会社 Copyright©2015.All Rights Reserved.

40

5.4.2

分析する

名目の問題と比較し、ロバスト最適化がどのように動作するかを理解するために、名目の問題(A)と保護レベル k を使ってパラメータ化された 4 つのロバスト最適化問題を解いていきます。そして、保護レベルが k=0.0 の場合、偏差予算も 0 となり、従って解は非常に楽観的な値を得ます。
二番目のステップは、5 つの解を使って選ばれた資産の実質価値をシュミレーションし、ポートフォリオの値は、以前に投資家が決定した 3 つの値の範囲の 1 つが持つ可能性を計算するために、Monte-Carlo method を使います。
表 12 は上記の問題に対するポートフォリオ選択の提案です。分かりやすくするために、1つの解に選ばれた資産のみをリストしています。保守的な解(A)は最悪なケースの値を使って予算のすべてを資産に割当てます。楽観的な解(k=0.0)は最も高い予想収益値を使って、予算のすべてを資産に割当てます。
改善した保護レベルによって、提案した解は最大の予想収益値と最悪なケースを使って、資産間のバランスを改善します。
表 13 は、各ポートフォリオ選択の提案に対するポートフォリオの値の Monte-Carlosimulation の結果を示しています。保守的な解(A)は最も悪いケースの値を持ち、予想されている通り値が 110 未満に下回るこのポートフォリオの値の予想収益は 0 ですが、投資家は、MSI 株式会社 Copyright©2015.All Rights Reserved.

41

ポートフォリオの価値が 130 を上回ることは極めて少ないと予想しているため、この解だと判断するかもしれません。

楽観的な解は最大予想収益値ですが、投資家の目標である 110 のすぐ下までポートフォリオの値が達するリスクも極めて高くなっています。(38%)ポートフォリオの価値は、高い変動性をもっていることに注意が必要です。他の解(k>0)の動きは超過予算が増大した場合、予想収益値が減少する一方で、ポートフォリオの最悪なケースの値も同様に増大することを示しています。3 つの範囲を背景とした値の分布の不安定さは、減少傾向にあります。

k=5%の解は予想収益値と最悪なケースの値間のよいバランスを示しています。さらにこの解には 110 を上回るポートフォリオの値を導く大きなチャンスが(87%)あります。
5.5

参考資料

ここに掲載した問題は、[BTEGN09]に記載されている単一期間ポートフォリオ選択問題からヒントを得て作成した問題です。

6

ロバストなユニットコミットメント

6.1

問題説明

ユニットコミットメント問題は、電力需要量を満たすために、発電所の発電レベルをスケ
ジュールする問題です。パワーシステムを安全に操業するために、常に発電量を需要量と一致させる必要があり、（パワーバランス制約と呼ばれる）この要求が満たせない場合、深刻な問題が発生し、停電する可能性があります。
発電機の発電レベルは、このコミットメントに影響されます。発電機のスイッチを切れば、MSI 株式会社 Copyright©2015.All Rights Reserved.

42

発電が停止し、発電機のスイッチがオンの状態の時にのみ発電しています。技術的な制約のため、発電レベルは、運転業務規定も考慮する必要があります。どの発電機を稼働させるか、どの発電機を停止したらよいかを決定するとき、最も重要なパラメータは、発電レベルの最小化です。
どの発電機を稼働するかを決定する時、上記以外の重要なパラメータは起動コストです。
起動コストが低い発電機は計画期間中、オン/オフを複数回行うことができる一方、起動コストが高い発電機は一度起動させた後、継続的に稼働させることが効率的です。シンプルなモデルを作成するために、ランプ速度制約、シャットダウンコストまたは様々な予測タ
イプなどは考慮せず、モデルを作成しています。
例題：一日ごとのユニットコミットメント・スケジューリングを考慮します。業務計画の課題は、安定的な電力需要を満たすために、1 日の発電機の起動フェーズ/シャットダウン・
フェーズを決定することです。しかし、スケジューリングを行うとき、正確な需要量は未知のためこれは最適化問題における不確実なパラメータと考えられます。この不確実性を扱うためによく用いられる方法は、十分な発電設備を所有し、厳密に要求されるより多くの発電機を稼働させることです。効率的にこの不確実性を考慮したロバスト最適化テクニックを適用する方法を下記で説明します。
リアルタイムで変更する必要がないスケジュールを持つ 2 つのユニットコミットメント問
題を実装します。厳密に言うと、提案したユニットコミットメントスケジュールは十分な発電量を最終的に起動やシャットダウンをせずに、需要の供給が可能なことを確認します。
最初のモデルはシナリオ不確性集合に基づき、実際の電力需要量が予測と異なっていても、ユニットコメットメントのステータスはいかなる部分修正も必要がないこと保証します。
この問題では電力需要の実現性は、予測値と過去の電力需要曲線と類似すると仮定します。
2 つめのモデルは、重要性不確実性集合に基づき、k まで同時に発電機の供給停止を制限しても、ユニットコミットメントステータスはいかなる部分修正も必要がないことを保証し
ています。

6.1.1

電力需要のバリエーションに対するロバスト性

電力需要のバリエーションに対する典型的なユニットコメットメントのロバスト性は、総電力量と稼働している発電機で得られる発電量との差をバウンドする追加制約を使って実現させます。この値は電力量レベルの上限として認識され、追加的な発電機の起動を行わずに安定した電力供給が可能な最大需要電力の増加を定義します。この経験値は過去の電力需要量から恣意的に決定します。
ここでは、過去データの電力需要量から形成されるロバスト制約の集合と予測需要量を置き換えることで制約と同様に、シームレスな実装が可能になるロバスト最適化のフレームワークを見ていきます。過去データと予測電力需要量は実際の電力需要量を決定するために使います。実際の電力需要はシナリオの不確実性集合を使って作成します。図 6 は予測電MSI 株式会社 Copyright©2015.All Rights Reserved.

43力需要と並行する過去 6 年間の翌日の電力需要の過去データを示しています。

6.1.2

不確実性 N – k に対するロバスト性

稼働中の発電機 k の損失結果である不確実性の影響を分析し、発電機の強制的な停止に対する典型的なユニットコミットメントのロバスト性を実現させます。総損失発電量が既存の発電機の予測発電量の上限より大きい場合、システムは危険な状態にあるため需要を満たすことができません。このようなシュミレーションを実践することは大変重要な作業であり、パワーシステムのセキュリティに関する考察を得ることができます。不運にも k に耐えうるスケジュール能力の欠如が証明された場合、モデルは安全な制約を充足させるス
ケジュールの改善を提案することができないでしょう。ロバスト最適化フレームワークは稼働中の発電機 k の損失をシュミレーションし、安定的な電力供給を行うために新しい発電機の起動/シャットダウンを提案することができます。重要性不確実性集合は、発電機の供給停止状態をモデル化するために使用します。

6.2

数理的定式化

連続的な期間の集合 Horizon は、調査の計画期間を説明します。期間 t
ちます。各期間 tの領域は電力需要は様々な長さを持と関連しています。

集合 Units は利用可能な発電機の集合を示しています。発電機の最小発電レベルはであり、その最大能力はです。単一発電機の稼働コストは電レベルでの稼働コストはです。

各時間に対するの発電生産コストはとなり、最小発です。

各発電機 u は 3 つの意思決定変数に関連しています。バイナリ変数

は期間 t のはじまりで発電機 u が稼働する場合、1 に等しくなります。バイナリ変数

は発電機 u が稼働し、期間 t の間に稼働し続けるならば、1 に等しくなります。もう一つのバイナリ変数

MSI 株式会社 Copyright©2015.All Rights Reserved.

44

は期間 t 中、発電機 u の発電レベルに設定します。

6.2.1

オリジナル

ユニットコミットメント問題

最小化する目的関数は予測された発電機の運転コストです。運転コストは起動コストと発電コストで構成されています。式は下記の通りです。

起動の制約式は、発電機が稼働している間の期間を表現します、式は下記の通りです。

最大発電レベルの制約式は発電機の発電レベルで制限します。式は下記の通りです。

パワーバランス制約式は常に総電力生産が電力需要と等しくなることを確約します。下記の式を使って定式化します。

6.2.2

ロバストユニットコミットメント問題をロードする

ロードしたロバストユニットコミットメント問題は様々な電力需要の基づき安定的に供給するためのユニットコミットメントを制約化し、オリジナルのユニットコミット問題を拡張します。昨年分の電力需要の過去データは既知です。
不確実性集合のシナリオ
を将来的な電力需要の可能性とします。考察するためにとし、を過去データの集合は y 年の期間 t に対する需要とします。不確実性集合の式は下記の通りです。

ロバスト制約式

改善したエンジンは、結果的に生じる大量な過去データの集合（潜在的な大規模制約式）

MSI 株式会社 Copyright©2015.All Rights Reserved.

45をも効率的に処理します。

6.2.3

N-k 不測事態-制約付きユニットコミットメント問題

この N-k 不測事態-制約付きユニットコミットメント問題は k 発電機が同時に供給停止となった場合でも、委任した発電機による電力供給が可能なことを確認するために、オリジナ
ルのユニットコミットメント問題を拡張します。不確実は供給停止の状態を表現し、不確実性集合は強制的停止状態にある発電機の集合を表現しています。
重要性不確実性集合
Uoutage を強制停止状態における k 発電機の組合せグループを説明する集合とします。

ロバスト制約6.3 実装6.3.1 オリジナルユニットコミットメントの実装
Mosel コードは下記を実装し、ユニットコミット問題のオリジナル形式を解きます。

MSI 株式会社 Copyright©2015.All Rights Reserved.

46

下記のアウトプットを印刷するルーチンは上記に記したモデルから呼び出されます。

MSI 株式会社 Copyright©2015.All Rights Reserved.

47

6.3.2

ロード

ロバストユニットコミットメントの実装

ロバスト最適化をベースとするシナリオの拡張は下記のサブルーチンで実装します。

6.3.3

N-k 不測事態-制約付きユニットコミットメントの実装

手続き robust_demand の呼び出しを下記に記した手続き robust_contingency の呼び出しと置
き換えることで、N-k 不測事態の制約付きユニットコミットメントモデルの問題を定式化することができます。

MSI 株式会社 Copyright©2015.All Rights Reserved.

48

6.4

結果

ここに、3 つのモデルから導かれた結果を示します。オリジナルユニットコミットメント問
題を基本的なシナリオとして使用し、2 つのロバスト・バージョンのモデルをオリジナルモ
デルと比較しています。
3 つのモデル定式化は、技術的な制約を満たし、ロードを供給する実現可能なユニットコミットメントを見つけます。テスト例（タイプ、最小発電レベルと最大発電レベル、最小レ
ベルで稼働時のコスト、最小発電レベルと最大発電レベル間の可変コスト、起動時のコス
トを固定）で使用された発電機の特徴は表 14 に示しています。

表 15 は名目の最適化問題の結果を示します。各期間で、起動させた発電機の数は（Up Units）
発電力(Gen. Pwr)とともに記載しています。発電機の容量（Gen. Cap）は起動した発電機で発電可能な最大発電力の合計です。カラムの予約の下降(Res. Dn)と予約の上昇はそれぞれ、最大ロードの減少または、いかなる発電機の起動や停止を行わずに、増加ロードを安全にサポートできるかを示しています。例えば、最初の期間(0-6)の間、ロードは 12000 kWh（電力需要の予測値）から 13250 kWh まで（電力需要の予測値+予約の上昇分）の増加に追加的な発電機の起動を行わずに対応することが可能です。
最後の 2 行は最悪なシナリオが実現した場合における最大ロード損失を示しています。需要のバリエーションに関する最悪なシナリオは最大の発電力増加を要求するロード・プロフ
ァイルの実現です。
不測事態の対策に関して、k ’critical’ユニットが供給停止を強制されたときに最悪なシナリオが生じます。発電機の臨界はその発電レベルとすべての条件に依存します。全ロードの

MSI 株式会社 Copyright©2015.All Rights Reserved.

49

大部分を供給する発電機のように、上昇する需要に対する準備がない発電機は危機的状況にあります。

名目のケースが適用され、需要バリエーションのケースが適用されるならば、朝の電力需
要のピーク時に 1395 kWh の需要が供給されないリスクがあります。通常、ロード損失リス
クがある全ての時間に、リスクを補うために追加の発電機を起動させます。しかし、表 16に示している需要バリエーション問題に対するロバスト定式の結果は、単にコミットメン
トした発電機を変更するだけで、リスクを回避できることを示しています。

2 つの不測事態のケースにおけるロード損失は最初の期間で 2750 kWh の供給が不可能になるリスクが潜在的にあることを強調しています。これは総需要の 20％が補えないことを意味しています。実際、需要が上昇した場合に利用できる余分の電力は 1250 kWh のみであり、これは全能力で稼働している発電機の 1 つが停止した場合（1500 kWh)電力需要を供給することができないことを意味しています。先のケースのように、通常の結果は追加的に発電機を起動させることです。しかし、表 17 で示している 2 つの不測事態の問題に対するロバ
スト定式による結果は、ロード損失のリスクを冒さずにかつ、過剰な発電機の追加を行わ

MSI 株式会社 Copyright©2015.All Rights Reserved.

50

ずに（そして高い起動コストを導かずに）ユニットコミットメントのスケジュールを見つけることが可能なことを示しています。

6.5

参考資料

ここに掲載した名目のユニットコミットメントモデルは Applications of optimization with
Xpress-MP’ [GHPS02]に掲載されている問題に基づきます。

7.電力供給不確実性に基づく生産計画
7.1

問題の説明

ある会社は液体窒素と液体酸素（以下、LIN と LOX と称す）を製造しています。各 8 時間のシフトおよび、特定されている翌 N 期間における生産計画を立てる必要があります。資
源調達は困難ではありませんが、（2 つの要素が対流圏の大部分を構成）2 つの液体を得るためのプロセスは莫大な電力を必要とします。
（蓄蔵された液体ガスを冷蔵するための動力と工場に動力を供給するための電力）
エネルギーコストが生産コストの大部分を占めると仮定すると、電力供給者は、複数の電力供給の契約を提供します：Interruptible Load Contracts（略：ILC）がその 1 つで、電力供給者は急な通知（数分前）により、制限付き期間内で工場など大規模な顧客への電力供給を中断することができます。
：おそらく電力供給者は真夏日など、電力需要がピークに達するときに、ILC を利用します。しかし、ILC は計画期間中に k 中断があることのみを義務付ける契約です。
ここでは電力供給における不確実性に基づいた生産計画問題に取り組んでいきます。イン
プットに生産、在庫費用、最大の生産、在庫容量、初期の在庫、各期間に対する LIN と LOXの需要および中断の最大期間ｋを与えます。
需要を契約条項の範囲内で起こりうる電力供給の中断とは無関係に LIN と LOX 生産量を毎日満たすことから問題を構成しています。この最適化問題はいくつかある理由の 1 つによりロバスト最適化アプリケーションが必要です：この会社は顧客に病院があります。このため LOX の需要を満たす必要があります。

7.2

数理的定式化ガスの集合と期間の集合、各期間に対する最大生産レベル

および各ガスに対する在庫容量メータを与えます。

に対する重要はパラを使用して与えます。不確実性集合は中断の各一次元配列を使用して定義します。つまりととかつ、この要素 K 以下での実現を定義します。

MSI 株式会社 Copyright©2015.All Rights Reserved.

51

生産レベルに変数、在庫レベルに変数を定義し、ガス G に対し期間 t を定義します。インプットデータに不確実性がなければ、モデルは単純な制約式となります：変数と初期の在庫レベルの固定を制約します。

そして生産計画の制約は各ガス g と期間 t に対する大規模な保全制約から構成されます。

モデル化はこのケースに、深く関係します。最初の試みははゼロとなるので、ならば、期間 t の実際の生産で生産の変数の乗算でロバスト制約を表現します。

しかしこの式は実行可能解を導きません：期間 t の生産と関連した各ロバスト制約は、不確
実性 t に設定されるため、生産を導きません。生産と需要間のバランスが、毎回必ず非負の在庫を導くような方法で生産制約を集める必要があります。上記の制約式を下記の制約式に置き換えます。

このロバスト制約は中断における不確実性を考慮し、K 中断を持つ全ての需要を満たす生産計画も考慮しています。輪郭線の条件と初期在庫を考慮するために、不確実性集合を若干修正し、期間 1 で中断が発生しないことを要求します。

最後に、在庫のロバスト値は、生産を計画した後に、いかなる中断も実際に起こらない状
況を考慮しなければなりません。
：累積した需要を使用して割引いた全ての累積生産の合計
として各期間で在庫を制約する単純な制限です。

MSI 株式会社 Copyright©2015.All Rights Reserved.

52

7.3

実装

Mosel を使った実装は下記の通りです。注：非負の在庫制約が同一の不確実性集合を複数回使用するためオプション ROBUST_OVERLAP_UNCERTAIN を再び使用します。

MSI 株式会社 Copyright©2015.All Rights Reserved.

53

7.4

インプットデータ

この例題では、5 日間、日ごとに 3 つの時間枠を持つ計画の簡単な例題を考慮します。生産コストが 4、在庫コストが 3 となり、ILC 契約は 4 回の中断を考慮しています。下記の表 18は生産能力と在庫容量および 2 つのガスに対する初期在庫レベルを示しています。

MSI 株式会社 Copyright©2015.All Rights Reserved.

54

表 19 は、全 15 期間の各ガスに対する需要を示しています。

7.5

結果

この問題の最適解はコスト 4727.17 です。表 20 と表 21 は中断の発生に関わらず、需要を満たすために要求される最適な生産レベルを示しています。生産レベルは最初が最も高く、液体酸素関しては、需要と等しいことに留意ください。これは初期期間で生産が計画期間内において早期に K=4 の連続的な中断のような最悪なケースを仮定しなければならないという事実に依存しています。在庫レベルが需要と生産のバランスと等しく、中断が発生しない状況を考慮する必要があります。

最後に、期間の最初で解かれた最適化問題の結果であることに留意ください。rolling horizon
approach,などを使用することで、既に発生した中断を考慮しつつ、すべての期間でモデルを再び解くことで、計画した生産レベルを変更する必要が起こりうるが、高額にならない生産計画を得ることができます。

7.6

参考資料

この例題は[LBS13]のドキュメントに掲載されている現実世界のアプリケーションの簡易版です。

Bibliography[BS04] D. Bertsimas and M. Sim. The price of robustness. Operations research,

MSI 株式会社 Copyright©2015.All Rights Reserved.

55

52(1):35–53, 2004.
[BTEGN09] A. Ben-Tal, L. El Ghaoui, and A. Nemirovski. Robust Optimization.
Princeton Series in Applied Mathematics,
2009.
[GHPS02] C. Guéret, S. Heipcke, C. Prins, and M. Sevaux. Applications of Optimization
with Xpress-MP. Dash
Optimization, Blisworth, UK, 2002.
[LBS13] C. Latifoglu, P. Belotti, and L.V. Snyder. Models for production planning underpower interruptions. Naval
Research Logistics (NRL), 60(5):413–431, 2013.

MSI 株式会社 Copyright©2015.All Rights Reserved.

56