Vous êtes sur la page 1sur 9

2 Modélisation mathématique

1. Introduction
La modélisation est une étape primordiale dans une démarche de formalisation et de résolution
d’un problème de Recherche Opérationnelle, en abrégé RO. Il y a beaucoup de types différents
de modèles mathématiques (modèles linéaires, graphes, flots, etc), mais nous nous focaliserons
dans ce chapitre sur les modèles linéaires.
Afin de familiariser les étudiants avec les modèles de la programmation linéaire, nous allons
détailler les différentes étapes de modélisation sur quelques exemples classiques de problèmes
de RO rencontrés dans l’entreprise ou ailleurs.
Avant de résoudre un problème de RO, il faut bien commencer par sa traduction en langage
mathématique. Un modèle mathématique, telle que considéré dans ce chapitre, est une
construction mathématique utilisée pour représenter certains aspects significatifs de problèmes
du monde réel. Notons que nous ne nous intéressons qu’aux modèles d’optimisation, et plus
particulièrement aux modèles linéaires.

2. Quelques exemples de base


3.1. L’écriture du modèle mathématique est l’étape la plus délicate de la résolution d’un
problème. Elle nécessite un effort de conception qui doit aboutir à la détermination des trois
composantes principales dans un modèle d’optimisation :

— Variables : elles représentent les composantes du modèle qui peuvent être modifiées pour
créer des configurations différentes.
— Fonction objectif : cette fonction assigne une valeur à chaque configuration différente. Le
terme "objectif" vient du fait que l’objectif est d’optimiser cette fonction.
— Contraintes : elles décrivent les relations entre les variables représentant les restrictions
auxquelles est sujette le problème à modéliser.

2.1. Problème de production 1


L’entreprise XYZ fabrique deux produits A et B, en utilisant une machine M et deux matières
premières P et Q. On dispose chaque jour de 8 heures de M, de 10 kg de P et de 36 kg de
Q. La production d’une unité de A nécessite 2 kg de P et 9 kg de Q, et utilise la machine M
durant une heure. La production d’une unité de B nécessite 2 kg de P et 4 kg de Q, et utilise
la machine M durant 2 heures. Les profits réalisés sont de 50 DH (Dirhams) par unité de A et
60 DH par unité de B.
L’objectif de l’entreprise est de maximiser le profit qu’elle pourra tirer, par jour, de ces deux
produits en utilisant au mieux ses ressources.

© Hachimi 2020 • Recherche Opérationnelle


2 Modélisation mathématique 2

Ecriture du modèle :
Tout d’abord on va résumer les données de l’énoncé du problème dans un tableau puis on
passera à la modélisation.
A B Disponible
M 1h 2h 8h
P 2 kg 2 kg 10 kg
Q 9 kg 4 kg 36 kg
Profit unitaire 50 DH 60 DH

A) Variables
Quelles sont les informations dont doit disposer le directeur de l’entreprise XYZ pour
considérer que son problème est résolu ? Il suffit de connaître la quantité du produit A et
la quantité du produit B à fabriquer quotidiennement, n’est-ce pas ? Agissons comme si ces
quantités nous étaient connues et dénotons-les par :

x1 = la quantité du produit A à produire


x2 = la quantité du produit B à produire
Les variables x1 et x2 sont dites variables de décision.

B) Fonction objectif
Quel profit l’entreprise XYZ retirera-t-elle de la vente de ces deux produits ? Il s’agit
d’additionner les bénéfices à tirer de chacun des deux produits :
— pour le produit A, elle retire 50 DH par unité et en fabrique x1 unités ; cette production lui
rapporte donc un profit de (50 x1 ) DH ;
— de même, la quantité x2 du produit B lui permet de faire un profit de (60 x2 ) DH.
Le profit total à tirer des deux produits s’élève donc à :

(50 x1 + 60 x2 ) DH

Nous dénoterons ce profit total par z et laisserons implicite l’unité monétaire :

z = 50 x1 + 60 x2

Nous cherchons évidemment à rendre z aussi grand que possible en donnant à x1 et x2 des
valeurs appropriées.
La grandeur z est une fonction qui, à chaque plan de production (Quantité de A, Quantité
de B), associe le nombre de dirhams que l’entreprise retirerait comme profit si elle adoptait ce
plan. Cette fonction z, qui traduit l’objectif de notre problème, s’appelle fonction objectif ou
fonction économique. Et, comme nous cherchons à rendre z aussi grand que possible, nous
écrivons :
Maximiser z où z = 50 x1 + 60 x2
ce que généralement l’on convient d’abréger comme suit :

Max z = 50 x1 + 60 x2

