Kereta-api- datang
Gambar 4. Situasi di rel pelangsiran pada Selasa pukul 06:00. Pada Gambar 4, Kereta 3628 berangkat
dari peron 5A ke rel pelangsiran melalui salah satu sisi rel. Kemudian dari peron 3B
Kereta 561 memasuki rel pelangsiran melalui sisi kiri rel, sedangkan Kereta 3678
berangkat dari peron 5A ke rel pelangsiran melalui sisi kanan rel. Kereta 561 dan 3678
tidak dapat memasuki rel pelangsiran dari sisi yang sama baik kiri maupun kanan.
Gamb ar 5 menggambarkan situasi di rel pelangsiran Selasa pukul 06:00 jika unit-unit
dari Kereta 561 dan 3678 memasuki rel pelangsiran melalui sisi yang sama dalam
contoh ini melalui sisi kanan rel.
Gambar 5. Situasi di rel pelangsiran pada Selasa pukul 06:00 jika Kereta 561 dan Kereta 3678 memasuki rel pelangsiran melalui sisi yang sama.
Pada Gambar 5, Kereta 520 yang harus berangkat lebih dulu daripada Kereta 3629
akan tertutup dari kedua sisi rel oleh Kereta 3628 dan Kereta 3678. Hal ini disebut
crossing dan tidak diperbolehkan karena akan menyulitkan proses pemberangkatan
kereta. Selanjutnya, dalam kasus ini Kereta 3628 dan Kereta 3678 yang akan
membentuk Kereta-api-berangkat 3629 tidak dapat diparkir berdekatan pada rel
pelangsiran yang sama. Hal ini juga akan menyulitkan proses pelangsiran pada pagi
hari. Jika rel berupa jalur-bebas , crossing hanya dapat dihindari dengan memarkir
beberapa unit pada rel yang berbeda.
3.2 Pendekatan Solusi
Untuk mencari solusi dari masalah pelangsiran secara utuh adalah hal yang
rumit. Oleh karena itu, untuk memudahkan pencarian solusi dari masalah pelangsiran,
pendekatan solusi dipecah ke dalam dua submasalah.
Langkah pertama adalah proses pemadanan dari sejumlah unit kereta-api-
datang menjadi unit kereta-api-berangkat. Setiap unit kereta-api-datang ditetapkan
menjadi unit kereta-api-berangkat.
Misalkan berdasarkan tabel waktu pada Tabel 1, unit kereta-api-datang dengan
subtipe MAT64_4 dari Kereta 3628 ditetapkan menjadi unit kereta-api-berangkat
Kereta 3629 Kereta 520
MAT 64_2
MAT 64_2
MAT 64_4
ICM_3 ICM_4
Kereta 561 Kereta 3628
Kereta 3678
MAT 64_2
MAT 64_2
ICM_3 ICM_4
Kereta 3629 Kereta 3628
Kereta 561 Kereta 3678
MAT 64_4
Kereta 520 Kereta-api-
berangkat
Kereta-api- datang
Kereta-api- berangkat
Kereta 3629
dengan subtipe yang sama dari Kereta 3629. Hal yang perlu diperhatikan bahwa unit
kereta-api-datang dan unit kereta-api-
berangkat dari suatu kereta tertentu adalah dua unit kereta dari subtipe yang sama,
hanya saja penamaan keretanya yang berbeda. Pada contoh ini kereta yang datang
dinamakan Kereta 3628, sedangkan kereta yang berangkat dinamakan Kereta 3629.
Hasil dari langkah ini adalah himpunan gabungan dari satu atau lebih unit kereta
yang digunakan secara bersama-sama selama periode tertentu yang didefinisikan
sebagai blok. Sebagai contoh, unit kereta ICM_4 dan ICM_3 dalam Gambar 4
membentuk sebuah blok karena kedua unit ini digunakan secara bersama-sama pada
Kereta 561. Unit kereta ICM_3 dan MAT64_4 tidak membentuk blok karena
kedua unit ini tidak digunakan secara bersama-sama dalam pembentukan suatu
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 dummysimpul 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
n m
C , 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.
1 2
3
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-datang
u
i
= 0, selainnya
1, jika part j
∈
J digunakan pada suatu kereta-api-berangkat
v
j
= 0, selainnya
1, jika part i
∈
I ditetapkan menjadi part j
∈
J z
ij
= 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 w
ij
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 1
a
T t
∈ ∀
11
∑
+
∈
−
t h
A i
i
u
∑
−
∈
=
t h
A i
i
u
,
−
∈ ∀
∈ ∀
t a
C h
T t
,
12
1 =
∑
+
∈
t
A j
j
v
d
T t
∈ ∀
13
∑
+
∈
−
t h
A j
j
v =
∑
−
∈
t h
A j
j
v
,
−
∈ ∀
∈ ∀
t d
C h
T t
,
14
i J
j ij
u z
i
=
∑
∈
I i
∈ ∀
15
j I
i ij
v z
j
=
∑
∈
J j
∈ ∀
16
{ }
1 ,
, ,
∈
j i
ij
v u
z J
j I
i ∈
∀ ∈
∀ ,
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 menjamin
1 2
3
tercovernya 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 K
s
adalah himpunan assignment fisibel pada rel s
∈
S dan
s b
K
adalah himpunan assignment fisibel pada rel s
∈
S yang mengandung blok b
∈
B. Kemudian didefinisikan variabel-
variabel biner berikut: 1, jika assignment fisibel k
∈
K
s
digunakan pada rel pelangsiran s
∈
S
=
s k
x
0, selainnya 1, jika blok b
∈
B tidak diparkir pada rel pelangsiran s
∈
S =
b
y 0, selainnya
Misalkan
s k
c
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
k
y d
x c
s
18 terhadap
1 =
+
∑ ∑
∈ ∈
b S
s K
k s
k
y x
s b
, B
b ∈
∀ 19
1 ≤
∑
∈
s
K k
s k
x ,
S s
∈ ∀
20
{ }
1 ,
∈
s k
x
,
s
K k
S s
∈ ∀
∈ ∀
, 21
{ }
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 dapat mempunyai 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 problemMP
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
k
y d
x c
s
terhadap
1 =
+
∑ ∑
∈ ∈
b S
s K
k s
k
y x
s b
, B
b ∈
∀ 1
≤
∑
∈
s
K k
s k
x ,
S s
∈ ∀
≥
s k
x
,
s
K k
S s
∈ ∀
∈ ∀
, ≥
b
y ,
B b
∈ ∀
Masalah induk merupakan masalah PL- relaksasi.
Dalam teknik pembangkitan kolom digunakan pemrograman linear
masalah induk terbatas Restricted Master
ProblemRMP, 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
s k
B
adalah himpunan blok dari assignment k yang diparkir pada rel s.
Dengan informasi ini, masalah dual dari masalah induk 23 adalah:
23
Maksimumkan
∑ ∑
∈ ∈
+
s k
B b
S s
s b
µ λ
terhadap
s k
s B
b b
c
s k
≤ +
∑
∈
µ λ
,
s
K k
S s
∈ ∈
∀ ,
24
b
λ λ
λ ,...,
,
2 1
takterbatas ,...,
,
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
s k
c
, maka sesuai dengan kendala 24 :
s s
B b
b s
k s
k
K k
S s
c 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
b
L yang terdiri dari simpul-simpul
b f
n dengan F
f ∈
dan simpul
b not
n
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
b
L . Karena blok-blok disusun secara berurutan berdasarkan waktu kedatangan,
maka blok yang pertama kali harus diparkir di rel pelangsiran diwakili oleh lapisan L
1
, blok yang kedua datang diwakili oleh
lapisan L
2
, 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 ,
A N
G =
yang telah dijelaskan di atas sebagai :
{ }
U
B b
b
t o
L N
∈
∪ =
,
26
{
1 1
, ,
: ,
+ −
+
∈ ∈
∈ =
b b
b j
b i
L j
L i
B b
n n
A dan
1
,
+ b
j b
i
n n
adalah fisibel
}
∪
27
{ }
∪ ∈
1 1
: ,
L i
n o
i
∈
B B
j
L j
t 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 : L
1
L
2
L
3
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 L
1
mewakili blo k 1 yaitu Kereta 3628, lapisan L
2
mewakili blok 2 yaitu Kereta 561, dan lapisan L
3
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 L
2
ke simpul ’RR’ di lapisan L
3
. 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 L
1
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 P
i
sebagai himpunan path fisibel o-i di G. Selain itu
didefinisikan pula ,...,
j i
l sebagai panjang
dari path ,...,
j i
dengan i adalah simpul pertama dan j adalah simpul terakhir dalam
suatu path di graf G, serta
j
b
sebagai predesesor dari simpul j pada graf G. Untuk
memeriksa kefisibelan suatu assignment digunakan algoritme pemrograman dinamik
dengan prosedur sebagai berikut: Untuk setiap simpul
N i
∈ Untuk setiap path
i
P p
∈ Untuk setiap sisi berarah
A j
i ∈
,
, j
i p
CheckRules P
new j
= Jika
new j
P ada, maka
,
new j
j
P P
List UpdatePath
End End
End Dalam fungsi
, j
i p
CheckRules ,
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
new j
P .
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 ,...,
j i
l
≤
r, maka path
,..., j
i akan membentuk assignment fisibel,
dengan r adalah panjang dari suatu rel s. Sebaliknya jika
,..., j
i l
r, maka path ,...,
j i
akan membentuk assignment
takfisibel. Selain itu perlu pula memeriksa
kedominanan suatu path. Sebuah path p
i
dikatakan didominasi oleh path p
j
atau dikatakan path p
j
lebih baik daripada path p
i
jika beberapa kendala pada path p
i
lebih baik daripada kendala pada path p
j
. Sebagai contoh, jika terdapat 2 path p
1
dan p
2
yang memiliki total panjang blok yang sama pada
rel tertentu namun path p
1
memerlukan biaya lebih besar daripada path p
2
, maka path p
1
dikatakan didominasi oleh path p
2
. Pemeriksaan kedominanan suatu
path dilakukan pada simpul-simpul di blo k
terakhir dalam suatu graf. Hal ini dikarenakan, suatu
path baru dapat dibandingkan dengan path lainnya jika
proses pemeriksaan kefisibelan suatu path telah selesai dilakukan. Selanjutnya path
yang didominasi tidak diperhitungkan dalam proses pembangkitan kolom, sehingga tidak
perlu dicari biaya tereduksinya.
4.3 Teknik Pembangkitan Kolom untuk
Optimisasi Penetapan Block pada Rel Pelangsiran
Misalkan RMP pada langkah tertentu j, dinotasikan dengan RP
j
dapat dinyatakan sebagai:
Minimumkan
∑ ∑ ∑
∈ ∈
∈
+
B b
b S
s K
k s
k s
k
y d
x c
s j
terhadap 1
= +
∑ ∑
∈ ∈
b S
s K
k s
k
y x
j s
b
, B
b ∈
∀ 1
≤
∑
∈
s j
K k
s k
x ,
S s
∈ ∀
≥
s k
x
,
s j
K k
S s
∈ ∀
∈ ∀
, ≥
b
y ,
B b
∈ ∀
{ }
s s
s s
s j
k k
K K
,..., 2
, 1
,..., ,...
2 ,
1
1 1
1
= ⊆
, dengan k
s
menyatakan assignment k pada rel pelangsiran s. Himpunan
s j
K
menyatakan himpunan indeks elemen K
s
yang dipilih. Misalkan
{ }
3 3
2 2
2 1
1 1
5 ,
2 ,
7 ,
4 ,
2 ,
5 ,
3 ,
1 =
s
K
merupakan himpunan assignment fisibel k pada rel s. Kemudian misalkan dipilih
assignment 1 pada rel 1, assignment 4 pada
rel 2, dan assignment 2 pada rel 3 pada suatu RP
j
, maka assignment tersebut diurutkan
kembali sebagai
{ }
3 2
1
1 ,
1 ,
1 =
s j
K . Teknik
pembangkitan kolom untuk optimisasi penetapan blok pada rel pelangsiran yang
dimodifikasi dari teknik serupa dalam Lavoie et al., 1988 adalah sebagai berikut:
a. Membangun data input