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

Mathématiques Discussion :

Système linéaire avec contraintes


Sujet :

Mathématiques

  1. #1
    Membre actif Avatar de SKone
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 333
    Points : 250
    Points
    250
    Par défaut Système linéaire avec contraintes
    Bonjour,

    Après modélisation de mon problème je me retrouve avec un système linéaire contraint. Ce problème là me résiste, je vais essayé de vous l'exposer clairement.

    Mais le problème se sont les contraintes.
    J'ai des contraintes de borne :
    x est un vecteur de dimension n.


    Avec:

    La plus part du temps min = 0 et max = 1 (pour tous les x, mais il existe des cas où non)
    Des contraintes par couple :
    Avec :
    (i et j sont entre 1 et n avec i différent de j)
    Les contraintes de combinaison linéaire L :

    Et des contraintes d'exclusion mutuelle E :
    Si Alors
    J'ai une collection de contrainte L et E... Je n'ai pas de contrôle sur le nombre de ces contraintes.

    J'ai voulu résoudre ça avec le multiplicateur de Lagrange il m'a fallu transformer mes contraintes :
    J'ai donc :

    Et la contrainte d'exclusion mutuelle, je pourrais peut être m'en sortir avec un max :

    Qui devient :

    Qui lui aussi devient :


    Et là j'ai une contrainte avec un "ou" (je voulais essayer de m'en débarasser en passant dans les complèxes peut être à coup de ) et une autre non dérivable.
    Mais comme mes contraintes sont non dérivable, j'ai abandonné l'idée d'utiliser le multiplicateur de Lagrange.

    Mon est un système sur-contraint, donc j'essaye juste de minimiser sachant et sont les contraintes de borne de chaque élément i de x.
    Les contraintes et sont nombreuses, de l'ordre de 50. Et la taille du système linéaire est de 300 lignes et 150 colonnes. Ce système doit être résolu de l'ordre de 15000-20000 fois.
    Dans 99.999% les contraintes sont symétriques et et néglige les cas où elle ne le sont pas (sauf si c'est "gratuit").

    Le système devrait avoir plusieurs solutions, ce que je cherche seulement la solution qui minimise .

    Je suis ouvert à toute propositions/remarques/questionnement pouvant m'aider à résoudre ce problème, dans un temps (d’exécution) raisonnable (bruteforce est exclu).

    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    salut,
    c'est galère comme problème ça...
    à vrai dire je ne maitrise pas trop ceci mais moi lorsque j'ai un problème
    de minimisation sous contrainte j'utilise l'algorithme de Levenberg-Marquardt
    qui permet de gérer des contraintes (en appliquant les conditions de Kuhn et Tucker KKT).
    essai de regarder de ce côté là à mon avis

  3. #3
    Membre actif Avatar de SKone
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 333
    Points : 250
    Points
    250
    Par défaut
    Bonjour,

    Merci pour ta réponse, je ne connaissais pas cet algorithme mais d'après Wiki :
    Citation Envoyé par Wikipedia
    L’algorithme de Levenberg-Marquardt, ou algorithme LM, permet d'obtenir une solution numérique au problème de minimisation d'une fonction, souvent non linéaire et dépendant de plusieurs variables. L'algorithme interpole l'algorithme de Gauss-Newton et l'algorithme du gradient
    Or l'algorithme du gradient se base sur "le gradient" dont une dérivée à une dérivée non continue (le max).

    De ce fait je ne pense pas que Levenberg-Marquardt soit utilisable. Est-ce qu'un détail m'a échappé ?

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par SKone Voir le message
    Le système devrait avoir plusieurs solutions, ce que je cherche seulement la solution qui minimise
    Normalement, la méthode "par défaut" d'un système linéaire avec multiples contraintes est un Algorithme du Smplexe (d'ordre n+1) :

    il envisage un système "carré" en minimisant l'écart sur les équations restantes, et itère en appliquant un algo de convergence..

    Je ne sais pas si d'autres méthodes ont vu le jour...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    salut
    Citation Envoyé par SKone Voir le message
    De ce fait je ne pense pas que Levenberg-Marquardt soit utilisable. Est-ce qu'un détail m'a échappé ?
    effectivement, j'avais pas fait attention au fait que des contraintes étaient non dérivables...
    Je ne sais pas ce que ça fait si on utilise l'algo sur un truc dans ce genre (car lui il fait des dérivées numériques donc la non dérivabilité il ne la sent pas forcement).... tu peux toujours essayer pour voir ce que ça donne...

    Citation Envoyé par souviron34 Voir le message
    Normalement, la méthode "par défaut" d'un système linéaire avec multiples contraintes est un Algorithme du Smplexe (d'ordre n+1) :
    il envisage un système "carré" en minimisant l'écart sur les équations restantes, et itère en appliquant un algo de convergence..
    Je ne sais pas si d'autres méthodes ont vu le jour...
    Il me semble que le simplexe est seulement pour un syst. lin. avec des contraintes linéaires égalemement.
    Il me semble que l'algorithme "Nelder-Mead" (NM) est une généralisation du simplexe de base.
    Pour ce qui est de la prise en compte des contraintes avec "NM" je ne sais pas trop, il me semble que certaines personnes au programmé ceci (il me semble que j'etais tombé dessus en fouillant sur le net) mais je ne me rappel plus....

    ========
    sinon, tu peux utiliser des méthodes dites globales comme :
    - l'algorithme du recuit simulé (simple à mettre en oeuvre il me semble)
    - algorithme générique (je ne connais pas du tout)

    mais je ne sais pas si il est possible de gérer les bornes...

Discussions similaires

  1. Réponses: 11
    Dernier message: 18/01/2013, 16h13
  2. Résolution système linéaire avec contraintes
    Par Triton972 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 25/10/2011, 19h32
  3. Régression linéaire avec contraintes non-linéaires
    Par TimeSeries dans le forum SAS STAT
    Réponses: 0
    Dernier message: 20/04/2010, 10h56
  4. minimisation linéaire avec contraintes quadratiques
    Par Untitled dans le forum Mathématiques
    Réponses: 2
    Dernier message: 24/07/2009, 20h17
  5. Vérification de système linéaire, avec tableaux
    Par lenny_ dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 13/06/2006, 17h51

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