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
97
配送計画問題入門3
NearMeの技術発表資料です
PRO
May 12, 2023
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
2つの曲線を比較する方法ってあるの? 〜フレシェ距離を試してみた〜 with Python
nearme_tech
PRO
1
18
Constrained K-means Clustering (クラスタサイズの制限をしたK-means法) を調べてみた
nearme_tech
PRO
0
16
VRPの近傍操作SWAP*について調べてみた
nearme_tech
PRO
1
49
新人エンジニアが読んでためになった本
nearme_tech
PRO
2
21
Object–relational mapping and query builder battle 1: Intro to Prisma
nearme_tech
PRO
1
29
深層学習モデルの最適化 -Deep Learning Tuning Playbookを読む-
nearme_tech
PRO
1
52
機械学習を支える連続最適化
nearme_tech
PRO
1
44
サードパーティクッキーの終焉と Topics APIによる代替の可能性
nearme_tech
PRO
1
81
ONNXハンズオン
nearme_tech
PRO
2
28
Other Decks in Programming
See All in Programming
Microservices rules (July 2024) : what good looks like
cer
PRO
0
1.6k
Temporalを取り巻く仕様を整理する
sajikix
0
120
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
ドメイン駆動設計の実践
masuda220
PRO
19
5.2k
How to use Macrobenchmark
veronikapj
0
160
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
Clean Architecture by TypeScript & NestJS
ryounasso
0
150
Jetpack for KMP
fornewid
1
290
Prompt FlowによるLLMアプリケーション開発
yuto2000
1
1k
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
0
790
Exploring the Gradually Lost Technical Skills in the Cloud Native Era
hwchiu
2
3.9k
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
34
1.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
36
9.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
RailsConf 2023
tenderlove
16
720
Designing for humans not robots
tammielis
247
25k
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
We Have a Design System, Now What?
morganepeng
46
7k
Adopting Sorbet at Scale
ufuk
71
8.8k
Become a Pro
speakerdeck
PRO
15
4.8k
Code Review Best Practice
trishagee
58
16k
Designing Experiences People Love
moore
136
23k
Large-scale JavaScript Application Architecture
addyosmani
506
110k
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