Optimasi Penjadwalan Pekerja Stasiun Kereta Api Depok dengan Binary Integer Programming – Lingo

Assalamualaikum temen-temen whitecyber di seluruh tanah air …

Seperti biasa kami akan sharing beberapa project yang sudah kami kerjakan di halaman depan web. Kali ini Project Penelitian yang kami kerjakan adalah tentang ” Optimasi Penjadwalan Pekerja Stasiun Kereta Api Depok dengan Binary Integer Programming – Lingo “. Sebenarnya penelitian ini mengacu pada Penelitian terdahulu yang tentang Integer Programming.

.

.

Stasiun Depok (DP) merupakan stasiun kereta api kelas besar tipe A yang terletak di Jalan Stasiun Depok Lama, Kelurahan Depok, Kecamatan Pancoran MasKota DepokJawa Barat. Stasiun yang terletak pada ketinggian +93 meter ini hanya melayani rute KRL Commuter Line. Stasiun ini kadang-kadang juga disebut sebagai Depok Lama, untuk membedakannya dengan Depok Baru dan merupakan salah satu stasiun kereta api tertua di wilayah Depok.

Sejak 25 Maret 2021, stasiun ini, bersama Stasiun BekasiTanah AbangKranjiJakarta KotaDepok BaruBojonggedeCitayamParungpanjang, dan Angke resmi menghapus penjualan kartu single-trip untuk KRL Commuter Line.

Penjadwalan pekerja merupakan salah satu masalah yang dihadapi oleh setiap perusahaan. Peraturan yang ditetapkan perusahaan, ketersediaan banyaknya pekerja dan sistem pembagian kerja menjadi faktor penentu dalam sistem penjadwalan. Permasalahan penjadwalan pekerja ini dapat dimodelkan sebagai masalah Integer Programming. Integer Programming merupakan teknik optimasi dengan fungsi objektif linear, fungsi kendala linear dan variabel berupa bilangan bulat. Tulisan ini membahas formulasi masalah penjadwalan pekerja dalam bentuk Integer Programming dengan pekerja pada peruasahaan yang bergerak dalam produksi karet remah (Crumb Rubber) dengan fungsi objektif meminimumkan jumlah pekerja yang dipekerjakan. Model selanjutnya diimplementasikan menggunakan bantuan software LINGO 18.0. Hasil implementasi memperlihatkan bahwa model mampu menghasilkan jadwal pegawai yang optimal.

Masalah optimasi penjadwalan dapat diklasifikasikan menjadi tiga jenis yaitu days-off scheduling, shift scheduling, dan tour scheduling Baker . Days-off scheduling adalah masalah penentuan hari kerja dan hari libur pekerja dalam waktu tertentu. shift scheduling adalah penjadwalan yang berfokus pada interval waktu kerja dan libur pekerja, sedangkan tour scheduling merupakan kombinasi pola yang terbentuk dari days off Scheduling dan shift scheduling Hadi.

Penjadwalan hari kerja adalah masalah yang sering muncul pada sebuah perusahaan yang bekerja tujuh hari dalam seminggu. Oleh karena itu diperlukan penjadwalan yang jelas dan terperinci untuk setiap pekerja. Optimalnya suatu penjadwalan dapat meminimumkan tenaga kerja agar bisa menekan anggaran suatu perusahaan, sehingga biaya yang dikeluarkan untuk gaji pekerja dapat diminimumkan. Untuk meminimumkan biaya anggaran dibutuh penjadwalan yang optimal.

Pada umumnya penjadwalan di suatu perusahaan disusun secara manual oleh manager, sehingga tidak menutup kemungkinan adanya kesalahan dalam pembagian hari kerja untuk setiap pekerja. Hal ini mengakibatkan ada pekerja yang memperoleh hari kerja lebih banyak dari pekerja lain, ada juga yang memperoleh hari libur lebih banyak dari pekerja lain, serta adanya ketidakseimbangan ini dapat berpengaruh pada biaya yang harus dikeluarkan perusahaan pada setiap pekerja.

Penjadwalan hari kerja dapat diselesaikan dengan menggunakan beberapa metode yakni, metode simpleks Solusi Dual, Algoritma Monroe}, Integer Programming dan metode- metode lainnya yang ada di pemograman linenar. Penelitian menggunakan solusi dual dilakukan oleh Hadi untuk mengoptimalkan penjadwalan tiga hari kerja dalam seminggu siklis. Dalam kasus tersebut diasumsikan setiap pekerja akan bekerja selama tiga hari kerja berturut-turut dan empat hari libur secara berurut dalam seminggu. Penelitian menggunakan Algoritma Monroe dilakukan oleh Syahputri, dkk. (2017) untuk menjadwalkan tenaga kerja dengan menentukan Regular Days Off (RDO) atau yang dikenal dengan hari libur untuk setiap pekerja. Dalam kasus tersebut diasumsikan setiap pekerja akan mendapatkan sepasang hari libur, serta melakukan minimalisasi biaya untuk tenaga kerja. Adapun penelitian yang menggunakan Integer Linear Programming dilakukan oleh Faatih untuk menjadwalkan pegawai non operasional stasiun Depok. Dalam kasus ini diasumsikan setiap pegawai stasiun yang terpilih akan bekerja dalam dalam satu periode penjadwalan.

