まず, 与えられた航路の集合から割り当てたい航路を決定する. 航路を決定する問題は 以下の入力をもつ:
• 全体の期間をある一定区間に区切り, その区切った期間内に, 港毎に来て欲しい期
間, すなわちtime-windowがいくつか設定されたタイムテーブル
• デポから出てそのタイムテーブル内のいくつかのtime-windowを通って元のデポ へ戻るような航路を集めた集合R
• 航路のコストcr 2R>0.
なお, 各航路のコストcr 2R>0は先行研究[6]の航路のコストを計算する問題などによっ て事前に計算しておく. また, 航路のコストが計算できなかった場合は航路にかかるコス トを1と設定すると約束する.
本問題で扱う航路r2Rは全体の期間が終了するまで周期的に繰り返している. そのた め, 各航路は, タイムテーブルにおける区切られた期間の通る数に応じてlr 2 N周する. もちろん, このlr 2 Nは, 航路r 2R毎に通る区切られた期間の数が異なるために, 一般 には航路毎に異なった値となる. さらに, 航路の周期をl = 1,· · · , lrとして表す. すなわ
ち, 2周目の航路はl= 2となる. また, 同じようにタイムテーブルは周期的に区切られた 期間が繰り返している. 従って, 区切られた期間を参照しやすくするために, 区切られた期 間には一番始めの期間を1としたインデックスt を設定する. なお, 一番最後の区切られ た期間に設定される期間はtlast とする. 例えば, 8週間を全体の期間として区切る長さを 1週間としたとき, 4週間目を表すインデックスは4となる. また, 区切られた期間の中に
はtime-windowが設定されているが, 時間の早いものから順番にインデックスを1から1
つずつ大きくして割り当てる. このようなインデックスをj 2 Nとし, 港i2 U における 最も最後に設定されているtime-windowのインデックスをjlasti とする.
これらの定数を用いて定式化を行っていく. まず, 全体にかかるコストを考える. 航路 r 2R の l(= 1,· · · , lr) 週目が割り当てられるとき 1, それ以外 0 となる変数を xrl2{0,1}とすると, 全体にかかるコストは
X
r2R lr
X
l=1
crxrl と表される.
航路 r2Rが割り当てられる場合, 定期船なので, l(= 1,· · ·lr)週全部を利用して欲し い. 従って,
lr
X
l=1
xrl =lrxr1 (r2R)
という制約が付く. また,設定されている全てのtime-window内に港を訪れるようにした い. これは航路r 2 Rの情報だけではカバーできないので, 期間t における港i 2 U の j(= 1,· · · , jlasti )番目の time-windowを航路r 2 Rのl(= 1,· · ·, lr)週目が通るとき1, それ以外0とする定数↵rlijtを導入して定式化を行う. この定数を導入することで, 設定さ れている全てのtime-window内に港を訪れなければならないという制約は
X
r2R lr
X
l=1
↵rlijtxrl 1 (i2U;j = 1,· · · , jlasti ;t= 1,· · · , tlast) と表すことができる.
以上から, モデルは 表 4.1と 表 4.2の記号を利用して, 制約 (1) 航路の周期性
lr
Xxrl=lrxr1 (r2R)
表4.1 航路の割当に使用する定数
記号 意味
R 航路の集合
U 荷物を降ろす港の集合
↵rlijt 2{0,1} 港i 2 U における期間t 2 {1,· · · , tlast}のj 2 {1,· · · , jlasti }番目 のtime-window を航路r2Rのl 2 {1,· · · , lr} 周目が通るとき1, それ以外0
表4.2 航路の割当に使用する変数
記号 意味
xrl2{0,1} 航路r2Rのl = 1,· · ·lr周目を利用するとき1, それ以外0
(2) 全time-windowを通過しなければならないという制約
X
r2R lr
X
l=1
↵rlijtxrl 1 (i2U;j = 1,· · · , jlasti ;t= 1,· · · , tlast)
を満たすように全体のコスト
X
r2R lr
X
l=1
crxrl
を最小にするような航路を割り当てる問題は
(RAP) = 8>
>>
>>
>>
>>
>>
><
>>
>>
>>
>>
>>
>>
:
min X
r2R lr
X
l=1
crxrl
s.t.
lr
X
l=1
xrl=lrxr1 (r 2R) X
r2R lr
X
l=1
↵rlijtxrl 1 (i2U;j = 1,· · ·, jlasti ;t= 1,· · · , tlast) xrl2{0,1} (r 2R;l = 1,· · · , lr)
(4.1) と定式化できる.