OPTIMASI BIAYA OPERASIONAL KERETA API DALAM
SISTEM
LOOP LINE
MENGGUNAKAN PEMROGRAMAN
INTEGER
TAKLINEAR
NOVARIA YUSRI
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Optimasi Biaya
Operasional Kereta Api dalam Sistem
Loop Line
Menggunakan Pemrograman
Integer
Taklinear adalah benar karya saya dengan arahan dari komisi pembimbing
dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun.
Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun
tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan
dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
ABSTRAK
NOVARIA YUSRI. Optimasi Biaya Operasional Kereta Api dalam Sistem
Loop
Line
Menggunakan Pemrograman
Integer
Taklinear. Dibimbing oleh AMRIL
AMAN dan FARIDA HANUM.
Besarnya
permintaan
yang
menyebabkan
terjadinya
penumpukan
penumpang di beberapa stasiun merupakan permasalahan utama yang dihadapi
oleh PT KAI Commuter Jabodetabek (KCJ). Salah satu cara untuk memecahkan
permasalahan ini adalah dengan menentukan rute dan frekuensi perjalanan kereta
api yang tepat. Dalam karya ilmiah ini disajikan model pemrograman
integer
taklinear
untuk menentukan rute dan frekuensi perjalanan kereta api tiap rute
dengan biaya yang optimal. Model ini diimplementasikan pada jaringan rel
Jabodetabek yang disederhanakan. Faktor-faktor yang menjadi parameter pada
model ini mencakup
demand
penumpang, kapasitas kereta, maksimum perjalanan
tiap rute, dan biaya operasional. Dalam membangun model, pada tahap awal
dilakukan identifikasi semua persyaratan yang harus dipenuhi, selanjutnya semua
persyaratan itu diformulasikan menjadi bentuk persamaan atau pertidaksamaan
linear. Untuk menguji keabsahan model dilakukan pemeriksaan atas sejumlah
skenario. Solusi model diperoleh dengan menggunakan
software
LINGO 11.0.
Kata kunci
:
frekuensi perjalanan, pemrograman
integer
taklinear, rute, sistem
loop line
ABSTRACT
NOVARIA YUSRI. Optimization of Train Operating Costs in Loop Line Systems
Using Nonlinear Integer Programming. Supervised by AMRIL AMAN and
FARIDA HANUM.
High demand for transportation that causes passenger’s congestion in some
stations is one of the main problems faced by PT KAI commuter Jabodetabek
(KCJ). This problem can be solved by determining optimal routes and frequencies
of the trains. This paper presents a model to determine routes and travelling
frequency for each route in order to minimize the total cost. The problem is
modelled as a nonlinear integer programming. This model is implemented in
Jabodetabek railway network that have been simplified. The parameters of the
model include the demand of passengers, the capacity of trains, maximum
travelling of train for each route, and operational costs. Developing model is
started with identification of all the requirements of the system. All of the
requirements then are formulated as linear equalities or inequalities. Ensuring the
validity of model is done via solving several scenarios using the model. The
solution of the model is obtained using LINGO 11.
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Sains
pada
Departemen Matematika
OPTIMASI BIAYA OPERASIONAL KERETA API DALAM
SISTEM
LOOP LINE
MENGGUNAKAN PEMROGRAMAN
INTEGER
TAKLINEAR
NOVARIA YUSRI
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
Judul Skripsi : Optimasi Biaya Operasional Kereta Api dalam Sistem
Loop Line
Menggunakan Pemrograman
Integer
Taklinear
Nama
: Novaria Yusri
NIM
: G54080015
Disetujui oleh
Dr Ir Amril Aman, MSc
Pembimbing I
Dra Farida Hanum, MSi
Pembimbing II
Diketahui oleh
Dr Berlian Setiawaty, MS
Ketua Departemen
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah SWT atas segala
karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Judul karya ilmiah ini adalah
Optimasi Biaya Operasional Kereta Api dalam Sistem
Loop line
Menggunakan
Pemrograman
Integer
Taklinear.
Terima kasih penulis ucapkan kepada Dr Ir Amril Aman, MSc dan Dra
Farida Hanum, MSi selaku pembimbing yang telah banyak memberi saran. Selain
itu, ungkapan terima kasih juga penulis ucapkan kepada Drs Prapto Tri Supriyo,
MKom selaku dosen penguji. Ungkapan terima kasih disampaikan kepada papa
dan ibu atas segala kasih sayang, dukungan, kepercayaan, kesabaran, dan doanya.
Penulis juga ingin mengucapkan terima kasih kepada keluarga yang selalu
mendoakan, seluruh dosen atas ilmu yang diberikan, staf pegawai, teman-teman
Matematika 45 dan 46, teman-teman Cempaka B, teman-teman Pondok Cahaya
dan teman-teman Hikapemaka Bogor atas bantuannya.
Semoga karya ilmiah ini bermanfaat.
DAFTAR ISI
DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
PENDAHULUAN
1
Latar Belakang
1
Tujuan Penelitian
1
LANDASAN TEORI
2
Istilah dalam Perkeretaapian
2
Integer Programming
(IP)
3
DESKRIPSI DAN FORMULASI MASALAH
3
Deskripsi Masalah
3
Formulasi Masalah
4
STUDI KASUS
6
Formulasi Model Matematika
8
Pengujian Model
10
SIMPULAN DAN SARAN
17
Simpulan
17
Saran
17
DAFTAR PUSTAKA
17
LAMPIRAN
18
DAFTAR TABEL
1
Rute
7
2
Realisasi
demand
penumpang terangkut Skenario 1
11
3
Banyaknya penumpang di kereta untuk setiap segmen Skenario 1
11
4
Banyaknya penumpang di kereta untuk setiap segmen Skenario 2
13
5
Banyaknya penumpang di kereta untuk setiap segmen Skenario 3
14
6
Frekuensi perjalanan setiap rute Skenario 4
15
7
Banyaknya penumpang di kereta untuk setiap segmen Skenario 4
16
DAFTAR GAMBAR
1
Perlintasan sebidang
2
2
Jaringan rel kereta
6
3
Segmen
8
4
Rute kereta yang dihasilkan Skenario 1
11
5
Rute kereta yang dihasilkan Skenario 2
12
6
Rute kereta yang dihasilkan Skenario 3
13
7
Rute kereta yang dihasilkan Skenario 4
15
DAFTAR LAMPIRAN
1
Data hipotetik
demand
penumpang dari stasiun asal ke stasiun tujuan
18
2
Syntax
program pada Lingo 11.0
19
PENDAHULUAN
Latar Belakang
Jakarta merupakan ibu kota negara Indonesia. Kota ini memiliki lapangan
pekerjaan yang cukup banyak sehingga tidak hanya penduduk ibu kota saja yang
bekerja di kota ini melainkan warga sekitar Jakarta seperti Tangerang, Depok,
Bekasi, dan Bogor. Mobilitas penduduk sangat tinggi sehingga dibutuhkan alat
transportasi darat yang efisien dan efektif.
Salah satu alat transportasi yang digunakan adalah kereta api. Peraturan
Pemerintah Nomor 69 Tahun 1998 tentang Prasarana dan Sarana Kereta Api
menyebutkan bahwa moda transportasi kereta api memiliki karakteristik dan
keunggulan khusus. Beberapa keunggulan dari kereta api adalah kemampuannya
dalam mengangkut baik penumpang maupun barang secara massal, hemat energi,
hemat dalam penggunaan ruang, memiliki faktor keamanan yang tinggi, tingkat
pencemaran yang rendah, serta lebih efisien untuk angkutan jarak jauh.
PT KAI
Commuter
Jabodetabek (KCJ) adalah salah satu anak perusahaan di
lingkungan PT KERETA API (Persero) yang melayani wilayah Jabodetabek. Saat
ini PT KCJ menggunakan KRL dengan sistem
loop line
yang membagi perjalanan
menjadi 6 rute
.
Berdasarkan keterangan PT KCJ, 6 rute tersebut ialah Jakarta
Kota-Bogor, Jakarta Kota-Jatinegara, Jakarta Kota-Tanjung Priok, Parung
Panjang-Tanah Abang, Duri-Tangerang, dan Jakarta Kota-Bekasi. Pada sistem ini
dikenal adanya stasiun transit yang berfungsi melanjutkan perjalanan menuju
stasiun lain yang terletak pada rute yang berbeda. Pada kenyataannya, masih
terdapat beberapa permasalahan yang dihadapi oleh KCJ. Salah satunya
penumpukan penumpang di beberapa stasiun, terutama pada pagi dan sore hari
yang merupakan waktu pergi dan pulang kerja. Selain itu, masih terdapat
beberapa penumpang yang naik di atap gerbong sehingga dapat membahayakan
keselamatan para penumpang.
Permasalahan ini dapat diatasi dengan menambah jumlah kereta api atau
menambah frekuensi perjalanan kereta. Penambahan jumlah kereta membutuhkan
biaya yang jauh lebih besar dibandingkan dengan penambahan frekuensi
perjalanan kereta sehingga untuk mengatasi masalah tersebut biasanya dilakukan
dengan cara menambah frekuensi perjalanan kereta api tiap rute. Penentuan rute
dilakukan terlebih dahulu agar diperoleh hasil yang optimal. Permasalahan ini
dapat dimodelkan dengan
integer nonlinear programming
. Data yang digunakan
pada karya ilmiah ini adalah data hipotetik.
Tujuan
LANDASAN TEORI
Untuk membuat model optimasi biaya operasional kereta api diperlukan
pemahaman
mengenai
beberapa
istilah dalam perkeretaapian,
integer
programming
(IP).
Istilah dalam Perkeretaapian
Sistem
Loop Line
Menurut Novena dan Widiyanto (2011) sistem
loop line
ialah sistem dalam
perkeretaapian sehingga penumpang tidak hanya bergerak dari titik keberangkatan
ke titik tujuan tetapi berputar dahulu ke stasiun lain. Pada sistem ini, dikenal
adanya stasiun transit yang berfungsi sebagai tempat peralihan untuk melanjutkan
perjalanan menuju stasiun lain yang terletak pada rute yang berbeda. Misalkan
penumpang dari Bogor ingin menuju Stasiun Bekasi. Stasiun Bogor berada pada
Rute Bogor-Jakarta Kota, sedangkan Stasiun Bekasi berada pada Rute Jakarta
Kota-Bekasi. Penumpang tersebut terlebih dahulu harus naik kereta di Stasiun
Bogor yang melintasi Rute Jakarta Kota-Bogor lalu berhenti di Stasiun Manggarai
(stasiun transit). Dari Stasiun Manggarai, penumpang tersebut akan melanjutkan
perjalanan menggunakan kereta api yang melintasi Rute Jakarta Kota-Bekasi dan
turun di Stasiun Bekasi.
Setiap rute terdiri dari beberapa segmen. Segmen ialah jalan rel yang
menghubungkan suatu stasiun dengan stasiun berikutnya yang berdekatan.
Misalkan Stasiun Ancol berdekatan dengan Stasiun Tanjung Priok. Jadi segmen
ialah jalan rel yang menghubungkan Stasiun Ancol dan Stasiun Tanjung Priok.
Jalur Ganda
Menurut D’Ariano (2008) jalur ganda ialah dua jalur yang dapat digunakan
kereta api dengan arah yang sama atau berlawanan.
Perlintasan Sebidang dan
Headway
Menurut Peraturan Direktur Jenderal Perhubungan Darat Nomor 770
tentang Pedoman Teknis Perlintasan Sebidang antara Jalan dengan Jalur Kereta
Api, perlintasan sebidang ialah perpotongan sebidang antara jalur kereta api
dengan jalan. Perlintasan sebidang membuat
headway
perjalanan kereta tidak bisa
diminimumkan.
Headway
ialah selang waktu keberangkatan antara satu kereta api
dengan kereta api berikutnya.
Integer Programming
(IP)
Menurut Winston (2004)
integer programming
merupakan suatu
pemrograman linear yang sebagian atau semua variabel yang digunakan
merupakan
integer
taknegatif. Ada 3 jenis IP, yaitu:
1
Pure integer programming
(PIP), jika suatu IP menggunakan semua variabel
yang berupa
integer
.
2
Mixed integer programming
(MIP), jika suatu IP menggunakan sebagian saja
variabel yang
integer
.
3 0-1 IP, jika suatu IP menggunakan variabel 0 atau 1.
Pemrograman taklinear tidak jauh berbeda dengan pemrograman linear yang
terdiri atas fungsi objektif dan kendala umum. Perbedaannya adalah pemrograman
taklinear memiliki paling sedikit satu fungsi taklinear yang bisa menjadi fungsi
objektif atau kendalanya. Model pemrograman matematika taklinear dengan
variabel keputusannya berupa
integer
disebut model
integer nonlinear
programming
(INLP).
DESKRIPSI DAN FORMULASI MASALAH
Deskripsi Masalah
Rute kereta api membentuk jaringan yang terdiri dari stasiun dan jalur. Jalur
yang digunakan ialah jalur ganda untuk setiap rute. Setiap rute memiliki stasiun
awal keberangkatan dan stasiun akhir pemberhentian. Kereta berangkat dari
stasiun awal dan berhenti di setiap stasiun yang dilewatinya sampai di stasiun
akhir pemberhentian. Kereta tersebut akan kembali lagi menuju stasiun awal
keberangkatan. Arah kereta yang bergerak dari stasiun awal keberangkatan
menuju stasiun akhir pemberhentian dinamakan Arah 1, sedangkan Arah 2
merupakan arah kereta yang bergerak dari stasiun akhir pemberhentian menuju
stasiun awal keberangkatan. Setiap rute memiliki beberapa segmen yang
menghubungkan satu stasiun dengan satu stasiun berikutnya.
Pada jaringan kereta api dikenal adanya stasiun transit yang berfungsi
sebagai tempat peralihan untuk melanjutkan perjalanan menuju stasiun lain yang
terletak pada rute yang berbeda. Penumpang yang turun di stasiun transit ialah
penumpang transit dan penumpang yang tujuan akhirnya stasiun tersebut.
Penumpang transit akan melanjutkan perjalanan menggunakan kereta yang
berbeda menuju stasiun yang diinginkan, sedangkan penumpang yang turun di
suatu stasiun (kecuali stasiun transit) merupakan penumpang yang tujuan akhirnya
ialah stasiun tersebut.
Untuk membatasi permasalahan, maka digunakan beberapa asumsi, yaitu:
1
tidak ada kereta yang mengalami kerusakan,
2
kecepatan kereta konstan,
3
tidak ada gangguan di perjalanan,
4
perlintasan sebidang tidak diperhatikan,
5
jaringan rel kereta yang digunakan ialah jaringan rel Jabodetabek yang telah
disederhanakan dan kereta hanya berjalan di dalam jaringan rel tersebut,
6
jalur yang digunakan adalah jalur ganda,
7
hanya satu jenis kereta yang digunakan, yaitu
Commuter
,
8
banyaknya kereta yang tersedia selalu mencukupi kebutuhan,
9
hanya 20 stasiun yang dibahas dan hanya terdapat 3 stasiun transit, yaitu
Manggarai, Jatinegara, dan Tanah Abang,
10
stasiun-stasiun untuk setiap rute telah ditetapkan sehingga analisis hanya
dibatasi untuk pemilihan rute saja,
11
tempat penumpang yang disediakan di kereta harus lebih besar dari 90%
demand
penumpang yang ada pada setiap segmen. Artinya kereta tidak
selalu terisi 100%, sehingga masih ada tempat yang disediakan untuk
mengantisipasi jika ada penambahan
demand
penumpang,
12
untuk menghindari terjadinya penumpukan penumpang, maka minimum
90%
demand
penumpang harus diangkut dari setiap stasiun asal ke setiap
stasiun tujuan.
Formulasi Masalah
Berdasarkan data dan analisis yang didapatkan, maka dapat dibuat formulasi
masalah tersebut ke dalam bentuk
integer nonlinear programming
(INLP). Bentuk
formulasi masalah tersebut ialah sebagai berikut.
Indeks
, = stasiun;
, = 1,2,
…
,
= rute;
= 1,2,
…
,
,
u
= arah;
,
= 1,2
w
= segmen;
= 1,2,
…
,
Parameter
�
=
demand
penumpang dari stasiun asal
i
ke stasiun tujuan
j
�
=
demand
penumpang yang ingin melewati segmen
w
= biaya perjalanan pada rute
= biaya pemeliharaan rute
kap
= kapasitas satu kereta
�
= maksimum frekuensi perjalanan pada rute
M
= bilangan positif yang nilainya relatif besar
Variabel Keputusan
= banyaknya penumpang di kereta pada segmen
w
�
= frekuensi perjalanan kereta pada rute dan arah
= frekuensi perjalanan kereta pada segmen
w
= frekuensi perjalanan kereta pada rute
k
x
k=
1,
jika rute digunakan
0,
selainnya
Himpunan
= himpunan pasangan stasiun (
i,j
) yang melewati segmen
w
= himpunan pasangan rute
k
dan arah
v,
yaitu (
k,v
), yang melewati segmen
w
Fungsi Objektif
Fungsi objektif dari masalah ini ialah meminimumkan biaya operasional
dengan mengatur frekuensi perjalanan kereta api yang dikalikan dengan biaya
perjalanan untuk satu kali perjalanan pada setiap rute dan biaya pemeliharaan
pada setiap rute jika rute tersebut digunakan. Fungsi objektif masalah ini ialah:
Minimumkan (
2=1 =1×
�
+
=1×
)
Kendala
Kendala pada permasalahan ini ialah sebagai berikut :
1 Realisasi
demand
penumpang yang terangkut dari stasiun asal
i
ke stasiun
tujuan
j
minimal 90% dari
demand.
90%
�
�
,
= 1,2,
…
, ,
= 1,2,
…
,
.
2 Jumlah penumpang di kereta pada segmen
w
ialah akumulasi dari realisasi
demand
yang terangkut dari setiap stasiun asal
i
ke setiap stasiun tujuan
j.
−
=1 =1= 0,
( , )
∈
,
= 1,2,
…
, .
3
Banyaknya penumpang di kereta pada segmen
w
merupakan minimum dari
demand
penumpang yang ingin melewati segmen
w
dan total kapasitas
kereta.
= min {
�
, (
×
)}
,
= 1,2,
…
,
.
4
Banyaknya tempat yang disediakan untuk penumpang di kereta, harus lebih
besar atau sama dengan 90%
demand
penumpang yang ingin melewati
segmen
w
.
90%
�
×
,
= 1,2,
…
, .
5
Jika terdapat perjalanan kereta pada suatu rute maka rute tersebut
digunakan.
�
–
M
≤ 0,
= 1,2,
…
, ,
= 1,2.
6 Kereta harus bolak-balik sehingga frekuensi perjalanan kereta pada rute
k
selalu sama untuk semua arah.
� − �
= 0
,
= 1,2,
…
, ,
= 1,2,
= 1,2,
≠
.
7
Frekuensi perjalanan kereta untuk setiap rute tidak boleh melebihi frekuensi
perjalanan maksimum.
�
�
2
=1
,
= 1,2,
…
, .
8 Frekuensi perjalanan kereta untuk setiap rute ialah akumulasi perjalanan dari
semua arah.
�
29
Frekuensi perjalanan kereta pada segmen
w
ialah akumulasi dari semua
frekuensi perjalanan kereta pada rute dan arah
v
yang melewati segmen
w
.
−
2=1 =1�
= 0
,
( , )
∈
,
= 1,2,
…
, .
10 Kendala ketaknegatifan memastikan bahwa:
Realisasi
demand
penumpang yang terangkut dari stasiun asal
i
ke stasiun
tujuan
j
, lebih besar atau sama dengan nol.
0
,
= 1,2,
…
, ,
= 1,2,
…
, .
Frekuensi perjalanan kereta pada rute
k
, lebih besar atau sama dengan nol.
0, = 1,2,
…
, .
Frekuensi perjalanan kereta pada segmen
w
, lebih besar atau sama dengan
nol.
0
= 1,2,
…
, .
Frekuensi perjalanan kereta pada rute
k
dan arah
v
, lebih besar atau sama
dengan nol.
�
≥
0,
= 1,2,
…
, ,
= 1,2.
Jumlah penumpang di kereta pada segmen
w
harus lebih besar atau sama
dengan nol.
≥
0,
= 1,2,
…
, .
11 Kendala biner:
∈
{0,1},
= 1,2,
…
, .
STUDI KASUS
Keterangan:
Gambar 2 Jaringan rel kereta
1
Jakarta Kota
2
Gambir
3
Manggarai
4
Tanjung Barat
5
Depok
6
Bogor
7
Jatinegara
8
Klender Baru
9
Bekasi
10 Pasar Senen
11 Ancol
12 Tanjung Priok
13 Sudirman
14 Tanah Abang
15 Serpong
16 Parung Panjang
17 Duri
18 Kali Deres
19 Tangerang
20 Rajawali
6
1
5
4
3
2
7
20
10
11
12
8
9
13
14
17
15
16
18
Misalkan jaringan rel kereta memiliki 20 stasiun dengan 38 segmen.
Gambar jaringan dapat dilihat pada Gambar 2. Angka di setiap simpul atau
verteks menyatakan stasiun. Lingkaran yang berwarna merah menyatakan stasiun
awal keberangkatan atau stasiun akhir pemberhentian. Misalkan Stasiun 1, 6, 9,
19, 20 ialah stasiun awal keberangkatan dan Stasiun 6, 9, 12, 16, 19, 20 ialah
stasiun akhir pemberhentian.
Jaringan tersebut memiliki 16 rute yang dapat dilihat di Tabel 1. Perjalanan
kereta dimulai dari stasiun awal keberangkatan sampai ke stasiun akhir
pemberhentian kemudian kembali ke stasiun awal keberangkatan untuk setiap
rutenya. Pada setiap rute, kereta harus berhenti di setiap stasiun yang ada pada
rute tersebut secara berurutan. Data biaya perjalanan untuk 1 kali perjalanan pada
setiap rute, data biaya pemeliharaan untuk setiap rute, data maksimum perjalanan
kereta yang dapat dilakukan untuk setiap rute merupakan data hipotetik yang
terdapat pada Tabel 1. Kereta beroperasi pada pukul 05:00-22:00 yaitu selama 17
jam (1020 menit). Maksimum perjalanan untuk setiap rute ialah lama kereta
beroperasi dibagi
headway
(6 menit) yaitu 170.
Tabel 1 Rute
Rute
Stasiun yang dilewati
Biaya 1 kali
perjalanan
(dalam ribu
rupiah)
Biaya
pemeliharaan
(dalam ribu
rupiah)
Maksimum
perjalanan
1
1,2,3,4,5,6
9.766
55.000
170
2
1,2,3,13,14,15,16
9.615
54.000
170
3
1,2,3,13,14,17,18,19
10.233
57.000
170
4
1,2,3,7,8,9
6.838
38.000
170
5
1,2,3,7,10,20
6.569
37.000
170
6
1,11,12
2.340
13.000
170
7
6,5,4,3,13,14,17,18,19
15.992
90.000
170
8
6,5,4,3,13,14,15,16
15.374
86.000
170
9
6,5,4,3,7,10,20
12.327
69.000
170
10
6,5,4,3,7,8,9
12.596
70.000
170
11
9,8,7,10,20
6.589
37.000
170
12
9,8,7,3,13,14,15,16
12.153
68.000
170
13
9,8,7,3,13,14,17,18,19
12.876
72.000
170
14
20,10,7,3,13,14,15,16
11.849
66.000
170
15
20,10,7,3,13,14,17,18,19
12.606
70.000
170
16
19,18,17,14,15,16
11.442
64.000
170
Setiap segmen dilewati oleh kereta yang bergerak melalui rute yang berbeda
pada arah tertentu. Dalam jaringan rel kereta ini terdapat 38 segmen seperti
terlihat pada Gambar 3.
Gambar 3 Segmen
Formulasi Model Matematika
Dalam studi kasus ini terdapat 20 stasiun, 38 segmen, serta 16 rute dan
kapasitas kereta adalah 1200 orang.
Indeks
, = stasiun;
, = 1,2,
…
,20
= rute;
= 1,2,
…
,16
,
u
= arah;
,
= 1,2
w
= segmen;
= 1,2,
…
,38
Parameter
�
=
demand
penumpang dari stasiun asal
i
ke stasiun tujuan
j
�
=
demand
penumpang yang ingin melewati segmen
w
= biaya perjalanan pada rute
= biaya pemeliharaan rute
kap
= kapasitas satu kereta
�
=
maksimum frekuensi perjalanan pada rute
= bilangan positif yang nilainya relatif besar dalam kasus ini,
M
=100000
Variabel Keputusan
= realisasi
demand
penumpang yang terangkut dari stasiun asal
i
ke stasiun
tujuan
j
=
banyaknya penumpang di kereta pada segmen
w
�
=
frekuensi perjalanan kereta pada rute dan arah
v
= frekuensi perjalanan kereta pada rute
k
x
k=
1,
jika rute digunakan
0,
selainnya
Himpunan
= himpunan pasangan stasiun (
i,j
) yang melewati segmen
w
= himpunan pasangan rute
k
dan arah
v,
yaitu (
k,v
), yang melewati segmen
w
Fungsi Objektif
Fungsi objektif dari masalah ini ialah meminimumkan biaya operasional
dengan mengatur frekuensi perjalanan kereta api yang dikalikan dengan biaya
perjalanan untuk satu kali perjalanan pada setiap rute dan biaya pemeliharaan
pada setiap rute jika rute tersebut digunakan. Fungsi objektif masalah ini ialah:
Minimum (
2=1 16=1×
�
+
16=1×
)
Kendala
Kendala pada permasalahan ini ialah sebagai berikut :
1
Realisasi
demand
penumpang yang terangkut dari stasiun asal
i
ke stasiun
tujuan
j
minimal 90% dari
demand.
90%
�
�
,
= 1,2,
…
,20,
= 1,2,
…
,20.
2
Jumlah penumpang di kereta pada segmen
w
ialah akumulasi dari realisasi
demand
yang terangkut dari setiap stasiun asal
i
ke setiap stasiun tujuan
j.
−
20 =1 20=1
= 0,
( , )
∈
,
= 1,2,
…
,38.
3
Banyaknya penumpang di kereta pada segmen
w
merupakan minimum dari
demand
penumpang yang ingin melewati segmen
w
dan total kapasitas
kereta.
=min {
�
, (
×
)}
,
= 1,2,
…
,38
.
4
Banyaknya tempat yang disediakan untuk penumpang di kereta, harus lebih
besar atau sama dengan 90%
demand
penumpang yang ingin melewati
segmen
w
.
90%
�
×
,
= 1,2,
…
,38.
5
Jika terdapat perjalanan kereta pada suatu rute maka rute tersebut
digunakan.
�
–
M
≤ 0,
= 1,2,
…
,16,
= 1,2.
6
Kereta harus bolak-balik sehingga frekuensi perjalanan kereta pada rute
k
selalu sama untuk semua arah.
� − �
= 0
,
= 1,2,
…
,16,
= 1,2
= 1,2,
≠
.
7
Frekuensi perjalanan kereta untuk setiap rute tidak boleh melebihi frekuensi
perjalanan maksimum.
�
2=1
�
,
= 1,2,
…
,16.
8
Frekuensi perjalanan kereta untuk setiap rute ialah akumulasi perjalanan
dari semua arah.
�
2=1
−
= 0
,
= 1,2,
…
,16.
9
Frekuensi perjalanan kereta pada segmen
w
ialah akumulasi dari semua
frekuensi perjalanan kereta pada rute dan arah
v
yang melewati segmen
w
.
−
16�
=1 210 Kendala ketaknegatifan memastikan bahwa:
Realisasi
demand
penumpang yang terangkut dari stasiun asal
i
ke stasiun
tujuan
j
, lebih besar atau sama dengan nol.
0
,
= 1,2,
…
,20,
= 1,2,
…
,20.
Frekuensi perjalanan kereta pada rute
k
, lebih besar atau sama dengan nol.
0,
= 1,2,
…
,20.
Frekuensi perjalanan kereta pada segmen w, lebih besar atau sama dengan nol.
≥ 0,
= 1,2,
…
,38.
Frekuensi perjalanan kereta pada rute
k
dan arah
v, lebih besar atau sama
dengan nol.
�
≥ 0,
= 1,2,
…
,16,
= 1,2.
Jumlah penumpang di kereta pada segmen
w
harus lebih besar atau sama
dengan nol.
≥ 0,
= 1,2,
…
,38.
11 Kendala biner:
∈
{0,1},
= 1,2,
…
,16.
Pengujian Model
Model di atas akan diujikan ke dalam beberapa skenario dengan
menggunakan data
demand
penumpang yang terdapat pada Lampiran 1 dan
diselesaikan dengan bantuan
software
LINGO 11.0.
Syntax
LINGO dapat dilihat
di Lampiran 2. Pada Skenario 1 akan diujikan bahwa rute yang dipilih ialah rute
yang mempunyai biaya operasional yang paling kecil, pada Skenario 2 diujikan
bahwa rute yang dipilih ialah rute yang memiliki
demand
penumpang, pada
Skenario 3 akan diujikan bahwa terdapat penumpang yang transit, dan pada
Skenario 4 akan dipilih rute-rute yang meminimumkan biaya operasional dengan
demand
penumpang terdapat dari setiap stasiun asal ke setiap stasiun tujuan.
Skenario 1
Demand
penumpang hanya terdapat dari Stasiun 1 ke Stasiun 2 dan dari
Stasiun 2 ke Stasiun 1, selainnya
demand
penumpang bernilai nol. Stasiun 1, 2
berada pada Rute 1, 2, 3, 4, dan 5. Biaya operasional yang paling kecil adalah
biaya operasional Rute 5.
Keterangan:
Rute 5 :
Gambar 4 Rute kereta yang dihasilkan Skenario 1
Pada Tabel 2 dapat dilihat bahwa realisasi
demand
penumpang terangkut
tidak melebihi
demand
penumpang yang ada.
Demand
penumpang yang terangkut
juga selalu lebih besar atau sama dengan 90%
demand
yang ada.
Tabel 2 Realisasi
demand
penumpang terangkut Skenario 1
Stasiun asal
–
stasiun
tujuan
Demand
penumpang
Realisasi
demand
terangkut
Persentase (%)
1-2
2600
2400
92
2-1
1871
1871
100
Jumlah
4471
4271
96
Tabel 3 dapat dilihat bahwa banyaknya penumpang yang ada di kereta untuk
setiap segmen tidak melebihi total kapasitas kereta yang melewati segmen
tersebut. Total kapasitas adalah kapasitas kereta dikalikan dengan frekuensi
perjalanan kereta yang melewati suatu segmen. Selain itu banyaknya penumpang
di kereta pada setiap segmen yang dilewati oleh kereta selalu lebih kecil atau sama
dengan
demand
penumpang pada segmen tersebut. Utilitas adalah banyaknya
penumpang di kereta dibagi dengan total kapasitas kereta. Utilitas pada setiap
segmen berbeda-beda dan tidak selalu bernilai 100%, artinya kereta tidak selalu
terisi penuh pada setiap segmen yang dilewatinya sehingga masih dimungkinkan
adanya penambahan penumpang.
Tabel 3 Banyaknya penumpang di kereta untuk setiap segmen Skenario 1
Segmen
Demand
penumpang
Penumpang
di kereta
Frekuensi
perjalanan
Total
kapasitas
Utilitas
(%)
1
2600
2400
2
2400
100
2
0
0
2
2400
0
6
0
0
2
2400
0
7
0
0
2
2400
0
8
0
0
2
2400
0
25
0
0
2
2400
0
26
1871
1871
2
2400
78
34
0
0
2
2400
0
35
0
0
2
2400
0
36
0
0
2
2400
0
20
10
7
3
Skenario 2
Pada Skenario ini,
demand
penumpang hanya terdapat pada Stasiun asal 1,
2, 3, 4, 5, 6 dan Stasiun tujuan 1, 2, 3, 4, 5, 6. Selainnya
demand
penumpang
bernilai 0. stasiun asal dan stasiun tujuan tersebut merupakan stasiun-stasiun yang
terletak pada Rute 1.
Hasil komputasi Skenario 2 dengan
software
LINGO 11.0 pada Lampiran 4
diperoleh bahwa rute yang dipilih ialah Rute 1. Biaya yang digunakan adalah
230.788.000 rupiah. Stasiun-stasiun yang berada pada rute tersebut ialah Stasiun
1, 2, 3, 4, 5, dan 6 yang diilustrasikan oleh Gambar 4. Frekuensi perjalanan kereta
yang melewati Rute 1 pada Arah 1 sama dengan frekuensi perjalanan kereta yang
melewati Rute 1 pada Arah 2 yaitu 9. Jadi frekuensi perjalanan kereta yang
melewati Rute 1 adalah 18. Frekuensi perjalanan ini, tidak melebihi frekuensi
perjalanan maksimum sebanyak 170. Realisasi
demand
penumpang terangkut
selalu sama dengan
demand
penumpang yang ada.
Demand
penumpang
keseluruhan sama dengan banyaknya penumpang yang terangkut sebanyak 32275
orang.
Gambar 5 Rute kereta yang dihasilkan Skenario 2
Tabel 4 menjelaskan bahwa penumpang yang ada di kereta untuk setiap
segmen tidak melebihi total kapasitas kereta yang melewati segmen tersebut.
Selain itu, banyaknya penumpang di kereta pada setiap segmen yang dilewati oleh
kereta selalu sama dengan
demand
penumpang pada segmen tersebut. Utilitas
adalah banyaknya penumpang di kereta dibagi dengan total kapasitas kereta.
Utilitas pada setiap segmen berbeda-beda dan selalu lebih kecil dari 100%.
Artinya kereta tidak pernah terisi penuh pada setiap segmen yang dilewatinya,
sehingga masih dimungkinkan ada penambahan penumpang.
Keterangan:
Rute 1 :
1
2
3
4
5
Tabel 4 Banyaknya penumpang di kereta untuk setiap segmen Skenario 2
Segmen
Demand
penumpang
Penumpang
di kereta
Frekuensi
perjalanan
Total
kapasitas
Utilitas
(%)
1
6435
6435
9
10800
60
2
8142
8142
9
10800
75
3
10261
10261
9
10800
95
4
10339
10339
9
10800
96
5
6226
6226
9
10800
58
25
7348
7348
9
10800
68
26
5758
5758
9
10800
53
29
5953
5953
9
10800
55
30
8616
8616
9
10800
80
31
7562
7562
9
10800
70
Skenario 3
Pada Skenario 3 akan diperlihatkan bahwa terdapat penumpang yang transit.
Diberikan
demand
penumpang yang stasiun asal dan stasiun tujuannya terletak
pada rute yang sama. Stasiun-stasiun tersebut berada pada Rute 1 dan Rute 14.
Selainnya
demand
penumpang bernilai 0 (kecuali
demand
penumpang dari
Stasiun 1 ke Stasiun 20 dan dari Stasiun 2 ke Stasiun 20).
Hasil komputasi Skenario 3 dengan
software
LINGO 11.0 pada Lampiran 5
diperoleh bahwa rute yang dipilih ialah Rute 1 dan Rute 14. Biaya yang
digunakan adalah 557.466.000 rupiah. Stasiun-stasiun yang berada pada Rute 1
ialah Stasiun 1, 2, 3, 4, 5, dan 6, sedangkan stasiun-stasiun yang berada pada Rute
14 ialah Stasiun 20, 10, 7, 3, 13, 14, 15, 16 yang diilustrasikan oleh Gambar 4.
Gambar 6 Rute kereta yang dihasilkan Skenario 3
Frekuensi perjalanan kereta yang melewati Rute 1 pada Arah 1 sama dengan
frekuensi perjalanan kereta yang melewati Rute 1 pada Arah 2, yaitu 9. Jadi
Keterangan:
Rute 1 :
Rute 14 :
:
1
2
3
4
5
6
7
10
20
13
14
15
frekuensi perjalanan kereta yang melewati Rute 1 adalah 18. Frekuensi perjalanan
kereta yang melewati Rute 14 pada Arah 1 sama dengan frekuensi perjalanan
kereta yang melewati Rute 14 pada Arah 2 yaitu 11. Jadi frekuensi perjalanan
kereta yang melewati Rute 14 adalah itu 22. Frekuensi perjalanan ini, tidak
melebihi frekuensi perjalanan maksimum sebanyak 170.
Realisasi
demand
penumpang terangkut dapat dilihat di Lampiran 6.
Realisasi
demand
penumpang terangkut tidak melebihi
demand
penumpang yang
ada.
Demand
penumpang yang terangkut juga selalu lebih besar atau sama dengan
90%
demand
yang ada.
Tabel 5 dapat dilihat bahwa penumpang yang ada di kereta untuk setiap
segmen tidak melebihi total kapasitas kereta yang melewati segmen tersebut.
Total kapasitas adalah kapasitas kereta dikalikan dengan frekuensi perjalanan
kereta yang melewati suatu segmen. Selain itu dapat dilihat juga bahwa
banyaknya penumpang di kereta pada setiap segmen yang dilewati oleh kereta
selalu lebih kecil atau sama dengan
demand
penumpang pada segmen tersebut.
Utilitas adalah banyaknya penumpang di kereta dibagi dengan total kapasitas
kereta. Utilitas pada setiap segmen berbeda-beda dan tidak selalu bernilai 100%.
Artinya kereta tidak selalu terisi penuh pada setiap segmen yang dilewatinya
sehingga masih dimungkinkan ada penambahan penumpang.
Tabel 5 Banyaknya penumpang di kereta untuk setiap segmen Skenario 3
Segmen
Demand
penumpang
Penumpang
di kereta
Frekuensi
perjalanan
kereta
Total
kapasitas
Utilitas
(%)
1
6843
6843
9
10800
60
2
8462
8462
9
10800
78
3
10261
10261
9
10800
95
4
10339
10339
9
10800
96
5
6226
6226
9
10800
58
6
10713
10713
11
13200
81
7
10731
10731
11
13200
81
8
4553
4553
11
13200
34
11
11693
11693
11
13200
89
12
13327
13200
11
13200
100
13
10083
10083
11
13200
76
14
5664
5664
11
13200
43
21
6202
6202
11
13200
47
22
9701
9701
11
13200
73
23
12487
12487
11
13200
95
24
9727
9727
11
13200
74
25
7348
7348
9
10800
68
26
5758
5758
9
10800
53
29
5953
5953
9
10800
55
30
8616
8616
9
10800
80
31
7562
7562
9
10800
70
34
12354
12354
11
13200
94
35
5182
5182
11
13200
39
Skenario 4
Pada Skenario 4 ini, diberikan
demand
penumpang dari setiap stasiun asal
ke setiap stasiun tujuan seperti yang terdapat pada Lampiran 1. Detail hasil dapat
dilihat di Lampiran 7. Total frekuensi perjalanan kereta pada semua rute adalah
282. Rute yang dipilih ialah Rute 1, 3, 6, 12, dan 15 dan diilustrasikan oleh
Gambar 7. Biaya operasional yang digunakan adalah 2.800.952.000 rupiah.
Demand
penumpang dari setiap stasiun asal ke setiap stasiun tujuan selalu sama
dengan realisasi
demand
penumpang yang diangkut.
Tabel 6 Frekuensi perjalanan setiap rute Skenario 4
Rute
Frekuensi perjalanan
Frekuensi perjalanan
Arah 1
Frekuensi perjalanan
Arah 2
1
78
39
39
3
26
13
13
6
54
27
27
12
62
31
31
15
50
25
25
Gambar 7 Rute kereta yang dihasilkan Skenario 4
Tabel 7 dapat dilihat bahwa penumpang yang ada di kereta untuk setiap
segmen tidak melebihi total kapasitas kereta yang melewati segmen tersebut.
Total kapasitas adalah kapasitas kereta dikalikan dengan frekuensi perjalanan
kereta yang melewati suatu segmen. Selain itu dapat dilihat juga bahwa
banyaknya penumpang di kereta pada setiap segmen yang dilewati oleh kereta
selalu sama dengan
demand
penumpang pada segmen tersebut.
Keterangan:
Rute 1 :
Rute 3 :
Rute 6 :
Rute 12 :
Rute 15 :
19
11
12
1
5
4
3
2
7
20
10
8
9
13
14
17
15
16
18
Utilitas adalah penumpang di kereta dibagi dengan total kapasitas kereta.
Utilitas pada setiap segmen berbeda-beda dan selalu lebih kecil dari 100%.
Artinya kereta tidak selalu terisi penuh pada setiap segmen yang dilewatinya
sehingga masih dimungkinkan ada penambahan penumpang.
Demand
penumpang
keseluruhan sama dengan banyaknya penumpang terangkut sebanyak 341696
orang.
Tabel 7 Banyaknya penumpang di kereta untuk setiap segmen Skenario 4
Segmen
Demand
penumpang
Penumpang
di kereta
Frekuensi
perjalanan
Total
kapasitas
Utilitas
(%)
1
46053
46053
52
62400
74
2
57378
57378
52
62400
92
3
45851
45851
39
46800
98
4
34302
34302
39
46800
73
5
19957
19957
39
46800
43
6
65514
65514
56
67200
97
7
28663
28663
25
30000
95
8
12549
12549
25
30000
42
9
34312
34312
31
37200
92
10
19420
19420
31
37200
52
11
77462
77462
69
82800
94
12
72837
72837
69
82800
88
13
36139
36139
31
37200
97
14
19730
19730
31
37200
53
15
43659
43659
38
45600
96
16
29054
29054
38
45600
64
17
18480
18480
38
45600
41
18
19145
19145
38
45600
42
19
30084
30084
38
45600
66
20
45354
45354
38
45600
99
21
19870
19870
31
37200
53
22
35283
35283
31
37200
95
23
71644
71644
69
82800
87
24
75567
75567
69
82800
91
25
56354
56354
52
62400
90
26
45559
45559
52
62400
73
27
29695
29695
27
32400
92
28
17186
17186
27
32400
53
29
19932
19932
39
46800
43
30
33090
33090
39
46800
71
31
42975
42975
39
46800
92
32
18832
18832
31
37200
51
33
33873
33873
31
37200
91
34
67107
67107
56
67200
99
35
13468
13468
25
30000
45
36
29546
29546
25
30000
98
37
17822
17822
27
32400
55
SIMPULAN DAN SARAN
Simpulan
Masalah penentuan rute dan frekuensi perjalanan kereta api pada jalur ganda
dapat diselesaikan menggunakan
integer nonlinear programming
(INLP) dengan
bantuan
software
LINGO 11. Dalam studi kasus yang dibahas, rute yang
diperoleh adalah rute yang dapat meminimumkan biaya operasional yaitu Rute 1,
3 ,6, 12, dan 15. Banyaknya penumpang yang diangkut adalah 341696 orang
dengan frekuensi perjalanan kereta sebanyak 282. Biaya operasional yang
digunakan adalah 2.800.952.000 rupiah.
Saran
Pada karya ilmiah ini, jumlah kendaraan yang tersedia diabaikan. Untuk
penelitian selanjutnya disarankan untuk membatasi jumlah kendaraan yang
tersedia serta menggunakan jaringan rel Jabodetabek sebenarnya.
DAFTAR PUSTAKA
D’Ariano A. 2008. Improving real
-time train dispatching: models, algorithms and
applications [tesis]. Delft: Faculty of Civil Engineering and Geosciences,
Delft University of Technology.
Kompas. 2011. Rute KRL diefektifkan [internet]. [diunduh 2013 Juni 1]. Tersedia
di http://www.krl.co.id/BERITA-TERKINI/rute-krl-diefektifkan.html.
Novena M, Widiyanto Y. 2011. Hari ini sistem
loop line
kereta berlaku penuh
[internet]. [diunduh 2013 Juni 1]. Tersedia di http://archive.is/TAyY.
[PT KAI] Perseroan Terbatas Kereta Api Indonesia. 1998. Peraturan Pemerintah
Republik Indonesia Nomor 69 tentang Prasarana dan Sarana Kereta Api.
Jakarta (ID): PT KAI.
[PT KAI] Perseroan Terbatas Kereta Api Indonesia. 2005. Peraturan Direktur
Jenderal Perhubungan Darat Nomor 770 tentang Pedoman Teknis
Perlintasan Sebidang antara Jalan dengan Jalur Kereta Api. Jakarta (ID): PT
KAI.
Lampiran 1 Data hipotetik
demand
penumpang dari stasiun asal ke stasiun tujuan
Stasiun
asal
Stasiun tujuan
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Lampiran 2
Syntax
Lingo 11.0
Model:
Sets:
stasiun/1..20/;
segmen/1..38/:S,fr,y;
rute/1..16/:maks,biaya,C,x,freq;
arah/1..2/;
links2(rute,arah):F;
links1(stasiun, stasiun):Q,D;
Endsets
DATA:
Q, S, biaya, C, maks=@ole('DATAFIX.xlsx','PERMTN','DEMAND_SEGMEN',
'BIAYAOPERASIONAL','BIAYA_PEMELIHARAANRUTE',
'MAKSIMUM_PERJALANAN');
@ole('DATAFIX.xlsx','RUTEDIPAKAI','FREQPERJALANAN','PENUMPANG_
DIKERETA','FREKUENSI_SEGMEN','PENUMPANG')=x,freq,y,fr,D;
ENDDATA
M=100000;
kap=1200;
!Fungsi objektif;
min=@sum(rute(k):@sum(arah(v):biaya(k)*F(k,v)))+@sum(rute(k):
C(k)*x(k));
!KENDALA
!(1)Realisasi demand penumpang yang terangkut dari stasiun asal i
ke stasiun tujuan j minimal 90% dari demand;
@for(links1(i,j):D(i,j)>0.9*Q(i,j));
@for(links1(i,j):D(i,j)-Q(i,j)<=0);
!(2) Jumlah penumpang dikereta pada segmen w ialah akumulasi dari
realisasi demand penumpang yang terangkut dari setiap stasiun asal
i ke setiap stasiun tujuan j;
!Segmen 1(1-2);
(@sum(stasiun(i)|i#EQ#12#or#i#EQ#11#or#i#EQ#1:@sum(stasiun(j)|j#NE
#12#and#j#NE#11#and#j#NE#1:D(i,j))))-y(1)=0;
!Segmen 2(2-3);
(@sum(stasiun(i)|i#EQ#12#or#i#EQ#11#or#i#EQ#1#or#i#EQ#2:@sum(stasi
un(j)|j#NE#12#and#j#NE#11#and#j#NE#1#and#j#NE#2:D(i,j))))-y(2)=0;
!Segmen 3(3-4);
(@sum(stasiun(i)|i#NE#4#and#i#NE#5#and#i#NE#6:@sum(stasiun(j)|j#EQ
#4#or#j#EQ#5#or#j#EQ#6:D(i,j))))-y(3)=0;
!Segmen 4(4-5);
(@sum(stasiun(i)|i#NE#5#and#i#NE#6:@sum(stasiun(j)|j#EQ#5#or#j#EQ#
6:D(i,j))))-y(4)=0;
!Segmen 5(5-6);
(@sum(stasiun(i)|i#NE#6:@sum(stasiun(j)|j#EQ#6:D(i,j))))-y(5)=0;
!Segmen 6(3-7);
!Segmen 7(7-10);
(@sum(stasiun(i)|i#NE#10#and#i#NE#20:@sum(stasiun(j)|j#EQ#10#or#j#
EQ#20:D(i,j))))-y(7)=0;
!Segmen 8(10-20);
(@sum(stasiun(i)|i#NE#20:@sum(stasiun(j)|j#EQ#20:D(i,j))))-y(8)=0;
!Segmen 9(7-8);
(@sum(stasiun(i)|i#NE#8#and#i#NE#9:@sum(stasiun(j)|j#EQ#8#or#j#EQ#
9:D(i,j))))-y(9)=0;
!Segmen 10(8-9);
(@sum(stasiun(i)|i#NE#9:@sum(stasiun(j)|j#EQ#9:D(i,j))))-y(10)=0;
!Segmen 11(3-13);
(@sum(stasiun(i)|i#NE#13#and#i#NE#14#and#i#NE#15#and#i#NE#16#and#i
#NE#17#and#i#NE#18#and#i#NE#19:@sum(stasiun(j)|j#EQ#13#or#j#EQ#14#
or#j#EQ#15
#or#j#EQ#16#or#j#EQ#17#or#j#EQ#18#or#j#EQ#19:D(i,j))))-y(11)=0;
!Segmen 12(13-14);
(@sum(stasiun(i)|i#NE#14#and#i#NE#15#and#i#NE#16#and#i#NE#17#and#i
#NE#18#and#i#NE#19:@sum(stasiun(j)|j#EQ#14#or#j#EQ#15
#or#j#EQ#16#or#j#EQ#17#or#j#EQ#18#or#j#EQ#19:D(i,j))))-y(12)=0;
!Segmen 13(14-15);
(@sum(stasiun(i)|i#NE#15#and#i#NE#16:@sum(stasiun(j)|j#EQ#15#or#j#
EQ#16:D(i,j))))-y(13)=0;
!Segmen 14(15-16);
(@sum(stasiun(i)|i#NE#16:@sum(stasiun(j)|j#EQ#16:D(i,j))))-y(14)=0;
!Segmen 15(14-17);
(@sum(stasiun(i)|i#NE#17#and#i#NE#18#and#i#NE#19:@sum(stasiun(j)|j
#EQ#17#or#j#EQ#18#or#j#EQ#19:D(i,j))))-y(15)=0;
!Segmen 16(17-18);
(@sum(stasiun(i)|i#NE#18#and#i#NE#19:@sum(stasiun(j)|j#EQ#18#or#j#
EQ#19:D(i,j))))-y(16)=0;
!Segmen 17(18-19);
(@sum(stasiun(i)|i#NE#19:@sum(stasiun(j)|j#EQ#19:D(i,j))))-y(17)=0;
!Segmen 18(19-18);
(@sum(stasiun(i)|i#EQ#19:@sum(stasiun(j)|j#NE#19:D(i,j))))-y(18)=0;
!Segmen 19(18-17);
(@sum(stasiun(i)|i#EQ#19#or#i#EQ#18:@sum(stasiun(j)|j#NE#19#and#j#
NE#18:D(i,j))))-y(19)=0;
!Segmen 20(17-14);
!Segmen 21(16-15);
(@sum(stasiun(i)|i#EQ#16:@sum(stasiun(j)|j#NE#16:D(i,j))))-y(21)=0;
!Segmen 22(15-14);
(@sum(stasiun(i)|i#EQ#16#or#i#EQ#15:@sum(stasiun(j)|j#NE#16#and#j#
NE#15:D(i,j))))-y(22)=0;
!Segmen 23(14-13);
(@sum(stasiun(i)|i#EQ#19#or#i#EQ#18#or#i#EQ#17#or#i#EQ#16#or#i#EQ#
15#or#i#EQ#14:@sum(stasiun(j)|j#NE#19#and#j#NE#18#
and#j#NE#17#and#j#NE#16#and#j#NE#15#and#j#NE#14:D(i,j))))-y(23)=0;
!Segmen 24(13-3);
(@sum(stasiun(i)|i#EQ#19#or#i#EQ#18#or#i#EQ#17#or#i#EQ#16#or#i#EQ#
15#or#i#EQ#14#or#i#EQ#13:@sum(stasiun(j)|j#NE#19#and#j#NE#18#
and#j#NE#17#and#j#NE#16#and#j#NE#15#and#j#NE#14#and#j#NE#13:D(i,j)
)))-y(24)=0;
!Segmen 25(3-2);
(@sum(stasiun(i)|i#NE#2#and#i#NE#1#and#i#NE#11#and#i#NE#12:@sum(st
asiun(j)|j#EQ#2#or#j#EQ#1
#or#j#EQ#11#or#j#EQ#12:D(i,j))))-y(25)=0;
!Segmen 26(2-1);
(@sum(stasiun(i)|i#NE#1#and#i#NE#11#and#i#NE#12:@sum(stasiun(j)|j#
EQ#1#or#j#EQ#11#or#j#EQ#12:D(i,j))))-y(26)=0;
!Segmen 27(1-11);
(@sum(stasiun(i)|i#NE#11#and#i#NE#12:@sum(stasiun(j)|j#EQ#11#or#j#
EQ#12:D(i,j))))-y(27)=0;
!Segmen 28(11-12);
(@sum(stasiun(i)|i#NE#12:@sum(stasiun(j)|j#EQ#12:D(i,j))))-y(28)=0;
!Segmen 29(6-5);
(@sum(stasiun(i)|i#EQ#6:@sum(stasiun(j)|j#NE#6:D(i,j))))-y(29)=0;
!Segmen 30(5-4);
(@sum(stasiun(i)|i#EQ#6#or#i#EQ#5:@sum(stasiun(j)|j#NE#6#and#j#NE#
5:D(i,j))))-y(30)=0;
!Segmen 31(4-3);
(@sum(stasiun(i)|i#EQ#6#or#i#EQ#5#or#i#EQ#4:@sum(stasiun(j)|j#NE#6
#and#j#NE#5#and#j#NE#4:D(i,j))))-y(31)=0;
!Segmen 32(9-8);
(@sum(stasiun(i)|i#EQ#9:@sum(stasiun(j)|j#NE#9:D(i,j))))-y(32)=0;
!Segmen 33(8-7);
(@sum(stasiun(i)|i#EQ#8#or#i#EQ#9:@sum(stasiun(j)|j#NE#8#and#j#NE#
9:D(i,j))))-y(33)=0;
!Segmen 34(7-3);
(@sum(stasiun(i)|i#EQ#9#or#i#EQ#8#or#i#EQ#7#or#i#EQ#10#or#i#EQ#20:
@sum(stasiun(j)|j#NE#9#and#j#NE#8#
!Segmen 35(20-10);
(@sum(stasiun(i)|i#EQ#20:@sum(stasiun(j)|j#NE#20:D(i,j))))-y(35)=0;
!Segmen 36(10-7);
(@sum(stasiun(i)|i#EQ#20#or#i#EQ#10:@sum(stasiun(j)|j#NE#20#and#j#
NE#10:D(i,j))))-y(36)=0;
!Segmen 37(12-11);
(@sum(stasiun(i)|i#EQ#12:@sum(stasiun(j)|j#NE#12:D(i,j))))-y(37)=0;
!Segmen 38(11-1);
(@sum(stasiun(i)|i#EQ#12#or#i#EQ#11:@sum(stasiun(j)|j#NE#12#and#j#
NE#11:D(i,j))))-y(38)=0;
!(3)penumpang di kereta pada segmen w merupakan minimum dari
demand penumpang yang ingin melewati segmen w dan total kapasitas
kereta;
@for(segmen(w):y(w)=@smin(f(w)*kap,S(w)));
!(4)Tempat penumpang yang disediakan di kereta untuk penumpang
lebih besar dari 90% demand penumpang yang ingin melewati segmen
w;
@for(segmen(w):0.9*S(w)<=kap*fr(w));
!(5)jika terdapat frekuensi perjalanan pada rute k maka rute
tersebut digunakan;
@for(rute(k):@for(arah(v):F(k,v)-M*x(k)<=0));
!(6)kereta harus bolak balik pada setiap rute k sehingga frekuensi
perjalanan kereta pada rute k
selalu sama untuk semua arah;
@for(rute(k):@for(arah(v):@for(arah(u)|u#Ne#v:F(k,v)-F(k,u)=0)));
!(7)Frekuensi perjalanan kereta untuk setiap rute tidak boleh
melebihi frekuensi perjalanan maksimum;
@for(rute(k):@sum(arah(v):F(k,v))<=maks(k));
!(8)Frekuensi perjalanan kereta untuk setiap rute merupakan
akumulasi perjalanan dari semua arah;
@for(rute(k):@sum(arah(v):F(k,v))-freq(k)=0);
!(9)frekuensi perjalanan kereta pada suatu segmen merupakan
akumulasi dari frekuensi perjalanan kereta dari berbagai rute dan
arah;
fr(1)-(F(1,1)+F(2,1)+F(3,1)+F(4,1)+F(5,1))=0;
fr(2)-(F(1,1)+F(2,1)+F(3,1)+F(4,1)+F(5,1))=0;
fr(3)-(F(1,1)+F(7,2)+F(8,2)+F(9,2)+F(10,2))=0;
fr(4)-(F(1,1)+F(7,2)+F(8,2)+F(9,2)+F(10,2))=0;
fr(5)-(F(1,1)+F(7,2)+F(8,2)+F(9,2)+F(10,2))=0;
fr(6)-(F(4,1)+F(5,1)+F(9,1)+F(10,1)+F(14,2)+F(15,2)+F(12,2)+
F(13,2))=0;
fr(7)-(F(5,1)+F(11,1)+F(9,1)+F(14,2)+F(15,2))=0;
fr(8)-(F(5,1)+F(11,1)+F(9,1)+F(14,2)+F(15,2))=0;
fr(9)-(F(4,1)+F(10,1)+F(11,2)+F(12,2)+F(13,2))=0;
fr(10)-(F(4,1)+F(10,1)+F(11,2)+F(12,2)+F(13,2))=0;
fr(11)-(F(2,1)+F(3,1)+F(7,1)+F(8,1)+F(12,1)+F(13,1)+F(14,1)
+F(15,1))=0;
fr(12)-(F(2,1)+F(3,1)+F(7,1)+F(8,1)+F(12,1)+F(13,1)+F(14,1)+
F(15,1))=0;
fr(13)-(F(2,1)+F(8,1)+F(12,1)+F(14,1)+F(16,1))=0;
fr(14)-(F(2,1)+F(8,1)+F(12,1)+F(14,1)+F(16,1))=0;
fr(15)-(F(3,1)+F(7,1)+F(13,1)+F(15,1)+F(16,2))=0;
fr(16)-(F(3,1)+F(7,1)+F(13,1)+F(15,1)+F(16,2))=0;
fr(17)-(F(3,1)+F(7,1)+F(13,1)+F(15,1)+F(16,2))=0;
fr(18)-(F(3,2)+F(7,2)+F(13,2)+F(15,2)+F(16,1))=0;
fr(19)-(F(3,2)+F(7,2)+F(13,2)+F(15,2)+F(16,1))=0;
fr(20)-(F(3,2)+F(7,2)+F(13,2)+F(15,2)+F(16,1))=0;
fr(21)-(F(2,2)+F(8,2)+F(12,2)+F(14,2)+F(16,2))=0;
fr(22)-(F(2,2)+F(8,2)+F(12,2)+F(14,2)+F(16,2))=0;
fr(23)-(F(2,2)+F(3,2)+F(7,2)+F(8,2)+F(12,2)+F(13,2)+F(14,2)+
F(15,2))=0;
fr(24)-(F(2,2)+F(3,2)+F(7,2)+F(8,2)+F(12,2)+F(13,2)+F(14,2)+
F(15,2))=0;
fr(25)-(F(1,2)+F(2,2)+F(3,2)+F(4,2)+F(5,2))=0;
fr(26)-(F(1,2)+F(2,2)+F(3,2)+F(4,2)+F(5,2))=0;
fr(27)-F(6,1)=0;
fr(28)-F(6,1)=0;
fr(29)-(F(1,2)+F(7,1)+F(8,1)+F(9,1)+F(10,1))=0;
fr(30)-(F(1,2)+F(7,1)+F(8,1)+F(9,1)+F(10,1))=0;
fr(31)-(F(1,2)+F(7,1)+F(8,1)+F(9,1)+F(10,1))=0;
fr(32)-(F(4,2)+F(10,2)+F(11,1)+F(12,1)+F(13,1))=0;
fr(33)-(F(4,2)+F(10,2)+F(11,1)+F(12,1)+F(13,1))=0;
fr(34)-(F(4,2)+F(5,2)+F(9,2)+F(10,2)+F(14,1)+F(15,1)+F(12,1)+
F(13,1))=0;
fr(35)-(F(5,2)+F(11,2)+F(9,2)+F(14,1)+F(15,1))=0;
fr(36)-(F(5,2)+F(11,2)+F(9,2)+F(14,1)+F(15,1))=0;
fr(37)-F(6,2)=0;
fr(38)-F(6,2)=0;
!(10) kendala ketaknegatifan;
@for(links2(k,v):@gin(F(k,v)));
@for(links2(k,v):F(k,v)>=0);
@for(segmen(w):@gin(fr(w)));
@for(segmen(w):fr(w)>=0);
@for(segmen(w):@gin(y(w)));
@for(segmen(w):y(w)>=0);
@for(rute(k):@gin(freq(k)));
@for(rute(k):freq(k)>=0);
@for(links1(i,j):@gin(D(i,j)));
@for(links1(i,j):D(i,j)>=0);
Lampiran 3 Detail Hasil Komputasi Lingo 11.0 Skenario 1
Keterangan : Nilai yang dicantumkan hanyalah yang tidak bernilai 0
Global optimal solution found.
Objective value: 0.6327600E+08
Objective bound: 0.6327600E+08
Infeasibilities: 0.2702703E-07
Extended solver steps: 0
Total solver iterations: 14
Variable value
M 100000.0 KAP 1200.000 S( 1) 2600.000 FR( 1) 2.000000 FR( 2) 2.000000 FR( 6) 2.000000 FR( 7) 2.000000 FR( 8) 2.000000 FR( 25) 2.000000 FR( 26) 2.000000 FR( 34) 2.000000 FR( 35) 2.000000 FR( 36) 2.000000 Y( 1) 2400.000 Y( 26) 1871.000 MAKS( 1) 170.0000 MAKS( 2) 170.0000 MAKS( 3) 170.0000 MAKS( 4) 170.0000 MAKS( 5) 170.0000 MAKS( 6) 170.0000 MAKS( 7) 170.0000 MAKS( 8) 170.0000 MAKS( 9) 170.0000
MAKS( 10) 170.0000 MAKS( 11) 170.0000 MAKS( 12) 170.0000 MAKS( 13) 170.0000 MAKS( 14) 170.0000 MAKS( 15) 170.0000 MAKS( 16) 170.0000 BIAYA( 1) 9766000. BIAYA( 2) 9615000. BIAYA( 3) 0.1023300E+08 BIAYA( 4) 6838000. BIAYA( 5) 6569000. BIAYA( 6) 2340000. BIAYA( 7) 0.1599200E+08 BIAYA( 8) 0.1537400E+08 BIAYA( 9) 0.1232700E+08 BIAYA( 10) 0.1259600E+08 BIAYA( 11) 6589000. BIAYA( 12) 0.1215300E+08 BIAYA( 13) 0.1287600E+08 BIAYA( 14) 0.1184900E+08 BIAYA( 15) 0.1260600E+08 BIAYA( 16) 0.1144200E+08 C( 1) 0.5500000E+08
Lampiran 4 Detail Hasil Komputasi Lingo 11.0 Skenario 2
Keterangan : Nilai yang dicantumkan hanyalah yang tidak bernilai 0
Global optimal solution found.
Objective value: 0.2307880E+09
Objective bound: 0.2307880E+09
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 24
variable value M 100000.0 KAP 1200.000 S( 1) 6435.000 S( 2) 8142.000 S( 3) 10261.00 S( 4) 10339.00 S( 5) 6226.000 S( 25) 7348.000 S( 26) 5758.000 S( 29) 5953.000 S( 30) 8616.000 S( 31) 7562.000 FR( 1) 9.000000 FR( 2) 9.000000 FR( 3) 9.000000 FR( 4) 9.000000 FR( 5) 9.000000 FR( 25) 9.000000 FR( 26) 9.000000 FR( 29) 9.000000 FR( 30) 9.000000 FR( 31) 9.000000 Y( 1) 6435.000 Y( 2) 8142.000 Y( 3) 10261.00 Y( 4) 10339.00 Y( 5) 6226.000
Y( 25) 7348.000 Y( 26) 5758.000 Y( 29) 5953.000 Y( 30) 8616.000 Y( 31) 7562.000 MAKS( 1) 170.0000 MAKS( 2) 170.0000 MAKS( 3) 170.0000 MAKS( 4) 170.0000 MAKS( 5) 170.0000 MAKS( 6) 170.0000 MAKS( 7) 170.0000 MAKS( 8) 170.0000 MAKS( 9) 170.0000 MAKS( 10) 170.0000 MAKS( 11) 170.0000 MAKS( 12) 170.0000 MAKS( 13) 170.0000 MAKS( 14) 170.0000 MAKS( 15) 170.0000 MAKS( 16) 170.0000 BIAYA( 1) 9766000. BIAYA( 2) 9615000. BIAYA( 3) 0.1023300E+08 BIAYA( 4) 6838000. BIAYA( 5) 6569000. BIAYA( 6) 2340000. BIAYA( 7) 0.1599200E+08
F( 1, 2) 9.000000 Q( 1, 2) 2600.000 Q( 1, 3) 211.0000 Q( 1, 4) 27.00000 Q( 1, 5) 1851.000 Q( 1, 6) 1746.000 Q( 2, 1) 1871.000 Q( 2, 3) 1638.000 Q( 2, 4) 385.0000 Q( 2, 5) 1142.000 Q( 2, 6) 1142.000 Q( 3, 1) 152.0000 Q( 3, 2) 1902.000 Q( 3, 4) 1151.000 Q( 3, 5) 1345.000 Q( 3, 6) 1472.000 Q( 4, 1) 39.00000 Q( 4, 2) 445.0000 Q( 4, 3) 957.0000 Q( 4, 5) 800.0000 Q( 4, 6) 841.0000
Q( 5, 1) 1933.000 Q( 5, 2) 69.00000 Q( 5, 3) 74.00000 Q( 5, 4) 1504.000 Q( 5, 6) 1025.000 Q( 6, 1) 1763.000 Q( 6, 2) 1045.000 Q( 6, 3) 1237.000 Q( 6, 4) 991.0000 Q( 6, 5) 917.0000 D( 1, 2) 2600.000 D( 1, 3) 211.0000 D( 1, 4) 27.00000 D( 1, 5) 1851.000 D( 1, 6) 1746.000 D( 2, 1) 1871.000 D( 2, 3) 1638.000 D( 2, 4) 385.0000 D( 2, 5) 1142.000 D( 2, 6) 1142.000 D( 3, 1) 152.0000
D( 3, 2) 1902.000 D( 3, 4) 1151.000 D( 3, 5) 1345.000 D( 3, 6) 1472.000 D( 4, 1) 39.00000 D( 4, 2) 445.0000 D( 4, 3) 957.0000 D( 4, 5) 800.0000 D( 4, 6) 841.0000 D( 5, 1) 1933.000 D( 5, 2) 69.00000 D( 5, 3) 74.00000 D( 5, 4) 1504.000 D( 5, 6) 1025.000 D( 6, 1) 1763.000 D( 6, 2) 1045.000 D( 6, 3) 1237.000 D( 6, 4) 991.0000 D( 6, 5) 917.0000
Lampiran 5 Detail Hasil Komputasi Lingo 11.0 Skenario 3
Keterangan : Nilai yang dicantumkan hanyalah yang tidak bernilai 0
Global optimal solution found.
Objective value: 0.5574660E+09
Objective bound: 0.5574660E+09
Infeasibilities: 0.000000
Variable value
M 100000.0 KAP 1200.000 S( 1) 6483.000 S( 2) 8462.000 S( 3) 10261.00 S( 4) 10339.00 S( 5) 6226.000 S( 6) 10713.00 S( 7) 10731.00 S( 8) 4553.000 S( 11) 11693.00 S( 12) 13327.00 S( 13) 10083.00 S( 14) 5664.000 S( 21) 6202.000 S( 22) 9701.000 S( 23) 12487.00 S( 24) 9727.000 S( 25) 7348.000 S( 26) 5758.000 S( 29) 5953.000 S( 30) 8616.000 S( 31) 7562.000 S( 34) 12354.00 S( 35) 5182.000 S( 36) 11070.00 FR( 1) 9.000000 FR( 2) 9.000000 FR( 3) 9.000000 FR( 4) 9.000000 FR( 5) 9.000000 FR( 6) 11.00000 FR( 7) 11.00000 FR( 8) 11.00000 FR( 11) 11.00000 FR( 12) 11.00000 FR( 13) 11.00000 FR( 14) 11.00000 FR( 21) 11.00000 FR( 22) 11.00000 FR( 23) 11.00000 FR( 24) 11.00000 FR( 25) 9.000000 FR( 26) 9.000000 FR( 29) 9.000000 FR( 30) 9.000000 FR( 31) 9.000000 FR( 34) 11.00000 FR( 35) 11.00000 FR( 36) 11.00000 Y( 1) 6483.000 Y( 2) 8462.000 Y( 3) 10261.00 Y( 4) 10339.00 Y( 5) 6226.000 Y( 6) 10713.00 Y( 7) 10731.00 Y( 8) 4553.000 Y( 11) 11693.00 Y( 12) 13200.00 Y( 13) 10083.00 Y( 14) 5664.000 Y( 21) 6202.000
Y( 22) 9701.000 Y( 23) 12487.00 Y( 24) 9727.000 Y( 25) 7348.000 Y( 26) 5758.000 Y( 29) 5953.000 Y( 30) 8616.000 Y( 31) 7562.000 Y( 34) 12354.00 Y( 35) 5182.000 Y( 36) 11070.00 MAKS( 1) 170.0000 MAKS( 2) 170.0000 MAKS( 3) 170.0000 MAKS( 4) 170.0000 MAKS( 5) 170.0000 MAKS( 6) 170.0000 MAKS( 7) 170.0000 MAKS( 8) 170.0000 MAKS( 9) 170.0000 MAKS( 10) 170.0000 MAKS( 11) 170.0000 MAKS( 12) 170.0000 MAKS( 13) 170.0000 MAKS( 14) 170.0000 MAKS( 15) 170.0000 MAKS( 16) 170.0000 BIAYA( 1) 9766000. BIAYA( 2) 9615000. BIAYA( 3) 0.1023300E+08 BIAYA( 4) 6838000. BIAYA( 5) 6569000. BIAYA( 6) 2340000. BIAYA( 7) 0.1599200E+08 BIAYA( 8) 0.1537400E+08 BIAYA( 9) 0.1232700E+08 BIAYA( 10) 0.1259600E+08 BIAYA( 11) 6589000. BIAYA( 12) 0.1215300E+08 BIAYA( 13) 0.1287600E+08 BIAYA( 14) 0.1184900E+08 BIAYA( 15) 0.1260600E+08 BIAYA( 16) 0.1144200E+08 C( 1) 0.5500000E+08 C( 2) 0.5400000E+08 C( 3) 0.5700000E+08 C( 4) 0.3800000E+08 C( 5) 0.3700000E+08 C( 6) 0.1300000E+08 C( 7) 0.9000000E+08 C( 8) 0.8600000E+08 C( 9) 0.6900000E+08 C( 10) 0.7000000E+08 C( 11) 0.3700000E+08 C( 12) 0.6800000E+08 C( 13) 0.7200000E+08 C( 14) 0.6600000E+08 C( 15) 0.7000000E+08 C( 16) 0.6400000E+08 X( 1) 1.000000 X( 14) 1.000000 FREQ( 1) 18.00000 FREQ( 14) 22.00000
Q( 13, 20) 12.00000 Q( 14, 3) 1030.000 Q( 14, 7) 1143.000 Q( 14, 10) 769.0000 Q( 14, 13) 1974.000 Q( 14, 15) 864.0000 Q( 14, 16) 1437.000 Q( 14, 20) 64.00000 Q( 15, 3) 700.0000 Q( 15, 7) 810.0000 Q( 15, 10) 1232.000 Q( 15, 13) 88.00000 Q( 15, 14) 624.0000 Q( 15, 16) 381.0000 Q( 15, 20) 496.0000 Q( 16, 3) 1110.000 Q( 16, 7) 26.00000 Q( 16, 10) 928.0000 Q( 16, 13) 1627.000 Q( 16, 14) 1570.000 Q( 16, 15) 451.0000 Q( 16, 20) 490.0000 Q( 20, 3) 1642.000 Q( 20, 7) 1375.000 Q( 20, 10) 36.00000 Q( 20, 13) 1223.000 Q( 20, 14) 37.00000 Q( 20, 15) 338.0000 Q( 20, 16) 531.0000 D( 1, 2) 2600.000 D( 1, 3) 211.0000 D( 1, 4) 27.00000 D( 1, 5) 1851.000 D( 1, 6) 1746.000 D( 1, 20) 48.00000 D( 2, 1) 1871.000 D( 2, 3) 1638.000 D( 2, 4) 385.0000 D( 2, 5) 1142.000
D( 2, 6) 1142.000 D( 2, 20) 272.0000 D( 3, 1) 152.0000 D( 3, 2) 1902.000 D( 3, 4) 1151.000 D( 3, 5) 1345.000 D( 3, 6) 1472.000 D( 3, 7) 443.0000 D( 3, 10) 1855.000 D( 3, 13) 315.0000 D( 3, 14) 1157.000 D( 3, 15) 880.0000 D( 3, 16)