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.
1 ière étape : Étapes dans le processus de décision 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. 2 iè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. 3 ième étape : Construction et implantation d algorithmes de résolution efficaces.
4 iè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 à : g i (x) = 0, i = 1, 2,..., m h j (x) 0, j = 1, 2,..., r x S où x = (x 1, x 2,..., x n ) R n désigne les inconnus, f, g i et h j sont des fonctions de R n dans R, S est un sous-ensemble de l'espace R 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.
Programmation linéaire : Classification 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 x 0 est un optimum local de (P) si et seulement si il existe un voisinage V(x 0 ) de x 0 tel que x 0 soit un optimum global du problème: Minimiser f(x) sujet à : g i (x) = 0, i = 1, 2, 3,..., m h j (x) 0, j = 1, 2, 3,..., r x S V(x 0 ). 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é x 0, ils engendrent une suite potentiellement infinie de points x 0, x 1,..., x k,... 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 x 0, d'engendrer la suite x 1, x 2,..., x k,... Un algorithme est globalement convergent si, quelque soit le point de départ x 0 choisi, la suite {x k } 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 x 0 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 x 0 trop éloigné de 0 (par exemple x 0 = 1), la méthode de Newton engendre une suite de points x k 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 à ε près (ε 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 {x k } au voisinage du point limite x*. Posons L = lim sup x k+1 x*. k x k 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 : a ij : la teneur (en unités de poids) de la j ième substance dans le i ième aliment; b j : la quantité quotidienne minimale nécessaire de la j ième substance; x i : la consommation quotidienne du i ième aliment. Il est évident que x i 0.
n a ij x i i=1 : la teneur totale dans la ration de la j ième substance, cette teneur ne doit pas être inférieure à la quantité minimale b j : n a ij x i b j, j = 1, 2,, m. i=1 c i : prix unitaire du i ième aliment, n c i x i i=1 : le prix de toute la ration,
min n c i x i i=1 Modèle mathématique sous les conditions n a ij x i i=1 b j, j = 1, 2,, m. x i 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 a i la quantité du bien disponible à la i ième origine (i = 1, 2,..., m); b j la demande au j ième point de destination (j = 1, 2,..., n); c ij le coût unitaire du transport du bien de la i ième origine à la j ième destination; x ij la quantité du bien expédié de l'origine i à la destination j. m n i=1 c ij x ij j=1 : coût total du transport, n x ij j=1 : quantité du bien livré par la i ième origine, m x ij i=1 : quantité du bien reçu par la j iè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. p j : le profit unitaire résultant de la vente de j, a ij : la durée nécessaire (h.) pour réaliser le produit j sur la machine i, h i : le # total d'heures disponibles mensuellement sur la machine i. x j : le # d'unités de chaque produit à fabriquer mensuellement pour rendre maximal le profit total.
5 a ij x j j=1 h i, i = 1, 2, 3, 4 le temps disponible sur chaque machine ne doit pas être dépassé max 5 p j x j j=1 Maximiser le profit. x j 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 a jk unités du produit j. Une unité de j est vendue a j francs. x j le nombre d'unités fabriquées, y j le nombre d'unités vendues, b ij le % de la capacité de la machine i nécessaire pour fabriquer une unité de j c j le coût de fabrication d'une unité de j x j - a jk x k -y j = 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 b ij x j j=1 100, i = 1, 2,, m L utilisation de chaque machine ne peut dépasser sa capacité. On doit maximiser le profit : n (a j y j -c j x j ). j=1