Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Este programa calcula el minimo en perdidas por el mtodo nicho sin restricciones este es el cdigo principal
[poblacion]=poblalternat(np,x,kvar); for n=1:150 [fitnes]=fitnesI(poblacion,x,np,S,Z,A); [hijox,fitnesx]=cruzenicho(x,fitnes,np,S,Z,A); [mutados]=mutanicho(x,hijox,np); [aptos]=deterministico(x,mutados,np,S,Z,A,fitnesx); poblacion=aptos
end [fitnes]=fitnesI(poblacion,x,np,S,Z,A)
gaend.- este es el original por el mtodo ag clacico fue el primero que hice
poblain=poblainicial(x,np,kvar,S,Z,A) % seleccion por metodo de torneo x1=0; for n=1:100 %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%Penalizacion%%%%%%%%%%%%% % fitns=poblain(1:np,1:x).*poblain(1:np,x+1:2*x); % [decod,tensio]=fitness(S,Z,A,fitns,kvar,np,x); % tensiom=[tensio]; % muertos=penalizacion(tensiom,x,np); % if muertos==0 % poblain=[poblain] % else % for r=1:length(muertos) % poblain(muertos(r),1:x)=ones(1,x)*0; % end % poblain=[poblain]
% end %%%%%%%%%%%%%%%%%%%%%end%%%%%%%%%%%%% padres=seleccionados(x,np,kvar,S,Z,A,poblain); % reprodccion o cruze en dos puntos h=cruze(x,np,kvar,S,Z,A,padres); % mutacion de los alelos
% provabilidad de mutacion
mutalelo=randi([1,x],1); cromo=h(m,1:2*x); cromo(mutalelo)=not(cromo(mutalelo)); hijos(m,1:2*x)=cromo; else hijos(m,1:2*x)=h(m,1:2*x); end end hijos=[hijos]; % hasta aqui los valores ya cruzados y mutados fitns=hijos(1:np,1:x).*hijos(1:np,x+1:2*x); ft=fitness(S,Z,A,fitns,kvar,np,x); poblain=[hijos ft] %%%%%%%%%%%%%%%% ordev=sort(poblain(:,end)); jijoju(n)=ordev(1);
% para graficar la evolvucion x1=x1+1; generaciones(n)=x1; ftss(n)=sum(ft(:,end))/np; end jijoju=[jijoju] plot(generaciones,ftss) axis([0,100,0,0.2])
nichorestringido.
[poblacionx]=poblarestric(np,x,kvar,A,S,Z); poblacion=poblacionx; for n=1:100 [fitnes]=fitnesI(poblacion,x,np,S,Z,A); [hijox,fitnesx]=cruzenicho(x,fitnes,np,S,Z,A); [mutados]=mutanicho(x,hijox,np); [aptos]=determirestric(x,mutados,np,S,Z,A,fitnesx) poblacion=aptos
end [fitnes]=fitnesI(poblacion,x,np,S,Z,A)