Adapun dalam penelitian ini, menggunakan Integer Programming untuk optimalisasi penjadwalan hari kerja, dengan asumsi adanya shift kerja serta hari libur untuk setiap pekerja. Disamping itu, jumlah hari kerja dan jumlah hari libur akan dibuat sama rata bagi setiap pekerja. Penelitian ini memiliki relevansi dengan penelitian Faatih, namun digunakan modiifikasi model program yang berbeda yang akan melibatkan setiap pekerja dalam penentuan hari kerja, shift kerja dan hari libur dalam satu periode penjadwalan.

Formulasi model penjadwalan pada penelitian ini untuk menentukan antara lain pembagian shift antar pekerja, jumlah pekerja yang dibutuhkan, jumlah hari kerja dan hari libur pekerja. Pekerja yang akan dijadwalkan adalah pekerja disalah satu stasiun pada perusahaan yang bergerak dalam produksi karet remah (crumb rubber). Model yang dibuat ini bersifat umum sehingga dapat diimplementasikan permasalahan serupa, dengan (i) yang merupakan banyaknya shift, dihari (j) yang merupakan banyaknya hari dalam satu periode penjadwalan, untuk setiap (k) yang merupakan banyaknya pekerja yang tersedia, (s) adalah banyaknya pekerja yang dipenuhi untuk setiap shift, sedangkan (h) adalah banyaknya hari kerja yang harus dipenuhi pekerja dalam satu periode penjadwalan.

Berikut adalah aturan-aturan yang akan ditetapkan dalam penjadwalan ini:
a) Untuk setiap pekerja harus memenuhi jumlah pekerja yang dibutuhkan pada stasiun kerja disetiap harinya.
b) Untuk setiap pekerja hanya bekerja pada satu shift di setiap harinya.
c) Untuk setiap pekerja yang telah bekerja lima hari secara berturut-turut berhak mendapatkan hari libur dihari berikutnya.

Berdasarkan aturan tersebut model penjadwalan pekerja dapat diformulasikan sebagai berikut.
Himpunan dan Indeks
I: Shift = 1,2,3
J : Hari = 1,2,…,28
K : Pekerja = 1,…,20
Parameter
s : Banyaknya pekerja yang harus terpenuhi untuk setiap shift.
h : Banyaknya hari kerja yang harus terpenuhi dalam satu periode penjadwalan.

.

Variable Keputusan

.

.

Fungsi Objektif
Fungsi objektif z dari penjadwalan hari kerja pekerja adalah meminimumkan banyaknya pekerja yang bekerja dalam satu periode penjadwalan. Fungsi objektif dari penjadwalan pekerja sebagai berikut:

.

Kendala
Kendala yang harus terpenuhi untuk penjadwalan ini adalah sebagai berikut:

.

.

Catatan : Dari ketentuan diatas kita akan benahi di ketentuan ke 2 ya. itu harusnya <= 1 .

.

Source Code yang kita buat dari ketentuan diatas adalah sebagai berikut :

.

SETS:
shift/1..2/:;
hari/1..28/:;
pekerja/1..20/:;
IJK(shift,hari,pekerja): Aijk;
IJ(shift,hari):;
JK(hari,pekerja):;
ENDSETS
DATA:
s = @ole(‘C:\Users\GK3v\Documents\Tugas\Lingo\mode.xlsx’,’s’);
d = @ole(‘C:\Users\GK3v\Documents\Tugas\Lingo\mode.xlsx’,’d’);
@ole(‘C:\Users\GK3v\Documents\Tugas\Lingo\mode.xlsx’,’Aijk’) = Aijk;
ENDDATA
!Fungsi Tujuan;
Min = @sum(IJK(i,j,k):Aijk(i,j,k));
!Pembatas 1;
@for(IJ(i,j):
@sum(pekerja(k): Aijk(i,j,k)) >= 7
);
!Pembatas 2;
@for(JK(j,k):
@sum(shift(i): Aijk(i,j,k)) <= 1
);
!Pembatas 3;
@for(pekerja(k):
@sum(IJ(i,j): Aijk(i,j,k)) >= 20
);
!Pembatas 4;
@for(pekerja(k):
@for(hari(j)| j #GE# 1 #AND# j #LE# 23:
@sum(shift(i): @sum(hari(j) | j #GE# j #AND# j #LE# j + 5: Aijk(i,j,k) )) <= 5
));
!Pembatas 5;
@for(IJK(i,j,k): @bin(Aijk(i,j,k)));

.

.

Hasilnya adalah DATA sebagai berikut :

.

.

Setelah ketemu hasilnya maka kita INTERPRETASI kan temen-temen ..

.

.

Kesimpulan
Berdasarkan modifikasi model penjadwalan dengan menggunakan integer Programming untuk setiap pekerja stasiun yang bekerja memperoleh hasil berupa 20 hari kerja untuk setiap pekerja dan 8 hari libur untuk setiap pekerja dengan hanya bekerja satu shift disetiap harinya, serta tidak ada pekerja yang bekerja secara berturut-turut lebih dari 5 hari kerja.

.

Source : Membuat Coding Lingo Matematika Sederhana

Leave a Reply

Your email address will not be published. Required fields are marked *