• Tidak ada hasil yang ditemukan

Penggunaan Integer Linear Programming dengan Metode Heuristik untuk Optimasi Penjadwalan Paruh Waktu

N/A
N/A
Protected

Academic year: 2021

Membagikan "Penggunaan Integer Linear Programming dengan Metode Heuristik untuk Optimasi Penjadwalan Paruh Waktu"

Copied!
5
0
0

Teks penuh

(1)

Abstrak—Permasalahan penjadwalan pegawai paruh waktu sangatlah menarik untuk diselesaikan karena terdapat begitu banyak batasan, terutama batasan dari segi pegawai yang tersedia. Batasan tersebut antara lain perbedaan kemampuan yang dimiliki oleh setiap pegawai, ketersediaan setiap pegawai untuk bekerja pada waktu tertentu, dan target jam kerja yang dimiliki oleh setiap pegawai dalam suatu periode penjadwalan. Tujuan utama dari permasalahan penjadwalan pegawai paruh waktu adalah untuk memenuhi tuntutan jam kerja (permintaan pasar) dengan berbagai batasan yang ada. Selain itu, penjadwalan pegawai paruh waktu harus dapat menghasilkan penjadwalan yang efektif agar dapat meminimalkan kelebihan pegawai (overstaff) dan juga meminimalkan total deviasi antara jam kerja yang dijadwalkan dan target jam kerja setiap pegawai. Permasalahan penjadwalan pegawai paruh waktu sangat sulit untuk diselesaikan karena membutuhkan integer linear programming (ILP) yang sangat besar. Oleh karena itu, permasalahan ini akan dibagi menjadi 2 sub masalah yaitu: menentukan shift yang baik dan memberikan shift yang telah didapat kepada pegawai yang tersedia dengan menggunakan ILP untuk menyelesaikan kedua sub masalah tersebut.

Kata Kunci— heuristik, integer linear programming, optimasi, penjadwalan.

I. PENDAHULUAN

ERMASALAHAN penjadwalan adalah bagian yang sangat penting dalam sebuah industri, sebagai contoh pada perusahaan layanan jasa, seperti bank, restoran, call center, dan lain sebagainya. Pada perusahaan layanan jasa, biasanya mempekerjakan pegawai paruh waktu, karena perusahaan memiliki tuntutan jam kerja yang tinggi sementara para pegawai memiliki batasan berupa kemampuan serta jam kerja mereka. Para pegawai paruh waktu tersebut, memiliki kecenderungan untuk bekerja pada waktu tertentu, memiliki kemampuan untuk melakukan tugas tertentu dan memilki target jam kerja yang berbeda pula dalam suatu periode penjadwalan. Sementara itu, perusahaan penyedia layanan jasa, memiliki tuntutan kerja yang harus dipenuhi selama periode kerja. Tuntutan jam kerja umumnya fluktuatif terhadap waktu sesuai dengan permintaan konsumen.

Terdapat tiga langkah dalam melakukan permasalahan penjadwalan seperti ini. Langkah pertama, untuk memprediksi tuntutan kerja untuk setiap jam kerja selama periode penjadwalan. Kedua, mewujudkan prediksi tuntutan kerja tersebut pada kebutuhan pegawai untuk setiap jam kerja supaya dapat memenuhi permintaan konsumen. Ketiga, untuk

mendapatkan ketersediaan setiap pegawai dengan menentukan hari kerja dan shift pada setiap pegawai.

Tujuan utama dari proses penjadwalan ini untuk menghasilkan penjadwalan pegawai yang dapat memenuhi tuntutan kerja dengan meminimalkan total jam kerja para pegawai serta memenuhi target jam kerja pegawai dalam suatu periode penjadwalan.

Permasalahan penjadwalan seperti ini sangat sulit untuk diselesaikan karena membutuhkan Integer Linear Programming (ILP) yang sangat besar sehingga penyelesaian permasalahan ini membutuhkan waktu komputasi yang sangat lama. Mehran Hojati dan Ashok S Patil [1] mengajukan sebuah solusi untuk menyelesaikan permasalahan penjadwalan ini yaitu dengan membagi permasalahan ini menjadi 2 sub masalah, yaitu: menentukan shift yang baik dan memberikan