© Hachimi 2020 • Recherche Opérationnelle


2 Modélisation mathématique 3

C) Contraintes
S’il ne s’agissait pour l’entreprise XYZ que de maximizer z, il suffirait de laisser augmenter
x1 ou x2 pour que z prenne une valeur aussi grande qu’elle le souhaite. Il y a bien sûr
des empêchements naturels liés à la rareté à la rareté des facteurs de production, appelés
contraintes, qui freinent le rêve d’un profit infini. Prenons en considération tour à tour chacune
des contraintes.
— Contrainte relative à la machine M : Il faut 1 h de machine par unité de A, et 2 h par unité
de B ; il faudra donc en tout (1x1 + 2x2 ) heures de machine, ceci devant rester inférieur ou égal
aux 8 h disponibles, d’où :
x1 + 2x2 6 8 (M)
On emploie le signe « 6 », et non « = », car il n’est pas obligatoire que toutes les heures
disponibles soient utilisées pour la fabrication des produits et , bien qu’il ne soit pas interdit
qu’il en soit ainsi.
— Contraintes relatives aux matières premières P et Q : En s’inspirant de la contrainte relative
à la machine, ces contraintes s’écrivent tout naturellement :

2x1 + 2x2 6 10 (P)


9x1 + 4x2 6 36 (Q)

Notons qu’on peut simplifier l’inégalité (P) en écrivant :

x1 + x2 6 5 (P)

— Contraintes de non-négativité : Elles expriment que la quantité à produire, de chacun des


produits A et B, ne peut pas être une valeur négative :

x1 > 0, x2 > 0,

Le modèle se résume ainsi : 



 Max z = 50x1 + 60x2


x1 + 2x2 6 8



(P) x1 + x2 6 5

9x1 + 4x2 6 36





x1 , x2 > 0

2.2. Problème de de production 2


L’entreprise UVW de fabrication de chassis envisage la production de deux nouveaux modèles
au moyen des capacités de ses trois ateliers. Il s’agit respectivement d’un chassis en aluminium
et d’un chassis en bois. Le premier produit nécessite le passage dans le premier atelier pour
fabriquer le cadre en aluminium et dans le troisième atelier où le verre est monté sur le chassis.
Tandis que le second produit nécessite le passage dans le deuxième atelier pour fabriquer le
cadre en bois et dans le troisième atelier où le verre est monté sur le chassis.
Les profits unitaires, les temps de fabrication de chacun des produits dans chacun des ateliers
ainsi que les capacités hebdomadaires de ces ateliers sont donnés au tableau suivant :

© Hachimi 2020 • Recherche Opérationnelle


2 Modélisation mathématique 4

Produit 1 Produit 2 Capacité disponible


(heures/produit) (heures/produit) (heures/semaine)
Atelier 1 1 0 4
Atelier 2 0 2 12
Atelier 3 3 2 18
Profit 300 DH 500 DH

L’entreprise UVW voulait qu’on l’aide à déterminer le nombre à produire de chaque type de
chassis (nombre de lots par semaine) de façon à maximiser le profit total.

Ecriture du modèle :
Aider l’entreprise UVW à résoudre son problème, c’est d’abord modéliser ce problème sous
forme d’un modèle d’optimisation.

A) Variables
Quelles sont les quantités de chassis que l’entreprise devrait produire par semaine, si elle veut
maximiser son profit ? Les variables de décision seront :

x1 = nombre de chassis de type 1 à produire par semaine


x2 = nombre de chassis de type 2 à produire par semaine

B) Fonction objectif
Le fonction objectif est le profit total, qui vaut 300 x1 + 500 x2 , en l’exprimant en dirhams. Nous
voulons maximiser ce profit :
Max z = 300 x1 + 500 x2

C) Contraintes
Les contraintes concernent tout d’abord les capacités de production :

x1 6 4 (A1)
2x2 6 12 (A2)
3x1 + 2x2 6 18 (A3)

Viennent ensuite les contraintes de non-négativité :

x1 > 0, x2 > 0,

Ainsi, le problème de planification de la production de chassis se traduit par le modèle linéaire


suivant :


 Max z = 300x1 + 500x2




 x1 6 4 (atelier 1) (A1)
2x2 6 12 (atelier 2) (A2)

(P)


 3x1 + 2x2 6 18 (atelier 3) (A3)
x1 > 0





x2 > 0

© Hachimi 2020 • Recherche Opérationnelle


2 Modélisation mathématique 5

2.3. Problème de mélange


Un agriculteur souhaite que son troupeau consomme la plus faible ration quotidienne de trois
éléments nutritifs A, B et C. Les exigences quotidiennes sont de 16 pour A, 12 pour B et 18
pour C. L’agriculteur achète de types d’aliments P et Q. Une unité de P comprend 2 unités de
A, 1 unité de B et 1 unité de C ; et elle coûte 20 DH. Une unité de Q comprend 1 unité de A,
1 unité de B et 3 unités de C ; et elle coûte 40 DH.
L’agriculteur cherche la combinaison la moins coûteuse des quantités de P et Q qui respectera
l’exigence de consommation minimale d’éléments nutritifs.

Ecriture du modèle :
Tout d’abord on va résumer les données de l’énoncé du problème dans un tableau puis on
passera à la modélisation. Le tableau suivant résume les données afférentes à ce problème :

P Q Besoins minimaux
A 2 1 16
B 1 1 12
C 1 3 18
Coût unitaire 20 DH 40 DH

A) Variables
Quelles sont les quantités d’aliments que l’agriculteur devrait acheter, s’il veut minimiser son
le coût ? Les variables de décision seront :
x1 = quantité d’aliment P qu’il faut acheter
x2 = quantité d’aliment Q qu’il faut acheter

B) Fonction objectif
Le fonction objectif est le coût total, qui vaut 300 x1 + 500 x2 , en l’exprimant en dirhams. Nous
voulons minimiser ce coût :
Min z = 20 x1 + 40 x2

C) Contraintes
Chacun des trois éléments nutritifs à considérer donne lieu à une contrainte, qui vise à exiger
que les aliments, dans leur ensemble, satisfassent les besoins quotidiens du troupeau. On
obtient :

2x1 + x2 > 16 (A)


x1 + x2 > 12 (B)
x1 + 3x2 > 18 (C)

Les contraintes ci-dessus emploie le signe « > » parce qu’il faut respecter les exigences de
consommation minimales, mais que celles-ci peuvent être dépassées.
Enfin, il faut pas oublier qu’on peut pas acheter des quantités négatives de P ou Q :

x1 > 0, x2 > 0

© Hachimi 2020 • Recherche Opérationnelle


2 Modélisation mathématique 6

Le modèle se résume ainsi : 



 Min z = 20x1 + 40x2


2x1 + x2 > 16



x1 + x2 6 12

x1 + 3x2 6 18





x1 , x2 > 0

2.4. Problème de transport


L’entreprise AgaTans possède deux usines et trois clients. La production des usines est
respectivement de 350 et 450 unités. L’entreprise doit acheminer vers ces clients respectivement
200, 300 et 50 unités.
Les coûts de transport de chaque usine i (i = 1, 2) vers chaque client j (j = 1, 2, 3) sont donnés
dans le tableau ci-dessous :

Par exemple, le coût c12 de transport de l’usine 1 vers le client 2 est égal à 17, soit c12 = 17.
L’objectif de l’entreprise est de minimiser le coût de transport des produits acheminés des
usines vers les clients.

Ecriture du modèle :
Afin de mieux comprendre le problème, nous pouvons le représenter sous forme d’un
diagramme comme suit. Les lignes qui relient les usines aux clients peuvent être considérées
comme des routes. On y indique leur coût de transport unitaire respectif.

Pour écrire le modèle de ce problème, l’opération la plus importante et la plus délicate consiste
à trouver la bonne indexation des variables.

A) Variables
Le choix des variables est imposé par les notations de l’énoncé du problème. Aux données cij ,
on associe les variables xij :

xij = nombre d’unités transportées de l’usine i vers le client j

© Hachimi 2020 • Recherche Opérationnelle


2 Modélisation mathématique 7

B) Fonction objectif
Le fonction objectif n’est autre que la somme des coûts de transport :

Min z = 25 x11 + 17 x12 + 16 x13 + 24 x21 + 18 x22 + 14 x23

C) Contraintes
Comme il est impossible d’expédier plus d’unités d’une usine donnée qu’il n’y en a de
disponibles, nous sommes confrontés aux deux contraintes (contraintes d’offre) :

x11 + x12 + x13 6 350 (U1 )


x21 + x22 + x23 6 450 (U2 )

De plus, il faut approvisionner chacun des trois clients avec la quantité requise, ce qui nous
donne trois nouvelles contraintes :

x11 + x21 = 200 (C1 )


x12 + x22 = 300 (C2 )
x13 + x23 = 50 (C3 )

Comme il n’est pas possible d’expédier des quantités négatives, nous avons encore les six
contraintes de non-négativité suivantes :

xij > 0, i = 1, 2 et j = 1, 2, 3

Finalement, le programme linéaire à résoudre est :




 Min z = 25 x11 + 17 x12 + 16 x13 + 24 x21 + 18 x22 + 14 x23





 x11 + x12 + x13 > 350
