• Tidak ada hasil yang ditemukan

PENGGUNAAN ALGORITMA GENETIKA PADA PERSOALAN MULTIOBJECTIVE FLEXIBLE JOB SHOP SCHEDULING

N/A
N/A
Protected

Academic year: 2022

Membagikan "PENGGUNAAN ALGORITMA GENETIKA PADA PERSOALAN MULTIOBJECTIVE FLEXIBLE JOB SHOP SCHEDULING"

Copied!
64
0
0

Teks penuh

(1)

PENGGUNAAN ALGORITMA GENETIKA PADA PERSOALAN MULTIOBJECTIVE FLEXIBLE

JOB SHOP SCHEDULING

TESIS

Oleh

FERDINAN RINALDO TAMPUBOLON 157021038/MT

PROGRAM STUDI MAGISTER MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2018

UNIVERSITAS SUMATERA UTARA

(2)

PENGGUNAAN ALGORITMA GENETIKA PADA PERSOALAN MULTIOBJECTIVE FLEXIBLE

JOB SHOP SCHEDULING

T E S I S

Diajukan Sebagai Salah Satu Syarat

untuk Memperoleh Gelar Magister Sains dalam Program Studi Magister Matematika pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Universitas Sumatera Utara

Oleh

FERDINAN RINALDO TAMPUBOLON 157021039/MT

PROGRAM STUDI MAGISTER MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2018

UNIVERSITAS SUMATERA UTARA

(3)

Judul Tesis : PENGGUNAAN ALGORITMA GENETIKA PADA PERSOALAN MULTIOBJECTIVE FLEXIBLE JOB SHOP SCHEDULING Nama Mahasiswa : Ferdinan Rinaldo Tampubolon

Nomor Pokok : 157021038

Program Studi : Magister Matematika

Tanggal lulus : 30 Januari 2018

UNIVERSITAS SUMATERA UTARA

(4)

Telah diuji pada

Tanggal : 30 Januari 2018

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Opim Salim S, M.Sc

Anggota : 1. Dr. Sawaluddin, M.IT 2. Dr. Esther Nababan, M.Sc 3. Prof. Dr. Saib Suwilo, M.Sc

UNIVERSITAS SUMATERA UTARA

(5)

PERNYATAAN ORISINALITAS

PENGGUNAAN ALGORITMA GENETIKA PADA PERSOALAN MULTIOBJECTIVE FLEXIBLE JOB SHOP SCHEDULING

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing dituliskan sumbernya

Medan, Penulis,

Ferdinan Rinaldo Tampubolon

UNIVERSITAS SUMATERA UTARA

(6)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS

Sebagai sivitas akademika Universitas Sumatera Utara, Saya yang bertanda ta- ngan di bawah ini:

Nama : Ferdinan Rinaldo Tampubolon

NIM : 157021038

Program Studi : Matematika Jenis Karya Ilmiah : Tesis

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul:

Penggunaan Algoritma Genetika pada Persoalan Multiobjective Flexible Job Shop Scheduling.

Beserta perangkat yang ada. Dengan Hak Bebas Royalti Non Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat mengelola dalam bentuk data-base, merawat dan mempublikasikan Tesis saya tanpa meminta izin dari saya selama mencantumkan nama saya sebagai pe- megang dan atau sebagai penulis dan sebagai pemilik hak cipta.

Demikian pernyataan ini dibuat dengan sebenarnya.

Medan, Penulis,

Ferdinan Rinaldo Tampubolon

UNIVERSITAS SUMATERA UTARA

(7)

PENGGUNAAN ALGORITMA GENETIKA PADA PERSOALAN MULTIOBJECTIVE FLEXIBLE JOB SHOP SCHEDULING

ABSTRAK

Agar dapat bersaing dalam dunia bisnis, setiap perusahaan harus mampu me- menuhi kebutuhan konsumen dengan cepat dan tepat. Akan tetapi hal terse- but sulit dilakukan karena pertimbangan keterbatasan maupun kapasitas sum- ber daya dalam memproses tiap produk. Penjadwalan dibutuhkan untuk men- jamin efektivitas sumber daya. Flexible Job Shop adalah salah satu jenis pen- jadwalan yang mana merupakan bentuk umum dari job shop. Jenis penjadwalan ini mengizinkan adanya lebih dari satu jenis mesin yang dapat memproses sua- tu pekerjaan. Penelitian ini akan mengembangkan model flexible job shop yang melibatkan lebih dari satu kriteria yaitu makespan dan tardiness, dan konsumsi energi. Selanjutnya model tersebut diselesaikan dengan Algoritma Genetika.

Kata kunci : Flexible job shop, M akespan,Due window, Genetika

i

UNIVERSITAS SUMATERA UTARA

(8)

AN APPLICATION OF GENETIC ALGORITHM FOR THE MULTIOBJECTIVE FLEXIBLE JOB SHOP PROBLEM

ABSTRACT

To compete in business competition, each manufacture must be able to fulfill the consument demand precisely, While considering its lack of resource in terms of the amount of machine and the capacity of machine in processing each job.

Scheduling is needed to assure the efficiency of the resource. Flexible job shop is a branch of scheduling which is the extension of Job Shop, it allows an operation to be processed by a set of machine instead of one machine. This research will de- velop the model of Flexible Job Shop Scheduling with multiple objective function, that is makespan, due window, and energy consumption. That model is solved using Genetic Algorithm.

Keyword : Flexible job shop, Makespan, Due window, Genetic

ii

UNIVERSITAS SUMATERA UTARA

(9)

KATA PENGANTAR

Puji dan Syukur kepada Tuhan Yang Maha Esa yang telah memberikan berkah dan rahmat-Nya sehingga penulis dapat menyelesaikan tesis yang berjudul PENG- GUNAAN ALGORITMA GENETIKA PADA PERSOALAN MULTIOBJEC- TIVE FLEXIBLE JOB SHOP SCHEDULING. Tesis ini merupakan salah satu syarat untuk menyelesaikan studi pada Program Studi Magister Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA) Universitas Su- matera Utara. Pada kesempatan ini penulis ingin menyampaikan terimakasih sebesar-besarnya kepada:

Prof. Dr. Runtung, S.H., M.Hum selaku Rektor Universitas Sumatera Utara.

Dr. Kerista Sebayang, MS selaku Dekan Fakultas Matematika dan Ilmu Penge- tahuan Alam (FMIPA) Universitas Sumatera Utara.

Prof. Dr. Saib Suwilo, M.Sc selaku Ketua Program Studi Magister Matematika FMIPA USU yang telah banyak memberikan arahan, saran/kritik, dan dukungan yang luar biasa kepada penulis dalam pengerjaan tesis ini.

Prof. Dr. Opim Salim Sitompul, M.Sc selaku Pembimbing I penulis yang telah banyak memberikan arahan, saran/kritik, dan dukungan yang luar biasa kepada penulis dalam pengerjaan tesis ini.

Dr. Sawaluddin, M.IT selaku Pembimbing II penulis yang telah banyak mem- berikan arahan, saran/kritik, dan dukungan yang luar biasa kepada penulis dalam pengerjaan tesis ini.

Dr. Esther SM Nababan, M.Sc.selaku Pembanding II penulis yang telah banyak memberikan arahan, saran/kritik, dan dukungan yang luar biasa kepada penulis dalam pengerjaan tesis ini.

Seluruh Staf pengajar di Program Studi Magister Matematika FMIPA USU yang telah banyak memberika ilmu pengetahuan kepada penulis selama masa perkuliahan.

iii

UNIVERSITAS SUMATERA UTARA

(10)

Kak Misiani, S.Si selaku Staf Adminstrasi Program Studi Magister Mate- matika FMIPAUSU yang telah banyak memberikan pelayanan yang baik kepada penulis selama mengikuti perkuliahan.

Tak lupa penulis mengucapkan terimakasih sebesar-besarnya dan penghar- gaan setinggi-tingginya kepada ayahanda tercinta Drs. Togi Tampubolon,M.Si., Ph.D dan ibunda Roslina Sinaga, B.Sc yang selalu mencurahkan kasih saying dan dukungan penuh kepada penulis.Tak lupa penulis mengucapkan terimakasih kepada kawan kawan sejawat di pasca sarjana FMIPA USU yang selama 2 tahun ini memberikan dan motivasi kepada penulis. Penulis menyadari bahwa tesis ini masih jauh dari sempurna, untuk itu penulis mengharapka kritik dan saran un- tuk penyempurnaan tesis ini. Semoga tesis ini dapat bermanfaat bagi pembaca dan pihak-pihak lain yang memerlukannya. Terimakasih.

