Programmation Lineaire en Nombre Entier
Programmation Lineaire en Nombre Entier
Programmation Lineaire en Nombre Entier
(2016 2017)
Ralis par :
- ARGOUB Rochdi
- REGRADJ Samir
( MMI 15 )
INTRODUCTION
La gestion de production est le domaine ou ces applications sont les plus nombreuses. On
citera entre-autres :
Le choix de plans-media.
La dtermination de politiques de prix.
La rpartition des efforts de la force de vente.
La slection des caractristiques du produit.
[2]
PROGRAMMATION LINEAIRE DUN NOMBRE ENTIER
I. DEFINITIONS ET EXEMPLES
Programmation linaire dun nombre entier
La programmation linaire dun nombre entier par dfinition est un Modle mathmatique
dans lequel la fonction objectif et certaines (ou toutes les) variables sont restreintes des
valeurs entires.
Applications
Choix dune solution optimale parmi un ensemble fini dalternatives. Peuvent gnralement
se formuler comme des programmes en nombres entiers , cest ce quon appelle
Optimisation combinatoire qui est Loptimisation de lusage de ressources limites dans les
domaines militaire, industriel, agricole, conomique, ... Existence dalgorithmes trs
efficaces pour rsoudre des problmes trs difficiles en pratique, mais solveurs de plus en
plus performants.
Dans le cas ou les contraintes et les variables sont toutes deux entiers, on parle de
programmation linaire en nombre entiers (ou simplement programmation en
nombres entiers - IP en anglais).
Dans le cas ou seulement un de ces aspects sexprime en nombre entiers, ou mme
seulement certaines des variables, on parle de programmation linaire mixte (MP
en anglais).
Exemple.1 (Slection de projets) : 5 projets doivent tre valus sur 3 ans. Etant donn le
cot de chaque projet pour chaque anne et le profit obtenu par lexcution dun projet,
dcider quels projets excuter sans dpasser le budget disponible pour chaque anne.
[3]
Variables
0 sinon.
Formulation
Exemple.2 (Problme avec cots fixes) : 3 compagnies de tlphone offrent des tarifs
diffrents pour les communications longue distance.
Variables
Formulation
[4]
Exemple.3 (Voyageur de commerce): Un reprsentant doit visiter n villes une et une seule
fois, et revenir sa ville de dpart, en minimisant le cot total du trajet.
Le problme revient trouver un tour de cot minimum passant une et une seule fois par
chacun des noeuds dun graphe. Le cot dutilisation de larc (i, j) est Cij .
Variables
0 sinon.
Contraintes
Formulation
[5]
Contraintes disjonctives
Dans un programme linaire, toutes les contraintes doivent tre satisfaites simultanment.
Parfois, il est ncessaire de modliser le fait quune contrainte parmi un ensemble doit tre
satisfaite. Si les contraintes de lensemble sont mutuellement incompatibles, on parle de
contraintes disjonctives.
Exemple.4 (Contraintes disjonctives) :Une machine est utilise pour 3 tches diffrentes.
Pour chaque tches i, une dure pi et une date limite di sont donnes, ainsi quune pnalit
par jour de retard.
- Comment arranger les tches sur la machine pour minimiser la pnalit totale ?
- Variables : xi : temps de fin de la tche i (xi pi).
- Deux tches i et j ne peuvent tre excutes simultanment, donc
xi xj + pi ou xj xi + pj .
Pour introduire ces contraintes disjonctives, nous faisons appel des variables binaires
auxiliaires :
[6]
Objectif : min z = 19 s 1 + 12 s 2 + 34 s
Formulation
[7]
Autre perspective : supposons que trois ordinateurs M1, M2 et M3 effectuent respectivement
10000, 20000 et 40000 oprations par seconde.
Quelle taille maximum de problme n peut-on rsoudre en une minute par des
algorithmes effectuant respectivement n, n 2, n 3 et 2 n oprations ?
1. Le problme daffectation
Formulation
[8]
Tondre Peindre Laver
Med 15 10 9
Karim 9 15 10
Tarik 10 12 8
Mthode hongroise
[9]
4. Slectionner un nombre minimum de lignes et colonnes couvrant tous les 0.
5. Slectionner le plus petit lment non couvert, le soustraire tous les lments non
couverts et lajouter aux intersections.
2. Modle de transport
Le modle de transport est un produit doit tre transport de sources (usines) vers des
destinations (dpts, clients).
Exemple.6 (modle de transport) : Une firme automobile a trois usines Alger, Oran et
Bejaia, et deux centres de distribution Allemagne et France.
Les capacits des trois usines sont de 1000, 1500 et 1200 respectivement, et les demandes
aux centres de distribution sont de 2300 et 1400 voitures.
[10]
Cots :
Allemagne France
Alger 80 215
Oran 100 108
Bejaia 102 68
Formulation
(Alger)
(Oran)
(Bejaia)
(Allemagne)
(France)
Reprsentation tableau
Allemagne France offre
Alger 80 215 1000
1000
Oran 100 108 1500
1300 200
Bejaia 102 68 1200
1200
demande 2300 1400
[11]
Variantes
Le modle de transport nest pas limit au transport de produits entre des sources et
destinations gographiques.
Exemple .7 (Maintenance dquipements) : Une scierie prpare diffrents types de bois sur
base dun plan hebdomadaire.
Pour satisfaire la demande, dpendant du type de bois, la scierie utilise un nombre donn
de lames.
Pour satisfaire la demande, deux possibilits :
acheter une lame ($12) ;
faire aiguiser la lame (service express : $6 en une nuit, sinon $3 en 2 jours).
Demande :
Modle de transport
8 sources : achat de nouvelles lames (offre = demande totale), 7 jours de la semaine (offre =
nombre de lames utilises).
8 destinations : 7 jours de la semaine (demande = nombre de lames utilises) + surplus de
lames non achetes /
Aiguises (demande = nombre total de lames).
[12]
Algorithme pour le problme de transport
[13]
c. Approximation de Vogel (VAM) :
Pour chaque ligne (colonne) avec une offre (demande) non-nulle, calculer une
pnalit gale la diffrence
Entre les deux cots les plus petits
dans la ligne (colonne) ;
Slectionner la ligne ou colonne
avec la pnalit maximale et
slectionner la cellule de cot
minimum dans
La ligne ou colonne ;
Allouer le plus possible la cellule
courante ;
Lorsquil ne reste quune ligne ou colonne : moindre cots.
Formulation
Problme dual
Adaptation du simplexe
Critre doptimalit :
Complmentarit :
Trois tapes :
1. dtermination des variables duales (multiplicateurs) ;
2. vrification du critre doptimalit et dtermination de la variable entrante ;
3. dtermination de la variable sortante pour prserver ladmissibilit et pivotage.
[14]
Dtermination des variables duales
1. m + n - 1 quations m + n inconnues : fixer u1 = 0.
2. Rsoudre rcursivement le systme
Objectifs :
1. loffre et la demande doivent continuer tre satisfaites ;
2. les quantits transportes doivent rester positives.
Mthode :
1. construction dun cycle parcourant des variables en base en partant de et revenant la
variable entrante ;
2. dplacement le long de lignes et colonnes en alternant ajout et retrait dune mme
quantit.
[15]
Extension du modle de transport : il est parfois ncessaire (ou moins cher) dutiliser des
noeuds intermdiaires pour le transport.
Deux usines P1 et P2 servent 3 vendeurs D1, D2 et D3, via deux centres de transit T1 et T2.
[16]
Noeuds de transbordement : arcs entrants et sortants. offre/demande = offre/demande
originale + buffer
Les noeuds de transbordement sont la fois sources et destinations pour le problme de
transport.
Buffer : quantit ncessaire pour transporter toute la demande travers le noeud de
transbordement.
Dans notre exemple : B = 2200.
Rsoudre un programme linaire consiste dterminer les valeurs des variables qui
permettent doptimiser la fonction conomique. Il existe diverses techniques de rsolution
parmi lesquelles les mthodes de Branch-and-Bound "Diviser pour rgner" qui sont des
mthodes bases sur une numration "intelligente" des solutions admissibles dun
problme doptimisation combinatoire, utilise toute la puissance de la programmation
linaire pour dterminer de bonnes bornes.
Relaxation linaire
[17]
Proprits de la relaxation linaire
Branchement
Si la solution de LP nest pas entire, soit xi une variable prenant une valeur
fractionnaire xi*dans la solution optimale de LP.
Le problme peut tre divis en deux sous-problmes en imposant
xi [xi* ] ou xi [xi* ]+ 1
Exemple.10 (Branch-and-Bound) :
[18]
La solution de LP1 est une solution admissible de P et donc z = 23 est une borne infrieure
sur la valeur de la solution optimale de P.
Le noeud correspondant peut tre limin vu quune solution entire optimale satisfaisant
x1 3 a t trouve (solution de P1).
[19]
- La valeur de la solution de LP, z = 23:75 est une borne suprieure sur la valeur de la
solution optimale de P.
- Vu que tous les coefficients sont entiers, on peut en dduire que la valeur de la
solution optimale de P est infrieure ou gale 23.
Rgles de branchement
[20]
2. Branch-and-bound pour le voyageur de commerce
Formulation (rappel)
[21]
Si un sous-tour apparat :
Dans une solution admissible, un de ces arcs doit tre absent, donc
[22]
3. Branch-and-bound pour les contraintes disjonctives
On peut utiliser une approche classique pour les problmes en nombres entiers en
introduisant des variables supplmentaires (voir formulation en dbut de partie).
On peut galement prendre comme relaxation le problme sans les contraintes
disjonctives, et brancher sur les contraintes non satisfaites.
Exemple .12 (Contraintes disjonctives) : Une machine est utilise pour 3 tches diffrentes.
Pour chaque tches i, une dure pi et une date limite di sont donnes, ainsi quune pnalit
par jour de retard.
- Comment arranger les tches sur la machine pour minimiser la pnalit totale ?
Relaxation du problme
Branchement sur xi xj + pi ou xj xi + pj .
Solution de la relaxation : ordonnancement au plus tt.
[23]
[24]
[25]
[26]
[27]