列生成による配船計画 アルゴリズムの数値計算結果.

Slides:



Advertisements
Similar presentations
授業展開#12 コンピュータの扱いにくい問 題. 扱いにくい問題  処理時間がかかる。  メモリを大量に必要とする。  プログラムの優劣、アルゴリズムの優劣 を比較するためには、標準的なコン ピュータで比較する必要がある。  処理時間を計るのに、コンピュータのモ デルとして、チューリングマシンを考え、
Advertisements

多目的GAに対する パレート最適個体の分布制御 九州大学大学院工学府知能機械システム専攻徳井 宏司.
海上コンテナ輸送における 船社戦略についての検 討 流通情報工学課程 99760 増森 大輔 指導教官鶴田 三郎 黒川 久幸.
到着時刻と燃料消費量を同時に最適化する船速・航路計画
3次元nクイーン問題の 解に関する研究 論理工学研究室 伊藤精一
「わかりやすいパターン認識」 第1章:パターン認識とは
極小集合被覆を列挙する 実用的高速アルゴリズム
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
ラベル付き区間グラフを列挙するBDDとその応用
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
ある最適化問題 スポーツスケジューリング スポーツスケジューリングとは? 生成方法 プログラムと問題点 2001年2月7日(水)
Pattern Recognition and Machine Learning 1.5 決定理論
Finger patternのブロック化による 陰的wavelet近似逆行列前処理の 高速化
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
スペクトル法による数値計算の原理 -一次元線形・非線形移流問題の場合-
モード付き並列機械における オンラインスケジューリング
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
土木計画学 第11回(12月21日) 土木計画と説明責任 計画における代替案の作成1 担当:榊原 弘之.
整数計画法を用いた ペグソリティアの解法 ver. 2.1
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
データ構造と アルゴリズム 知能情報学部 新田直也.
第 七 回 双対問題とその解法 山梨大学.
最短路問題のための LMS(Levelwise Mesh Sparsification)
Selfish Routing and the Price of Anarchy 第2回
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
ネットワーク理論講義補助資料 Text. 組合せ最適化とアルゴリズム 4.3 節 Lagrange緩和 pp
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
早わかりアントコロニー最適化 (ACO: Ant Colony Optimization)
二分探索木によるサーチ.
発表日:平成15年4月25日 担当者:時田 陽一 担当箇所:第3章 誤差評価に基づく学習 3.1 Widrow-Hoffの学習規則
情報工学総合演習 D-I 近似アルゴリズム 埼玉大学 理工学研究科 山田 敏規、 橋口 博樹、 堀山 貴史
Linear Relaxation for Hub Network Design Problems
文献名 “Performance Tuning of a CFD Code on the Earth Simulator”
サポートベクターマシン によるパターン認識
応用社会システム計画 (第10回) ここで、学習すること 学籍番号: 氏名: ■これまでの講義内容の整理 ■計画問題の設定と手法
MPIを用いた並列処理 ~GAによるTSPの解法~
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
ネットワーク上での社会的効用と個人的効用の対立問題に対するアルゴリズム的研究
決定木とランダムフォレスト 和田 俊和.
ネットワーク理論 Text. Part 3 pp 最短路問題 pp 最大流問題 pp.85-94
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
第14章 モデルの結合 修士2年 山川佳洋.
第7章 疎な解を持つカーネルマシン 修士2年 山川佳洋.
第3回 アルゴリズムと計算量 2019/2/24.
早わかりアントコロニー最適化 (Ant Colony Optimization)
運搬スケジューリング問題と その周辺 東京商船大学 流通情報工学 久保 幹雄.
Data Clustering: A Review
連続領域におけるファジィ制約充足問題の 反復改善アルゴリズムによる解法 Solving by heuristic repair Algorithm of the Fuzzy Constraint Satisfaction Problems with Continuous Domains 北海道大学.
ファジィ制約充足問題への 連続領域の導入 Introducing continuous domains to
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
数独の解生成と 解に対する番号付け 理学部 情報科学科 渡辺研究室 戸神星也.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
Nightmare at Test Time: Robust Learning by Feature Deletion
プログラミング 4 探索と計算量.
量子コンピュータ 株式会社アプライド・マーケティング 大越 章司
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
わかりやすいパターン認識 第7章:部分空間法  7.1 部分空間法の基本  7.2 CLAFIC法                  6月13日(金)                  大城 亜里沙.
問題作成、解説担当:中島 副担当:坪坂、松本
Data Clustering: A Review
配送計画最適化システム WebMETROのご紹介
最長片道きっぷの厳密解を求める 東京大学大学院 宮代隆平,葛西隆也.
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
サプライ・チェイン最適化について 研究者・実務家が知っておくべきこと
土木計画学 第12回(1月14日) 計画における代替案の作成2 担当:榊原 弘之.
ポッツスピン型隠れ変数による画像領域分割
分枝カット法に基づいた線形符号の復号法に関する一考察
コストのついたグラフの探索 分枝限定法 A*アルゴリズム.
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年8月1日 3.2 競合学習
プログラミング論 バイナリーサーチ 1.
Presentation transcript:

列生成による配船計画 アルゴリズムの数値計算結果

配船計画問題の定式化 目的関数 制約条件 全ての船舶の総移動コストの最小化 オーダーの制約:時間指定 船の制約:輸送量、船型 移動コスト:移動距離/移動時間/燃料消費量/CO2排出量など 制約条件 オーダーの制約:時間指定 船の制約:輸送量、船型 移動の制約:移動時間 港・荷役の制約:入出港時間、    荷役時間 揚港 移動 積港 船 オーダー

列生成法による計画作成 各船舶ごとに、運航可能な航路で効率的なものを列挙しておく 全てのオーダーが処理されるように、各船舶の運航航路を1つずつ選ぶ

列生成法による計画作成 各船毎に「最短路問題」を解き、 有効な候補スケジュールを求める 集合分割問題を解いて、最終的な計画を得る 繰り返す 集合分割問題を解いて、最終的な計画を得る これまでに得られている候補からなる集合分割問題を解いて、良いスケジュールを選ぶ 2で得られた双対情報から、もっとよいスケジュールを求めるための最短路問題を定義する これ以上良い候補がなくなれば終了

列生成法による計画作成 候補ルート 船1の候補 船2の候補 船3の候補 オーダー1 オーダー2 オーダー3 オーダー4 オーダー5 6 7 8 9 オーダー1 オーダー2 オーダー3 オーダー4 オーダー5 オーダー6

運航航路を1つずつ選ぶ 10隻だとすると、[ 数万本]の10乗とおりをチェック しなければならない 人手では不可能 実際は、2週間50オーダーで1隻あたり数万本以上 10隻だとすると、[ 数万本]の10乗とおりをチェック しなければならない 人手では不可能 集合被覆問題に定式化して解く

cT x A x = 1 集合分割問題への定式化 最小化 制約条件 x は0または1の変数  最小化 A x = 1 制約条件 x は0または1の変数 c, x: n次元ベクトル, A: m × nの行列

A 計算手法 X x9 1 2 3 4 5 6 7 8 9 オーダー1 オーダー2 オーダー3 オーダー4 オーダー5 オーダー6 x1

各候補ルートの航行距離をコストと定義する 目的関数: 船舶の総航行距離の最小化 1 2 3 4 5 6 7 8 9 各候補ルートの航行距離をコストと定義する タスク1 タスク2 タスク3 タスク4 タスク5 c1 c2 c3 c4 c5 c6 c7 c8 c9 c

A c X b 集合分割問題への定式化 最小化 = 1 2 3 4 5 6 7 8 9 タスク1 タスク2 タスク3 タスク4 タスク5 タスク6 A 集合分割問題への定式化 X c 最小化 b

最も自明な計算方法 全ての可能なスケジュールを列挙して、その中でもっとも 効率のよいものを選べばよい→ 全列挙による解法 効率のよいものを選べばよい→ 全列挙による解法 ところが、全列挙には控えめに見て数日かかる 条件を満たす配船計画の集合 最も効率的な計画  列挙型アルゴリズムの例: 制約論理プログラミング(CP)

