25 Juli 2013 Tugas Akhir – KI091391 1
PENGGUNAAN INTEGER LINEAR PROGRAMMING
DENGAN METODE HEURISTIK UNTUK OPTIMASI
PENJADWALAN PEGAWAI PARUH WAKTU
(Kata kunci:
penjadwalan, optimasi, integer linear programming, heuristik
)
PRESENTASI TUGAS AKHIR – KI091391
Penyusun Tugas Akhir :
Agri Kridanto
(NRP : 5109.100.140)
Dosen Pembimbing
:
Ahmad Saikhu, S.Si., M.T.
Rully Soelaiman, S.Kom., M.Kom.
Agenda
Pendahuluan Metode Penyelesaian Uji Coba Kesimpulan
Permasalahan penjadwalan pegawai paruh waktu adalah
permasalahan penjadwalan pada sebuah industri dimana para
pegawai nya merupakan pegawai paruh waktu yang memiliki:
Kecenderungan untuk bekerja pada waktu tertentu Kemampuan untuk melaksanakan tugas tertentu
Target Jam kerja yang berbeda dalam periode penjadwalan
Penjadwalan yang efektif dan efisien sangat penting agar
perusahaan dapat memenuhi permintaan pasar yang tersedia
sehingga bisa memberikan keuntungan pada perusahaan.
Permasalahan penjadwalan seperti ini sangat sulit diselesaikan
karena membutuhkan ILP yang sangat besar sehingga
membutuhkan waktu komputasi yang lama.
25 Juli 2013 Tugas Akhir – KI091391 3
Sebagai Contoh, untuk data uji coba utama [1] tidak dapat
diselesaikan menggunakan ILP konvensional dengan waktu
komputasi hingga 9 jam dengan menggunakan CPLEX, karena
terdapat begitu banyak variabel dan batasan-batasan yang ada.
25 Juli 2013 Tugas Akhir – KI091391 4
25 Juli 2013 Tugas Akhir – KI091391 5
1.
Bagaimana konsep penerapan ILP untuk menentukan shift yang
baik?
2.
Bagaimana konsep penerapan ILP dengan metode heuristik
untuk pembagian shift yang didapat pada pegawai?
3.
Bagaimana melakukan implementasi konsep tersebut ?
4.
Bagaimana melakukan uji coba metode di atas untuk
menyelesaikan penjadwalan pegawai paruh waktu ?
25 Juli 2013 Tugas Akhir – KI091391 6
1.
Data uji coba terdiri dari data uji coba utama dan data uji coba
acak [1] untuk membandingkan hasil yang didapat.
2.
Penjadwalan akan dilakukan dalam periode penjadwalan 1
minggu dengan total hari kerja maksimal 5 hari
3.
Penjadwalan dilakukan dengan sistem shift dengan durasi shift
minimal 3 jam dan durasi maksimal 8 jam.
25 Juli 2013 Tugas Akhir – KI091391 7
1.
Memenuhi tuntutan jam kerja pada ketersediaan pegawai
dengan total jam kerja yang minimum.
2.
Memenuhi target jam kerja untuk setiap pegawai.
3.
Mengimplemetasikan ILP dengan metode heuristik untuk
optimasi pada penjadwalan pegawai paruh waktu.
Agenda
Pendahuluan Metode Penyelesaian Uji Coba Kesimpulan25 Juli 2013 Tugas Akhir – KI091391 9
DESAIN APLIKASI
Proses Penentuan Shift yang Baik
menggunakan ILP1
Proses Pemberian Shift kepada pegawai yang tersedia menggunakan
ILP2 dengan metode heuristik
Proses Penghitungan kelebihan jam kerja dari
penjadwalan yang dihasilkan
Proses Penghitungan total deviasi jam kerja
pegawai
Data Masukan
25 Juli 2013 Tugas Akhir – KI091391 10
PROSES PENENTUAN SHIFT YANG BAIK
DENGAN MENGGUNAKAN ILP1
Penentuan Target Shift untuk setiap tugas t pada hari d
Perhitungan jumlah pegawai yang tersedia
untuk setiap shift tersebut
Penentuan Shift yang Baik dengan menggunakan model
ILP 1 untuk setiap shift tersebut
Pengolahan hasil ILP1
Data Ketersediaan Pegawai, Data Kemampuan Pegawai, Data Tuntutan Jam Kerja
•
Dengan menempatkan konstanta heuristik dalam fungsi
objektif ILP2
•
Konstanta heuristik sebagai nilai penalti akan semakin
meningkat selama proses pencarian solusi berlangsung
•
Sebagai inisialisasi ,
ILP2 dengan METODE HEURISTIK
25 Juli 2013 Tugas Akhir – KI091391 11
0
,
0
r o r u25 Juli 2013 Tugas Akhir – KI091391 12
25 Juli 2013 Tugas Akhir – KI091391 12
PROSES PEMBERIAN SHIFT KEPADA PEGAWAI
MENGGUNAKAN ILP2 DENGAN METODE HEURISTIK
Data Pegawai Daftar Shift
yang baik
Masih ada pegawai yang tersisa ? Pencarian Pegawai dengan Ketersediaan Terendah pada daftar Shift (ei) Pencarian shift yang cocok untuk ei dengan ILP2 Hapus Pegawai ei Hapus Shift yang
terpilih Update Konstanta Heuristik Ya Update Data Penjadwalan Tidak Data Penjadwalan u e r u r u o e r o r o
Agenda
Pendahuluan Metode Penyelesaian Uji Coba Kesimpulan1.
Uji kebenaran:
Melakukan penjadwalan untuk data uji coba utama dan data
uji coba acak [1] dan membandingkan hasil yang didapat
dengan
Mehran et al
[1].
2.
Uji Performa :
Membandingkan waktu komputasi yang dibutuhkan untuk
menyelesaikan hasil penjadwalan untuk data uji coba utama
dan data uji coba acak [1].
SKENARIO UJI COBA
TINGKAT KEBERHASILAN
25 Juli 2013 Tugas Akhir – KI091391 15
Semakin kecil nilai total deviasi yang dihasilkan, semakin baik
penjadwalan yang dilakukan
Hasil Penjadwalan harus bisa memenuhi tuntutan jam kerja
(overstaff≥0)
Uji Kebenaran
25 Juli 2013 Tugas Akhir – KI091391 16
Nama dataset
Kelebihan Jam
Kerja * Total Deviasi * data uji coba utama 0 -8
dataset1 0 -2 dataset2 0 -14 dataset3 0 -14 dataset4 0 -16 dataset5 0 -22 dataset6 0 -20 dataset7 0 -6 dataset8 0 -32 dataset9 0 -4 dataset10 0 -16
Perbandingan Hasil Penjadwalan*
• Hasil Uji Coba menunjukkan
penjadwalan yang dilakukan dapat memenuhi tuntuntutan jam kerja yang ada (kelebihan jam kerja sama dengan yang dihasilkan Mehran
et.al)
•Hasil Uji Coba menunjukkan
penjadwalan yang dilakukan dapat menghasilkan total deviasi yang lebih kecil dari Mehran et al
Uji Performa
25 Juli 2013 Tugas Akhir – KI091391 17
Perbandingan Waktu Komputasi
0 200 400 600 800 1000 1200 det ik Nama Dataset
Perbandingan Waktu Komputasi
Hasil Uji Coba Mehran et al
Berdasarkan Uji Performa, hasil uji coba memiliki waktu komputasi yang jauh lebih singkat
Agenda
Pendahuluan Metode Penyelesaian Uji Coba Kesimpulan1.
Model ILP1 dan model ILP2 dengan metode heuristik dapat
menyelesaikan permasalahan penjadwalan pegawai paruh waktu.
2.
Keseleruhan proses penjadwalan pegawai paruh waktu dapat
memberikan hasil yang cukup baik, dengan memenuhi tuntutan
jam kerja yang ada, dan mampu meminimalkan adanya kelebihan
jam kerja (
overstaff
) serta meminimalkan total deviasi jam kerja
pegawai
3.
Model ILP1 dan model ILP2 dapat dibangun pada MATLAB
dengan menggunakan solver TOMLAB, dan memiliki waktu
komputasi yang cukup singkat.
KESIMPULAN
1.
Permasalahan penjadwalan pegawai paruh waktu disini
menggunakan batasan-batasan yang telah ditetapkan yaitu: 5
hari kerja dengan panjang shift shift minimal 3 jam dan
panjang shift maksimal 8 jam. Tentunya akan terdapat
berbagai batasan lainnya yang harus ditambahkan dalam
proses penjadwalan pegawai paruh waktu.
2.
Perlu dipertimbangkan untuk dilakukan pengembangan pada
aplikasi ini sehingga dapat lebih aplikatif dan interaktif untuk
pengguna.
SARAN
SELESAI
25 Juli 2013 Tugas Akhir – KI091391 21
Penentuan Target Shift
25 Juli 2013 Tugas Akhir – KI091391 23
Target jumlah shift dalam 1 minggu
Target jumlah shift untuk setiap tugas t pada hari d
Target jumlah shift untuk setiap hari
e
Trgt
w4
*
w d req d req d dTrgt
h
h
Trgt
*
d
d req d req td tdTrgt
h
h
Trgt
*
d,
t
Target Shift per Hari
Minggu Senin Selasa Rabu Kamis Jumat Sabtu Total Jam yang dibutuhkan 110 116 117 120 123 141 151 878 Jumlah Proporsi Shift 20 21 21 22 26 26 25 160
Target jumlah shift dalam 1 minggu
Target jumlah shift untuk setiap hari
e
Trgt
w4
*
w d req d req d dTrgt
h
h
Trgt
*
d
20
160
*
878
110
Target Shift untuk Tugas
t
pada hari
d
Target jumlah shift untuk setiap tugas t pada hari d d req d req td td
Trgt
h
h
Trgt
*
d,
t
Minggu Jam yang dibutuhkan 110 Jumlah Proporsi Shift 20 Jam yang dibutuhkan untuk setiap tugasGr 37
DT 27
FF 11
BC 13
CO 22
Jumlah Shift untuk setiap tugas
Gr 7 DT 5 FF 2 BC 2 CO 4
7
20
*
110
37
ILP 1
25 Juli 2013 Tugas Akhir – KI091391 27
Notasi
shrs
Durasi dalam jam untuk shift shstd
a
Bernilai 1 jika jam h berada dalam shift shtd
r
Jumlah pegawai yang dibutuhkan pada jam h untuk tugas t pada hari dtd
Trgt
Target jumlah shift untuk tugas tyang dijadwalkan pada hari d
std
E
Jumlah pegawai yang tersedia dan memenuhiILP 1
25 Juli 2013 Tugas Akhir – KI091391 28
Variabel Keputusan
Jumlah pegawai yang dijadwalkan untuk shift s , tugas t , pada hari d
Jumlah shift yang kurang dari target shift, untuk tugas t pada hari d
std
y
u td
o tdILP 1
25 Juli 2013 Tugas Akhir – KI091391 29
Fungsi Objektif ILP1
std s s std td std s s
y
E
hrs
y
hrs
Z
.
0
.
.
Meminimalkan :Untuk meminimalkan total jam kerja dari pegawai yang akan dijadwalkan
s
hrs
Durasi dalam jam untuk shift s1
,
1
.
0
Jumlah pegawai yang dijadwalkan untuk shift s ,tugas t , pada hari d
std
ILP 1
25 Juli 2013 Tugas Akhir – KI091391 30
Fungsi Objektif ILP1
std s s std td std s s
y
E
hrs
y
hrs
Z
.
0
.
.
Meminimalkan :Untuk meminimalkan shift yang melebihi target
1
,
1
.
0
o td
Jumlah shift yang melebihi target shift, untuk tugas t pada hari dILP 1
25 Juli 2013 Tugas Akhir – KI091391 31
Fungsi Objektif ILP1
std s s std td std s s
y
E
hrs
y
hrs
Z
.
0
.
.
Meminimalkan :untuk memaksimalkan jumlah pegawai yang tersedia dan memenuhi syarat untuk shift yang terpilih.
1
,
1
.
0
shrs
Durasi dalam jam untuk shift sJumlah pegawai yang dijadwalkan untuk shift s ,tugas t , pada hari d
std
y
std
ILP 1
25 Juli 2013 Tugas Akhir – KI091391 32
Batasan 1 ILP1
untuk memastikan bahwa setiap shift yang terpilih nanti akan memiliki jumlah pegawai minimal sebanyak pegawai yang dibutuhkan pada jam kerja tersebut
,
.
htd s std hstdy
r
a
h
,
hstda
Bernilai 1 jika jam h berada dalam shift s Jumlah pegawai yang dijadwalkanuntuk shift s ,tugas t , pada hari d
std
y
htd
ILP 1
25 Juli 2013 Tugas Akhir – KI091391 33
Batasan 2 ILP1
Jumlah dari shift yang terpilih sesuai dengan target shift yang telah ditentukan
,
0 td td u td s stdTrgt
y
Jumlah pegawai yang dijadwalkan untuk shift s ,tugas t , pada hari d
std
y
o td
Jumlah shift yang melebihi target shift, untuk tugas t pada hari du td
Jumlah shift yang dibawah target shift, untuk tugas t pada hari dTarget jumlah shift untuk setiap tugas t pada hari d
td
ILP 1
25 Juli 2013 Tugas Akhir – KI091391 34
Batasan 3,4 ILP1
Integer
nonNegatif
y
std
s
,
0
,
0 u
td td
Jumlah pegawai yang dijadwalkan untuk shift s ,tugas t , pada hari d
std
y
o td
Jumlah shift yang melebihi target shift, untuk tugas t pada hari du td
Jumlah shift yang dibawah target shift, untuk tugas t pada hari dILP 2
25 Juli 2013 Tugas Akhir – KI091391 36
Notasi ( bagian 1)
Konstanta heuristik yang menyatakan total jam kerja
yang kurang dari target selama pencarian solusi berlangsung Konstanta heuristik yang menyatakan total jam kerja
yang melebihi target selama pencarian solusi berlangsung
Jumlah total hari kerja untuk semua pegawai yang tersisa dengan maksimal 5 hari kerja untuk setiap pegawai
r u
r o
rE
tersisa pegawai min( ,5) e d r ed r E E r edE
Bernilai 1 jika pegawai e yang tersedia dan memenuhi syaratsetidaknya untuk 1 shift pada hari d. Jika tidak maka bernilai 0
r d
E
Jumlah dari pegawai yang tersisa dimana pegawai tersebuttersedia dan memenuhi syarat setidaknya untuk 1 shift pada hari d
tersisa pegawai e r ed r dE
E
ILP 2
25 Juli 2013 Tugas Akhir – KI091391 37
Notasi ( bagian 2)
Jumlah dari shift yang tersisa pada hari d
Jumlah dari pegawai yang tersisa dimana para pegawai tersebut tersedia dan memenuhi syarat untuk shift s, tugas t, pada hari d Jumlah minimum dari pegawai yang tersisa dimana para pegawai tersebut tersedia dan memenuhi syarat untuk shift yang berdurasi
L jam pada hari d.
r std
E
r ldE
)
:
min(
E
hrs
L
E
ldr
stdr s
r dS
ILP 2
25 Juli 2013 Tugas Akhir – KI091391 38
Variabel Keputusan
Variabel ini bernilai 1 jika shift dengan durasi L jam pada hari d terpilih untuk diberikan kepada pegawai ei
Jumlah jam kerja yang masih kurang dari target jam kerja mingguan pegawai ei
u e
o e
Jumlah jam kerja yang diatas target jam kerja mingguan pegawai eiLd
x
u e
ILP 2
25 Juli 2013 Tugas Akhir – KI091391 39
Fungsi Objektif ILP2
Meminimalkan :
meminimalkan total deviasi deviasi antara shift yang melebihi target dan kurang dari target jam kerja mingguan pegawai
d r d r d L Ld d L r Ld Ld d r d r u e o e r o u e r u S E x E x S E d Z 3 2 1 ) 1 ( ) 1 ( ) 1 (
3
,
1
.
0
1
2
3
Konstanta heuristik yang menyatakan total jam kerja yang kurang dari target selama pencarian solusi berlangsung
Konstanta heuristik yang menyatakan total jam kerja yang melebihi target selama pencarian solusi berlangsung
r u
r o
Jumlah jam kerja yang masih kurang dari target jam kerja mingguan pegawai
u e
o e
Jumlah jam kerja yang diatas target jam kerja mingguan pegawai eiILP 2
25 Juli 2013 Tugas Akhir – KI091391 40
Fungsi Objektif ILP2
Meminimalkan :
d r d r d L Ld d L r Ld Ld d r d r u e o e r o u e r u S E x E x S E d Z 3 2 1 ) 1 ( ) 1 ( ) 1 (
meminimalkan nilai days under taget , agar memenuhi target jam kerja pegawai
3
,
1
.
0
1
2
3
Jumlah total hari kerja untuk semua pegawai yang tersisa dengan
Maksimal 5 hari kerja untuk setiap pegawai
r
E
Jumlah dari shift yang tersisa pada hari d r d
S
u ed
Variabel untuk jumlah hari kerja yang masih dibawah total hari kerjaILP 2
25 Juli 2013 Tugas Akhir – KI091391 41
Fungsi Objektif ILP2
Meminimalkan :
d r d r d L Ld d L r Ld Ld d r d r u e o e r o u e r u S E x E x S E d Z 3 2 1 ) 1 ( ) 1 ( ) 1 (
Membuat pemilihan xLd menjadi lebih baik
3
,
1
.
0
1
2
3
Jumlah minimum dari pegawai yang tersisa dimana para pegawai tersebut tersedia dan memenuhi syarat untuk shift yang berdurasi L jam pada hari d.
r ld
E
r d
E
Jumlah dari pegawai yang tersisa dimanapegawai tersebut tersedia dan memenuhi syarat setidaknya untuk 1 shift pada hari d
Jumlah dari shift yang tersisa pada hari d
r d
S
Variabel ini bernilai 1 jika shift dengan durasi L jam pada hari d
terpilih untuk diberikan kepada pegawai ei
Ld
ILP 2
25 Juli 2013 Tugas Akhir – KI091391 42
Batasan 1 ILP2
Batasan untuk 5 hari kerja
5
u e d L Ldd
x
Variabel ini bernilai 1 jika shift dengan durasi L jam pada hari d terpilih untuk diberikan kepada pegawai ei
Ld
x
u e
d
Variabel untuk jumlah hari kerja yang masih dibawah total hari kerjaILP 2
25 Juli 2013 Tugas Akhir – KI091391 43
Batasan 2 ILP2
e o e u e d L LdL Trgt x
Batasan untuk agar durasi jam yang dijadwalkansesuai dengan target jam kerja mingguan
Variabel ini bernilai 1 jika shift dengan durasi L jam pada hari d terpilih untuk diberikan kepada pegawai ei
Ld
x
Jumlah jam kerja yang masih kurang dari target jam kerja mingguan pegawai
u e
o e
ILP 2
25 Juli 2013 Tugas Akhir – KI091391 44
Batasan 3 ILP2
,
1
L Ldx
d
Batasan agar hanya 1 shift terpilih per harinyaVariabel ini bernilai 1 jika shift dengan durasi L jam pada hari d terpilih untuk diberikan kepada pegawai ei
Ld
ILP 2
25 Juli 2013 Tugas Akhir – KI091391 45
Batasan 4 ILP2
,
r Ld Ld
E
x
d,
L
Batasan agar xtersedia untuk shift dengan durasi L jam pada hari d Ld mendapat nilai 1 jika pegawaiVariabel ini bernilai 1 jika shift dengan durasi L jam pada hari d terpilih untuk diberikan kepada pegawai ei
Ld
x
Jumlah minimum dari pegawai yang tersisa dimana para pegawai tersebut tersedia dan memenuhi syarat untuk shift yang berdurasi
L jam pada hari d.
r ld
ILP 2
25 Juli 2013 Tugas Akhir – KI091391 46
Batasan 5,6 ILP2
,
biner
x
Ld
d,
L
0
,
,
ue oe
u ed
VERIFIKASI MODEL
25 Juli 2013 Tugas Akhir – KI091391 48
Verifikasi batasan 1 ILP1
,
.
htd s std hstdy
r
a
•
Patut diperhatikan padaindeks jam ke-4, nilai ahstd =1, tetapi ystd =0,
disinilah nilai shift yang melebihi target =1. Hal Ini disebabkan nilai ystd ke-7 = 1
(dimana indeks shift ke-7 untuk jam kerja 2, 3, 4) karena panjang shift minimal adalah 3 jam.
VERIFIKASI MODEL
25 Juli 2013 Tugas Akhir – KI091391 49
Verifikasi batasan 2,3,4 ILP1
,
0 td td u td s stdTrgt
y
2
1
0
3
Batasan 2
Batasan 3
Batasan 4
0
,
0
u
td
td
VERIFIKASI MODEL
25 Juli 2013 Tugas Akhir – KI091391 50
Verifikasi batasan 1,2,3 ILP2
Nilai Variabel Keputusan ILP2
Contoh ini adalah hasil ILP 2 pada
iterasi ke-20 untuk data uji coba
utama dimana pegawai terpilih
adalah pegawai ke-6
5
u e d L Ldd
x
Batasan 1 ILP25
1
4
Batasan 2 ILP2 e o e u e d L LdL Trgt x
18
0
0
4
5
5
4
Batasan 3 ILP2,
1
L Ldx
d
VERIFIKASI MODEL
25 Juli 2013 Tugas Akhir – KI091391 51
Verifikasi batasan 4,5,6 ILP2
Batasan 4 ILP2 Batasan 5 ILP2 Batasan 6 ILP2
0
,
,
ue oe
u ed
Hasil Penjadwalan untuk data uji coba utama
25 Juli 2013 Tugas Akhir – KI091391 52
Parameter perbandingan
Mehran et al. Hasil Uji Coba Kelebihan jam
kerja
4 jam 4 jam
Total deviasi 20 jam 12 jam Waktu Komputasi 18 menit 5,44 detik
Hasil Uji Coba menunjukkan kelebihan jam kerja yang dihasilkan sama, total deviasi yang dihasilkan lebih kecil, dan waktu komputasi yang lebih singkat
Hasil Penjadwalan dan Komparasi untuk data uji
coba acak
25 Juli 2013 Tugas Akhir – KI091391 53
Hasil Uji Coba menunjukkan bahwa total deviasi lebih kecil hampir di semua data uji coba, overstaff yang dihasilkan sama, dan waktu komputasi yang lebih singkat
Hasil Uji Coba Mehran et al. Nama Data Uji Coba Overstaff (jam) Total deviasi (jam) Deviasi/ pegawai (jam) Waktu Komputasi (detik) Overstaff (jam) Total deviasi (jam) Deviasi/ pegawai (jam) Waktu Komputasi (detik) dataset1 2 8 0,2 3,62 2 22 0,55 310 dataset2 0 8 0,2 3,54 0 22 0,55 303 dataset3 0 4 0,1 3,45 0 20 0,5 295 dataset4 1 1 0,025 3,49 1 23 0,575 299 dataset5 0 8 0,2 3,35 0 28 0,7 287 dataset6 1 3 0,075 3,82 1 9 0,225 327 dataset7 0 12 0,3 3,48 0 44 1,1 298 dataset8 0 6 0,15 3,29 0 10 0,25 282 dataset9 0 10 0,25 3,49 0 26 0,65 299 dataset10 0 4 0,1 3,45 0 20 0,5 295 rata-rata 0,5 9,9 0,2475 3,498 0,5 19,7 0,4925 299,5