Medan, Penulis,

Ferdinan Rinaldo Tampubolon

iv

UNIVERSITAS SUMATERA UTARA

(11)

RIWAYAT HIDUP

NAMA : FERDINAN RINALDO TAMPUBOLON

TEMPAT/TANGGAL LAHIR : MEDAN /26 APRIL 1993

JENIS KELAMIN : LAKI-LAKI

TINGGI/BERAT BADAN : 181 CM / 77 KG

JURUSAN : MATEMATIKA S2

ALAMAT : JL. TAUT NO 69-A LK IV MEDAN

EMAIL : dinandtamp@gmail.com

NO. HP : 08229158164

PENDIDIKAN TAHUN

1999-2005 : SD BUDI MURNI 7 MEDAN 2005-2008 : SMP NEGERI 27 MEDAN 2008-2011 : SMA NEGERI 1 MEDAN

2011-2015 : UNIVERSITAS NEGERI MEDAN 2016-2018 : UNIVERSITAS SUMATERA UTARA

v

UNIVERSITAS SUMATERA UTARA

(12)

DAFTAR ISI

Halaman

ABSTRAK i

ABSTRACT ii

KATA PENGANTAR iii

RIWAYAT HIDUP v

DAFTAR ISI vi

DAFTAR GAMBAR ix

DAFTAR LAMPIRAN x

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Perumusan Masalah 3

1.3 Tujuan Penelitian 3

1.4 Manfaat Penelitian 4

BAB 2 TINJAUAN PUSTAKA 5

2.1 Penjadwalan 5

2.2 Klasifikasi Penjadwalan 6

2.2.1 Karakteristik pekerjaan 6

2.2.2 Jenis mesin 6

2.2.3 Kriteria optimalitas 8

2.3 Job Shop 9

2.4 Flexible Job Shop 12

2.5 Teknik Penyelesaian Flexible Job Shop 14

2.6 Algoritma Genetika 17

2.7 Langkah-langkah Algoritma Genetika 18

vi

UNIVERSITAS SUMATERA UTARA

(13)

2.8 Program Linier Multiobjektif 19

2.9 Multiobjective Flexible Job Shop 21

BAB 3 METODOLOGI PENELITIAN 22

3.1 Model Multiobjective Flexible Job Shop 22

3.1.1 Menentukan fungsi objektif 22

3.1.2 Menentukan kendala 22

3.2 Penyelesaian Model dengan Algoritma Genetika 23

3.2.1 Menentukan nilai parameter 23

3.2.2 Menentukan kromosom 23

3.2.3 Proses inisialisasi 24

3.2.4 Menentukan nilai fitness 25

3.2.5 Proses seleksi 28

3.2.6 Elite strategy 28

3.2.7 Proses crossover 28

3.2.8 Proses mutasi 31

3.2.9 Kriteria berhenti 31

BAB 4 HASIL DAN PEMBAHASAN 33

4.1 Due Window 33

4.2 Konsumsi Energi 33

4.3 Multiobjective Flexible Job Shop 34

4.4 Penyelesaian dengan Algoritma Genetika 37

4.4.1 Kasus 4 job dan 5 mesin 37

BAB 5 KESIMPULAN DAN SARAN 43

5.1 Kesimpulan 43

vii

UNIVERSITAS SUMATERA UTARA

(14)

5.2 Saran 43

DAFTAR PUSTAKA 44

viii

UNIVERSITAS SUMATERA UTARA

(15)

DAFTAR GAMBAR

Nomor Judul Halaman

2.1 Gannt Chart 5

2.2 Penjadwalan Job Shop untuk 2 pekerjaan, 2 operasi dan 2 mesin 11

3.1 Contoh kromosom 23

3.2 P arent yang berperan sebagai pendonor (I1) dan sebagai resep-

tor (I2) 29

3.3 Of f spring hasil dari persilangan dengan operator GOX 29

3.4 Dua buah kromosom pada FJSP 30

3.5 Of f spring hasil dari Sequencing and Assignment Crossover 30 3.6 Of f spring hasil dari assignment crossover 31 3.7 Mutasi pengurutan operasi dan penugasan mesin 31 3.8 F lowchart algoritma genetika pada permasalahan multiobjective

flexible job shop 32

4.1 Due window 33

4.2 Konsumsi Energi 34

4.3 Bentuk kromosom 38

4.4 Sepasang kromosom induk 40

4.5 Hasil crossover tipe pertama 40

4.6 Hasil crossover tipe kedua 41

4.7 Hasil mutasi 41

4.8 Hasil dalam bentuk Gantt chart 42

ix

UNIVERSITAS SUMATERA UTARA

(16)

DAFTAR LAMPIRAN

Nomor Judul Halaman

1. Penyelesaian dengan Matlab 46

x

UNIVERSITAS SUMATERA UTARA

(17)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Persaingan bisnis dan permintaan konsumen menuntut setiap pabrik untuk me- nyelesaikan sekumpulan pekerjaan dengan waktu seminimum mungkin. Akan tetapi hal ini bukanlah sesuatu yang mudah ketika adanya keterbatasan pada sumber daya. Keterbatasan ini dapat berupa jumlah mesin yang tidak sebanyak jumlah pekerjaan atau kemampuan mesin yang hanya dapat memproses beber- apa pekerjaan dalam suatu interval waktu. Keterbatasan sumber daya ini men- gakibatkan perlunya suatu penjadwalan pekerjaan pabrik. Penjadwalan adalah alokasi sumber daya pada suatu periode waktu atau interval untuk menyelesai- kan sekumpulan pekerjaan dengan tujuan untuk mengoptimalkan satu atau lebih fungsi tujuan. Penjadwalan memainkan peranan yang sangat penting dalam ke- berhasilan suatu perusahaan memproleh keuntungan yang optimal dari sumber daya yang terbatas (Pinedo, 2008).

Pada pabrik, ada kalanya suatu produk atau pekerjaan membutuhkan be- berapa tahapan atau operasi untuk menjadi produk jadi, setiap operasi diproses oleh sebuah mesin khusus (dedicated machine). Hal yang harus dilakukan adalah menentukan urutan masing-masing operasi untuk diproses oleh mesin. Per- masalahan demikian disebut penjadwalan J ob Shop. Penjadwalan J ob Shop da- pat dinyatakan sebagai berikut yaitu mengalokasikan m mesin Mk(k = 1, . . . , m) pada setiap ni operasi yaitu Oi1,Oi1,. . . ,Oini dari suatu pekerjaan Ji(i = 1, . . . , n) dimana setiap operasi harus dikerjakan secara berurut.

Pada masa kini, kecanggihan teknologi mengakibatkan adanya pengem- bangan pada peralatan mesin, sehingga satu mesin tidak hanya mempunyai satu fungsi khusus untuk menyelesaikan satu jenis operasi akan tetapi dapat menye- lesaikan beberapa jenis operasi. Jenis mesin ini disebut Multi-Purpose Machine.

Dengan demikian suatu operasi dapat diproses tidak hanya oleh satu buah mesin akan tetapi lebih dari satu mesin. Permasalahan demikian disebut Penjadwalan

1

UNIVERSITAS SUMATERA UTARA

(18)

2

Flexible Job Shop. Jika µij adalah himpunan mesin yang mampu menyelesaikan suatu operasi Oij maka pada Job Shop µij adalah himpunan yang hanya memi- liki satu anggota, sementara pada Flexible Job Shop µij bisa memiliki lebih dari satu anggota (Brucker, 2007).

Dengan demikian penjadwalan pada Flexible Job Shop lebih rumit dari Job Shop. Pada Job Shop pengambil keputusan hanya menentukan operasi apa saja yang dikerjakan dalam suatu periode waktu, sementara pada Flexible Job Shop harus menentukan penugasan mesin untuk setiap operasi. Hal ini dikarenakan adanya perbedaan waktu jika suatu operasi dikerjakan oleh mesin yang berbeda (Ahmadi et al., 2016).

Kebanyakan fungsi tujuan dari Penjadwalan Flexible Job Shop adalah me- ngenai waktu penyelesaian seluruh operasi, atau penyelesaian operasi terakhir, fungsi tujuan ini disebut makespan. Akan tetapi pada kenyataannya perfor- ma dari suatu penjadwalan melibatkan lebih dari satu fungsi tujuan (Scaria et al., 2016). Oyetunji (2009) menyebutkan beberapa fungsi tujuan klasik lainnya seperti flow time, lateness, tardiness, earliness, early job. Pinedo (2008) mem- bagi fungsi tujuan tersebut menjadi dua bagian yaitu reguler dan non reguler.

