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 et contraintes d'inégalité


Sujet :

Algorithmes et structures de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut Optimisation et contraintes d'inégalité
    Bonsoir

    j'ai un problème d'optimisation à résoudre. J'ai récupéré sur le net (alglib) un algo qui résoud une partie de mon problème. Je gère les bornes de mes paramètres grâces à LB (lower boundaries) et UB (upper boundaries). Je gère mes contraintes d'égalité en voulant minimiser (x - x_target)^2.

    Mais je ne sais pas comment écrire la contrainte 0 <= x1 + x2 + x3 + x4 <= val_max

    Auriez-vous une idée svp ? un changement de variable ?

    Merci beaucoup

    Bonne soirée

    Cordialement

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Je complète mon post :

    Je sais que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    0 <= x1 <= val_max
    0 <= x2 <= val_max
    0 <= x3 <= val_max
    0 <= x4 <= val_max
    je gère ces contraintes par les lower boundaries et upper boundaries de l'algo. Mais je ne sais pas comment gérer la contrainte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     0 <= x1 + x2 + x3 + x4 <= val_max
    D'avance merci beaucoup

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 585
    Points
    188 585
    Par défaut


    Dans ALGLIB, tu peux introduire des contraintes d'égalité et d'inégalité assez facilement : http://www.alglib.net/optimization/b...onstrained.php (doc : http://www.alglib.net/translator/man...e_minbleic_d_1).

    Sinon, tu peux aussi regarder des outils d'optimisation plus "standard" : par exemple, en Python, avec une couche de modélisation comme Pyomo et un solveur à la Clp. Là, tu pourras écrire toutes tes contraintes "naturellement", sans utiliser de gradient (qui n'est pas nécessaire dans ton cas, assez simple).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut Optimisation et contraintes d'inégalité
    Bonjour,

    Citation Envoyé par salseropom Voir le message
    Je sais que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    0 <= x1 <= val_max
    0 <= x2 <= val_max
    0 <= x3 <= val_max
    0 <= x4 <= val_max
    je gère ces contraintes par les lower boundaries et upper boundaries de l'algo. Mais je ne sais pas comment gérer la contrainte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     0 <= x1 + x2 + x3 + x4 <= val_max
    ...
    L'imposition d'une borne inférieure aux quatre variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    0 <= x1 
    0 <= x2 
    0 <= x3 
    0 <= x4
    entraîne la réalisation de la condition: 0 <= x1 + x2 + x3 + x4 .

    Tu n'a donc à t'occuper que le la limite supérieure: x1 + x2 + x3 + x4 <= val_max .

    En quoi cela te pose-t-il un problème, si tu sais déjà gérer la condition concernant chaque variable xk <= val_max ?


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

Discussions similaires

  1. Probleme d'optimisation sous contraintes
    Par Claire_Juzeau dans le forum MATLAB
    Réponses: 16
    Dernier message: 21/01/2020, 09h15
  2. Problème d'optimisation avec contrainte
    Par Fluxe dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 19/09/2011, 10h54
  3. Problème d'optimisation avec contrainte
    Par mouuuhamed dans le forum MATLAB
    Réponses: 1
    Dernier message: 08/05/2011, 17h07
  4. Optimisation sous contraintes pour calibration de caméra
    Par velkouby dans le forum Mathématiques
    Réponses: 6
    Dernier message: 23/10/2008, 09h46
  5. Optimisation sous contraintes
    Par Neuromancien2 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 10/11/2006, 14h37

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