Código as Tsp

download Código as Tsp

of 4

Transcript of Código as Tsp

  • 7/25/2019 Cdigo as Tsp

    1/4

    if nargin == 1, Q = 100; % Constant related to the quantity of trail laid by ants.

    alpha = 1; % The relative importan e of the trail. beta = !; % The relative importan e of the visibility. rho = 0.1; % "1#rho$ Trail vaporation. n = handles.&im; % 1'=i'=n; (umbers os (odes. m = n; % (umbers of )nts equal to (umbers of (odes.

    % )lgortihm *arameters. *aram = stru t" +m+,m, +Q+,Q, +alpha+ ,alpha, +beta+ ,beta, +rho+ ,rho$; &efault = num-str"m$; num-str"Q$; num-str"alpha$; num-str"beta$; ... num-str"rho$ ; /elp = ... +m = Total number of ants.+ +Q = Constant related to the quantity of trail laid by ants.+ ; +alpha = The relative importan e of the trail.+ ; +beta = The relative importan e of the visibility.+ ; +rho = Trail persisten e.+ ; ; if handles. alue = -, elitist = 2; % litist )nt 3ystem 3trategy. *aram.elitist = elitist; &efault end41 = num-str"elitist$; /elp end41 = +elitist = litist 3trategy+ ; end , return ,end , m = 35arm.m;alpha = 35arm.alpha;beta = 35arm.beta;rho = 35arm.rho;Q = 35arm.Q;n = handles.&im;*3 = handles.(odeCoord"6,-6end$;

    if isfield"35arm, +elistist+ $, elitist = 35arm.elitist; 7) = 35arm.7);else elitist = 0; 7) = 0;end , 3ymmetri = 1; % *ara resolver problemas T3* simetri os.tabu = 8eros"n,m$; % Cada olumna guarda las posi iones del % re orrido de ada hormiga.if isempty"handles.(ode9eight$ d = ""*3"6,ones"1,n$$+#*3"6,ones"1,n$$$.:-4 ... "*3"6,- ones"1,n$$+#*3"6,- ones"1,n$$$.:-$.:0.2;else d = handles.(ode9eight;end , % Cada olumna identifi a el nodo i y los % valores sobre di ha olumna indi an la % distan ia del ar o que hay hasta el nodo 1 = 8eros"1,Ater41$; % ariable para grafi a.7)>- = 7)>1;

  • 7/25/2019 Cdigo as Tsp

    2/4

    %% /euristi a del e ino mas Cer ano "((/$B est,> est,> est entD = ((/"d$; if "elitistE=0$FF"7)==1$ tabu e = est+ ones"1,elitist$; > e = > est ent ones"1,elitist$;end , 7)>1"1$ = > est ent; % 7)>1 es un parametro para la grafi a.7)>-"1$ = > est ent;tao0 = 1e#G; % alor del rastro de feromona ini ial.tao = tao0 ones"n,n$; % Antensidad del rastro sobre ada ar o.tao elitist = 8eros"n,n$; % ) tuali8a ion rastro de Hhormigas elitistasH.delta tao = 8eros"n,n$; % ) tuali8a ion rastro del tour de @ hormigas.d"d==0$ = Anf; % >a diagonal de d es igual a ero, para evitar % que haya division por ero se pone Anf;d ent"d ent==0$ = Anf; % &istan ia entera on orre ion de ero.eta = 1.Id ent; % isibilidad. %% Ani iali8a ion de las Jiguras)CK graph init"handles,*3, est$;)LM0 = 8eros"1,n$; %% l )lgoritmo )3for t = 16Ater,

    )nt*os = )nt*os41; % )nt*os = 1 ini ia las iudades visitadas. tabu = 0. tabu; % Ani iali8ar la lista tabu. s = 1; % indi e de la lista tabu. 1'=s'=n;

    % *rimera posi ion de las hormigas. tabu"s,6$ = randi"n,1,m$; % tabu guarda la etiqueta de id. de la % iudad donde se ubi a ada hormiga.

    % )nt*os se pone on eros en las posi iones donde se en uentra y se ha % en ontrado la hormiga on el fin de ha er la evalua ion orre ta del % re orrido permitido. )nt*os"tabu"s,6$4"06"m#1$$ n$ = 0;

    %% Cal ulo de *robabilidades de re orrido entre iudades.%% for s = 16n#1, )LM1 = "tao"6,tabu"s,6$$.:alpha$. "eta"6,tabu"s,6$$.:beta$. )nt*os; )LM- = sum")LM1$; pr! = )LM1.I)LM-"ones"n,1$,6$; % Nploration.

    % strategia de la Ouleta para pr!. )LM- = sum"pr!$; pr! = umsum"pr!$.I)LM-"ones"n,1$,6$; pr = rand"1,m$; pr"pr==0$ = 0.2;

    pr! = pr!#pr"ones"n,1$,6$; pr!"pr!'0$ = 1; Bpr,indD = min"pr!$;

    tabu"s41,6$ = ind; )nt*os"tabu"s41,6$4"06m#1$ n$ = 0;

    end , % end for s = 16n#1,

    %% Cal ulo de la distan ia Oeal y ntera ) umulada.%% )LM1 = 0 )LM1; )LM1"16end#1,6$ = tabu"-6end,6$; )LM1"end,6$ = tabu"1,6$; > real = sum"d")LM14"tabu#1$ n$$;

  • 7/25/2019 Cdigo as Tsp

    3/4

    > ent = sum"d ent")LM14"tabu#1$ n$$;

    %% erifi a ion de una me ent$; % erifi a ion de la me ent"A1$==> est ent$, AndeN = A1; elseif minimo- ' > est ent, AndeN = A-; end , if Eisempty"AndeN$, est = tabu"6,AndeN$+; > est = > real"AndeN$; > est ent = > ent"AndeN$; end ,

    %% Cal ulo de las me ent$; tabu e"6,> e#)LM-"16elitist$ 0$ = tabu"6, ... AndeN >"> e#)LM-"16elitist$ 0$$; > e"> e#)LM-"16elitist$ 0$ = )LM-"> e#)LM-"16elitist$ 0$; end ,

    %% Oegla de ) tuali8a ion del Oastro de Jeromona.%% % 3e ha e para ada ar o " ent"@$; if "3ymmetri $ delta tao"tabu"6,@$4")LM0+#1$ n$ = delta tao"tabu"6,@$4 ...

    ")LM0+#1$ n$ 4 QI> ent"@$; end , end , % 3e ha e para ada ar o " est ent; end , else Ja tor = 1; for @ = 16elitist, )LM0"16end#1$ = tabu e"-6end,@$; )LM0"end$ = tabu e"1,@$; tao elitist")LM0+4"tabu e"6,@$#1$ n$ = tao elitist")LM0+4"tabu e"6,@$#1$ n$4 ... QI> e"@$; if "3ymmetri $, tao elitist"tabu e"6,@$4")LM0+#1$ n$ = tao elitist"tabu e"6,@$4 ... ")LM0+#1$ n$4QI> e"@$; end , end , end ,

  • 7/25/2019 Cdigo as Tsp

    4/4

    %% ) tuali8a ion del rastro de feromona total.

    tao = "1#rho$ tao4delta tao4Ja tor tao elitist;

    %% 7rafi as y Captura de proye iones.%% B7)>1,7)>-D = )CK graph"handles,*3, est,> est,> est ent,> ent,7)>1,7)>-,t$;end ,