Berikut ini metod pencarian jadwal baru Solusi Baru ’ :
1. ProsesPencarianJadwalbaru Algoritma 3.5.
1. Mulai 2. Buat metod ProsesPencarianJadwalBaru, tipe pegembalian static void.
3. Buat variable ListPelanggaran fB_jadwal_sekarang =
BantuSimpanFungBiaya_JadwalSkrg;.
4. Untuk i=0 sampai i sebanyak “fB_ jadwal_sekarang”, lakukan
langkah 4 sampai 8. 5. Buat variable String HariYangMelanggar =
fB_jadwal_sekarang.geti.getKodeSolusi.getKodeTimeSlot.getKod eHari.getKodeHari;
6. Buat variable ListString TsRg_Free=
tampung_TS_Ruang_yg_tidak_digunakanDanBerbedaHari HariYangMelanggar;
7. Jika ”TsRg_Free” tidak kosong dan fungsi biaya current_state 10 dan
size ” TsRg_Free
” 2 atau Jika ”TsRg_Free” tidak kosong size ” TsRg_Free
” 10. Ambil secara random timeslot dan ruang.
Random random=new Random; int next_num = random.nextIntTsRg_Free.size;
Ambil “kode ts”,“kode ruang”,”kodewaktu”,”kodehari”. - Set atribut Jadwal.
Keterangan :
1.
Jadwal solusi=new
Jadwal ,Jadwal
solusi1=new Jadwal,Jadwal
solusi2=new Jadwal , membuat objek baru solusi, solusi1, dan solusi2 untuk mengeset semua atribut Jadwal. Sebelum mengeset atrribut tersebut harus
diset terlebih dahulu timeslot, matkuliah, dosen, kelasatakuliah, hari,waktu, timeslot, dan ruang.
2. UpdateTimeSlotRuangsolusi, metod yang berfungsi untuk menukarkan
timeslot yang melanggar dengan timeslot baru hasil random yang tidak digunakan.
Jadwal solusi = new Jadwal ;
- UpdateTimeSlotRuangsolusi;
8. Jika
“TsRg_Free” kosong atau size ”TsRg_Free” =2.Cara 2
Set atrribut s olusi1 dari “fB_jadwal_sekarang” yang melanggar.
Jadwal solusi1=new Jadwal ; - ambil secara random kelasmatakuliah baru beda hari.
Jadwal sol= getRandomKelasMatakuliahSolusiBaruOptimal HariYangMelanggar;
- Set atribut solusi2. “Jadwal solusi2=new Jadwal ”;
- Tukarkan kelasmatakuliah dari kedua solusi1 dan solusi2 tersebut
UpdateKelasMatakuliah solusi1, solusi2;
9. Selesai.
3. UpdateKelasMatakuliahsolusi1,solusi2, metod yang berfungsi untuk
menukar kelas matakuliah melanggar dengan kelas matakuliah baru hasil random dari tetangganya.
4. BantuSimpanFungBiaya_JadwalSkrg, metod yang berfungsi untuk