III DESKRIPSI DAN FORMULASI MASALAH
3.2 Pendekatan Solus
3.2.1 Formulasi Masalah Pemadanan kereta-api-datang menjadi kereta-
Langkah kedua berkaitan dengan pemarkiran unit-unit pelangsiran pada rel-rel pelangsiran. Dalam hal ini, setiap blok diparkir di suatu rel pelangsiran sedemikian sehingga kapasitas rel tidak terlebihi dan crossing tidak terjadi.
3.2.1 Formulasi Masalah Pemadanan kereta-api-datang menjadi kereta- api -berangkat
Untuk setiap kereta-api-datang dan kereta-api-berangkat didefinisikan sebuah network. Simp ul-simpul dari network menyatakan unit-unit kereta dan sebuah simpul rekaan (dummy/simpul 0). Simpul- simpul tersebut dapat mewakili tempat- tempat di mana unit kereta dapat dibagi ke dalam beberapa part. Part adalah himpunan bagian dari unit-unit kereta yang berdampingan pada suatu kereta api. Sisi berarah pada network mewakili part yang mungkin terbentuk dari suatu kereta. Secara matematis, banyaknya part yang dapat dibentuk dari suatu kereta dapat dinyatakan sebagai kombinasi mCn, dengan m adalah banyaknya simpul dari suatu kereta dan n adalah banyaknya simpul yang berada di antara simpul sumber dan simpul tujuan pada suatu network dari kereta.
Gambar 6 menggambarkan suatu network untuk Kereta-api-berangkat 3629 pada Tabel 1.
Gambar 6. Network dari Kereta 3629 pada Tabel 1.
Simpul 0 adalah simpul rekaan, sedangkan simpul 1, 2, 3 adalah unit kereta dari Kereta 3629, yang secara berurutan memiliki subtipe MAT64_4, MAT64_2, MAT64_2.
Setiap sisi berarah bersesuaian dengan satu part dan terdapat 6 part yang berbeda yang mungkin pada contoh ini. Himpunan part yang terbentuk pada network di Gambar 6 diperoleh dari kombinasi yang mungkin semua subtipe unit kereta dari Kereta 3629 pada Tabel 1 dan sebuah simpul rekaan. Sebagai contoh sisi berarah (0,1) pada network menyatakan bahwa subtipe MAT64_4 dari Kereta 3629 membentuk suatu part, sedangkan sisi berarah (0,2) menyatakan bahwa subtipe MAT64_4 dan
MAT64_2 dari Kereta 3629 membentuk suatu part. Sebuah path dari simpul pertama sampai yang terakhir pada network ini bersesuaian dengan pembagian kereta ke dalam beberapa part. Sebagai contoh, path 0-2-3 pada Gambar 6 menyatakan bahwa unit kereta 1 dan 2 membentuk satu part dan unit kereta 3 membentuk part yang lain. Sebuah blok merupakan suatu kombinasi dari part-part pada kereta api.
Simpul rekaan pada network dari Kereta 3629 dibutuhkan karena terdapat kemungkinan bahwa dua unit kereta membentuk satu part dan unit kereta lainnya membentuk part yang berbeda.
Gambar 7 adalah network dari Kereta 3629 pada Tabel 1 tanpa simpul rekaan.
Gambar 7. Network dari Kereta 3629 pada Tabel 1 tanpa simpul rekaan.
Jika tidak ada simpul rekaan pada network ini, maka hanya ada 3 part yang mungkin terbentuk. Dalam hal ini path yang dapat dibentuk hanya ada dua. Pertama, path 1-2-3 pada Gambar 7 yang menyatakan bahwa ketiga unit kereta membentuk part yang berbeda, sedangkan yang kedua, path 1-3 pada Gambar 7 yang menyatakan bahwa ketiga unit kereta hanya membentuk 1 part.
Misalkan diberikan I sebagai himpunan dari semua part yang mungkin untuk kereta- api-datang dan J sebagai himpunan dari semua part yang mungkin untuk kereta-api- berangkat. Secara formal diperkenalkan sebuah formulasi matematika dengan variabel biner sebagai berikut:
1, jika part i
∈
I digunakan pada suatu kereta-api-datangui =
0, selainnya
1, jika part j
∈
J digunakan pada suatu kereta-api-berangkat vj=0, selainnya
1, jika part i
∈
I ditetapkan menjadi part j∈
Jzij =
0, selainnya
Misalkan:
a
T : himpunan dari kereta-api-datang dengan unit pelangsirannya,
d
T : himpunan dari kereta-api-berangkat dengan unit pelangsirannya,
t
A : himpunan sisi berarah pada network dari kereta t,
+
t h
A : himpunan sisi berarah yang menjauhi simpul h untuk kereta t, −
t h
A : himpunan sisi berarah yang mendekati simpul h pada network kereta t,
−
t
C : himpunan dari semua simpul-antara di network pada kereta t; simpul- antara adalah simpul-simpul yang berada di antara simpul sumber dan simpul tujuan pada suatu network,
i
J : himpunan part dari kereta-api- berangkat dengan konfigurasi pemadanan yang sama sebagai part dari kereta-api-datang i,
j
I : himpunan part dari kereta-api- datang dengan konfigurasi pemadanan yang sama sebagai part dari kereta-api-berangkat j.
Misalkan Q menyatakan penalti untuk setiap part dari kereta-api-datang yang ada di rel pelangsiran tetapi tidak ditetapkan menjadi part dari kereta-api-berangkat. Misalkan pula wij menyatakan ongkos dari
penetapan part dari kereta-api-datang i menjadi part dari kereta-api-berangkat j. Dalam tulisan ini ongkos didefinisikan sebagai perbedaan antara waktu datang dan berangkat dari part i dan j.
Model matematikanya: Minimumkan
∑
∈ + I i i u Q∑∑
∈ ∈I i j J ij ij i z w (10) terhadap∑
+ ∈ = t A i i u 0 1 ∀t∈Ta (11)∑
+ ∈ − t h A i i u∑
− ∈ = t h A i i u 0,∀t∈Ta,∀h∈Ct− (12) 1 0 =∑
+ ∈At j j v ∀t∈Td (13)∑
+ ∈ − t h A j j v∑
=0 − ∈t h A j j v , ∀t∈Td,∀h∈Ct− (14) i J j ij u z i =∑
∈ ∀i∈I (15) j I i ij v z j =∑
∈ ∀j∈J (16){ }
0,1 , , i j∈ ij u v z ∀i∈I,∀j∈J (17) Tujuan dari fungsi objektif (10) adalah meminimumkan jumlah terboboti dari banyaknya part dan ongkos penetapan part dari kereta-api-datang menjadi part dari kereta-api-berangkat sehingga unit -unit kereta dapat dikelompokkan sebanyak mungkin ke dalam suatu part. Kendala (11) dan (12) menjamin tercovernya setiap unit kereta-api-datang oleh sebuah part, sedangkan kendala (13) dan (14) menjamintercovernya setiap unit kereta-api-berangkat oleh sebuah part. Kendala (15) menjamin bahwa untuk setiap part dari kereta-api- datang ditetapkan menjadi suatu part pada kereta-api-berangkat jika dan hanya jika part dari kereta-api-datang adalah hasil dari pemecahan kereta. Kendala (16) memodelkan hal yang sama untuk setiap part dari kereta-api-berangkat. Kendala (17) menyatakan bahwa variabel yang digunakan adalah variabel 0-1 yang telah didefinisikan.
Hasil dari langkah ini adalah himpunan part dari kereta-api-datang yang ditetapkan menjadi part dari kereta-api-berangkat, yang sebelumnya kita sebut dengan blok. Blok- blok ini akan digunakan dalam langkah 2.
3.2.2 Formulasi Masalah Penetapan Unit Kereta pada Rel Pelangsiran Seperti telah dijelaskan sebelumnya, pemadanan dari sejumlah unit kereta-api- datang menjadi unit kereta-api-berangkat dari unit pelangsiran menghasilkan sebuah himpunan blok B. Blo k yang tidak perlu diparkir di rel pelangsiran tidak dimasukkan dalam himpunan B ini.
Untuk setiap blok diberikan waktu kedatangan dan keberangkatan serta peron kedatangan dan keberangkatan. Selain itu diberikan pula ongkos rute antara rel-rel di depan peron dan semua rel pelangsiran yang fisibel untuk setiap blok. Rel pelangsiran yang fisibel untuk suatu blok adalah rel pelangsiran yang memiliki tipe serta panjang yang sesuai untuk suatu blok.
Ongkos rute untuk jalur-bebas dapat berbeda antara sisi kanan dan kirinya. Hal ini disebabkan antara lain karena jarak yang berbeda antara rel-rel di depan peron dengan rel-rel pelangsiran jika dimasuki dari sisi kiri atau kanan.
Berdasarkan informasi-informasi di atas, langkah kedua dari pendekatan solusi masalah pelangsiran terdiri dari penetapan blok pada rel pelangsiran dengan ongkos yang minimum sehingga kapasitas dari rel pelangsiran tidak terlebihi dan tidak terjadi crossing antarblok. Crossing terjadi jika suatu blok menghalangi blok yang datang ke rel pelangsiran atau blok yang berangkat dari rel pelangsiran.
Submasalah dari penetapan blok pada rel pelangsiran ini disebut sebagai Track Assignment Problem (TAP). TAP diformulasikan sebagai sebuah masalah pemartisian hinpunan dengan kendala tambahan.
Untuk formulasi ini, didefinisikan suatu track assignment, yang disingkat dengan assignment, sebagai sebuah penyusunan dari blok-blok pada rel pelangsiran yang fisibel dalam suatu periode perencanaan.
Sebuah assignment dikatakan fisibel jika memenuhi kondisi-kondisi berikut:
§ assignment tidak mengandung crossing.
§ panjang total dari unit kereta pelangsiran pada rel tidak melebihi panjang rel.
§ semua blok mempunyai kesempatan yang sama untuk parkir pada rel. Tabel 1 dan Gambar 1 memuat sebuah contoh assignment yang tidak mengandung crossing dari blok terhadap sebuah rel pelangsiran.
Misalkan S adalah himpunan dari rel pelangsiran dan misalkan pula Ks adalah himpunan assignment fisibelpada rel s
∈
S dan Kbs adalah himpunan assignment fisibel pada rel s∈
S yang mengandung blok b∈
B.Kemudian didefinisikan variabel- variabel biner berikut:
1, jika assignment fisibel k
∈
Ks digunakan pada rel pelangsiran s∈
S = s k x 0, selainnya1, jika blok b
∈
B tidak diparkir pada rel pelangsiran s∈
S= b
y
0, selainnya
Misalkan csk menyatakan ongkos dari suatu assignment k pada rel s. Ongkos ini merupakan jumlah ongkos rute pelangsiran dari blok-b lok yang berbeda pada suatu assignment.
Misalkan d menyatakan penalti jika sebuah blok tidak diparkir pada sebuah rel. TAP kemudian diformulasikan sebagai berikut: Minimumkan
∑ ∑
∑
∈ ∈ ∈ + B b b S s k K s k s kx d y c s (18) terhadap∑ ∑
+ =1 ∈ ∈ b S s k K s k y x s b , ∀b∈B (19) 1 ≤∑
∈Ks k s k x , ∀s∈S (20){ }
0,1 ∈ s k x , ∀s∈S,∀k∈Ks (21){ }
0,1 ∈ b y , ∀b∈B (22) Tujuan dari fungsi objektif (18) adalah meminimumkan ongkos dari assignment- assignment yang fisibel serta meminimumkan banyaknya blok yang tidak diparkir pada rel pelangsiran. Kendala (19) menyatakan bahwa setiap blok dicover oleh tepat satu assignment pada satu rel pelangsiran atau tidak diparkir sama sekali. Selanjutnya, kendala (20) menyatakan bahwa setiap rel pelangsiran dapatmempunyai paling banyak satu assignment. Kendala (21) dan (22) menyatakan bahwa variabel yang digunakan adalah variabel 0-1 yang telah didefinisikan.
Kolom pada matriks kendala dari masalah TAP tersebut menunjukkan assignment pada rel pelangsiran tertentu dan baris pada matriks menunjukkan blok dan rel pelangsiran. Jika blok b tercover dalam assignment k pada suatu rel s, maka elemen matriks pada baris b dan kolom ks memiliki nilai 1, dan 0 jika blok b tidak tercover dalam assignment tersebut.
IV PENYELESAIAN MASALAH PENETAPAN BLOK PADA REL
PELANGSIRAN DENGAN MENGGUNAKAN TEKNIK
PEMBANGKITAN KOLOM
Penyelesaian masalah pelangsiran secara utuh dengan menggunakan algoritme simpleks adalah hal yang rumit. Hal ini disebabkan banyaknya assignment yang terbentuk pada masalah penetapan blok di rel pelangsiran.
Karena banyaknya variabel yang besar, menyelesaikan masalah minimisasi penetapan blok pada rel pelangsiran dengan menggunakan metode simpleks akan menghabiskan banyak waktu dalam pengerjaannya. Di sini akan dibahas salah satu teknik yang dapat digunakan untuk menyelesaikan masalah penetapan blok pada rel pelangsiran, yaitu teknik pembangkitan kolom atau column generation.
Teknik pembangkitan kolom adalah salah satu teknik untuk menyelesaikan suatu pemrograman linear dengan hanya menggunakan sebagian variabel dari masalah keseluruhan. Jika solusi PL tersebut belum mencapai kondisi optimal pada masalah secara keseluruhan, maka dengan kriteria tertentu ditambahkan variabel pada PL tersebut. Setelah itu diselesaikan kembali PL yang telah ditambah tersebut sampai diperoleh suatu kriteria pemberhentian.
Masalah induk (master problem/MP) dari masalah ini merupakan masalah pemilihan himpunan assignment yang sesuai dengan model (18) – (22), yaitu:
Minimumkan
∑ ∑
∑
∈ ∈ ∈ + B b b S s k K s k s kx d y c s terhadap∑ ∑
+ =1 ∈ ∈ b S s k K s k y x s b , ∀b∈B 1 ≤∑
∈Ks k s k x , ∀s∈S 0 ≥ s k x , ∀s∈S,∀k∈Ks 0 ≥ b y , ∀b∈B Masalah induk merupakan masalah PL- relaksasi. Dalam teknik pembangkitan kolom digunakan pemrograman linear masalah induk terbatas (Restricted Master Problem/RMP), yaitu pemrograman linear yang hanya menggunakan sebagian variabel dari MP. Variabel (kolom) yang belum digunakan dalam RMP dibangkitkan berdasarkan nilai variabel dual yang diperoleh dari masalah induk. Oleh karena itu, diperkenalkan variabel dual λb(b∈B) dan µs(s∈S) berturut-turut untuk kendala (19) dan (20).Biaya tereduksi dari suatu PL dapat diperoleh dari masalah dual PL tersebut. Misalkan Bks adalah himpunan blok dari assignment k yang diparkir pada rel s.
Dengan informasi ini, masalah dual dari masalah induk (23) adalah:
{ }
0,1 ∈ s k x , ∀s∈S,∀k∈Ks (21){ }
0,1 ∈ b y , ∀b∈B (22) Tujuan dari fungsi objektif (18) adalah meminimumkan ongkos dari assignment- assignment yang fisibel serta meminimumkan banyaknya blok yang tidak diparkir pada rel pelangsiran. Kendala (19) menyatakan bahwa setiap blok dicover oleh tepat satu assignment pada satu rel pelangsiran atau tidak diparkir sama sekali. Selanjutnya, kendala (20) menyatakan bahwa setiap rel pelangsiran dapatmempunyai paling banyak satu assignment. Kendala (21) dan (22) menyatakan bahwa variabel yang digunakan adalah variabel 0-1 yang telah didefinisikan.
Kolom pada matriks kendala dari masalah TAP tersebut menunjukkan assignment pada rel pelangsiran tertentu dan baris pada matriks menunjukkan blok dan rel pelangsiran. Jika blok b tercover dalam assignment k pada suatu rel s, maka elemen matriks pada baris b dan kolom ks memiliki nilai 1, dan 0 jika blok b tidak tercover dalam assignment tersebut.
IV PENYELESAIAN MASALAH PENETAPAN BLOK PADA REL
PELANGSIRAN DENGAN MENGGUNAKAN TEKNIK
PEMBANGKITAN KOLOM
Penyelesaian masalah pelangsiran secara utuh dengan menggunakan algoritme simpleks adalah hal yang rumit. Hal ini disebabkan banyaknya assignment yang terbentuk pada masalah penetapan blok di rel pelangsiran.
Karena banyaknya variabel yang besar, menyelesaikan masalah minimisasi penetapan blok pada rel pelangsiran dengan menggunakan metode simpleks akan menghabiskan banyak waktu dalam pengerjaannya. Di sini akan dibahas salah satu teknik yang dapat digunakan untuk menyelesaikan masalah penetapan blok pada rel pelangsiran, yaitu teknik pembangkitan kolom atau column generation.
Teknik pembangkitan kolom adalah salah satu teknik untuk menyelesaikan suatu pemrograman linear dengan hanya menggunakan sebagian variabel dari masalah keseluruhan. Jika solusi PL tersebut belum mencapai kondisi optimal pada masalah secara keseluruhan, maka dengan kriteria tertentu ditambahkan variabel pada PL tersebut. Setelah itu diselesaikan kembali PL yang telah ditambah tersebut sampai diperoleh suatu kriteria pemberhentian.
Masalah induk (master problem/MP) dari masalah ini merupakan masalah pemilihan himpunan assignment yang sesuai dengan model (18) – (22), yaitu:
Minimumkan
∑ ∑
∑
∈ ∈ ∈ + B b b S s k K s k s kx d y c s terhadap∑ ∑
+ =1 ∈ ∈ b S s k K s k y x s b , ∀b∈B 1 ≤∑
∈Ks k s k x , ∀s∈S 0 ≥ s k x , ∀s∈S,∀k∈Ks 0 ≥ b y , ∀b∈B Masalah induk merupakan masalah PL- relaksasi. Dalam teknik pembangkitan kolom digunakan pemrograman linear masalah induk terbatas (Restricted Master Problem/RMP), yaitu pemrograman linear yang hanya menggunakan sebagian variabel dari MP. Variabel (kolom) yang belum digunakan dalam RMP dibangkitkan berdasarkan nilai variabel dual yang diperoleh dari masalah induk. Oleh karena itu, diperkenalkan variabel dual λb(b∈B) dan µs(s∈S) berturut-turut untuk kendala (19) dan (20).Biaya tereduksi dari suatu PL dapat diperoleh dari masalah dual PL tersebut. Misalkan Bks adalah himpunan blok dari assignment k yang diparkir pada rel s.
Dengan informasi ini, masalah dual dari masalah induk (23) adalah:
Maksimumkan
∑ ∑
∈ ∈ + s k B b s S s b µ λ terhadap s k s B b b c s k ≤ +∑
∈ µ λ , ∀s∈S,k∈Ks (24) b λ λ λ1, 2,..., takterbatas 0 ,..., , 2 1 µ µs ≤ µBerdasarkan pemaparan bukti dari Teorema Dualitas Kuat (Nash & Sofer, 1996), kondisi optimal primal yang merupakan biaya tereduksi adalah ekivalen dengan kondisi fisibel pada masalah dual. Sehingga kendala (24) merupakan biaya tereduksi dari masalah induk (23).
Misalkan biaya tereduksi tersebut dinotasikan dengan cks , maka sesuai dengan kendala (24) : s s B b b s k s k c s S k K c s k ∈ ∈ ∀ − − =
∑
∈ , , µ λ (25)Persamaan (25) mewakili biaya tereduksi dari assignment k pada rel pelangsiran s.
Selanjutnya akan didiskusikan representasi network untuk masalah penetapan blok pada rel pelangsiran dan akan diberikan teknik pembangkitan kolom untuk optimisasi penetapan blok pada rel pelangsiran.
Hasil dari algoritme ini adalah sebuah himpunan kolom atau himpunan assignment untuk suatu rel pelangsiran.
4.1 Representasi Network dari Masalah Penetapan Blok pada Rel Pelangsiran Representasi network digunakan untuk membangkitkan assignment-assignment pada satu rel pelangsiran. Misalkan F adalah himpunan tipe pendekatan yang berbeda dari dan ke suatu rel pelangsiran. Untuk suatu jalur-satu-arah, F hanya mengandung satu elemen, yaitu datang dari dan berangkat ke arah yang sama, baik kiri (LL) atau kanan (RR). Sedangkan untuk suatu jalur-bebas , F mengandung 4 elemen:
§ Datang dari kiri dan berangkat ke kiri (LL)
§ Datang dari kiri dan berangkat ke kanan (LR)
§ Datang dari kanan dan berangkat ke kiri (RL)
§ Datang dari kanan dan berangkat ke kanan (RR)
Untuk memudahkan pembentukan assignment pada tulisan ini diasumsikan
bahwa himpunan blok B yang perlu diparkir disusun secara berurutan berdasarkan waktu kedatangan.
Setiap blok b∈B diwakili oleh suatu lapisan ke -b dalam suatu rel pelangsiran atau disebut juga sebagai lapisan Lb yang terdiri dari simpul-simpul nbf dengan
F
f∈ dan simpul nnotb yang berpadanan dengan tidak diparkirnya suatu blok b pada rel.
Simpul-simpul pada network memuat sebuah simpul sumber o, sebuah simpul tujuan t dan untuk setiap blok b terdapat lapisan Lb. Karena blok-blok disusun secara berurutan berdasarkan waktu kedatangan, maka blok yang pertama kali harus diparkir di rel pelangsiran diwakili oleh lapisan L1,
blok yang kedua datang diwakili oleh lapisan L2, dan seterusnya.
Sisi-sisi berarah pada network ini diarahkan dari simpul sumber ke setiap simpul pada lapisan pertama, dari setiap simpul di lapisan terakhir ke simpul tujuan, dan antara dua simpul pada lapisan-lapisan yang berturutan antara simpul sumber dan simpul tujuan jika blok-blok yang berhubungan dapat diparkir pada suatu rel tanpa terjadi crossing. Sisi yang menghasilkan crossing dikatakan sisi yang takfisibel.
Misalkan didefinisikan B− sebagai himpunan dari blok tanpa adanya crossing, kemudian didefinisikan sebuah network
) , (N A
G= yang telah dijelaskan di atas sebagai :
{ }
U
B b bo
t
L
N
∈∪
=
,
(26)(
)
{
1 1 , , : , + ∈ − ∈ ∈ + = b b b j b i n b B i L j L n A dan(
1)
, bj+ b i n n adalah fisibel}∪ (27)
( )
{
o,n1 :i∈L1}
∪ i ∈ B B j t j L n , :(28)
dengan B adalah banyaknya anggota(kardinalitas) himpunan B.
Pada Gambar 8 diilustrasikan network dengan 3 blok untuk sebuah jalur-bebas . Network ini mewakili rencana pemarkiran dari 3 blok yang datang ke peron kedatangan dengan rencana pelangsiran pada Tabel 1 untuk sebuah jalur-bebas.
G :
L1 L2 L3
Gambar 8. Contoh dari sebuah network untuk jalur-bebas dengan 3 blok.
Pada Gambar 8, berdasarkan waktu kedatangan seperti yang telah diberikan pada Tabel 1 lapisan L1 mewakili blo k 1 yaitu
Kereta 3628, lapisan L2 mewakili blok 2
yaitu Kereta 561, dan lapisan L3 mewakili
blok 3 yaitu Kereta 3678. Sisi-sisi berarah yang dicetak tebal dalam gambar ini mewakili sebuah path dalam network ini. Path ini membentuk sebuah asssignment di mana semua blok diparkir di rel. Dalam hal ini assignment yang terbentuk adalah blok pertama datang dari kiri dan berangkat dari sisi kanan, sedangkan blok kedua datang dan berangkat dari sisi kiri, dan blok ketiga datang dan berangkat dari sisi kanan. Assignment ini adalah assignment yang tidak mengandung crossing karena tidak me muat sisi-sisi berarah yang takfisibel.
Sebagai contoh, tidak ada sisi berarah dari simpul ’RR’ di lapisan L2 ke simpul
’RR’ di lapisan L3. Karena jika Kereta 561
dan Kereta 3678 datang dan berangkat dari rel pelangsiran melalui sisi kanan, maka Kereta 561 yang harus berangkat lebih dulu daripada Kereta 3678 akan tertutup dari sisi kanan rel. Hal ini akan menyebabkan sisi berarah menghasilkan crossing atau dikatakan sisi berarah yang takfisibel seperti yang telah diilustrasikan pada Gambar 5 yang selanjutnya akan menghasilkan assignment yang takfisibel.
Simpul ’not’ pada setiap blok mengandung arti setiap blok memiliki kemungkinan untuk tidak diparkir pada rel tersebut. Jika path yang terbentuk adalah o- not-not-not-t, maka dalam contoh di atas tidak ada satu pun blok yang diparkir pada rel ini.
Ongkos-ongkos didefinisikan pada sisi- sisi berarah dari network. Ongkos dari sebuah sisi berarah mewakili ongkos dari simpul ke mana sisi berarah tersebut diarahkan, yang merupakan ongkos dari penetapan blok tertentu ke rel pelangsiran tertentu, yang datang dari dan berangkat ke rel ini baik lewat sisi kiri atau kanannya. Ongkos rute blok-blok yang menyusun suatu path dari rel di depan peron kedatangan ke rel pelangsiran tertentu dan kembali ke rel di depan peron keberangkatan.
Sebagai contoh, ongkos pada sisi berarah dari simpul sumber o ke LL pada lapisan L1 adalah ongkos pelangsira n blok
pertama yang datang dari rel di depan peron ke rel pelangsiran melalui sisi kiri dan berangkat dari rel ini lewat sisi kiri pula. Ongkos-ongkos pada sisi-sisi berarah ke simpul tujuan t menyatakan penggunaan dari suatu rel pelangsiran s.
Semua path yang terbentuk pada network mewakili assignment yang tidak mengandung crossing. Sebuah path dalam
LL LL LL LR LR LR RL RL RL RR not not not RR RR
o
t
network mewakili assignment fisibel terhadap rel jika beberapa kendala tambahan terpenuhi. Kendala-kendala ini berhubungan dengan panjang dari blok-blo k pada rel serta waktu kedatangan dan keberangkatannya.
4.2 Memeriksa Kefisibelan Suatu Assignment dengan Menggunakan Algoritme Pemrograman Dinamik Assignment-assignment yang diperoleh dari representasi network pada bagian 4.1 belum tentu fisibel, karena kefisibelan suatu assignment juga harus memenuhi syarat bahwa panjang total dari blok yang menyusun suatu assignment tidak boleh melebihi panjang rel yang digunakan. Artinya banyaknya gerbong kereta suatu assignment tidak boleh melebihi banyaknya gerbong kereta maksimum yang dapat dimuat pada suatu rel pelangsiran. Untuk memeriksa kefisibelan suatu assignment digunakan algoritme pemrograman dinamik. Misalkan didefinisikan Pi sebagai
himpunan path fisibel (o-i) di G. Selain itu didefinisikan pula l(i,..., j) sebagai panjang dari path (i,..., j)dengan i adalah simpul pertama dan j adalah simpul terakhir dalam suatu path di graf G, serta bj sebagai predesesor dari simpul j pada graf G. Untuk memeriksa kefisibelan suatu assignment digunakan algoritme pemrograman dinamik dengan prosedur sebagai berikut:
Untuk setiap simpul i∈N Untuk setiap path p∈Pi
Untuk setiap sisi berarah i,j∈A
)) , ( (pi j CheckRules Pjnew =
Jika Pjnew ada, maka
) , (Pj Pjnew List UpdatePath End End End
Dalam fungsi CheckRules(p(i,j)), beberapa aturan diperiksa untuk menentukan apakah path baru yang diperoleh dengan menambahkan sisi berarah (i,j) pada path p adalah fisibel. Jika path tersebut fisibel, maka path yang diperluas tadi menjadi sebuah path baru yang dinamakan Pjnew. Karena path-path yang terbentuk pada graf G sudah membentuk assignment-assignment yang tidak mengandung crossing, oleh karena itu dalam algoritme ini untuk
memeriksa kefisibelan suatu assignment tinggal diperiksa panjang assignmentnya saja. Jika l(i,..., j) ≤ r, maka path
) ,...,
(i j akan membentuk assignment fisibel, dengan r adalah panjang dari suatu rel s. Sebaliknya jika l(i,..., j) > r, maka path
) ,...,
(i j akan membentuk assignment takfisibel.
Selain itu perlu pula memeriksa kedominanan suatu path. Sebuah path pi
dikatakan didominasi oleh path pj (atau
dikatakan path pj lebih baik daripada path
pi) jika beberapa kendala pada path pi lebih
baik daripada kendala pada path pj. Sebagai
contoh, jika terdapat 2 path p1 dan p2 yang
memiliki total panjang blok yang sama pada rel tertentu namun path p1 memerlukan
biaya lebih besar daripada path p2, maka
path p1 dikatakan didominasi oleh path p2.
Pemeriksaan kedominanan suatu path