shift yang didapat pada pegawai yang tersedia dengan menggunakan ILP untuk menyelesaikan setiap sub masalah tersebut. ILP tahap pertama untuk menghasilkan shift yang baik. Shift yang baik adalah shift yang meminimalkan total jam kerja yang akan dijadwalkan serta memaksimalkan jumlah pegawai yang bisa melaksanakannya. ILP tahap pertama ini bertujuan untuk mereduksi kemungkinan shift yang ada. ILP tahap kedua digunakan untuk memberikan shift yang telah didapat sebelumnya kepada para pegawai yang tersedia .

Permasalahan penjadwalan yang diangkat pada artikel ini adalah permasalahan penjadwalan pada restoran cepat saji. Terdapat beberapa batasan tambahan yaitu pekerja harus bekerja maksimal pada 5 hari kerja dalam seminggu dan pekerja minimal bekerja minimal 3 jam dan maksimal 8 jam pada hari kerja.

Dalam studi ini akan mengimplementasikan metode yang diajukan oleh Mehran Hojati dan Ashok S Pathil [1] dengan menggunakan data ujicoba untuk dapat membandingkan hasil yang didapat serta beberapa data ujicoba acak untuk menguji kebenaran model yang telah dibangun.

II. METODOLOGI PENELITIAN

A. Notasi

h

Indeks jam kerja pada setiap hari kerja (h1,...,18).

d

Indeks hari kerja dalam 1 minggu. (d1,...,7).  e

Penggunaan

Integer Linear Programming

dengan Metode Heuristik untuk Optimasi

Penjadwalan Paruh Waktu

Agri Kridanto, Ahmad Saikhu, dan Rully Soelaiman

Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS)

Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia

e-mail: rully_soelaiman@if.its.ac.id

(2)

Indeks pegawai yang tersedia. (e1,...,40).  s

Indeks dari shift yang memungkinkan setiap harinya (s1,...,81), dimana setiap indeks shift yang memiliki durasi minimal 3 jam dan maksimal 8 jam, contoh: s=1 (1,2,3), s=2 (1,2,3,4)

t

Indeks dari tugas yang ada serta kemampuan yang dimiliki oleh pegawai, t=1(Grill/Gr), 2(Drive Thru/DT), 3(French Fries/FF), 4(Bin Call/BC), 5(Counter/Co) .

ystd

Jumlah pegawai yang dijadwalkan pada shifts, untuk tugas

t pada hari d.

a

hstd

Bernilai 1 jika jam h terdapat dalam shifts. Jika tidak maka bernilai 0.

rhtd

Jumlah pegawai yang dibutuhkan pada jam h untuk tugas t

pada hari d .  hrs s

Durasi dalam jam pada shifts.  req

d

h

Jumlah jam kerja yang dibutuhkan pada hari d.

req td

h

Jumlah jam kerja yang dibutuhkan untuk tugas t pada hari

d.

Trgt e

Target jam kerja pegawai e dalam 1 minggu.  Trgt w

Target jumlah shift yang dijadwalkan dalam 1 minggu.  Trgt d

Target jumlah shift yang dijadwalkan dalam hari d. 

Trgt

td

Target jumlah shift untuk tugas t yang dijadwalkan pada hari d.

Estd

Jumlah pegawai yang tersedia dan memenuhi syarat untuk

shifts, tugas t, hari d.

u td

Jumlah shift yang dibawah target Trgttd.

o td

Jumlah shift yang diatas target Trgttd.

r ed

S

Jumlah dari shift yang tersisa pada hari d, dimana pegawai e

tersedia dan memenuhi syarat untuk shift-shift tersebut.  r

e

S

Jumlah dari shift-shift yang tersisa dalam 1 minggu, dimana pegawai e tersedia dan memenuhi syarat untuk shift-shift

tersebut. d r ed r e S Sr ed E

Bernilai 1 jika pegawai e yang tersedia dan memenuhi syarat setidaknya untuk 1 shift pada hari d. Jika tidak maka bernilai 0

r d

E