制約論理プログラミング 目的関数を最小化するものを見つける方法ではない Constraint Programming, CP 制約条件をみたすものを、全て列挙するための手法 目的関数を最小化するものを見つける方法ではない 用途: ●ごく小規模な問題で、 (配船計画ではせいぜい3日分) ●制約条件が線形不等式で表現できないほど複雑なとき ●条件を満たすものを全て列挙するために用いる 間違ってつかうと機能しない ↑ CPソフトの販売元も注意を喚起している 制約条件を満たす要素の集合

制約論理プログラミング 目的関数を最小化するものを見つける方法ではない どうしても目的関数を設定したければ、、、、 今まで見つかった物の中で、最も目的関数が小さいものを採用する。 全列挙するのは数日かかるんじゃないの?、、、、 目的関数を制約条件として指定する方法を提唱されているが、そもそもそういう用途に使うものではない、、、、 早く見つかることを祈って待つ 制約条件を満たす要素の集合

条件を満たす配船計画の集合はいくつあるのか? 全列挙とはどういうことか? 条件を満たす配船計画の集合はいくつあるのか?

全列挙とはどういうことか? 巡回セールスマン問題 配船計画よりも遙かに簡単で、有名な組合せ最適化問題 与えられるデータ:n個の点と、各点間の距離 制約条件:全ての点を1度ずつ通り、最初の点に戻る 目的:巡回路の距離をできるだけ短くしたい

全列挙とはどういうことか? 巡回セールスマン問題を全列挙で解く: 可能な経路を全て列挙し、その中で距離が一番小さなものを選ぶ 実際に計算機を用いて数え上げるとどれくらいかかる? 10TFlopsの計算を用いた場合(1秒間に10^13回の演算が可能) (地球シミュレーターが35.86TFlops) 都市数 巡回路の数 計算時間 6 60 4.32x10^{-10}秒 8 2520 3.32x10^{-8}秒 10 1.81x10^5 3.63x10^{-6}秒 15 4.36x10^10 1.96秒 20 6.08x10^16 4.87x10^6秒 25 3.10x10^23 3.88x10^13秒 30 4.42x10^30 7.96x10^20秒 56日 122万年 252333億年

全列挙とはどういうことか? 全列挙計算を実用システムで用いるとどうなるか? 都市数 巡回路の数 計算時間 6 60 4.32x10^{-10}秒 8 2520 3.32x10^{-8}秒 10 1.81x10^5 3.63x10^{-6}秒 15 4.36x10^10 1.96秒 20 6.08x10^16 4.87x10^6秒 25 3.10x10^23 3.88x10^13秒 30 4.42x10^30 7.96x10^20秒 56日 122万年 252333億年 全列挙計算を実用システムで用いるとどうなるか? 都市数15の問題が2秒で解けたユーザーは、 都市数20の問題を解くのに56日かかるとは思わない 実用システムでは、小規模な問題以外では全列挙ベースの計算手法は使ってはいけない

「最短路問題」により、コスト面で明らかに解にならないものがわかる 列生成の概念図 「最短路問題」により、コスト面で明らかに解にならないものがわかる 条件を満たす配船計画の集合 こういうものは、見なくてよい 有効な集合はごく一部 ここだけ見ておけばよい

列生成法に関する注目点 ②定数時間の計算時間が期待できる 船の数が2倍、あるいは計画期間が2倍になって も、せいぜい2倍+αの計算時間しかかからない ことが期待できる    厳密には理論的には違うが、実際の計算では              そう見てよい

目的: 実用規模の問題を解く 計算手法の開発 十分短い計算時間 入力データに対する頑強性

現在のオペレーター担当者へのヒアリングより、想定される使用方法 十分短い計算時間 現在のオペレーター担当者へのヒアリングより、想定される使用方法 担当者 配船計画案 受注状況の調整 データの変更 繰り返す 計算結果 受注貨物データ 船舶データ 配船計画システムに入力 入力