Fungsi reguler adalah fungsi yang monoton naik, salah satu fungsi reguler adalah keterlambatan atau disebut tardiness, dalam kasus ini penalti akan diberikan jika suatu pekerjaan dikerjakan melebihi waktu yang ditentukan. Sementara itu contoh fungsi non regular adalah earliness, yang merupakan kebalikan dari tardiness, penalti akan diberikan apabila pekerjaan dikerjakan lebih cepat dari waktu yang ditentukan. Maka fungsi tujuan adalah meminimumkan penalti.

Beberapa penelitian menggabungkan konsep earliness dan tardiness sehing- ga suatu pekerjaan harus selesai pada waktu yang ditentukan, tidak lebih cepat ataupun lebih lambat, panjadwalan yang demikian disebut Just-in-time Schedul- ing. Waktu yang ditentukan adalah sebuah titik waktu (time point). Huang et al., (2013) mengembangkan konsep JIT Scheduling dimana waktu yang diten- tukan tidak dalam bentuk titik waktu, melainkan dalam bentuk rentang waktu time interval atau disebut due windows.

UNIVERSITAS SUMATERA UTARA

(19)

3

Akhir-akhir ini beberapa peneliti fokus mengembangkan penjadwalan yang mempertimbangkan kondisi lingkungan. Fungsi tujuan yang digunakan adalah mengenai memimumkan konsumsi energi dan kebisingan mesin, Yin et al., (2016) dan Piroozfard et al., (2016). Dengan demikian pada penelitian kali ini penulis ingin mengembangkan suatu model Multiobjective Flexible Job Shop dengan kon- sep Just-in-Time Scheduling sekaligus mempertimbangkan waktu penyelesaian pekerjaan, dan faktor lingkungan, dalam hal ini yang diperhatikan adalah kon- sumsi energi mesin. Selanjutnya model tersebut akan diselesaikan dengan Algo- ritma Genetika. Algoritma yang banyak digunakan dalam penyelesaian Flexible Job Shop.

1.2 Perumusan Masalah

Misalkan terdapat sejumlah m mesin Mk(k = 1, 2, . . . , m), sejumlah n pekerjaan Ji(i = 1, 2, . . . , n) dengan sejumlah ni operasi Oi1, Oi2, . . . , Oini pada masing- masing pekerjaan. Setiap mesin memproses tiap operasi dengan waktu pemero- sesan pij dan waktu penyelesaian suatu operasi adalah penjumlahan waktu mulai pemerosesan Oij, dinyatakan dengan sij, dengan waktu pemerosesan operasi pij, yaitu cij = sij + pij, waktu penyelesaian suatu pekerjaan dinyatakan dengan ci. Setiap operasi hanya dapat diproses sekali dan hanya menggunakan satu jenis mesin. Setiap pekerjaan memiliki batas interval waktu, pekerjaan akan dikenai penalti jika diselesaikan di luar interval waktu yang disediakan. Masing-masing mesin memiliki satuan konsumsi energi, permasalahan yang ingin diselesaikan adalah mengalokasikan tiap mesin ke masing-masing operasi dan mengatur uru- tan tiap operasi sehingga meminimumkan makespan, meminimumkan penalti, meminimumkan konsumsi energi.

1.3 Tujuan Penelitian

Tujuan dari penelitian ini adalah mengembangkan model permasalahan penjad- walan M ultiobjective F lexible J ob Shop dengan fungsi tujuan meminimumkan makespan, due windows, konsumsi energi dan menyelesaikan model tersebut de- ngan Algoritma Genetika.

UNIVERSITAS SUMATERA UTARA

(20)

4

1.4 Manfaat Penelitian

Hasil dari penelitian ini berguna sebagai bahan literatur untuk permasalahan M ultiobjective F lexible J ob Shop.

UNIVERSITAS SUMATERA UTARA

(21)

BAB 2

TINJAUAN PUSTAKA

2.1 Penjadwalan

Misalkan sejumlah m mesin Mk {k = 1, . . . , m} akan memproses sejumlah n pekerjaan Ji {i = 1, . . . , n}. Penjadwalan untuk setiap pekerjaan adalah alokasi satu atau lebih interval waktu pada satu atau lebih mesin. Penjadwalan direp- resentasikan oleh Gantt Chart seperti tertera pada Gambar 2.1

Gambar 2.1 Gannt Chart

Misalkan pekerjaan Jiterdiri dari sejumlah nioperasi Oi1, . . . , Oini. Untuk setiap operasi Oij terdapat waktu pemerosesan pij. Jika pekerjaan Ji terdiri dari satu operasi (ni=1), maka operasi pada Ji adalah Oi1 dan waktu pemerosesan adalah pi. Untuk setiap operasi Oij terdapat himpunan mesin, µij ⊆ M dimana M adalah himpunan mesin M = {M1, . . . , Mm}. Setiap operasi Oij dapat diproses oleh setiap mesin pada himpunan µij. Pada kebanyakan kasus setiap µij memiliki satu anggota (|µij| = 1) atau setiap µij beranggotakan seluruh mesin µij = M.

Kasus yang pertama disebut sebagai dedicated machine. Kasus kedua disebut parrarel. Kasus yang lebih umum digunakan untuk menyelesaikan permasalahan penjadwalan pabrik yang fleksibel dimana setiap mesin diperlangkapi dengan alat yang berbeda. Hal ini mengakibatkan sebuah operasi Oij dapat diproses oleh setiap mesin yang diperlangkapi dengan alat yang sesuai, dengan demikian setiap pekerjaan dapat diproses oleh seluruh ataupun himpunan bagian M yaitu µij ⊆ M Kasus yang demikian disebut multi-purpose machines.

5

UNIVERSITAS SUMATERA UTARA

(22)

6

2.2 Klasifikasi Penjadwalan

Penjadwalan diklasifikasikan dengan notasi α|β|γ dimana α menyatakan jenis mesin, β menyatakan karakteristik pekerjaan, dan γ menunjukkan kriteria opti- malitas yang digunakan.

2.2.1 Karakteristik pekerjaan

Karakteristik pekerjaan dinyatakan dengan himpunan β yang terdiri dari enam anggota yaitu β1, β2, β3, β4, β5 dan β6.

β1 = pmtn menyatakan adanya interupsi, yaitu suatu pekerjaan atau opera- si tidak harus diproses dengan mesin yang sama sampai selesai, akan tetapi pemerosesan nya dapat ditunda dan dilanjutkan di waktu yang lain dan dengan menggunakan mesin yang berbeda.

β2 = prec menyatakan adanya prioritas pekerjaan, yaitu adanya pekerjaan yang harus dikerjakan terlebih dahulu sebelum pekerjaan yang lain dimulai.

β3 = rimenyatakan adanya release date yaitu waktu rilis suatu pekerjaan. Peker- jaan tidak dapat diproses sebelum waktu rilis tiba.

β4 menyatakan waktu pemerosesan pada setiap pekerjaan atau operasi. Jika β4

adalah pi = 1 dan pij = 1 maka setiap pekerjaan ataupun operasi pada penjad- walan tersebut mempunyai waktu pemerosesan sebesar 1 satuan.

β5 = di, menyatakan adanya batas waktu (deadline) penyelesaian suatu peker- jaan, apabila waktu pekerjaan diselesaikan melebihi batas deadline maka penye- lesaian pekerjaan dianggap terlambat.

β6 = batch, menyatakan adanya pengelompokan, dimana beberapa operasi atau pekerjaan dikelompokkan ke dalam suatu grup (batch), dan kemudian disele- saikan secara bersamaan oleh sebuah mesin.

2.2.2 Jenis mesin

Jenis mesin digolongkan oleh α = α1α2yang terdiri dari dua parameter. Ni- lai pada parameter α1 terdiri dari ◦, P, Q, R, P M P M, QM P M, G, X, O, J, F , di- mana ◦ menyatakan himpunan kosong, parameter α2 menyatakan jumlah mesin.

α1 = ◦, maka setiap pekerjaan hanya dapat diproses oleh sebuah mesin. dedicated

UNIVERSITAS SUMATERA UTARA

(23)

7