x21 + x22 + x23 > 450



x11 + x21 = 200

x12 + x22 = 300




x13 + x23 = 50






xij > 0, i = 1, 2 et j = 1, 2, 3

3. Les modèles de la programmation linéaire


La programmation linéaire est un outil très important de la RO. C’est un outil générique qui
peut résoudre un grand nombre de problèmes du monde de la gestion. En effet, une fois un
problème modélisé sous la forme d’un modèle linéaire, il existe toute une gamme de méthodes
efficaces qui assurent la résolution de ce modèle.

3.1. Forme d’un programme linéaire


Les modèles utilisés pour traduire les problèmes de la section en langage mathématique sont
qualifiés de linéaires. D’une façon générale, un programme linéaire consiste à optimiser

© Hachimi 2020 • Recherche Opérationnelle


2 Modélisation mathématique 8

(maximiser ou minimiser) une fonction linéaire de n variables, ces variables étant assujetties à
respecter un ensemble de m contraintes également linéaires.
La forme la plus générale d’un problème de la programmation linéaire (on dit aussi programme
linéaire) est la suivante :


 optimiser z = c1 x1 + c2 x2 + · · · + cn xn


  
6


 ai1 x1 + ai2 x2 + · · · + ain xn = bi i = 1, . . . , m
 
>





 xj > 0, i = 1, . . . , n

Cette forme générale peut être simplifiée : il est en effet possible de ramener le modèle ci-dessus
à des formes plus compactes, mais équivalentes, en particulier aux formes dites "canonique" et
"standard". Il faut tout d’abord noter qu’il est toujours possible de ramener :
— un problème de minimisation à un problème de maximisation et inversement. En fait,
on a :
Min z = − Max − z

— toute inégalité de type supérieur ou égal (>) à une inégalité de type inférieur ou égal (6)
et inversement ; il suffit de la multiplier par −1. En fait, soit a et b deux réels, on a :

a6b ←→ −a > −b

— toute égalité à deux inégalités de type que l’on veut (6 ou >). En fait, soit a et b deux réels,
on a :
     
a>b a>b −a 6 −b
a = b ←→ ←→ ←→
a6b −a > −b a6b

— toute inégalité à une égalité et ceci par l’introduction de variables d’écart non négatives.
En fait, soit a et b deux réels, on a :

a6b ←→ a + c = b où c > 0
a>b ←→ a − c = b où c > 0

— une variable de signe quelconque à être non négative en l’écrivant comme différence de
deux variables positives. En fait, soit a réel, on a :

a = a0 − a00 où a0 > 0 et a00 > 0

Forme canonique
En programmation linéaire, un problème de maximisation est mis sous forme canonique s’il
s’écrit comme :


 maximiser z = c1 x1 + c2 x2 + · · · + cn xn

ai1 x1 + ai2 x2 + · · · + ain xn 6 bi i = 1, . . . , m


xj > 0, i = 1, . . . , n

© Hachimi 2020 • Recherche Opérationnelle


2 Modélisation mathématique 9

De même, un problème de minimisation est mis sous forme canonique s’il s’écrit comme :


 minimiser z = c1 x1 + c2 x2 + · · · + cn xn

ai1 x1 + ai2 x2 + · · · + ain xn > bi i = 1, . . . , m


xj > 0, i = 1, . . . , n

En notation vectorielle, la forme canonique est donc :


 

 Max z = cx  Min z = cx

A6b ou A>b
 
x> 0 x> 0
 

Forme standard
Pour obtenir la forme standard d’un programme linéaire, il faut transformer toutes les
contraintes d’inégalités en des égalités. Un problème de programmation linéaire est mis sous
forme standard s’il s’écrit comme :
 

 Max z = cx  Min z = cx

A=b ou A=b
 
x> 0 x> 0
 

La forme standard sera celle généralement utilisée pour la description des algorithmes ; en
particulier l’algorithme du simplexe.
Si on a un programme linéaire sous une forme quelconque, on peut en effet toujours le réécrire
sous une autre forme moyennant des éventuelles transformations. Certaines transformations
présentent malheureusement l’inconvénient d’augmenter le nombre des contraintes et des
variables.

3.2. Terminologie
Pour un programme, mis sous forme canonique ou standard, on appellera :

— Solution réalisable tout vecteur x satisfaisant toutes les contraintes (y compris celles de
non-négativité)
— Solution optimale toute solution réalisable optimisant la fonction objectif.
— Région réalisable l’ensemble des solutions réalisables.

© Hachimi 2020 • Recherche Opérationnelle

Vous aimerez peut-être aussi