どのような偏りのある貨物データが来ても、 入力データに対する頑強性 貨物需要は月によって変化   ① どのような偏りのある貨物データが来ても、 問題無く結果を出すこと ユーザーが解きたい問題のサイズは そのたびに異なる  数倍程度問題が大きくなっても、 問題無く結果を出すこと ②

定数時間のアルゴリズム ではどうするか? 問題規模がK倍になっても 計算時間はせいぜいK倍プラスアルファしか大きくならず、 実用システムでは、全列挙ベースの計算手法は使ってはいけない ではどうするか? 問題規模がK倍になっても 計算時間はせいぜいK倍プラスアルファしか大きくならず、 十分よい解が得られることが実験などで確かめられている アルゴリズムを用いる必要がある

定数時間のアルゴリズム Standing on the shoulders of giants そんなものが作れるのか? 1から作るのは、非常に難しい 膨大な数値実験が必要 幸い、数十年に渡る膨大な既存研究があり、 さまざまな手法に対するアイデア、計算機実験による検証は既に行われている Standing on the shoulders of giants Don’t reinvent the wheel

配船計画の既存研究 1960年代から多数の研究が存在している。 → 有効な計算手法はほぼ出揃っている。 → 有効な計算手法はほぼ出揃っている。 「どの計算手法が適しているか?」の議論は既に完了 現在は事例開発、発表がなされているフェーズ

運航スケジュール作成 研究者 発表年 目的 Cargo 計算手法 Bausch et al. 1998 Min.cost Refined oil SP Bremer and Perakis 1992 Crude oil Brown et al. 1987 Cho and Perakis 2001 Bulk IP Christiansen and Fagerholt 2002 Dry bulk Fagerholt Fagerholt and Christiansen 2000a,b Fertilizers Perakis and Bremer Ronen 1986 IP+heuristics Scott 1995 Langarnge relaxation. Sherali et al. 1999 Cruide oil MIP and heuristic Vukadinovic et al. 1994 Gravel Neural network Vukadinovic et al 1997

船隊規模設計、航路決定 研究者 発表年 目的 Cargo 計算手法 Bendall and Stent 2001 Max. profit Containers MIP Cho and Perakis 1996 SP Crary et.al. 2002 - MIP + 担当者操作 Dantzig and Fulkerson 1954 Min. num of ves. Crude oil LP Darzentas and Spyrou Evaluate solution Passengers Simulation Fagerholt 1999 Min. cost IP+DP Fagerholt et. Al. 2000 General Cargo Fagerholt et.al Fresh Water Imai and Rivera Min.cost Larson 1988 Sludge Heuristics Mehrez et al. 1995 Dry bulk Pesenti Richetta and Larson 1997 Solid Waste Heirustics

在庫管理+運航スケジュール 研究者 発表年 目的 Cargo 計算手法 Chajakis 1997,2000 Min. cost Bulk oil MIP and sim. Christiansen 1999 Bulk ammonia MIP + Dantig -Wolfe 分解 Christiansen and Nygreen 1998a,b,2001 Flatberg et al. 2000 Heuristics Fox and Herden Ammonia products MIP Kao et al. 1993 Coal 非線形計画 Liu and Sherali MIP and heuristics Mehrez et al. 1995 Dry bulk minerals Ronen 2002 Liquird oil Shih 1997

不定期船のスケジューリング 研究者 発表年 目的 Cargo 計算手法 Appelgren 1969,1971 Max. profit Refrigerateded MIP+Dantzig-Wolfe分解 Bausch et al. 1998 Min. cost Liquid bulk oil SP Christiansen 1999 Bulk anmonia Fagerholt 2003 Any Heuristics Kim and Lee 1997 Bulk Sherali et al. Crude oil MIP and heuristics

定期船スケジューリング 研究者 発表年 目的 Cargo 計算手法 Jaramillo and Perakis 1991 Min. cost General LP + heuristics Perakis and Jaramillo Powell and Perakis 1997 IP

