二千十三年五月 あたらしい数理最適化 出版記念セミナー

82
二二 二二二二二 二二二二二二二二二 二二 二二二二二二二 ://www.logopt.com/book/gurobi.htm

Upload: alfonso-blackwell

Post on 04-Jan-2016

46 views

Category:

Documents


1 download

DESCRIPTION

二千十三年五月 あたらしい数理最適化 出版記念セミナー. 主催 近代科学社 オクトーバースカイ 共催 構造計画研究所. http://www.logopt.com/book/gurobi.htm. まずは自己紹介. 久保幹雄. 東京海洋大学 サプライ・チェイン最適化工学. フェイスブック: http://www.facebook.com/mikio.kubo.737 ホームページ: http://www.logopt.com/mikiokubo/. アジェンダ. 13:00-13:50 「あたらしい数理最適化」概説. 16:00-16:50 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

二千十三年五月あたらし

い数理最適化

出版記念セミナー

主催近代科学社オクトーバースカイ

共催構造計画研究所http://www.logopt.com/book/gurobi.htm

Page 2: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

まずは自己紹介久保幹雄

東京海洋大学サプライ・チェイン最適化工学

フェイスブック:http://www.facebook.com/mikio.kubo.737ホームページ:http://www.logopt.com/mikiokubo/

Page 3: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

アジェンダ13:00-13:50 「あたらしい数理最適化」概説

16:00-16:50 数理最適化の応用例 と実験的解析

Page 4: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

「あたらしい数理最適化」概説

1. この本のどこが新しいのか2. 数理最適化の基本の基本3. 定式化のコツ

前半

Page 5: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

あたらしい数理最適化って本が出たらしいけど

何があたらしいの?

Page 6: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

あたらしいこと 0数理最適化 (Mathematical Optimization)

Since 2010

Page 7: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

昔は...数理計画 (Mathematical Programming)Up to 2010 its name was "Mathematical Programming Society

みんなの投票で改名!(最適化に 1 票!)

Page 8: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

Dantzig (1947) Programming in linear structure

Koopmans (1948)Linear Programming

Dorfman (1949) Mathematical Programming

Page 9: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

あたらしいこと 1

他のテキストとは違って解法の中身より使いこなすためのテク

Page 10: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

ピボット選択有限収束の証明改訂単体法

などは一切なし

Page 11: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

双対性分枝限定法列生成分枝カット法そして二次錘最適化まで!

きちんと解説

Page 12: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

あたらしいこと 2

Python 言語ですぐ解ける

原案: Python と Gurobiでぐんぐん解ける!(小山社長)

Page 13: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

Python とは

When he began implementing Python, Guido van Rossum was also reading the published scripts from “Monty Python’s Flying Circus”, a BBC comedy series from the 1970s. Van Rossum thought he needed a name that was short, unique, and slightly mysterious, so he decided to call the language Python.

Page 14: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

http://xkcd.com/353/

MIT の講義の表紙

Page 15: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

import すれば何でもできる!

import gurobipy # 数理最適化import scop # 制約最適化import optseq # スケジューリング

import antigravity ( 空を飛ぶ ?)

Page 16: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

あたらしいこと 3色々なソルバーを紹介

数理最適化 Gurobi制約最適化 SOCPスケジューリング OptSeq

Page 17: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

Zonghao Gu, Edward Rothberg , Robert Bixby

Gurobi とは

Page 18: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

Gurobi とは

Zonghao GuEdward RothbergRobert Bixby

Page 19: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

混合整数 線形,凸二次,二次錘最適化において(たぶん)最速( MIP ソルバーの限界を見極めたい!)

これでダメなら,他でもダメ

なぜ Gurobi ? (他にもたくさんあるじゃない)

Page 20: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

マルチコア対応長時間まわしても壊れない(安定性抜群)Python からの呼び出しが“容易”(他のソルバーは,呼び出し“可”レベル)

会議中でも実装可能!

なぜ Gurobi ?

Page 21: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

SCOP とは野々部先生,茨木先生作

Tabu Search に基づく制約最適化ソルバー

Gurobi でダメな問題でも大丈夫(でも最適性の保証はなし!)

Page 22: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

野々部先生 茨木先生

SCOP & OptSeq

Page 23: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

時間割作成看護婦スケジューリングの国際コンペで好成績!

後で , 野々部先生が詳しくお話してくれると 思います

Page 24: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

Shift Master (構造計画研究所様)でも採用!

Page 25: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

OptSeq とは野々部先生,茨木先生作

Tabu Search に基づく汎用」スケジューリング最適化ソルバー

Gurobi でダメな問題でも大丈夫モデル化の工夫で実 務問題の多くをカバー

Page 26: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

SCOP, OptSeq ともにPython インターフェイスあり!(しかも Python のソース開示!)

上手なメタヒューリスティクス => 汎用なのに高性能!

Page 27: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

あたらしいこと  4

色々な実用的+代表的な問題例で比較

後半の講演でお話しします.

Page 28: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

二次錘最適化(second order cone optimization )後で ,村松先生が詳しくお 話してくれると思います

あたらしいこと  5

Page 29: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

数理最適化とは?

お金を儲けたいん だよね-

でも,色々としがらみがあって ね-.

Page 30: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

数理最適化とは?

maximize  お金

subject to しがらみ

目的関 数

制約条件

Page 31: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

数理最適化とは?

maximize f(x)subject to g(x) 0≧ x ∈ X

Page 32: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

線形最適化とは?max. cxs.t. Ax≦b x は実数

Page 33: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

単体法内点法

目的関 数

解法

Page 34: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

基本はデフォルト(双対単体法)で単体法が遅いときには, 内点法!

使い分け

Page 35: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

