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
Graphillion を用いた最長片道切符ルートの算出
Search
Psyduck
October 15, 2020
0
890
Graphillion を用いた最長片道切符ルートの算出
みんなのPython勉強会#62での発表資料です
Psyduck
October 15, 2020
Tweet
Share
More Decks by Psyduck
See All by Psyduck
調剤薬局の医薬品備蓄数について調べてみた
yukou_isshiki
0
610
初めてPyCon JPのスタッフをやってみた
yukou_isshiki
0
540
技術書典6の振り返り
yukou_isshiki
0
330
Featured
See All Featured
Navigating Team Friction
lara
179
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
How STYLIGHT went responsive
nonsquared
92
4.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
8
1.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
21
1.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Infographics Made Easy
chrislema
238
18k
Making Projects Easy
brettharned
109
5.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
Why Our Code Smells
bkeepers
PRO
331
56k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Rails Girls Zürich Keynote
gr2m
91
13k
Transcript
Graphillion を用いた最長片 道切符ルートの算出 Psyduck みんなのPython勉強会#62
自己紹介 Psyduck ・https://psyduck-take-it-easy.hatenablog.com/ ・Python歴は4年目 ・普段はECサイト向け検索エンジンを作る部署に所属 ・PHP、Bashがメイン ・業務Pythonは調査用クロールスクリプトのみ ・個人では日々Pythonの可能性を模索中 ・2ヶ月連続登壇
最長片道切符とは ・JRの旅客営業規則で発券可能な最長距離の片道切符 ・1961年の東大旅行研究会が最初の旅行者とされる ・ただし、ルートはJRから公表されていないため、自力で算出する必要がある ・運賃を手計算するため発券に数日掛かる 最長片道切符(例) 出典:JR最長片道切符の旅2013
具体例 ・秋葉原→東京 ・山手線であれば5分程度で到着する ・最長片道切符では右のようになる 出典:JR東日本
先行事例 ・デスクトップ鉄さん(http://www.desktoptetsu.com/saichohensen.htm) ・ただし、Excelで算出(Excel 2010以降では動作不能) ・halpha656さん(http://halpha656.hatenablog.com/entry/2014/08/28/120040) ・Graphillionを用いたルート算出 ・ここのコードを改良した
Graphillionとは ・https://github.com/takemaru/graphillion/wiki ・大規模なグラフセットを効率的に扱えるPython ライブラリ ・電力網から効率的な送電経路の算出等に使用された実績
課題 ・データを手動で作るには煩雑 ・計算量削減のため、区間を分岐駅ごとにする作業が大変 ・出力がみにくい ・別途並び替える必要があった 中央線を例にすると、 東京-神田-御茶ノ水-代々木-新宿
改良事項 ・駅間距離データを用意すれば計算用データに変換できるように改良 ・ダイヤ改正ごとの修正が簡易に ・ルートが順番に出力されるようにした ・別のプログラムを組まずにできる
課題 ・多くのメモリを必要とする ・GCP Comute Engine n1-highmem-96(96 vCPU、メモリ 624 GB)で検証 ・九州の計算が出来ない…
今後の展望 ・メモリ消費量の削減 ・手軽に算出できる環境の整備
https://github.com/yukou-isshiki/most_longest_ticket_root_calc