I PENDAHULUAN
1.1 Latar Belakang
Pada jam-jam tertentu, dalam suatu stasiun kereta api terdapat kereta api penumpang yang tidak dioperasikan untuk mengangkut penumpang. Perusahaan kereta api harus melakukan kegiatan pelangsiran agar kereta api dapat beroperasi dengan baik. Kegiatan pelangsiran ini meliputi pendataan kereta api yang datang ke stasiun kereta api menjadi kereta api yang berangkat dari stasiun kereta api, pemarkiran kereta-api-datang pada rel-rel pelangsiran, pemeliharaan kereta, serta perencanaan pekerja yang akan melakukan kegiatan pelangsiran.
Dua proses penting dalam masalah pelangsiran adalah pendataan unit kereta-api-datang (arriving shunt unit ) yang harus diparkir di tempat pelangsiran menjadi unit kereta-api-berangkat (departing shunt unit) yang harus diberangkatkan dari tempat pelangsiran, serta pemarkiran unit-unit kereta api pada rel pelangsiran.
Dalam praktiknya, kegiatan pelangsiran adalah suatu masalah yang sangat kompleks yang harus dihadapi oleh perusahaan kereta api. Masalah pelangsiran ini telah banyak dibahas dan dipelajari, di antaranya dalam
(Freling et al., 2000) dan (Lentink et al., 2003).
Penyelesaian dari masalah pelangsiran ini dapat menggunakan algoritme simpleks, namun akan membutuhkan waktu yang lama karena banyaknya variabel yang harus diselesaikan. Pada tulisan ini digunakan teknik pembangkitan kolom. Teknik pembangkitan kolom merupakan teknik yang telah banyak digunakan untuk menyelesaikan masalah dalam bidang transportasi dan penjadwalan. Salah satunya dikenalkan dalam (Barnhart et al., 1998) yang menggunakan teknik pembangkitan kolom dalam konteks pemrograman bilangan bulat. Tulisan ini merupakan rekonstruksi dari tulisan Richard Frelling, Ramon M. Lentink, Leo G. Kroon & Dennis Huisman (2002) yang berjudul “ Shunting of passenger train units in a railway station”. 1.2 Tujuan
Tujuan penulisan karya ilmiah ini adalah mempelajari penyelesaian masalah pelangsiran unit kereta penumpang pada stasiun kereta api dengan menggunakan teknik pembangkitan kolom (column generation).
II LANDASAN TEORI
2.1 Pemrograman Linear
Pemrograman linear adalah kegiatan merencanakan untuk mendapatkan hasil yang optimal. Model Pemrograman Linear (PL) meliputi pengoptimuman suatu fungsi linear terhadap kendala linear (Hillier & Lieberman, 1990).
Pada tulisan ini, suatu PL mempunyai bentuk standar seperti yang didefinisikan sebagai berikut:
Definisi 1 (Bentuk Standar Suatu PL) Suatu pemrogra man linear dalam bentuk standar didefinisikan sebagai: Minimumkan z=cTx
terhadap Ax=b
0 ≥
x (1)
dengan x dan c berupa vektor berukuran n, vektor b berukuran m, sedangkan A berupa
matriks berukuran m×n yang disebut juga sebagai matriks kendala.
(Nash & Sofer, 1996)
2.1.1 Solusi suatu Pemrograman Linear Untuk menyelesaikan suatu masalah Pemrograman Linear (PL), metode simpleks merupakan salah satu metode yang dapat menghasilkan solusi optimum. Metode ini mulai dikembangkan oleh Dantzig tahun 1947. Sejak perkembangannya, metode ini adalah metode yang paling umum digunakan untuk menyelesaikan PL, yaitu berupa metode iteratif untuk menyelesaikan masalah PL dalam bentuk standar.
Pada PL (1), vektor x yang memenuhi kendala Ax=b disebut sebagai solusi PL (1). Misalkan matriks A dapat dinyatakan sebagai A = (B N) dengan B adalah matriks berukuran m×m yang merupakan matriks
taksingular yang elemennya berupa koefisien variabel basis dan N adalah matriks yang elemennya berupa koefisien variabel nonbasis pada matriks kendala . Matriks B disebut matriks basis untuk PL.
Misalkan x dapat dinyatakan sebagai
vektor = N B x x
x , dengan xB adalah vektor variabel basis dan xN adalah vektor variabel nonbasis. Maka Ax=b dapat dinyatakan sebagai
(
)
= N B x x x B N A =BxB +NxN =b. (2)Karena B adalah matriks taksingular, maka B memiliki invers, sehingga dari (2) xB dapat dinyatakan sebagai:
xB =B−1b−B−1NxN (3)
Definisi 2 (Solusi Basis)
Vektor x disebut solusi basis dari suatu pemrograman linear jika :
1. x memenuhi kendala dari PL, dan 2. kolom-kolom pada matriks kendala
yang berkorespondensi dengan komponen taknol dari x adalah bebas linear.
(Nash & Sofer, 1996) Definisi 3 (Solusi Basis Fisibel)
Vektor x disebut solusi basis fisibel jika x merupakan solusi bas is dan x≥0.
(Nash & Sofer, 1996) Ilustrasi solusi basis dan solusi basis fisibel dapat dilihat dalam contoh berikut:
Contoh 1
Misalkan diberikan pemrograman linear berikut: Minimumkan z=−2x1−3x2 terhadap −2x1+x2+x3 =4 −x1 +2x2+x4 =11 x1+x5 =5 x1,x2,x3,x4,x5≥0 (4) Dari pemrograman linear tersebut didapatkan: A = − − 1 0 0 0 1 0 1 0 2 1 0 0 1 1 2 , b = 5 11 4 . Misalkan dipilih
(
)
T x x x3 4 5 = B x dan xN =(
x1 x2)
Tmaka matriks basis
= 1 0 0 0 1 0 0 0 1 B .
Dengan menggunakan matriks basis tersebut diperoleh
(
)
T B b x =B−1 = 4 11 5 ,(
)
T 0 0 = N x . (5) Solusi (5) merupakan solusi basis, karena solusi tersebut memenuhi kendala pada PL (4) dan kolom-kolom pada matriks kendala yang berkorespondens i dengan komponen taknol dari (5) yaitu B adalah bebas linear (kolom yang satu bukan merupakan kelipatan dari kolom yang lain). Solusi (5) juga merupakan solusi basis fisibel, karena nilai-nilai variabelnya lebih dari atau sama dengan nol.PL (1) dapat dinyatakan dalam xB dan xN sebagai berikut: Minimumkan z=cBTxB+cNTxN (6) terhadap BxB +NxN =b 0 ≥ x
dengan cBadalah koefisien variabel basis pada fungsi objektif, cN adalah koefisien variabel nonbasis pada fungsi objektif.
Jika Persamaan (3) dis ubstitusikan ke Persamaan (6) maka akan didapat:
(
N)
N N B b x c x c T T z= B−1 −B−1N + =cBTB−1b+(
cNT −cBTB−1N)
xN. Jika didefinisikan(
cB)
cB y= TB−1 T =B−Tmaka z dapat dinyatakan dalam y :
z= yTb+
(
cNT −yTN)
xN. (7) Vektor y disebut vektor pengali simpleks (simplex multiplier).Untuk suatu solusi basis xN =0 dan b b xB 1 ˆ= − = B , maka: b cB 1 ˆ= TB− z .
Notasi zˆadalah notasi untuk z optimal. Koefisien cˆj disebut biaya tereduksi (reduced cost) dari xj dengan cˆj adalah elemen dari cˆNT =
(
cNT −cBTB−1N)
. Biaya tereduksi adalah penambahan nilai fungsi objektif jika suatu variabel nonbasisdijadikan variabel basis (artinya menjadi solusi taknol) pada suatu pemrograman linear.
2.1.2 Penyelesaian Pemrograman Linear dengan Algoritme Simpleks
Solusi suatu pemrograman linear dapat diketahui optimal atau tidak untuk PL tersebut melalui algoritme sebagai berikut:
• Tes Keoptimalan
Vektor y=cBTB−1 dihitung,
kemudian dapat dihitung pula nilai biaya tereduksi cˆNT =
(
cNT −yTN)
.Jika cˆNT ≥0 maka solusi yang
diperoleh adalah solusi optimal.
Jika cˆNT <0 maka dipilih variabel xt yang memenuhi cˆt <0sebagai variabel-masuk yaitu variabel xt yang akan masuk ke dalam basis.
• Langkah tertentu t
Hitung Aˆt =B−1At, yaitu koefisien kendala yang berhubungan dengan variabel-masuk ke t. Indeks s ditentukan pada kolom kendala yang berhubungan dengan variabel-masuk yang memenuhi
= t s s a b , ˆ m i≤ ≤ 1 min >0 ; ˆ , , t i t i i a a b .
Memilih indeks dengan cara tersebut disebut dengan uji nisbah minimum (minimum ratio test).
Variabel yang menjadi variabel-keluar (variabel yang akan keluar dari basis dan digantikan oleh variabel-masuk) dan pivot entry adalah variabel yang berpadanan dengan aˆs,t.
Jika aˆi,t ≤0, 1≤i≤m untuk semua i, maka masalah PL disebut takterbatas .
• Pivot
Matriks basis B dan vektor basis xB diperbaiki, kemudian dilanjutkan ke tes keoptimalan.
Berikut contoh penggunaan algoritme simpleks:
Contoh 2
Misalkan diberikan PL (4) seperti pada Contoh 1, maka dengan menggunakan algoritme simpleks akan diperoleh solusi:
0 , 6 , 8 , 5 2 3 4 5 1= x = x = x =x = x
dengan z=−34 (lihat Lampiran 1). 2.2 Masalah Dual
Setiap masalah pemrograman linear memiliki padanan, yaitu masalah lain yang disebut pemrograman linear dual. Pemrograman linearnya sendiri disebut masalah primal. Misalkan diberikan masalah primal: Minimumkan z=cTx terhadap Ax≥b 0 ≥ x . (8) Masalah dual dari (8) adalah
Maksimumkan w=bTy
terhadap ATy≤c 0 ≥
y . (9) Jika masalah primal memiliki n variabel dan m kendala, maka masalah dual akan memiliki m variabel dan n kendala. Koefisien fungsi objektif masalah primal merupakan nilai sisi kanan pada masalah dual, begitu pula sebaliknya. Jika masalah primal merupakan masalah minimisasi maka masalah dual merupakan masalah maksimisasi.
Solusi optimal dari masalah dual merupakan pengali simpleks pada masalah primal. Pada kondisi optimal, solusi dari masalah dual dan masalah primal akan menghasilkan nilai fungsi objektif yang sama. Hal ini disebutkan dalam Teorema Dualitas Kuat, namun sebelumnya perlu diperkenalkan pula Teorema Dualitas Lemah yang akan digunakan untuk membuktikan Teorema Dualitas Kuat.
Teorema 1 (Teorema Dualitas Lemah) Misalkan diberikan pemrograman linear primal dan masalah dualnya. Misalkan x adalah solusi fisibel untuk masalah primal dalam bentuk standarnya dan misalkan y solusi fisibel untuk masalah dual, maka nilai fungsi objektif dari masalah primal selalu lebih besar atau sama dengan nilai fungsi objektif dari masalah dual.
Bukti: lihat (Nash & Sofer, 1996).
Salah satu akibat langsung dari Teorema Dualitas Lemah digunakan untuk membuktikan Teorema Dualitas Kuat. Hal ini disebutkan dalam Akibat 1 berikut:
Akibat 1
Jika x adalah solusi fisibel untuk masalah primal, y adalah solusi fisibel untuk masalah dual, dan bTy=cTx, maka x dan y adalah solusi optimal berturut-turut untuk masalah primal dan dual.
Teorema 2 (Teorema Dualitas Kuat) Misalkan diberikan pemrograman linear primal dan masalah dualnya. Jika salah satu dari masalah primal atau masalah dual tersebut memiliki solusi optimal, maka masalah lainnya juga memiliki solusi optimal dan nilai fungsi objektif optimalnya adalah sama.
Bukti:
Misalkan diasumsikan bahwa masalah primal dalam bentuk standar dan mempunyai solusi x yang merupakan solusi basis fisibel optimal. Misalkan x dapat
dinyatakan sebagai vektor
= N B x x x ,
dengan xB adalah vektor variabel basis dan xN adalah vektor variabel nonbasis.
Selain itu, seperti telah dijelaskan sebelumnya matriks A dapat dinyatakan sebagai A=
(
B N)
dan matriks koefisien pada fungsi objektif c dapat dinyatakansebagai = N B c c
c . Karena B adalah matriks taksingular, maka B memiliki invers sehingga xB dapat dinyatakan sebagai
b xB =B−1 .
Dari tes keoptimalan pada algoritme simpleks diketahui pula, jika solusi x optimal maka biaya tereduksinya adalah
0 N B ≥ − T −1 B T N c c ataucTBB−1N≤cTN (*) Misalkan y adalah vektor dari pengali simpleks yang berhubungan dengan solusi basis fisibel, dengan y=B−TcB atau
.
1
−
= TBB
T c
y Akan ditunjukkan bahwa: 1) Nilai dari fungsi objektif masalah
primal dan dual adalah sama, yaitu
x c y
bT = T , dan
2) y adalah optimal untuk masalah dual.
Bukti:
1) Sebelumnya akan diperiksa terlebih dahulu kefisibelan dari y :
A T y =cTBB−1
(
B N)
(
B−1N)
= T B T B c c ≤(
cTB cTN)
..dari (*) = cT.Sehingga ATy≤cdan y fisibel untuk masalah dual, kemudian dihitung nilai objektif untuk masalah primal (z) dan dual (w): b c x c x cT = TB B = TB −1 = B z z w=bTy= yTb=cTBB−1b= . Jadi y adalah fisibel untuk masalah dual dan nilai fungsi objektif solusi optimal dari masalah primal dan dual mempunyai nilai yang sama.
2) Berdasarkan Akibat 1 dan bTy=cTx
maka y adalah solusi optimal untuk masalah dual. <
Bukti dari Teorema Dualitas Kuat menghasilkan solusi optimal dual. Misalkan
= N B x x x , A=
(
B N)
, dan = N B c c cmaka nilai optimal dari variabel dual diberikan oleh vektor pengali simpleks
B
c y=B−T .
Dari bukti teorema dualitas kuat terlihat bahwa kondisi primal optimal
0 N B ≥ − T −1 B T N c c
adalah ekivalen dengan kondisi fisibel dual
c y≤
T
A atau c−ATy≥0. Jadi vektor dari biaya tereduksi cˆ adalah variabel slack dual
y c
cˆ= −AT . Contoh 3
Misalkan diberikan pemrograman linear primal sebagai berikut:
Minimumkan 5 4 3 2 1 7 9 7 5 5x x x x x z= + + + + terhadap x1+x2 ≥1 1 4 3 1+x +x ≥ x 1 4 3 2+x +x ≥ x 1 5 1+x ≥ x 1 3 2+x ≥ x 1 5 4 3+x +x ≥ x 1 4≥ x 0 ≥ i x , untuk i=
{
1,2,3,4,5}
.Masalah dual dari masalah tersebut adalah sebagai berikut:
Maksimumkan 7 6 5 4 3 2 1 y y y y y y y w= + + + + + + terhadap y1+y2+y4 ≤5 7 5 3 1+y +y ≤ y 9 6 5 3 2 +y +y +y ≤ y 7 7 6 3 2 +y +y +y ≤ y 5 6 4 +y ≤ y 0 ≥ i y , untuk i=
{
1,2,3,4,5,6,7}
.Dengan menggunakan LINDO 6.1, diperoleh solusi dari masalah primal sebagai berikut: , 1 4 2 1= x =x = x x3= x5 =0
dengan nilai fungsi objektifnya z=19(lihat Lampiran 2). Nilai pengali simpleks untuk masing-masing kendala adalah sebagai berikut: 7 , 5 , 0 4 5 7 6 3 2 1=y = y =y = y = y =y = y
dengan yi adalah nilai pengali simpleks kendala ke -i.
Solusi dari masalah dual tersebut juga dapat dicari menggunakan LINDO 6.1 yang menghasilkan solusi: 7 , 5 , 0 4 5 7 6 3 2 1= y = y =y = y = y =y = y
dengan nilai fungsi objektif w = 19 (lihat Lampiran 2).
Dari penghitungan tersebut, nilai pengali simpleks masalah primal sama dengan optimal dari masalah dual dan fungsi objektif dari masalah primal dan dual mempunyai nilai yang sama seperti yang dinyatakan Teorema 2.
2.3 Pemrograman Linear Bilangan Bulat (PLBB)
Model pemrograman linear bilangan bulat atau disebut juga pemrograman bilangan bulat adalah suatu model pemrograman linear dengan variabel yang digunakan berupa bilangan bulat. Jika semua variabel harus berupa bilangan bulat maka masalah tersebut disebut pemrograman bilangan bulat alami . Jika hanya sebagian yang harus bilangan bulat maka disebut Pemrograman bilangan bulat campuran. Pemrograman bilangan bulat dengan semua variabelnya harus bernilai 0 atau 1 disebut 0-1 PLBB.
Definisi 4 (P L-Relaksasi)
PL-Relaksasi dari suatu PLBB merupakan pemrograman linear yang diperoleh dari PLBB tersebut dengan menghilangkan kendala bilangan bulat atau kendala 0-1 pada variabelnya.
(Winston, 1995)
Model yang digunakan pada tulisan ini yang berkaitan dengan masalah PLBB adalah masalah pemartisian himpunan (set partitioning problem).
2.3.1 Masalah Pemartisian Himpunan (Set PartitioningProblem)
Definisi 5 (Partisi)
Misalkan diberikan himpunan I=
{
1,2,...,m}
dan himp unan P={
P1,P2,...,Pn}
dengan Pj adalah himpunan bagian dari I, j∈J={
1,2,...,n}
.Himpunan Pj dengan j∈J*⊆J adalah partisi dari I jika :
= ∩ ⇒ ≠ ∈J j k Pj Pk k j, *,
ø
danU
* J j j I P ∈ =(Garfikel & Nemhauser, 1972)
Ilustrasi dari suatu partisi dapat dilihat pada Contoh 4 berikut:
Contoh 4
Misalkan diberikan himpunan
{
1,2,3,4,5,6}
= I dan kelas-kelas P1={ }
1,6 ,{ }
3,4 2 = P , P3={ }
1,4,5 , P4 ={ }
2,5 ,{
2,3,5,6}
5= P .Partisi dari I di antaranya adalah
{
P1,P2,P4}
, karena untuk{ }
1,2,4 *= J berlaku = ∩ ⇒ ≠ ∈J j k Pj Pk k j, *, ø danU
* J j j I P ∈ =Masalah pemartisian himpunan (set partitioning problem/SPP) adalah masalah menentukan partisi dari himpunan I yang mempunyai biaya minimum. Untuk mendapatkan partisi tersebut, misalkan didefinisikan variabel 0-1 sebagai berikut:
1, jika Pj termasuk dalam partisi xj =
0, selainnya
Misalkan pula cj ≥0 adalah ongkos/biaya dari setiap Pj∈I.
Bentuk umum SPP: Minimumkan
∑
= n j j jx c 1 terhadap∑
( )
= = j n j x j 1 A 1 xj =0 atau 1dengan cj adalah biaya Pj, A(j) adalah matriks koefisien kendala, dan 1 adalah vektor dengan dimensi n dengan semua komponennya sama dengan 1.
Model ini memiliki beberapa sifat penting, yaitu:
Sifat 1 Masalah pada model merupakan masalah minimisasi dan semu a kendalanya berupa persamaan. Sifat 2 Nilai sisi kanan
semua kendala adalah 1.
Sifat 3 Semua elemen matriks koefisien A(j) adalah 0 atau 1.
Contoh 5 (Masalah Pemartisian Himpunan)
Misalkan diberikan himpunan I beserta kelas-kelas P seperti pada Contoh 4. Misalkan diketahui biaya dari masing-masing kelas Pj, yaitu cj, dengan
7 , 8 , 9 , 10 , 5 2 3 4 5 1= c = c = c = c = c .
Diinginkan himpunan dari Pj yang dapat memartisi I dengan biaya minimum. Masalah tersebut dapat dimodelkan sebagai masalah pemartisian himpunan. Misalkan didefinisikan variabel 0-1 sebagai berikut:
1, jika Pj termasuk dalam partisi xj =
0, selainnya
1, jika elemen ke-i di I merupakan elemen Pj, dengan j=1,2,...,5 A(j) =
0, selainnya
Masalah tersebut dapat dimodelkan sebagai berikut: SPP : Minimumkan
∑
= 5 1 j j jx c terhadap x1+x3 =1 1 5 4+x = x 1 5 2+x = x 1 3 2+x = x 1 5 4 3+x +x = x 1 5 1+x = x 0 = j x atau 1, untuk j={
1,2,3,4,5}
. Dengan mengunakan LINDO 6.1 diperoleh solusi untuk masalah SPP tersebut sebagai berikut: 0 , 1 3 5 4 2 1=x =x = x = x = x , dan nilaifungsi objektif sebesar 23.
Pada tulisan ini, model matematika dalam penetapan unit kereta pada rel pelangsiran diformulasikan sebagai masalah pemartisian himpunan dengan kendala tambahan.
masalah pemartisian himpunan dengan kendala tambahan adalah masalah pemartisian himpunan dengan beberapa kendala tambahan yang berbeda den gan kendala yang berada pada SPP itu sendiri.
Dalam tulisan ini juga diperlukan konsep tentang graf. Berikut uraian tentang teori graf yang berhubungan dengan masalah pelangsiran unit kereta pada stasiun kereta api dan algoritme pembangkitan kolom.
2.4 Graf
Definisi 6 (Graf)
Suatu graf adalah pasangan terurut (V,E) dengan V himpunan takkosong dan hingga dan E adalah himpunan pasangan takterurut yang menghubungkan elemen-elemen V dan dinotasikan dengan
( )
V E G= , .Elemen V dinamakan simpul (node), dan elemen E dinamakan sisi (edge), dinotasikan sebagai
{ }
i,j , yaitu sisi yang menghubungkan simpul i dengan simpul j, dengan i,j∈V .(Foulds, 1992)
Ilustrasi graf dapat dilihat pada Contoh 6 berikut:
Contoh 6 G :
Gambar 1. Graf G = (V, E).
v1 v5
v4
Pada Gambar 1, V =
{
v1,v2,v3,v4,v5}
dan{
} {
} {
} {
} {
}
{
v1,v2 , v1,v5 , v2,v3 , v2,v5 , v3,v4 E={
v3,v5} {
, v4,v5}}
. Definisi 7 (Walk)Suatu walk pada graf G=
( )
V,E adalah suatu barisan simpul dan sisi dari G dengan bentuk:{
v v} {
v v v} {
vn vn}
vn v1, 1, 2 , 2, 2, 3 ,..., −1, , , atau ditulis dengan ringkas:n v v
v1, 2,..., atau (v1,v2,...,vn). Walk tersebut menghubungkan simpul v1 dengan
n v .
(Foulds, 1992)
Definisi 8 (Path)
Path pada suatu graf G adalah suatu walk dengan semua simpulnya berbeda.
(Foulds, 1992)
Berikut diberikan ilustrasi dari walk dan path. Pada graf G yang terdapat pada Gambar 1 salah satu contoh walk adalah
) , , , , , , (v1 v2 v5 v4 v3 v2 v5 , sedangkan salah
satu contoh path adalah (v1,v2,v5,v4). Definisi 9 (Digraf)
Digraf (directed graf/graf berarah) adalah pasangan terurut (V, A) dengan V adalah himpunan takkosong dan hingga, dan A adalah himpunan pasangan terurut dari elemen-elemen di V.
Elemen dari A disebut sisi berarah (arc) dan dituliskan sebagai
( )
i,j denganV j i, ∈ .
(Foulds, 1992)
Ilustrasi digraf dapat dilihat pada Contoh 7 berikut:
Contoh 7
Gambar 2. Digraf G'=(V,A).
Pada Gambar 2, digraf G’ memiliki himpunan simpul V =
{
v1,v2,v3,v4,v5}
dan{
(v1,v2),(v1,v5),(v2,v3),(v5,v3),(v3,v4), A=
(
v5, v4)}
.Definisi 10 (Sisi Berarah Menjauhi atau Mendekati, Suksesor dan Predesesor)
Misalkan diberikan digraf D=
(
V,A)
. Jika a=( )
vi,vj ∈A maka sisi berarah ini dikatakan menjauhi vi dan mendekati vj. Simpul vi disebut predesesor bagi simpulj
v , simpul vj disebut suksesor bagi simpul i
v .
(Foulds, 1992)
Definisi tersebut dapat digambarkan dalam digraf seperti berikut:
Gambar 3. Sisi berarah menjauhi atau mendekati, suksesor, dan predesesor.
Definisi 11 (Graf Berbobot)
Suatu graf G=
( )
V,E atau digraf(
V A)
D= , dikatakan berbobot jika terdapat fungsi w :E→ℜatau ϑ:A→ℜ (dengan
ℜ
himpunan bilangan real) yang memberikan bobot pada setiap elemen E atau A.(Foulds, 1992)
Terdapat kasus khusus dari graf berbobot yaitu network. Beberapa definisi yang digunakan dalam network adalah sebagai berikut:
Definisi 12 (Simpul sumber)
Simpul sumber (source) adalah suatu simpul dengan tidak ada sisi berarah yang mendekati simpul tersebut.
(Foulds, 1992) Definisi 13 (Simpul tujuan)
Simpul tujuan (sink ) adalah suatu simpul sehingga tidak ada sisi berarah yang menjauhi simpul tersebut.
(Foulds, 1992)
Definisi 14 (Network)
Network adalah suatu digraf yang mempunyai tepat satu simpul sumber dan satu simpul tujuan.
(Foulds, 1992) i v v1 v5 v4 v2 v3 j v
Contoh 8
Graf G’ pada Gambar 2 merupakan network dengan v1 sebagai simpul sumber
dan v4 sebagai simpul tujuan.
Masalah graf berbobot ini biasanya untuk suatu kasus tertentu diinginkan bobot yang terkecil, salah satunya adalah masalah path terpendek (shortest path problem).
Definisi 15 (Shortest Path Problem) Masalah path terpendek adalah masalah untuk menemukan path terpendek (path dengan biaya minimum) dari suatu simpul ke suatu simpul lain dalam suatu network .
(Foulds, 1992)
III DESKRIPSI DAN FORMULASI MASALAH
3.1 Masalah Pelangsiran Unit KeretaPenumpang pada Stasiun Kereta
Dalam jam-jam sibuk, kereta api penumpang khusus dioperasikan untuk mengangkut penumpang, sedangkan di luar jam sibuk, terdapat kelebihan kereta api yang tidak dioperasikan. Kelebihan kereta api tersebut dapat diparkir di rel-rel tertentu pada stasiun kereta api. Proses dari pendataan, pemarkiran, dan pemeliharaan unit kereta api beserta proses lain yang berhubungan disebut pelangsiran (shunting). Namun dalam tulisan ini hanya akan dibahas mengenai pendataan dan pemarkiran unit kereta api saja.
Pelangsiran dari unit kereta biasanya dilakukan di stasiun kereta yang memiliki jumlah rel yang banyak. Unit kereta-api-datang yang akan dilangsir (unit pelangsiran) dapat diletakkan pada rel-rel di depan peron ataupun rel-rel di sekitar peron. Ada dua jenis peron pada stasiun kereta, yaitu peron kedatangan dan peron keberangkatan. Unit kereta yang diparkir di depan peron adalah unit kereta dari kereta-api-terus. Kereta-api-terus adalah jenis kereta yang memiliki jangka waktu yang cukup dekat antara kedatangan ke stasiun dan keberangkatan dari stasiun. Rel yang jarang digunakan untuk memarkir unit pelangsiran adalah rel yang sering digunakan oleh kereta-api-terus. Hal ini bertujuan agar aktivitas kereta-api-terus tidak terganggu karena pelangsiran biasanya memerlukan waktu yang tidak singkat.
Unit kereta api yang harus diparkir di tempat pelangsiran disebut unit keretaapi -datang (arriving shunt unit), sedangkan unit kereta-api -berangkat (departing shunt unit) didefinisikan sebagai unit kereta api yang harus diberangkatkan dari tempat pelangsiran. Unit kereta-api-datang dapat berasal dari kereta api yang telah selesai
dioperasikan dalam jangka waktu tertentu, sedangkan unit kereta-api-berangkat membentuk suatu rangkaian kereta yang akan dioperasikan untuk melayani penumpang.
Sebagian besar kereta api dapat bergerak dalam dua arah dan tidak membutuhkan lokomotif. Dalam masalah ini, unit kereta diklasifikasikan berdasarkan tipe dan subtipe. Tipe dari suatu unit kereta api merupakan kelas kereta api, misalkan kereta api tipe (kelas) bisnis, ekonomi atau eksekutif. Pada masalah ini diasumsikan bahwa hanya unit kereta dari tipe yang sama yang dapat dikombinasikan untuk membentuk suatu rangkaian kereta api. Sedangkan subtipe dari suatu unit kereta didasarkan atas banyaknya gerbong per unit kereta. Sebagai contoh, kereta api dengan subtipe MAT1_3 terdiri atas 1 unit kereta tipe MAT1 dengan banyaknya gerbong 3 buah. Kereta api dengan subtipe MAT1_3 MAT1_4 terdiri atas 2 unit kereta MAT1 dengan banyaknya gerbong 7 buah, di mana unit pertama terdiri atas 3 gerbong dan unit kedua dengan 4 gerbong. Dalam penggunaannya, unit kereta dari subtipe yang sama dapat dipertukarkan urutannya.
Secara umum, masalah pelangsiran unit kereta terdiri atas dua submasalah. Pertama adalah pendataan unit kereta-api-datang menjadi unit kereta-api-berangkat. Kedua berhubungan dengan pemarkiran unit-unit kereta pada rel pelangsiran. Selanjutnya, akan diminimumkan ongkos dari sebuah rencana pelangsiran sehingga kapasitas dari rel pelangsiran tidak terlebihi.
Kendala dari masalah pelangsiran unit kereta secara umum terdiri atas empat hal, yaitu:
1. Kedatangan dan keberangkatan dari unit kereta pada suatu stasiun tidak harus berurutan. Artinya, kereta yang pertama