machine. α1 ∈ {P, Q, R}, penjadwalan menggunakan mesin paralel, parallel ma- chine. Tiap pekerjaan dapat diproses oleh seluruh mesin M1, M2, . . . , Mm. Jika α1 = P , maka digunakan sejumlah m mesin yang identik identical parallel ma- chine, identik dalam artian setiap mesin mempunyai waktu pemerosesan yang sama dalam memproses suatu pekerjaan, dengan demikian jika pik adalah waktu pemerosesan dari pekerjaan Ji pada mesin Mk maka pik = pi untuk semua mesin Mk. Jika α1 = Q maka digunakan sejumlah m mesin yang seragam uniform pa- rallel machine, dimana setiap mesin mempunyai kecepatan yang berbeda dalam memproses suatu pekerjaan. Kecepatan mesin dinotasikan dengan sk, waktu pemerosesan pekerjaan Ji pada mesin Mk adalah pik = pi/sk. Jika α1 = R, ma- ka digunakan sejumlah m unrelated parallel machine dimana kecepatan mesin bergantung pada jenis pekerjaan yaitu sik, dengan demikian waktu pemero- sesan pekerjaan adalah pij = pi/sik, dimana sij adalah kecepatan mesin Mj

dalam memproses suatu pekerjaan j. jika α1 = P M P M dan α1 = QM P M maka penjadwalan tersebut menggunakan mesin yang fleksibel (Multi-purpose machine) yaitu mesin dengan adanya penambahan peralatan, dengan demikian tiap pekerjaan dapat diproses oleh mesin yang diperlengkapi dengan peralatan yang sesuai. P M P M menunjukkan mesin yang fleksibel dimana masing-masing mesin memiliki kecepatan yang sama (identical parallel machine) dan QM P M menunjukkan mesin yang fleksibel dimana masing-masing mesin memiliki ke- cepatan yang berbeda (uniform parallel machine). jika α1 ∈ {G, X, O, J, F }, maka terdapat lebih dari satu tahapan atau operasi pada tiap pekerjaan. Setiap pekerjaan dinyatakan selesai jika setiap operasi dalam suatu pekerjaan telah dise- lesaikan. Untuk α1 = G maka setiap operasi dalam satu pekerjaan harus diproses sesuai urutan, penjadwalan demikian disebut General Shop, dinotasikan dengan α1 = G. Pada J ob Shop yang dinotasikan dengan α1 = J setiap operasi mem- punyai urutan yang spesifik yaitu:

Oi1 → Oi2 → Oi3→ . . . → Oi,ni untuk i = 1, . . . , n

Pada job shop µij 6= µi,j+1 untuk j = 1, . . . , ni − 1, jika µij = µi,j+1 maka dinyatakan sebagai job shop dengan pengulangan mesin Job Shop with machine repetition. Flow Shop yang dinotasikan dengan α1 = F , adalah bentuk khusus

UNIVERSITAS SUMATERA UTARA

(24)

8

dari job shop dimana ni = m untuk setiap i = 1, . . . , n dan µij = {Mj} un- tuk setiap i = 1, . . . , n dan j = 1, . . . , m. Open Shop yang dinotasikan dengan α1 = O adalah penjadwalan flow shop dimana urutan pada operasi tidak diper- timbangkan. Mixed Shop yang dinotasikan dengan α1 = X adalah kombinasi dari job shop dan open shop.

Jika α2adalah bilangan positif 1, 2 . . ., maka α2 menunjukkan jumlah mesin.

Jika α2 = k, maka k adalah sembarang bilangan positif. Pada kebanyakan kasus nilai α2 tidak ditampilkan, hal tersebut menunjukkan bahwa α2 = k. (Brucker, 2007)

2.2.3 Kriteria optimalitas

Misalkan waktu penyelesaian pekerjaan dinotasikan dengan Ci, fungsi objektif yang sering digunakan pada penjadwalan adalah fungsi yang bergantung pada penyelesaian pekerjaan, beberapa fungsi objektif yang digunakan: M akespan max{Ci|i = 1, . . . , n}, adalah penyelesaian waktu secara keseluruhan atau dika- takan sebagai waktu penyelesaian operasi terakhir yang dikerjakan dalam penjad- walan. Tujuan dari penjadwalan adalah meminimumkan nilai makespan. Total flow time, fungsi objektif ini menunjukkan total waktu pemerosesan masing- masing pekerjaan, Pn

i=1Ci, pengembangan dari kriteria flow time adalah flow- time terboboti Pn

i=1wiCi. Keterlambatan (lateness), Li = Ci − di, menun- jukkan waktu penyelesaian pekerjaan yang melewati tenggat waktu penyelesaian due date. Salah satu pengembangan dari lateness adalah Maximum Lateness Lmax= max{0, Ci− di}.yang menunjukkan pelanggaran terhadap tenggat waktu yang paling besar. T ardiness (Ti), lateness akan bernilai negatif apabila wak- tu penyelesaian suatu pekerjaan lebih cepat dari due date. T ardiness adalah lateness yang selalu bernilai positif, Ti = max{0, Ci− di}. Pengembangan dari T ardiness adalah total tardiness Pn

i=1Ei Unit Penalty (Ui), menunjukkan jum- lah pekerjaan penyelesaiannya melewati tenggat waktu, dinotasikan dengan

Uj =





1, jika Ci > di

0, lainnya

UNIVERSITAS SUMATERA UTARA

(25)

9

Fungsi objektif yang monoton naik pada setiap variabel Ci disebut reguler, fungsi-fungsi diatas adalah reguler, contoh fungsi non reguler Earliness Ei me- nunjukkan waktu penyelesaian pekerjaan yang lebih cepat dari due date, beber- apa penggunaan dari earliness yaitu Pn

i=1Ei, Ei = max{0, di− Ci}. Fungsi ini dikembangkan menjadi penjumlahan dari earliness dan tardiness yaituPn

i=1Ei

+ Li = max{0, Ci−di}, lebih lanjut dikembangkan penambahan bobot Wi0Pn i=1Ei

+ Wi00Pn

i=1Ei. (Pinedo, 2008)

Berikut contoh penggunaan notasi α|β|γ, misalkan suatu penjadwalan dino- tasikan dengan P |ri, pmtn|Cmax, yang berarti α1 = P , α2 = k, β = pmtn,β = ri, dan γ = Cmax. Dengan demikian penjadwalan tersebut menggunakan sejumlah k mesin identik, pekerjaan atau operasi dapat diinterupsi, adanya waktu rilis pada pekerjaan dan fungsi tujuan adalah meminimumkan waktu penyelesaian seluruh pekerjaan. (Brucker, 2007). .

2.3 Job Shop

Job Shop adalah salah satu jenis penjadwalan dimana tiap operasi dalam satu pekerjaan diproses oleh mesin secara berurutan, tiap pekerjaan mempunyai uru- tan pemerosesan operasi tersendiri dan bisa berbeda dengan urutan pemerosesan pada pekerjaan lain. Dengan demikian Job Shop adalah bentuk umum dari flow shop. Kuhpfahl (2015) memberikan aturan-aturan pada job shop sebagai berikut:

1. Setiap mesin hanya dapat melakukan satu pekerjaan pada suatu interval waktu;

2. Setiap operasi harus diselesaikan sampai selesai, pemerosesan suatu operasi tidak dapat ditunda;

3. Setiap operasi hanya diproses sebanyak satu kali dan diproses oleh tepat satu buah mesin;

4. Hanya ada satu mesin yang dapat memproses suatu operasi;

UNIVERSITAS SUMATERA UTARA

(26)

10

5. Setiap operasi dalam satu pekerjaan tidak dapat diproses secara bersamaan;

6. Pemerosesan operasi dapat dilakukan setelah waktu rilis.

Permasalahan yang akan diselesaikan pada job shop adalah menentukan urutan pemerosesan tiap operasi pada masing-masing mesin sedemikian sehingga tidak melanggar aturan-aturan pada job shop dan mengoptimalkan fungsi tujuan.

Tabel 2.1 memperlihatkan bentuk persoalan job shop.

Tabel 2.1 Job Shop ji Oij M1 M2 . . . Mo

O11 ∞ ∞ . . . p11

j1 O12p12 . . . ∞ O13 p13 ∞ . . . ∞ ... ... ... ... ... O1m ∞ ∞ . . . ∞

O21 ∞ ∞ . . . p21

j2 O22p22 . . . ∞ O23 p23 ∞ . . . ∞ ... ... ... ... ... O2m ∞ ∞ . . . ∞

... ... ... ... ... On1 ∞ ∞ . . . pn1

jn On2pn2 . . . ∞ On3 pn31 ∞ . . . ∞ ... ... ... ... ... Onm ∞ ∞ . . . ∞

Kolom satu pada Tabel 2.1 menunjukkan jenis pekerjaan Ji, kolom dua me- nunjukkan operasi-operasi pada pekerjaan Ji yaitu Oij. Setiap operasi diproses oleh salah satu dari mesin M1, M2, . . . , Mo. ∞ menunjukkan bahwa pekerjaan tersebut tidak dapat diproses oleh mesin yang bersangkutan. Sementara p11

