BAB 3 LANDASAN TEORI 3.1. Penjadwalan di Industri Penerbangan Dalam dunia penerbangan, penjadwalan yang dilakukan dapat terbagi menjadi empat tahap sebagai berikut ( Anbil, Forrest, dan Pulleyblank, 1998, p677 – 678 ) : a. Penyusunan jadwal penerbangan Tahap ini merupakan langkah pertama yang dilakukan dalam rangkaian penjadwalan penerbangan. Aspek komersial biasanya menjadi faktor utama yang sangat mempengaruhi penyusunan jadwal penerbangan. Tujuan penyusunan jadwal penerbangan adalah untuk memenuhi kebutuhan pasar sesuai dengan armada yang dimiliki oleh perusahaan dengan kendala jaringan, misalnya alokasi slot waktu di bandara. Sekalipun demikian, tahapan ini tidak dapat dipisahkan dengan tahapan – tahapan berikutnya yang akan dijelaskan selanjutnya. b. Penugasan armada pesawat Setelah jadwal penerbangan ditetapkan, selanjutnya ditentukan pesawat – pesawat jenis apakah yang akan digunakan dalam melayani rute – rute yang telah ditetapkan dalam jadwal penerbangan. Tujuan penugasan pesawat ini adalah untuk memaksimalkan utilisasi armada yang dimiliki oleh maskapai
53
Embed
BAB 3 LANDASAN TEORI 3.1. Penjadwalan di Industri ...thesis.binus.ac.id/doc/Bab3/2006-2-01027-TISI-bab 3.pdfLANDASAN TEORI 3.1. Penjadwalan di Industri Penerbangan Dalam dunia penerbangan,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
BAB 3
LANDASAN TEORI
3.1. Penjadwalan di Industri Penerbangan
Dalam dunia penerbangan, penjadwalan yang dilakukan dapat terbagi
menjadi empat tahap sebagai berikut ( Anbil, Forrest, dan Pulleyblank, 1998,
p677 – 678 ) :
a. Penyusunan jadwal penerbangan
Tahap ini merupakan langkah pertama yang dilakukan dalam rangkaian
penjadwalan penerbangan. Aspek komersial biasanya menjadi faktor utama
yang sangat mempengaruhi penyusunan jadwal penerbangan. Tujuan
penyusunan jadwal penerbangan adalah untuk memenuhi kebutuhan pasar
sesuai dengan armada yang dimiliki oleh perusahaan dengan kendala jaringan,
misalnya alokasi slot waktu di bandara. Sekalipun demikian, tahapan ini tidak
dapat dipisahkan dengan tahapan – tahapan berikutnya yang akan dijelaskan
selanjutnya.
b. Penugasan armada pesawat
Setelah jadwal penerbangan ditetapkan, selanjutnya ditentukan pesawat –
pesawat jenis apakah yang akan digunakan dalam melayani rute – rute yang
telah ditetapkan dalam jadwal penerbangan. Tujuan penugasan pesawat ini
adalah untuk memaksimalkan utilisasi armada yang dimiliki oleh maskapai
25
penerbangan untuk memaksimalkan keuntungan perusahaan. Hal – hal yang
biasanya dipertimbangkan dalam penugasan pesawat ini antara lain adalah
potensi penumpang pada suatu jalur, medan suatu jalur, serta kemampuan
bandara untuk didarati oleh suatu jenis pesawat tertentu.
c. Penyusunan rotasi penugasan awak pesawat ( crew pairing )
Tahapan selanjutnya adalah melakukan penjadwalan terhadap awak pesawat.
Awak pesawat ini terdiri dari awak cockpit yang terdiri dari pilot dan co –
pilot, serta awak cabin yang terdiri dari beberapa pramugara/i. Masing –
masing jenis pesawat memiliki jumlah kebutuhan awak yang berbeda. Dalam
tahap penjadwalan awak pesawat ini belum dilakukan penjadwalan secara
individu, tetapi hanya berupa rotasi penugasan awak pesawat pada jadwal dan
rute yang ada. Rotasi penugasan dilakukan untuk penugasan single day ( duty
periods ) serta multidays ( pairing ).
Gambar 3.1. Rotasi Penugasan Awak Pesawat
Rotasi penugasan awak pesawat harus dibuat dengan mematuhi berbagai
aturan keselamatan awak, baik yang telah ditetapkan oleh badan internasional
maupun oleh maskapai penerbangan sendiri, dengan tetap melayani semua
jalur penerbangan yang telah ditetapkan. Hal lain yang juga harus
26
diperhatikan adalah tersedianya jumlah awak yang memadai sesuai dengan
beban kerja yang ada pada masing – masing homebase.
Kesulitan dalam menyusun rotasi penugasan ini, disebabkan oleh beberapa
faktor, diantaranya :
• peraturan yang ditetapkan oleh CASR ( Civil Aviation Safety Regulation )
serta peraturan – peraturan yang ditetapkan oleh perusahaan penerbangan.
• perhitungan biaya rotasi penugasan yang sangat kompleks, meliputi biaya
( Proksch dan Weinert, 1999, p422 ) :
- deadhead : biaya yang dikeluarkan perusahaan untuk membayar waktu
penerbangan awak pesawatnya sebagai penumpang dikarenakan kota
keberangkatan pada awal rotasi penugasan tidak berasal dari kota
home base awak pesawat.
- hotel : biaya akomodasi karena kota penerbangan terakhir dan kota
keberangkatan pertama di hari penugasan tidak sama dengan home
base awak pesawat ( RON : Remain Over Night ).
- x-work : unproductive time awak pesawat, yaitu selang waktu bertugas
antar penggal penerbangan, di luar waktu terbang awak pesawat.
- rotation changes : perpindahan pesawat selama rotasi penugasan.
Minimasi perpindahan pesawat akan membantu dalam menjaga
stabilitas jadwal penerbangan kala terjadi penundaan, ataupun
pemecahan rotasi penugasan.
27
- shorties : banyaknya penggal penerbangan yang ditugaskan dalam
suatu rotasi penugasan.
• jumlah rotasi penugasan yang memungkinkan sangat besar, sehingga
sangatlah tidak praktis untuk menghasilkan satu himpunan lengkap rotasi
penugasan untuk suatu permasalahan
d. Penjadwalan awak pesawat secara individu ( crew rostering )
Setelah dibuat rotasi penugasan awak pesawat, tahap selanjutnya adalah
menugaskan masing – masing individu pada rotasi penugasan yang telah
ditetapkan dengan pembuatan jadwal untuk masing – masing awak. Tahap ini
merupakan proses yang kompleks. Penugasan awak per individu ini biasanya
mempertimbangkan senioritas. Beberapa perusahaan penerbangan berusaha
memodelkan proses ini dengan model optimalisasi dengan tujuan untuk
memaksimalkan total keadilan jam terbang di antara para awak. Dalam
penjadwalan ini, tidak hanya penugasan untuk terbang saja, tetapi juga
penjadwalan penugasan untuk reserved.
Dalam empat tahap proses penjadwalan di atas, perubahan merupakan
hal yang sulit untuk dihindarkan, mengingat banyaknya faktor yang
berpengaruh ( Gustafsson, 1999, p2 ). Perubahan dapat terjadi pada masing –
masing tahap, dan biasanya memiliki pengaruh pada tahap – tahap yang lain.
Misalnya, jika sebuah penerbangan dibatalkan, maka penjadwalan awak harus
28
diatur sedemikian rupa agar tidak terlalu mengganggu penjadwalan yang telah
ditetapkan semula. Solusi yang dibutuhkan dalam menghadapi adanya
perubahan ini, tidak hanya dituntut untuk memiliki biaya yang rendah, tetapi
juga memiliki efek rantai yang sekecil mungkin terhadap pembuatan jadwal –
jadwal lainnya.
3.2. Penjadwalan Awak Pesawat
3.2.1. Istilah dalam Penjadwalan Awak Pesawat
Tujuan dalam permasalahan penjadwalan awak pesawat ini adalah
untuk meminimalkan biaya penugasan awak pada jadwal penerbangan yang
ada. Seperti yang telah dijelaskan sebelumnya, bahwa jadwal penerbangan
yang dibuat kemudian ditugaskan pada jenis – jenis armada pesawat yang
dimiliki oleh sebuah maskapai penerbangan. Biasanya awak pesawat memiliki
kualifikasi untuk menerbangi jenis pesawat tertentu. Hal ini umumnya lebih
berlaku untuk pilot dan co - pilot. Sedang pramugara/i biasanya memiliki
kualifikasi untuk bertugas pada lebih dari satu jenis pesawat. Meskipun
demikian, permasalahan penjadwalan baik untuk pilot, co – pilot, maupun
pramugara/i memiliki struktur umum yang sama sehingga dapat diselesaikan
dengan metodologi yang sama.
29
Sebelum dijelaskan lebih lanjut mengenai pembuatan rotasi penugasan
awak pesawat, akan dijelaskan terlebih dahulu beberapa istilah yang terkait
sebagai berikut ( Vance, 1995, p2 ) :
• Penggal penerbangan ( flight leg ) : segmen penerbangan yang berupa
penerbangan tunggal non – stop.
• Periode tugas ( duty period ) : rangkaian penggal penerbangan dengan waktu
istirahat singkat di antaranya yang biasanya berupa waktu transit pesawat.
Termasuk dalam periode tugas adalah waktu pelaporan yang dilakukan pada
awal dan akhir sebuah periode tugas. Sebuah periode tugas biasanya dapat
dipandang sebagai hari kerja tunggal untuk seorang awak.
• Rotasi penugasan ( pairing ) : rangkaian periode tugas dengan istirahat yang
berupa waktu inap di antaranya. Masing – masing pairing berawal dan selesai
pada homebase yang sama, di mana awak bertempat tinggal.
• Deadhead : awak pesawat terbang sebagai penumpang sebelum / setelah
menjalankan tugasnya yang diawali atau diakhiri pada kota di luar
homebase - nya.
3.2.2. Batasan Pembuatan Rotasi Penugasan
Dalam dunia penerbangan, keselamatan merupakan faktor utama yang
harus diperhatikan. Faktor manusia sangat berpengaruh terhadap keselamatan
suatu penerbangan. Dari berbagai pengalaman yang ada, tidak jarang
30
terjadinya kecelakaan pesawat disebabkan karena faktor kesalahan manusia.
Hal ini merupakan faktor yang tidak dapat dihilangkan, tetapi dapat
diminimalkan. Upaya untuk meminimalkan hal tersebut antara lain dengan
adanya aturan – aturan dalam penjadwalan tugas bagi awak pesawat.
Peraturan – peraturan secara garis besar telah ditetapkan oleh badan
penerbangan internasional melalui CASR ( Civil Aviation Safety Regulation ).
Untuk pelaksanaannya, biasanya disesuaikan dengan situasi dan kondisi
masing – masing wilayah pengoperasian penerbangan. Sebuah maskapai
penerbangan biasanya mengeluarkan kebijakan sendiri yang lebih merinci
aturan – aturan yang ada.
Hal – hal yang biasanya diatur dalam penugasan awak pesawat adalah
sebagai berikut :
a. waktu terbang maksimum ( maximum flight time )
b. waktu tugas maksimum ( maximum duty hours )
c. waktu istirahat minimum ( minimum rest time )
d. jumlah pendaratan maksimum per hari
3.2.3. Struktur Biaya Penugasan Awak Pesawat
Dalam industri penerbangan, struktur biaya dalam suatu periode tugas
dapat dirumuskan sebagai berikut :
{ }dhdtimefflyelapsefb deaddd *,*max += (1)
31
• bd : biaya tugas yang ditunjukkan dalam jam
• fd*elapse : sebuah pecahan yang dikalikan dengan panjangnya waktu
periode tugas
• fdead*dhdtime : sebuah pecahan yang dikalikan dengan jumlah jam ketika
awak diterbangkan sebagai penumpang pada saat
deadheading
Biaya pairing p juga dirumuskan dalam bentuk jam, cp, yang
merupakan maksimum dari tiga komponen sebagai berikut :
⎭⎬⎫
⎩⎨⎧
= ∑∈pd
dppp bTAFBfmgNDPc ,*,*max (2)
Seperti yang terdapat dalam rumus di atas, tiga komponen tersebut adalah :
• NDP*mgp : jumlah periode tugas yang terdapat dalam pairing, yang
dikalikan dengan jumlah jam minimum dalam suatu periode
tugas
• fp*TAFB : sebuah pecahan yang dikalikan dengan panjangnya waktu pairing
• ∑∈pd
db : jumlah biaya dari masing – masing periode tugas yang menyusun
suatu pairing
Biaya – biaya dalam perumusan di atas diwakili dengan jam, bukan
berdasarkan satuan uang karena perhitungan biaya tersebut dihitung
32
berdasarkan jam. Dari perumusan di atas, dapat diketahui bahwa pinalti akan
terjadi pada pairing yang memiliki TAFB relatif tinggi terhadap jumlah jam
yang diterbangi dan pairing yang memiliki jumlah jam terbang yang sedikit
dalam suatu periode tugas. Biasanya, tujuan dari model optimalisasi dibuat
untuk menemukan periode tugas yang mempartisi penerbangan, serta pairing
yang melingkupi periode tugas dengan biaya yang sedekat mungkin dengan
total waktu penerbangan yang dijadwalkan.
3.2.4. Penugasan untuk Penerbangan Domestik
Penjadwalan awak pesawat untuk rute domestik berbeda dengan
penjadwalan untuk rute internasional. Struktur hub dan spoke untuk jaringan
penerbangan domestik menambah kompleksitas permasalahan karena dapat
meningkatkan jumlah kemungkinan koneksi awak pesawat sehingga dapat
menambah kemungkinan jumlah pairing.
Hal lain yang membedakan penerbangan domestik dengan
penerbangan internasional adalah penggal penerbangan. Untuk penerbangan
domestik, masing – masing penggal penerbangan memakan waktu yang relatif
singkat, sehingga dalam satu periode tugas dapat terdiri dari beberapa penggal
penerbangan. Sedang untuk penerbangan internasional, satu penggal
penerbangan umumnya dapat memakan waktu yang relatif lama, yang
33
menyebabkan satu periode tugas tidak terdiri dari banyak penggal
penerbangan.
Ketika dilakukan penugasan awak pesawat pada jadwal penerbangan
yang ada, masing – masing penggal penerbangan harus ditugaskan kepada
minimal satu set awak pesawat. Hal ini menimbulkan kemungkinan adanya
dua set awak pesawat yang ditugaskan pada penggal penerbangan yang sama.
Apabila hal ini terjadi, maka timbul biaya deadhead, yaitu biaya yang
dikeluarkan perusahaan untuk membayar waktu penerbangan awak
pesawatnya sebagai penumpang serta untuk membayar waktu penerbangan
awak pesawatnya selama pengangkutan. Biaya yang dikeluarkan untuk
mengangkut awak pesawat sebagai penumpang ini adalah berupa biaya
pembayaran tiket pesawat ( jika awak pesawat menggunakan maskapai
penerbangan lain ) atau berupa biaya yang timbul akibat berkurangnya kursi
pesawat yang seharusnya bisa dijual ke penumpang.
3.2.5. Model Matematis Rotasi Penugasan Awak Pesawat
3.2.5.1.Model Dasar
Model dasar rotasi penugasan awak pesawat adalah berupa programa
integer dengan kategori partisi set ( set partitioning ) yang dapat dirumuskan
sebagai berikut :
34
{ } Ppyp
Fiy
yc
pipp
Pppp
∈∈
∈=∑
∑
∈
∈
1,0
1
min
: (3)
dimana :
• yp : 1 jika pairing p merupakan penyelesaiannya dan yp = 0 jika bukan
• F : himpunan penggal penerbangan
• P : himpunan pairing
• p : memiliki nilai 1 pada baris i jika penerbangan i diterbangi oleh pairing p
• cp : biaya pairing p
Dalam menggunakan rumus di atas, pairing harus dienumerasikan
atau dihasilkan terlebih dahulu. Enumerasi pairing ini merupakan pekerjaan
yang kompleks karena banyaknya aturan yang harus diakomodasikan untuk
sejumlah penerbangan yang tidak sedikit sehingga dihasilkan jumlah
kemungkinan pairing yang memenuhi aturan yang telah ditetapkan. Hal ini
biasanya dilakukan dengan terlebih dahulu mengenumerasi semua
kemungkinan periode tugas pada suatu jadwal penerbangan, yang kemudian
diikuti dengan mengenumerasi semua kemungkinan kombinasi periode tugas
tersebut dalam bentuk pairing. Enumerasi periode tugas dapat dilakukan
dengan pendekatan depth – first search.
35
Untuk masing – masing penggal penerbangan, dapat dikonstruksikan
sebuah pohon dengan titik yang menggambarkan penggal penerbangan. Titik
tersebut memiliki anak yang menggambarkan kemungkinan hubungan dengan
penggal penerbangan lainnya. Pada masing – masing tingkat berikutnya,
masing – masing titik memiliki sebuah anak untuk setiap hubungan yang
memungkinkan. Kedalaman pohon akan dibatasi dengan jumlah maksimum
penggal penerbangan yang diizinkan dalam sebuah periode tugas. Masing –
masing jalur yang terdiri dari rangkaian – rangkaian titik tersebut
menggambarkan periode tugas yang memungkinkan. Selanjutnya jalur
tersebut diperiksa ulang untuk menjamin bahwa jalur periode tugas tersebut
tidak melanggar aturan – aturan penerbangan yang telah ditetapkan. Pairing
juga dapat dihasilkan menggunakan cara seperti di atas dengan membuat
pohon dengan periode tugas sebagai titiknya.
Dalam kenyataannya, pembuatan pairing melibatkan variabel yang
cukup banyak, misalnya 800 penerbangan mungkin memiliki jutaan pairing,
maka digunakanlah pendekatan optimasi lokal ( Anbil, p71-78 ). Optimasi
lokal ini bisa dilakukan dengan menggunakan variasi rumus partisi set untuk
memperoleh penyelesaian yang layak dengan membuat penggal penerbangan
banyak terlingkupi dan tak terlingkupi dengan membayar pinalti. Jika telah
ditemukan penyelesaian yang layak, optimasi lokal digunakan untuk
meningkatkan kualitas penyelesaian.
36
Untuk memperoleh penyelesaian yang optimal secara global,
digunakan pendekatan Sprint ( Anbil, p681 ) di mana ribuan kolom
dimasukkan ke perangkat lunak untuk penyelesaian program linier, dan
kemudian kolom tersebut dioptimalisasi melalui program linier. Kemudian,
kolom non dasar dibuang, dan sejumlah kolom ditambahkan. Proses ini
berlanjut sehingga semua kolom diperhitungkan. Pendekatan lainnya adalah
dengan menggunakan metode jalur terpendek dengan jalur terstruktur khusus
untuk mendapatkan pairing yang optimal. Alternatif pendekatan lain yang
juga dapat digunakan adalah dengan algoritma branch – and – cut.
3.2.5.2.Perumusan Berdasarkan Periode Tugas
Selain menggunakan pairing untuk mempartisi penerbangan seperti
yang terdapat pada rumus (3), model rotasi penugasan awak pesawat dapat
dipecah menjadi dua tahap. Pertama, dibuatlah himpunan periode tugas yang
mempartisi penggal penerbangan dan kemudian selanjutnya dibuat himpunan
pairing yang mempartisi periode – periode tugas tersebut. Dengan melihat
permasalahan dengan sudut pandang ini, maka dibentuk skema dekomposisi
baru yang menghasilkan penyelesaian pairing dengan terlebih dahulu
mengidentifikasikan periode tugas yang memungkinkan. Formulasi ini akan
lebih besar daripada yang terdapat pada rumus (3).
37
Perumusan berdasarkan periode tugas untuk rotasi penugasan pesawat
adalah sebagai berikut :
{ }{ } Ppz
Ddx
Ddzx
Fix
zcxb
p
d
pdppd
didd
Dd Ppppdd
∈∈∈∈
∈=+−
∈=
+
∑
∑
∑ ∑
∈
∈
∈ ∈
1,01,0
0
1
ˆmin
:
:
(4)
dimana :
xd : 1 jika dipilih periode tugas d, dan 0 jika tidak
zp : 1 jika dipilih pairing p, dan 0 jika tidak
F : himpunan penggal penerbangan yang terdapat pada jadwal
D : himpunan periode tugas
P : himpunan pairing
bd : biaya periode tugas d
pc : biaya lebih pairing yang merupakan selisih antara biaya pairing
dengan jumlah total biaya periode tugas yang terdapat dalam pairing
Kendala pertama dalam perumusan di atas akan membuat masing –
masing penggal penerbangan termasuk dalam satuan periode tugas. Sedang
kendala kedua dimaksudkan agar sebuah pairing meliputi suatu rangkaian
periode tugas yang di dalamnya terdapat penggal – penggal penerbangan.
38
Perumusan di atas akan memiliki lebih banyak kolom dan baris
dibanding rumus (3). Seperti pada (3), rumus (4) di atas memiliki kolom
tersendiri untuk masing – masing pairing. Akan tetapi, secara umum kolom
pairing yang terdapat pada perumusan di atas lebih jarang karena
mengandung nilai bukan nol untuk masing – masing periode tugasnya.
Terdapat juga kolom tambahan untuk masing – masing periode tugas, tetapi
tidak memiliki pengaruh yang besar terhadap total jumlah kolom karena
jumlah tugas umumnya kurang dari jumlah pairing. Rumus (4) juga memiliki
lebih banyak baris karena terdapat baris tambahan untuk periode tugas yang
harus termasuk dalam sebuah pairing.
Teorema 1
Relaksasi programa linier rumus (4) akan memberikan batas yang sama
dengan relaksasi program linier rumus (3).
Bukti
Variabel zp dan yp mewakili pairing yang sama. zp mewakili pairing yang
melingkupi periode tugas sedang yp mewakili pairing yang melingkupi
penggal penerbangan. Dari penyelesaian program linier, dapat dinyatakan zp*
= yp* untuk Pp∈ , dan ∑
∈
=pdp
pd zx:
** . Dari pilihan y*, z*, serangkaian kendala
kedua pada rumus (4) terpenuhi. Ekuivalen partisi penerbangan dan tugas
terjadi dari :
39
∑ ∑ ∑ ∑∈ ∈ ∈ ∈
===did did pdp pip
ppd yzx: : : :
*** 1
Berdasarkan persamaan di atas, dapat dibuktikan bahwa penyelesaian y* dan
x*, z* memberikan batasan programa linier yang sama. Jika ∑∈
=+pd
ppd ccb ˆ
untuk semua pairing p. Fungsi tujuan rumus (3) dapat dinyatakan dengan :
Dari perumusan di atas, dapat diketahui bahwa persamaan terakhir merupakan
tujuan fungsi persamaan (4).
Jika diterapkan dekomposisi Dantzig – Wolfe terhadap rumus (4)
dengan membuat kendala partisi set sesuai dengan penerbangan :
∑∈
∈=id
d Fix:
1
Pada subproblem, diperoleh perumusan problem utama ( master problem )
sebagai berikut :
∑ ∑
∑ ∑ ∑
∑ ∑ ∑
∈ ∈
∈ ∈ ∈
∈ ∈ ∈
+=
+=
+=
Pp Ddddpp
Pp Dd pdppdpp
Pp Pp pdpdppp
xbzc
zbzc
zbcyc
**
:
**
**
ˆ
ˆ
)ˆ(
40
{ }{ } Ppz
Ssw
Ddzw
w
zcwC
p
s
Ss Ppps
Sss
Pppp
Ssss
∈∈∈∈
∈=+−
=
+
∑ ∑
∑
∑∑
∈ ∈
∈
∈∈
1,01,0
0
1
ˆmin
(5)
dimana :
s : periode tugas yang mempartisi penerbangan yang digunakan sebagai
acuan yang mempartisi penerbangan
ws : 1 jika set s digunakan untuk menerbangi penerbangan, dan 0 jika tidak
zp : 1 jika digunakan pairing p dan 0 jika tidak
S : himpunan dari himpunan periode tugas pada perumusan
P : himpunan pairing
Cs : biaya dimana terkait dengan s yang merupakan penjumlahan biaya
periode tugas secara individu pada set tersebut, ∑∈sd
db .
Kendala pertama menjadikan tepat hanya satu calon set yang terpilih.
Kendala lainnya, seperti yang terdapat pada (4) dimaksudkan agar sebuah
pairing yang dipilih melingkupi periode tugas yang melingkupi penerbangan.
Perumusan (5) dapat disebut dengan problem utama terbatas ( restricted
master problem ).
Alasan utama untuk menggunakan perumusan (5) menggantikan
perumusan (3) adalah untuk memperoleh batas yang lebih baik dari relaksasi
41
program linier. Relaksasi dilakukan untuk menghapus kendala yang membuat
suatu permasalahan lebih sulit untuk dipecahkan. Untuk programa integer,
relaksasi dilakukan dengan menghapus kendala integernya. Relaksasi
programa linier perumusan (5) adalah sebagai berikut :
SszSsw
Ddzw
w
zcwC
p
s
Ss Ppps
Sss
Ss Ppppss
∈≥∈≥
∈=+−
=
+
∑ ∑
∑
∑ ∑
∈ ∈
∈
∈ ∈
00
0
1
ˆmin
(6)
Teorema 2
Batas dari rumus (6) adalah lebih besar atau sama dengan batas dari relaksasi
program linier dari (4) atau (3).
Bukti
Diketahui ( )zw ˆ,ˆ merupakan penyelesaian relaksasi programa linier dari
perumusan (6). Kemudian dapat dibuat sebuah penyelesaian ( x*, z* ) terhadap
relaksasi programa linier dari (4) dengan ∑∈
=sds
sd wx:
* ˆ dan pp zz ˆ* = . Dapat
diketahui bahwa kendala kedua perumusan (4) dipenuhi oleh x*, z*. Untuk
kendala pertama, dapat dinyatakan :
∑ ∑∑ ∑∈ ∈ ∈ ∈
===did did sds Ss
ssd wwx: : :
* 1ˆˆ
42
Persamaan kedua mengikuti kenyataan bahwa masing – masing periode tugas
mempartisi penerbangan. Oleh karena itu masing – masing penerbangan
termasuk dalam salah satu periode tugas pada himpunan yang diketahui.
Dengan demikian ( x*, z* ) adalah layak terhadap relaksasi programa linier
perumusan (4). Kedua penyelesaian programa linier memberikan batasan
yang sama karena :
∑∑∈∈
=Pp
ppPp
pp zczc *ˆˆˆ
dan
∑∑∑∑∑∑∈∈ ∈∈ ∈∈
===Dd
ddDd sds
sdSs sd
sdSs
ss xbwbwbwC *
:
ˆˆˆ
Penyelesaian programa linier ( x*, z* ) terhadap rumus (4) adalah
sedemikian rupa sehingga x* terdapat dalam :
{ }⎭⎬⎫
⎩⎨⎧
∈∈∈== ∑∈
DdxFixxconvPd ddid
d 1,0;1::
Masing – masing titik integer pada Pd adalah vektor insiden himpunan periode
tugas s. Karena x* terdapat dalam Pd, x* dapat dinyatakan sebagai kombinasi
konveks dari vektor ini. Penyelesaian yang layak untuk relaksasi programa
linier (6) adalah dengan menjadikan sw sebagai bobot vektor yang mewakili
himpunan s untuk semua s, dalam kombinasi konveks yang memberikan x*
dan menjadikan *ˆ pp zz = . Karena x* adalah kombinasi konveks titik – titik
43
integer pada Pd, maka ∑∈
=sds
sd wx:
* ˆ untuk semua tugas d. Seperti sebelumnya,
kedua penyelesaian memberikan batas program linier yang sama.
Akhirnya, jika sebuah penyelesaian programa linier ( x*, z* ) terhadap
(4) sedemikian rupa sehingga x* tidak terdapat dalam Pd, maka tidak terdapat
bobot ws pada set tugas sedemikian rupa sehingga ∑∈
=Sds
sd wx:
* ˆ untuk semua
tugas d. Oleh karena itu, tidak terdapat penyelesaian ( )zw ˆ,ˆ terhadap (6)
dengan *ˆ pp zz = untuk semua Pp∈ . Dengan demikian, untuk beberapa
fungsi tujuan, (6) memberikan batas programa linier yang lebih kuat
dibanding (4) dan (3).
Jika ( ) σπ <+∑∈sd
ddb adalah variabel dual (6) dan dπ merupakan
variabel dual dari masing – masing kendala sesuai dengan periode tugas d,
maka dual dari (6) adalah sebagai berikut :
bebas
Ppc
SsC
dd
pdsd
Sdsd
πσ
π
πσ
σσ
,
ˆ
maxmax
∑
∑
∈
∈
∈≤
∈≤− (7)
Penyelesaian yang layak terhadap versi terbatas rumus (6) adalah optimal
untuk permasalahan dengan semua kolomnya jika penyelesaian dual yang
sesuai adalah layak terhadap (7) dengan termasuk semua baris yang
memungkinkan di dalamnya.
44
Terdapat dua tipe kolom yang perlu dihasilkan untuk membuktikan
optimalitas (6). Kolom himpunan periode tugas perlu dihasilkan lagi apabila
( ) σπ <+∑∈sd
ddb di mana σ adalah nilai fungsi tujuan pada (7) dan (6).
Kolom pairing perlu dihasilkan lagi jika Ppcpd
sd ∈>∑∈
ˆπ .
Kemungkinan perlu tidaknya untuk menghasilkan himpunan periode
tugas lagi, dapat diidentifikasi dengan menyelesaikan subpermasalahan partisi
set seperti yang dirumuskan berikut :
( )
{ } Ddx
Fix
xb
d
didd
dDd
dd
∈∈
∈=
+
∑
∑
∈
∈
1,0
1
min
:
π
(8)
dimana :
bd : biaya periode tugas d
dπ : variabel dual yang terkait dengan baris pada perumusan (6) yang
sesuai
Jika nilai fungsi tujuan optimal (8) tidak kurang dari σ , maka tidak
perlu dihasilkan kolom periode tugas lagi. Hasil ini dapat digunakan untuk
menghentikan enumerasi kolom ketika penyelesaian dalam toleransi tertentu
telah diidentifikasikan. Jika penyelesaian (6) adalah integral dengan nilai
tujuan σ dan tidak terdapat pairing yang memiliki reduce cost negatif,
45
subpermasalahan periode tugas memberikan batas bawah terhadap
penyelesaian optimal. Jika perbedaan antara σ dan batas bawah ini adalah
kurang dari suatu toleransi tertentu, enumerasi kolom dapat dihentikan.
Pembuktian melalui subpermasalahan pairing adalah dengan
menggunakan rumus dasar ∑∈
∈>pd
pd Ppcπ . Perhitungan dilakukan
dengan mengurangi, pc , dengan ∑∈pd
dπ sesuai dengan periode tugas yang
terdapat dalam pairing tersebut. Perlu dihasilkan kolom pairing lagi, jika
ternyata ditemukan hasil pengurangan atau reduced cost yang bernilai negatif.
Untuk mengawali prosedur pembuatan kolom, dibutuhkan
penyelesaian yang layak pada relaksasi programa linier permasalahan utama.
Penyelesaian awal ini dapat diperoleh melalui dua cara. Yang pertama adalah
dengan menggunakan penyelesaian buatan menggunakan periode tugas pada
himpunan periode sembarang untuk menyusun pairing. Jika beberapa pairing
tidak memenuhi batasan yang telah ditetapkan, pairing tersebut dapat diberi
biaya pinalti yang tinggi. Keuntungan pendekatan ini adalah penyelesaian
buatan dapat disusun secara mudah. Akan tetapi, dengan cara ini konvergensi
akan lama dicapai karena variabel dual awal memberikan perkiraan yang jelek
terhadap biaya periode tugas dalam pairing. Pendekatan kedua adalah dengan
menggunakan penyelesaian yang layak. Penyelesaian yang layak umumnya
dapat ditemukan karena jadwal penerbangan tidak berubah secara dramatis
46
dari periode perencanaan satu ke yang lain. Penyelesaian yang layak dapat
disusun dengan memodifikasi sedikit penyelesaian periode sebelumnya.
Perhitungan untuk penjadwalan awak pesawat dengan penerbangan
sekitar 100 dengan metode ini cukup menjanjikan. Konvergensi programa
linier terhadap integer optimal diperoleh lebih cepat jika penyelesaian awal
yang layak digunakan. Sekalipun demikian, perlu juga dipertimbangkan untuk
menggunakan rumus (3) sebagai perumusan partisi set standard yang dapat
memberikan penyelesaian yang integral dimana sejumlah kecil pairing yang
memungkinkan dapat dihasilkan secara lebih cepat.
3.3. Linear Programming
3.3.1. Pengertian Linear Programming
Linear Programming menggunakan model matematika untuk
menggambarkan permasalahan. Menurut Hillier dan Lieberman ( 1995, p26 ),
kata linear berarti semua fungsi matematika yang digunakan dalam model ini
memerlukan fungsi linear. Kata programming disini berarti perencanaan. Jadi
linear programming melibatkan aktivitas perencanaan untuk mendapatkan
hasil optimal, yaitu suatu hasil terbaik yang mencapai suatu tujuan dari
alternatif - alternatif lain yang layak.
Bentuk dasar dari masalah linear programming dapat diformulasikan
sebagai berikut ( Hillier dan Lieberman, 1995, p34 ) :
47
Maksimasi atau Minimasi : Z = c1x1 + c2x2 + .... + cnxn
Dengan memperhatikan hubungan - hubungan sebagai berikut :