「EXCELによる最長片道ルート探索」4(1)新幹線を含む通常の最長片道ルートで述べたように、本州地区の最長片道ルートは、EXCELのソルバーを用いて計算する場合、ソルバーの変数設定の上限などにより分割計算をせざるを得ない。その上、関東を含む東日本地方については、1回の計算で最大20分程度の時間が掛かっており、まだるっこしい。このような状態では、「なんとか、ぎりぎりのところで計算できている」というレベルと言わざるをえない。
EXCELのソルバーを用いる以上、分割計算はやむを得ないが、東日本地方の計算はなんとか高速化を図りたい。
そこで、今回、いろいろと試したところ、芋づる式に計算高速化に効果的な手法が見つかり、「その1」の成果としては、20分程度の計算を4分程度に短縮することができた。
「その1」は、駅間の枝に設定した0,1変数H(m,n)の「整数制約を緩和」することによって、計算速度を向上させるものである。制約緩和の方法としては、他に「ラグランジュ緩和」を用いる方法も考えられ、こちらは、「その2」で検討することとした。
「その1」の手法は、まだ、制約式(特に、「接続駅においてルートに含まれる枝は0本または2本」の制約)に改善の余地があると思われる。知見のある読者の方が居られたら、是非、改善方法を教示頂きたい。
(櫛制約:6個) |
---|
|
|
|
|
|
|
(整数制約:14個) |
・ H(豊橋,辰野)=整数 |
・ H(小出,会津若松) =整数 |
・ H(会津若松,新津) =整数 |
・ H(小淵沢,佐久)=整数 |
・ H(小淵沢,岡谷) =整数 |
・ H(東神奈川,茅ヶ崎) =整数 |
・ H(新潟,吉田) =整数 |
・ H(我孫子,成田)=整数 |
・ H(新発田,新潟) =整数 |
・ H(新津,東三条) =整数 |
・ H(長岡,燕三条) =整数 |
・ H(西船橋,千葉)=整数 |
・ H(品川,川崎) =整数 |
・ H(御茶ノ水,代々木) =整数 |