二千十三年五月 あたらしい数理最適化 出版記念セミナー 主催 近代科学社 オクトーバースカイ 共催 構造計画研究所

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

情報基盤アルゴリズムとして のメタヒューリスティクスの 研究 茨木俊秀、巳波弘佳、藤原洋志、 千葉英史、関口良行(関西学院大 学)、 藤重悟(京都大学)、 柳浦睦憲(名古屋大学)、 野々部宏司(法政大学)、 梅谷俊治(電気通信大学)
Python を用いた Gurobi 入門 久保 幹雄. Why Python? モジュールを読み込めば何 でもできる! 最適化もできる! import gurobipy (MIP) import SCOP (CP) グラフも描ける! import networkX import matplotlib.
到着時刻と燃料消費量を同時に最適化する船速・航路計画
Pythonを用いた お気楽最適化とその実践
緩和+分解+調整による 分散協調問題解決 神戸大学大学院海事科学研究科 平山 勝敏.
線形計画 追加問題 ジュースを売って儲けよう!
久保幹雄 東京海洋大 宇野 毅明 国立情報学研究所 藤澤 克樹 中央大学 宮本 裕一郎 上智大学
ネットワーク理論講義補助資料 Text. 組合せ最適化とアルゴリズム 4.5 節 主・双対法 pp
ラベル付き区間グラフを列挙するBDDとその応用
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
サプライ・チェインにおける様々な最適化問題を解くための 統一言語
数理最適化の応用例と 実験的解析 東京海洋大学 久保 幹雄.
稲葉 一浩 (k.inaba) Python と プログラミングコンテスト 稲葉 一浩 (k.inaba)
組合せ最適化問題と厳密解法 最小木、ナップサック問題、ビンパッキング、巡回セールスマン問題 LPによる上界・下界 分枝限定法
最短路問題をGurobiで解こう! 流通最適化工学 補助資料.
整数計画法を用いた スリザーリンクの解法 杉村 由花 (東京大学)
最適化ソルバーのための Python言語入門
2017/3/14 サプライ・チェイン最適化入門 東京海洋大学 久保 幹雄.
組合せ最適化 輪講 第1回 ERATO研究員 川原 純.
Extremal Combinatrics Chapter 4
Approximation of k-Set Cover by Semi-Local Optimization
How to Become a Supply Chain Analyst with Free
土木計画学 第11回(12月21日) 土木計画と説明責任 計画における代替案の作成1 担当:榊原 弘之.
「基礎OR」/「OR演習」 第3回 10/13/2009 森戸 晋.
整数計画法を用いた ペグソリティアの解法 ver. 2.1
リンクパワーオフによる光ネットワークの省電力化
第 七 回 双対問題とその解法 山梨大学.
1章前半.
最大最小性, 双対性 min-max property duality
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
「OPACに買い物カゴを」 ~東京大学OPACバスケット~
ネットワーク理論講義補助資料 Text. 組合せ最適化とアルゴリズム 4.3 節 Lagrange緩和 pp
早わかりアントコロニー最適化 (ACO: Ant Colony Optimization)
情報工学総合演習 D-I 近似アルゴリズム 埼玉大学 理工学研究科 山田 敏規、 橋口 博樹、 堀山 貴史
Linear Relaxation for Hub Network Design Problems
サポートベクターマシン によるパターン認識
割当て問題 • 割当問題の記法・定式化 • 拡張 • 特殊ケース(マッチング) • 3種類のものを割当てる問題.
大阪市立大学 学術情報総合センター 大西克実
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
ネットワーク上での社会的効用と個人的効用の対立問題に対するアルゴリズム的研究
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
人工知能特論 9.パーセプトロン 北陸先端科学技術大学院大学 鶴岡 慶雅.
巡回セールスマン問題への招待 東京商船大学 久保 幹雄.
Anja von Heydebreck et al. 発表:上嶋裕樹
運搬スケジューリング問題と その周辺 東京商船大学 流通情報工学 久保 幹雄.
A First Course in Combinatorial Optimization Chapter
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
第4回 線形計画 2000年11月 第4回 線形計画.
公共経営研究科 「シミュレーション」森戸担当分 概要(12/02/05)
7 Calculating in Two Ways: Fubini’s Principle
First Course in Combinatorial Optimization
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
配送計画最適化システム WebMETROのご紹介
最長片道きっぷの厳密解を求める 東京大学大学院 宮代隆平,葛西隆也.
サプライ・チェイン最適化について 研究者・実務家が知っておくべきこと
Solver for COnstraint Programming:スコープ Pythonモジュールの使い方
土木計画学 第12回(1月14日) 計画における代替案の作成2 担当:榊原 弘之.
人工知能特論II 第8回 二宮 崇.
2009/11/27 グラフ (1) 第9講: 平成21年11月27日 (金) 4限 E252教室 コンピュータアルゴリズム.
半正定値計画問題(SDP)の 工学的応用について
分枝カット法に基づいた線形符号の復号法に関する一考察
発表者: 稲葉 一浩 複雑ネットワーク・地図グラフ セミナー 2017/1/19
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
目次 はじめに 収束性理論解析 数値実験 まとめ 特異値計算のための dqds 法 シフトによる収束の加速
ニシキヘビの飼い方 Pierrot.
ニシキヘビの飼い方 Pierrot.
東京工業大学情報理工学研究科 小島政和 第1回横幹連合コンファレンス 2005年11月25,26日 JA 長野県ビル
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Presentation transcript:

二千十三年五月 あたらしい数理最適化 出版記念セミナー 主催 近代科学社 オクトーバースカイ 共催 構造計画研究所 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 数理最適化の応用例 と実験的解析

前半 「あたらしい数理最適化」概説 この本のどこが新しいのか 数理最適化の基本の基本 定式化のコツ

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

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

Programming) Up to 2010 its name 昔は... 数理計画 (Mathematical Programming) Up to 2010 its name was "Mathematical Programming Society みんなの投票で改名!(最適化に1票!)

Dantzig (1947) Programming in linear structure Koopmans (1948) Linear Programming Dorfman (1949) Mathematical Programming

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

ピボット選択 有限収束の証明 改訂単体法 などは一切なし

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

あたらしいこと 2 Python言語ですぐ解ける 原案:PythonとGurobi でぐんぐん解ける!(小山社長)

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.

MITの講義の 表紙 http://xkcd.com/353/

import すれば何でもできる! import gurobipy #数理最適化 import scop #制約最適化 import optseq #スケジューリング import antigravity (空を飛ぶ?)

あたらしいこと 3 色々なソルバーを紹介 数理最適化 Gurobi 制約最適化 SOCP スケジューリング OptSeq

Gurobiとは Zonghao Gu, Edward Rothberg,Robert Bixby

Gurobiとは Zonghao Gu Edward Rothberg Robert Bixby

なぜGurobi ? (他にもたくさんあるじゃない) 混合整数 線形,凸二次,二次錘最適化 において(たぶん)最速 (MIPソルバーの限界を見極めたい!) これでダメなら,他でもダメ

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

なぜGurobi ? その3 プロ仕様の出力(とある実際問題のログ) Optimize a model with 4794 rows, 4777 columns and 13572 nonzeros Presolve removed 4483 rows and 2877 columns Presolve time: 0.05s Presolved: 311 rows, 1900 columns, 4467 nonzeros Variable types: 25 continuous, 1875 integer (1863 binary) Found heuristic solution: objective 1807.9530303 Found heuristic solution: objective 1226.0603030 Root relaxation: objective 6.890000e+02, 351 iterations, 0.01 seconds

SCOPとは 野々部先生,茨木先生作 Tabu Searchに基づく制約最適化ソルバー Gurobiでダメな問題でも大丈夫 (でも最適性の保証はなし!)

SCOP & OptSeq 野々部先生 茨木先生

時間割作成 看護婦スケジューリングの 国際コンペで好成績! 後で,野々部先生が詳しくお話 してくれると思います

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

OptSeqとは 野々部先生,茨木先生作 Tabu Searchに基づく 汎用」スケジューリング最適化ソルバー Gurobiでダメな問題でも大丈夫 モデル化の工夫で実務問題の多くをカバー

SCOP, OptSeqともに Pythonインターフェイスあり! (しかもPythonのソース開示!) 上手なメタヒューリスティクス => 汎用なのに高性能!

あたらしいこと 4 色々な実用的+代表的な 問題例で比較 後半の講演でお話しします.

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

数理最適化とは? お金を儲けたいんだよね- でも,色々としがらみがあってね-.

数理最適化とは? maximize  お金 subject to しがらみ 目的関数 制約条件

数理最適化とは? maximize f(x) subject to g(x)≧0 x ∈ X

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

解法 目的関数 内点法 単体法

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

どこまで解ける? -- GUROBI-5.5.0 内点法 秒 rail4284 4284行 1092610列 12372358非ゼロ L1_d10_40 80477行 420366列 2062656非ゼロ 非ゼロ要素数  http://plato.asu.edu/bench.html (Mittelmannによる実験)

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

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

目的関数 上界 整数解 実行可能解 下界 分枝操作

コツ 1 整数最適化に対しては, 良い定式化をしよう! 上界と下界のギャップが 小さい定式化

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

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

対称性とは? グラフ彩色問題 「点」に色を塗る!枝の両端点は別色.

対称性とは? グラフ彩色問題の解(の1つ) 「点」に色を塗る!枝の両端点は別色.

対称性とは? 赤,青,黄を交換しても同じ解!

分枝限定法の基本 X1,黄色 = 0.5 緩和問題 点1は黄色 に塗る 点1は黄色に 塗らない X1,黄色 = 1 X1,黄色 = 0

分枝しても限定できない! 点1は黄色に塗らない

分枝しても限定できない! 点1は青色に塗らない

やっと限定操作 点1は黄色に塗らない 点1は赤色に塗らない

解決法:対称性を除去 無記名の「色」に優先順序を付加 例: 赤使用 ≧ 青使用 ≧ 黄使用 でも,あまり効かない(実験は後ほど)

対称性の例2 ビンパッキング問題 色々なアイテムを「同じ大きさ」の箱(ビン)に詰める! 箱の数を最小に!(=すきまを最小に!)

対称性の例2 最適解(の1つ) 箱の番号を変えても同じ解!

X1,箱1 = 1 X1,箱1 = 0 分枝限定法を使うと... X1,箱1 = 0.5 緩和問題 アイテム1は 箱1に入れる アイテム1は 箱1に入れない X1,箱1 = 1 X1,箱1 = 0

分枝しても限定できない! アイテム1 箱1 アイテム1は箱2に入れない アイテム1 アイテム1 アイテム1は箱1に入れない

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

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

min. cx s.t. Ax=b 列生成法 c A 行列 Aが超横長 必要な「列」だけ生成!

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

min. cx s.t. Ax=b 切除平面法 A b 行列 Aが超縦長 必要な「行」だけ生成! 切除平面(カット)

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

例: 巡回セールスマン問題 すべての点をちょうど1回通過する最短巡回路

巡回セールスマン問題 の最適解 すべての点をちょうど1回通過する最短巡回路

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

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

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

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

A>0 or B>0 or C>0 => 変数 A,B,C はSOSと宣言 SOS Type 1 変数のうちの高々1つが正 特殊な分枝操作で高速化 A>0 or B>0 or C>0 => 変数 A,B,C はSOSと宣言

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 区分的線形関数の宣言で使用

線分の表現        

区分的線形関数の表現                 はSOS Type 2

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

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

線形最適化での 常套手段 min. max. f(x,y) y x =zと置いて

線形最適化での 常套手段 min. max. f(x,y) y x =zと置いて min. z s.t. f(x,y)≦z

(混合)整数最適化では, これをやると終わらない! 問題に応じた工夫(二分探索) もしくは他の手法を用いる!

謝辞 Acknowledgement

主催 近代科学社  小山社長,大塚様 オクトーバースカイ          和多田社長,中村様

共催 & 会場提供 構造計画研究所 斉藤 様 池水 様

SCOP & OptSeq 野々部先生 茨木先生

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

村松先生@電通大 Another Co-Author Abdur Rais@Porto

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

ご来場の皆様 懇親会もあります!