view1 1 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0...

Download view1 1 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 0 1 0 Susunan kromosom populasi

Post on 24-May-2018

222 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

LAMPIRAN 3A

EDITOR PROGRAM MATLAB SIMULASI 1

ALGORITMA GENETIKA-NONLINIER LEAST SQUARE

FUNGSI PRODUKSI CES

clear, clc;

fprintf('Algoritma Genetika - Nonlinier Least Square - Simulasi 1\n');

fprintf('Fungsi Produksi CES \n');

fprintf('Menaksir parameter b1, b2, b3 dan b4 Fungsi Produksi CES \n');

fprintf('Memerlukan File: lsces, evalpopu, evalech, bit2num, nextpopu \n');

fprintf('Oleh : La Ode Sabaruddin (1006782570)\n');

fprintf('Program Pasca Sarjana Ilmu Ekonomi Universitas Indonesia \n');

fprintf('............................................................... \n\n\n');

t=cputime;

t=cputime;

generation_n = 10000; % jumlah generasi

popuSize = 50; % jumlah populasi

xover_rate = 1.0; % crossover rate

mutate_rate = 0.03; % mutation rate

converge = 90; % persen kriteria konvergensi kromosom untuk semua populasi dalam 1 generasi

bit_n = 40; % jumlah bit untuk setiap varabel input

obj_fcn = 'lsces'; % fungsi Objective

var_n = 4; % jumlah input variabel

range = [ 0 2; 0 1; 0 1 ; 0 1];

popu = rand(popuSize, bit_n*var_n) > 0.5;

upper = zeros(generation_n, 1);

average = zeros(generation_n, 1);

lower = zeros(generation_n, 1);

%2. ASUMSI DAN KRITERIA

fprintf('1. ASUMSI DAN KRITERIA : \n\n');

fprintf(' a. Jumlah Generasi Definisi Awal =%9.2f \n',generation_n);

fprintf(' b. Jumlah Populasi =%9.2f \n',popuSize);

fprintf(' c. Xover Rate =%9.2f \n',xover_rate);

fprintf(' d. Mutation Rate =%9.2f \n',mutate_rate);

fprintf(' e. Jumlah bit untuk setiap variabel input =%9.2f \n\n',bit_n);

fprintf(' f. Range variabel beta(1), beta(2) dan beta(3) = [0 2; 0 1; 0 1] \n\n');

fprintf(' g. Tingkat keseragaman terkecil setiap unsur kromosom per generasi \n'),

fprintf(' yang disyaratkan =%9.2f \n\n\n',converge);

%3. HASIL OPTIMASI OBJECTIVE FUNCTION

fprintf('2. NILAI OBJECTIVE FUNCTION TERBAIK PADA SETIAP GENERASI : \n\n');

fprintf(' ---------------------------------------------------------------------\n');

fprintf(' tingkat keseragaman \n');

fprintf(' Genrsi beta(1) beta(2) beta(3) beta(4) S(beta) kromosom *) \n');

fprintf(' terkecil rata-rata \n');

fprintf(' ---------------------------------------------------------------------\n');

for i = 1:generation_n;

k = i;

fcn_value = evalpopu(popu, bit_n, range, obj_fcn);

upper(i) = max(fcn_value);

average(i) = mean(fcn_value);

lower(i) = min(fcn_value);

[best, index] = min(fcn_value);

popu = nextpopu(popu, fcn_value, xover_rate, mutate_rate, k);

% *** Kriteria Konvergensi

kon=(sum(popu))/popuSize*100;

popu_s = size(popu, 1);

string_leng = size(popu, 2);

for j=1:string_leng

if kon(j)converge

fprintf('%5.0f %10.6f %10.6f %10.6f %10.6f %13.6f %8.2f %12.2f\n',i,...

bit2num(popu(index, 1:bit_n), range(1,:)),...

bit2num(popu(index, bit_n+1:2*bit_n), range(2,:)),...

bit2num(popu(index, 2*bit_n+1:3*bit_n), range(3,:)), ...

bit2num(popu(index, 3*bit_n+1:4*bit_n), range(4,:)), ...

best,prc,avrg);

break;

end;

fprintf('%5.0f %10.6f %10.6f %10.6f %10.6f %13.6f %8.2f %12.2f\n',i,...

bit2num(popu(index, 1:bit_n), range(1,:)),...

bit2num(popu(index, bit_n+1:2*bit_n), range(2,:)),...

bit2num(popu(index, 2*bit_n+1:3*bit_n), range(3,:)), ...

bit2num(popu(index, 3*bit_n+1:4*bit_n), range(4,:)), ...

best,prc,avrg);

end

r=i;

fprintf(' ---------------------------------------------------------------------\n');

fprintf(' Generasi terakhir (generasi ke-%g)',i);

fprintf(' memiliki nilai objective function yang terbaik. \n');

fprintf(' *) nilai dalam persen \n\n\n');

% Kriteria AIC dan SC

