Második labor

Contents

Tesztfeladat a hátizsák-problémára

Súlyok 1, 10, 1, 10, ...

Értékek: 10, 1, 10, 1, ...

Kapacitás: a tárgyak számának fele

targyakszama=30;
sulyok=ones(1, targyakszama);
sulyok(2:2:end)=10;
ertekek=ones(1, targyakszama);
ertekek(1:2:end)=10;

generacio=100;
populaciomeret=30;
keresztezesvaloszinusege=0.9;
mutaciovaloszinusege=0.01;

Első tesztfeladat

kapacitas=targyakszama*2.5; % ekkor az optimális pakolás 5.2*n lesz, 156 itt
[fit, ~]=hatizsak_elitista(sulyok,ertekek,kapacitas,...
    keresztezesvaloszinusege, mutaciovaloszinusege, generacio, populaciomeret,4);
max(max(fit))
ans =

   156

Második tesztfeladat

kapacitas=targyakszama*0.5; % ekkor az optimális pakolás 5*n lesz, 150 itt
[fit, ~]=hatizsak_elitista(sulyok,ertekek,kapacitas,...
    keresztezesvaloszinusege, mutaciovaloszinusege, generacio, populaciomeret,4);
max(max(fit))
ans =

   5.030437921392435