: 頻繁に用いられる手法(実績のある手法) 用いられる計算手法 :  頻繁に用いられる手法(実績のある手法) 計算手法 LP (線形計画問題) IP(整数計画問題) MIP(混合整数計画問題) 計算手法 SP(集合分割問題) Simulation IP+DP(IP+動的計画法) 計算手法 Heuristic(近似解法) MIP+Dantzig-Wolfe NLP(非線形計画問題) 解きたい問題(現実の問題) モデル化 MIP IP SP 問題のクラス NLP Simulation 計算手法 解く Dantzig-Wolfe分解 Heuristic DP

配船計画の既存研究 最も有効な手法を選択し、 国内の海運、港湾環境に合わせて修正すること 条件の変化、問題規模の増大に対して頑強な解法 → 有効な計算手法はほぼ出揃っている。 我々のやるべきこと 最も有効な手法を選択し、 国内の海運、港湾環境に合わせて修正すること 条件の変化、問題規模の増大に対して頑強な解法  → 列生成法(Dantzig-Wolfe分解)による近似解法

今回採用した手法 対象の問題 問題のクラス 計算手法 NLP MIP Dantzig-Wolfe分解 IP SP Heuristic DP(動的計画法) 対象の問題 問題のクラス 計算手法 MIP NLP Dantzig-Wolfe分解 IP SP Heuristic Simulation DP

効率的な候補は少ない 1隻あたり数万本以上の候補の ほとんどは非効率

効率的な候補を選ぶ 「最短路問題」 極めて高速 定数時間 制約条件を満たすスケジュール候補 数万本?数十万本?もっと? 効率的な数百本の候補 見込みのない候補は、探索の必要すらない 制約条件を満たすスケジュール候補 数万本?数十万本?もっと?

効率的な候補を選ぶ 「最短路問題 」は定数時間で解ける!!! 各船舶に対して、「最短路問題」と呼ばれる最適化問題を解けばよい 「最短路問題 」は定数時間で解ける!!! 貨物数(期間)が倍になっても、計算時間は2倍程度

数値実験 A社 対象製品 白油30品目 対象船 石油タンカー (5000DWT程度) 対象隻数 14隻 対象港 40港

数値実験 各船毎に「最短路問題」を解き、 定数時間で解ける: 有効な候補スケジュールを求める (反復回数)x(隻数) これまでに得られている候補から、良いスケジュールを選ぶ 小規模な線形計画問題を解くだけので非常に高速 整数計画問題を解く ←ほとんどの場合は数分で済むが、、、非常に時間がかかることはあり得る(今後の課題) 集合分割問題を解いて、最終的な計画を得る

2週間分、14隻の計画作成 ① ② ③ ①最短路:73秒 ②:暫定スケジュール選択:0.1秒 ③:集合分割問題:0.5秒 各船毎に「最短路問題」を解き、 有効な候補スケジュールを求める 航行距離5.4パーセント減少 繰り返す ② ③ これまでに得られている候補から、良いスケジュールを選ぶ 集合分割問題を解いて、最終的な計画を得る 反復は70回で終了 (1隻あたり70本の候補) 得られた双対情報から、もっとよいスケジュールを求めるための最短路問題を定義する これ以上良い候補がなくなれば終了

3週間分、14隻の計画作成 ① ② ③ ①最短路:224秒 ②:暫定スケジュール選択:0.2秒 ③:集合分割問題:53秒 各船毎に「最短路問題」を解き、 有効な候補スケジュールを求める 航行距離6.5パーセント減少 繰り返す ② ③ これまでに得られている候補から、良いスケジュールを選ぶ 集合分割問題を解いて、最終的な計画を得る 反復は127回で終了 (1隻あたり127本の候補) 得られた双対情報から、もっとよいスケジュールを求めるための最短路問題を定義する これ以上良い候補がなくなれば終了

3週間分、14隻の計画作成 ① ② ③ ①最短路:80秒(<-224秒) ②:暫定スケジュール選択:0.2秒 ③:集合分割問題:74秒(<-53秒) ① 各船毎に「最短路問題」を解き、 有効な候補スケジュールを求める 航行距離4.5パーセント減少 繰り返す ② 127回のときは6.5 ③ これまでに得られている候補から、良いスケジュールを選ぶ 集合分割問題を解いて、最終的な計画を得る 反復は50回で打ち切り (1隻あたり50本の候補) 得られた双対情報から、もっとよいスケジュールを求めるための最短路問題を定義する これ以上良い候補がなくなれば終了

4週間分、14隻の計画作成 ① ② ③ ①最短路:651秒 ②:暫定スケジュール選択:0.5秒 ③:集合分割問題:7.8秒 各船毎に「最短路問題」を解き、 有効な候補スケジュールを求める 航行距離6.2パーセント減少 繰り返す ② ③ これまでに得られている候補から、良いスケジュールを選ぶ 集合分割問題を解いて、最終的な計画を得る 反復は300回で打ち切り (1隻あたり300本の候補) 得られた双対情報から、もっとよいスケジュールを求めるための最短路問題を定義する これ以上良い候補がなくなれば終了

4週間分、14隻の計画作成 ① ② ③ ①最短路:185秒 ( <- 651秒) ②:暫定スケジュール選択:0.2秒 ③:集合分割問題:44秒 ( <- 7.8秒) ① 各船毎に「最短路問題」を解き、 有効な候補スケジュールを求める 航行距離6.2パーセント減少 繰り返す ② 300回と同じ答え ③ これまでに得られている候補から、良いスケジュールを選ぶ 集合分割問題を解いて、最終的な計画を得る 反復は100回で打ち切り (1隻あたり100本の候補) 得られた双対情報から、もっとよいスケジュールを求めるための最短路問題を定義する これ以上良い候補がなくなれば終了

*: 候補スケジュールの生成を途中で打ち切った場合 列生成による計画作成 期間 隻数 候補生成 本数/隻 LP 選択 トータル 改善 2週間 14隻 73秒 70本 0.1秒 0.5秒 5.4% 3週間 224秒 127本 0.2秒 53秒 275秒 6.5% 80秒* 50本* 74秒 154秒 4.5% 4週間 651秒* 300本* 7.8秒 659秒 6.2% 185秒* 100本* 44秒 229秒 25隻 1500秒* 1秒 50秒 1550秒 5% *: 候補スケジュールの生成を途中で打ち切った場合

ちなみにCPでは、、 これは列生成の結果 期間 隻数 候補生成 本数/隻 LP 選択 トータル 改善 2週間 14隻 73秒 70本 0.1秒 0.5秒 5.4% 2週間14隻分の配船計画: 列生成では1分超で最も航行距離の小さい計画が求まる、 ところが、CPでは実行可能な計画を1つ見つけるのすら難しい。 たった一つの赤い点を見つける 白い点をどれか一つ見つける ここで扱っている配船計画問題は、CPの適用可能範囲を遙かに超えている 白い点ひとつ見つけるより、たった一つの赤い点を見つける方が遙かに難しい

CPでは、3日を超える計画を見つけることは難しい、そこで例えば これは列生成の結果 期間 隻数 候補生成 本数/隻 LP 選択 トータル 改善 2週間 14隻 73秒 70本 0.1秒 0.5秒 5.4% CPでは、3日を超える計画を見つけることは難しい、そこで例えば 1.初日1日分の実行可能な計画をいくつかCPで列挙し、その中から一つを選ぶ 2.次の一定期間(2日程度)のデータについて実行可能な計画を   CPによって列挙し、その中から初日とうまくつながるものを選ぶ 3.次の一定期間のデータについて実行可能な計画をCPによって   列挙し、その中から2.の期間とうまくつながるものを選ぶ   以下、3.を繰り返す。 たった一つの赤い点を見つける 白いものをどれか一つ見つける この方法により、2時間(!!)で 実行可能な計画(白い点)が1つ求まった