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
1.1k
Graphillion を用いた最長片道切符ルートの算出
みんなのPython勉強会#62での発表資料です
Psyduck
October 15, 2020
Tweet
Share
More Decks by Psyduck
See All by Psyduck
調剤薬局の医薬品備蓄数について調べてみた
yukou_isshiki
0
760
初めてPyCon JPのスタッフをやってみた
yukou_isshiki
0
680
技術書典6の振り返り
yukou_isshiki
0
390
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Become a Pro
speakerdeck
PRO
29
5.5k
Into the Great Unknown - MozCon
thekraken
40
2k
BBQ
matthewcrist
89
9.8k
Building Adaptive Systems
keathley
43
2.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
A Modern Web Designer's Workflow
chriscoyier
696
190k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
GraphQLとの向き合い方2022年版
quramy
49
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
112
20k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
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