Vous êtes sur la page 1sur 22

PRAGRAMMATION Mathématique

1 :Page
Université de Cheik Anta Diop de Dakar

Faculté des sciences économiques et de gestion

Centre de recherche et de formation pour le développement


Economique et social (CREFDES)

MINI Projet - optimisation


Professeur : Babacar M. Ndiaye

Master Professionnel en Méthodes Statistiques et Econométriques (MSE)


2016-2017

Nom du Binôme :
Abdi-BasidADAN
Abdi-Basid IBRAHIM ADAN et Hawa DIENG

Adresse : 45753 Dakar-Fann, Km1 Avenue Cheikh Anta Diop,


Master
Dakar Professionnel
45753 Téléphone : 33 864en
55 28
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

2 :Page
Tables des Matières :

Liste des graphiques………………………………………………………..……………………………………………..…………………….............................................................2


Liste des sigles et abréviations ………………………………………………………………..…………………………….………………..…………………………………...2

Etude de cas 1…………………………………………………..…………………………………..………………………………………………………………………………………...4


Etude de cas 2…………………………………………………..…………………………………..……………………………………………………………………………….……...13

Annexe………………………………………………………..…………………..……………………………………………………………………………..…………………………..…..…19

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

3 :Page
⟹ Liste des figures :

Figure 1 : Représentation de la zone admissible de programme (P) sous Géogebra :
Figure 2 : Représentation de la zone admissible de programme (P) sous MatLab :
Figure 3 : Représentation de la zone admissible de programme (Q) sous Géogébra:
Figure 4 : Représentation de la zone admissible de programme (Q) sous MatLab:
Figure 5 : Représentation graphique de programme d’optimisation (P)
Figure 6 : Représentation graphique de programme d’optimisation (Q)
Figure 7 : Représentation graphique de programme d’optimisation (P1)
Figure 8 : Représentation graphique de programme d’optimisation (P2)

⟹ Liste des sigles et abréviations :




Mincon : minimum convexe ou minimum concave


Min : Minimisation
Max : Maximisation
Fplot : figure plot
End : Fin du programme



Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

4 :Page
Etude de cas 1 :

Eléments de Réponses

1) a) On considère le programme de minimisation (P) suivant:

L’étude de la linéarité (ou non linéarité) d’un programme s’avère très indispensable dans la
mesure qu’elle permet de cerner la (es) méthode (s) adéquate (s) et susceptible de résoudre
le programme d’optimisation intéressé.

En effet, cela nous ramène à vérifier tout simplement la propriété d’additivité et d’homogénéité
de ses fonctions (les deux critères de la linéarité d’une application).

En principe, nous allons pouvoir vérifier ces conditions sur la fonction objective (application)
du programme et puis celles de ces contraintes :

𝑓(𝑥+0) = 𝑓(𝑥) + 𝑓(0) = − 𝑥2 + 0

Constatant le critère d’additivité bien rempli mais qu’en est-il alors de celui de l’homogénéité ?

Sans surprise, il est évident que la puissance de de la fonction objective est unitaire (d’ordre
1), en conséquence min𝑓1 (𝑥) = − 𝑥2 est un morphisme linéaire des variables 𝑥1 𝑒𝑡 𝑥2 .

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

5 :Page
Néanmoins, les équations des contraintes se confirment non linéaire, en raison de l’absence
de l’homogénéité de la puissance sur les quantités 𝑥1 𝑒𝑡 𝑥2 à minimiser. Après un
développement des facteurs et une réduction des termes de la première équation, on parvient:

(𝑥1 + 𝑥2 − 1)(𝑥1 + 2𝑥2 − 1) = 𝑥12 + 2𝑥1 𝑥2 − 𝑥1 + 𝑥1 𝑥2 + 2𝑥22 − 𝑥2 − 𝑥1 − 2𝑥2 + 1

= 𝑥12 + 2𝑥22 + 𝑥1 𝑥2 - 2𝑥1 - 3𝑥2 +1

Formellement, le programme étudié précédemment n’est pas linéaire, en d’autres termes, il


s’agit bien d’un programme non linéaire soumis à des contraintes d’inégalité.

(On peut solliciter la méthode Khun-Tucker manuellement, pour plus facilité et rapidité, nous
allons résoudre à l’aide d’un logiciel).

1) b) Soit Le programme de maximisation de (Q) ci-dessous :

Il est bien primordiale d’examiner la linéarité d’un programme mathématique, afin de mieux
saisir la (es) méthode (s) adéquate (s) à sa résolution.

En conformité des règles de la linéarité appliquée précédemment, on constate à premier vue,


que la fonction objective de maximisation est loin d’être linéaire, car celle-ci est assujettie à
des contraintes avec des exposants non homogènes sur les quantités à maximiser x et y.

