cours de programmation linéaire

Upload: phreedom-dvd

Post on 07-Mar-2016

22 views

Category:

Documents


0 download

DESCRIPTION

Programmation linéaire

TRANSCRIPT

Programmation Linaire

Chapitre1Programmation linaire

1.1Qu'est-ce que la programmation linaire

1.1.1Exemple: le problme du rgime de Polly [1, p.3]

Besoins journaliers:

nergie2000 kcal

Protines55g

Calcium800 mg

Nourriture disponible

Portion nergie (kcal) Protines (g) Calcium (mg) Prix/portion

Crales 28g 110 4 2 3

Poulet 100g 205 32 12 24

Oeufs 2 gros 160 13 54 13

Lait entier 237cc 160 8 285 9

Tarte 170g 420 4 22 20

Porc et haricots 260g 260 14 80 19

Quels choix pour Polly ?

Contraintes:

Cralesau plus 4 portions par jour

Pouletau plus 3 portions par jour

Oeufsau plus 2 portions par jour

Laitau plus 8 portions par jour

Tarteau plus 2 portions par jour

Porcetharicotsau plus 2 portions par jour

Problem1 Polly peut-elle trouver une solution ?

Comment formaliser le problme ? (modlisation)

Qu'est-ce qui fait la spcificit du problme ?

Savez-vous rsoudre des problmes similaires ? 1.1.2Forme standard d'un problme de programmation linaire

Problme1 [1, p. 5] Dfinition1 Problme de programmation linaire sous forme standard:

Maximiser:z:=n--\/--j=1

cjxj

Sous les contraintes:n--\/--j=1

aijxj=0, pour j=1,...,n

Un choix des variables (x1,...,xn) est appel solution du problme.

Une solution est faisable si elle vrifie les contraintes.

z est appel fonction objective. chaque solution elle associe une valeur.

Une solution est optimale si elle est faisable et maximize la fonction objective. Exercice1 Peut-on mettre sous forme standard les exemples prcdents ? 1.1.3Existence de solutions optimales ?

Problem2 [1, p. 7]