どこまで解ける?  -- GUROBI-5.5.0 内点法

非ゼロ要素数

 http://plato.asu.edu/bench.html (Mittelmann による実験 )

rail4284 4284行1092610列12372358 非ゼロ

L1_d10_4080477行420366列2062656 非ゼロ

Page 36: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

整数最適化とは?max. cxs.t. Ax≦b x は整数

Page 37: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

目的関数

解法:分枝限定法=基本は線形最適化

Page 38: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

分枝操作

目的関数

整数解実行可能解下界

上界

Page 39: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

コツ 1整数最適化に対しては,良い定式化良い定式化 をしよ う!

上界と下界のギャップが小さい定式化

Page 40: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

そのためには大きな数 M を用いた実数 変数 ≦M ・整数 変数はなるべく避ける!

Page 41: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

コツ  2

解が対称性をもつ場合には注意!

Page 42: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

対称性とは?グラフ彩色問題

「点」に色を塗る!枝の両端点は別色.

Page 43: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

対称性とは?グラフ彩色問題の解(の1つ)

「点」に色を塗る!枝の両端点は別色.

Page 44: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

対称性とは?

赤,青,黄を交換しても 同じ解!

Page 45: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

分枝限定法の基本

点1は黄色に塗る

点1は黄色に塗らない

X1,黄色 = 0.5 緩和問題

X1,黄色 = 1 X1,黄色 = 0

Page 46: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

分枝しても限定できない!

 

点1は黄色に塗らない

Page 47: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

分枝しても限定できない!

 

点1は青色に塗らない

Page 48: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

やっと限定操作

 

点1は黄色に塗らない

点1は赤色に塗らない

Page 49: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

解決法:対称性を除去

例:赤使用 ≧ 青使用 ≧ 黄使用

無 記名の「色」に 優先順序を付加

でも,あまり 効かない(実験は 後ほど)

Page 50: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

対称性の例2ビンパッキング問題

色々なアイテムを「同じ大きさ」の箱(ビン)に詰める!箱の数を最小に!( =すきまを最小に!)

Page 51: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

対称性の例2

最適解(の1 つ)

箱の番号を変えても同じ解!

Page 52: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

分枝限定法を使うと...

アイテム1は箱1に入れる

アイテム1は箱1に入れない

X1,箱1 = 0.5 緩和問題

X1,箱1 = 1 X1,箱1 = 0

Page 53: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

分枝しても限定できない!アイテム1箱1

アイテム1は箱1に入れない

アイテム1

アイテム1

アイテム1は箱2に入れない

Page 54: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

解決法:パターンの列挙

アイテムをちょうど1つ含むように(たくさんの) パターンから選択

・・・・

Page 55: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

コツ  3

(パターン)変数の数が非常に多い => 列生成法

Page 56: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

列生成法

c

A

行列 A が超横長 必要な「列」だけ生成!

min. cxs.t. Ax=b

Page 57: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

コツ  4制約の数が 非常に多い=>切除平面法もしくは分枝カット法

Page 58: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

切除平面法

A行列 A が超縦長 必要な「行」だけ生成!

min. cxs.t. Ax=b

b

切除平面(カット)

Page 59: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

分枝カット法

A b

分枝する度にカットを追加!

Page 60: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

例:巡回セールスマン問題

すべての点をちょうど 1回通過する最 短巡回路

Page 61: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

巡回セールスマン問題の最適解

すべての点をちょうど 1回通過する最 短巡回路

Page 62: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

定式化点に接続する枝の本数 =2 for all 点(次数制約)

Page 63: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

定式化点に接続する枝の本数 =2 for all 点(次数制約)

Page 64: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

足りない制約を 付加枝の本数 <点の数 for all 点の部分集合(部分巡回路除去制約)

この中の枝の本数 2 本以下!

Page 65: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

コツ  5

特殊順序集合Special Ordered Set を使いこなそ う!

Page 66: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

SOS Type 1変数の うちの高々1つが正

特殊な分枝操作で高速化A>0 or B>0 or C>0 => 変数 A,B,C は SOS と宣言

Page 67: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

SOS Type 2連続する高々 2つの変数が 正

[0 0 0 0.5 0.4 0 0] => OK[0.5 0 0 0 0 0.4 0] => NG[0 0 1 0 0 0 0] => OK

区分的線形関数の 宣言で使用

Page 68: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

線分の表現

Page 69: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

区分的線形関 数の表 現

は SOS Type 2

Page 70: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

コツ  6

最大 値を最小化する目的関数には 注意!

Page 71: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

線形最適化での常套手段min. max. f(x,y)

x y

Page 72: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

線形最適化での常套手段min. max. f(x,y)

x y

=z と置いて

Page 73: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

線形最適化での常套手段min. max. f(x,y)

x y

=z と置いて

min. z s.t. f(x,y)≦z

Page 74: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

(混合)整数最適化では,これをやると終わらない!

問題に応じた工夫(二分 探索)もしくは他の 手法を用いる!

Page 75: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

謝辞

Acknowledgement

Page 76: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

近代科学社  小山社長,大塚様

オクトーバースカイ         和多田社長,中村様

主催

Page 77: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

構造計画研究所 斉藤 様 池水 様

共催 & 会場提供

Page 78: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

野々部先生 茨木先生

SCOP & OptSeq

Page 79: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

ジョアン(ジョン)・ペドロ・ペドロソ先生「ジョア」ではないらしい

All Python Codes

Experimental Analysis

Page 80: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

村松先生@電通大

Another Co-Author Abdur Rais@Porto

Page 81: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

樋口(ペドロソ)真美さん綺麗な表紙をありがと う!

Page 82: 二千十三年五月 あたらしい数理最適化 出版記念セミナー

ご来場の皆様

懇親会もあります!