La phase I de l’algorithme du simplexe • Phase I duale : fonction objectif artificielle • Phase I primale : second membre artificiel • Phase I primale : probl` eme auxiliaire • Les algorithmes ` a deux phases J.-F. Hˆ eche, ROSO-EPFL Recherche op´ erationnelle SC & PH 134
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Partant d’un PL standard, si la base initiale (formee des variables d’ecart)est primal/dual admissible, ou si une base primal/dual admissible estfournie par une methode had hoc, la phase II de l’algorithme primal/dualdu simplexe permet de determiner une solution optimale, si elle existe, oude prouver que le probleme est non borne ou sans solution admissible.
Que faire lorsqu’un tableau primal ou dual admissible n’est pas connu ?
Deux approches principales sont possibles.
1. Modifier temporairement les donnees du probleme afin que la baseinitiale soit admissible.
2. Definir un probleme auxiliaire pour lequel une base admissible est facilea trouver et dont la solution optimale fournit un tableau admissible duprobleme de depart ou prouve qu’il n’en existe pas.
Ce tableau est dual-admissible et on peut appliquer la phase II del’algorithme dual du simplexe (avec la regle de Bland car la solution basiqueduale est degeneree).
Le premier pivot est !11 = !1 (les candidats pour entrer dans la base sontx1 et x2, Bland $ x1 est retenu).
Ce tableau est primal-admissible et on peut appliquer la phase II del’algorithme primal du simplexe (avec la regle de Bland car la solutionbasique primale est degeneree).
Le tableau T 2 est dual-admissible, on peut donc supprimer le secondmembre auxiliaire . . . et arreter la resolution car le tableau obtenu estegalement primal-admissible (pour le b d’origine) ; il est donc optimal.
La phase I primale : utiliser un probleme auxiliaire
On va construire un probleme auxiliaire verifiant les conditions suivantes :• Il admet toujours des solutions admissibles.
• Il est facile de trouver une solution basique admissible du problemeauxiliaire.
• Il admet toujours une solution optimale.
• Le PL de depart admet des solutions admissibles si et seulement si lavaleur optimale du probleme auxiliaire est nulle.
• Si la valeur optimale du probleme auxiliaire est nulle, il est faciled’obtenir un tableau admissible pour le PL de depart a partir du tableauoptimal du probleme auxiliaire.
D’autre part, le PL de depart admet des solutions admissibles si etseulement si le systeme precedent admet des solutions non negativesverifiant x0 = 0.On associe donc au PL standard (P ) le probleme auxiliaire (P aux)
Le tableau initial du probleme est non admissible. On ajoute donc lavariable auxiliaire x0 dans les contraintes i verifiant bi < 0 et on definit unefonction objectif auxiliaire z" = !x0 (a maximiser).
Ce tableau n’est toujours pas admissible (pour le probleme auxiliaire) maisen introduisant x0 dans la base en lieu et place de la variable d’ecartassociee au bi le plus petit (ici x3), on obtient un tableau admissible.
En combinant les algorithmes presentes jusqu’ici, il est possible de resoudren’importe quel programme lineaire. Ces algorithmes du simplexe sont dits adeux phases, chacune d’elles etant soit
• primale : la solution basique primale est et reste admissible,
• duale : la solution basique duale est et reste admissible.
En modifiant temporairement la fonction objectif, afin d’obtenir un tableauinitial dual-admissible, on obtient un algorithme « dual-primal » composed’une phase duale suivie d’une phase primale.
En modifiant temporairement le second membre, afin d’obtenir un tableauinitial primal-admissible, on definit un algorithme « primal-dual » composed’une phase primale suivie d’une phase duale.
Classiquement, l’algorithme du simplexe a deux phases designe unalgorithme « primal-primal » utilisant, si besoin est, un probleme auxiliairedans une premiere phase.
Finalement, definissant correctement un probleme auxiliaire dual, on peutconstruire un algorithme « dual-dual » a deux phases.
Il existe egalement des algorithmes de pivotages a une phase. Ce typed’algorithmes ne sera pas etudie ici mais nous pouvons citer, parmi les plusconnus, l’algorithme primal-dual du simplexe ou la methode criss-cross.
Notons finalement que les algorithmes de points interieurs, dont nousparlerons brievement, sont egalement des algorithmes a une phase (mais ilsn’utilisent pas de pivotages et ne visitent pas une suite de solutionsbasiques).
• Savoir decrire les di"erents algorithmes du simplexe a deux phases. Enparticulier, connaıtre les donnees initiales requises par chaque algorithmeet ses issues possibles.
• Pouvoir resoudre un programme lineaire a l’aide des algorithmes a deuxphases « dual-primal » et « primal-dual ». En particulier, connaıtre pourchaque variante les regles de selection du pivot et les conditions d’arret.