Jumlah dari pegawai yang tersisa dimana pegawai tersebut tersedia dan memenuhi syarat setidaknya untuk 1 shift pada hari d. epegawai tersisa

r ed r d E Er E

Jumlah total dari hari kerja semua pegawai yang tersisa dengan maksimal 5 hari kerja untuk tiap pegawai.

 

epegawai tersisamin( d ,5) r ed r E Er std E

Jumlah dari pegawai yang tersisa dimana para pegawai tersebut tersedia dan memenuhi syarat untuk shifts, tugas t, pada hari d

r ld

E

Jumlah minimum dari pegawai yang tersisa dimana para pegawai tersebut tersedia dan memenuhi syarat untuk shift

yang berdurasi L jam pada hari d. ) : min(E hrs L E s r std r ld    r d S

Jumlah dari shift yang tersisa pada hari d

r u

Konstanta heuristik yang menyatakan total jam kerja yang masih kurang dari target jam kerja mingguan selama pencarian solusi berlangsung.

r o

Konstanta heuristik yang menyatakan total jam kerja yang melebihi selama pencarian solusi berlangsung.

r u

Total jam kerja yang masih kurang dari target jam kerja mingguan pegawai (Trgte).

r o

Total jam kerja yang melebihi target jam kerja mingguan pegawai (Trgte).

r u

d

Sisa hari kerja pegawai terhadap batas maksimal hari kerja 

x

Ld

Bernilai 1 jika shift dengan durasi L jam tersedia dan cocok untuk diberikan kepada pegawai e . Bernilai 0 jika shift

dengan durasi L jam tersebut tidak tersedia dan cocok untuk diberikan kepada pegawai e.

B. Proses Menentukan Shift yang Baik Menggunakan ILP

Proses ini bertujuan untuk memilih shift-shift yang baik yang dapat meminimalkan total jam kerja yang akan dijadwalkan dan memaksimalkan jumlah pegawai yang dapat melaksanakannya. Proses ini digunakan untuk mereduksi jumlah shift yang nantinya akan diberikan kepada para pegawai. Dalam proses ini tetap melibatkan para pegawai agar

shift-shift yang terpilih bisa diberikan kepada para pegawai yang tersedia. Oleh karena itu, dalam menentukan shift yang baik akan dihitung berapa jumlah pegawai yang dapat

(3)

melaksanakan shift tersebut dan shift yang akan dipilih adalah

shift yang memiliki jumlah maksimal pegawai yang bisa melaksanakan shift tersebut.

Terdapat 3 langkah dalam proses menentukan shift yang baik, yaitu:

1. Tentukan target shift untuk setiap tugas t pada hari d. Asumsikan, pegawai bekerja rata-rata dalam 4 hari kerja seminggu. Sehingga, untuk 40 pekerja akan terdapat 160 target shift untuk periode penjadwalan 1 minggu.

(1)

Target shift untuk setiap hari d didapatkan dengan menghitung jumlah jam kerja yang dibutuhkan pada hari d dibagi total jam kerja dalam 1 minggu dikali dengan target shift per minggu. (2) Target shift untuk tugas t pada hari d didapatkan dengan menghitung jumlah jam kerja yang dibutuhkan untuk tugas t pada hari d dibagi target shift pada hari tersebut. (3)

2. Tentukan jumlah pegawai yang tersedia dan memenuhi syarat untuk melaksanakan setiap shift s untuk tugas t pada hari d. 3. Formulasikan ILP1 untuk setiap tugas t pada hari d. Meminimalkan : (4) Batasan : (5) (6) (7) (8)

Koefisien yang digunakan dalam fungsi objektif pada model ILP1 ,

=1 dan =0.1. Fungsi objektif ILP1 pada (4), dapat dibagi menjadi 3 bagian, yaitu: i. std s s y hrs .  , (9)

untuk meminimalkan total jam kerja dari pegawai yang akan dijadwalkan. ii. 0 td  , (10)

untuk memperbolehkan adanya shift yang melebihi target shift untuk tugas t pada hari d (

Trgt

td) tetapi tetap menjaga untuk meminimalkan adanya shift yang melebihi

Trgt

td. iii. s std s std y hrs E . .    , (11)

untuk memaksimalkan jumlah pegawai yang tersedia dan memenuhi syarat untuk shift yang terpilih.

Batasan ILP1 dalam (5) digunakan untuk memastikan bahwa setiap shift yang terpilih nanti akan memiliki jumlah pegawai minimal sebanyak pegawai yang dibutuhkan pada jam kerja tersebut. Batasan ILP1 dalam (6) digunakan agar jumlah shift yang terpilih ditambah shift yang melebihi target, dikurangi shift yang dibawah target sama dengan target shift

untuk tugas t pada hari d Trgttd . Batasan ILP1 dalam (7) digunakan untuk memastikan bahwa nilai dari variabel keputusan

y

std adalah bilangan non negatif integer. Batasan ILP1 dalam (8) digunakan untuk memastikan shift yang melebihi target dan shift yang kurang dari target adalah bilangan non negatif.

Pemodelan ILP1 yang telah dijelaskan diatas diharapkan mencapai hasil yang optimal, sehingga kita bisa mendapat nilai dari setiap variabel keputusan

y

std. Shift yang akan digunakan adalah shift yang memiliki nilai

y

std yang positif. Jika nilai

y

std

2

maka perlu dilakukan replikasi sebanyak nilai

y

std sehingga akan terdapat shift sebanyak nilai

y

std

untuk shift s, tugas t, pada hari d yang bisa dijadwalkan kepada para pegawai dalam tahap selanjutnya. Hasil akhir dari seluruh tahapan ini adalah daftar shift yang baik yang akan digunakan pada tahapan selanjutnya.

C. Proses Pemberian Shift kepada Pegawai Menggunakan ILP dengan Metode Heuristik

Pada proses pemberian shift kepada pegawai akan digunakan ILP2 dengan metode heuristik untuk memberikan

shift yang telah didapat kepada pegawai yang tersedia. Berikut ini adalah langkah-langkah untuk proses pemberian shift

kepada para pegawai. Sebagai inisialisai,

ru

0

dan

0

r

o .

1. Cari pegawai dengan ketersediaan terendah pada daftar

shift (selanjutnya disebut ei). 2. Untuk setiap ei

i. Untuk setiap shift yang tersisa dalam daftar shift, periksa apakah ei tersedia untuk shift tersebut, jika ya,

E

std = jumlah pegawai yang bisa melaksanakan shift tersebut. Jika tidak,

E

std

0

. ii. Untuk setiap shift dengan durasi L jam pada hari d,

dapatkan nilai minimal dari nilai

E

stdr yang telah didapat sebelumnya.

E

ldr

min

E

stdr

:

hrs

s

L

. iii. Untuk setiap hari penjadwalan, hitung jumlah

pegawai yang tersedia dan memenuhi syarat setidaknya untuk 1 shift pada hari tersebut (

E

dr). iv. Hitung jumlah total dari ketersediaan pegawai dalam

periode panjadwalan 1 minggu, dengan penjadwalan maksimal 5 hari kerja dalam 1 minggu (

E

r).

e Trgtw 4* d Trgt h h Trgt w d req d req d d  

* , t d Trgt h h Trgt req d d req td td  * , , std s s std td std s sy E hrs y hrs Z

. 0

. .

h

r

y

a

htd s std hstd

.

,

,

0 td u td td s std

Trgt

y





s Integer nonNegatif ystd _ , 0 , 0 u td td





(4)

v. Hitung jumlah shift pada setiap hari d (

S

dr).

vi. Selesaikan ILP2 untuk pegawai ei. Meminimalkan: (12) Batasan: (13) (14) (15) (16) (17) (18) vii.

Berikan shift yang terpilih (

x

Ld

1

) kepada pegawai ei. Hapus pegawai ei dari daftar pegawai dan hapus

shift yang tepilih dari daftar shift. viii. Perbarui konstanta heuristik,

u e r u r u    dan oe r o r o    . (19)

Gunakan langkah 1, 2 hingga semua pegawai telah dijadwalakan dan tidak ada pegawai yang tersisa dalam daftar pegawai.

Koefisien yang digunakan dalam fungsi objektif pada model ILP2 ,



0

.

1

dan

1

2

3=3. Fungsi objektif ILP2 dalam persamaan 9 dapat dibagi menjadi 4 bagian, yaitu :

i. (1ur)

ue (1er)

oe, (20) koefisien dari

ue dan

o e

akan meningkat seiring dengan meningkatnya

ru dan

or. Persamaan (20) diharapkan dapat menyeimbangkan antara

ru dan

r o

selama pencarian solusi berlangsung. Karena fungsi tujuannya meminimalkan, maka nilai

ue dan

o e

cenderung semakin mengecil sehingga dapat meminimalkan total deviasi deviasi antara

ue dan

o e

dari target jam kerja mingguan pegawai (

Trgt

e).

ii.    d dr r u e S E d 1  , (21) Nilai d  r d r S

E akan semakin mengecil ketika nilai

E

rmendekati nilai d 

r d

S . Sehingga koefisien dari

d

euakan semakin meningkat. Karena fungsi tujuan meminimalkan nilai variabel keputusan

u e

d

, maka diharapkan nilai

d

eu akan semakin

mengecil sehingga solusi diharapkan akan semakin memenuhi target kerja mingguan pegawai (Trgte).

iii.               d L Ldr Ld E x ) 1 ( 2 , (22)

Nilai ELdr (1) akan semakin mengecil ketika nilai ELdr mendekati nilai (1). Sehingga koefisien

dari

x

Ldakan menjadi bilangan negatif yang besar.

Hal ini diharapkan dapat menjadikan pemilihan variabel

x

Ld menjadi lebih baik.

iv.              d r d r d L Ld S E x 3 , (23) Nilai  dr r d S

E akan semakin mengecil ketika nilai

E

dr mendekati nilai Sdr. Sehingga koefisien

dari

x

Ldakan menjadi bilangan negatif yang besar.

Hal ini diharapkan dapat menjadikan pemilihan variabel

x

Ld menjadi lebih baik.

Batasan ILP2 dalam (13) mengharuskan solusi yang dihasilkan harus memenuhi target maksimal 5 hari kerja. Batasan ILP2 dalam (14) mengharuskan bahwa solusi yang dihasilkan memenuhi target jam kerja pegawai. Batasan ILP2 dalam (15) mengharuskan hanya ada satu shift yang terpilih setiap harinya. Batasan ILP2 pada (16) mengharuskan nilai dari variabel keputusan

x

Ld sama dengan 0, jika pegawai ei tidak tersedia dan memenuhi syarat untuk setiap shift dengan durasi L jam pada hari d. Karena batas atas dari batasan ini adalah variabel ELdr , akan memiliki nilai 0 jika pegawai ei tidak tersedia dan memenuhi syarat untuk setiap shift dengan durasi L jam pada hari d. Batasan ILP2 pada (17) mengharuskan nilai variabel keputusan

x

Ld adalah variabel biner. Batasan ILP2 pada (15) mengharuskan nilai dari variabel keputusan oe

u e u e

d , , adalah bilangan non negatif.



                                    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 (   

d

x

L Ld

1

,

L d E xLdLdr , ,

L

d

biner

x

Ld

,

,

0 , , oeu e u e d   e o e u e d L Ld

Trgt

L

x



L

d

d

x

eu d L Ld

,

,

5

 

(5)

III. HASIL UJI COBA

Dalam uji coba ini model dibangun pada lingkungan pemodelan MATLAB dengan TOMLAB Optimization untuk menyelesaikan ILP. Data uji coba berasal dari paper [1] . Data uji coba terdiri dari data uji coba utama dan data uji coba acak. Dalam bagian ini akan diberikan perbandingan antara hasil penjadwalan dari model yang telah dibangun dan hasil dari penulis. Sebagai informasi tambahan, Mehran Hojati dan Ashok S Pathil (2008) menggunakan Excel VBA dengan Standard Solver untuk menyelesaikan ILP.

Dalam data uji coba utama terdapat 40 pegawai yang tersedia dengan jam kerja tertentu, 5 jenis tugas dan kemampuan pegawai serta tuntutan jam kerja yang ada. Proses menetukan shift yang baik membutuhkan 35 ILP1 (7 hari kerja, 5 tugas). Proses memberikan shift kepada menggunakan 40 ILP2 yang digunakan dalam 40 kali iterasi karena terdapat 40 pegawai yang tersedia. Perbandingan untuk data uji coba utama dapat dilihat pada Tabel 1.

Uji coba juga dilakukan untuk 10 data uji coba acak [1]. Dari data tersebut didapatkan hasil yaitu: rata-rata kelebihan jam kerja hanya 0,3 jam untuk setiap data uji coba, rata-rata total deviasi antara target jam kerja dan jam kerja yang dijadwalkan adalah 6,4 jam untuk setiap data uji coba atau hanya 0,16 jam untuk setiap pegawai, dan rata-rata waktu komputasi yang dibutuhkan untuk menyelesaikan permasalahan penjadwalan yaitu 3,5 detik untuk setiap data uji coba.

IV. KESIMPULAN/RINGKASAN

Berdasarkan hasil uji coba, keseluruhan model yang telah dibangun dapat menyelesaikan permasalahan penjadwalan paruh waktu dengan waktu komputasi yang cukup singkat. Model ILP1 dapat menghasilkan shift yang baik, dimana shift

tersebut dapat memaksimalkan jumlah pegawai yang melaksanakannya sehingga shift tersebut dapat diberikan kepada pegawai yang tersedia. Model ILP2 dengan menggunakan metode heuristik dapat memberikan shift yang telah didapat kepada pegawai yang tersedia dengan meminimalkan total deviasi antara jam kerja yang dijadwalkan dan target jam kerja mingguan pegawai. 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).

UCAPAN TERIMA KASIH

Penulis A.K. mengucapkan terima kasih kepada dosen pembimbing yang telah banyak memberikan bantuan dan bimbingan kepada penulis dalam melakukan penelitian ini.

Tabel 1 Perbandingan Hasil Uji Coba untuk Data Uji Coba Utama

Parameter perbandingan

Mehran Hojati dan Ashok S Pathil.

Hasil Uji Coba

Kelebihan jam kerja 4 jam 4 jam Total deviasi 20 jam 12 jam Waktu Komputasi 18 menit 5,44 detik

DAFTAR PUSTAKA

[1] Hojati, M., Patil A. S. “An integer linear programming-based heuristic for scheduling heterogeneous part-time service employees” European Journal of Operational Research 209, 37-50, 2011

Gambar

Tabel 1 Perbandingan Hasil Uji Coba untuk Data Uji Coba Utama  Parameter

Referensi

Dokumen terkait

The  consultant  will  work  with  DJPK  staff  in  developing  procedures  and  databases  (joint  development).  This  collaboration  is  necessary  condition 

Pengujian ini bertujuan untuk mengetahui perbandingan kecepatan mentansmisikan data dari clent ke server initiator antara single link interface dan double

h) Menu selanjutnya adalah Overview, dimana konfigurasi pada tahap sebelum-sebelumnya akan ditampilkan sebelum paket CMS Joomla di instalasi. Ada hal yang harus diperhatikan

Bagaimana prosedur peminjaman arsip di Kantor Perpustakaan dan Dokumentasi Daerah Kota Temanggung sudah sesuai dengan prosedur atau belum, jika belum

Status Gizi Pada Balita Gizi Buruk Penerima PMT-P di Kabupaten Rejang Lebong Tahun 2003 ,(Skripsi). Jurusan Gizi Kesehatan Masyarakat,

Dalam keadaan seimbang, populasi hama dapat ditekan dan dijaga pada tingkat yang tidak merugikan.. Akibatnya, usaha pengendalian hama pada lingkungan stabil tersebut dapat

Perubahan hutang menjadi penyertaan modal (debt to equity swap), adalah suatu langkah yang diambil oleh pihak kreditur karena melihat bahwa perusahaan dari

Penelitian ini bertujuan untuk mengetahui penerapan strategi reading aloud pada materi tajwid tahsin di Lembaga Pengajian dan Pengkajian Alquran (LPPQ) Universitas Islam