menunjukkan waktu pemerosesan O11 dengan menggunakan mesin Mo. Terlihat pada tabel jika µij adalah himpunan mesin yang dapat memproses setiap operasi Oij maka µij hanya terdiri dari satu anggota.

Contoh penjadwalan Job Shop yang layak dimana terdapat 2 pekerjaan, 2 operasi pada tiap pekerjaan dan 2 mesin tertera pada Gambar 2.2.

UNIVERSITAS SUMATERA UTARA

(27)

11

Gambar 2.2 Penjadwalan Job Shop untuk 2 pekerjaan, 2 operasi dan 2 mesin

Diagram dibentuk oleh dua sumbu yaitu sumbu-x menunjukkan waktu, dan sumbu-y menunjukkan mesin Mj. Setiap pekerjaan dibagi menjadi beberapa ope- rasi. Pekerjaan 1 mempunyai 2 operasi yaitu O11 dan O12. Berdasarkan aturan job shop maka O12 baru dapat dikerjakan setelah operasi O11diselesaikan. Wak- tu mulai tiap operasi adalah Sij, waktu pemerosesan pij dan waktu penyelesaian Cij. Dengan demikian waktu mulai O12 akan lebih besar dari waktu penyelesaian O11. ri menunjukkan waktu rilis operasi pertama pada suatu pekerjaan. Operasi O11 mulai dikerjakan setelah melewati waktu rilis r1.

Bentuk pemodlean penjadwalan job shop oleh Kuhpfahl (2015) sebagai berikut:

i,k = Indeks pekerjaan i, k = 1, . . . , n

j,l = Indeks tahapan penyelesaian pekerjaan j, l = 1, . . . , m pij = Waktu pemerosesan operasi Oij

Oij = Operasi ke-j dengan pekerjaan ke-i Okl = Operasi ke-l dengan pekerjaan ke-k sij = Waktu mulai operasi Oij

Cij = Waktu penyelesaian suatu operasi Oij

M = Bilangan positif sangat besar

UNIVERSITAS SUMATERA UTARA

(28)

12

yijkl =





1, jika operasi Oij mendahului operasi Opq

0, lainnya

minimumkan z = max{Cij} (2.1)

dengan kendala

sij ≥ ri , i ∈ {1, 2, . . . , n} j = 1 (2.2) cij = sij + pij , i ∈ {1, 2, . . . , n} j ∈ {1, 2, . . . , m} (2.3) si(j+1) ≥ cij i ∈ {1, 2, . . . , n} j ∈ {1, 2, . . . , m} (2.4) (sij − skl) ≥ pkl− M (yijkl), (skl− sij) ≥ pij − M (1 − yijkl)

i ∈ {1, 2, . . . , n} j ∈ {1, 2, . . . , m}i 6= k

(2.5)

Persamaan 2.2 memastikan pekerjaan dapat dimulai setelah melewati wak- tu rilis, persamaan 2.3 mendefinisikan variabel cij, persamaan 2.4 memastikan operasi yang berbeda pada suatu pekerjaan yang sama tidak dapat diproses se- cara bersamaan, persamaan 2.5 memastikan bahwa setiap mesin hanya dapat memproses satu pekerjaan dalam suatu interval waktu.

2.4 Flexible Job Shop

Flexible Job Shop adalah bentuk umum dari Job Shop yang memperbolehkan setiap operasi untuk diproses oleh setiap mesin dalam suatu himpunan, dengan kata lain terdapat suatu operasi dimana µij mempunyai lebih dari satu anggota.

Flexible Job Shop lebih rumit dari Job Shop karena selain mengatur urutan ope- rasi juga harus menentukan penugasan mesin untuk tiap operasi. (Brucker dan Knust, 2005). Behnke dan Geiger (2012) membagi Flexible Job Shop menjadi dua yaitu Total Flexible Job Shop dan Partial Flexible Job Shop seperti tertera pada Tabel 2.2 dan Tabel 2.3.

UNIVERSITAS SUMATERA UTARA

(29)

13 Tabel 2.2 Partial Flexible Job Shop

ji Oij M1 M2 . . . Mo

O11 p111 ∞ . . . p11o

j1 O12 p121 p122 . . . ∞ O13 p131 ∞ . . . p13o

... ... ... ... ... O1mp1m2 . . . p1mo

O21 p211 ∞ . . . ∞ j2 O22 p221 p222 . . . ∞ O23p232 . . . ∞ ... ... ... ... ... O2m p2m1 ∞ . . . p2mo

... ... ... ... ... ... On1 pn11 ∞ . . . pn1o

jn On2 pn21 pn22 . . . ∞ On3pn32 . . . pn3o

... ... ... ... ... Onm ∞ ∞ . . . pnmo

Jika ada suatu pekerjaan Ji, dimana ada mesin yang tidak dapat mengerjakan suatu operasi Oij maka permasalahan tersebut dinyatakan sebagai permasalahan penjadwalan Partial Flexible Job Shop. Jika setiap mesin Ji dapat memproses setiap operasi Oij maka permasalahan tersebut dinyatakan sebagai permasalahan Total Flexible Job Shop.

Variabel biner xijkdiperkenalkan pada pemodelan flexible job shop, variabel tersebut menunjukkan mesin yang terpilih untuk menyelesaikan suatu operasi Oij. Permasalahan flexible job shop dapat dimodelkan sebagai berikut:

xijk =





1, jika operasi Oij dikerjakan oleh mesin k 0, lainnya

minimumkan z = max

1≤i≤n { max

1≤j≤ni

Cij} (2.6)

dengan kendala

cij = sij + (pijk.xijk) , i ∈ {1, 2, . . . , n} k ∈ {1, 2, . . . , o} (2.7)

cij = si(j+1) , i ∈ {1, 2, . . . , n} (2.8)

UNIVERSITAS SUMATERA UTARA

(30)

14 Tabel 2.3 Total Flexible Job Shop

ji Oij M1 M2 . . . Mo

O11 p111 p112 . . . p11o

j1 O12 p121 p122 . . . p12o

O13 p131 p132 . . . p13o

... ... ... ... ... O1m p1m1 p1m2 . . . p1mo

O21 p211 p212 . . . p21o

j2 O22 p221 p222 . . . p22o

O23 p231 p232 . . . p23o

... ... ... ... ... O2m p2m1 p2m2 . . . p2mo

... ... ... ... ... ... On1 pn11 pn12 . . . pn1o

jn On2 pn21 pn22 . . . pn2o

On3 pn31 pn32 . . . pn3o

... ... ... ... ... Onm pnm1 pnm2 . . . pnmo

sij + pijk ≤ spq + M.(1 − yijpqk), k ∈ {1, 2, . . . , o};

i, p ∈ {1, 2, . . . , n}; j, q ∈ {1, 2, . . . , ni}

(2.9)

cpq ≤ si(j+1)+ M.(1 − ypqp(j+1)k); k ∈ {1, 2, . . . , o}

i, p ∈ {1, 2, . . . , n}; j, q ∈ {1, 2, . . . , ni}

(2.10)

Xo k=1

xijk = 1 , k ∈ {1, 2, . . . , o}; i, p ∈ {1, 2, . . . , n} (2.11)

Persamaan 2.7 menunjukkan waktu penyelesaian pada suatu operasi, per- samaan 2.8 memastikan tiap operasi pada suatu pekerjaan yang yang sama harus diselesaikan secara berurutan mendefinisikan variabel cij, persamaan 2.9 dan persamaan 2.10 memastikan bahwa setiap mesin hanya dapat memproses satu pekerjaan dalam suatu interval waktu, persamaan 2.11 memastikan tiap operasi hanya dapat diselesaikan oleh satu buah mesin.

2.5 Teknik Penyelesaian Flexible Job Shop

Metode yang digunakan untuk menyelesaikan persoalan Flexible Job Shop dibagi menjadi dua yaitu:

UNIVERSITAS SUMATERA UTARA

(31)

15

1. Metode eksak

Metode eksak berusaha untuk mencari hasil yang optimal. Model mate- matika digunakan dalam hal ini, kelemahan dari metode ini adalah mem- butuhkan waktu yang lebih lama dan cara yang lebih rumit. Salah satu penelitian yang menggunakan metode ini yaitu Demir dan Isleyen (2013) menggunakan Mixed Integer Programming untuk menyelesaikan permasala- han job shop dengan fungsi tujuan meminimumkan makespan.

2. Metode heuristik

