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, i = 1, 2, ..., m hj(x) ≤ 0, j = 1, 2, ..., r x S 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. (P) 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 : Considérons la fonction s(x) = - e-x2 qui a un minimum unique en x=0, et dont la dérivée s'(x) = 2 x e-x2 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 n cixi i=1 min sous les conditions n aijxi bj, j = 1, 2, …, m. i=1 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 i=1 j=1 : coût total du transport, n xij j=1 : quantité du bien livré par la iième origine, m xij i=1 : quantité du bien reçu par la jième destination,
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, i = 1, 2, 3, 4 le temps disponible sur chaque j=1 machine ne doit pas être dépassé 5 pjxj j=1 max Maximiser le profit. xj ≥ 0 j = 1, 2, …, 5.
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. kj 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