Documente Academic
Documente Profesional
Documente Cultură
2. Se requiere minimizar una función f(x) por medio de AG. Indique cual es la función fitness a
utilizar en este caso.
3. Se desea optimizar una función f(x) de tres variables de diseño (x1, x2 y x3) por medio de un
algoritmo genético. Indique:
for i = 1:1:20,
randPos = round(1 + ((qx1+qx2+qx3-1).*rand(1)));
coin = rand(1);
if coin >0.6
if children(i,randPos) == 1;
children(i,randPos) = 0;
end
end
end
children = MatingPool;
contTotalCrossOver = 0;
numCO = 60;
limitCO = tamanoPobla*numCO/100;
i = 1;
while(contTotalCrossOver<=limitCO)
randPos = round(1 + (qx1+qx2+qx3).*rand(1,1));
children(i,randPos:qx1+qx2+qx3) = MatingPool(i,randPos:qx1+qx2+qx3);
children(i+1,randPos:qx1+qx2+qx3) = MatingPool(i+1,randPos:qx1+qx2+qx3);
contTotalCrossOver = contTotalCrossOver + 2;
i=i+2;
end
binPopx1 = children(:,1:qx1);
binPopx2 = children(:,qx1:qx2);
binPopx3 = children(:,qx2:qx3);
6. Se desea optimizar una función f(x) de tres variables de diseño (x1, x2 y x3) por medio de un
algoritmo genético. Indique:
for i = 1:1:20,
randPos = round(1 + ((qx1+qx2+qx3-1).*rand(1)));
coin = rand(1);
if coin >0.6
children(i,randPos) = double(not(children(i,randPos)));
end
end
children = MatingPool;
contTotalCrossOver = 0;
numCO = 60;
limitCO = tamanoPobla*numCO/100;
i = 1;
while(contTotalCrossOver<=limitCO)
randPos = round(1 + (qx3).*rand(1,1));
children(i,randPos:qx1+qx2+qx3) = MatingPool(i+1,randPos:qx3);
children(i+1,randPos:qx1+qx2+qx3) = MatingPool(i,randPos:qx3);
contTotalCrossOver = contTotalCrossOver + 2;
i=i+2;
end
binPopx1 = children(:,1:qx1);
binPopx2 = children(:,qx1:qx1+qx2);
binPopx3 = children(:,qx1+qx2:qx3+qx1+qx2);