On considre les trois problmes de programmation linaire standard suivants, crits avec la syntaxe du systme de calcul formel MuPAD: Chvatal7a:=[[x1=0 est compose de solutions faisables qui donnent des valeurs aussi grandes que voulu z.

4. Autrement, une des variables basiques Sj tombe zro, et on peut faire un pivot entre la variable entrante Xi et la variable sortante Sj. Par construction, la nouvelle solution basique correspond une solution faisable (0,...,0,Xi,0,...,0) pour un Xi>=0. En particulier le nouveau tableau est faisable, et comme Ci>=0, la constante z* a augment au sens large.

Exemple2 [1, p. 29] Systme o z n'augmente pas strictement lors du pivot: Chvatal29:=[[2*x3>>>n.

Inconvnient: solution approche, ou introduction de calcul symbolique

La mthode du plus petit index

Thorme2 L'algorithme du simplexe termine si, lorsqu'il y a ambigut sur le choix de la variable entrante ou sortante, on choisit toujours la variable de plus petit index. Cette mthode est simple et lgante.

Par contre, elle empche toute stratgie pour faire converger l'algorithme plus vite.

Mthodes intermdiaires

Stratgie au choix, mais si z n'augmente pas pendant plus d'un certain nombre d'itrations, on bascule sur la stratgie du plus petit index jusqu' ce que l'on soit sorti de la dgnrescence.

1.3.4Initialisation

Pour le moment, l'algorithme du simplexe ncessite de partir d'un tableau faisable.

Problme2 Dans le cas gnral, comment se ramener un tableau faisable?

Le systme pourrait mme ne pas avoir de solution! Exemple5 [1, p. 39] Systme P1:

Maximiser: x1-x2+x3

Sous les contraintes:

2x1-x2+2x3=0, pour i=1,...,m

P est appel problme primal. Proposition2 Si x1,...,xn est une solution faisable du problme primal et y1,...,ym une solution faisable du problme dual, alors z= z sur des solutions xj et yi faisables en utilisant les variables d'cart pour mesurer la diffrence w-z.

Exercice7 On veut introduire des variables d'cart ti pour le problme dual:

Donner une formule raisonable pour ti.

Exprimer w-z en fonction des xi, yi, si, ti.

Par dfinition des variables d'cart si, on a

si=bi-n--\/--

j=1

aijxj,

et donc

bi=si+n--\/--

j=1

aijxj.

De mme, par dfinition des variables d'cart tj pour le problme dual, on a

tj=m--\/--

i=1

aijyi-cj,

que l'on utilise pour exprimer cjcj=m--\/--

i=1

aijyi-tj.

En remplaant dans l'expression de w-z, on obtient

w-z=m--\/--

i=1

biyi-n--\/--

j=1

cjxj=m--\/--

i=1

siyi+m--\/--

i=1

(((((((n--\/--

j=1

aijxj)))))))yi-n--\/--

j=1

(((((((m--\/--

i=1

aijyi)))))))xj+n--\/--

j=1

tjxj

Qui se simplifie en:

w-z=m--\/--

i=1

siyi+n--\/--

j=1

tjxj.

Problme7 Que peut-on dduire de cette galit ?

Thorme6 (Complmentarit des variables d'cart) Si (x1*,...,xn*) est solution optimale du problme primal et (y1*,...,ym*) est solution optimale du problme dual, alors:yi*=0 ou si*=0, pour tout i=1,...,m;xj*=0 ou tj*=0, pour tout j=1,...,n.Problme8 Et maintenant ? Comment utiliser ce thorme pour trouver (y1*,...,ym*)? Exercice5 [1, p. 64-65] Thorme7 Si (x1*,...,xn*) est une solution basique non dgnre, alors les quations que l'on tire du thorme de complmentarit ont une unique solution. Donc, lorsque la solution optimale du problme est non dgnre, la technique que l'on a utilise dans les exercices permet toujours d'obtenir un certificat, pour le prix de la rsolution d'un systme de m quations linaires en m variables.

1.5.7Interprtation gomtrique de la dualit

Exercice6 Maximiser x1+x2

Sous les contraintes

2x1+x2=n--\/--

j=1

cjxj

Problme9 Construire un exemple montrant que la conclusion du thorme est fausse si l'hypothse de non dgnrescence de la solution optimale est omise. 1.6Applications

1.6.1Jeux matriciels

Le jeu de Morra

Rgles du jeu (pour deux personnes, Louis et Claire).

chaque tour, chaque joueur cache un ou deux pions, et essaye de parier, voix haute, combien de pions l'autre joueur a cach. Si un seul des joueurs a pari la bonne solution, son score augmente d'autant de point qu'il y a de pions cachs en tout; le score de l'autre joueur diminue du mme nombre de points. Sinon, rien ne ce passe. Par exemple, si Claire cache 2 pions et parie 1 tandis que Louis cache 2 pions et parie 2, Louis gagne 4 points et Claire en perds 4.

Le but est de trouver une stratgie gagnante.

Exercice8 Jouez! chaque tape, chaque joueur a le choix entre 4 actions:

[1,1]: Cacher 1 pion, parier 1 pion

[1,2]: Cacher 1 pion, parier 2 pions

[2,1]: Cacher 2 pions, parier 1 pion

[2,2]: Cacher 2 pions, parier 2 pions

Chacune de ces options est appele stratgie pure.

Problme10 Est-ce que suivre une stratgie pure est une stratgie raisonnable ?

Quelles autres stratgies ?

Exercice9 Claire et Louis font un long match.

Stratgie de Claire: inconnue; elle a jou c1 fois [1,1], c2 fois [1,2], c3 fois [2,1] et c4 fois [2,2].

Stratgie de Louis: lancer une pice chaque tour pour choisir entre [1,2] et [2,1].

Calculer les gains et pertes de Claire et Louis.

Rsultat:

Gain de Louis: (c1-c4)/2.

Perte moyenne maximale chaque tour: 1/2. Une stratgie alatoire de ce type est appelle stratgie mixte.

Exercice10 Gnralisation: on suppose que Louis se fixe une stratgie mixte. Caractrisez la meilleure stratgie de contre-attaque de Claire, c'est--dire celle qui minimise le gain moyen de Louis. Problem1 Comment caractriser la meilleure stratgie mixte pour Louis ?Jeux matriciels

Chaque matrice A=(aij) dfinit un jeu. chaque tour, le joueur par Ligne (Louis) choisit une ligne i parmi les m lignes, et le joueur par Colonnes (Claire) choisit une colonne j parmi les n colonnes.

Le gain pour Louis est le coefficient aij:

Si aij>=0, Louis reoit aij de Claire

Si aij=0 et x1++xm=1.

On considre x:=[x1,...,xm] comme un vecteur ligne, et y:=[y1,...,yn]T comme un vecteur colonne, de faon pouvoir crire commodment le gain de Louis sous la forme:xAy.Exercice12 Louis adopte une stratgie mixte donne. Caractriser le gain au pire pour Louis.

Ici, x est constant. Cela peut se mettre sous la forme du programme linaire en y:

min

y

xAy

Si Louis veut une bonne garantie pour maintenir ces gains hauts (ou ses pertes faibles), il peut chercher une stratgie mixte qui maximise la quantit miny xAy.

On appelle une telle stratgie mixte optimale; son gain moyen vaut

max

x

min

y

xAy

Problem2 Est-ce que la stratgie mixte optimale est la meilleure stratgie ?

Comment calculer la stratgie optimale ?Tel quel, le problme ne se met pas sous la forme d'un programme linaire. On avait vu une astuce pour se dbarasser d'un min dans les contraintes; celle ci ne s'applique cependant que lorsque l'on prend le min d'un nombre fini d'expressions, alors qu'ici il y en a a priori autant que de choix de y.

Proposition4 On peut toujours atteindre la quantit miny xAy avec un y de la forme: (0,...,0,1,0,...,0).

Autrement dit:miny

xAy=minj

m--\/--i=1

aijxi.

Interprtation ?

Proof. Clairement, pour une stratgie pure j donne:

min

y

xAy=m--\/--

i=1

aij0xi pour j=1,...,n.

Alors, si y:=(y1,...,yn) est un vecteur stochastique, on a:

xAy=n--\/--

j=1

m--\/--

i=1

xiaijyj=n--\/--

j=1

yj(((((((m--\/--

i=1

aijxi)))))))>=n--\/--

j=1

yj(((((((m--\/--

i=1

aij0xi)))))))=(((((((n--\/--

j=1

yj)))))))(((((((m--\/--

i=1

aij0xi))))))).

Donc, comme voulu,

xAy>=m--\/--

i=1

aij0xi

Exercice13 Formuler le problme de trouver une stratgie mixte optimale pour Louis comme un programme linaire.

Supposons que Claire veuille aussi adopter une stratgie mixte optimale. Formuler de mme son problme sous forme de programme linaire.Thorme9 (Thorme minimax). Pour toute matrice m n A, il existe un vecteur stochastique x* de longueur m, et un vecteur stochastique y* de longueur n tel que:miny

x*Ay=maxx

xAy*,

o le minimum est pris sur tout les vecteurs stochastiques y de longueur n, et le maximum est pris sur tout les vecteurs stochastiques x de longueur m. Interprtation ?

Proof. Application immdiate du thorme de dualit.

Dfinition6 Si A est interprte comme un jeu, la valeur du jeu est la quantit:miny

x*Ay=maxx

xAy*.

Exercice8 Calculer la valeur du jeu de Morra et du jeu caillou/pierre/ciseaux/puit.

D'o vient cette particularit ? Stratgie cache / stratgie rvle

Problem3 Est-ce que rvler sa stratgie son adversaire, diminue l'esprance de gain?Morra modifi

Il n'est pas trs pratique de devoir annoncer simultanment les paris.

Problem4 Est-ce que le jeu est modifi si Claire annonce toujours son pari en premier ? Exercice9 Faire l'analyse de ce nouveau jeu. Bluff et antibluff

Jeu de poker avec trois cartes (jeu invent et analys par Kuhn en 1950).

A et B dposent chacun un pion, puis reoivent chacun une carte.

Ensuite, A peut parier un pion supplmentaire ou passer.

De mme pour B, puis pour A, jusqu' ce que:

Un pari est rpondu par un passe: celui qui a pari gagne tous les pions;

Un pari est rpondu par un pari ou un passe est rpondu par un passe:Celui qui a la plus haute carte gagne tous les pions.

Exercice10 Jouez!

tant donn une distribution des cartes, dcrire les stratgies pures pour A et B.

Dcrire toutes les stratgies pures pour A et B.

Quelle est la taille de la matrice des gains ?

Y-a-t'il des stratgies que l'on peut liminer d'office ? Au final, on peut obtenir comme matrice de gain:

124124314324

11200-1/6-1/6

11301/61/3-1/6

122-1/6-1/61/61/6

123-1/6001/6

3121/6-1/30-1/2

3131/6-1/6-1/6-1/2

3220-1/21/3-1/6

3230-1/31/6-1/6

Stratgie mixte pour A: [1/3,0,0,1/2,1/6,0,0,0]; stratgie mixte pour B: [2/3,0,0,1/3]T.

Exercice11 Prouver que ces stratgies sont optimales. Exercice12 Lorsque A a la carte 1 en main, calculer en quelles proportions il doit choisir entre les 4 stratgies lmentaires. Rsum de la stratgie de A:

Avec la carte 1: mixer 1 et 3 en proportions 5:1;

Avec la carte 2: mixer 1 et 2 en proportions 1:1;

Avec la carte 3: mixer 2 et 3 en proportions 1:1.

Pour A, bluffer ou contre-bluffer est rentable.

Rsum de la stratgie de B:

Avec la carte 1: mixer 1 et 3 en proportions 2:1;

Avec la carte 2: mixer 1 et 2 en proportions 2:1;

Avec la carte 3: toujours utiliser 4.

Pour B, bluffer est rentable, mais pas contre-bluffer.

1.7Rseaux de transport

Objectif: tudier une certaine classe de problmes de programmation linaire sur laquelle l'algorithme du simplexe prends une forme simple et efficace.

1.7.1Un exemple d'application

Exemple9 Considrons le problme de transport d'lectricit suivant.

Les noeuds sont des villes.

Les arcs sont des cbles lectriques, sens unique, reliant les villes.

Sources (noeuds avec production): 6: 9 MW; 7: 5 MW

Puits (noeuds avec consommation): 3: 6 MW; 4: 6 MW; 5: 2 MW

Noeuds intermdiaires (noeuds sans production ni consommation): 1,2

Il y a des pertes en lignes, donc transporter du courant a un cot. On le modlise par un cot par unit de courant transporte sur chaque arc entre la ville i et la ville j.

Rpartition du flux de courant pour satisfaire la consommation au plus bas cot? Exercice13 Mettre le problme prcdent sous forme de problme de programmation linaire. Qu'a-t'il de spcifique ?

Consommation et production sont modlises par des constantes bi qui reprsentent la demande. On a pour les puits, bi>0, pour les sources bi=0.

Exercice14 Donner une solution faisable pour notre exemple. Remarque5 Pour des raisons de conventions, on note n le nombre de noeuds du rseau, et m le nombre d'arcs. C'est l'inverse de ce que l'on avait utilis pour les problmes de programmation linaire gnraux ... Dfinition8 La matrice d'incidence du rseau est une matrice A de taille n m. Les lignes sont indexes par les noeuds du rseau, et les colonnes par les arcs. Dans la cellule correspondant un noeud k et un arc ij, on mets un coefficient valant: -1 si l'arc part du sommet (i=k),

1 si l'arc arrive au sommet (j=k),

0 sinon.

L encore les notations ne sont pas parfaites: une paire ij indexe un arc, et donc une colonne, et non pas une cellule de la matrice...

Avec cette notation, et en notant b le vecteur colonne des bi, x le vecteur colonne des xij, et c le vecteur ligne des cij on peut mettre le problme sous forme matricielle:

Minimiser: cx

Sous les contraintes: Ax=b et x>=0.

Exercice15 crire sous forme matricielle le problme correspondant notre rseau:

x:=[[[[[[[[[[[[[[[[[[x13x14x15x21x23x24x25x45x61x62x63x67x72x75

]]]]]]]]]]]]]]]]]], b:=[[[[[[[[[00662-9-5

]]]]]]]]]

A:=[[[[[[[[[-1-1-111-1-1-1-11111111-11111-1-1-1-11-1-1

]]]]]]]]]

c:=[c13c14c15c21c23c24c25c54c61c62c63c67c72c75

]

c:=[4828107653875648108243319

]

On peut vrifier que dans lgalit Ax=b, la quatrime composante donne l'quationx14+x24-x45=6,correspondant au sommet 4. 1.7.3Solutions faisables arborescentes

Dfinition9 Quelques classes de graphes classiques:CheminCycle

Graphe non connexeGraphe connexe

Fort (graphe acyclique)Arbre

Arbre couvrant du rseau:

Exercice16 Supposez que seuls les arcs dans l'arbre couvrant prcdent peuvent tre utiliss.

Y-a-t'il une solution ? Est-elle faisable ?

Proposition6 tant donn un arbre couvrant T, il y a une unique solution de transport pour satisfaire les contraintes de production et consommation en n'utilisant que les arcs de l'arbre couvrant.

Formellement, il existe un unique vecteur x:=[xij] vrifiant: Ax=b et xij=0 pour ij n'appartenant pas T.Dfinition10 On appelle une telle solution arborescente.

Si de plus le vecteur x vrifie x>=0, c'est une solution arborescente faisable.

On dit aussi que l'arbre est faisable. 1.7.4Algorithme du simplexe pour les rseaux, une motivation conomique

Exemple10 Description de l'algorithme sur le rseau prcdent. 1.7.5Dmonstration algbrique de l'optimalit

Soit T un arbre.

On note x:=[xij] la solution correspondante.

Objectif: comparer le cot cx pour la solution x avec le cot cxpour une autre solution faisable x.

Soit y:=[y1,...,yn] les prix chaque noeuds pour la solution x.

Lors de l'application du simplexe, on a compar le cot du transport cij d'une unit le long de l'arc ij par rapport la diffrence de prix yj-yi entre les noeuds i et j.

On pose cij:=cij-(yj-yi), et c=[cij] le vecteur ligne correspondant.

Exercice17 Montrer que c=c-yA. Lemme1 On a cx=cx+cx.

Proof. On va utiliser le rsultat de l'exercice pour reformuler le cot de x en fonction de c:

cx

=(c

+yA)x

=c

x

+yAx

=c

x

+yb.

En particulier, cx=cx+yb.

Comme en plus cij=0 si ijappartient T et xij=0 si ijn'appartient pas T, cx=0, on a cx=yb.

Conclusion: cx=cx+cx.

Thorme10 Si cij>=0 pour tout arc ij, alors la solution x est optimale. Exercice: finissez de le dmontrer!

Proof. Si x est une autre solution faisable, xij>=0. Donc cx=sumcijxij>=0.

1.7.6Initialisation

Comment choisir un arbre de dpart faisable ?

On va, comme pour le simplexe habituel, introduire un problme auxiliaire:

1. Choisir un arbre couvrant T.

2. Calculer la solution x correspondante.

3. Si pour un arc ij de T on a xij0: Le problme original est infaisable.

2. w*=0, et l'arbre final T1 n'utilise aucun arc artificiel:T1 est une solution faisable du problme initial, comme voulu.

3. w*=0, et l'arbre final T1 utilise au moins un arc artificiel:On a clairement xij*=0 pour tous les arcs artificiels.Comme le rseau est connexe, on peut toujours changer les arcs artificiels par d'autres arcs non artificiels, sans changer les xij*.

1.7.7Terminaison et cyclage

Comme dans le cas gnral, l'algorithme du simplexe pour les rseaux a les proprits suivantes:

Il peut y avoir des situations dgnres (pivot ne changeant pas le cot);

L'algorithme peut cycler, mais seulement en prsence de dgnrescence;

S'il ne cycle pas, alors il termine;

Il y a des stratgies efficaces pour viter les cycles.

Mme en vitant les cycles, la complexit au pire peut monter jusqu' 2n;

Dans la pratique, il ne cycle jamais; la complexit est infrieure n.

Pour les dtails, nous renvoyons [1, Ch. 19].

1.7.8Comment contourner les restrictions ?

Dans les exercices suivants, on cherche contourner les restrictions sur les problmes standards de transport.

Arcs orients

galit de la production et de la consommation

Connexit

Au plus un arc dans chaque sens entre deux sommets

Exercice18 Dans les problmes suivants, on veut rpartir au mieux le transport d'oranges via des rseaux ferroviaires, avec les productions et consommations indiques sur les noeuds, et les cots de transports indiqus sur les arcs. Pour chacun d'entre eux, indiquer si on peut le modliser sous forme de problme standard de transport, et si oui, comment.

1.8Applications du simplexe des problmes de transports

Problem1 Une usine de barrettes mmoire pour ordinateur doit faire face une demande fluctuante dans le temps. On suppose que pour l'anne venir, la demande dj pour chaque mois j est connue l'avance (cette hypothse vaut ce qu'elle vaut).

Pour adapter la production la demande, l'usine a le choix entre plusieurs options: Stocker des barrettes d'un mois sur l'autre, sans limite, mais pour un cot unitaire de a. Produire, dans la limite de r barrettes par mois, pour un cot unitaire de b. Surproduire, dans la limite de s barrettes par mois, moyennant un cot unitaire plus lev c. la fin de l'anne, on veut de plus qu'il n'y ait plus aucun stock, afin de faciliter l'inventaire.

videmment, l'objectif est d'adapter la production au moindre cot.

Modliser ce problme sous forme de problme de transport standard. 1.8.1Un problme d'assignement

Exercice19 Rpartition de cours entre plusieurs professeurs.

Dans le dpartement de mathmatiques d'une universit aux USA, l'valuation des enseignants par les tudiants a donn au cours des derniers semestres les rsultats suivants:CoursProfesseurBillYuLuisJohnHugh

Calculus 1342,32,92,8

Differential Equations2,253,23,71,94,4

Statistics2,63,74,52.73,1

Calculus 23,94,12,63,92,4

Discrete maths2,82,83,53,44,2

Dans un semestre, chaque cours est enseign par un professeur, et chaque professeur enseigne un cours. Le chef du dpartement veut rpartir les cours du prochain semestre entre les professeurs de faon exploiter au mieux leurs talents respectifs (ou minimiser la grogne des tudiants, au choix...). Il dcide de prendre comme mesure de la qualit d'une rpartition la moyenne sur chaque cours de la note du professeur qui l'enseigne.

Modliser le problme, et indiquer comment on pourrait le rsoudre. Problme11 Est-on sr d'obtenir une solution entire ? Thorme11 (dit d'intgralit) Soit P un problme standard de transport o les contraintes sont entires (i.e. les bi sont entiers). Alors: 1. Si P a une solution, alors il a une solution coefficients entiers; 2. Si P a une solution optimale, alors il a une solution optimale coefficients entiers.

Proof. Une solution arborescente pour P a toujours des coefficients entiers!

En effet, la matrice d'incidence de l'arbre a des coefficients 1, -1 et 0, et on peut la mettre sous forme triangulaire avec des coefficients 1 et-1 sur la diagonnale. Du coup, lorsque l'on calcule le flux le long des arcs de l'arbre (ce qui revient inverser la matrice), on obtient uniquement des flux entiers.

Le thorme d'intgralit est assez simple. Alors quel est son intrt ?

Le problme prcdent est appell problme d'assignement, et est essentiellement combinatoire (les variables sont discrtes).

Ce que dit fondamentalement le thorme d'intgralit, c'est que dans certains cas les mthodes de programmation linaire peuvent tre utilises pour rsoudre des problmes purement combinatoire, ce qui est loin d'tre trivial!

C'est le sujet de la combinatoire polyhdrale.

1.8.2Quelques commentaires sur la programmation linaire en coefficients entiers

Les problmes de programmation linaire en entiers (on impose que les solutions soit coordonnes entires) sont notoirement difficile. Ils sont la plupart du temps NP-complets, et ncessitent la plupart du temps l'utilisation d'algorithme de backtrack (essai-erreur) qui ne sont pas polynomiaux.

Par contre, si par chance on peut les mettre sous forme de problmes standards de transport, le thorme d'intgralit permet de les rsoudre par l'algorithme du simplexe.

Exemple11 Un problme de sac--dos:

On a des objets de diffrentes tailles l1,...,ln et diffrentes valeurs v1,...,vnque l'on veut mettre dans un sac--dos de taille l. videmment le sac est trop petit, et l'on doit donc faire un choix. Le but est de remplir au maximum le sac--dos. Cela peut se mettre sous la forme:Maximiser v=sumi=1nxivi, sous les contraintes 0yj), de faon pouvoir diminuer son utilisation.

Exemple1 Cf. [1, p.356-359]. Thorme14 Soit x une solution T-arborescente telle que pour toute arte ij en dehors de l'arbre, on ait: soit xij=0 et yi+cij>= yj, soit xij=uij et yi+cij=0 si xij=0 (non rentable d'utiliser l'arc ij).

cij=cijxij. Donc matriciellement cx>=cx.

Comme prcdemment on peut crire c matriciellement sous la forme c=c-yA.

De plus, x et x sont solutions faisables et vrifient donc toutes deux Ax=b.

On en dduit alors:

cx

=c

x

+yAx

=c

x

+yb>=c

x+yb=c

x+yAx=cx.

1.10Problmes de flot maximum

1.10.1Introduction

Dfinition14 Problme de flot max: Rseau avec source et puits Pas de cots sur les arcs Contraintes de capacits sur les arcs Production et consommation nulle sur chaque noeud intermdiaire

Objectif:

Maximiser le volume du flot, c'est--dire la quantit transporte entre s et p. Exemple15 Un dimanche soir, maximiser le nombre de voitures allant d'Albertville Lyon, en les rpartissant entre les diffrentes routes possibles. Exercice26 Mettre le problme de flot dessin ci-dessus sous forme de problme de transport standard avec limites de capacits

Clairement, cela se gnralise tout problme de flot max.

Problme13 Que peut-on en dduire ?

On a un algorithme de rsolution (simplexe)

Le problme de flot est polynomial

On a un thorme d'intgralit:

Si les contraintes de capacits sont entires (ou infinies), alors:

Soit le problme est non born: Soit le problme a une solution entire

On doit bien avoir une dualit !

1.10.2Dualit: le thorme flot max / coupe min

Dfinition15 Une coupe C dans un rseau est un ensemble de sommets du rseau contenant la source.

La capacit de la coupe C est la somme des capacits des arrtes sortantes de C. Exemple16 Dans notre rseau, la coupe C={s} est de capacit 5.

Exercice27 Quelle est la capacit de la coupe C={s,i2,i3}?

Que peut-on en dduire sur la valeur d'un flot ?

Proposition7 Pour toute coupe C et tout flot F dans un rseau, la capacit |C| de la coupe est suprieure au volume |F| du flot: |C|>=|F|. Problme14 Que peut on esprer avoir ?

Une dualit et un thorme min-max, bien-sr!

Thorme15 (Coupe min-Flot max) Dans un rseau, le volume maximal d'un flot est gal la capacit minimale d'une coupe. Exercice28 Vrifiez-le dans notre exemple.

Proof. On considre une solution F optimale du problme de flot obtenue avec le simplexe pour les rseaux avec limites de capacit.

On calcule les valeurs yi en chaque sommets.

Les cots sont de 0 partout sauf sur l'arc ps, o le cot est de -1.

Donc la valeur de yi est:

0 si i est reli s dans T,

1 si i est reli t dans T.

On prend comme coupe C l'ensemble des sommets i avec yi=0.

Chaque arc ij sortant de C est rentable puisque yi+cij=0 c, a-> d, a-> f, a-> g, b-> c, b-> g, d-> g, e-> f, e-> g. Combien de guides faut-il de guides au minimum dans cet exemple ? Comment trouver le nombre minimum de guides ncessaires dans le cas gnral ? Dfinition16 Soit P=(E, x