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 :

Recherche doc algorithme


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 14
    Points : 2
    Points
    2
    Par défaut Recherche doc algorithme
    Bonjour,

    Voila, n'ayant aucune connaissance en la matière je fais appelle aux experts.

    Voici mon probleme. J'ai un modele avec 4 entrées et 8 sorties, la fonction

    mathématique n'est pas linéaire avec plusieurs max-min.

    Je cherche à maximiser la sortie de mon modelé en respectant les contraintes.

    J'aurai aimé quelques conseils et voies de recherche d'algorithme permettant :

    - une convergence rapide

    - possibilité d'ajout de contraintes

    Le langage utilise est MATLAB.

    Merci de votre aide.

  2. #2
    Membre actif
    Inscrit en
    Mars 2008
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 209
    Points : 227
    Points
    227
    Par défaut
    Ce dont tu parles est un programme mathématique ...et il y a énormément de techniques et de méthodes que l'on peut utiliser suivant les propriétés du problème ( type de fonction à optimiser , type de contraintes ... ) . donc ils nous fat plus de données sur ton problème pour te diriger vers une bonne méthode !!!

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    voici un schéma expliquant le principe du modele :



    Les entrées de mon modèle sont α1, α2, α3, α4, κ1, κ2.

    Fct math-i :
    Les 4 fonctions math-i sont des matrices contenant les résultats d’essai. Les valeurs de sorties Xi(α, κ) et Yi(α, κ) sont déterminer par interpolation dans chacune des matrices correspondantes. La fonction n’est pas strictement monotone, comporte un min et un max.
    Extrait du code des fct math-i :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     % .. /
     
    % entrée Alpha, Kappa
     
    FXinfinf = Fx_Rr_V2(:,:,a,binf,cinf);
    FXinfsup = Fx_Rr_V2(:,:,a,binf,csup);
    FXsupinf = Fx_Rr_V2(:,:,a,bsup,cinf);
    FXsupsup = Fx_Rr_V2(:,:,a,bsup,csup);
     
    FXRrinfinf = interp2(AlphaData,Kappadata,FXinfinf,Alpha,Kappa,'linear');
    FXRrinfsup = interp2(AlphaData,Kappadata,FXinfsup,Alpha,Kappa,'linear');
    FXRrsupinf = interp2(AlphaData,Kappadata,FXsupinf,Alpha,Kappa,'linear');
    FXRrsupsup = interp2(AlphaData,Kappadata,FXsupsup,Alpha,Kappa,'linear');
     
    FXRrinf= ( ( (FXRrsupinf-FXRrinfinf)/(bsupBIS-binfBIS-0.0001) )* (C_Rr-binfBIS) ) + FXRrinfinf;
    FXRrsup= ( ( (FXRrsupsup-FXRrinfsup)/(bsupBIS-binfBIS-0.0001) )* (C_Rr-binfBIS) ) + FXRrinfsup;
     
    FXRr= ( ( (FXRrsup-FXRrinf)/(csupBIS-cinfBIS-1) )* (Fz_Rr-cinfBIS) ) + FXRrinf;
     
    FYinfinf = Fy_RR_V2(:,:,a,binf,cinf);
    FYinfsup = Fy_RR_V2(:,:,a,binf,csup);
    FYsupinf = Fy_RR_V2(:,:,a,bsup,cinf);
    FYsupsup = Fy_RR_V2(:,:,a,bsup,csup);
     
    FYRrinfinf = interp2(AlphaData,Kappadata,FYinfinf,Alpha,Kappa,'linear');
    FYRrinfsup = interp2(AlphaData,Kappadata,FYinfsup,Alpha,Kappa,'linear');
    FYRrsupinf = interp2(AlphaData,Kappadata,FYsupinf,Alpha,Kappa,'linear');
    FYRrsupsup = interp2(AlphaData,Kappadata,FYsupsup,Alpha,Kappa,'linear');
     
    FYRrinf= ( ( (FYRrsupinf-FYRrinfinf)/(bsupBIS-binfBIS-0.0001) )* (C_Rr-binfBIS) ) + FYRrinfinf;
    FYRrsup= ( ( (FYRrsupsup-FYRrinfsup)/(bsupBIS-binfBIS-0.0001) )* (C_Rr-binfBIS) ) + FYRrinfsup;
     
    FYRr= ( ( (FYRrsup-FYRrinf)/(csupBIS-cinfBIS-1) )* (Fz_Rr-cinfBIS) ) + FYRrinf;
     
    % sortie : FYRr, FXRr
     
    % .. /
    Alpha et Kappa sont les entrées de la fonction math.

    Sortie de modèle:

    La sommes des normes des Xi = Xc est comparé à une valeurs Xin connue vers laquelle on veut converger.
    La sommes des normes des Yi = Y est comparé à une valeurs Yin connue vers laquelle on veut converger.
    Le rapport Xc/Yc = Rc est comparé à Rin connue vers laquelle on veut converger.
    On cherche ici à minimiser les valeurs err1, err2, err3, err4 et err5.

    Contraintes :
    Cas 1 : (α1>0 & α2>0 & α3=0 & α4=0); cas2 (α1<0 & α2<0 & α3<0 & α4<0)
    Si K1<0 alors k2<0

    En résumé, comment je peux mis prendre pour optimiser l'erreur et définir mes entrées tout en respectant les contraintes.

    Merci

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    voici l'image de la structure du modele :

    [IMG][/IMG]

  5. #5
    Membre actif
    Inscrit en
    Mars 2008
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 209
    Points : 227
    Points
    227
    Par défaut
    donc pour toi le modèle mathématique est :
    Min err (i)
    sous les contraintes :
    Xc + V1 = Xin
    Yc + V2 = Yin
    Rc+ V3 = Rin
    + contraintes de signe

    Les valeurs Vi sont des variables d'écart mais dans ce cas là prise quelconques ( car d'habitude elle sont prises positives)

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    en fait je cherche à maximiser Xc, Yc, Rc tout en respectant mes contraintes.

    La fonction mathématique est entre les variables d'entrées (α1, α2, α3, α4, κ1, κ2) et ma sortie (Xc,Yc,Rc).

    L'idée serais d'avoir un algo assez rapide qui permette de déterminer les entrées maximisant la sortie.

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par jlf205 Voir le message
    en fait je cherche à maximiser Xc, Yc, Rc tout en respectant mes contraintes.
    Maximiser 3 valeurs ? Hum... C'est à dire ? Maximiser la somme des carrés des 3 valeurs ?

    La fonction mathématique est entre les variables d'entrées (α1, α2, α3, α4, κ1, κ2) et ma sortie (Xc,Yc,Rc).

    L'idée serais d'avoir un algo assez rapide qui permette de déterminer les entrées maximisant la sortie.
    Ca ressemble assez a un problème d'optimisation non-linéaire avec contrainte (système KKT).

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Maximiser 3 valeurs ? Hum... C'est à dire ? Maximiser la somme des carrés des 3 valeurs ?

    en fait je me rend compte qu'il serait suffisant dans un premier temps de :
    maximiser (Xc^2 +Yc^2)^0.5 en respectant Rc-Rin = 0

    Ca ressemble assez a un problème d'optimisation non-linéaire avec contrainte (système KKT).
    qu'es ce que le KKT ?

  9. #9
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 084
    Points
    16 084
    Par défaut
    Citation Envoyé par jlf205 Voir le message
    qu'es ce que le KKT ?
    Karush–Kuhn–Tucker conditions

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Ok merci pour l'info.

    J'utilise en ce moment un algo genetic et patternsearch dans la toolbox de MATLAB.
    Cela fonctionne mais le temps de calcul est un peu long?

    Es ce du au type d'algo non approprié ou bien à un probleme de reglage du solveur? Dans ce cas es possible de trouver de la doc expliquant le fonctionnement et comment optimiser l'algo au problème posé?

    Merci

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 14
    Points : 2
    Points
    2
    Par défaut
    Voila, je suis toujours en recherche d'un algo opti pour mon projet.

    Le probleme est identifie comme difficile (mise en equation non possible), les contraintes sont non lineaires.
    D'apres mes recherches il existe different algo du type meta-heuristique comme le genetique, la colonne de fourmis, etc... qui peuvent traiter ce genre de resolution.
    J'essai de mettre en oeuvre le genetique avec la toolbox matlab mais je n'ai pas l'experience necessaire pour affirmer que cette algo est l'opti pour mon cas.

    Sachant que le temps de calcul est primordiale dans mon cas, quelqu'un aurait il des suggestions d'algo facile a mettre en oeuvre et efficaces?

    Existe t il de la doc sur le "reglage" d'un genetique avec Matlab?

    Merci

Discussions similaires

  1. recherche doc sur tree view
    Par Daniel MOREAU dans le forum Access
    Réponses: 1
    Dernier message: 04/11/2006, 12h03
  2. Reconnaissance d'objet- Recherche d'algorithme
    Par MDiabolo dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 27/10/2006, 15h51
  3. recherche doc interbase en francais
    Par dagon dans le forum InterBase
    Réponses: 2
    Dernier message: 24/08/2005, 22h49
  4. recherche DOC
    Par vorador dans le forum ASP
    Réponses: 2
    Dernier message: 09/09/2004, 15h12
  5. recherche doc sur les courbe de bézier
    Par amaury pouly dans le forum OpenGL
    Réponses: 4
    Dernier message: 29/04/2003, 23h41

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