Metode heuristik tidak menjamin diprolehnya hasil yang optimal, akan tetapi hasil yang cukup baik dalam waktu yang relatif lebih singkat di- bandingkan teknik penyelesaian optimal. Metode heuristik cenderung da- pat beradaptasi dengan berbagai variasi persoalan penjadwalan. Beberapa metode heuristik yang digunakan dalam permasalahan job shop yaitu dis- patching rule dan local search.

Beberapa contoh dispatching rule untuk pengurutan operasi oleh Brucker (2007):

1. Shortest Processing Time (SPT), pada metode ini, operasi pada pekerjaan yang memiliki waktu pemerosesan paling singkat akan diproses terlebih dahulu.

2. Longest Processing Time (LPT), opearasi pada pekerjaan yang memiliki waktu pemerosesan terlama, akan diproses terlebih dahulu.

3. Earliest Due Date (EDD), operasi pada pekerjaan yang memiliki batas waktu penyelesaian due date terkecil akan diproses terlebih dahulu. Tujuan dari metode ini untuk meminimumkan waktu keterlambatan.

4. First Come First Serve (FCFS), operasi pada pekerjaan yang memiliki waktu rilis paling kecil akan diproses terlebih dahulu.

Sementara itu untuk penugasan mesin, beberapa metode heuristik diperke- nalkan oleh Kacem et al., (2002), terdapat dua jenis metode heuristik yang digu-

UNIVERSITAS SUMATERA UTARA

(32)

16

nakan yaitu: Assignment Rule 1 dan Global Minimum, untuk Assignment Rule 1 langkah-langkah yang dilakukan:

Tabel 2.4 Contoh Job Shop 3 pekerjaan dan 4 mesin ji Oij M1 M2 M3 M4

j1 O11 1 3 4 1

O12 3 8 2 1

O13 3 5 4 7

j2 O21 4 1 1 4

O22 2 3 9 3

O23 9 1 2 2

j3 O31 8 6 3 5

O32 4 5 8 1

Langkah awal dilakukan adalah dengan menugaskan mesin dengan jumlah wak- tu pemerosesan terkecil untuk operasi O11, misalkan terpilih mesin M1 dengan waktu pemerosesan sebesar 1 satuan, langkah selanjutnya menjumlahkan setiap entri pada kolom pertama dengan 1.

Langkah selanjutnya adalah menugaskan mesin dengan waktu pemerosesan terke- cil untuk operasi O12, maka mesin 4 terpilih untuk memproses operasi tersebut.

Dan penambahan sebesar 1 satuan untuk tiap kolom 4. Hal ini dilakukan sampai seluruh operasi diproses oleh tepat satu buah mesin. Hasil yang diproleh pada metode tersebut sangat bergantung pada urutan pekerjaan. Misalkan jika J3

bertukar posisi dengan J1 maka akan didapatkan hasil yang berbeda.

Untuk Global Minimum, langkah-langkah yang dilakukan adalah sebagai berikut: Memilih waktu pemerosesan yang paling kecil secara keseluruhan, mi- salkan yang terpilih adalah entri pada O32 dan M2 dengan nilai 1 satuan. Maka semua entri pada kolom 2 akan dijumlahkan dengan 1. Langkah selanjutnya yaitu dengan memilih entri terkecil lainnya. Hal ini dilakukan berulang-ulang sampai tiap operasi diproses oleh tepat satu buah mesin.

Ada beberapa metode yang menggunakan konsep local search,yaitu Algoritma Genetika, Tabu Search, Algoritma Semut, harmony search dan lain-lain. Untuk permasalahan flexible job shop terdapat dua proses yang harus dilakukan yaitu memilih mesin untuk masing-masing operasi (routing) dan mengurutkan operasi sequencing. Ada dua pendekatan yang dilakukan yaitu hiearki dan integrasi. Pa-

UNIVERSITAS SUMATERA UTARA

(33)

17

da hiearki, pemilihan mesin dan pengurutan opearasi dilakukan secara terpisah sementara untuk integrasi proses pemilihan mesin dan pengurutan opearasi di- lakukan secara bersamaan.

2.6 Algoritma Genetika

Algoritma Genetika merupakan metode heuristik yang dikembangkan berdasar- kan prinsip genetika dan proses seleksi alamiah Teori Evolusi Darwin. Metode optimasi ini dikembangkan oleh John Holland sekitar tahun 1960-an dan dipop- ulerkan salah seorang mahasiswanya, David Goldberg, pada tahun 1980-an. Pro- ses pencarian penyelesaian atau proses terpilihnya sebuah penyelesaian dalam al- goritma ini berlangsung sama seperti terpilihnya suatu individu untuk bertahan hidup dalam proses evolusi.

Pencarian dimulai dengan pembangkitan sejumlah ”individu” secara acak yang disebut dengan kromosom. Kromosom-kromosom ini merupakan represen- tasi calon penyelesaian yang akan diperiksa nilai yang sebenarnya. Seperti halnya proses evolusi alamiah, kromosom-kromosom akan dinilai tingkat kebugarannya.

Hanya kromosom dengan tingkat kebugaran yang tinggi saja yang terpilih un- tuk bertahan dalam populasi. Kromosom-kromosom yang terpilih sebagian akan melakukan proses reproduksi melalui penyilangan (crossover). Proses reproduksi ini mirip dengan perkawinan individu dalam proses evoulusi. Sebagian kecil dari kromosom-kromosom ini juga terkena mutasi seperti dalam proses evolusi. Pro- ses reproduksi ini akan melahirkan individu-individu baru. Gabungan-gabungan dari individu-individu baru dengan kromosom-kromosom yang tidak melakukan proses reproduksi ini akan membentuk populasi baru pada generasi berikutnya.

Serangkaian proses seperti ini berlangsung sampai sejumlah generasi tercapai.

Penyelesaian yang ditemukan adalah kromosom yang mempunyai tingkat ke- bugaran yang paling tinggi pada generasi terakhir. (Goldberg, 1989)

UNIVERSITAS SUMATERA UTARA

(34)

18

2.7 Langkah-langkah Algoritma Genetika

Coley (1999) memberikan langkah-langkah penyelesaian masalah dengan algorit- ma genetika adalah sebagai berikut:

1. Pengkodean, yaitu merepresentasikan suatu solusi dalam bentuk kromo- som, kromosom dapat dirancang dengan kode-kode tertentu, dengan per- syaratan dapat diproses oleh operator-operator genetika. Setiap kromosom terdiri dari beberapa buah gen;

2. Penentuan Parameter, yang disebut dengan parameter dalam hal ini adalah parameter kontrol algoritma genetika, yaitu ukuran populasi (popsize), peluang crossover (pc), dan peluang mutasi (pm);

3. Prosedur Inisialisasi, setelah ukuran populasi ditentukan, kemudian harus dilakukan inisialisasi terhadap kromosom yang terdapat pada populasi ter- sebut. Inisialisasi kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada;

4. Seleksi, hal ini bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi anggota populasi yang paling fit. Ada beberapa metode se- leksi dari induk, antara lain: rank-based fitness: populasi diurutkan menu- rut nilai objektifnya, Roullete Wheel Selection: pada metode ini, individu- individu dipetakan dalam suatu segmen garis secara berurutan sedemikian sehingga tigap-tiap segmen individu memilii ukuran yang sama dengan ukuran f itness dan lain-lain;

5. Persilangan (Crossover), persilangan dilakukan untuk memproleh ketu- runan individu yang terbaik dengan mengawinkan pasangan-pasangan indi- vidu terpilih. Individu yang mengalami proses persilangan adalah individu yang memiliki nilai bilangan acak lebih kecil dari probabilitas crossover (pc). Pasangan kromosom yang terpilih akan menjadi kromosom induk (parent) sementara kromosom baru hasil persilangan akan menjadi kro- mosom anak (of f spring);

UNIVERSITAS SUMATERA UTARA

(35)

19

6. Mutasi, setelah mengalami proses crossover, pada of f spring dapat di- lakukan mutasi. Gen pada of f spring dimutasi dengan menambahkan nilai acak yang sangat kecil (ukuran langkah mutasi), dengan probabilitas yang rendah. Peluang mutasi (pm) didefinisikan sebagai persentasi dari jumlah total gen pada populasi yang mengalami mutasi.

2.8 Program Linier Multiobjektif

Sakawa (2013) mengemukakan Program Linier Multiobjektif sebagai berikut, suatu permasalahan dengan fungsi tujuan lebih dari satu, dimana fungsi tu- juan dapat saling bertentangan satu dengan yang lainnya dan kendala yang di- gunakan merupakan kendala linier, Program Linier Multiobjektif, dinyatakan sebagai berikut:

