keturunan secara random. Tidak setiap gen selalu dimutasi tetapi mutasi dikontrol dengan probabilitas
tertentu yang disebut dengan mutation rate probabilitas mutasi dengan notasi Pm. Jenis operator mutasi antara lain:
a. Mutasi Terarah
Mutasi terarah tergantung dari informasi gen. Informasi gen tersebut berupa nilai pelanggaran gen violation score. Ini berarti bahwa setiap
gen mempunyai peluang yang berbeda untuk terjadi mutasi. Gen yang mempunyai nilai pelanggaran yang leb ih besar maka gen tersebut
mempunyai peluang untuk terjadi mutasi. Mutasi ini menghubungkan nilai pelanggaran relatif nilai pelanggaran suatu gen dibagi dengan nilai
pelanggaran total suatu kromosom dengan probabilitas terjadinya mutasi dari suatu gen pada kromosom. Hubungan tersebut dinyatakan secara
matematis sebagai berikut: nri = ni1+ntotal
pmi = 1+nri2pm
Keterangan persamaan: nri
= nilai pelanggaran relative gen ke- i. ntotal
= nilai pelanggaran total kromosom. pmi
= probabilitas mutasi gen ke-i. pm
= probabilitas mutasi
2.4.6 Parameter Genetika
Pengoperasian algoritma genetika dibutuhkan 4 parameter Suyanto, 2005 yaitu:
1. Probabilitas Persilangan Probability Crossover
Menunjukkan kemungkinan crossover terjadi antara 2 kromosom. Jika tidak terjadi crossover maka keturunannya akan sama persis dengan kromosom
orangtua, tetapi tidak berarti generasi yang baru akan sama persis dengan
generasi yang lama. Jika probabilitas crossover 100 maka semua keturunannya dihasilkan dari crossover. Crossover dilakukan dengan
harapan bahwa kromosom yang baru akan lebih baik.
2. Probabilitas Mutasi Probability Mutation
Menunjukkan kemungkinan mutasi terjadi pada gen-gen yang menyusun sebuah kromosom. Jika tidak terjadi mutasi maka keturunan yang dihasilka n
setelah crossover tidak berubah. Jika terjadi mutasi bagian kromosom akan berubah. Jika probabilitasnya 100 , semua kromosom dimutasi. Jika
probabilitasnya 0, tidak ada yang mengalami mutasi.
3. Jumlah Individu
Menunjukkan jumlah kromosom yang terdapat dalam populasi dalam satu generasi. Jika hanya sedikit kromosom dalam populasi maka algoritma
genetika akan mempunyai sedikit variasi kemungkinan untuk melakukan crossover antara orangtua karena hanya sebagian kecil dari search space
yang dipakai. Sebaliknya jika terlalu banyak maka algoritma genetika akan berjalan lambat.
4. Jumlah Populasi
Menentukan jumlah populasi atau banyaknya generasi yang dihasilkan, digunakan sebagai batas akhir proses seleksi, persilangan, dan mutasi.
BAB 3 ANALISA DAN PERANCANGAN SISTEM
3.1 Penjadwalan Job Shop
Penjadwalan Job Shop merupakan suatu permasalahan untuk menentukan urutan operasi yang dilakukan dalam mesin yang ada dengan tujuan meminimumkan waktu
proses total yang dibutuhkan. Diberikan sejumlah m mesin berbeda dan n
job
pekerjaan berbeda untuk dijadwalkan. Setiap pekerjaan terdiri dari sejumlah operasi yang harus dilakukan di suatu mesin tertentu selama durasi waktu tertentu.
Ketika suatu operasi akan diproses di suatu mesin, ada kemungkinan operasi tersebut mengantri terlebih dahulu karena mesin tersebut sedang dipakai oleh operasi
lain. Ada beberapa ketentuan pada mesin dan pekerjaan, di antaranya : 1.
Suatu pekerjaan diproses hanya sekali dalam suatu mesin. 2.
Suatu operasi tidak dapat diinterupsi. 3.
Operasi dalam suatu pekerjaan harus diproses secara berurutan yaitu setelah operasi sebelumnya selesai dilakukan.
4. Setiap mesin hanya dapat memproses satu pekerjaan pada suatu waktu.
Definisi formal untuk
job shop
adalah sebagai berikut : 1.
Himpunan pekerjaan J = {j
1,
j
2 ,…
j
n}
2. Himpunan mesin
M = {m
1,
m
2 ,…
m
n}
3. Himpunan operasi per job i
O
i
= {O
i1,
O
i 2 ,…
O
i n}
4. Tiap operasi memiliki waktu pemrosesan T = {
τ
1,
τ
2 ,…
τ
n}
Masalah penjadwalan job shop merupakan masalah penjadwalan yang memiliki karakteristik sebagai berikut :
1. Penjadwalan
job shop
memiliki sejumlah job yang harus diselesaikan, direpresentasikan sebagai J = {J
1
,J
2
,...,J
n
}. 2.
Penjadwalan
job shop
memiliki sejumlah
resource
yang digunakan untuk menyelesaikan setiap operasi, direpresentasikan sebagai R= {R
1
,R
2
,...,R
m
}.
Pada beberapa referensi, resource biasa disebut
machine
dilambangkan dengan M.
3. Setiap job memiliki sejumlah operasi yang harus d iselesaikan pada tenggat
waktu mulai dari
ready time
r
t
sampai
due time
d
t
. Suatu job J
i
memiliki sejumlah operasi yang direpresentasikan dengan O
i
= {O
i
1,O
i
2,...O
i
n}. 4.
Setiap operasi memiliki waktu proses yang berbeda-beda. Himpunan operasi O
i
memiliki sejumlah waktu proses yang direpresentasikan dengan {τ
i
1,τ
i
2,...τ
i
n}. 5.
Setiap operasi pada satu
job
memiliki
precedence
. Pada suatu
job
J
i
, O
i 1
harus dikerjakan lebih dulu daripada O
i 2
,direpresentasikan dengan O
i 1
, O
i 2
€ O
i
.
Konsep penjadwalan
job shop
adalah menentukan waktu suatu operasi mulai dikerjakan dan mengalokasikan
resource
untuk mengerjakan operasi tersebut. Pada saat menjadwalkan suatu operasi selain menentukan kapan operasi tersebut mulai
dikerjakan juga ditentukan resource mana yang dipakai oleh operasi tersebut. Oleh karena itu,pada saat menjadwalkan suatu operasi perlu diperhatikan dua
constraint
berikut : 1.
Precedence constraint
; penjadwalan untuk setiap operasi dari
job
yang sama harus berurutan sesuai dengan
precedence constra int job
tersebut. Sebagai contoh, masalah
job shop
yang ditunjukkan oleh gambar II-4 memiliki beberapa
precedence constraint
. Salah satunya adalah pada operasi O
1 1
, O
1 2
, O
1 3
, dan O
1 5
yang berada pada job yang sama yaitu J
1
. Oleh karena itu, operasi O
1 5
harus dijadwalkan setelah operasi O
1 1
, O
1 2
, dan O
1 3
selesai diproses. Namun, operasi O
1 5
dan O
2 2
berada pada job yang berbeda, maka urutan penjadwalan kedua operasi ini tidak menjadi masalah.
2.
Resource constraint
, merupakan penjadwalan setiap operasi membutuhkan
sebuah resource untuk mengerjakan operasi tersebut. Pada saat operasi ini mulai diproses
resour ce
tersebut harus sedang tidak dipakai operasi lain. Resource ini juga menjadi tidak dapat dipakai oleh operasi lain sampai
operasi tersebut selesai.
Jika penjadwalan suatu operasi melanggar salah satu constraint, maka penjadwalan operasi tersebut harus dialihkan waktunya, dimana pengalihan waktu ini
bisa membuat proses penyelesaian job dapat berlangsung lebih lama dan bahkan membuat seluruh proses mengalami keterla mbatan.
Suatu operasi yang akan dijadwalkan pada suatu waktu, penjadwalan tersebut harus memenuhi kedua constraint yang telah disebutkan diatas. Jika penjadwalan
tersebut melanggar salah satu
constra int
, maka operasi tersebut harus dijadwalkan pada waktu yang lain. Ketika penjadwalan melanggar salah satu constraint, hal ini
dikatakan penjadwalan tersebut mengalami konflik. Oleh karena itu, operasi itu akan dijadwalkan pada waktu yang lain. Jika penjadwalan pada waktu tersebut tetap
menghasilkan konflik, maka harus dipilih kembali satu waktu lain yang tidak menimbulkan konflik, begitu seterusnya. Proses penjadwalan yang berulang-ulang dan
terus menemui konflik ini membuat efisiensi dari algoritma penjadwalan itu semakin buruk.
Adapun dua sasaran utama pada algoritma penjadwalan job shop adalah: 1.
Feasibility
; menemukan solusi yang memenuhi setiap constraint. Jika sudah ditemukan solusi, dapat dilakukan optimisasi berdasarkan kriteria tertentu.
2.
Efficiency
; meminimalisasi jumlah terjadinya konflik pada setiap penjadwalan operasi. Untuk dapat mencegah terjadinya konflik dalam proses
penjadwalan operasi dapat diantisipasi dengan mendeteksi kapan resource untuk mengerjakan operasi tersebut sedang tidak dipakai.
3.2 Penerapan Algoritma Genetik Pada Optimasi Penjadwalan