IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Optimisation d'une fonction par recuit simulé


Sujet :

Algorithmes et structures de données

  1. #21
    Nouveau candidat au Club
    Femme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Août 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2012
    Messages : 2
    Par défaut
    Bonjour,
    j'ai un projet à réaliser en utilisant l'algorithme de recuit simulé, je suis alors bloqué dans la partie du choix aléatoire de Y, j'ai vu dans le code proposé par @jeanmich, qu'il a fait la soustraction de (rand(1,1)-rand(1,1))*n) de X. je souhaite savoir pourquoi il a fait soustraction et pas l'addition? et qu'est ce que apporte cette combinaison aléatoire (rand(1,1)-rand(1,1))*n), pourquoi ne pas utiliser tout simplement Y=X-rand(1,1)?
    merci de votre aide

  2. #22
    Nouveau candidat au Club
    Femme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Août 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2012
    Messages : 2
    Par défaut
    Citation Envoyé par hananeeee Voir le message
    Bonjour,
    j'ai un projet à réaliser en utilisant l'algorithme de recuit simulé, je suis alors bloqué dans la partie du choix aléatoire de Y, j'ai vu dans le code proposé par @jeanmich, qu'il a fait la soustraction de (rand(1,1)-rand(1,1))*n) de X. je souhaite savoir pourquoi il a fait soustraction et pas l'addition? et qu'est ce que apporte cette combinaison aléatoire (rand(1,1)-rand(1,1))*n), pourquoi ne pas utiliser tout simplement Y=X-rand(1,1)?
    merci de votre aide

  3. #23
    Membre émérite Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Par défaut
    Bonjour,
    avant tout il faut savoir que rand(1,1) est une fonction matlab qui génère un scalaire aléatoirement compris entre 0 et 1.

    ceci dit, il faut aussi savoir que durant l'optimisation, la valeur d'une solution peut aussi bien augmenter que diminuer au fur et à mesure des itérations.
    pourquoi ne pas utiliser tout simplement Y=X-rand(1,1)?
    Dans ce cas, la valeur de la variable va uniquement diminuer il n'y aura jamais une augmentation.
    (Attention à ne pas confondre entre les variables : dans l'exemple de Jeanmich, il s'agit de minimiser une fonction à deux variables X et Y, ici vous confondez ces deux variables).

    La technique utilisée dans le code de l'exemple (x2= x1 + ( (rand(1,1)-rand(1,1))*n); ) permet justement de faire évoluer la valeur dans les deux sens ; car rand(1,1)-rand(1,1)) est compris entre -1 et +2.

    Voici une autre solution plus équitable :

    x2=x1-(rand(1,1)-0.5) ;
    qui est aussi équivalent à
    x2=x1+(rand(1,1)-0.5) ;

Discussions similaires

  1. optimisation par recuit simulé
    Par el-bey2 dans le forum Mathématiques
    Réponses: 10
    Dernier message: 04/02/2011, 21h20
  2. Réponses: 5
    Dernier message: 29/09/2006, 17h17
  3. Réponses: 6
    Dernier message: 12/05/2006, 15h20
  4. Réponses: 8
    Dernier message: 10/03/2006, 17h28
  5. creation d'une fonction par l'utilisateur
    Par michelk dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 15/03/2005, 09h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo