Optimasi Multi-objective Menggunakan NSGA-II Dalam Penjadwalan Mesin Produksi Flow Shop

40

DAFTAR PUBLIKASI KARYA ILMIAH

No
1

Publikasi
Waktu
(Seminar,
Publikasi
Jurnal, dll)
Sistem
Fifin Sonata Jurnal Buana Juli 2015
Penjadwalan
Informatika,
Mesin Produksi
Universitas
Menggunakan
Atma
Jaya

Algoritma
Yogyakarta
Johnson
dan
Vol. 6, No. 3
Campbell
ISSN : 20872534
Judul Artikel

Penulis

Tempat
Yogyakarta

41

LAMPIRAN 1

Source program Algoritma Genetik
function ga()

rng shuffle
pop = 20;
gen = 500;
global alpha; global MJob; global NMachine; global DataAll;
alpha = 0.1;
[FileName,PathName] = uigetfile('*.txt','Select instances file', '..\Data_Uji\');
NamaFile = strcat(PathName,FileName);
DataTemp=regexp(fileread(NamaFile),'\r\n','split');
DataTemp=regexp(strtrim(DataTemp'),'\t','split');
MJobNMachine=regexp(DataTemp{1}{1},' ','split');
MJob = str2double(cell2mat(MJobNMachine(1)));
NMachine = str2double(cell2mat(MJobNMachine(2)));
for i=2:(MJob+1)
DataMNTemp(i-1,:)= DataTemp{i,1};
end
DataMN = DataMNTemp(:,2:2:end);
for i=1:MJob
DataDueTemp(i,:)= DataTemp{(MJob+2+i),1};
end
DataDue = DataDueTemp(:,2);

DataAll = [DataMN DataDue];
[V, min_range, max_range] = objective_description_function();
chromosome = initialize_variables(pop, V, min_range, max_range);
chromosome = sort_chromosome(chromosome, V);
pool_size = round(pop/2);
mu = 0.9;
i=0;
berhenti = false;
subplot(2,3,1);
plot(chromosome(:,V + 1),chromosome(:,V + 2),'*');
xlabel('First Objective','fontsize',8);
ylabel('Second Objective','fontsize',8);
title('Initial population','fontsize',8);
while ~berhenti && i