Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
配送計画問題入門3
Search
NearMeの技術発表資料です
PRO
May 12, 2023
Programming
0
110
配送計画問題入門3
NearMeの技術発表資料です
PRO
May 12, 2023
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
ルートの質を評価する指標について
nearme_tech
PRO
0
13
Rustで作る強化学習エージェント
nearme_tech
PRO
0
42
ビームサーチ
nearme_tech
PRO
0
36
WASM入門
nearme_tech
PRO
0
35
ESLintをもっと有効活用しよう
nearme_tech
PRO
0
25
リファクタリングのための第一歩
nearme_tech
PRO
0
68
ガウス過程回帰とベイズ最適化
nearme_tech
PRO
1
190
確率的プログラミング入門
nearme_tech
PRO
2
120
Observability and OpenTelemetry
nearme_tech
PRO
2
46
Other Decks in Programming
See All in Programming
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.5k
Learning Kotlin with detekt
inouehi
1
160
SwiftUI Viewの責務分離
elmetal
PRO
2
280
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
210
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
160
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
200
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.6k
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
5
1.1k
Datadog Workflow Automation で圧倒的価値提供
showwin
1
280
DevNexus - Create AI Infused Java Apps with LangChain4j
kdubois
0
120
PRレビューのお供にDanger
stoticdev
1
240
Datadog DBMでなにができる? JDDUG Meetup#7
nealle
0
150
Featured
See All Featured
Speed Design
sergeychernyshev
27
810
Mobile First: as difficult as doing things right
swwweet
223
9.5k
The Invisible Side of Design
smashingmag
299
50k
Unsuck your backbone
ammeep
669
57k
How to train your dragon (web standard)
notwaldorf
91
5.9k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Optimizing for Happiness
mojombo
377
70k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
580
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Transcript
0 配送計画問題入門3 2023-05-11 第42回NearMe技術勉強会 Yuta Okamoto
1 目次 1. はじめに 2. 前回までの内容・今回のゴール 3. 前提知識 4. 配送計画問題を解いてみる
5. 次回予告
2 1.はじめに • アイスブレイク ◦ 最初に私が誰かにペンを渡します. ◦ 渡された人は,24時間以内に起きた良いこと・新しいことを共 有してください👍 ◦
話終わったら誰か選び,その人にペンを渡してください.
3 2.前回までの内容・今回のゴール • 前回までの内容 ◦ 配送計画問題とは ◦ いろんな種類がある • 今回のゴール
◦ グラフの工夫でさまざまな条件を表現できること どの車両が,何時に,どの順番で,どの顧客を訪問するか決め る問題 VRP CVRP VRPTW VRPPD etc.
4 • グラフ理論 ◦ ノード ◦ エッジ • 最適化 ◦
1次式 ◦ 線形計画 3.前提知識 Wikipedia: The Free Encyclopedia. “Vehicle Routing Problem”. 2023-03-10. https://en.wikipedia.org/wiki/Vehicle_routing_problem(参照 2023-03-22) 目的関数も制約式も全て一次式 の最適化問題
5 • VRP : 単純な距離最小化 4.配送計画問題を解いてみる • 任意のノード間にエッジがあるとは 限らない •
エッジには重みがついている • エッジの重みが変われば最適解も 変わる 2 5 10 10 10 10 6 4 3 4 2 ① ② ③ ④ ⑤ ⓪
6 • VRP : 単純な距離最小化 4.配送計画問題を解いてみる [ [0, 10, 10,
10, 10, 10], [10, 0, 2, 4, ?, 6], [10, 2, 0, ?, 5, ?], [10, 4, ?, 0, 2, 4], [10, ?, 5, 2, 0, 3], [ ?, 6, ?, 4, 3, ?] ] 2 5 10 10 10 10 6 4 3 4 2 ① ② ③ ④ ⑤ ⓪
7 4.配送計画問題を解いてみる - OR-ToolsでVRPを解く 1. 入力データ(定数)の生成
8 4.配送計画問題を解いてみる - VRPを解く 2. ノードとソルバ内のインデックスを対応づける 3. RoutingModelインスタンス生成
9 4.配送計画問題を解いてみる - VRPを解く 4. 枝の重みを設定
10 4.配送計画問題を解いてみる - VRPを解く 5. 距離のDimensionを生成 ※Dimension : 蓄積される値をトラッキングするためのオブジェクト
11 4.配送計画問題を解いてみる - VRPを解く 6. 探索のアルゴリズムを選択 7. 求解
12 4.配送計画問題を解いてみる - VRPを解く 8. 解を表示
13 • CVRP : キャパを考えながら距離最小化 4.配送計画問題を解いてみる 1 3 2 1
2 2 5 10 10 10 10 6 4 3 4 2 ① ② ③ ④ ⑤ ⓪ • ノードに重みがある
14 4.次回予告 • GurobiでVRPを解いてみようかと思います.
15 出典 • Google LLC. “Vehicle Routing Problem”. Google OR-Tools.
2023-01-16 UTC. https://developers.google.com/optimization/routing/vrp#complete_programs, (参照 2023-05-11)
16 Thank you