Ainsi, le critère d’additivité semble rempli mais pas celui de l’homogénéité.

En conséquence de quoi, à travers cette diagnostique nous pouvons confirmer que le


programme de maximisation étudié n’est point du tout linéaire, il est plutôt quadratique avec
des contraintes des équations circulaires. Il s’agit ici, d’une optimisation sous contrainte

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

6 :Page
d’égalité. (On peut solliciter la méthode Lagrangienne manuellement, pour plus facilité et
rapidité, nous allons résoudre à l’aide d’un logiciel).

2) On appelle domaine admissible (ou réalisable), tous les points qui vérifient l'ensemble
des contraintes du programme. D’autant plus que les inégalités des contraintes forment
des demi-plans, ainsi l’ensemble des points d’intersections (ou des sommets), constituent
un polygone (ou un polyèdre).

Il existe une diversité des logiciels de programmations susceptibles de représentés les


domaines admissibles recherchés. Pour ce faire, nous allons solliciter le logiciel Géogebra
pour visualiser confortablement la zone admissible de deux programmes et on obtient :

Figure 1 : Représentation de la zone admissible de programme (P) sous Géogébra :

Sources : Géogebra, auteur, 2017

Avec les points A(0, 1) ; B(0,0.51) ; C(0,0) et D(1,0).

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

7 :Page
→ 𝐼𝑛𝑡𝑒𝑟𝑝𝑟𝑒𝑡𝑎𝑡𝑖𝑜𝑛:

Le polygone coloré en rose et les points bleus correspondent la zone admissible du


programme (P), qui s’obtient par intersection des trois équations des contraintes, en

considérant aussi celle de positivité des variables.

Ainsi, les sommets du triangle s’agissent des différents points qui minimisent la fonction
objective f1.

De manière graphique, l’optimum est atteint au point de coordonnée qui se situe au sommet
du polygone, des points d’intersections des axes, ici c’est le point A(0,1) (voir graphique en
haut).

Par ailleurs, on peut visualiser aussi la représentation de la zone admissible de la version


MatLab :

Syntaxes sous Matlab

>> fplot(['1-x'],[0 5])


>> grid on; hold on
>> fplot(['1/2-x/2'],[0 5])
>> fplot(['-1/2-x/2'],[0 5])
>> title('Zone admissible'), xlabel('x(1)'), ylabel('x(2)')
>> zoom on

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

8 :Page
Figure 2 : Représentation de la zone admissible de programme (P) sous Matlab :

Sources : Matlab, auteur, 2017

De même, on parvient avec la représentation graphique de la zone admissible sous Matlab,


à identifier le point optimum, qui est le point (0,1) (repérée par la flèche).

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

9 :Page
Figure 3 : Représentation de la zone admissible de programme (Q) sous Géogébra:

Sources : Géogebra, 2017

Avec les points A(0, 2) ; B(0,0) ; C(2,0) et D(1,1)

→ 𝐼𝑛𝑡𝑒𝑟𝑝𝑟𝑒𝑡𝑎𝑡𝑖𝑜𝑛:

Le polygone coloré en rose et les points en bleus correspondent la zone admissible du


programme (Q), qui s’obtient par intersection de deux équations du cercle des contraintes et

forment un polygone régulier.

Ainsi, les sommets du triangle s’agissent des différents points qui minimisent la fonction
objective f1.

De manière graphique, l’optimum est atteint au point d’intersection des équations des cercles,
ici c’est le point D(1,1).

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

10 :Page
Par ailleurs, on peut visualiser aussi la représentation de la zone admissible de la version
MatLab :

Syntaxes sous Matlab

>> fplot(['1-x'],[0 5])


>> grid on; hold on
>> fplot(['1/2-x/2'],[0 5])
>> fplot(['-1/2-x/2'],[0 5])
>> title('Zone admissible'), xlabel('x(1)'), ylabel('x(2)')
>> zoom on

Figure 4 : Représentation de la zone admissible de programme (Q) sous MtaLba :

Sources : Matlab, auteur, 2017

De même, on parvient avec la représentation graphique de la zone admissible sous Matlab,


à identifier le point optimum, qui est le point (1,1) (positionner au milieu de deux flèches).

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

11 :Page
3) Ici, il s’agit de résoudre les programmes (P) et (Q), représentés ci-dessus, en optimisant
les fonctions objectives par leurs quantités inconnues, pour ce faire nous allons faire appel
au logiciel de Matlab :

 Résolution du programme (P) :

Syntaxes sous Matlab

% Copier et coller dans un New script puis enregistrer sous object

function f= object(x)
f = - x(2);
end
%---------------------------------------------------------------------------------------------------------------
% Copier et coller dans New script puis enregistrer sous contrast

function [C,Ceq] = contrast(x)


