BAB 5 KESIMPULAN DAN SARAN
5.2. Saran
Berikut ini beberapa saran yang diajukan untuk perbaikan dan pengembangan lebih lanjut, antara lain :
1. Solusi pareto optimal dapat ditingkatkan kualitasnya dengan melakukan penelitian lebih mendalam terhadap parameter yang mempengaruhi solusi NSGA-II seperti Probabilitas Crossover dan Probabilitas Mutasi
2. Selain penelitian terhadap parameter, solusi pareto-optimal dapat
ditingkatkan kualitasnya dengan melakukan penelitian terhadap operator
genetika lain yang dapat diterapkan pada penjadwalan mesin produksi dengan NSGA-II.
3. Pengembangan lebih lanjut diperlukan untuk dapat menyelesaikan
permasalahan penjadwalan mesin produksi yang lebih kompleks, seperti
penjadwalan mesin produksi yang juga mempertimbangkan jenis
multiobjektif yang lainnya.
DAFTAR PUSTAKA
Balasundaram, R., Valavan, D. & Baskar, N. 2014. Heuristic Based Approach for BI-Criteria Optimization of Minimizing Makespan and Total Flow Time of Flowshop Scheduling. International Journal of Mechanical & Mechatronics Engineering IJMME-IJENS Vol:14 No:02.
Chakraborty, U.K. & Laha, D. 2007. An improved heuristic for permutation flowshop scheduling. Int. J. Information and Communication Technology, Vol. 1, No. 1, 2007.
Choudhury, B.B., Mishra, D. & Biswal, B.B. 2007. Task assignment and scheduling in a constrained manufacturing system using GA. International Journal Agile System & Management (IJASM).
Deb, K., Pratap, A. & Meyarivan, T. 2002. A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II. IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION, VOL. 6, NO. 2, APRIL 2002.
Deb, K. & Tiwari, S. 2008. Omni-optimizer: A generic evolutionary algorithm for single and multi-objective optimization. European Journal of Operational Research 185 (2008) 1062–1087. Elsevier.
Deb, K. 2011. Multi-Objective Optimization Using Evolutionary Algorithms: An Introduction. Department of Mechanical Engineering Indian Institute of Technology Kanpur, PIN 208016, India. KanGAL Report Number 2011003.
Springer.
Eva Instances. http://www.upv.es/gio/rruiz
Franca, P., Mendes, A., & Moscato, P. A memetic algorithm for the total tardiness single machine scheduling problem. European Journal of Operational Research (2000). Elsevier.
Gajpal, Y., Dua, A. & Sahu, S.N. 2014. Heuristics for single machine scheduling under competition to minimize total weighted completion time and makespan objectives. International Conference on Applied Operational Research, Proceedings.
Lecture Notes in Management Science (2014) Vol. 6: 99–105. ISSN 2008-0050 (Print), ISSN 1927-0097 (Online).
Ginting, R. 2009. Penjadwalan Mesin. Graha Ilmu. Yogyakarta.
Jozefowiez, N., Semet, F. & Talbi, E. 2008. Multi-objective vehicle routing problems.
European Journal of Operational Research 189 (2008) 293–309. Elsevier.
Kumar, A. & Dhingra, A.K. 2011. Minimization of Total Weighted Tardiness and Makespan for SDST Flow shop Scheduling using Genetic Algorithm.
INTERNATIONAL JOURNAL OF APPLIED ENGINEERING RESEARCH, DINDIGUL Volume 2 , No 3, 2011. ISSN - 0976-4259.
Lemesre, L., Dhaenens, C. & Talbi, E.G. 2005. An Exact Parallel Method For A Bi-objective Permutation Flowshop Problem. Elsevier Science. 8 April 2005.
Minella, G., Ruiz, R. & Ciavotta, M. 2007. A review and evaluation of multi-objective algorithms for the flowshop scheduling problem. Grupo de Sistemas de Optimización Aplicada. 29 Maret 2007
Mishra, S.K., Panda, G. & Meher, S. 2009. Comparative Performance Evaluation of
Multiobjective Optimization Algorithm For Portfolio Management. Presented
International Symposium on Biologically Inspired Computing and Application (BICA-2009). Bhubaneswar, India. December 2009.
Pinedo, M. 2005. Planning and Scheduling in Manufacturing and Services. Springer Series in Operations Research. United States of America.
Rahimi, A.R. & Mirghorbani, S.M. 2006. A multi-objective particle swarm for a flow shop scheduling problem. Springer Science+Business Media, LLC 2006. J Comb Optim (2007) 13:79–102.
Rajendran, C. & Ziegler, Hans. 2004. Ant-colony algorithms for permutation flowshop scheduling to minimize makespan/total flowtime of jobs. European Journal of Operational Research 155 (2004) 426–438. Elsevier.
Santosa, B. & Rofiq, A. 2014. The Development of Simulated Annealing Algorithm for Hybrid Flow shop Scheduling Problem to Minimize Makespan and Total Tardiness. Proceedings of the 2014 International Conference on Industrial Engineering and Operations Management. Bali, Indonesia, January 7 – 9, 2014.
Soetanto, 1999. Penjadwalan flowshop dengan algoritma genetika, Jurusan Teknik Industri, Fakultas Teknologi Industri, Universitas Kristen Petra
Srinivas, N. dan Deb, K. 1994, Multiobjective Optimization using Non-Dominated Sorting in Genetic Algorithms, Evolutionary Computation Journal, Vol. 2 No.
3.
Tyagi, N., Seidgar, H., Abedi, M. & Chandramouli, A.B. 2014. Learning and Forgetting Effects of Flexible Flow shop Scheduling. International Journal of Innovation and Applied Studies . ISSN 2028-9324 Vol. 7 No. 3 Aug. 2014, pp.
857-867.
T‟kindt, V., Monmarche, N., Tercinet, F. & Laugt, D. 2002. An Ant Colony Optimization algorithm to solve a 2-machine bicriteria flowshop scheduling problem. European Journal of Operational Research 142 (2002) 250–257.
Elsevier.
While, L., Hingston, P., Barone, L. & Huband, S. 2006. A Faster Algorithm for Calculating Hypervolume , IEEE Transactions On Evolutionary Computation, Vol. 10 No. 1.
Yagmahan, B. & Yenisey, M.M. 2010. A multi-objective ant colony system algorithm for flow shop scheduling problem. Journal Expert Systems with Applications.
Elsevier.
Zitzler, E. & Thiele, L. 1998. Multiobjective Optimization Using Evolutionary Algorithms-A Comparative Case Study. Parallel Problem Solving from Nature PPSN V Amsterdam. Page 292 301. Springer.
Zitzler, E., Thiele, L., Laumanns, M., Fonseca, C. M. & Fonseca, G. 2002.
Performance Assessment of Multiobjective Optimizers: An Analysis and Review. TIK-Report No. 139. Institut f¨ur Technische Informatik und Kommunikationsnetze, ETH Z¨urich Gloriastrasse 35, ETH-Zentrum, CH–
8092 Z¨urich, Switzerland.
DAFTAR PUBLIKASI KARYA ILMIAH
No Judul Artikel Penulis
Publikasi (Seminar, Jurnal, dll)
Waktu
Publikasi Tempat 1 Sistem
Penjadwalan Mesin Produksi Menggunakan Algoritma Johnson dan Campbell
Fifin Sonata Jurnal Buana Informatika, Universitas Atma Jaya Yogyakarta Vol. 6, No. 3 ISSN : 2087-2534
Juli 2015 Yogyakarta
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);
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);
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 <= gen
parent_chromosome = roulette_wheel_selection(chromosome, pool_size);
offspring_chromosome = genetic_operator(parent_chromosome, V, mu);
[main_pop,~] = size(chromosome);
[offspring_pop,~] = size(offspring_chromosome);
intermediate_chromosome(1:main_pop,:) = chromosome;
intermediate_chromosome(main_pop + 1 : main_pop + offspring_pop,:) = offspring_chromosome;
intermediate_chromosome = sort_chromosome(intermediate_chromosome, V);
chromosome = elitism_replace(intermediate_chromosome, pop);
clc
fprintf('Progress : %d persen \n',round(i/gen*100));
sama = false;
if sum(ismember(chromosome(1 : pop,:),chromosome(1,:),'rows')) == pop sama = true;
end if sama
berhenti = true;
clc
fprintf('%d generations completed\n',i);
end
if (i==round(0.1*gen))||(i==round(0.25*gen))||(i==round(0.5*gen))||...
title(strcat('Population at generation ',num2str(i)),'fontsize',8);
end
global MJob; global NMachine; global DataAll;
[FileName,PathName] = uigetfile('*.txt','Select instances file', '..\Data_Uji\');
NamaFile = strcat(PathName,FileName);
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];
[M, V, min_range, max_range] = objective_description_function();
chromosome = initialize_variables(pop, M, V, min_range, max_range);
chromosome = non_domination_sort(chromosome, M, V);
pool_size = round(pop/2);
mu = 0.7;
for i = 1 : gen
parent_chromosome = roulette_wheel_selection(chromosome, pool_size);
offspring_chromosome = genetic_operator(parent_chromosome, M, V, mu);
[main_pop,~] = size(chromosome);
[offspring_pop,~] = size(offspring_chromosome);
intermediate_chromosome(1:main_pop,:) = chromosome;
[intermediate_pop,~] = size(intermediate_chromosome);
for j = 1 : offspring_pop sama = true;
if sum(ismember(intermediate_chromosome(1 : intermediate_pop,:), offspring_chromosome(1,:),'rows')) == 0
sama = false;
end if ~sama
intermediate_pop = intermediate_pop + 1;
intermediate_chromosome(intermediate_pop,:) = ...
offspring_chromosome(j,:);
end end
intermediate_chromosome = non_domination_sort(intermediate_chromosome, M, V);
chromosome = elitism_replace(intermediate_chromosome, pop);
clc
fprintf('Progress : %d persen \n',round(i/gen*100));
if ~mod(i,gen) clc
fprintf('%d generations completed\n',i);
fronthv=chromosome(chromosome(:,V+M+1)==1,V+1:V+M);
rhv=max(chromosome(:,V+1:V+M));
hv=hypervolume(fronthv,rhv,100000);
fprintf('hipervolume=%d \n',hv);
end
if (i==1)||(i==0.1*gen)||(i==0.25*gen)||(i==0.5*gen)||(i==0.75*gen)||(i==gen) if i==1
pl=plot(chromosome(chromosome(:,V+M+1)==1,V+1),...
chromosome(chromosome(:,V+M+1)==1,V+2),'*');
set(pl,'Color','blue');
hold on
pl=plot(chromosome(chromosome(:,V+M+1)>1,V+1),...
chromosome(chromosome(:,V+M+1)>1,V+2),'+');
set(pl,'Color','red');
hold off
xlabel('First Objective','fontsize',8);
ylabel('Second Objective','fontsize',8);
title(strcat('Population at generation ',num2str(i)),'fontsize',8);
end end
%% Result
% Save the result in ASCII text format.
OutFile = strcat(regexprep(FileName,'.txt','-'),num2str(hv));
xlswrite('Solusi.xlsx',chromosome,OutFile);
LAMPIRAN 2
'88' '1' '17' '33' '28' '70' '65' '7' '60' '45' '25' '73' '95' '3'
'100' '8' '71' '43' '45' '5' '13' '99' '54' '40' '12' '82' '40' '16'
'47' '10' '80' '39' '61' '99' '44' '42' '53' '66' '26' '39' '90' '21'
'21' '87' '33' '12' '83' '17' '21' '87' '23' '8' '8' '33' '39' '26'
'49' '7' '20' '32' '54' '88' '14' '69' '15' '10' '69' '63' '84' '12'
'90' '63' '65' '70' '32' '79' '8' '20' '82' '62' '62' '84' '5' '62'
'8' '96' '52' '57' '91' '52' '29' '16' '75' '87' '100' '2' '83' '76'
'14' '93' '71' '100' '91' '99' '78' '53' '19' '62' '66' '11' '18' '36'
'9' '61' '60' '64' '18' '73' '92' '76' '81' '49' '42' '10' '63' '53'
'3' '46' '65' '77' '73' '43' '15' '41' '74' '84' '67' '47' '32' '34'
'93' '28' '16' '7' '75' '62' '7' '10' '22' '84' '81' '7' '67' '87'
'96' '39' '100' '59' '99' '31' '86' '29' '28' '79' '89' '48' '9' '34'
'38' '63' '47' '30' '15' '33' '69' '96' '94' '68' '14' '28' '41' '32'
'48' '19' '66' '68' '92' '58' '71' '48' '45' '79' '53' '39' '65' '22'
'3' '17' '100' '53' '75' '70' '33' '55' '60' '24' '40' '48' '81' '44'
'56' '13' '15' '45' '87' '66' '89' '26' '78' '54' '82' '68' '70' '26'
'14' '96' '79' '55' '62' '50' '32' '65' '61' '32' '96' '85' '75' '95'
'10' '32' '86' '51' '15' '27' '86' '51' '44' '16' '79' '35' '15' '85'
'62' '29' '79' '100' '76' '45' '77' '16' '31' '23' '25' '56' '29' '28'
'100' '21' '26' '59' '74' '80' '10' '19' '40' '79' '55' '17' '98' '53'
'13' '16' '57' '57' '70' '72' '55' '71' '27' '92' '67' '89' '47' '38'
'33' '37' '36' '66' '22' '46' '4' '69' '94' '96' '36' '58' '52' '61'
'62' '96' '30' '9' '35' '17' '39' '52' '21' '96' '44' '44' '25' '81'
'58' '11' '3' '78' '90' '67' '52' '85' '93' '23' '42' '75' '50' '88'
'54' '78' '30' '28' '100' '100' '20' '59' '67' '74' '29' '37' '52' '72'
'59' '9' '88' '84' '7' '33' '31' '22' '36' '68' '97' '20' '3' '52'
'98' '45' '33' '14' '66' '44' '46' '47' '38' '76' '28' '40' '17' '20'
'59' '87' '93' '79' '59' '58' '56' '13' '97' '97' '75' '66' '7' '6'
'55' '28' '26' '72' '22' '94' '28' '18' '5674'
'44' '81' '97' '35' '99' '4' '98' '9' '77' '8' '46' '21' '28' '85'
'78' '3' '56' '25' '90' '47' '56' '62' '77' '32' '33' '31' '2' '92'
'40' '46' '86' '45' '40' '55' '69' '78' '68' '40' '10' '17' '52' '66'
'26' '64' '14' '97' '65' '68' '76' '34' '7553'