ITと数学で社会に役立つ
数理最適化
京都大学大学院情報学研究科
数理工学専攻
山下信雄
2008年度オープンキャンパス 工学部情報学科 模擬授業 資料
平成28年度 数理工学専攻説明会
第1回: 平成28年5月7日(土)
第2回: 平成28年5月30日(月)
場所,プログラムの詳細は以下の専攻HPをご覧ください.
http://www.amp.i.kyoto-u.ac.jp
研究室見学できます.在学生から,入試勉強のしかた,
過去問の勉強方法などを聞くチャンスです.
京都大学大学院 情報学研究科 数理工学専攻
修士課程,博士課程の学生募集
オペレーションズ・リサーチ
• 数理最適化は,
オペレーションズ・リサーチ
の1分野として発展
• オペレーションズリサーチは,
第2次世界大戦中,イギリスで
「最適な戦略」を見つけるため
に研究がスタート
• 今では,社会,科学,工学など
あらゆる分野を横断する技術
である.
数理最適化
[最適化問題]
ある条件をみたす候補の中から,
ある目的にとって最適なものを
見つける問題.
[数理最適化問題]
「ある条件」および「ある目的」を数式や関数を
使って表された最適化問題.
高校で習う数理最適化
- 2次関数の最大・最小 -
2次関数:
区間:
2
( )f x ax bx c  
l ux 
[問題]
区間内で f(x) を最小にする x を求めよ
[数理最適化問題]
目的: f(x)の最小化
条件: xは区間に入る.
2
,
2 4
b b
c
a a
 
 
 
 
2次関数の最小の復習(a>0のとき)
2
b
a

• f(x)の頂点の x の値:
• 最小解は,
と区間の端L,U
の中間値.
• bが小さくなると, 最小解
は大きくなる.
2a
b