c1 = x(1)^2 +2*x(2)^2 +3*x(1)*x(2)- 2*x(1)- 3*x(2) + 1;
c2 = x(1) + x(2) -1;
c3 = -x(1) - 2*x(2)-1;

C = [c1,c2,c3];
Ceq = [];
end
%---------------------------------------------------------------------------------------------------------------
% Copier et coller dans un New script puis enregistrer sous function

clear all
x0 = [0;0];
lb = [0;0]; % lb borne inferieur
ub = [+Inf;+Inf];% ub bornes superieur

[x,f] = fmincon(@object,x0,[],[],[],[],[lb],[ub],@contrast)
On obtient :
∗ 𝑥1∗ = 0
L’optimum est atteint au point A (0,1) 𝑓(𝑥) = - 1 avec { }
𝑥2∗ = 1

On obtient :
∗ 𝑥1 ∗ = 0
L’optimum est atteint au point A(0,1) qui minimise la fonction 𝑓(𝑥,𝑦) = -1 avec { }
𝑥2 ∗ = 1
Pour minimiser la fonction objectif (coût), il suffirait 0 quantité de 𝑥1 et une unité de
quantité de 𝑥2 .

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

12 :Page
 Résolution du programme (Q) :

Syntaxes sous Matlab

% Copier et coller dans un New script puis enregistrer sous object2

function f= object2(x)

z = x(1)^2 + x(2)^2;
f=-z;
end

%---------------------------------------------------------------------------------------------------------------
% Copier et coller dans un New script puis enregistrer sous contrast
function [C,Ceq] = contrast2(x)

c1 = x(1)^2 -2*x(1) + x(2)^2 ;


c2 = x(1)^2 + x(2)^2 - 2*x(2) ;

C = [];
Ceq = [c1,c2];

end

%---------------------------------------------------------------------------------------------------------------
% Copier et coller dans un New script puis enregistrer sous function

clear all
x0 = [0;0];
lb = [0;0]; % lb borne inferieur
ub = [+Inf;+Inf];% ub bornes superieur

[x,f] = fmincon(@object,x0,[],[],[],[],[lb],[ub],@contrast)

On obtient :
∗ 𝑥∗ = 1
L’optimum est atteint au point D (1,1) qui maximise la fonction 𝑓(𝑥,𝑦) = 2 avec { ∗ }
𝑦 =1
Pour maximiser la fonction objectif (profit), il suffirait une unité de quantité de 𝑥 ∗ et une
unité de quantité de 𝑦 ∗ .

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

13 :Page
Méthode 2 : Par Graphique

Syntaxes sous Matlab

>> optimtool
% on choisie dans solver : constrained nonlinaire minimization
% on saisie dans le champs objective fonction : @object
% on saisie dans le champs constraint function : @contrast
% on clique sur Start
% on clique dans options plot les graphes voulues

 On obtient après 40 itérations :

Figure 5 : Représentation graphique de programme d’optimisation (P) :

Source : Matlab, auteur, 2017

→ 𝐼𝑛𝑡𝑒𝑟𝑝𝑟𝑒𝑡𝑎𝑡𝑖𝑜𝑛:

Minimiser la fonction 𝑓1(x) revient à minimiser ses variables, elle atteint en un sommet du
polygône convexe des contraintes.

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

14 :Page
Dans le cadran Curent Function Value, on y voit après 40 itérations, la fonction objective qui
prend la valeur -1.

Par complémentarité d’information, le graphe en dessus intitulé Maximum Current Point donne
les valeurs des quantités 𝑥1 𝑒𝑡 𝑥2 optimisant la fonction objective, il s’agit de la coordonnée
des points (0,1).

𝑓(𝑥) = − 𝑥2 → 𝑓(0,1) = −1

Figure 6 : Représentation graphique de programme d’optimisation (Q) sous

Matlab:

Source : Matlab, auteur, 2017

→ 𝐼𝑛𝑡𝑒𝑟𝑝𝑟𝑒𝑡𝑎𝑡𝑖𝑜𝑛:

Maximiser la fonction 𝑓2 (x,y) revient à maximiser ses variables, elle atteint en un sommet du

polygône convexe des contraintes.

Dans le cadran Curent Function Value, on y voit, la fonction qui prend la valeur 2 à l’optimum.

Par complémentarité d’information, le graphe en dessus intitulé Maximum Current Point donne
les valeurs des quantités 𝑥1 𝑒𝑡 𝑥2 optimisant la fonction objective, il s’agit de la coordonnée
des points (1,1)
Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

15 :Page
Etude de cas 2 :

Eléments de Réponses

1) On considère le programme de maximisation de 𝑓(𝑥) ci-dessous:

Avec

Par écriture simplifiée du programme, on obtient l’équation mathématique ci-dessous:

