x 0

publicité
Introduction
Objet de la programmation mathématique, construction d'un modèle
mathématique, problème général de programmation mathématique et
classification, algorithme de résolution en programmation mathématique
et convergence, exemples.
Objet de la programmation mathématique
Une des branches de la recherche opérationnelle qui consiste à établir
la théorie et les méthodes de résolution des problèmes d'extremum
sur des ensembles définis par des contraintes linéaires et non linéaires
(égalités et inégalités).
Approche quantitative où l'on s'intéresse à maximiser ou minimiser une
fonction objective qui mesure la performance ou la "qualité" de notre
décision.
Permet de résoudre des problèmes de gestion et particulièrement ceux
où le gestionnaire doit déterminer, face à différentes possibilités,
l'utilisation optimale des ressources de l'entreprise pour atteindre un
objectif spécifique comme la maximisation des bénéfices ou la
minimisation des coûts.
Des contraintes peuvent exister limitant le choix des valeurs des
variables.
Domaines d’application les plus divers :
- la gestion et le planning industriels,
- l'établissement des projets et la planification à long terme,
- le domaine militaire, etc.
Étapes dans le processus de décision
1ière étape :
Construire un modèle qualitatif du problème envisagé, i.e. relever les
facteurs les plus importants et établir les lois qui les régissent.
2ième étape :
Construire un modèle mathématique du problème envisagé, i.e.
traduire le modèle qualitatif en langage mathématique.
Comprend également la construction d'une fonction économique des
variables dont la valeur maximale (ou minimale) correspond à la
meilleure situation du point de vue du décideur.
3ième étape :
Construction et implantation d’algorithmes de résolution efficaces.
4ième étape :
Vérifier les résultats obtenus par le critère de la pratique.
De la sorte, on établit à cette étape dans quelle mesure le modèle et
l'objet de simulation s'accordent dans les limites de la précision de
l'information initiale.
Construction d’un modèle mathématique
Problème général de programmation mathématique
Minimiser f(x)
sujet à :
gi(x) = 0,
hj(x) ≤ 0,
xS
i = 1, 2, ..., m
j = 1, 2, ..., r
(P)
où
x = (x1, x2, ..., xn)  n désigne les inconnus,
f, gi et hj sont des fonctions de n dans ,
S est un sous-ensemble de l'espace n.
Dans cette classe de problèmes, toute l'information est complètement
définie.
Par opposition, la programmation stochastique concerne les problèmes
dans lesquels l'information comporte des éléments indéterminés,
ou bien les problèmes dont certains paramètres sont aléatoires mais
définis par des caractéristiques probabilistes connues.
Classification
Programmation linéaire :
La fonction économique f(x) est linéaire;
l'ensemble sur lequel on cherche l'extremum de cette fonction est
donné par un système linéaire d'égalités et d'inégalités.
Note :
PL comporte des classes de problèmes dont la structure permet
d'établir des méthodes spéciales pour leur résolution, bien plus
avantageuses que celles relatives aux problèmes de forme générale.
Ainsi, on a vu apparaître dans la programmation linéaire la classe
des problèmes de transport.
Classification
Programmation non linéaire :
La fonction économique et les contraintes sont non linéaires.
Programmation convexe :
La fonction économique et l’ensemble des solutions réalisables
sont convexes.
Programmation quadratique :
La fonction économique est quadratique et les contraintes sont
linéaires.
Programmation en nombres entiers :
Les variables sont soumises à la contrainte d’intégralité :
x  S, entiers.
But de la programmation mathématique :
de fournir là où c'est possible des méthodes analytiques de
résolution, ou, à défaut de telles méthodes, ce qui est
habituellement le cas, de créer des procédés de calcul efficaces
pour obtenir une solution approchée.
Solution du problème (P) :
tout vecteur x vérifiant les contraintes.
Solution optimale du problème (P) :
une solution qui minimise la fonction objective f(x) sur
l'ensemble de toutes les solutions.
Optimum locaux
On dit qu'un vecteur x0 est un optimum local de (P) si et seulement si
il existe un voisinage V(x0) de x0 tel que x0 soit un optimum global du
problème:
Minimiser f(x)
sujet à :
gi (x) = 0,
i = 1, 2, 3, ..., m
hj (x) ≤ 0,
j = 1, 2, 3, ..., r
x  S  V(x0).
Dans bien des cas, il est possible de donner des conditions nécessaires
et/ou suffisantes pour qu'une solution x soit un optimum local.
Par contre, il est généralement impossible de caractériser les optimums
globaux d'un problème d'optimisation sauf dans le cas très particulier
des programmes mathématiques convexes.
Ceci explique la difficulté de résoudre des programmes non convexes,
et, entre autres, des problèmes d'optimisation en nombres entiers.
Convergence d’un algorithme de résolution
La plupart des méthodes de résolution des problèmes d'optimisation
sont de nature itérative, i.e. qu'à partir d'un point initial donné x0, ils
engendrent une suite potentiellement infinie de points x0, x1, ..., xk, ...
dont on espère qu'elle converge vers l'optimum cherché.
Un algorithme de résolution est un procédé qui permet, à partir de la
donnée du point initial x0, d'engendrer la suite x1, x2, ..., xk, ...
Un algorithme est globalement convergent si, quelque soit le point
de départ x0 choisi, la suite {xk} converge vers un point satisfaisant
une condition nécessaire d'optimalité.
Elle n'implique pas la convergence vers un optimum global pour tout
point de départ x0 ce qui serait trop sévère.
Un algorithme qui possède la propriété de convergence globale avec
une condition de convexité nous assure la convergence de l'algorithme
vers un optimum global du problème, quel que soit le point de départ.
Exemple :
2
-x
e
Considérons la fonction s(x) = qui a un minimum unique en x=0,
2
et dont la dérivée s'(x) = 2 x e-x est représentée ci-dessous.
Si l'on prend x0 trop éloigné de 0 (par exemple x0 = 1), la méthode de
Newton engendre une suite de points xk tendant vers l'infini.
Efficacité d’un algorithme de résolution
Du point de vue pratique, cela dépend du # d'itérations nécessaires pour
obtenir une approximation à e près (e fixé à l'avance) de l'optimum x*.
Si l'on compare entre eux plusieurs algorithmes, et si l'on admet que le
temps de calcul par itération est sensiblement le même pour tous, le
meilleur est celui qui nécessitera le plus petit nombre d'itérations.
Malheureusement, il se révèle impossible de dégager des conclusions
générales de ce genre de comparaison. Suivant le point de départ choisi,
la nature de la fonction à optimiser, la valeur de la tolérance choisie, la
hiérarchie des algorithmes peut varier considérablement.
Convergence asymptotique
On veut dégager un critère ayant une certaine valeur d’absolu.
C’est l’étude du comportement de la suite {xk} au voisinage
du point limite x*.
Posons
L=
lim sup ||xk+1 – x*||.
k   ||xk – x*||
Convergence linéaire avec un taux  < 1 ( = 1) :
L
Convergence superlinéaire ( = 1) :
L0
Convergence quadratique ( = 2) :
L0
Problème du restaurateur
D'après le choix donné des produits, la valeur nutritive de chacun d'eux
étant connue de même que leur prix, composer des rations satisfaisant
aux besoins tout en réduisant au minimum les frais.
Soient n aliments différents et
m substances nutritives (graisses, glucides, vitamines, etc.),
Désignons par :
aij :
la teneur (en unités de poids) de la jième substance
dans le iième aliment;
bj :
la quantité quotidienne minimale nécessaire de la
jième substance;
xi :
la consommation quotidienne du iième aliment.
Il est évident que xi ≥ 0.
n
 aijxi : la teneur totale dans la ration de la jième substance,
i=1
cette teneur ne doit pas être inférieure à la quantité minimale bj :
n
 aijxi  bj, j = 1, 2, …, m.
i=1
ci : prix unitaire du iième aliment,
n
 cixi : le prix de toute la ration,
i=1
Modèle mathématique
min
n
 c ix i
i=1
sous les conditions
n
 aijxi  bj,
i=1
j = 1, 2, …, m.
xi ≥ 0 i = 1, 2, …, n.
Problème de transport
Il consiste à composer le programme du trafic d'un bien homogène
de façon que le coût total du transport soit minimal
ai la quantité du bien disponible à la iième origine (i = 1, 2, ..., m);
bj la demande au jième point de destination (j = 1, 2, ..., n);
cij le coût unitaire du transport du bien de la iième origine à la jième
destination;
xij la quantité du bien expédié de l'origine i à la destination j.
m
n

 cijxij : coût total du transport,
i=1
j=1
n
 xij : quantité du bien livré par la iième origine,
j=1
m
 xij : quantité du bien reçu par la jième destination,
i=1
Modèle mathématique
L’affectation des machines à des produits non complémentaires
Un atelier dispose de 4 machines i (i = 1, 2 , 3, 4) — un tour, une
fraiseuse, une perceuse, etc. — sur lesquelles cinq produits différents j
(j = 1, 2, 3, 4, 5) doivent être fabriqués.
Hypothèse : le marché est en mesure d'absorber des quantités illimitées
de chacun de ces produits,
il n'y a pas de temps de réglage lorsqu'une machine passe
d'un produit à l'autre.
pj : le profit unitaire résultant de la vente de j,
aij : la durée nécessaire (h.) pour réaliser le produit j sur la machine i,
hi : le # total d'heures disponibles mensuellement sur la machine i.
xj : le # d'unités de chaque produit à fabriquer mensuellement pour
rendre maximal le profit total.
5
 aijxj  hi,
j=1
i = 1, 2, 3, 4
5
max  pjxj
j=1
xj ≥ 0 j = 1, 2, …, 5.
le temps disponible sur chaque
machine ne doit pas être dépassé
Maximiser le profit.
L’affectation des machines à des produits complémentaires
Imaginons une entreprise qui fabrique n produits j.
La fabrication d'une unité du produit k (k ≠ j) emploie ajk unités du
produit j.
Une unité de j est vendue aj francs.
xj le nombre d'unités fabriquées,
yj le nombre d'unités vendues,
bij le % de la capacité de la machine i nécessaire pour fabriquer une
unité de j
cj le coût de fabrication d'une unité de j
xj -
 ajkxk - yj = 0,
j = 1, 2, …, n.
kj
Ce qui a été fabriqué de j est totalement employé, soit
pour la fabrication d’un produit k, soit pour la vente.
n
 bijxj  100, i = 1, 2, …, m
j=1
L’utilisation de chaque machine ne peut dépasser sa
capacité.
On doit maximiser le profit :
n
 (ajyj - cjxj).
j=1
Téléchargement