Recuit simulé - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Exemple sous Mathematica

         F[X_] = Abs[X[[1]]] + Abs[X[[2]]];          g[T_] = N[T^0.99];            
              Recuit[F_, g_,Xi_,Ti_,Tf_,Ampli_,MaxTconst_,itermax_]:= Module[{T,Xopt,iter=1,DF,p,L,X,compteur},           	   X = Xi; T = Ti; L = {Xi}; Xopt = X;               While [T > Tf && iter < itermax,                compteur = 1;                 While[compteur < MaxTconst,                   Y = X + Table[Ampli*Random[Real, {-1, 1}], {i, 1, Length[X]}];                   DF = F[Y] - F[X];                    If[DF < 0, X = Y; AppendTo[L, X];                      If[F[X] < F[Xopt], Xopt = X],                      p = Random[];                    If [p ≤ Exp[-DF/T], X = Y; AppendTo[L, X]];                    ];                     compteur = compteur + 1;                    ];                  T = g[T];                  iter = iter + 1;                  ];                Return[L]                ];                    resR = Recuit[F, g, {2, 3}, 10, 1, 0.5, 1.5, 1000];          ListPlot[resR, PlotJoined -> True];      

Applications

Comme pour toute métaheuristique, la méthode trouve son application dans de nombreux domaines dans lesquels on a à résoudre des problèmes d'optimisation difficile. On peut citer entre autres la conception des circuits électroniques (placement-routage) ou l'organisation de réseaux informatiques.

Page générée en 0.098 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise