Slide 1

Slide 1 text

(1) Efficiently Solving the Practical Vehicle Routing Problem: A Novel Joint Learning Approach, KDD2020 (2) Neural Large Neighborhood Search for the Capacitated Vehicle Routing Problem, ECAI2020 @cocomoff

Slide 2

Slide 2 text

以前紹介した論⽂ ICLR2019 様々なRouting Problem を解くためのAttention 機構付きNN 強化学習の枠組みで良い経路を選択できるように学習 これに関連した2020 年の論⽂2 本を紹介

Slide 3

Slide 3 text

RL ベースの⼿法は学習が遅いという⽋点があり,RL ベースの⼿法+ 教師 有り学習によって効率的に学習する 訪問点の座標 ( ) に加えて,2 点間の距離を埋め込んで利⽤する ⼈⼯データと実データに対して,OR-Tools よりも良い結果を⽰した x, y

Slide 4

Slide 4 text

背景 VRP (TSP + 複数⾞両 + depot (0)) 8 6 2 5 7 1 4 3 9 10 16 14 12 11 15 13 0 1/10

Slide 5

Slide 5 text

概要 いろんな⼿法の⽐較 ([21] がICLR2019) 2/10

Slide 6

Slide 6 text

埋め込む特徴 特徴として座標 の埋め込みだけではなく,距離⾏列を利⽤する 理由: の相対位置だけでは移動距離が道路によって異なるため 3/10 (x, y) x, y

Slide 7

Slide 7 text

ネットワーク構造 Encoder 側は論⽂で1p ぐらい詳細に証明 ( 既存⼿法の組合せ) Decoder 側は2 つに分ける 1 つは次に訪問すべき地点をPointer する 1 つはPointer 側で作成した解を予測できるようなMLP 辺 が解 に含まれるかどうかを予測する 4/10 e π

Slide 8

Slide 8 text

ネットワーク構造と学習 全体のロスは2 つのロスの重み付き和 Pointer 側のロスは,ICLR2019 などと同じくREINFORCE ロス MLP 側のロスは,Pointer が作成した とのcross entropy なぜこの学習をやっている? 過去の論⽂で学習のために最適な経路 (optimal solution) を使った ⼤規模データだと教師データが作れない RL とくっつけたこの形のJoint Learning を提案した 5/10 π

Slide 9

Slide 9 text

実験結果 ⼈⼯データ (VRP-num) ,実データ (VRP-R) 概ね他の⼿法より良かったし,相対位置を⼊れたほうが良かった 6/10

Slide 10

Slide 10 text

組合せ最適化におけるメタヒューリスティクスである Large Neighborhood Search をニューラルネットワークで実⾏する LNS を構成する実⾏可能解の destroy/repair 演算にNN を利⽤する CVRP ( 容量制約つきVRP) と Split Delivery VRP ( 分割VRP) の評価⽤イン スタンスについて,既知のヒューリスティクスと⽐較可能な結果を⽰した 概要を紹介

Slide 11

Slide 11 text

概要 局所探索 (Local Search): 組合せ最適化のメタヒューリスティクスの1 つ 実⾏可能解 から少し異なる解の集合 として以下を繰り返す を初期化 以下を満⾜するまで繰り返す を選択 もし が より良ければ ⼀般に のサイズは 有限個 or パラメータの多項式サイズぐらい (Local search; LS) それ以上 (Large neighborhood search; LNS) それ以上 (Very large neighborhood search; VLNS) 7/10 x N(x) x x ∈ ′ N(x) f(x ) ′ f(x) x ← x′ N(x)

Slide 12

Slide 12 text

LNS の特徴つけ: Destroy/Repair オペレータ 近傍の解を探索する操作を2 つの操作で考える Destory: 実⾏可能解を壊す ( ランダムとかで良いらしい) Repair: 実⾏可能解に直す ( 難しいらしい ← ここをPointer Network) 8/10

Slide 13

Slide 13 text

ネットワーク構造 どこを直すのかを指し⽰すPointer Network 学習⽅法はREINFORCE ロスと同じ (ICLR2019 やKDD2020 のロスと似た アプローチ) 9/10

Slide 14

Slide 14 text

実験結果 既存のNN ベース⼿法と⽐較して,性能は良いが遅い SDVRP インスタンスでも既存のヒューリスティクと… 10/10