Vous êtes sur la page 1sur 29

Programmation linéaire

Introduction à la théorie des graphes


Problèmes de transport
Ordonnancement de tâches

Mathématiques Appliquées à la Gestion

Dr Olivier ADOUKONOU

IAE La Rochelle
La Rochelle Université

Septembre 2019

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Programmation linéaire
Introduction à la théorie des graphes
Problèmes de transport
Ordonnancement de tâches

Objectifs du cours

Objectifs principaux :
Résoudre différents problèmes d’optimisation sous contraintes
Connaître les rudiments de la théorie des graphes
Organiser un planning d’exécution des tâches d’un projet

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Programmation linéaire
Introduction à la théorie des graphes
Problèmes de transport
Ordonnancement de tâches

Programme du cours

4 Chapitres :

1 Programmation linéaire
2 Problèmes de transport
3 Introduction à la théorie des graphes
4 Ordonnancement de tâches

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Programmation linéaire
Introduction à la théorie des graphes
Problèmes de transport
Ordonnancement de tâches

Volume horaire

30 heures :

15 heures de cours magistraux


15 heures de travaux dirigés

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Programmation linéaire
Introduction à la théorie des graphes
Problèmes de transport
Ordonnancement de tâches

Documentation

H. Hémici, M. Bounab. Techniques de gestion. Dunod 2016


M. Avenel, J-F. Riffault. Mathématiques appliquées à la gestion. Sup’FOUCHER
2007

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Mathématiques Appliquées à la Gestion

1 Programmation linéaire
Introduction
Présentation du problème
Modélisation du problème
Résolution graphique
Résolution par l’algorithme du simplexe
Le programme dual

2 Introduction à la théorie des graphes

3 Problèmes de transport

4 Ordonnancement de tâches

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Objectifs

Les objectifs du chapitre :

Résoudre graphiquement un problème d’optimisation sous contrainte


Résoudre un problème d’optimisation par l’algorithme du simplexe
Apprendre à utiliser le programme DUAL pour résoudre un problème de minimisa-
tion

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

La programmation linéaire

Programmation linéaire
La programmation linéaire est une méthode d’optimisation d’une fonction linéaire sous
contraintes.

On parle d’optimisation car on cherche soit à :


maximiser une fonction (marge, résultat, etc.)
minimiser une fonction (coûts de production, de transports, etc)

Deux conditions doivent être réunies :


la fonction à optimiser doit être linéaire
les contraintes doivent être également linéaires

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Exemple de problème d’optimisation sous contraintes

Cas :
Une entreprise utilise deux matières premières (M1 et M2 ) pour produire deux produits
(P1 et P2 ).
Le bénéfice est de 200 e par unité de P1 et de 150 e par unité de P2 .
Les quantités à produire dépendent de la disponibilité des matières premières. Le tableau
ci-dessous indique les quantités de matières premières en stock et les proportions requises
pour produire une unité de P1 et P2 .

P1 P2 Qtés disponibles
M1 2 1 80
M2 1 1 60
Problème : Quelles sont les quantités à produire pour maximiser le bénéfice ?

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Exemple de problème d’optimisation sous contraintes

Problème : On souhaite maximiser le bénéfice

Pour résoudre ce problème, on doit répondre au minimum aux questions ci-après :


Qu’est ce qu’on cherche à optimiser ?
Sur quelles variables doit-on travailler ?
Sous quelles contraintes ?

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Modélisation d’un problème d’optimisation sous contraintes

Trois étapes :

1 Définir les variables : x1 , x2 , ... xn , dont les valeurs recherchées permettent


d’atteindre l’optimum

2 Écrire la fonction objectif (ou fonction économique)

max ou min Z = z1 x1 + z2 x2 + ... + zn xn

Avec
zi : la marge ou le coût d’une unité de Xi

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Modélisation d’un problème d’optimisation sous contraintes

3 Écrire les contraintes du problème : (forme canonique)


a11 x1 + a21 x2 + ... + an1 xn ≤ C1
a12 x1 + a22 x2 + ... + an2 xn ≤ C2
a1n x1 + a2n x2 + ... + ann xn ≤ Cn

Dans bon nombre de programmes, il est nécessaire d’ajouter des contraintes de


non-négativité :
x1 , x2 , ...xn ≥ 0

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Modélisation d’un problème d’optimisation sous contraintes

Concernant l’exemple introductif :

Les variables : x1 et x2 les quantités de produits P1 et P2 à produire pour maximiser


le bénéfice
La fonction objectif : max Z = 200x1 + 150x2
Les contraintes :

