Bonjour,
J'utilise la méthode du recuit simulé pour la reconstruction d'un signal grâce à des signaux connu.
Tout marche parfaitement, mais le seul soucis est que je ne trouve pas de lois de décroissance pour ma température T.
Comment puis je faire?
Bonjour,
J'utilise la méthode du recuit simulé pour la reconstruction d'un signal grâce à des signaux connu.
Tout marche parfaitement, mais le seul soucis est que je ne trouve pas de lois de décroissance pour ma température T.
Comment puis je faire?
Bonjour,
1/n, ça marche pas?
Bonne journée
Bonjour,
Je n'ai pas de connaissance pratique sur le sujet, je vais donc te renvoyer directement vers le (très bon) cours que j'avais suivi sur le sujet :
Cours de B. Ycart
Ce qui t'intéresse est dans la quatrième partie. Tu y trouveras quoi prendre comme loi de température.
ça s'ouvre avec quel logiciel?
J'ai trouvé (N/2)^2 pour descendre d'un palier, et T=T*coef pour la lois de décroissance.
Pour moi mon algo est juste j'ai regardé sur plusieurs site. Quand je rajoute des composantes ou que je complique un peu le truc il a vraiment du mal à converger..et je sais pas pourquoi!!!!! rrrrgggrrr ça fait 3 jours que je suis la dessus, quelqu'un pourrait m'aider et regarder mon code (pas gros) et me dire ce qu'il en pense?
Pourquoi je converge pas j'ai même essayé en mettant la température initial un peu plus haute et augmenter le temps avant de descendre d'un palier...sans résultats!
Merci à celui qui pourra m'aider..!
Merci à vous deux aussi! (au dessus)
Personne peut me donner un petit coup de main pour ameliorer les parametres?
J'ai tout fait comme decrit sur les cours et apparement ça marche pas comme il faudrait...![]()
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
voila ce que j'ai trouvé
"les performances du recuit simulé dépend largement du schéma de refroidissement utilisé.
De nombreux schémas théoriques et pratiques ont été proposés. De manière générale , les schémas de refroidissement connus peuvent être classé en trois catégories:
-réduction par palier: ( fonction en escalier décroissante )une température est maintenue constante pendant un nombre d itérations puis réduite.
-réduction continue température modifiée à chaque itération
-réduction non monotone la température décroit avec des augmentations occasionnelles"
Oui et tu as essayé de faire tourner mon code? Les courbes doivent normalement converger...
J'ai tester les 2 premières méthodes (que tu cite) avant de poster le code et même en mettant beaucoup de temps pour baisser la température...rien n'y fait, y a t'il une erreur autre part??
Merci de votre aide!
C'est un postscript. Il te faut un lecteur approprié : GSView fait le travail
http://pages.cs.wisc.edu/~ghost/gsview/index.htm
si ton problème est le critère de Metropolis dans le RS , tu peut utiliser une méthode dérivée :Treshold (acceptation avec seuil).
la seul différence avec le recuit classique c'est l acceptation de la dégradation se fait de manière déterministe à chaque étape.
à chaque itération k l'acceptation d'un voisin de l'état actuel x se base uniquement sur une fonction auxiliaire G(x,x') et un seuil Tk.
si G(x,x')< Tk x' est accepté.
G(x,x')= f(x')-f(x).
le paramètre Tk est définit de manière analogue à la température dans le RS. Tk tend vers 0.Tk est une suite décroissante.
généralement la difficulté des méthodes RS est la détermination des seuils d acceptations.
ouai...j'ai pas tout compris mais bon..je vais essayé de chercher un peu...merci de ta reponse...
tu pense que ça pourrait mieux marcher? y a pas une autre erreur dans mon code?
T'aurais pas un lien vers des explications de ta methode...?
C'est possible que tu me montre par rapport à mon code...?
Hum, non. La loi de température qu'il propose est du type :
T(n) = h / log(n)
h étant un paramètre à ajuster.
Ou plus simplement, prendre la température constante sur des paliers de plus en plus long :
pour exp((k-1)*h) < n < exp(k*h) on prend : T(n) = 1 / k
De toute façon, il faut faire des essais et voir ce qui marche.
j'ai demandé à un de mes profs qui a plus d expérience que moi dans le domaine du recuit .il dit que c'est le plus grand désavantage de la méthode. ce qu'il faut faire c'est d'essayer les trois types que j'ai mentionné puis d'affiner la fonction de température qui donne les meilleur résultats.![]()
J'ai tout essayé, différent paramètres (palier, température, h...), différente méthodes.. ça rend fou, c'est la folie à ajuster...si quelqu'un peut m'aider pour trouver la meilleur méthode ça serait sympa...et me dire ce que vous en pensais...Même si le resultat final est à peu prêt cohérent pourquoi ça converge pas de plus en plus...
J'ai essaye T(n)=1/k ou T(n) = h / log(n) en effet la température descend beaucoup plus lentement à basse température...je dirais même trop lentement...!![]()
Salut ,
je ne sais pas si je vais t'aider ..mais voila j'ai travaillé avec le Recuit : voila mes remarques :
C'est normal que le recuit ne converge pas toujours : il suit une loi "au hasard" et parfois, il va dans une mauvaise direction et ne converge pas. Théoriquement, il converge toujours au minimum absolu quand le nombre d'itérations est très grand.
Pour avoir un bon résultat, il faut donc le lancer plusieurs fois.
Moi j'ai utilisé une loi de décroissance de la température : T(k)= 0,95*T(k-1) et ca marchait bien.
a mon avis, le recuit est utile quand tu le combine avec une technique d'optimisation dite locale (exemple : le simplexe).
Tu commence par le simplexe : converge rapidement vers un optimum "local". pour s'extraire de cet optimum local, et espérer tomber sur un optimum "global", tu lances le recuit à partir de ce dernier optimum.
Si le temps calcul est un facteur important pour toi , n'utilise pas le recuit : C'est lent . mais un autre algorithme que tu lance à partir de différents points initiaux.
Merci à toi de m'aider.
J'avais moi aussi utiliser cette lois de décroissance mais ça ne fonctionnait pas très bien quand la température était basse car il me fallait des paliers de plus en plus long. Effectivement la méthode fonctionne à peu prés mais demande du temps et des expérimentations afin de trouver le bon réglage. C'est donc pas super adapter surtout si on doit commercialiser un système...
Mon objectif est de comparer différents signaux connus avec un signal de mesure, de travailler en poids (%) à partir des signaux connu pour "reconstruire" ou me rapprocher au plus proche du signal de mesure (sa forme donc) pour en ressortir un résultat proportionnel à ceux connus..
J'avais donc utilisé le recuit simulé mais on m'a dis qu'on pouvait aussi faire cela avec un algorithme basé sur la méthode des moindres carrés. Le résultat serait donc instantané.
Je n'ai pas les équations des signaux connu mais seulement des points.
Les moindres carré me permettent d'interpoler par exemple (ce que j'avais appris à l'école...)
Mais quelqu'un peut m'aider à faire cela, mathématiquement comment faire pour travailler en poids à partir de plusieurs signaux connus et me rapprocher de ma mesure?
Merci
je vois mieux les choses.
soit tu fait un échantillonnage et tu t oriente vers la méthodes des moindres carrés ... soit tu étudie la fonction différence (si tu connais la fonction génératrice )
Partager