aic =abs(log(best/30)+2*var_n/30);

sc =abs(log(best/30)+30*log(var_n/30));

%4. SUSUNAM KROMOSOM GENERASI TERAKHIR

fprintf('4. SUSUNAN KROMOSOM PADA GENERASI KE - %g ',i),

fprintf('(dengan jumlah populasi %g) : \n\n',popuSize);

for i=1:popu_s

fprintf('Susunan kromosom populasi ke-%i adalah ;\n',i);

for j=1:string_leng

fprintf(' %d',popu(i,j))

end

fprintf('\n\n');

end

fprintf('\n');

%5. HASIL EVALUASI KONVERGENSI KROMOSOM

fprintf('5. EVALUASI KESERAGAMAN UNSUR KROMOSOM PADA GENERASI TERAKHIR : \n');

fprintf(' (Setiap populasi terdiri atas %i ', string_leng),

fprintf('unsur kromosom)\n\n');

for j=1:string_leng

fprintf(' Tingkat keseragaman unsur kromosom ke %i = ',j),

fprintf('%5.1f', kon(j)),

fprintf(' persen \n');

end

fprintf('\n');

e = cputime-t;

%6. KESIMPULAN

fprintf('6. KESIMPULAN AKHIR : \n\n');

fprintf(' a. Tingkat keseragaman terkecil unsur kromosom yang disyaratkan (persen) =%7.2f \n',converge);

fprintf(' b. Tingkat keseragaman terkecil unsur kromosom yang terjadi (persen) =%7.2f \n',min(kon));

if converge 0);

parent1 = popu(tmp(1), :);

tmp = find(cum_prob - rand > 0);

parent2 = popu(tmp(1), :);

% ----- Do crossover

if rand < xover_rate,

% Perform crossover operation

xover_point = ceil(rand*(string_leng-1));

new_popu(i*2-1, :) = ...

[parent1(1:xover_point) parent2(xover_point+1:string_leng)];

new_popu(i*2, :) = ...

[parent2(1:xover_point) parent1(xover_point+1:string_leng)];

end

end

% ----- MUTATION (elites are not subject to this.)

mask = rand(popu_s, string_leng) < mut_rate;

new_popu = xor(new_popu, mask);

% ----- Restoring the elites

new_popu([1 2], :) = popu([index1 index2], :);

.........................................................................................................................................................................................................

OUTPUT PROGRAM MATLAB SIMULASI 2

ALGORITMA GENETIKA-NONLINIER LEAST SQUARE

FUNGSI PRODUKSI CES

Algoritma Genetika - Nonlinier Least Square - Simulasi 2

Fungsi Produksi CES

Menaksir parameter b1, b2, b3 dan b4 Fungsi Produksi CES

Memerlukan File: lsces, evalpopu, evalech, bit2num, nextpopu

Program Pasca Sarjana Ilmu Ekonomi Universitas Indonesia

....................................................................................

1. ASUMSI DAN KRITERIA :

a. Jumlah Generasi Definisi Awal = 15000.00

b. Jumlah Populasi = 50.00

c. Xover Rate = 1.00

d. Mutation Rate = 0.02

e. Jumlah bit untuk setiap variabel input = 40.00

f. Range variabel beta(1), beta(2) dan beta(3) = [0 2; 0 1; 0 1]

g. Tingkat keseragaman terkecil setiap unsur kromosom per generasi

yang disyaratkan = 90.00

2. NILAI OBJECTIVE FUNCTION TERBAIK PADA SETIAP GENERASI :

-------------------------------------------------------------------------------------

tingkat keseragaman

Genrsi beta(1) beta(2) beta(3) beta(4) S(beta) kromosom *)

terkecil rata-rata

-------------------------------------------------------------------------------------

1 0.361972 0.486128 0.055624 0.450778 24.003595 50.00 58.51

2 1.599702 0.854567 0.155496 0.840216 9.966106 50.00 61.15

3 1.992356 0.473248 0.155496 0.840216 4.832736 50.00 60.95

4 1.750549 0.532302 0.226258 0.853463 4.832736 50.00 62.00

5 1.750549 0.532302 0.226258 0.853463 4.832736 50.00 63.69

6 1.707302 0.482164 0.775209 0.840582 1.834658 50.00 65.44

7 1.779294 0.362083 0.724454 0.832792 1.834658 50.00 65.49

8 1.560641 0.261501 0.476258 0.905968 1.518876 50.00 65.53

9 1.779294 0.362083 0.720522 0.840641 1.518876 50.00 66.65

10 1.836422 0.844835 0.849943 0.846842 1.377889 50.00 66.81

1001 1.324065 0.388297 0.256563 0.957479 0.524750 50.00 78.64

1002 1.384856 0.388419 0.275355 0.981923 0.524750 50.00 80.13

1003 1.384856 0.388419 0.275355 0.981923 0.524750 52.00 79.56

1004 1.384856 0.388419 0.275355 0.981923 0.524750 50.00 80.92

View more