2x1 + x2 ≤ 80
x1 + x2 ≤ 60
x1 ≥ 0
x2 ≥ 0

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Résolution du problème

Un programme linéaire peut être résolu de deux façons :

Résolution graphique :
simple à mettre en œuvre
valable pour des programmes à deux variables uniquement

Résolution par l’algorithme du simplexe :


programmes à plus de deux variables

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Résolution graphique

Mise en œuvre :

Représenter graphiquement les contraintes liées au programme linéaire


Repérer le champ des solutions admissibles : zone délimitée par l’intersection des
droites représentant les contraintes du programme
Tracer la droite de la fonction objectif (DZ )
Déplacer DZ parallèlement à elle-même :
jusqu’au point le plus éloigné du champ de solution (problème de maximisation)
jusqu’au point le plus proche du champ de solution (problème de minimisation)

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Résolution graphique

Dans le cas présenté :


Deux variables et deux contraintes
la résolution graphique est possible

Les contraintes :

2x1 + x2 ≤ 80
x1 + x2 ≤ 60

Ces contraintes sont représentées par deux droites D1 et D2 dont les équations sont :

2x1 + x2 = 80 (D1 )
x1 + x2 = 60 (D2 )

La fonction objectif est représentée par :

200x1 + 150x2 = 0 (Dz )

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Solution graphique

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Résolution graphique (plus de deux contraintes)


Le nombre de contraintes n’a pas d’incidence sur la méthode
Ajoutons une troisième contrainte au cas traité précédemment (limites sur une troisième
matière première) :
Les contraintes :

2x1 + x2 ≤ 80
x1 + x2 ≤ 60
1, 5x1 + x2 ≤ 65

Les contraintes sont désormais représentées par trois droites D1 D2 et D3 :

2x1 + x2 = 80 (D1 )
x1 + x2 = 60 (D2 )
1, 5x1 + x2 = 65 (D3 )

La fonction objectif est représentée par :

200x1 + 150x2 = 0 (Dz )

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Solution graphique (plus de trois contraintes)

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Résolution par l’algorithme du simplexe

La méthode du simplexe :
algorithme permettant de résoudre un programme linéaire
utile lorsque le nombre de variables est supérieur à 2

L’algorithme est mis en œuvre en plusieurs étapes :


1 Réécriture du programme sous sa forme standard
2 Construction du tableau initial
3 Construction des tableaux suivants
4 Identification de l’optimum

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Présentation des différentes étapes du simplexe

1 Réécriture du programme linéaire sous sa forme standard


les contraintes sont formulées sous forme d’égalité
des variables d’écart permettent de tenir compte des ressources non employées

Les contraintes :
a11 x1 + a21 x2 + ... + an1 xn + e1 = C1
a12 x1 + a22 x2 + ... + an2 xn + e2 = C2
a1n x1 + a2n x2 + ... + ann xn + en = Cn
On ajoutera les contraintes de non-négativité :

xi , ei ≥ 0

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Présentation des différentes étapes du simplexe

2 Construction du tableau initial


Écarts x1 x2 xi xn e1 e2 ej en Limites
e1 a11 a21 ai1 an1 1 0 0 0 C1
e2 a12 a22 ai2 an2 0 1 0 0 C2
ej a1j a2j aij anj 0 0 1 0 Cj
en a1n a2n ain ann 0 0 0 1 Cn
Marge/Coût z1 z2 zi zn 0 0 0 0 0
Avec :
xi : la variable d’intérêt Xi
Cj : la capacité maximale ou minimale du facteur j
aij : la quantité du facteur Cj associé à la variable Xi
ej : la variable d’écart liée au facteur j
zi : la marge ou le coût d’une unité de la variable d’intérêt Xi

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Présentation des différentes étapes du simplexe

3 Construction des autres tableaux

Chaque tableau est construit en utilisant les données du tableau précédent.

A partir du tableau précédent, identifier :


la colonne pivot :
I colonne de la variable ayant la plus grande marge
I cette variable entre dans la base

la ligne pivot :
I ligne de la variable où (C /Colonne pivot) est minimale
j
I cette variable sort de la base

le pivot : intersection entre la colonne pivot et la ligne pivot

Le tableau suivant est construit à partir de la ligne pivot identifiée précédemment :

pour la variable entrant dans la base : diviser les cellules de la ligne pivot par le pivot
pour les autres lignes : un calcul combinant les cellules de la ligne pivot et permettant
d’obtenir des valeurs nulles dans la colonne pivot

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Présentation des différentes étapes du simplexe

4 Identification de l’optimum :
On répète les opérations exposées à l’étape 3

l’optimum est atteint lorsque toutes les valeurs de la ligne "Marge/coût" sont négatives
ou nulles
le maximum/minimum est directement lu dans la dernière cellule du dernier tableau
les valeurs permettant d’atteindre cet optimum sont lues dans la dernière colonne (Li-
mites)

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Résolution par la méthode du simplexe

Résolution du cas introductif.

Le programme sous sa forme standard :


x1 et x2 les quantités des produits P1 et P2 à produire
La fonction objectif :

max 200x1 + 150x2

Les contraintes :

2x1 + x2 + e1 = 80
x1 + x2 + e2 = 60

x1 et x2 ≥ 0
e1 et e2 ≥ 0

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Résolution par la méthode du simplexe

Résolution du cas introductif.

Le tableau initial :
Écarts x1 x2 e1 e2 Limites C1 /Colonne Pivot
e1 2 1 1 0 80 80/2 = 40
e2 1 1 0 1 60 60/1 = 60
Marge 200 150 0 0 0 -

Colonne pivot : colonne x1 (marge est la plus élevée pour P1 ), x1 entre dans la base
Ligne pivot : Ci /Colonne pivot est la plus faible pour e1 qui sort de la base
Pivot : 2 (intersection de la ligne pivot et de la colonne pivot)

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Résolution par la méthode du simplexe

Résolution du cas introductif (suite)

D’après le tableau initial : x1 entre dans la base et e1 sort de la base. On doit donc
retrouver dans le tableau 2, x1 et e2 dans la colonne "Écarts".
Les opérations sont les suivantes :
Pour x1 : on divise l’ancienne ligne pivot e1 par le pivot (2)
Pour e2 , l’opération est e2 − 0, 5 × e1
Pour la marge , l’opération est (Marge − 100 × e1 )
Tableau 2
Écarts x1 x2 e1 e2 Limites C1 /Colonne Pivot
x1 1 0,5 0,5 0 40 40/0, 5 = 80
e2 0 0,5 -0,5 1 20 20/0, 5 = 40
Marge 0 50 -100 0 −8 000 -

Colonne pivot : colonne x2 (marge est la plus élevée pour P2 ), x2 entre dans la base
Ligne pivot : Ci /Colonne pivot est la plus faible pour e2 qui sort de la base
Pivot : 0,5 (intersection de la ligne pivot et de la colonne pivot)

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Résolution par la méthode du simplexe

Résolution du cas introductif (suite)

D’après le tableau 2 : x2 entre dans la base et e2 sort de la base. On doit donc retrouver
dans le tableau 3, x1 et x2 dans la colonne "Écarts".
Les opérations sont les suivantes :
Pour x2 : on divise l’ancienne ligne pivot e2 par le pivot (0,5)
Pour x1 , l’opération est x1 − e2
Pour la marge , l’opération est (Marge − 100 × e2 )
Tableau 3
Écarts x1 x2 e1 e2 Limites
x1 1 0 1 -1 20
x2 0 1 -1 2 40
Marge 0 0 -50 -100 −10 000
On remarque que toutes les valeurs des cellules de la dernière du tableau 3 sont négatives
ou nulles. L’optimum est atteint pour x1 = 20 et x2 = 40, quantités qui maximisent le
bénéfice (Z = 10 000)

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion


Introduction
Programmation linéaire Présentation du problème
Introduction à la théorie des graphes Modélisation du problème
Problèmes de transport Résolution graphique
Ordonnancement de tâches Résolution par l’algorithme du simplexe
Le programme dual

Résolution par la méthode du simplexe

Application 1 :
L’entreprise Oméga produit et vend trois tables de bureau : Tb1, Tb2 et Tb3 fabriquées
par deux employés Jean et Paul.
Jean ne peut travailler que 200 heures par mois alors que Paul peut fournir 300 heures
de travail mensuel.
Les marges unitaires sont respectivement de 80 e , 60 e et 80 e pour les tables Tb1,
Tb2 et Tb3.
Tb1 nécessite 4 heures de travail de Jean et 5 heures de Paul
Tb2 nécessite 2 heures de travail de Jean et 4 heures de Paul
Tb3 nécessite 6 heures de travail de Jean et 2 heures de Paul

Quelles quantités de tables Tb1, Tb2 et Tb3 Oméga doit-elle produire pour maximiser
sa marge ?

Dr Olivier ADOUKONOU Mathématiques Appliquées à la Gestion

Vous aimerez peut-être aussi