GoogleでJR最長片道切符を計算する方法(データ設定、計算方法編)
前回はGoogle Colaboratoryの初期設定とソースを実装しました。
今回はデータを設定し、計算させます。
①駅間路線データの作成
最長片道切符のもととなる路線データを作成します。これは頑張って作成するしかありません。データ量削減のため、乗換駅から次の乗換駅までのデータを重複なく用意します。前回記載したソースで動かすには以下のようなCSVファイルを用意します。
s_staは発駅、e_staは着駅、kiro2に距離を入力します。発着は1方向で1行で大丈夫です。東京→神田と神田→東京と分けて入れる必要はありません。
kiro1は営業キロ、kiro2を運賃計算キロで入れましたが、kiro1は今回いりません。また、データ列の順番は関係ないです。ヘッダにs_sta,e_sta,kiro2が記載されていればよいです。
データ作成には以下3点に注意してください
①発着駅が同じ場合は長いほうだけ入力する(例:横浜~大船)
②他のJR路線とつながっていない路線は入力しない(例:大湊線)
③場所が違う同一駅名は名前を変えないと同一駅と認識してしまうので注意(例:大久保)
②2駅間データの作成
Graphillionは2つの駅(ノード)間の最長経路を求めるロジックしか実装されておりません。そのため、全ての2駅間について計算しないといけません。そのデータを用意します。うまい方法が浮かばなかったので、①で作成したデータから駅を抜き足したものを2列用意しました。
③データの読み込み
データが準備できたらGoogle Colaboratoryに読み込ませます。
左にある▶をクリックし、ファイルをクリックします。
先ほど作ったファイルを選択します。読み込まれるとファイル名が表示されます。
④計算の実行
ソースを実行します。▶を押すと、計算がスタートします。
以下のように実行されます。発駅,着駅,最長距離,処理開始秒数が出てきます。
Google Colaboratoryの注意点ですが、計算時間がブラウザを閉じてしまうと90分、ブラウザを開きっぱなしであっても12時間で強制的に計算が終了します。処理件数が多い場合には注意が必要です。
最後に全件の処理結果での最長距離をExcelなどでソートすれば最長片道切符がどれなのかわかります。