--- GA_Mochila.m --------------------------------------------------------------------- rand('state',0); clear all; NB = 5; I = (1:NB)'; c = rand(NB,1); v = rand(NB,1); b = rand(NB,1)>0.5; [I c v b] % 1.0000 0.9501 0.7621 1.0000 % 2.0000 0.2311 0.4565 1.0000 % 3.0000 0.6068 0.0185 1.0000 % 4.0000 0.4860 0.8214 1.0000 % 5.0000 0.8913 0.4447 0 sum(c(b==1)) % 2.2741 sum(v(b==1)) % 2.0585 Cmax = NB/4; % 1.25 for k=1:(2^NB), b = (dec2bin((k-1),NB)=='1')'; C(k) = sum(c(b==1)); V(k) = sum(v(b==1)); end; % sortrows([(1:32)' C' V'],2) % % ans = Custo Valor % % 1.0000 0 0 00000 % 9.0000 0.2311 0.4565 01000 % 3.0000 0.4860 0.8214 00010 % 5.0000 0.6068 0.0185 00100 % 11.0000 0.7171 1.2779 [ 01010 ] <- Solução ótima % 13.0000 0.8380 0.4750 01100 % 2.0000 0.8913 0.4447 00001 % 17.0000 0.9501 0.7621 10000 % 7.0000 1.0928 0.8399 00110 % 10.0000 1.1224 0.9012 01001 % 25.0000 1.1813 1.2186 11000 % 15.0000 1.3240 1.2964 % 4.0000 1.3773 1.2661 % 19.0000 1.4361 1.5835 % 6.0000 1.4981 0.4632 % 21.0000 1.5570 0.7806 % 12.0000 1.6084 1.7226 % 27.0000 1.6673 2.0400 % 14.0000 1.7293 0.9197 % 29.0000 1.7881 1.2371 % 18.0000 1.8414 1.2068 % 8.0000 1.9841 1.2846 % 23.0000 2.0430 1.6020 % 26.0000 2.0726 1.6633 % 16.0000 2.2153 1.7411 % 31.0000 2.2741 2.0585 % 20.0000 2.3274 2.0282 % 22.0000 2.4483 1.2253 % 28.0000 2.5585 2.4847 % 30.0000 2.6794 1.6818 % 24.0000 2.9343 2.0467 % 32.0000 3.1654 2.5032 ----------------------------------------------------------------------------------------