𝑚𝑎𝑥𝑓(𝑥) = 𝑥12 + 𝑥22 + 𝑥32 + 𝑥42 + 𝑥52 + 𝑥62 + 𝑥72 − 𝑥1 − 𝑥2 − 𝑥3 − 𝑥4 − 𝑥5 − 𝑥6 − 𝑥7


(𝑃1 ) ∶ { }
𝑆. 𝐶. 𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 ≤ 1

Optimisation de programme non linéaire sous contrainte d’inégalité

Ici, il s’agit de maximiser la fonction objective (vue précédemment) sous sa contrainte

d’inégalité, étant par nature un morphisme non linéaire, on va résoudre ce programme à l’aide

du logiciel Matlab.

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

16 :Page
 Résolution de max (𝑷𝟏 ):

Syntaxes sous Matlab

% Copier et coller dans un New script puis enregistrer sous object


function f = object(x)

Z = x(1)^2 + x(2)^2+ x(3)^2 + x(4)^2 + x(5)^2 + x(6)^2 + x(7)^2 -


x(1)- x(2)- x(3)- x(4)-x(5)- x(6) - x(7);

f = -Z;
%--------------------------------------------------------------------------------------------------------------
-
% Copier et coller dans New script puis enregistrer sous contrast

function [C,Ceq] = contrast(x)

c1 = x(1) + x(2) + x(3) + x(4) + x(5)+ x(6)+ x(7)-1;

C=[c1];

Ceq = [];
end

%--------------------------------------------------------------------------------------------------------------
-
% Copier et coller dans un New script puis enregistrer sous function

clear all
x0 = zeros(7,1); %point initial
lb = [0;0;0;0;0;0;0];
ub = [+inf;+inf;+inf;+inf;+inf;+inf;+inf];
[x,f] = fmincon(@object,x0,[],[],[],[],lb,ub,@contrast)

On obtient :

L’optimum est atteint au point A (1/5,1/5, 1/5, 1/5, 1/5, 1/5, 1/5) qui maximise la fonction

𝑓(𝑥) = 1.4000 e-07 avec {𝑥1 = ⋯ = 𝑥7 = 1/5}

Pour maximiser la fonction objective (profit), il suffirait 1/5 d’unité pour toutes les quantités.

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

17 :Page
2) Soit le programme de maximisation ci-dessous :

Avec

Par écriture simplifiée du programme, on obtient l’équation mathématique ci-dessous:

1 1
𝑥2
𝑚𝑎𝑥𝑓(𝑥) = 2𝑥13 𝑥23 − 𝑥1 −
2

1 1
𝑥2
(𝑃2 ) ∶ { 𝑚𝑎𝑥𝑓(𝑥) = 2𝑥13 𝑥23 − 𝑥1 − }
2
𝑆. 𝐶. 𝑥1 + 𝑥2 ≤ 16

Optimisation de programme non linéaire sous contrainte d’inégalité

Encore une fois, il s’agit de maximiser la fonction objective sous sa contrainte d’inégalité, étant

par nature un morphisme non linéaire, on va résoudre le programme à l’aide du logiciel de

Matlab.

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

18 :Page
 Résolution de max(𝑷𝟐 ) :

Syntaxes sous Matlab

% Copier et coller dans un New script puis enregistrer sous object

function f = object2(x)

Z = 2*((x(1)^1/3)*(x(2)^1/3)) - x(1) - x(2)/2;


f = -Z;
end

%---------------------------------------------------------------------------------------------------------------
% Copier et coller dans New script puis enregistrer sous contrast

function [C,Ceq] = contrast2(x)


c1 = x(1) + x(2) -16;
C=[c1];
Ceq = [];
end

%---------------------------------------------------------------------------------------------------------------
% Copier et coller dans un New script puis enregistrer sous function

clear all

x0 = zeros(2,1); %point initial


lb = [0;0];
ub = [+inf;+inf];
[x,f] = fmincon(@object2,x0,[],[],[],[],lb,ub,@contrast2)

On obtient :


L’optimum est atteint au point A (2/5,4/5) qui maximise la fonction 𝑓(𝑥) = 8.000 e-07
2
avec {𝑥1 = 𝑒𝑡 𝑥2 = 4/5}
5

Pour maximiser la fonction objective (profit), il suffirait 2/5 d’unité pour la quantité 𝑥1 et
4/5 d’unité pour la quantité 𝑥2.

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

19 :Page

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

20 :Page
Figure 7 : Représentation graphique de programme d’optimisation (P1):

Sources : Matlab, auteur, 2017

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

21 :Page
Figure 8: Représentation graphique de programme d’optimisation (P2) :

Sources : Matlab, auteur, 2017

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)
PRAGRAMMATION Mathématique

22 :Page

Master Professionnel en
Méthodes Statistiques et Econométriques (MSE)

Vous aimerez peut-être aussi