I PENDAHULUAN
1.1 Latar Belakang
Kamar darurat Emergency RoomER adalah tempat yang sangat penting peranannya
pada rumah sakit. Aktivitas yang cukup padat mengharuskan kamar darurat selalu dijaga
oleh dokter setiap hari. Pada awalnya para dokter di kamar darurat bertugas selama 24
jam penuh setiap hari, sehingga mereka selalu merasa jenuh dan sangat letih. Oleh karena
itu, pengelola kamar darurat menyarankan supaya dokter bertugas hanya beberapa jam
saja dalam satu hari supaya mereka dapat beristirahat setelah bertugas.
Kamar darurat yang harus selalu dijaga selama 24 jam dan dokter yang bertugas
beberapa jam dalam satu hari, mengakibatkan perlunya suatu sistem penjadwalan untuk para
dokter. Dewasa ini, sistem penjadwalan dokter kamar darurat adalah sistem penjadwalan per-
shift
, di mana dokter yang bertugas beberapa jam dalam satu hari kemudian akan digantikan
dengan dokter lainnya untuk melengkapi jam yang tersisa di hari yang sama dan akan
berlanjut sampai hari berikutnya.
Kamar darurat biasanya dijaga oleh beberapa dokter. Dokter-dokter tersebut
bertugas sesuai dengan tugasnya masing- masing, tetapi kebanyakan kamar darurat
dijaga hanya oleh satu dokter dengan maksud untuk
meminimumkan pengeluaran
dan mengoptimalkan dokter yang ada. Biasanya
dokter yang telah dijadwalkan sering menukar hari kerja dengan dokter lain, sehingga kamar
darurat kesulitan dalam menetapkan jadwal untuk setiap dokter. Oleh karena itu,
keterbatasan dokter yang menjaga dan keinginan dokter yang berbeda-beda untuk
bertugas
merupakan masalah
bagi penjadwalan
kamar darurat,
sedangkan pengelola
kamar darurat
menginginkan kenyamanan dan keteraturan dokter dalam
bertugas. Permasalahan penjadwalan dokter kamar
darurat ini akan dimodelkan sebagai masalah Pemrograman Linear Integer PLI. PLI
adalah masalah optimisasi dengan fungsi objektif dan kendala yang linear serta variabel
yang integer. Model penjadwalan dokter kamar darurat diperoleh dengan beberapa
modifikasi berdasarkan pada jurnal yang berjudul
Schedulling Emergency
Room Physicians
ditulis oleh Michael W. Carter dan Sophie D. Lapierre tahun 2001.
1.2 Tujuan
Tujuan dari karya ilmiah ini adalah memodelkan masalah penjadwalan dokter
kamar darurat dalam bentuk PLI, serta menentukan
penjadwalan dokter
kamar darurat yang memberikan kenyamanan dokter.
II LANDASAN TEORI
Untuk membuat
model penjadwalan
dokter kamar darurat diperlukan pemahaman teori Pemrograman Linear PL atau Linear
Programming LP, Pemrograman Linear
Integer PLI
atau Integer
Linear Programming
ILP, dan metode branch-and- bound.
2.1 Pemrograman Linear
Fungsi linear dan pertidaksamaan linear merupakan salah satu konsep dasar yang harus
dipahami terkait dengan konsep pemrograman linear.
Definisi 1 Fungsi Linear
Suatu fungsi f dalam variabel-variabel , , … , adalah suatu fungsi linear jika
dan hanya jika untuk suatu himpunan konstanta
, , … , , f dapat ditulis sebagai f
, , … , = +
+ ⋯ + .
Winston 2004 Sebagai contoh, f
, = 5 + 7 merupakan fungsi linear, sementara f
, =
bukan fungsi linear.
Definisi 2 Pertidaksamaan dan Persamaan Linear
Untuk sembarang fungsi linear f dan sembarang
bilangan c
, pertidaksamaan
f , , … , ≤ dan f , , … , ≥
adalah pertidaksamaan linear, sedangkan suatu
persamaan f
, , … , = merupakan persamaan linear.
Winston 2004 Pemrograman linear PL adalah suatu
masalah optimisasi yang memenuhi hal-hal berikut:
a. Tujuan
masalah tersebut
adalah memaksimumkan atau meminimumkan
suatu fungsi linear dari sejumlah variabel keputusan.
Fungsi yang
akan dimaksimumkan atau diminimumkan ini
disebut fungsi objektif.
b. Nilai variabel-variabel keputusannya harus
memenuhi suatu himpunan kendala. Setiap kendala harus berupa persamaan linear
atau pertidaksamaan linear.
c. Ada pembatasan tanda untuk setiap
variabel dalam masalah ini. Untuk sembarang variabel
, pembatasan tanda menentukan
harus tak-negatif ≥ 0
atau tidak dibatasi tandanya unrestricted in sign
. Winston 2004
Suatu PL mempunyai bentuk standar seperti yang didefinisikan sebagai berikut.
Definisi 3 Bentuk Standar PL
Misalkan diberikan suatu PL dengan m kendala dan n variabel dilambangkan dengan
, , … , . Bentuk standar dari PL tersebut adalah:
max z = +
+ ⋯ + atau min
s. t. +
+ ⋯ + = 1
+ + ⋯ +
= 2 …
+ + ⋯ +
=
3
≥ 0, = 1, 2, . . . , Jika didefinisikan:
A = ⋯
⋮ ⋱
⋮ ⋯
, = ⋮ ,
= ⋮ ,
maka kendala pada 1, 2, dan 3 dapat ditulis dengan sistem persamaan Ax = b. 4
Winston 2004
Solusi Pemrograman Linear
Suatu masalah PL dapat diselesaikan dalam berbagai teknik, salah satunya adalah
metode simpleks.
Metode ini
dapat menghasilkan suatu solusi optimum bagi
masalah PL dan telah dikembangkan oleh Dantzig sejak tahun 1947 Winston 2004, dan
dalam perkembangannya merupakan metode yang
paling umum
digunakan untuk
menyelesaikan PL. Metode ini berupa metode iteratif untuk menyelesaikan PL berbentuk
standar.
Pada masalah PL 4, vektor x yang
memenuhi kendala
= disebut solusi PL 4. Misalkan matriks A dinyatakan sebagai A
= B N, dengan B adalah matriks taksingular berukuran m × m yang elemennya berupa
koefisien variabel basis dan N merupakan matriks berukuran m × n – m yang elemen-
elemennya berupa koefisien variabel nonbasis pada matriks kendala. Dalam hal ini matriks B
disebut matriks basis untuk PL 4.
Misalkan x dinyatakan sebagai vektor x =
, dengan
adalah vektor variabel basis
dan adalah vektor variabel nonbasis, maka
= dapat dinyatakan sebagai : =
= B + N
= b. 5 Karena matriks B adalah matriks taksingular,
maka B memiliki invers, sehingga dari 5
dapat dinyatakan sebagai:
=
+
−
+
N 6
Kemudian, fungsi objektifnya berubah menjadi:
min z = -
.
+ -
.
Winston 2004
Definisi 4 Daerah Fisibel
Daerah fisibel suatu PL adalah himpunan semua titik yang memenuhi semua kendala
dan pembatasan tanda pada PL tersebut. Winston 2004
Definisi 5 Solusi Basis
Solusi basis adalah solusi pada PL yang didapatkan dengan mengatur variabel n–m
sama dengan
nol dan
nilai untuk
penyelesaiannya adalah dari sisa variabel m. Hal ini dengan mengasumsikan bahwa
mengatur variabel n–m sama dengan nol akan membuat nilai yang unik untuk sisa variabel m
atau sejenisnya, dan kolom-kolom untuk sisa dari variabel m merupakan bebas linear.
Winston 2004
Definisi 6 Solusi Fisibel Basis
Solusi fisibel basis adalah solusi basis pada PL yang semua variabel-variabelnya tak-
negatif. Winston 2004
Definisi 7 Solusi Optimum
Untuk masalah
maksimisasi, solusi
optimum suatu PL adalah suatu titik dalam daerah fisibel dengan nilai fungsi objektif
terbesar. Untuk masalah minimisasi, solusi optimum suatu PL adalah suatu titik dalam
daerah fisibel dengan nilai fungsi objektif terkecil.
Winston 2004 Ilustrasi solusi basis dan solusi fisibel basis
diberikan dalam Contoh 1.
Contoh 1
Misalkan diberikan PL berikut: min z =
−2 − 3 dengan kendala
− + 2 + = 10
−2 + + = 2
2 +
1
= 3 , , ,
,
1
≥ 0 . 7 Dari PL tersebut diperoleh:
A =
2 −1 2 1
−2 1 0 2 0 0
1 1
3, b = 2
10 2
3 3.
Misalkan dipilih: =
.
dan
=
1 .
. Sehingga diperoleh:
B =
2 −+ 4 +
−4 + 5 4 5 5
3 , = 6
0 0 0 1
1 1 −2
7,
N =
2 0 0
1 0 0 1
3, -
.
= −4 −8 5, -
.
= 5 5, = 0 0
.
, =
+
= 5
.
. 8 9 = -
. +
= −21. Solusi 8 merupakan solusi basis, karena
memenuhi kendala pada PL 7 dan kolom- kolom pada matriks kendala yang berpadanan
dengan komponen taknol dari 8, yaitu B bebas linear kolom yang satu bukan
merupakan kelipatan dari kolom yang lain. Solusi 8 juga merupakan solusi fisibel basis,
karena nilai-nilai variabelnya lebih dari atau sama dengan nol.
2.2 Pemrograman Linear Integer
Pemrograman linear integer adalah suatu model pemrograman linear dengan variabel
yang digunakan berupa bilangan bulat integer. Jika semua variabel harus berupa
integer , maka masalah tersebut dinamakan
pure integer programming . Jika hanya
sebagian yang harus berupa integer, maka disebut mixed integer programming MIP.
PLI dengan semua variabelnya harus bernilai 0 atau 1 disebut 0-1 PLI.
Garfinkel Nemhauser 1972
Definisi 8 Relaksasi Pemrograman Linear
Relaksasi pemrograman linear atau sering disebut
relaksasi-PL merupakan
suatu pemprograman linear yang diperoleh dari
suatu PLI dengan menghilangkan kendala integer
atau kendala 0-1 pada setiap variabelnya.
Untuk masalah
maksimisasi, nilai
optimum fungsi objektif relaksasi-PL lebih besar atau sama dengan nilai optimum fungsi
objektif PLI, sedangkan untuk masalah minimisasi, nilai optimum fungsi objektif
relaksasi-PL lebih kecil atau sama dengan nilai optimum fungsi objektif PLI.
Winston 2004
2.3 Metode Branch-and-Bound
Dalam penulisan karya ilmiah ini, untuk memperoleh solusi optimum dari masalah PLI
digunakan software LINGO 8.0, yaitu sebuah program yang dirancang untuk menentukan
solusi model linear, nonlinear, dan optimisasi integer
. Software
LINGO 8.0
ini menggunakan
metode branch-and-bound
untuk menyelesaikan masalah PLI. Prinsip dasar metode branch-and-bound
adalah memecah daerah fisibel dari masalah relaksasi-PL dengan membuat subproblem-
subproblem . Terdapat dua konsep dasar dalam
algoritma branch-and-bound. 1.
Branch Branching
pencabangan adalah proses membagi permasalahan menjadi subproblem-
subproblem yang mungkin mengarah ke
solusi. 2.
Bound Bounding
pembatasan adalah suatu proses untuk mencari atau menghitung batas
atas dalam masalah minimisasi dan batas bawah dalam masalah maksimisasi untuk
solusi optimum pada subproblem yang mengarah ke solusi.
Metode branch-and-bound diawali dari menyelesaikan
relaksasi-PL dari
suatu pemrograman linear integer. Jika semua nilai
variabel keputusan solusi optimum sudah berupa
integer, maka
solusi tersebut
merupakan solusi optimum PLI. Jika tidak, dilakukan pencabangan dan penambahan
batasan pada relaksasi-PLnya kemudian diselesaikan.
Winston 2004 menyebutkan bahwa untuk masalah maksimisasi nilai fungsi
objektif optimum untuk PLI nilai fungsi objektif
optimum untuk
relaksasi-PL, sehingga nilai fungsi objektif optimum
relaksasi-PL merupakan batas atas bagi nilai fungsi objektif optimum untuk masalah PLI.
Diungkapkan pula dalam Winston 2004 untuk masalah maksimisasi bahwa nilai fungsi
objektif optimum untuk suatu kandidat solusi
merupakan batas bawah nilai fungsi objektif optimum untuk masalah PLI asalnya. Suatu
kandidat solusi diperoleh jika solusi dari suatu subproblem
sudah memenuhi kendala integer pada masalah PLI, artinya fungsi objektif dan
semua variabelnya sudah bernilai integer. Sebelummya akan dibahas terlebih dulu
pengertian subproblem yang terukur. Menurut Winston 2004, suatu subproblem dikatakan
terukur fathomed jika terdapat situasi sebagai berikut:
a.
Subproblem tersebut takfisibel, sehingga tidak dapat menghasilkan solusi optimum
untuk PLI. b.
Subproblem tersebut menghasilkan suatu solusi optimum dengan semua variabelnya
bernilai integer. Jika solusi optimum ini mempunyai nilai fungsi objektif yang
lebih baik daripada solusi fisibel yang diperoleh sebelumnya, maka solusi ini
menjadi kandidat solusi optimum dan nilai fungsi objektifnya menjadi batas bawah
dalam masalah maksimisasi dan batas atas dalam masalah minimisasi nilai
fungsi objektif optimum bagi masalah PLI pada saat itu. Bisa jadi subproblem ini
menghasilkan
solusi optimum
untuk masalah PLI.
c. Nilai fungsi objektif optimum untuk
subproblem tersebut tidak melebihi batas
bawah saat
itu untuk
masalah maksimisasi, maka subproblem ini dapat
dieliminasi. Berikut
ini adalah
langkah-langkah penyelesaian suatu masalah maksimisasi
dengan metode branch-and-bound. • Langkah 0
Didefinisikan z sebagai batas bawah dari nilai fungsi objektif solusi PLI yang optimum.
Pada awalnya ditetapkan z = – dan i = 0.
• Langkah 1 Subproblem
PL
i
dipilih sebagai bagian masalah
berikutnya untuk
diperiksa. Subproblem
PL
i
diselesaikan dan diukur dengan kondisi yang sesuai.
a Jika PL
i
terukur, batas bawah z diperbarui jika solusi PLI yang lebih baik ditemukan.
Jika tidak, bagian masalah subproblem baru i dipilih dan langkah 1 diulangi. Jika
semua subproblem telah diperiksa, maka proses dihentikan.
b Jika PL
i
tidak terukur, proses dilanjutkan ke
langkah 2
untuk melakukan
pencabangan PL
i
. • Langkah 2
Dipilih salah satu variabel x
j
di mana nilai optimumnya adalah x
j
yang tidak memenuhi batasan integer dalam solusi PL
i
. Bidang
:
; ∗
= ≤
;
≥ :
; ∗
= + 1
dipecah menjadi dua subproblem,
yaitu
;
≤ :
; ∗
= dan
;
≥ :
; ∗
= + 1, Dengan
[
; ∗
]
didefinisikan sebagai integer terbesar yang kurang dari atau sama dengan
x
j
. Jika PL
i
masih tidak terukur, maka kembali ke Langkah 1.
Taha 1996 Untuk memudahkan pemahaman metode
branch-and-bound diberikan contoh sebagai
berikut.
Contoh 2 Misalkan diberikan PLI berikut:
maksimumkan z = 4 + 6
dengan kendala 3 + 5 ≤ 25
2 ≤ 8 3 ≤ 12
, ≥ 0 dan integer 9
Solusi optimum relaksasi-PL dari masalah PLI 9 adalah
= 4, = 2.6, dan z = 31.6
lihat pada Lampiran 1. Batas atas nilai optimum fungsi objektif masalah ini adalah z
= 31.6. Daerah fisibel masalah 9 ditunjukkan pada Gambar 1. Solusi optimum berada pada
titik perpotongan dua garis yang berasal dari kendala pertidaksamaan masalah 9.
Gambar 1 Daerah fisibel daerah yang diarsir
untuk relaksasi-PL dari PLI 9. Langkah berikutnya adalah memartisi
daerah fisibel relaksasi-PL menjadi dua bagian berdasarkan variabel yang berbentuk
pecahan tak-integer. Dipilih sebagai
dasar pencabangan. Jika masalah relaksasi-PL diberi
nama Subproblem
1, maka
pencabangan tersebut
menghasilkan 2
subproblem , yaitu:
• Subproblem 2: Subproblem 1 ditambah kendala
≤ 2, • Subproblem 3: Subproblem 1 ditambah
kendala ≥ 3,
Hal ini diilustrasikan secara grafis pada Gambar 2.
Daerah = 4
= 2.6
Gambar 2 Daerah fisibel untuk Subproblem 2
dan Subproblem 3. Setiap titik solusi fisibel dari PLI 9
termuat dalam daerah fisibel Subproblem 2 atau Subproblem 3. Setiap subproblem ini
saling lepas. Subproblem 2 dan Subproblem 3 dikatakan dicabangkan oleh
. Kemudian dipilih subproblem yang belum
diselesaikan. Misalkan dipilih Subproblem 2, kemudian diselesaikan. Solusi optimum untuk
Subproblem 2 ini adalah
= 4, = 2, dan z
= 28 lihat Lampiran 1. Semua variabel bernilai integer maka tidak perlu dilakukan
pencabangan di Subproblem 2. Solusi dari Subproblem
2 menjadi batas bawah dari solusi PLI.
Saat ini
subproblem yang
belum diselesaikan adalah Subproblem 3. Solusi
optimum untuk Subproblem 3 adalah = 3,3,
= 3, dan z = 31,3 lihat Lampiran 1. Karena nilai z pada Subproblem 3 lebih besar
dibandingkan dengan Subproblem 2, maka ada kemungkinan nilai z pada Subproblem 3
lebih optimum. Oleh karena itu, dipilih pencabangan pada Subproblem 3 atas
, sehingga diperoleh dua subproblem lagi,
yakni: • Subproblem 4: Subproblem 3 ditambah
kendala ≤ 3,
• Subproblem 5: Subproblem 3 ditambah kendala
≥ 4, Selanjutnya
diselesaikan masalah
Subproblem 4 dan Subproblem 5 satu per satu.
Subproblem 5 takfisibel lihat Lampiran 1
pada Subproblem 5, maka subproblem ini tidak dapat menghasilkan solusi optimum.
Solusi optimum untuk Subproblem 4 adalah
= 3, = 3.2, dan z = 31.2 lihat
Lampiran 1 bagian Subproblem 4. Karena nilai z pada Subproblem 4 lebih besar
dibandingkan dengan Subproblem 2, maka dipilih pencabangan Subproblem 4 pada
, sehingga diperoleh dua subproblem lagi,
yaitu: • Subproblem 6: Subproblem 4 ditambah
kendala ≤ 3,
• Subproblem 7: Subproblem 4 ditambah kendala
≥ 4, Penyelesaian Subproblem 6 menghasilkan
solusi optimum = 3,
= 3, dan z = 30 lihat Lampiran 1 bagian Subproblem 6.
Semua variabel bernilai integer maka tidak perlu dilakukan pencabangan di Subproblem
6. Solusi dari Subproblem 6 menjadi batas bawah yang baru dari solusi PLI.
Solusi optimum dari Subproblem 7 adalah = 1,6,
= 4, dan z = 30.6 Lihat Lampiran 1 bagian Subproblem 7. Karena
solusi optimum Subproblem 7 lebih kecil atau sama dengan solusi optimum Subproblem 6
yaitu 30, maka tidak perlu lagi dilakukan pencabangan.
Dengan demikian,
solusi optimum pada PLI 9 adalah solusi optimum
dari Subproblem 6. Pohon pencabangan yang menunjukkan penyelesaian masalah PLI 9
secara keseluruhan ditunjukkan pada Gambar 3.
Subproblem 3
Subproblem 2
Subproblem 1
≤ 2 ≥ 3 Subproblem 2
Subproblem 3
≤ 3 ≥ 4 Subproblem 4
Subproblem 5
≤ 3 ≥ 4 Subproblem 6
Subproblem 7
Gambar 3 Seluruh pencabangan metode Branch-and-Bound pada penyelesaian masalah PLI Contoh 2.
III PEMODELAN
3.1 Deskripsi Masalah