高校と大学の違い
高校(数学I)
変数の数: 1つ
目的:2次関数の最小
条件:区間
問題:数学の1問題
大学,大学院
変数の数: たくさん
目的:一般の関数の最小
条件:複雑な集合
問題:社会に根ざした問題
数理最適化の応用例
• Jリーグの対戦スケジュールの決定
• リスク(損失)が少なく儲けが多い,株の売
買方法の決定
• 最短な経路の決定
• 火力発電所の発電量の決定
• etc
火力発電所
良い点:
• 技術が確立している.
• 設置場所が自由
• 運転が制御できる.
悪い点:
• 二酸化炭素を排出(環境に悪い)
• 石炭,原油,ガスなどの資源を使う
環境やコストを考えた最適な運用が必要
火力発電所の運用問題
• 燃料費(or二酸化炭素排出量)は,
発電量 x の2次関数.
燃料費= (a>0,b>0)
• 発電所の発電量には,上限Uがある.
• 電力需要Dをみたさなければならない.
(発電所 i の発電量: )
2
ax xb
0 Ux 
ix
1 2x Dx   
火力発電所の運用問題
目的: 総燃料費(または総二酸化炭素排出量)の
最小化
条件: 電力需要を満たす.
発電量の上下限の条件をみたす.
火力発電所が2つのとき
[目的] の最小化
ただし, は発電所1の発電量
は発電所2の発電量
[条件] 需要
上下限(区間)
2
1 1 1 1
2
2 2 2 2aa x xx b b x 
1x
2x
21x Dx 
1
22
10
0
Ux
Ux
 
 
火力発電所が2つのとき
需要の条件より, となるため,
問題より, を消去すると,
目的:
の最小化
条件:
⇒ 高校で習う数学で解ける!
12x xD 
2x
2 2
1 2 1 2 2 2 21 1( ( 2 ))a b bx xD DDa a ba     
2 11ma )x(0, min( , )xD U U D  
火力発電所が3つのとき
目的:
の最小化
条件:
2
3
2
1 1 1 1
2
2 3 3 32 2 2a x ab x b xa x xx b   
1
1
2
1
3
32
3
2
0
0
0
0
U
U
U
x
x
x
x
D
x
x 
 
 



  21 3 Dxx x  
パラメータ を導入した
問題の緩和
[元の問題]
目的:
の最小化
条件:
[緩和した問題]
目的:
の最小化
条件:
2
3
2
1 1 1 1
2
2 3 3 32 2 2a x ab x b xa x xx b   
1
1
2
1
3
32
3
2
0
0
0
0
U
U
U
x
x
x
x
D
x
x 
 
 



 
2
3
2
1 1 1 1
2
2 3 3 32 2 2a x ab x b xa x xx b   
1 2 3( )x xD xp   
2
1
3
1
2
3
0
0
0
x
Ux
U
x U 
 
 
p
緩和した問題の解き方
[分解した問題](i=1,2,3)
目的:
の最小化
条件:
[緩和した問題]
目的:
の最小化
条件:
2
3
2
1 1 1 1
2
2 3 3 32 2 2a x ab x b xa x xx b   
1 2 3( )x xD xp   
2
1
3
1
2
3
0
0
0
x
Ux
U
x U 
 
 
2
( )i i i ix b xpa  
0 i ix U 
緩和した問題の性質
を緩和した問題の最小解,
を元の問題の最小解とする.
緩和した問題の最小値=
=元の問題の最小値
* * * * * *
1 2 3 1 2 3( , , ) ( )p xf x D x xx x   
2
1 1 1 1
2
3 3 3
2
2 2 21 32 2 3,( , )f x a x b xx a x b xx a x b x  
1 2 3)( , ,x x x
* * *
1 2 3( , , )x x x
1 2 3 1 2 3, , ) ( )( px x x D x xf x   
* * *
1 2 3, , )( x xf x
緩和した問題の性質
• 緩和した問題は簡単に解ける.
• ある p に対して,緩和した問題の最小解が
需給条件を満たせば,その最小解は元の
問題の最小解でもある.
パラメータ の意味
各発電所の問題(分解した問題)
目的: の最小化
条件:
が大きくなると, は小さくなり,
最小解(発電量)は大きくなる
は(電力の)価格と考えることができる.
2
( )i i i ix b xpa  
0 i ix U 
p
p
p
ib p
価格 とオークション
• 価格 p を上げると,
各発電所の発電量
が増える.
• 価格 p を下げると
各発電所の発電量
が減る.
価格 p を調整することで,
総発電量が需要と一致
するところを見つける.
100円/Wで
どれくらい発電し
てくれますか?
20Mw/h
発電します
30Mw/h
発電します
p
アルゴリズム(問題の解き方)
はじめの価格を決める
緩和した問題を解く
需要を満たす? 最小解が求まった!
Yes
No
価格を調整する
今の方法に隠されていた理論
• 数理最適化の最適性の理論
• 双対理論
• ゲーム理論
大学の学部の授業でならう(こともある).
より現実的に...
• 時間を考えた運用.
• 他のタイプの発電所(原子力,揚力,水力)を考え
た運用.
• 予備力(もしもに備えた発電余力)を考えた運用
• 大規模な問題.
火力発電所は全国で300以上!
大学院の知識が必要.
数理最適化に対する
ITと数学の役割
ITの役割
計算機の高速化,大容量化
数学の役割
アルゴリズム(答えを見つける方法)の高速化
ある数理最適化問題に対して,1988年から2004年の間に
[IT] 計算機は 1,600 倍高速になり,
[数学] アルゴリズムは 3,300 倍高速になったと言われている.
⇒ 1988年には約2か月かかった計算が
2004 年には 1 秒で終わるようになった!!
まとめ
• 社会に役立つ数理最適化
• 数理最適化の発展には,IT技術の進歩だけで
はなく,数学(アルゴリズム)の進歩も重要
数学
(物理,芸術,etc)
グローバル社会で
必要とされる能力情報技術

ITと数学で社会に役立つ数理最適化