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 :

CPLEX sous Python


Sujet :

Mathématiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 132
    Par défaut CPLEX sous Python
    Bonjour à tous,

    Je crée un nouveau thread après mon ancien à propos d'un Dial A Ride Problem solver.

    J'utilise la librairie open source de CPLEX sur Python, à savoir docplex pour ceux qui chercheraient.

    Quand CPLEX cherche les solutions en Cut and Bound, il y a le Best Integer et le >Best Bound qui convergent vers la solution optimale qui se trouve dans le gap entre les deux.

    Je pense avoir compris le Best Integer, il me semble que c'est le chemin qui est pour l'instant le plus court.

    Ma question se porte sur le Best Bound, qu'est ce que c'est ?

    Merci d'avance et bonne journée à tous,

    Stabilo.

  2. #2
    Responsable Qt & Livres


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

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut


    Lors de la résolution d'un problème, CPLEX calcule deux types de bornes : la borne primale et la borne duale. On se place dans le contexte d'une maximisation : la borne primale indique que l'optimum global est au moins aussi élevé ; la borne duale donne une limite supérieure à l'optimum global (sans qu'on sache si on peut l'atteindre ou pas).

    La borne primale est mise à jour chaque fois que CPLEX trouve une solution entière (ou que tu lui en donnes une). La borne duale est obtenue à l'aide d'un relâchement du problème initial : on enlève les contraintes complexes (variables entières), ce qui donne un problème que l'on peut résoudre à l'optimalité facilement. Puisqu'on a enlevé des contraintes, l'objectif peut monter plus haut, mais on sait qu'on ne pourra pas aller plus haut que ce qu'on vient d'obtenir. (Lors de l'exploration de son arbre, CPLEX peut encore mettre à jour cette borne duale, chaque fois qu'il a commencé à explorer les deux enfants d'un nœud.)
    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 !

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 132
    Par défaut
    Salut !

    Merci pour ta réponse,

    J'étais pas trop loin de la vérité alors !

    Dernière petite question, connais tu la fonction pour arrêter CPLEX en fonction du Gap (sur python) ?
    Par exemple dès que l'on rentre dans le Gap des 10% on stop et donne la solution. Dans le but d'éviter des temps de résolution trop long, je connais modele.parameter.timelimit=XXX pour le temps mais pas pour le Gap.

    Merci d'avance et bonne journée,

    Stabilo.

  4. #4
    Responsable Qt & Livres


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

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    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 !

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 132
    Par défaut
    Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Outil pour connexion odbc sous python
    Par toctoc14 dans le forum Bibliothèques tierces
    Réponses: 2
    Dernier message: 11/05/2007, 16h13
  2. Decomposé un fichier XML en plusieurs fichiers XML sous python
    Par elhout dans le forum Général Python
    Réponses: 6
    Dernier message: 12/03/2007, 14h20
  3. Midi sous Python
    Par pfeuh dans le forum Général Python
    Réponses: 1
    Dernier message: 14/11/2006, 11h45
  4. Fonction addslashes sous Python ?
    Par ecocentric dans le forum Général Python
    Réponses: 2
    Dernier message: 28/01/2006, 18h27
  5. Existe-t-il un rad sous python?
    Par sloshy dans le forum EDI/RAD
    Réponses: 6
    Dernier message: 03/10/2005, 09h26

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