Minimumkan z1(x) = c1(x) Minimumkan z2(x) = c2(x) . . . . Minimumkan zk(x) = cn(x)

kendala Ax ≤ b x ≥ 0

(2.12)

dimana ci = (ci1, . . . , cin), i = 1, . . . , k

x =

 x1

x2

... xn

 A =



a11 a12 . . . a1n

a11 a12 . . . a1n

... ... . .. ... am1 am2 . . . amn

 b =

 b1

b2

... bn



program linier multiobjektif dapat juga dinyatakan sebagai berikut:

minimumkan z(x) = (z1(x), z2(x), . . . , zk(x)t kendala Ax ≤ b

x ≥ 0

(2.13)

Jika daerah penyelesaian layak dari persamaan dinyatakan sebagai:

X = {x ∈ <n|Ax ≤ b, x ≥ 0} (2.14)

UNIVERSITAS SUMATERA UTARA

(36)

20

dengan memperkenalkan matriks k x n, C = (c1, c2, . . . , ck)T dari koefisien fungsi objektif, maka bentuk permasalahan program linier multiobjektif diubah men- jadi:

minimumkan z(x) = Cx kendala x ∈ X

(2.15)

dengan mengaplikasikan ide optimal pada permasalahan program linier dengan satu fungsi tujuan ke program linier multiobjektif, maka diproleh definisi dari solusi optimal lengkap complete optimal solution.

Definisi 1 (Complete optimal solution). Sebuah titik x dikatakan sebagai solusi optimum tunggal jika dan hanya ada x sedemikian sehingga zi(x) ≤ zi(x), i = 1, . . . , k untuk setiap x ∈ X

Namun secara umum, solusi optimum tunggal yang dapat meminimumkan se- mua fungsi tujuan secara bersamaan tidak selalu ada ketika adanya konflik pada masing-masing fungsi objekif. Sehingga, solusi optimal pareto lebih tepat digu- nakan dalam fungsi linier multiobjektif.

Definisi 2 (Solusi optimum pareto). Sebuah titik x dikatakan sebagai solusi optimum pareto jika dan hanya jika tidak ada x ∈ X lain sedemikian sehingga zi(x) ≤ zi(x) untuk semua i zj(x) 6= zj(x) untuk paling sedikit satu j

. Salah satu metode untuk menyelesaikan permasalahan multiobjektif adalah metode pembobotan yaitu mengubah permasalahan multiobjektif tersebut ke dalam bentuk single objective dengan memberikan bobot wi pada masing-masing fungsi tujuan. Dengan demikian permasalahan multiobjektif diubah menjadi meminimumkan ataupun memaksimumkan penjumlahan tiap-tiap fungsi tujuan sebagai berikut:

Minimumkan W = w1.z1(x) + w2.z2(x) + . . . + wk.zk(x) (2.16) dimana w1+ w2+ w3+ . . . + wk = 1.

UNIVERSITAS SUMATERA UTARA

(37)

21

2.9 Multiobjective Flexible Job Shop

Permasalahan Multiobjective Flexible Job Shop oleh Liu (2009) dimodelkan sebagai berikut:

minimumkan z = max

1≤i≤n { max

1≤j≤niCij} minimumkan z =

Xn i=1

Ci

(2.17)

dengan kendala

cij = sij + (pijk.xijk) , i ∈ {1, 2, . . . , n} ∀k ∈ {1, 2, . . . , o} (2.18) cij = si(j+1) , i ∈ {1, 2, . . . , n} (2.19) sij + pijk ≤ spq + M.(1 − yijpqk), k ∈ {1, 2, . . . , o};

i, p ∈ {1, 2, . . . , n}; j, q ∈ {1, 2, . . . , ni}

(2.20)

cpq ≤ si(j+1)+ M.(1 − ypqp(j+1)k); k ∈ {1, 2, . . . , o}

i, p ∈ {1, 2, . . . , n}; j, q ∈ {1, 2, . . . , ni}

(2.21)

Xo k=1

xijk k ∈ {1, 2, . . . , o}; i, p ∈ {1, 2, . . . , n} (2.22) ci =maxm

j=1 cij i ∈ {1, 2, . . . , n} (2.23) Penambahan fungsi objektif pada persamaan 2.17, Pn

i=1Ci, yang meru- pakan flow time meminimumkan rata-rata waktu penyelesaian masing-masing pekerjaan. Persamaan 2.18 menunjukkan waktu penyelesaian pada suatu ope- rasi, persamaan 2.19 memastikan tiap operasi pada suatu pekerjaan yang yang sama harus diselesaikan secara berurutan, persamaan 2.20 dan persamaan 2.21 memastikan bahwa setiap mesin hanya dapat memproses satu pekerjaan dalam suatu interval waktu, persamaan 2.22 memastikan tiap operasi hanya dapat dis- elesaikan oleh satu buah mesin.Sedangkan persamaan 2.23 menunjukkan waktu penyelesaian pekerjaan yaitu waktu penyelesaian operasi terbesar pada pekerjaan tersebut.

UNIVERSITAS SUMATERA UTARA

(38)

BAB 3

METODOLOGI PENELITIAN

3.1 Model Multiobjective Flexible Job Shop

Penentuan model dilakukan dengan langkah-langkah sebagai berikut:

3.1.1 Menentukan fungsi objektif

Menentukan fungsi objektif yang akan digunakan dalam penelitian yaitu waktu penyelesaian keseluruhan penjadwalan (makespan), due window, dan komsumsi energi mesin. M akespan adalah waktu penyelesaian keseluruhan penjadwalan, atau waktu peyelesaian operasi terakhir, karena operasi terakhir memiliki waktu penyelesaian terbesar, maka dalam hal ini mencari makespan adalah menentukan operasi dengan waktu penyelesaian terbesar.

Meminimumkan penalti Due Window, setiap pekerjaan memiliki interval waktu penyelesaian, batas bawah penyelesaian pekerjaan dinotasikan dengan dli, se- dangkan batas atas penyelesaian pekerjaan dinotasikan dui dengan demikian jika ci adalah waktu penyelesaian pekerjaan, maka penalti akan diberikan apabila nilai ci berada pada rentang {dli,dui}.

Meminimumkan konsumsi energi mesin, konsumsi energi mesin merupakan pen- jumlahan antara konsumsi energi pada saat mesin k bekerja dan konsumsi energi pada saat mesin k berada pada keadaan idle atau standby, E = P mwok + P midk . 3.1.2 Menentukan kendala

Model flexible job shop melibatkan dua permasalahan yaitu masalah penugasan mesin ke setiap operasi dan masalah penjadwalan tiap operasi. Dengan demikian kendala dibagi menjadi dua bagian yakni penugasan dan pengurutan. Penugasan mesin harus memperhatikan hal berikut yaitu tiap operasi hanya dapat diker- jakan oleh tepat satu mesin.

22

UNIVERSITAS SUMATERA UTARA

(39)

23

Pengurutan operasi harus memperhatikan hal-hal berikut, yaitu setiap ope- rasi dalam suatu pekerjaan harus diproses secara berurutan, mesin hanya dapat mengerjakan paling banyak satu operasi dalam suatu interval waktu, suatu peker- jaan harus dikerjakan sampai selesai tanpa adanya penundaan.

3.2 Penyelesaian Model dengan Algoritma Genetika

Algoritma genetika digunakan untuk menyelesaikan permasalahan Multiobjective Flexible Job Shop dengan bantuan software Matlab 2016a. Langkah-langkah yang dilakukan sebagai berikut:

3.2.1 Menentukan nilai parameter

Parameter yang digunakan yaitu ukuran populasi (popsize), dan jumlah maksi- mum iterasi (maxgen), probabilitas untuk elite strategy, probabilitas crossover, dan probabilitas mutasi.

3.2.2 Menentukan kromosom

Jumlah gen pada kromosom flexible job shop merupakan keseluruhan dari operasi yang akan diselesaikan, dua tipe kromosom yang akan digunakan yaitu kromosom untuk mengurutkan pekerjaan dan kromosom untuk penugasan mesin. Bierwirth (1995) merepresentasikan kromosom sebagai berikut:

Gambar 3.1 Contoh kromosom

UNIVERSITAS SUMATERA UTARA

(40)

24

Kromosom pada Gambar 3.1 merepresentasikan urutan pemerosesan opera- si. Jumlah gen yang terdapat pada kromosom tersebut sama dengan keseluruhan jumlah operasi. Ada tiga pekerjaan yang akan diselesaikan yaitu J1, J2, J3. Gen pertama pada kromosom pengurutan mesin menunjukkan pekerjaan J1 dengan tahapan 1 atau O11, sedangkan J1 berikutnya yaitu pada gen ke-5, menunjukkan tahapan 2 dari pekerjaan J1 atau O12.

Kromosom kedua menunjukkan mesin yang akan digunakan, terdapat tiga mesin yang akan memproses keseluruhan operasi yaitu M1, M2, M3. Gen pertama menunjukkan pekerjaan J1 akan diproses oleh M1. Tiap operasi akan diproses dari kiri ke kanan secara berurutan dengan demikian jika O11 dan O31 diproses oleh mesin yang sama, maka O11 akan diproses terlebih dahulu.

3.2.3 Proses inisialisasi

Membangkitkan sembarang kromosom (inisialisasi), proses inisialisasi diba- gi dua yaitu:

a) Inisialisasi penugasan mesin, ada 3 metode yang digunakan berdasarkan Kacem et al., (2002) yaitu:

1 Global minimum, yaitu memilih mesin yang memiliki waktu pemero- sesan paling minimum;

2 Assignment rule1, terlebih dahulu mengatur ulang urutan pekerjaan dan memilih mesin dengan waktu pemerosesan minimium untuk tiap pekerjaan;

3 Assignment rule2, yaitu memilih mesin yang tersedia secara acak.

b) Inisialisasi mesin, ada 4 priority rule yang digunakan yaitu:

1 Most operation work remaining: Pekerjaan yang mempunyai waktu pemerosesan terlama dikerjakan terlebih dahulu.

2 Most operation remaining: Pekerjaan yang mempunyai operasi ter- banyak dikerjakan terlebih dahulu.

UNIVERSITAS SUMATERA UTARA

(41)

25

3 Earliest Due Date: pekerjaan yang mempunyai due date paling kecil dikerjakan terlebih dahulu.

4 Random: Pemilihan pekerjaan dilakukan secara acak.

3.2.4 Menentukan nilai fitness

Ada tiga fungsi tujuan yang akan diminimumkan, maka nilai f itness akan melibatkan ketiga fungsi tersebut yaitu makespan, due window, dan komsumsi energi. Untuk makespan, Zribi et al., (2006) memberikan algoritma sebagai berikut.

Notasi yang digunakan:

Oij : Pekerjaan i dengan tahapan j.

DMk : Waktu mulai mesin-k memproses operasi Oij. DJi : Waktu mulai pekerjaan ke-i.

n : Jumlah total pekerjaan.

o : Jumlah total mesin.

tij : Waktu mulai operasi Oij.

tf ij : Waktu penyelesaian operasi Oij. TotDue : Total Due Windows.

Ei : Pekerjaan yang diselesaikan lebih cepat dari batas bawah waktu penyelesaian pekerjaan.

Ti : Keterlambatan penyelesaian pekerjaan.

W1 : Proporsi untuk Earliness.

W2 : Proporsi untuk Tardiness.

pij : Waktu pemerosesan operasi Oij.

Pidlek : Konsumsi Energi untuk mesin-k dalam keadaan idle.

Pworkk : Konsumsi Energi untuk mesin-k dalam keadaan bekerja.

dw : Due Window.

UNIVERSITAS SUMATERA UTARA

(42)

26

tk : Durasi waktu mesin-k dalam keadaan bekerja.

P mk : Konsumsi energi untuk mesin ke-k.

TotKom : Total konsumsi energi untuk keseluruhan mesin.

Algorithm 1 Menentukan M akespan Tetapkan

Nilai DMk = 0, ∀k = 1, . . . , o Nilai DJi = 0, ∀i = 1, . . . , n Kerjakan untuk setiap Oij

tij = max(DMk, DJi) tfij = tij + pij

Perbarui nilai DMk = tfij

DJi = tfij

Makespan=max(DMk)

Untuk menentukan due window dilakukan dengan cara berikut:

Algorithm 2 Menentukan Due Window Nilai DJi diproleh dari algoritma 1 TotDue=0

Kerjakan dari i = 1 sampai n Ei = max(dli− ci, 0) Ti = max(0, ci− dui) dw = W1.Ei+ W2.Ti

Perbarui nilai

TotDue=TotDue+dw

UNIVERSITAS SUMATERA UTARA

(43)

27

Untuk menentukan konsumsi energi mesin dilakukan cara sebagai berikut:

Algorithm 3 Menentukan Konsumsi Energi Tetapkan

Nilai DMk = 0, ∀k = 1, . . . , o Nilai tk = 0, ∀k = 1, . . . , o TotKom=0

Kerjakan untuk setiap Oij

tij = max(DMk, DJi) tfij = tij + pij

Perbarui nilai DMk = tfij

DJi = pij

tk = tfij

Kerjakan untuk setiap k = 1 sampai o P mk = Pwork.tk+ Pidle.(DMk − tk) T otKom = T otKom + P mk

Setelah tiap nilai makespan, due window, dan konsumsi energi dihitung maka ditentukan nilai fungsi objektif sebagai berikut:

min F (x) = w1.M (x) − Mmin

Mmax− Mmin

+ w2.D(x) − Dmin

Dmax− Dmin

+ w3.C(x) − Cmin

Cmax− Cmin

(3.1)

M (x) menujukkan nilai makespan untuk suatu individu, D(x) merupakan nilai due window untuk suatu individu, diproleh dari TotDue pada algoritma kedua, dan C(x) menunjukkan total komsumsi energi mesin untuk suatu indi- vidu diproleh dari nilai TotKom pada algoritma ketiga. w1, w2, w3 menunjukkan proposi untuk masing fungsi objektif yaitu makespan, due window, dan kon- sumsi energi. Mmax, Dmax, Cmax masing-masing menunjukkan nilai makespan, due windows dan konsumsi energi maksimum yang dapat diproleh. Sementara Mmin, Dmin, Cminmasing-masing menunjukkan nilai makespan, due windows dan konsumsi energi minimum yang dapat diproleh. Nilai-nilai tersebut diproleh de- ngan terlebih dahulu menyelesaikan Single Objective untuk masing-masing fungsi tujuan. Karena persoalan Flexible Job Shop ini adalah minimasi maka nilai fit- ness adalah f (x) = F (x)1 .

UNIVERSITAS SUMATERA UTARA

Gambar

Gambar 2.1 Gannt Chart
Tabel 2.1 memperlihatkan bentuk persoalan job shop.
Gambar 2.2 Penjadwalan Job Shop untuk 2 pekerjaan, 2 operasi dan 2 mesin
Tabel 2.4 Contoh Job Shop 3 pekerjaan dan 4 mesin j i O ij M 1 M 2 M 3 M 4 j 1 O 11 1 3 4 1 O 12 3 8 2 1 O 13 3 5 4 7 j 2 O 21 4 1 1 4 O 22 2 3 9 3 O 23 9 1 2 2 j 3 O 31 8 6 3 5 O 32 4 5 8 1
+7

Referensi

Dokumen terkait

Berdasarkan hasil analisis konsep yang di gunakan adalah Mixed Use Development yaitu suatu pengembangan kawasan yang terdiri dari baik itu produk perkantoran, tempat

Naskah skripsi berjudul Analisis pengendalian kebijakan dividen dalam hubungannya dengan harga saham pada perusahaan rokok yang go public di bursa efek yang

Menurut Bugbee (2003), kunci penting untuk mengendalikan hama penyakit di rumah kaca adalah memilih varietas yang tahan hama penyakit, mengawasi lingkungan untuk

Hasil dari penelitian ini menunjukkan adanya hubungan yang bermakna antara ketepatan jam pemberian makanan dengan tingkat kepuasan pasien terhadap pelayanan makanan dengan (p=

(7) Indeks lokasi sebagaimana dimaksud pada ayat (2), indeks dampak sebagaimana dimaksud pada ayat (3), ayat (4) dan ayat (6), indeks besarnya modal, indeks sebaran dampak

Penelitian lain yang mendukung penelitian ini adalah Penelitian Danari, dkk (2013) yang berjudul “Hubungan Aktifitas Fisik dengan Kejadian Obesitas di Kota

Otot perut yang berperan pada saat melakukan heading adalah (1) Muskulus abdominis internal (dinding perut), Muskulus abdominis eksternal, (2) Lapisan sebelah luar

Sementara itu untuk uji kemaknaan hubungan antara Rasio Lingkar Pinggang Pinggul dengan kadar HDL nilai -value adalah 0.734 ( &gt; α) yang berarti bahwa tidak