Algo Poly

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 13

Mathématiques Discrètes

Introduction aux algorithmes polynomiaux pour


la PL

Jean-François Hêche

Institut de Mathématiques

École Polytechnique Fédérale de Lausanne


Introduction aux algorithmes polynomiaux pour la PL

• L’algorithme ellipsoı̈dal

• Les méthodes de points intérieurs

• Fonction barrière, centre analytique et chemin central

J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 1


L’algorithme ellipsoı̈dal [Khachian (1979)]
L’idée à la base de l’algorithme ellipsoı̈dal est relativement simple : plutôt
que de travailler avec un polyèdre, on utilise une suite d’ellipsoı̈des de
volume décroissant mais qui contiennent, à chaque itération, la solution
optimale du PL à résoudre.

Partant d’un PL de domaine admissible D = {x ∈ Rn | Ax ≤ b} que l’on


supposera non vide et borné, on définit un premier ellipsoı̈de E0 de centre
x0 contenant D. À chaque itération k,

1) si xk n’est pas admissible, on choisit une contrainte aix ≤ bi


violée et on définit un nouvel ellipsoı̈de Ek+1 ⊃ Ek ∩ Hi où
Hi = {x ∈ Rn | aix ≤ aixk } ;
2) Si xk est admissible, on définit un nouvel ellipsoı̈de Ek+1 ⊃ Ek ∩ Hc
où Hc = {x ∈ Rn | cx ≥ cxk }.
J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 2
1) xk n’est pas admissible :
Ek+1 Ek+1

xk xk+1
Ek

J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 3


1) xk n’est pas admissible :
Ek+1 Ek+1

xk xk+1
Ek

2) xk est admissible :
Ek+1
Ek+1
x∗
x∗
xk xk+1
Ek

J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 3


Performances de l’algorithme ellipsoı̈dal

En choisissant judicieusement le nombre K d’itérations, il est possible


d’obtenir un ellipsoı̈de EK dont le centre xK est aussi proche que voulu de
la solution optimale du PL.
Dans une dernière étape, on peut déterminer à partir de xK le point
extrême et la base optimales.
Le nombre K d’itérations nécessaires pour déterminer le point extrême
optimal est borné par un polynôme en la taille des données du problème !
L’algorithme ellipsoı̈dal montre donc qu’un programme linéaire peut être
résolu en un temps polynomial.
Malheureusement, l’algorithme converge lentement, trop pour être efficace
en pratique.

J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 4


Les méthodes de points intérieurs
Les méthodes de points intérieurs se divisent en trois grandes familles
d’algorithmes, tous efficaces en pratique :
• les méthodes de redimensionnement affine (« affine scaling methods ») ;

• les méthodes de réduction de potentiel (« potential reduction me-


thods ») ;

• les méthodes de chemins (« path following methods »).

Tous ces algorithmes utilisent et adaptent des techniques initialement


développées pour l’optimisation de problèmes non linéaires.

J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 5


Fonction barrière, centre analytique et chemin central
Considérons la paire de programmes linéaires duaux standards

Max z = cx Min w = yb
s.c. Ax + s = b s.c. yA − v = c
x , s ≥ 0 y , v ≥ 0

Afin d’éliminer les contraintes difficiles x, s ≥ 0 (ce qui permet de se


retrouver avec un problème dont toutes les contraintes sont des équations),
on remplace chaque contrainte xj ≥ 0 (ou si ≥ 0) par un terme log xj
(log si) dans la fonction objectif.
Ainsi, pour µ > 0, on définit la fonction barrière
 
X n m
X
Bµ(x) = cx + µ  log xj + log si .
j=1 i=1

J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 6


Pour 0 < µ < ∞, on obtient une famille de problèmes (à fonction objectif
strictement concave) :

P 
n Pm
Max Bµ(x) = cx + µ j=1 log xj + i=1 log si
s.c. Ax + s = b

• Lorsque µ → ∞, la solution (unique) du problème précédent


converge  vers le centre analytique
 du polyèdre P =
x s | Ax + s = b, x ≥ 0, s ≥ 0 .

• Lorsque µ → 0, la solution (unique) du problème précédent converge


vers une solution optimale x∗ du PL initial.

• Pour 0 < µ < ∞, la solution (unique) du problème précédent décrit une


trajectoire appelée chemin central.
J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 7
x∗

x(0.1)

Chemin central x(10)

x(∞)

Centre analytique

J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 8


Principe des algorithmes de chemins
• On cherche à suivre le chemin central jusqu’à obtenir une solution suffi-
samment proche de la solution optimale x∗.
• Déterminer un point x(µ) du chemin central nécessite de résoudre un
problème d’optimisation non linéaire (il faut maximiser la fonction barrière
Bµ(x) !), on se limite donc en pratique à calculer une solution approchée
x̄(µ) de x(µ).
• L’algorithme est itératif, partant d’une solution x̄(µ0), on diminue à chaque
itération la valeur du paramètre : µk+1 = αµk (0 < α < 1) et on calcule
une solution approchée x̄(µk+1) du point central x(µk+1).
• L’algorithme s’arrête lorsqu’une précision suffisante est atteinte. Il est alors
possible de déterminer exactement la base optimale et le point extrême
optimal.
J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 9
x∗

x(µk+2) x̄(µk+2)
dk+1
x(µk+1) x̄(µk+1)

dk
x̄(µk ) x(µk )

J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 10


Objectifs

• Pouvoir expliquer le principe des ellipsoı̈des.


• Connaı̂tre les idées principales à la base des méthodes de chemins telles
que les notions de fonction barrière et de chemin central.

J.-F. Hêche, ROSO-EPFL Algorithmes polynomiaux 11

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy