Transcript of Réalisé par dirigé par: HADDOUCHE ASMA Mr LAYEB BOUHEDJA WAFA BELALA AMINA République...
- Page 1
- Page 2
- Ralis par dirig par: HADDOUCHE ASMA Mr LAYEB BOUHEDJA WAFA
BELALA AMINA Rpublique Algrienne Dmocratique et populaire Ministre
de lEnseignement Suprieur Et de la Recherche Scientifique Universit
Mentouri-Constantine Facult des Sciences de lIngnieur Dpartement
dInformatique LMD
- Page 3
- Plan Programmation Linaire Programmation Sparable Programmation
Quadratique Conclusion
- Page 4
- Programmation linaire Introduction Dfinitions Rsolution
Graphique La Mthode du Simplexe La dualit
- Page 5
- Introduction Loptimisation combinatoire consiste trouver
loptimum dune fonction dans un temps dexcution raisonnable. Les
mthodes de loptimisation combinatoire peuvent tre classes en
mthodes heuristiques et mthodes exactes. Dans le cas simple o la
fonction maximiser ou minimiser et toutes les contraintes sont du
premier degr, le problme prend le nom de programmation linaire. On
distingue dans la programmation linaire, la programmation linaire
en nombres rels, et la programmation en nombres entiers, pour
laquelle les variables sont dans IN.
- Page 6
- Programmation linaire Introduction Dfinitions Rsolution
Graphique La Mthode du Simplexe La dualit
- Page 7
- Dfinitions la programmation linaire(PL) : En mathmatiques, les
problmes de programmation linaire (PL) est la recherche de loptimum
(minimum ou maximum) dune fonction objectif linaire lies par des
quations ou inquations linaires appeles contraintes La fonction
objectif : on appelle fonction objectif dun problme doptimisation
le critre de choix entre les diverses solutions possibles. Les
contraintes : On appelle contraintes du problme toutes les
relations limitant le choix des valeurs possibles des
variables.
- Page 8
- Dfinitions Forme gnrale dun problme linaire: MAX (ou MIN): c 1
X 1 + c 2 X 2 + + c n X n a 11 X 1 + a 12 X 2 + + a 1n X n b 1 S.C
a 21 X 1 + a 22 X 2 + + a 2n X n b 2 .. a m1 X 1 + a m2 X 2 + + a
mn X n = b m x1 0, x2 0,........., xn 0 Matriciellement, le problme
peut secrire comme Max(ou Min) (z) = c T x, S.C Ax b, x 0. Avec : A
matrice (m n), b vecteur (m 1) c vecteur (n 1), x vecteur (n
1).
- Page 9
- Programmation linaire Introduction Dfinitions Rsolution
Graphique La Mthode du Simplexe La dualit
- Page 10
- Rsolution Graphique Exemple On va maximiser la fonction
suivante Max(z) = 1200 x1 + 1000 x2 sous les contraintes conomiques
3 x1 + 4 x2 160 6 x1 + 3 x2 180 et les contraintes de signe x1 0 ;
x2 0 Cette mthode n'est applicable que dans le cas o il n'y a que
deux variables de dcision (dactivit), un problme linaire peut tre
rsolu de manire graphique en suivant le processus en trois tapes :
1. Reprsentation graphique des contraintes et de la rgion
ralisable.
- Page 11
- Rsolution Graphique 2.Reprsentation de la fonction objectif. 3.
Dtermination le point optimum.
- Page 12
- Programmation linaire Introduction Dfinitions Rsolution
Graphique La Mthode du Simplexe La dualit
- Page 13
- La Mthode du Simplexe Introduction Une des mthodes les plus
connues pour rsoudre des programmes linaires en nombre rels est la
mthode du Simplex. En thorie, elle a une complexit non polynmiale.
Cependant, en pratique, il s'avre au contraire qu'il s'agit d'une
bonne mthode. Dfinition Un tableau Simplexe est constitu des
coefficients des quations algbriques Les coefficients de la
fonction objectif Les coefficients des variables dans le membre de
gauche des contraintes; Les coefficients du membre de droite.
LAlgorithme a. Prendre la forme dgalit du problme linaire. b. Soit
r lindice tel que max c j j //il donne la variable qui rentre Test
Si A ir 0 (Arrt anormal) (Si la colonne r est 0) (Z +) Si non c.
Soit lindice Min b i /A ir //A ir > 0 La ligne pivot d. Faire le
pivotage : la variable entrante prend la colonne de la variable
sortante dans le systme dquations, en ce compris dans lexpression
de la fonction objectif e. Test darrt Si c j 0 j Arrt normal si non
aller (b)
- Page 14
- La Mthode du Simplexe Exemple Max Z= 1200 x 1 + 1000 x 2 Max
Z=1200 x 1 +1000 x 2 3x 1 + 4x 2 160 3x 1 + 4x 2 + t 1 =160 6x 1
+3x 2 180 6x 1 +3x 2 +t 2 =180 x 1 0, x 2 0 x 1 0, x 2 0 Dans
lexemple : Les variables de base sont donc x 1, x 2 Les variables
hors base sont t 1, t 2 On slectionne la variable dans la Base
ayant le plus petit coefficient positif dans la colonne R.(la ligne
pivot) On slectionne la variable HB ayant le plus grand coefficient
positif dans la ligne D. (La colonne pivot )
- Page 15
- La Mthode du Simplexe On appelle lment pivot le coefficient
situ lintersection de la colonne pivot et de la ligne pivot (6). -
Amener un coefficient 1 la place du pivot en divisant la ligne
pivot - Les coefficients de la ligne du pivot sont diviss par le
pivot
- Page 16
- La Mthode du Simplexe La solution optimale : x 1 =16, x 2 =28,
Z=47200 Critre d'arrt des itrations: Si tous les coefficients de la
ligne D relatifs aux variables HB, sont ngatifs ou nuls, la
solution trouve est optimale
- Page 17
- Programmation linaire Introduction Dfinitions Rsolution
Graphique La Mthode du Simplexe La dualit
- Page 18
- Dfinitions forme dual Ou c et x sont des vecteurs de taille n,
b un vecteur de taille m, et A une matrice de taille. Intrt de la
Dualit Le problme dual possde de trs intressantes applications
conomiques. chaque contrainte primale correspond une variable
duale. Caractristique A tout programme linaire appel PRIMAL
correspond un programme linaire appel DUAL obtenu de la manire
suivante:
- Page 19
- La dualit Exemple A l'optimum, le primal et le dual sont lis
par les rgles suivantes: - les fonctions objectifs z et w ont la
mme valeur optimale - la valeur marginale d'une variable dans un
programme est gale l'oppos de la valeur optimale de la variable
associe dans l'autre programme et rciproquement. Solution
- Page 20
- Plan Programmation Linaire Programmation Sparable Programmation
Quadratique Conclusion
- Page 21
- Programmation Sparable Introduction Dfinition Algorithme de
rsolution des problmes sparables Exemple
- Page 22
- Introduction En informatique, la programmation non-linaire (
PNL) est une mthode permettant de rsoudre de nombreuses quations et
inquations dpendant d'un ensemble de paramtres contraintes sous la
forme d'une fonction maximiser ou minimiser. I l ya plusieurs
mthodes de rsolution de ce genre de problme, parmi ces mthodes on a
Les problmes sparables Les problme a contrainte linaire Dfinition
Des problmes sparables qui ne comportent que des fonctions non
linaires dune seule variable. Une fonction est sparable si elle
peut tre exprime comme la somme de fonctions d une seule variable :
f(x) = f j (x j ), j=1....n Ces problmes peuvent tre rsolus en
considrant une suite dapproximations linaires par morceaux des
fonctions non linaires dune seule variable.
- Page 23
- Programmation Sparable Introduction Dfinition Algorithme de
rsolution des problmes sparables Exemple
- Page 24
- Algorithme de rsolution des problmes sparables chaque fonction
non linaire dune seule variable est remplace par une approximation
linaire par morceaux. le problme approxim est alors rsolu par une
version spcialise de lalgorithme du simplexe traitant les problmes
linaire par morceaux. enfin, si la solution ainsi obtenue scarte
trop des relations non linaires originales, on raffine la
discrtisation autour de la solution optimale du problme approxim et
on itre.
- Page 25
- Programmation sparable Introduction Dfinition Algorithme de
rsolution des problmes sparables Exemple
- Page 26
- Exemple Min x 1 2 4x 1 2x 2 x 1 + x 2 4 S.C 2x 1 + x 2 5 -x 1 +
4x 2 2 x 1, x 2 0 Il sagit dun problme convexe car on minimise x 1
2 qui est une fonction convexe. La premire tape faire est de se
donner une borne infrieure et une borne suprieure la valeur que
pourra prendre la variable non linaire. Supposons ici que 0 x 1
2.5. Point O x 1 = 0 y = x 1 2 = 0 Point A x 1 = 1 y = x 1 2 = 1
Point B x 1 = 2 y = x 1 2 = 4 Point C x 1 = 2.5 y = x 1 2 = 6.25 On
construit alors une approximation linaire par morceaux de la
fonction en reliant par des segments de droite les points
dvaluation de la fonction. on obtient la courbe linaire par
morceaux indique par OABC de ce problme
- Page 27
- Exemple La deuxime tape on rsoudre le problme linaire par
morceaux. nous allons avoir recours la notion dpigraphe. en effet,
lorsque le problme est convexe, on peut remplacer la fonction
linaire par morceaux liant x 1 et y par son pigraphe comme fait ce
problme. On peut vrifier que lpigraphe correspond aux trois
ingalits suivantes : ce qui peut encore scrire comme suit y x 1 (1)
x 1 y 0 y 3x 1 -2 (2) 3x 1 y 2 y 4.5x 1 5 (3) 4.5x 1 y 5
- Page 28
- Exemple Il suffit alors de minimiser y. En effet, en minimisant
y avec la contrainte que ( x 1, y) appartienne lpigraphe, on se
retrouvera donc sur la limite infrieure de lpigraphe, donc sur la
courbe linaire par morceaux indique par OABC ce problme. ce dernier
est donc remplac par le suivant : Min y 4x 1 2x 2 x 1 + x 2 4 2x 1
+ x 2 5 S.C - x 1 + 4x 2 2 x 1 y 0 3x 1 y 2 4.5x 1 y 5 x 1, x 2 0
en rsolvant le problme approxim on introduit une erreur par rapport
la vraie fonction.Ainsi pour x 1 = 1.5, la fonction vraie x 1 2
vaut 2.25 alors que son approximation linaire par morceaux fournit
comme valeur 2.5. dou la ncessit de raffiner la discrtisation et
ditrer.
- Page 29
- Plan Programmation Linaire Programmation Sparable Programmation
Quadratique Conclusion
- Page 30
- Programmation Quadratique Introduction Problme daffectation
quadratique Mthodes de rsolution
- Page 31
- Introduction Dfinition Les problmes de programmation
quadratique sont des problmes d'optimisation o la fonction objectif
est quadratique et les contraintes sont linaires ou quadratiques.
En mathmatiques, une forme quadratique est une quation de degr deux
avec un nombre quelconque de variables. La forme gnrale dun problme
quadratique Soit. SC Q:matrice C:vecteur
- Page 32
- Programmation Quadratique Introduction Problme daffectation
quadratique Mthodes de rsolution
- Page 33
- Problme daffectation quadratique Le problme daffectation
quadratique consiste placer n units communiquant entre elle sur n
sites prdtermins. Entre une unit i place sur un site k et une unit
j place sur un site 1 se passe une interaction qui a un cot : c
ijkl. En gnral, ce cot est le produit du flux f ij entre les deux
units par la distance entre les deux sites d kl. Et le problme
consiste minimiser le cot total de limplantation des n units sur
les n sites Utilisation des mtaheuristiques pour ce problme Les
algorithmes volutifs: Des heuristiques telles que les algorithmes
gntiques ou les mthodes de recherche par dispersion ont galement
pris part la course la meilleure solution. Mais finalement, ils
noffrent, tous seuls, que peu de rsultats Et cest ainsi que sont ns
les algorithmes hybrides volutifs/recherche locale Mthodes de
recherche locale: La mthode qui a donn les meilleurs rsultats est
la mthode Tabou (La mthode Tabou robuste et La mthode Tabou
ractive)
- Page 34
- Programmation Quadratique Introduction Problme daffectation
quadratique Mthodes de rsolution
- Page 35
- Mthodes de rsolution 1. Optimisation avec contraintes : Parmi
les mthodes les plus importantes pour rsoudre ces problmes sont :
Rsolution par substitution Les conditions ncessaires doptimalit de
Karush Kuhn et Tucher(KKT) La mthode du Lagrangien 2. Optimisation
sans contraintes : Parmi les mthodes les plus importantes pour
rsoudre ces problmes sont des mthodes itratives : la mthode de
gradient conjugu (GC). la mthode de la plus forte pente (la mthode
de descente du gradient conjugu) Dans ces mthodes une itration
consiste calculer chaque tape x k+1 on fonction x k On manire
gnrale : X k+1 = X k +dt x 0 =(0,0): point de dpart X 0 donn d :
vecteur de direction. t : le pas de la mthode.
- Page 36
- Mthodes de rsolution 3. Dfinition : Soit f une fonction de R n
R, un vecteur d est une direction de descente en x sil existe T
> 0 tel que f(x +td) < f(x), t [0, T]. Tests darrts : ||g (x
k+1 )|| , 10 -2 ou || f (x k+1 ) f(x k ) || 4. La mthode de
gradient conjugu : 4.1 Introduction: mthode du gradient conjugu est
un algorithme pour la solution numrique des systmes particuliers
d'quations linaires, savoir ceux dont la matrice est symtrique et
dfinie positive. La mthode du gradient conjugu est une mthode
itrative, Cette mthode nutilise pas la minimisation
unidimensionnelle mais plutt des calculs directes, elle spcifique
la fonction quadratique.
- Page 37
- Mthodes de rsolution b) Algorithme de gradient conjugu : Soit x
0 : point de dpart (fix). *Posons k=0: Calculer: g 0 = f (x 0 ) = A
x 0 +b posons: d 0 = - g 0 * While g 0 0 A litration k calculer, on
est au point x k x k+1 = x k + k d k ; Avec : k = - g k T d k / d k
T A d k ; d k+1 = - g k+1 + B k d k ; B k = g k+1 T Ad k / d k T A
d k ; K: = k+1 ; End (while). *test darrt.
- Page 38
- Exemple : Opt f(x) = x 1 2 + 2x 2 2 -2x 2 2x 1 x 2. g(x) = (2x
1 2x 2, 4x 2 2x 1 2 ). H(x) = 2 -2 -2 4 H(x) est dfinie positive et
constant donc : f(x) est une fonction quadratique. k=0 : x 0 =
(0,0), d 0 = - g 0 = 0 -2 0 2 -2 0 k = - g k T d k / d k T A d k
=> 0 =-(0,-2) 2 /(0,2) -2 4 2 0 =1/4 x k+1 = x k + k d k => x
1 = (0,0)+1/4(0,2) x 1 = (0,1/2)
- Page 39
- Exemple on remplace x 1 = (0,1/2) dans la fonction g(x) =>
g(x 1 ) = (-1,0) 2 -2 0 2 -2 0 B k = g k+1 T Ad k / d k T A d k
=>B 0 = (-1,0) - 2 4 2 / (0,2) -2 4 2 B 0 = 1/4 d k+1 = - g k+1
+ B k d k => d 1 = (1,1/2) || g(x 1 ) || =1 > k =1 ; =1, x 2
=(1,1), g(x 2 ) =(0,0), || g(x 2 ) || =0 < La solution optimale
est x 2 =(1,1)
- Page 40
- Mthodes de rsolution Mthode de la descente du gradient conjugu
(la plus forte pente) : La descente de gradient dsigne un
algorithme d'optimisation, cette mthode utilise le principe de la
minimisation unidimensionnelle. Le principe dune mthode de descente
est de calculer les itrations x k+1 = x k + k d k, k > 0 tel que
: f(x k+1 )
- Page 41
- Exemple Min (x 1 2 +2x 2 2 -2x 2 2x 1 x 2 ) g (x) =(2x 1 2x 2,
4x 2 2 2x 1 ) d 0 = - g(x 0 ) k=0, x 0 (0,0) d 0 = - (0,-2)= (0,2)
X k+1 =x k + k d k X 1 =x 0 + 0 d 0 => (0,0)+ 0 (0,2)= (0,2 0 )
Min f(0,2 0 ) = Min(8 0 2, - 4 0 ) f `( 0 ) = (16 0 - 4)= 0 => 0
= 1/4 x 1 = (0, 2 0 ) = (0, 1/2) Test darrt : g(x 1 ) = (-1,0)
=> || g(x 1 ) || = 1 > (le test darrt nest pas vrifi) k=1 : x
2 = (1/2,1/2) k=2 : x 3 = (1/2,3/4) . k=17: x 18 = (511/512,
511/512) => || g(x 18 )|| = 0.003