Vous êtes sur la page 1sur 195

INSTITUT D’ENSIGNEMENT SUPERIEUR DE PROMOTION

SOCIALE

MARCHE-EN-FAMENNE

MATHEMATIQUES APPLIQUEES

DENIS CLARINVAL

2011­2012

compta-excellant.be
MATHEMATIQUES APPLIQUEES A L’INFORMATIQUE

CONTENU DU COURS

L’ALGEBRE LINEAIRE.

 La résolution des systèmes d’équations linéaires à l’aide de l’inversion des matrices.


 La méthode gaussienne de résolution à l’aide des matrices augmentées.
 La règle de CRAMER dans la résolution des systèmes d’équations linéaires.

L’OPTIMISATION SOUS CONTRAINTES.

 Introduction : rappel de quelques règles de dérivation.


 Le hessien bordé et l’optimisation sous contraintes d’égalité.
 L’optimisation sous contrainte d’inégalité et les conditions de KUHN-TUCKER.
 La programmation linéaire à l’aide du simplex.
 Le dual et le primal.
 La programmation linéaire en nombres entiers.
 L’analyse postoptimale
 Applications spécifiques : problèmes de transport et de réseau.
 Présentation du logiciel LINGO 10.0 pour la programmation linéaire et non linéaire.

LA THEORIE DES GRAPHES.

 Cadre conceptuel.
 Problèmes d’ordonnancement.

L’ALGEBRE DE BOOLE ET LES CIRCUITS LOGIQUES.

 Présentation de l’algèbre de Boole : notation, tables de vérité, règles de simplification


et tables de KARNAUGH.
 Les circuits logiques (logiciel Digital Works 2.0).

LES CHANGEMENTS DE BASE.

EVALUATION.

Il sera demandé aux étudiants de réaliser 6 « devoirs » ; chacun de ces devoirs sera évalué sur
un total de 10 points. Le total des points obtenus constituera la cote du travail journalier (60 %
de la cote finale). L’examen final (écrit et à livre ouvert) sera évalué sur 40.

Attention aux précisions suivantes :

 La pleine réussite des devoirs ne dispense pas l’étudiant de présenter l’examen final.
 Si un étudiant remet une partie seulement des travaux, l’examen final sera évalué,
pour cet étudiant, sur un total déterminé au prorata des travaux remis : par exemple
pour un étudiant qui remet 3 travaux, l’examen final est évalué sur 70 et non 40.
 L’étudiant peut demander que tout ou partie des travaux ne soit pas prix en compte
pour l’évaluation ; le cas échéant l’examen final sera évalué sur un total déterminé
conformément à la règle précédente.
tr

compta-excellant.be
ALGEBRE LINEAIRE
INTRODUCTION.

Deux individus, disons Pierre et Paul, ont chacun un certain nombre de moutons ; Pierre dit à
Paul : « donne-moi un de tes moutons et j’en aurai deux fois plus que toi… »
Paul répond à Pierre : « Si c’est toi qui me donnes un de tes moutons, nous aurons le même
nombre de moutons… »
La question est : combien Pierre et Paul ont-ils de moutons ?

Soient X le nombre de moutons de Pierre et Y le nombre de moutons de Paul ; Si Paul donne


l’un de ses moutons à Pierre, ce dernier en aura deux fois plus que lui ; cette proposition peut
être formalisée de la manière suivante :

X + 1 = 2 * (Y – 1) (1)

Par contre si Pierre donne l’un de ses moutons à Paul, ils en auront tous deux le même
nombre ; cette proposition peut être formalisée de la manière suivante :

X – 1 = Y + 1 (2)

Nous sommes donc en présence d’un système de deux équations (1) et (2) à deux inconnues X
et Y ; pour résoudre le système, il suffit de retrancher la 2ème équation de la 1ère :

X + 1 – X – (– 1) = 2 * (Y – 1) – Y – 1
2 = 2Y – 2 – Y – 1
Y = 5 (3)

En introduisant l’équation (3) dans l’équation (2), on obtient :

X–1=5+1
X=7

Il s’agit naturellement d’un cas très simple à résoudre ; la difficulté apparaît avec la
multiplication des inconnues et donc des équations (un système d’équations doit comprendre
autant d’équations que d’inconnues).

Prenons, par exemple, le système d’équations à 3 inconnues suivant :

4X + 2Y – Z – 50 =0 (1)
2X + 3Y + Z – 110 =0 (2)
3X + Y – 2Z +10 =0 (3)

La méthode la plus commode, à ce stade, consiste à éliminer une inconnue pour obtenir un
système de 2 équations à deux inconnues ; dans un deuxième temps, on éliminera de nouveau
une inconnue de manière à obtenir une équation à une seule inconnue. La racine de cette
équation nous permettra alors de résoudre le système à deux équations. Nous aurons alors à
notre disposition deux racines qui nous permettront de résoudre enfin le système initial.

compta-excellant.be
Commençons par retrancher de la 1ère équation le double de la deuxième [ (1) – 2 * (2) ] :

2Y – 6Y – Z – 2Z – 50 + 220 =0
– 4Y – 3Z + 170 =0
4Y + 3Z – 170 =0 (4)

Ensuite retranchons de 3 fois l’équation (1) le quadruple de l’équation (3) [3 * (1) – 4* (3)] :

12X – 12X + 6Y – 4Y – 3Z – (– 8Z) – 150 – 40 =0


2Y + 5Z – 190 = 0 (5)

Nous obtenons donc un système de 2 équations à 2 inconnues :

4Y + 3Z – 170 =0 (4)
2Y + 5Z – 190 =0 (5)

De l’équation (4) retranchons le double de l’équation (5) [(4) – 2 * (5)] :

4Y – 4Y + 3Z – 10Z – 170 + 380 =0


– 7Z + 210 =0
Z = 30 (6)

Introduisons ce résultat dans l’équation (4) :

4Y + 90 – 170 = 0
Y = 20 (7)

Introduisons enfin les valeurs de Y et Z dans l’équation (1) :

4X + 2 * 20 – 30 – 50 =0
4X – 40 =0
X = 10

La solution de notre système de 3 équations à 3 inconnues est donc :

(X, Y, Z) = (10, 20, 30)

Tout naturellement les calculs deviennent de plus en plus fastidieux au fur et à mesure
que l’on introduit de nouvelles inconnues (et par conséquent de nouvelles équations).
C’est précisément pour pallier à cette difficulté que l’on a recours au calcul matriciel.

compta-excellant.be
LE CALCUL MATRICIEL

Reprenons notre système de 3 équations à 3 inconnues :

4X + 2Y – Z – 50 =0 (1)
2X + 3Y + Z – 110 =0 (2)
3X + Y – 2Z + 10 =0 (3)

Notons tout d’abord que ce système peut s’écrire :

4X + 2Y – Z = 50 (1)
2X + 3Y + Z = 110 (2)
3X + Y – 2Z = - 10 (3)

Ce système d’équations peut être écrit de la manière suivante :

 4X 2Y  Z   50 
   
 2X 3Y Z    110 
 3X  2Z    10 
 Y
Le 1er membre de cette égalité est une matrice carrée (3 x 3) qui est, elle-même, le résultat du
produit de 2 matrices :

 4 2  1   X   50 
     
 2 3 1    Y    110 
 3 1  2   Z    10 
     
Pour isoler la matrice des 3 variables, il « suffit » de multiplier chaque membre de l’équation
par la matrice inverse de la matrice carrée des facteurs.
1
 X   50   4 2  1 
   
 Y    110    2 3 1 
 Z    10   3 1  2 
     
Cette opération suppose d’une part que la matrice des facteurs puisse être inversée et
d’autre part que l’on calcule cette matrice inverse. Le cas échéant, il restera à calculer le
produit des 2 matrices du membre de droite.

compta-excellant.be
CALCUL DU DETERMINANT (EXPANSION DE LAPLACE).

Pour que la matrice puisse être inversée, son déterminant doit être différent de 0.

4 2 1
11 3 1 1 2 2 1 1 3 2 3
2 3 1  4    1   2    1  1   1 
1 2 3 2 3 1
3 1 2

D = 4 * 1 * (3 * (–2) – 1 * 1) + 2 * (– 1) * (2 * (- 2) – 3 * 1) – 1 * 1 * (2 * 1 – 3 * 3)
D = 4 * (- 7) – 2 * (– 7) – 1 * (– 7)
D=–7

CALCUL DE LA MATRICE ADJOINTE.

La matrice adjointe d’une matrice carrée est la transposée de la matrice formée par les
cofacteurs des éléments de cette matrice. Nous devons donc, avant d’inverser notre matrice,
calculer les cofacteurs et ensuite transposer la matrice formée par ces cofacteurs, de manière à
obtenir la matrice adjointe.

Calcul des cofacteurs.

Notation : Cij avec i = n° de la ligne et j= n° de la colonne.

11 3 1
C11    1   1  7   7
1 2
2 1
  1  7   7
1 2
C12    1 
3 2
2 3
 1  7   7
1 3
C13    1 
3 1
2 1
  1   3  3
2 1
C 21    1  1 2
4 1
 1  5  5
2 2
C 22    1 
3 2
4 2
  1   2  2
23
C 23    1 
3 1
31 2 1
C 31    1   1 5  5
3 1
4 1
  1  6  6
3 2
C 32    1 
2 1
3 3 4 2
C 33    1   1 8  8
2 3

compta-excellant.be
Matrice adjointe.

Il s’agit donc de la transposée (lors de la transposition, les lignes deviennent les colonnes)
de la matrice formée par les cofacteurs.

T
 7 7  7  7 3 5 
   
 3  5 2    7  5  6
 5 6 8   7 2 8 
  

Matrice inverse (produit de la matrice adjointe par l’inverse du déterminant).

1
4 2 1 
1 
 7 3 5   1  3/ 7  5/ 7
  
2     7  5  6   1 5 / 7 6/7 
3 
3 1
7 
 1  2  7 2 8   1  2 / 7  8 / 7 

Résolution du système d’équations.

 X   50   1  3 / 7  5 / 7   10 
       
 Y    110     1 5 / 7 6 / 7    20 
 Z    10   1  2 / 7  8 / 7   30 
       

X = 50 * 1 + 110 * (– 3/7) -10 * (– 5/7) = 50 – 330/7 + 50/7 = 50 – 280/7 = 50 – 40 = 10

Y = 50 * (– 1) + 110 * (5/7) – 10 * (6/7) = – 50 + 550/7 – 60/7 = – 50 + 490/7 = – 50 + 70 = 20

Z = 50 * 1 + 110 * (– 2/7) – 10 * (– 8/7) = 50 – 220/7 + 80/7 = 50 – 140/7 = 50 – 20 = 30

Ces résultats confirment ceux obtenus précédemment… Néanmoins la méthode est assez
fastidieuse ; Il existe plusieurs méthodes simplificatrices dont l’une est présentée ci-
après.

compta-excellant.be
Méthode simplifiée (élimination de GAUSS).

Repartons de notre système initial :

 4 2  1   X   50 
     
 2 3 1    Y    110 
 3 1  2   Z    10 
     
On construit ensuite une matrice augmentée (ici 4 colonnes et 3 lignes) à partir de la matrice
des coefficients et de la matrice figurant au second membre de l’équation :

 4 2  1 50 
 
 2 3 1 110 
 3 1  2  10 
 
Ensuite on transforme cette matrice jusqu’à ce que C21 = C31 = C32 = 0

 4 2  1 50   4 2  1 50   4 2  1 50   4 2  1 50 
       
 2 3 1 110    0 4 3 170    0 4 3 170    0 4 3 170 
 3 1  2  10   3 1  2  10   0  2  5  190   0 0  7  210 
       

Pour la 2ème matrice (C21 = 0), on prend 2 x L2 – L1 ; pour la 3ème matrice (C31 = 0), on prend 4
x L3 – 3 x L1 ; pour la dernière matrice (C32 = 0), on prend 2 x L3 + L2

Calcul de Z : Z = – 210 / – 7 = 30

Calcul de Y : 4 * Y + 3 * Z = 170  4Y = 170 – 90  4Y = 80  Y = 20

Calcul de X : 4 * X + 2 * Y – 1 * Z = 50  4X + 10 = 50  4X = 40  X = 10

compta-excellant.be
Utilisation de la règle de CRAMER.

Repartons de notre système initial :

 4 2  1   X   50 
     
 2 3 1    Y    110 
 3 1  2   Z    10 
     
Pour trouver la valeur de X, on remplace, dans la matrice des coefficients, la 1ère colonne
par la colonne des constantes ; on divise ensuite le déterminant correspondant par le
déterminant correspondant à la matrice des coefficients (déjà calculé précédemment).

Pour rappel :

4 2 1
11 3 1 1 2 2 1 1 3 2 3
2 3 1  4    1   2    1  1   1 
1 2 3 2 3 1
3 1 2

D = 4 * 1 * (3 * (–2) – 1 * 1) + 2 * (– 1) * (2 * (- 2) – 3 * 1) – 1 * 1 * (2 * 1 – 3 * 3)
D = 4 * (- 7) – 2 * (– 7) – 1 * (– 7)
D=–7

50 2  1
110 3 1
 10 1  2 50   7   2   210  1 90  350  420  90  70
X     10
7 7 7 7

4 50  1
2 110 1
3  10  2 4   210   50   7   1  350   840  350  350  140
Y     20
7 7 7 7

4 2 50
2 3 110
3 1  10 4   140  2   350  50   7   560  700  350  210
Z     30
7 7 7 7

compta-excellant.be
Matrice identité et matrice nulle.

La matrice identité est la matrice dont tous les éléments de la diagonale principale sont
égaux à 1 et dont tous les autres éléments sont égaux à 0.

1 0 0
 
I  0 1 0
0 0 1
 
Propriétés :

 Le produit d’une matrice par sa matrice inverse donne la matrice identité ;


 Le produit d’une matrice par la matrice identité donne cette même matrice.

La matrice nulle est la matrice dont tous les éléments sont égaux à 0.

0 0 0
 
0  0 0 0
0 0 0
 
Matrices singulières et matrices non singulières.

Une matrice est dite singulière quand son déterminant est  0 ; un système d’équations
admet une seule solution quand la matrice des coefficients est une matrice singulière.

A contrario une matrice dont le déterminant = 0 est une matrice non singulière ; on peut en
déduire que les équations du système correspondant sont linéairement dépendantes et que
le système n’admet pas de solution unique.

Exemple.

Soit le système d’équations suivant :

2X + 3Y = 27 (1)
6X + 9Y = 81 (2)

2 3
D  2*9  3*6  0
6 9

Il existe bien une dépendance linéaire entre les 2 équations :


6X + 9Y – 81 = 3 * (2X + 3Y – 27)

compta-excellant.be
LE CALCUL MATRICIEL AVEC MS EXCEL

Formules.

A calculer Formules
Déterminant =DETERMAT(B1:D3)
Matrice inverse {=INVERSEMAT(B1:D3)}
Produit matriciel {=PRODUITMAT(B1:D3;B11:D13)}

Remarque.

Les fonctions « INVERSEMAT » et « PRODUITMAT » sont des fonctions matricielles ; la


procédure est la suivante : on sélectionne tout d’abord la plage de destination (dans notre
exemple, pour la matrice inverse, la plage B11 :D13) ; ensuite on insère la formule en B11
(sans les { }) ; ensuite on utilise la touche F2 ; enfin on utilise simultanément les touches Ctrl
+ Enter + Maj.

Pou rappel : on ne peut inverser qu’une matrice carrée, c’est-à-dire une matrice dont le
nombre de lignes est égal au nombre de colonnes.

La transposée d’une matrice s’obtient en utilisant la fonction « TRANSPOSE ».

compta-excellant.be
Exercices.

Exercice n° 1.

Résoudre, à l’aide du calcul matriciel (inversion de la matrice des coefficients), le système


d’équations linéaires suivant :

2X + 3Y + Z – 22 = 0
5X – 3Y + 3Z – 16 = 0
4X + 2 Y – 4Z + 8 = 0

Exercice n° 2.

Résoudre le système de l’exercice n° 1 en utilisant la règle de CRAMER.

Exercice n° 3.

Résoudre le système de l’exercice n° 1 en utilisant la 1ère méthode simplifiée (élimination de


GAUSS).

Solution : (X, Y, Z) = (2, 4, 6)

compta-excellant.be
RESOLUTION DE L’EXERCICE.

2X + 3Y + Z – 22 = 0
5X – 3Y + 3Z – 16 = 0
4X + 2 Y – 4Z + 8 = 0

Mise en forme matricielle du système d’équations.

¨2 3 1   X   22 
 5 3 3  x  Y   16 
     
 4 2 4   Z   8

Elimination de GAUSS.

Matrice augmentée.

 2 3 1 22 
 5 3 3 16 
 
 4 2 4 8

Elimination de GAUSS.

 2 3 1 22   2 3 1 22   2 3 1 22   2 3 1 22 
 5 3 3 16    5 3 3 16   0 21 1 78   0 21 1 78 
      
 4 2 4 8  0 4 6 52  0 4 6 52  0 0 130 780 

Pour la 2ème matrice (C31 = 0), on prend L3– 2 x L1 ; pour la 3ème matrice (C21 = 0), on prend 2
x L2 – 5 x L1 ; pour la dernière matrice (C32 = 0), on prend 21 x L3 – 4 x L2

Calcul de Z : Z = – 780 / – 130 = 6

Calcul de Y : – 21Y + Z = – 78  – 21Y = – 78 – 6  – 21Y = – 84  Y = 4

Calcul de X : 2X + 3Y + Z = 22  2X = 22 – 3 * 4 – 6  2X = 4  X = 2

SOLUTION : (X, Y, Z) = (2, 4, 6)

compta-excellant.be
Règle de CRAMER.

Calcul du déterminant de la matrice des coefficients.

2 3 1
11 3 3 5 3 13 5 3
5 3 3  2*  1 *  3*  1 *  1*  1 *
1 2
 2*6  3*( 32)  1* 22  130
2 4 4 4 4 2
4 2 4

Application de la règle de CRAMER.

22 3 1
16 3 3
8 2 4 22*(12  6)  3*(64  24)  1*(32  24) 22*6  3*(40)  1*8 260
X    2
130 130 130 130

2 22 1
5 16 3
4 8 4 2* (64  24)  22*( 20  12)  1*( 40  64) 2 *( 40)  22*( 32)  1*( 104) 520
Y    4
130 130 130 130

2 3 22
5 3 16
4 2 8 2* (24  32)  3*(40  64)  22*(10  12) 2*(8)  3*(104)  22*(22) 780
Z    6
130 130 130 130

SOLUTION : (X, Y, Z) = (2, 4, 6)

compta-excellant.be
ALGEBRE LINEAIRE : EXERCICES.

Exercice n° 1.

Résoudre, en utilisant la règle de CRAMER, le système d’équations linéaires suivant :

2X + 4Y  3Z = 12
3X  5Y + 2Z = 13
X + 3Y + 2Z = 17

S = (7 ; 4 ; 6)

Exercice n° 2.

Résoudre, en utilisant la règle de CRAMER, le système d’équations linéaires suivant :

11X  Y  Z = 31
 X + 6Y  2Z = 26
 X  2Y + 7Z = 24

S = (4 ; 7 ; 6)

Exercice n° 3.

Résoudre, en utilisant la règle de CRAMER, le système d’équations linéaires suivant :

5X  2Y + 3Z = 16
2X + 3Y  5Z = 2
4X  5Y + 6Z = 7

S = (3 ; 7 ; 5)

Exercice n° 4.

Résoudre, en utilisant la règle de CRAMER, le système d’équations linéaires suivant :

2X + 3Y + Z  22 = 0
5X  3Y + 3Z  16 = 0
4X + 2Y  4Z + 8 = 0

S = (2 ; 4 ; 6)

compta-excellant.be
ALGEBRE LINEAIRE : RESOLUTION DE L’EXERCICE N° 1.

 2 4 3   X  12 
     
 3 5 2    Y    13 
 1 3 2   Z  17 
     
2 4 3
5 2 3 2 3 5
3 5 2  2 * 111 *  4 * 11 2 *  3* 113 *
3 2 1 2 1 3
1 3 2
2 4 3
3 5 2  2*(5* 2  3* 2)  4*(3* 2¨1* 2)  3*(3*3  1*5)
1 3 2
2 4 3
3 5 2  2*(10  6)  4*(6  2)  3*(9  5)  2*( 16)  4*12  3* 4  76
1 3 2
12 4 3
13 5 2 5 2 13 2 13 5
12* 111 *  4* 11 2 *  3* 113 *
17 3 2 3 2 17 2 17 3
X 
2 4 3 76
3 5 2
1 3 2
12*(10  6)  4*(26  34)  3*(39  85) 192  32  372 532
X   7
76 76 76
2 12 3
3 13 2 13 2 3 2 3 13
2* 111 *  12* 11 2 *  3* 113 *
1 17 2 17 2 1 2 1 17
Y 
76 76
2* (26  34)  12*(6  2)  3*(51  13) 16  96  192 304
Y   4
76 76
2 4 12
3 5 13 5 13 3 13 3 5
2* 111 *  4* 11 2 *  12* 113 *
1 3 17 3 17 1 17 1 3
Z 
76 76
2* (85  39)  4 *(51  13)  12* (9  5) 248  256  48 456
Z   6
76 76 76

compta-excellant.be
ALGEBRE LINEAIRE : RESOLUTION DE L’EXERCICE N° 3.

5 2 3   X  16 
     
2 3 5    Y    2 
4 5 6   Z   7 

5 2 3
3 5 2 5 2 3
2 3 5  5* 111 *  2* 11 2 *  3* 113 *
5 6 4 6 4 5
4 5 6
5 2 3
2 3 5  5*(18  25)  2*(12  20)  3*( 10  12)  5*( 7)  2*32  3*( 22)  35  64  66  37
4 5 6
16 2 3
2 3 5 3 5 2 5 2 3
16*  2*  3*
5 6
7 5 6 7 6 7 5 16*(18  25)  2*(12  35)  3*( 10  21) 111
X    3
37 37 37 37
5 16 3
2 2 5 2 5 2 5 2 2
5*  16*  3*
4 7 6 7 6 4 6 4 7 5*(12  35)  16*(12  20)  3*(14  8) 259
Y    7
37 37 37 37
5 2 16
2 3 2 3 2 2 2 2 3
5*  2*  16*
4 5 7 5 7 4 7 4 5 5*(21  10)  2*(14  8)  16*( 10  12) 185
Z    5
37 37 37 37

compta-excellant.be
MATRICES STOCHASTIQUES & CHAÎNES DE MARKOV

Andreï MARKOV (1856-1922)

Une matrice stochastique (également appelée matrice de


Markov) est une matrice carrée dont chaque élément est
un réel compris entre 0 et 1 et dont la somme des
éléments de chaque ligne vaut 1. Cela correspond, en
probabilité, à la matrice de transition d’une chaîne de
Markov finie.

Un processus de Markov à temps discret est un


processus stochastique possédant la propriété de
Markov : la prédiction du futur, connaissant le présent,
n’est pas rendue plus précise par des éléments
d’informations supplémentaires concernant le passé.
Les processus de Markov constituent le cas le plus
courrant des mouvements browniens. Une matrice est
dite doublement stochastique si la somme des éléments de chaque ligne et de chaque colonne
vaut 1.

Exemple de matrice stochastique.

 0,5 0,3 0, 2 
 
P   0, 2 0,8 0 
 0,3 0,3 0, 4 
 
Matrices stochastiques régulières et irréductibles.

Une matrice stochastique est dite régulière s’il existe un nombre entier k tel que la matrice Pk
ne contient que des réels strictement positifs.

La matrice ci-dessus est régulière car :

 0,37 0, 45 0,18 
 
P   0, 26 0, 70 0, 04 
2

 0,33 0, 45 0, 22 
 

Une chaîne de Markov est irréductible si tout état est accessible à partir de n’importe quel état
de la chaîne.

Théorème : une matrice régulière est nécessairement irréductible.

compta-excellant.be
APPLICATION : DOUDOU LE HAMSTER.

Doudou, le hamster paresseux, ne connaît que trois endroits dans sa cage : les copeaux où il
dort, la mangeoire où il mange et la roue où il fait de l'exercice. Ses journées sont assez
semblables les unes aux autres, et son activité se représente aisément par une chaîne de
Markov. Toutes les minutes, il peut soit changer d'activité, soit continuer celle qu'il était en
train de faire. L'appellation processus sans mémoire n'est pas du tout exagérée pour parler de
Doudou.

 Quand il dort, il a 9 chances sur 10 de ne pas se réveiller la minute suivante.


 Quand il se réveille, il y a 1 chance sur 2 qu'il aille manger et 1 chance sur 2 qu'il parte
faire de l'exercice.
 Le repas ne dure qu'une minute, après il fait autre chose.
 Après avoir mangé, il y a 3 chances sur 10 qu'il parte courir dans sa roue, mais surtout
7 chances sur 10 qu'il retourne dormir.
 Courir est fatigant ; il y a 8 chances sur 10 qu'il retourne dormir au bout d'une minute.
Sinon il continue en oubliant qu'il est déjà un peu fatigué.

Diagrammes (voir illustration ci-dessous).

Les diagrammes peuvent montrer toutes les flèches, chacune représentant une probabilité de
transition. Cependant, c'est plus lisible si :

 on ne dessine pas les flèches de probabilité zéro (transition impossible) ;


 on ne dessine pas les boucles (flèche d'un état vers lui-même). Cependant elles
existent ; leur probabilité est sous-entendue car on sait que la somme des probabilités
des flèches partant de chaque état doit être égale à 1.

Matrice de transition.

La matrice de transition de ce système est la suivante (les lignes et les colonnes correspondent
dans l'ordre aux états représentés sur le graphe par copeaux, mangeoire, roue) :

compta-excellant.be
Prévisions.

Prenons l'hypothèse que Doudou dort lors de la première minute de l'étude.

Au bout d'une minute, on peut prédire :

Ainsi, après une minute, on a 90 % de chances que Doudou dorme encore, 5 % qu'il mange et
5 % qu'il coure.

Après 2 minutes, il y a 4,5 % de chances que le hamster mange.

De manière générale, pour n minutes :

La théorie montre qu'au bout d'un certain temps, la loi de probabilité est indépendante de la
loi initiale. Notons la q :

On obtient la convergence si et seulement si la chaîne est apériodique et irréductible. C'est le


cas dans notre exemple, on peut donc écrire :

compta-excellant.be
Sachant que q1 + q2 + q3 = 1, on obtient :

Doudou passe 88,4 % de son temps à dormir !

compta-excellant.be
compta-excellant.be
MATRICES STOCHASTIQUES : ILLUSTRATION

Etudions une civilisation fictive constituée de plusieurs classes sociales, et dans laquelle les
individus peuvent passer d’une classe à l’autre. Chaque étape représentera un an. On
considérera une lignée plutôt qu’un individu, pour éviter d’obtenir des citoyens bicentenaires.
Les différents statuts sociaux sont au nombre de quatre :

 Esclave ;
 Libre ;
 Citoyen ;
 Haut-fonctionnaire.

Dans cette société :

 Les esclaves peuvent rester esclaves ou devenir des hommes libres en achetant leur
liberté ou en étant affranchis généreusement par leur maître ;
 Les hommes libres peuvent rester libres ou bien vendre leur liberté (pour payer leurs
dettes par exemple) ou encore devenir citoyens (là encore par mérite ou en achetant le
titre de citoyen) ;
 Les citoyens sont citoyens à vie et transmettent leur citoyenneté à leur lignée (on
pourrait croire que le nombre de citoyens tend à augmenter et qu’au bout d’un certain
temps, tous sont citoyens mais historiquement, dans les civilisations qui suivaient ce
schéma, les citoyens sont décimés par les guerres et de nouveaux esclaves arrivent
régulièrement de l’étranger). Ils peuvent aussi se porter candidats lors des élections
annuelles afin de devenir haut-fonctionnaires (magistrats). Au terme de leur mandat,
ils peuvent être réélus ou redevenir de simples citoyens.

Pour compliquer un peu l’exemple et montrer ainsi l’étendue des applications des chaînes de
Markov, nous considérerons que les fonctionnaires sont élus pour plusieurs années. Par
conséquent, l’avenir d’un individu fonctionnaire dépend du temps depuis lequel il est
fonctionnaire. Nous sommes donc dans le cas d’une chaîne de Markov non homogène.
Heureusement on peut aisément ramener le problème à une chaîne homogène. En effet, il
suffit de rajouter un état artificiel pour chaque année du mandat. Au lieu d’avoir un état 4
fonctionnaire, nous aurons un état :

 4 : fonctionnaire en début de mandat ;


 5 : fonctionnaire en seconde année de mandat ;
 Etc.

Les probabilités reliant deux états artificiels consécutifs (3ème et 4ème année par exemple) sont
de valeur = 1 car on considère que tout mandat commencé se termine. Fixons la durée des
mandats à 2 ans, le contingent des fonctionnaires étant renouvelable par moitié chaque année.
On obtient le graphe ci-dessous :

compta-excellant.be
La matrice de transition P s’écrit :

 97 1 
 98 0 0
0
98
 
2 65 6
0 0
 73 73 73 
 
P 12 1
0 0 0
 13 13 
0 0 0 0 1
 
 7 1 
 0 0
8 8
0

n
Nous savons que P n donne les probabilités de transition en n étapes. Dès lors P ij est la
probabilité d’être dans l’état j au bout de n années pour une lignée partie de la classe sociale i.

compta-excellant.be
Pour savoir ce que devient un esclave au bout de n années, il suffit donc d’écrire :

 p1n 
 n
 p2
1 0 0 0 0 * P n   p 3n 
 pn
 4
 p 5n 

n
Où p i est la probabilité d’être dans la classe sociale i au bout de n années sachant que la
lignée étudiée est partie de l’état d’esclave.

Si on connaît les effectifs de chaque classe sociale à l’an 0, il suffit alors de calculer :

1
*  esclaves libres citoyens élus1 élus 2  * P n  Y
lignées
On obtient ainsi la répartition de la population dans les différentes classes sociales au bout de
n années. En multipliant ce vecteur Y par l’effectif total de la population, on obtient les
effectifs de chaque classe au bout de n années.

Un autre problème…

On pourrait se poser la question suivante : au bout de n années, combien de lignées auront


déjà eu un haut-fonctionnaire ayant terminé son mandat ?

La réponse est différente du nombre de mandats effectués en n années car il y a possibilité


d’être réélu.

Il faut dès lors procéder à une nouvelle modélisation du problème en ajoutant un sommet
absorbant car une fois qu’une lignée a fini un mandat, on ne tient plus compte de cette lignée.

compta-excellant.be
Remarque.

Selon cette approche, les lignées comportant un élu ne participent plus aux élections ; cela ne
fausse néanmoins pas le modèle. En effet le nombre d’élus est proportionnel au nombre de
citoyens ; aussi ne pas réinjecter les anciens élus parmi les candidats ne change rien à la
probabilité pour un citoyen d’être élu car, la population des citoyens étant plus restreinte, le
nombre de postes offerts l’est également.

On a donc une nouvelle matrice de transition :

 97 1 
 98 0 0
0 0
98
 
2 65 6
0 0 0
 73 73 73 
 
Q 0 0
12 1
0 0
 13 13 
0 0 0 0 1 0
 
0 0 0 0 0 1
0 0 0 0 1 
 0

En faisant les mêmes calculs que précédemment on obtient en dernière ligne du vecteur
solution le pourcentage de lignées ayant accompli au moins un mandat.

compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
LA PROGRAMMATION LINEAIRE : ILLUSTRATION

Enoncé du problème.

Un chocolatier-confiseur reçoit une commande de 3000 assortiments de chocolat. Pour les


confectionner, il a convenu d’y placer 3 sortes de chocolats, dénotés respectivement chocolats
1, 2 et 3 ; les chocolats coûtent respectivement au kilo ; 4 $ ; 1,45 $ et 2,40 $. Chaque
assortiment doit peser un kilo et se vendra 8 $.

Les chocolats 1 doivent représenter entre 10 % et 20 % du poids d’un assortiment ; les


chocolats 1 et 2 présents dans un assortiment ne doivent pas peser plus de 800 gr. Au moins la
moitié du poids d’un assortiment doit provenir des chocolats 1 et 3.

Comment le chocolatier-confiseur doit-il répartir ses achats entre les 3 sortes de chocolats
pour maximiser les revenus nets qu’il tirera de la vente des assortiments ?

Les 3000 assortiments seront confectionnés de la même manière, car une recette qui est
optimale pour un assortiment l’est forcément pour tous.
Les quantités totales utilisées de chaque sorte de chocolats, et par conséquent les quantités
achetées, s’obtiennent en multipliant par 3000 cette recette optimale. Et réciproquement pour
résoudre le problème du chocolatier-confiseur, il suffit de connaître le nombre de kg à acheter
de chaque sorte, puis de diviser par 3000 pour obtenir la recette.

Les variables de décision.

Des remarques précédentes découle immédiatement la définition des 3 variables de décision


suivante :

Xi = nombre de kg de chocolat i que doit se procurer le confiseur.

La fonction objectif.

Le confiseur poursuit l’objectif de maximiser les profits qu’il tirera de la vente des 3000
assortiments qu’il s’est engagé à fournir. Un kg de chocolat se vend toujours 8 $ puisque c’est
le prix de vente de chaque assortiment et que chaque assortiment pèse un kg.
Mais le prix d’achat varie d’une sorte de chocolat à l’autre. C’est ainsi que le profit réalisé sur
un kg de chocolat 1 s’élève à 8 $ – 4 $ = 4 $ ; pour le chocolat 2, le profit s’élève à 8 $ – 1,45
$ = 6,55 $ ; pour le chocolat 3 le profit est de 8 $ – 2,40 $ = 5,60 $.
La fonction objectif qui représente les profits peut donc s’écrire :

MAX Z = 4,00X1 + 6,55X2 + 5,60X3

Les contraintes.

La confection des assortiments est soumise à plusieurs contraintes (d’égalité et/ou d’inégalité)
qu’il faut à présent formaliser.

Contrainte 1 : le poids total doit être égal à 3000 kg.

X1 + X2 + X3 = 3000

compta-excellant.be
Contrainte 2 : le pois de X1 doit représenter au minimum 10 % du total.

X1  300

Contrainte 3 : le poids de X1 doit représenter au maximum 20 % du total.

X1  600

Contrainte 4 : les poids de X1 et X2 doivent représenter ensemble au maximum 80 % du


total.

X1 + X2  2400

Contrainte 5 : les poids de X1 et X3 doivent représenter ensemble au minimum 50 % du


total.

X1 + X3  1500

Contrainte 6 : contrainte de non-négativité.

X1, X2, X3  0

Synthèse.

Le problème du confiseur peut être formalisé au moyen d’un programme linéaire :

MAX Z = 4,00X1 + 6,55X2 + 5,60X3

Sous les contraintes :

X1 + X2 + X3 = 3000
X1  300
X1  600
X1 + X2  2400
X1 + X3  1500
X1, X2, X3  0

Dans l’éditeur de LINGO 10.0, le programme s’écrit :

MAX=4*X1+6.55*X2+5.60*X3;
X1+X2+X3=3000;
X1>=300;
X1<=600;
X1+X2<=2400;
X1+X3>=1500;

compta-excellant.be
Le logiciel nous retourne la solution optimale suivante :

Global optimal solution found.


Objective value: 17745.00
Total solver iterations: 0

Variable Value Reduced Cost


X1 300.0000 0.000000
X2 1500.000 0.000000
X3 1200.000 0.000000

Row Slack or Surplus Dual Price


1 17745.00 1.000000
2 0.000000 6.550000
3 0.000000 -1.600000
4 300.0000 0.000000
5 600.0000 0.000000
6 0.000000 -0.9500000

Lecture de la solution.

 Le logiciel a trouvé une solution optimale globale.


 Le profit net s’élève à 17.745,00 $.
 Les valeurs de X1, X2 et X3 sont respectivement de : 300 kg ; 1.500 kg ; 1.200 kg
 Les deux premières contraintes (row 2 et 3) sont saturées ;
 Les deux contraintes suivantes (row 4 et 5) ne sont pas saturées et auraient pu
éventuellement faire l’objet d’un resserrement : X1  300 ; X1 + X2  1800.

compta-excellant.be
PROGRAMMATION LINEAIRE

ALGORITHME DU SIMPLEX
MAXIMISATION

Le problème décrit ci-après est un problème de maximisation du profit () sous contraintes
d’inégalité.

Maximiser  = 5X1 + 3X2

Sous les contraintes :

6X1 + 2X2  36 (1)


5X1 + 5X2  40 (2)
2X1 + 4X2  28 (3)
X1, X2  0 (4)

Les contraintes (4) sont les contraintes de non négativité. On remarque que les contraintes
sont linéairement indépendantes.

Le tableau initial du simplex.

Tout d’abord on doit transformer les inégalités en équations en ajoutant des variables d’écart :

6X1 + 2X2 + S1 = 36
5X1 + 5X2 + S2 = 40
2X1 + 4X2 + S3 = 28

Ensuite on exprime les équations correspondant aux contraintes sous forme matricielle :

 X1 
 
 6 2 1 0 0   X 2  36 
 5 5 0 1 0  x  S1    40 
     
 2 4 0 0 1   S2   28 
 S3 

On établit ensuite un tableau initial du simplex, qui se compose de la matrice des coefficients
des contraintes, du vecteur colonne des constantes, et d’une ligne d’indicateurs située sous les
précédents, qui contient les coefficients de la fonctions objectif précédés d’un signe – et un
coefficient égal à 0 pour chaque variable d’écart.
La case située sur la dernière ligne de la colonne des constantes est aussi un 0, qui correspond
à la valeur de la fonction objectif à l’origine (X1 = X2 = 0).

compta-excellant.be
X1 X2 S1 S2 S3 Constantes
6 2 1 0 0 36
5 5 0 1 0 40
2 4 0 0 1 28
–5 –3 0 0 0 0
INDICATEURS

Le pivot et les changements de base.

 L’indicateur négatif dont la valeur absolue est la plus élevée détermine la variable à
entrer dans la base ; Comme l’indicateur négatif de plus forte valeur absolue est – 5 et
se situe dans la 1ère colonne (colonne pivot), c’est donc la variable X1 qui entrera dans
la base.
 La variable à éliminer est déterminée par le plus petit ratio de déplacement. On trouve
les ratios de déplacement en divisant les éléments de la colonne des constantes par les
éléments de la colonne pivot. La ligne pour laquelle le ratio de déplacement est le plus
petit (la ligne pivot), on élimine les ratios inférieurs ou égaux à 0, détermine la
variable à éliminer de la base. Comme le plus faible ratio est 36/6 (36/6 < 40/5 <
28/4), la ligne 1 est la ligne pivot.
Comme le vecteur unitaire portant 1 dans la ligne 1 se trouve dans la colonne S1, c’est
S1 qui sortira de la base ; le pivot est 6 (situé à l’intersection de la colonne pivot et de
la ligne pivot).

Le pivotage.

Le pivotage consiste à transformer le pivot en un 1 et à rendre nuls les autres éléments de


la colonne pivot (comme dans la méthode d’élimination de GAUSS).

Tout d’abord on multiplie la ligne pivot par la réciproque du pivot : on multiplie donc la
ligne 1 par 1/6.

X1 X2 S1 S2 S3 Constantes
1 1/3 1/6 0 0 6
5 5 0 1 0 40
2 4 0 0 1 28
–5 –3 0 0 0 0
INDICATEURS

compta-excellant.be
Ensuite on annule les autres éléments de la colonne pivot : ici on soustrait 5 fois la ligne 1 de
la ligne 2, 2 fois la ligne 1 de la ligne 3 et on ajoute 5 fois la ligne 1 à la ligne 4. On obtient
ainsi le 2ème tableau.

X1 X2 S1 S2 S3 Constantes
1 1/3 1/6 0 0 6
0 10/3 – 5/6 1 0 10
0 10/3 – 1/3 0 1 16
0 – 4/3 5/6 0 0 30
INDICATEURS

L’optimisation.

La fonction objectif est maximisée quand il n’y a plus d’indicateurs négatifs dans la
dernière ligne. On poursuit donc les changements de base et les pivotages.

Dans la ligne des indicateurs, l’indicateur négatif ayant la plus grande valeur absolue est –
4/3 ; la colonne pivot sera donc la colonne des X2.
La ligne pivot est la ligne 2 dans la mesure où 10 / (10/3) représente le plus petit ratio de
déplacement. Le pivot est en conséquence 10/3 et la variable à sortir de la base (vecteur
unitaire dans la ligne pivot) est S2.

Le pivotage consiste donc à rendre le pivot égal à 1 et à rendre nulles les autres variables de la
colonne pivot.

On commence donc par multiplier la ligne 2 par 3/10 :

X1 X2 S1 S2 S3 Constantes
1 1/3 1/6 0 0 6
0 1 – 1/4 3/10 0 3
0 10/3 – 1/3 0 1 16
0 – 4/3 5/6 0 0 30
INDICATEURS

Ensuite ou soustrait le tiers de la ligne 2 de la ligne 1, les 10/3 de la ligne 2 de la ligne 3 et on


ajoute les 4/3 de la ligne 2 à la ligne 4. On obtient ainsi le 3ème tableau.

X1 X2 S1 S2 S3 Constantes
1 0 1/4 – 1/10 0 5
0 1 – 1/4 3/10 0 3
0 0 1/2 –1 1 6
0 0 1/2 2/5 0 34
INDICATEURS

On constate que la ligne des indicateurs ne présente plus aucun élément négatif ; on a donc
atteint un optimum. A cet optimum, la fonction objectif vaut 34 et les variables ont pour
valeur :
X1 = 5 ; X2 = 3 ; S1 = 0 ; S2 = 0 ; S3 = 6

compta-excellant.be
Interprétation.

La ligne des indicateurs dans le tableau final est riche d’informations :

 Si la contrainte à laquelle est associée la variable d’écart S1 augmente d’une unité (6X1
+ 2X2  37 au lieu de 36), la fonction objectif augmente de ½ unité ;
 De même si la contrainte à laquelle est associée la variable d’écart S2 augmente d’une
unité, la fonction objectif augmente de 2,5 unités ;
 En revanche la contrainte à laquelle est associée la variable d’écart S3 présente un
surplus (un « slack ») de 6 ; en conséquence l’augmenter serait sans effet sur la
fonction objectif. Au contraire ce surplus autorise à resserrer la contrainte de manière
à, par exemple, diminuer des coûts de production.

EXERCICE.

Maximiser  = 30X1 + 24X2 + 60X3

Sous les contraintes :

6X1 + 3X2 + 5X3  30


2X1 + 2X2 +10X3  50
X1, X2, X3  0

MINIMISATION

MINIMISER C = 2X1 + 4X2

Sous les contraintes :

2X1 + X2  14
X1 + X2  12
X1 + 3X2  18
X1, X2  0

Le tableau initial du simplex.

Tout d’abord on transforme les inégalités en équations en soustrayant des variables d’écart :

2X1 + X2 – S1  14
X1 + X2 – S2  12
X1 + 3X2 – S3  18

compta-excellant.be
Ensuite on exprime les équations des contraintes sous forme matricielle :

 X1 
 
 2 1 1 0 0   X 2  14 
1 1 0 1 0  x  S1   12 
     
1 3 0 0 1  S2  18 
 S3 
Ensuite on introduit des variables artificielles.

Une variable artificielle (Ai  0) est une variable fictive introduite spécialement pour
engendrer une solution de base accessible. Elle n’a aucune signification économique. Le
modèle matriciel devient :

 X 1
 X 2
 
 S1 
 2 1 1 0 0 1 0 0    14 
1 1 0 1 0 0 1 0    S 2   12 
   S3   
1 3 0 0 1 0 0 0    18 
 A1 
 A2 
 
 A3 
L’adaptation du tableau initial du simplex aux fins d’une minimisation.

On construit le tableau initial du simplex en plaçant sous la matrice des coefficients et le


vecteur colonne des constantes une ligne d’indicateurs qui sont les coefficients de la fonction
objectif précédés du signe –.
Les coefficients de la fonction objectifs sont nuls pour les variables d’écart et posés égaux à –
M pour les variables artificielles. M est un nombre suffisamment grand pour que l’on soit sûr
que A est exclu de la solution optimale.

compta-excellant.be
Le tableau initial se présente de la manière suivante :

X1 X2 S1 S2 S3 A1 A2 A3 Constantes
2 1 –1 0 0 1 0 0 14
1 1 0 –1 0 0 1 0 12
1 3 0 0 –1 0 0 1 18
–2 –4 0 0 0 –M –M –M
INDICATEURS

On élimine ensuite les M des colonnes des variables artificielles en ajoutant M fois (ligne 1 +
ligne 2 + ligne 3) à la ligne 4. on obtient alors le tableau suivant :

X1 X2 S1 S2 S3 A1 A2 A3 Constantes
2 1 –1 0 0 1 0 0 14
1 1 0 –1 0 0 1 0 12
1 3 0 0 –1 0 0 1 18
4M – 2 5M – 4 –M –M –M 0 0 0 44M
INDICATEURS

Le pivot.

Dans le cas d’une minimisation, l’indicateur positif le plus élevé détermine la colonne pivot et
la variable à entrer dans la base. C’est l’indicateur 5M – 4 qui est le plus grand et, en
conséquence, c’est X2 qui entre dans la base. La colonne de X2 devient la colonne pivot.
La ligne pivot est déterminée, comme pour la maximisation, par le plus petit rapport résultant
de la division des constantes par les éléments de la colonne pivot. Comme 18/3 = 6 est le plus
petit rapport, la ligne pivot est la ligne 3.
Le vecteur unitaire sur la ligne 3 est associé à A3 : c’est donc A3 qui sort de la base. Enfin le
pivot se situe à l’intersection de la colonne pivot et de la ligne pivot : il s’agit de 3.

Le pivotage.

On donne au pivot la valeur 1 en multipliant la ligne 3 par 1/3.

X1 X2 S1 S2 S3 A1 A2 A3 Constantes
2 1 –1 0 0 1 0 0 14
1 1 0 –1 0 0 1 0 12
1/3 1 0 0 – 1/3 0 0 1/3 6
4M – 2 5M – 4 –M –M –M 0 0 0 44M
INDICATEURS

compta-excellant.be
On annule tous les autres éléments de la colonne pivot en sosutrayant la ligne 3 de la ligne 1
et de la ligne 2, et en soustrayant (5M – 4) fois la ligne 3 de la ligne 4.

X1 X2 S1 S2 S3 A1 A2 A3 Constan
tes
5/3 0 –1 0 1/3 1 0 – 1/3 8
2/3 0 0 -1 1/3 0 1 – 1/3 6
1/3 1 0 0 – 1/3 0 0 1/3 6
(7M – 2)/3 0 –M –M (2M – 4)/3 0 0 (– 5 M + 4)/3 14M + 24
INDICATEURS

Réitération.

Tant qu’il reste un indicateur positif, on poursuit la procédure. La colonne 1 devient la


nouvelle colonne pivot et la ligne 1 la nouvelle ligne pivot. C’est X1 qui entre dans la base et
A1 qui en sort. Le pivot est 5/3.

On multiplie la ligne 1 par 3/5 :

X1 X2 S1 S2 S3 A1 A2 A3 Constan
tes
1 0 – 3/5 0 1/5 3/5 0 – 1/5 24/5
2/3 0 0 -1 1/3 0 1 – 1/3 6
1/3 1 0 0 – 1/3 0 0 1/3 6
(7M – 2)/3 0 –M –M (2M – 4)/3 0 0 (– 5 M + 4)/3 14M + 24
INDICATEURS

On annule ensuite les autres éléments de la colonne pivot en soustrayant les 2/3 de la ligne 1
de la ligne 2, le 1/3 de la ligne 1 de la ligne 3, et les (7M – 2) / 3 de la ligne 1 de la ligne 4.

X1 X2 S1 S2 S3 A1 A2 A3 Constantes
1 0 – 3/5 0 1/5 3/5 0 – 1/5 24/5
0 0 2/5 –1 1/5 – 2/5 1 – 1/5 14/5
0 1 1/5 0 – 2/5 – 1/5 0 2/5 22/5
0 0 (2M – 2)/5 – M –M (M – 6)/5 (– 7M + 2)/5 0 (– 6M + 6) /5 (14M + 136)/5
INDICATEURS

compta-excellant.be
4ème pivot.

La colonne pivot est la colonne de S1 ; c’est donc S1 qui entre dans la base. La ligne pivot est
la ligne 2 ; le vecteur unitaire de la ligne 2 est dans la colonne de A2 qui sort de la base. Le
pivot est 2/5.

On multiplie la ligne 2 par 5/2 :

X1 X2 S1 S2 S3 A1 A2 A3 Constantes
1 0 – 3/5 0 1/5 3/5 0 – 1/5 24/5
0 0 1 – 5/2 1/2 –1 5/2 – 1/2 7
0 1 1/5 0 – 2/5 – 1/5 0 2/5 22/5
0 0 (2M – 2)/5 – M –M (M – 6)/5 (– 7M + 2)/5 0 (– 6M + 6) /5 (14M + 136)/5
INDICATEURS

On ajoute les 3/5 de la ligne 2 à la ligne 1 et on soustrait le 1/5 de la ligne 2 de la ligne 3 et les
(2M – 2)/5 de la ligne 2 de la ligne 4. On obtient le tableau :

X1 X2 S1 S2 S3 A1 A2 A3 Constantes
1 0 0 – 3/2 1/2 0 3/2 – 1/2 9
0 0 1 – 5/2 1/2 –1 5/2 – 1/2 7
0 1 0 1/2 – 1/2 0 – 1/2 1/2 3
0 0 0 –1 –1 –M –M+1 –M+1 30
INDICATEURS

Tous les indicateurs sont négatifs : on est donc parvenu à la solution optimale accessible. On
peut directement lire la solution sur le tableau : X1 = 9 ; X2 = 3 ; S1 = 7 ; S2 = S3 = 0.
La fonction objectif a pour valeur C = 30.

compta-excellant.be
L’ALGORITHME DU SIMPLEX : APPLICATION.

Maximiser  = 30X1 + 24X2 + 60X3

Sous les contraintes :

6X1 + 3X2 + 5X3  30


2X1 + 2X2 +10X3  50
X1, X2, X3  0

Le tableau initial du simplex.

Tout d’abord on doit transformer les inégalités en équations en ajoutant des variables d’écart :

6X1 + 3X2 + 5X3 + S1 = 30


2X1 + 2X2 +10X3 + S2 = 50

Ensuite on exprime les équations correspondant aux contraintes sous forme matricielle :

 X1 
X 2
 6 3 5 1 0    30 
 2 2 10 0 1  x  X 3   50 
     
 S1 
 S2 

Le tableau initial prend la forme :

X1 X2 X3 S1 S2 Constantes
6 3 5 1 0 30
2 2 10 0 1 50
– 30 – 24 – 60 0 0 0
INDICATEURS

La colonne pivot est la colonne des X3 ; la ligne pivot est la 2ème ligne (50 / 10 < 30 / 5 ; c’est
S2 qui sort de la base.

compta-excellant.be
1er pivotage.

La 2ème ligne est divisée par 10 de manière à ce que le pivot soit ramené à 1.

X1 X2 X3 S1 S2 Constantes
6 3 5 1 0 30
1/5 1/5 1 0 1/10 5
– 30 – 24 – 60 0 0 0
INDICATEURS

Ensuite les autres éléments de la colonne doivent être ramenés à : de la 1ère ligne, on retranche
5 fois la 2ème ligne ; à la 3ème ligne, on ajoute 60 fois la 2ème ligne.

X1 X2 X3 S1 S2 Constantes
5 2 0 1 - 1/2 5
1/5 1/5 1 0 1/10 5
– 18 – 12 0 0 6 300
INDICATEURS

La nouvelle colonne pivot est celle des X1 et la ligne pivot est la ligne 1 : 5/5 < 5 / (1/5). Le
pivot est donc 5 et c’est S1 qui sort de la base.

2ème pivotage.

Pour ramener le pivot à 1, la ligne 1 est divisée par 5.

X1 X2 X3 S1 S2 Constantes
1 2/5 0 1/5 – 1/10 1
1/5 1/5 1 0 1/10 5
– 18 – 12 0 0 6 300
INDICATEURS

Les autres éléments de la colonne pivot sont ramenés à 0 : de la ligne 2, on retranche 1/5 de la
ligne 1 ; à la ligne 3, on ajoute 18 fois la ligne 1.

X1 X2 X3 S1 S2 Constantes
1 2/5 0 1/5 – 1/10 1
0 3/25 1 – 1/25 3/25 24/5
0 – 24/5 0 18/5 21/5 318
INDICATEURS

La colonne pivot est la colonne des X2 ; la ligne pivot est la ligne 1 : 1 / (2/5) < (24/5) / (3/25).
Le pivot est 2/5. C’est X1 qui sort de la base.

compta-excellant.be
3ème pivotage.

La ligne 1 est multipliée par 5/2.

X1 X2 X3 S1 S2 Constantes
5/2 1 0 1/2 – 1/4 5/2
0 3/25 1 – 1/25 3/25 24/5
0 – 24/5 0 18/5 21/5 318
INDICATEURS

Les autres éléments de la colonne pivot sont ramenés à 0 : de la ligne 2, on soustrait les 3/25
de la ligne 1 ; à la ligne 3, on ajoute les 24/5 de la ligne 1.

X1 X2 X3 S1 S2 Constantes
5/2 1 0 1/2 – 1/4 5/2
– 3/10 0 1 – 1/10 3/20 9/2
12 0 0 6 3 330
INDICATEURS

On constate qu’il n’y a plus de valeur négative dans la ligne des indicateurs ; la solution est
par conséquent optimale : (X1 ; X2 ; X3 ; S1 ; S2) = (0 ; 2,5 ; 4,5 ; 0 ; 0) et  = 330.

compta-excellant.be
LA PROGRAMMATION LINEAIRE : LE DUAL.

En programmation linéaire, tout problème de maximisation (minimisation) a un problème de


minimisation (maximisation) qui lui correspond. Le problème initial est appelé le primal ; le
problème correspondant est appelé le dual.

Exemple 1.

Soit le problème primal suivant :

Maximiser  = G1X1 + G2X2 + G3X3

Sous les contraintes :

A11X1 + A12X2 + A13X3  B1


A21X1 + A22X2 + A23X3  B2
A31X1 + A32X2 + A33X3  B3
X1, X2, X3  0

Le problème dual correspondant s’écrit :

Minimiser C = B1Z1 + B2Z2 + B3Z3

Sous les contraintes :

A11Z1 + A21Z2 + A31Z3  G1


A12Z1 + A22Z2 + A32Z3  G2
A13Z1 + A23Z2 + A33Z3  G3
Z1, Z2, Z3  0

Les règles de transformation permettant d’obtenir le dual.

Lorsqu’on formule le dual à partir du primal,

 Le sens de l’optimisation est inversé. La maximisation dans le primal devient une


minimisation dans le dual, et inversement.
 Les signes sont inversés dans les inégalités correspondant aux contraintes, mais la
contrainte de non-négativité sur les variables de décision subsiste.
 Les lignes de la matrice des coefficients des contraintes du primal deviennent des
colonnes de la matrice des coefficients du dual.
 Le vecteur ligne des coefficients de la fonction objectif du primal devient un vecteur
colonne de constantes associé aux contraintes du dual.
 Le vecteur colonne des constantes du primal devient un vecteur ligne des coefficients
de la fonction objectif dans le dual.
 Les variables de décision du primal (Xj) sont remplacées par les variables de décision
du dual (Zj).

compta-excellant.be
Exemple 2.

Maximiser  = 5X1 + 3X2

Sous les contraintes :

6X1 + 2X2  36
5X1 + 5X2  40
2X1 + 4X2  28
X1, X2  0

EST

Minimiser C = 36Z1 + 40 Z2 + 28Z3

Sous les contraintes :

6Z1 + 5Z2 + 2Z3  5


2Z1 + 5Z2 + 4Z3  3
Z1, Z2  0

Théorèmes applicables au dual.

1. La valeur optimale de la fonction objectif du primal est toujours égale à la valeur


optimale de la fonction objectif du dual, dès lors qu’une solution optimale accessible
existe.

2. Si, dans la solution optimale accessible,

 Une variable de décision du programme primal a une valeur autre que zéro, la
variable d’écart correspondante du programme dual a nécessairement une
valeur optimale égale à zéro ;
 Une variable d’écart du primal a une valeur autre que zéro, la variable de
décision correspondante du programme dual a nécessairement une valeur
optimale égale à zéro.

compta-excellant.be
APPLICATION.

Soit le problème dual :

Minimiser C = 40X1 + 20X2 + 60X3

Sous les contraintes :

2X1 + 4X2 + 10X3  24


5X1 + X2 + 5X3  8
X1, X2, X3  0

On demande :

 De formuler le problème dual correspondant ;


 De résoudre le problème dual ;
 D’utiliser la solution du dual pour trouver les valeurs optimales de la fonction
objectif du primal et des variables de décision du primal.

Le dual s’écrit :

Maximiser  = 24Z1 + 8Z1

Sous les contraintes :

2Z1 + 5Z2  40
4Z1 + Z2  20
10Z1 + 5Z2  60
Z1, Z2  0

Le dual a pour solution (méthode graphique ou méthode des tableaux) :

Z1 = 4 ; Z2 = 4 ;  = 128

Valeur optimale de la fonction objectif :

Si  = 128 , C = 128

Remarques.

Comme nous allons pouvoir le constater avec l’application ci-après, un avantage important
du dual est qu’il permet de transformer des problèmes de minimisation en problèmes de
maximisation généralement plus aisés à résoudre.
En outre le recours au dual permet de réduire le nombre de variables de décision.

compta-excellant.be
Valeurs optimales des variables de décision du primal :

Pour trouver les variables de décision du primal (X1, X2, X3) à partir des variables de décision
du dual (Z1, Z2), il faut tout d’abord transformer les inégalités des contraintes du primal et du
dual en équations :

2X1 + 4X2 + 10X3 – S1 = 24


5X1 + X2 + 5X3 – S2 = 8

2Z1 + 5Z2 + T1 = 40
4Z1 + Z2 + T2 = 20
10Z1 + 5Z2 + T3 = 60

Si on remplace Z1 et Z2 par leurs valeurs de 4 dans les contraintes du dual, on obtient :

2 * 4 + 5*4 + T1 = 40  T1 = 12
4*4 + 4 + T2 = 20  T2 = 0
10*4 + 5*4 + T3 = 60  T3 = 0

Puisque T1  0, la variable de décision correspondante du primal X1 = 0 ;


Puisque T2 = T3 = 0, les variables de décision correspondantes X2 et X3  0.

Puisque les valeurs optimales des variables de décision du dual Z1 et Z2  0, les variables
d’écart correspondantes du primal S1 = S2 = 0

Puisque X1 = S1 = S2 = 0, les équations liées aux contraintes du primal donnent :

2*0 + 4X2 + 10X3 – 0 = 24 (1)


5*0 + X2 + 5X3 – 0 = 8 (2)

(1) – 2 * (2) : 4X2 – 2X2 + 10X3 – 10X3 = 24 – 16  2X2 = 8  X2 = 4 (3)

(3) dans (2) : X2 + 5X3 = 8  4 + 5X3 = 8  5X3 = 4  X3 = 4/5 = 0,8

EXERCICE A RESOUDRE.

Appliquer la méthode utilisée ci-dessus au problème primal suivant :

Minimiser C = 36X1 + 30X2 + 40X3

Sous les contraintes :

2X1 + 5X2 + 8X3  40


6X1 + 3X2 + 2X3  50
X1, X2, X3  0

Solution du dual : (Z1, Z2) = (3, 5)

compta-excellant.be
L’ANALYSE POSTOPTIMALE.

L’objectif de l’analyse postoptimale est de décrire l’impact sur la solution optimale de


changements apportés à l’un ou l’autre des paramètres du modèle (sans devoir recourir à des
pivotages supplémentaires).

Application : la fonderie RIVIERE-BLEUE.

La fonderie RIVIERE-BLEUE, installée au Québec, est spécialisée dans la récupération et la


refonte de pièces métalliques diverses (blocs moteurs, pièces usées ou cassées, rebuts,…).
Elle produit des tuyaux de drainage (agricole ou de plomberie) essentiellement. La fonderie
produit également des gueuzes (pièces circulaires destinées à être boulonnées sur les roues des
tracteurs agricoles afin d’en prévenir les cabrements).
Le carnet de commandes pour la semaine à venir se présente de la manière suivante : 34
tonnes de tuyauterie et 14 tonnes de gueuzes. Le patron, Aurèle, ne s’est pas engagé
fermement à effectuer, en fin de semaine, la livraison intégrale de tous les articles
commandés.

La semaine prochaine, la main d’œuvre disponible sera de 160 heures dans l’atelier
d’ébarbage et de 120 heures dans l’atelier de peinture. Il faut compter 8 heures la tonne pour
l’ébarbage de tuyauterie et 4 heures la tonne pour celui de la gueuze.
A l’atelier de peinture, on requiert 4 heures la tonne pour la tuyauterie et 6 heures la tonne
pour les gueuzes.

La contribution aux coûts d’exploitation et au profit d’une tonne de tuyauterie est de 1.000 $.
La tonne de gueuze apporte une contribution de 1.200 $.

Quelles sont les commandes (en tonnes) qu’Aurèle devrait satisfaire la semaine prochaine,
s’il veut maximiser la contribution totale aux coûts d’exploitation et au profit ?

Les variables de décision.

X1 = nombre de tonnes de tuyauterie traitées


X2 = nombre de tonnes de gueuzes traitées.

Modélisation du problème.

Le problème de planification se traduit par le programme linéaire suivant :

Maximiser Z = 1000X1 + 1200X2

Sous les contraintes :

Ebarbage 8X1 + 4X2  160 (1)


Peinture 4X1 + 6X2  120 (2)
Demande de tuyauterie X1  34 (3)
Demande de gueuzes X2  14 (4)
Non-négativité X1, X2  0 (5)

compta-excellant.be
Résolution du programme linéaire.

Transformation des inégalités en équations.

8X1 + 4X2 + E1 = 160


4X1 + 6X2 + E2 = 120
X1 + E3 = 34
X2 + E4 = 14

La solution admissible optimale du problème est décrite par le tableau final suivant :

X1 X2 E1 E2 E3 E4 Constantes
1 0 0,1875 – 0,1250 0 0 15
0 1 – 0,1250 0,2500 0 0 10
0 0 – 0,1875 0,1250 1 0 19
0 0 0,1250 – 0,2500 0 1 4
0 0 – 37,5 – 175 0 0 27.000
INDICATEURS

On peut synthétiser la solution de la manière suivante :

(X1, X2) = (15, 10) et Z = 27.000 $


(E1, E2, E3) = (0, 0, 19)

VARIATION D’UN COEFFICIENT DE LA FONCTION OBJECTIF.

Comment va se comporter la solution optimale obtenue si on modifie la valeur d’un


coefficient de la fonction objectif (par exemple le coefficient de X1) ?

Si le coefficient de X1 varie de  (à la hausse ou à la baisse), la fonction objectif s’écrit :

Z’ = (1000 + )X1 + 1200X2 = Z + X1

Si on considère le tableau final ci-dessus, la solution optimale associée à ce tableau sera


optimale pour Z’ seulement si, su la dernière ligne du nouveau tableau (indicateurs), les
valeurs correspondant aux variables hors base sont toutes  0. Dans un premier temps, il
est dès lors nécessaire de calculer ces valeurs.

Commençons par construire un second tableau à partir du tableau final correspondant à la


solution optimale du problème.
Dans ce tableau, on a ajouté une ligne supplémentaire (d’indicateurs) correspondant à
l’hypothèse d’une variation  du coefficient de X1.
En outre on a ajouté (par souci de clarification) deux colonnes qui reprennent toutes les
informations connues sur les éléments figurant dans la base de la solution : identification des
variables et coefficients de ces mêmes variables.

compta-excellant.be
BASE
X1 X2 E1 E2 E3 E4 Constantes
Coeff. Var.
1000 +  X1 1 0 0,1875 – 0,1250 0 0 15
1200 X2 0 1 – 0,1250 0,2500 0 0 10
0 E3 0 0 – 0,1875 0,1250 1 0 19
0 E4 0 0 0,1250 – 0,2500 0 1 4
Coût marginal z : 0 0 – 37,5 – 175 0 0 27.000
Coût marginal z’ 0 0 ? ? 0 0 ?

Si le coefficient de X1 varie de , la valeur correspondante (dernière ligne) de E1 (qui n’est


pas dans la base) devient : –37,5 – 0,1875

Si le coefficient de X1 varie de , la valeur correspondante (dernière ligne) de E2 (qui n’est


pas non plus dans la base) devient : – 175 – (– 0,1250) = - 175 + 0,1250.

Puisque E1 et E2 ne sont pas dans la base, les valeurs correspondantes dans la dernière ligne
doivent être  0. en d’autres termes :

– 37,5 – 0,1875  0  – (37,5 + 0,1875)  0  37,5 + 0,1875   0


   – 37,5 / 0,1875    200

– 175 + 0,1250  0  – (175 – 0,1250)  0  175 – 0,1250  0


   175 / 0,1250    1400

Conclusion : 800  1000 +   2400

Interprétation : si le coefficient de X1 (qui est de 1000 au départ) est compris entre 800 et
2400, la solution optimale, obtenue pour un coefficient de 1000, demeure optimale.
Néanmoins la valeur prise par la fonction objectif se modifie en conséquence. Ainsi avec (X1,
X2) = (15, 10), on obtient (pour un coefficient de 1000 et, ensuite, un coefficient de 900) :

1000X1 + 1200X2 = 1000*15 + 1200*10 = 27.000 $


900X1 + 1200X2 = 900*15 + 1200*10 = 25.500 $

compta-excellant.be
MODIFICATION D’UN MEMBRE DE DROITE DANS UNE CONTRAINTE.

Supposons qu’Aurèle ne sache pas très précisément de combien de main d’œuvre il disposera
la semaine prochaine dans l’atelier d’ébarbage.

La contrainte associée s’écrit : 8X1 + 4X2  160 + 

La solution optimale obtenue initialement demeurera optimale à condition que les variables de
base demeurent positives.

Reprenons le tableau final modifié :

BASE
X1 X2 E1 E2 E3 E4 Constantes
Coeff. Var.
1000 X1 1 0 0,1875 – 0,1250 0 0 15
1200 X2 0 1 – 0,1250 0,2500 0 0 10
0 E3 0 0 – 0,1875 0,1250 1 0 19
0 E4 0 0 0,1250 – 0,2500 0 1 4
Coût marginal z : 0 0 – 37,5 – 175 0 0 27.000

Sur ce tableau, on peut lire les informations suivantes :

 Si E1 augmente d’une unité, X1 augmente de 0,1875 unités ;


 Si E1 augmente d’une unité, X2 diminue de 0,1250 unités ;
 Les variables d’écart E3 et E4 varieront respectivement comme X1 et X2, mais en sens
inverse ;
 La fonction objectif augmentera de 37,5 $ (valeur absolue de la valeur inscrite sur la
dernière ligne).

En conséquence, si E1 varie de , les effets sur les variables dans la base seront les suivants :

X1 = 15 + 0,1875
X2 = 10 – 0,1250
E3 = 19 – 0,1875
E4 = 4 + 0,1250

Puisque, pour que la solution demeure optimale, les variables dans la base doivent être  0 :

15 + 0,1875  0   – 80
10 – 0,1250  0   + 80
19 – 0,1875  0   + 101,33
4 + 0,1250  0   – 32

Autrement dit : – 32    80

Conclusion : 128  160 +   240

Interprétation : aussi longtemps que le membre de droite de la contrainte liée à l’atelier


d’ébarbage demeure compris entre 128 et 240, la solution demeure optimale (et Z = 27.000 $).

compta-excellant.be
EXERCICE N° 1.

Supposons cette fois qu’Aurèle décide de modifier le coefficient de X2. Quel sera l’impact de
cette variation sur la solution optimale ?

Si le coefficient de X1 varie de  (à la hausse ou à la baisse), la fonction objectif s’écrit :

Z’ = 1000X1 + (1200 + )X2 = Z + X2

BASE
X1 X2 E1 E2 E3 E4 Constantes
Coeff. Var.
1000 X1 1 0 0,1875 – 0,1250 0 0 15
1200 +  X2 0 1 – 0,1250 0,2500 0 0 10
0 E3 0 0 – 0,1875 0,1250 1 0 19
0 E4 0 0 0,1250 – 0,2500 0 1 4
Coût marginal z : 0 0 – 37,5 – 175 0 0 27.000
Coût marginal z’ 0 0 ? ? 0 0 ?

Si le coefficient de X2 varie de , la valeur correspondante (dernière ligne) de E1 (qui n’est


pas dans la base) devient : –37,5 + 0,1250

Si le coefficient de X2 varie de , la valeur correspondante (dernière ligne) de E2 (qui n’est


pas non plus dans la base) devient : – 175 – 0,2500 = – (175 + 0,2500).

Puisque E1 et E2 ne sont pas dans la base, les valeurs correspondantes dans la dernière ligne
doivent être  0. en d’autres termes :

– 37,5 + 0,1250  0  – (37,5 – 0,1250)  0  37,5 – 0,1250   0


   37,5 / 0,1250    300

– (175 + 0,2500)  0  175 + 0,2500  0    175 / 0,2500    700

Conclusion : 500  1200 +   1500

Interprétation : si le coefficient de X1 (qui est de 1200 au départ) est compris entre 500 et
1500, la solution optimale, obtenue pour un coefficient de 1200, demeure optimale.
Néanmoins la valeur prise par la fonction objectif se modifie en conséquence. Ainsi avec (X1,
X2) = (15, 10), on obtient (pour un coefficient de 1200 et, ensuite, un coefficient de 1000) :

1000X1 + 1200X2 = 1000*15 + 1200*10 = 27.000 $


1000X1 + 1000X2 = 1000*15 + 1000*10 = 25.000 $

EXERCICE N° 2.

Quel sera l’impact sur la solution optimale si Aurèle décide de modifier la main d’œuvre
disponible dans l’atelier de peinture ?

compta-excellant.be
LA PROGRAMMATION LINEAIRE EN NOMBRES ENTIERS.

Les modèles de programmes linéaires sont classés en différentes catégories ; ainsi on


distingue :

 Les modèles linéaires continus (PLC) : la variables de décision peuvent y prendre


n’importe quelle valeur positive ;

 Les modèles linéaires en nombre entiers (PLE) :

o Les modèles totalement en nombres entiers (PLTE) : toutes les variables de


décision doivent nécessairement être entières ;

o Les modèles mixtes (PLM) : certaines variables seulement doivent être


entières.

Exemple : un producteur de tables ne peut admettre comme solution optimale à un


programme linéaire une solution qui consisterait à produire 1,7 tables.

Solution : la solution au problème de la programmation consiste à introduire une contrainte


supplémentaire (dite contrainte d’intégrité) en vertu de laquelle les variables de décision
doivent (en tout ou en partie) être entières.

Illustration.

Soit le modèle P suivant :

Maximiser Z = 10X1 + 50X2

Sous les contraintes :

– X1 + 2X2  5
X1 + 2X2  14
X1  8
X1, X2  0
X1, X2 entiers

La méthode utilisée pour résoudre ce type de problème est nommée méthode SEP (séparation
et évaluation progressive).

compta-excellant.be
1ère étape.

La 1ère étape consiste à enlever les contraintes d’intégrité, puis à résoudre la « relaxation
continue » (P0) ainsi obtenue. A cet égard, il est pratique de décrire la solution optimale
obtenue à l’aide d’un schéma particulier qui reprend les valeurs des variables non nulles et la
valeur de la fonction objectif.

Nœud P0
P0 : Z0 = 282,5
X1 = 4,50
X2 = 4,75

On remarque naturellement que cette solution optimale viole les contraintes d’intégrité
associées aux 2 variables de décision. La démarche ne manque cependant pas d’intérêt :
puisque P0 est une relaxation de P, les valeurs optimales Z* de P et Z0 de P0 sont liées de la
manière suivante : Z*  Z0 = 282,5

2ème étape : la séparation.

Cette 2ème étape, dite étape de séparation, consiste à séparer la région admissible de P en 2
sous-régions dont aucune ne devra contenir la solution optimale de P0.
Cette séparation nécessite le choix d’une variable de séparation qui ne respecte pas la
contrainte d’intégrité qui lui est imposée dans le modèle P. La littérature scientifique propose
de nombreux critères de choix. On retiendra particulièrement les critères suivants :

 Critère de la variable la plus distante : selon ce critère, la variable de séparation est


celle dont la valeur s’écarte le plus de l’entier le plus près.
 Critère du meilleur cj : selon ce critère, la variable de séparation est celle dont le
coefficient dans la fonction objectif est le plus élevé s’il s’agit d’une maximisation et
le moins élevé s’il s’agit d’une minimisation.

Un seul critère est appliqué ; si, au regard du 1er critère, deux variables présentent le même
intérêt, on applique le 2ème critère.

Dans notre exemple, c’est X1 (séparée de 0,5 de la valeur entière la plus proche) qui doit être
retenue comme variable de séparation ; X2 est séparée seulement de 0,25 de la valeur entière
la plus proche).

Le modèle linéaire courant (P0) va être divisé en 2 sous-modèles définis de la manière


suivante :

P1 : P0 auquel on ajoute la contrainte X1  4


P2 : P0 auquel on ajoute la contrainte X1  5

Cette séparation de P est exhaustive dans la mesure où toute solution admissible de P vérifie
au moins l’une des contraintes additionnelles.
Ainsi aucune solution admissible de P ne sera écartée ; par contre la solution optimale de P0
sera éliminée puisqu’elle n’est admissible ni selon P1 ni selon P2.

compta-excellant.be
 Les modèles continus P1 et P2 sont résolus à l’aide de l’algorithme du simplex ; les résultats
obtenus sont résumés sous la forme d’un arbre qualifié d’arbre d’énumération. Le modèle
P0 est dit « nœud-père » ; P1 et P2 sont dits « nœud-fils ».

3ème étape : l’évaluation.

Bien entendu les solutions optimales de P1 et P2 violent à nouveau les contraintes d’intégrité ;
il faut dès lors procéder à une nouvelle séparation. Faut-il commencer par P1 ou par P2 ? C’est
précisément ici que démarre l’étape d’évaluation.

Il nous faut donc un critère pour choisir un nœud à partir duquel effectuer la prochaine
séparation. De façon générale, on retient le nœud qui possède la valeur optimale la plus élevée
lorsqu’il s’agit d’une maximisation et la valeur optimale la moins élevée lorsqu’il s’agit d’une
minimisation. En conséquence, c’est le nœud P2 qui sera choisi.

On procède ensuite de la même manière que précédemment : le modèle P2 est divisé en 2


sous-modèles selon les principes suivants :

P3 : P2 auquel on ajoute la contrainte X2  4


P4 : P2 auquel on ajoute la contrainte X2  5

C’est X2 qui constitue ici la variable de séparation puisque c’est la seule variable non entière
(remarque : en présence de plusieurs variables non entières, on applique les critères de
séparation utilisés à la 2ème étape).

Après résolution des modèles P3 et P4 à l’aide de l’algorithme du simplex, on onbtient l’arbre


d’énumération suivant :

compta-excellant.be
Les x présents sous les nœuds P3 et P4 signifient que ces solutions doivent être éliminées :

 En ce qui concerne P4, l’absence de solution admissible nous fait comprendre qu’il est
inutile de chercher plus loin dans cette direction.
 La solution de P3 est une solution admissible puisque les variables de décision ont des
valeurs entières ; néanmoins cette solution (Z3 = 260), inférieure à la solution de P0 (Z0
= 275) nous autorise à penser qu’il existe peut-être une meilleure solution.

En tout état de cause, nous savons déjà que la solution optimale de P est comprise entre 260 et
275.

On doit donc opérer une nouvelle séparation à partir de P1 en utilisant X2 comme variable de
séparation. On crée ainsi les 2 modèles suivants :

P4 : P1 auquel on ajoute la contrainte X2  4


P5 : P1 auquel on ajoute la contrainte X2  5

Les modèles P4 et P5 sont résolus à l’aide de l’algorithme du simplex et l’arbre d’énumération


s’enrichit de la manière suivante :

Les solutions de P5 et P6 doivent être éliminées : P6 n’offre pas de solution admissible et P5


offre une valeur optimale inférieure à la valeur optimale obtenue en P3.

En outre la méthode SEP est terminée dès l’instant où plus aucune séparation n’est possible.
En conséquence c’est la solution de P3, éliminée provisoirement au « tour précédent » qui doit
être retenue comme solution admissible et optimale.

La solution optimale de P est donc : (X1, X2) = (6, 4) et Z* = 260

Remarque : pour résoudre P, un modèle à 2 variables soumises à des contraintes


d’intégrité, il a fallu résoudre 7 problèmes continus. Il apparaît clairement que la
résolution d’un PLE est, en règle générale, bien plus fastidieuse que celle d’un modèle
linéaire continu. Il existe des méthodes « simplificatrices » qui permettent, à partir de la
solution optimale d’un nœud-père, d’amorcer la résolution des noeud-fils. De telles
méthodes ne soulagent que très partiellement les difficultés que l’on est inévitablement
amené à rencontrer dans la résolution des programmes linéaires en nombres entiers.

compta-excellant.be
RESOUDRE UN PROGRAMME LINEAIRE AVEC LINGO (version 8.0).

Résoudre le programme linéaire P (déjà rencontré) décrit ci-après.

Maximiser C = 10X + 50Y

Sous les contraintes :

– X + 2Y  5
X + 2Y  14
X  8
X, Y  0

Dans LINGO, le programme linéaire s’écrit :

MAX=10*X+50*Y;
-1*X+2*Y<=5;
X+2*Y<=14;
X<=8;

La solution affichée est la suivante :

Global optimal solution found at iteration: 2


Objective value: 282.5000

Variable Value Reduced Cost


X 4.500000 0.000000
Y 4.750000 0.000000

Row Slack or Surplus Dual Price


1 282.5000 1.000000
2 0.000000 7.500000
3 0.000000 17.50000
4 3.500000 0.000000

La solution apportée par le logiciel nous retourne, pour les variables de décision X et Y, les
valeurs de respectivement 4,5 et de 4,75. On constate en outre que la contrainte X  8 n’est
pas saturée : il y a un surplus de 3,5. La solution a été obtenue après 2 itérations.

Quid s’il s’agit d’un programme linéaire totalement en nombres entiers (PLTE) ?

Il suffit de l’indiquer dans la rédaction du programme :

MAX=10*X+50*Y;
-1*X+2*Y<=5;
X+2*Y<=14;
X<=8;
@GIN(X);
@GIN(Y);

compta-excellant.be
Le logiciel affiche alors la solution suivante :

Global optimal solution found at iteration: 5


Objective value: 260.0000

Variable Value Reduced Cost


X 6.000000 -10.00000
Y 4.000000 -50.00000

Row Slack or Surplus Dual Price


1 260.0000 1.000000
2 3.000000 0.000000
3 0.000000 0.000000
4 2.000000 0.000000

En conformité avec les résultats obtenus « manuellement », X et Y prennent les valeurs


respectivement de 6 et de 4 ; la valeur optimale de la fonction objectif se situe à 260. La
solution est obtenue après 5 itérations.

Remarque : la méthode utilisée pour résoudre des PLTE est la méthode « Branch-and-
Bound ».

L’analyse postoptimale avec LINGO 8.0.

Reprenons le programme linéaire établi par Aurèle, patron de la fonderie RIVIERE-BLEUE.

Maximiser Z = 1000X1 + 1200X2

Sous les contraintes :

8X1 + 4X2  160


4X1 + 6X2  120
X1  34
X2  14
X1, X2  0

Dans LINGO 8.0, le programme s’écrit :

MAX=1000*X+1200*Y;
8*X+4*Y<=160;
4*X+6*Y<=120;
X<=34;
Y<=14;

compta-excellant.be
Le programme affiche la solution suivante (après 2 itérations) :

Global optimal solution found at iteration: 2


Objective value: 27000.00

Variable Value Reduced Cost


X 15.00000 0.000000
Y 10.00000 0.000000

Row Slack or Surplus Dual Price


1 27000.00 1.000000
2 0.000000 37.50000
3 0.000000 175.0000
4 19.00000 0.000000
5 4.000000 0.000000

Cette solution confirme la solution que nous avons utilisée précédemment dans le cadre de
l’analyse postoptimale.

Si on demande ensuite à LINGO 8.0 de produire un rapport d’analyse postoptimale, il affiche le


rapport suivant :

Ranges in which the basis is unchanged:

Objective Coefficient Ranges


Current Allowable Allowable
Variable Coefficient Increase Decrease
X 1000.000 1400.000 200.0000
Y 1200.000 300.0000 700.0000

Righthand Side Ranges


Row Current Allowable Allowable
RHS Increase Decrease
2 160.0000 80.00000 32.00000
3 120.0000 16.00000 40.00000
4 34.00000 INFINITY 19.00000
5 14.00000 INFINITY 4.000000

Ce rapport nous apprend que la base demeure inchangée si :

 Le coefficient de X augmente de 1400 ou diminue de 200 ;


 Le coefficient de Y augmente de 300 ou diminue de 700 ;
 Le membre de droite de la 1ère contrainte augmente de 80 ou diminue de 32 ;
 Le membre de droite de la 2ème contrainte augmente de 16 ou diminue de 40 ;
 Le membre de droite de la 3ème contrainte augmente infiniment ou diminue de 19 ;
 Le membre de droite de la 4ème contrainte augmente infiniment ou diminue de 4.

Remarque : il s’agit bien sûr de limites (ou de bornes) entre lesquelles les valeurs peuvent varier
sans affecter la base de la solution.

compta-excellant.be
EXERCICE RESOLU A COMMENTER…

Soit le programme linéaire décrit ci-dessous.

Maximiser Z = 8X + 16Y

Sous les contraintes :

– 2X + 4Y  8
2X + 3Y  18
11X + 6Y  132
X, Y  0

Dans LINGO 8.0, le programme linéaire s’écrit :

MAX=8*X+16*Y;
-2*X+4*Y<=8;
2*X+3*Y>=18;
11*X+6*Y<=132;

Le logiciel affiche la solution suivante :

Global optimal solution found at iteration: 3


Objective value: 169.1429

Variable Value Reduced Cost


X 8.571429 0.000000
Y 6.285714 0.000000

Row Slack or Surplus Dual Price


1 169.1429 1.000000
2 0.000000 2.285714
3 18.00000 0.000000
4 0.000000 1.142857

Le rapport d’analyse postoptimale est le suivant :

Ranges in which the basis is unchanged:

Objective Coefficient Ranges


Current Allowable Allowable
Variable Coefficient Increase Decrease
X 8.000000 21.33333 16.00000
Y 16.00000 INFINITY 11.63636

Righthand Side Ranges


Row Current Allowable Allowable
RHS Increase Decrease
2 8.000000 80.00000 32.00000
3 18.00000 18.00000 INFINITY
4 132.0000 INFINITY 72.00000

compta-excellant.be
EXERCICE RESOLU.

Soit le programme linéaire (maximisation) décrit ci-dessous.

Maximiser  = 60X + 100Y

Sous les contraintes :

4X + 5Y  40
6X + 3Y  42
2X + 6Y  42
X, Y  0

Dans LINGO 8.0, le programme linéaire s’écrit :

MAX=60*X+100*Y;
4*X+5*Y<=40;
6*X+3*Y<=42;
2*X+6*Y<=42;

Le logiciel affiche la solution suivante :

Global optimal solution found at iteration: 2


Objective value: 757.1429

Variable Value Reduced Cost


X 2.142857 0.000000
Y 6.285714 0.000000

Row Slack or Surplus Dual Price


1 757.1429 1.000000
2 0.000000 11.42857
3 10.28571 0.000000
4 0.000000 7.142857

Le tableau final dans l’algorithme du simplex se présente comme suit :

X Y S1 S2 S3 Constantes
1 0 3/7 0 – 5/14 2,14
0 0 – 15/7 1 9/7 10,29
0 1 – 1/7 0 4/14 6,29
0 0 11,43 0 7,14 757,14

compta-excellant.be
Le rapport d’analyse postoptimale est le suivant :

Ranges in which the basis is unchanged:

Objective Coefficient Ranges


Current Allowable Allowable
Variable Coefficient Increase Decrease
X 60.00000 20.00000 26.66667
Y 100.0000 80.00000 25.00000

Righthand Side Ranges


Row Current Allowable Allowable
RHS Increase Decrease
2 40.00000 4.800000 5.000000
3 42.00000 INFINITY 10.28571
4 42.00000 6.000000 8.000000

Variations des paramètres laissant la base inchangée : synthèse.

Paramètres Courant minimum maximum


Coefficient X 60 33,33 80
Coefficient Y 100 75 180
Membre droit contrainte 1 40 35 44,8
Membre droit contrainte 2 42 31,71 Infini
Membre droit contrainte 3 42 34 48

EXERCICE A RESOUDRE.

Soit le programme linéaire décrit ci-dessous.

Maximiser  = 3X + 4Y

Sous les contraintes :

2,5X + Y  20
3X + 3Y  30
X + 2Y  16
X, Y  0

Dans LINGO 8.0, le programme linéaire s’écrit :

MAX=3*X+4*Y;
2.5*X+1*Y<=20;
3*X+3*Y<=30;
X+2*Y<=16;

compta-excellant.be
Le logiciel affiche la solution suivante :

Global optimal solution found at iteration: 2


Objective value: 36.00000

Variable Value Reduced Cost


X 4.000000 0.000000
Y 6.000000 0.000000

Row Slack or Surplus Dual Price


1 36.00000 1.000000
2 4.000000 0.000000
3 0.000000 0.6666667
4 0.000000 1.000000

Le rapport d’analyse postoptimale est le suivant :

Ranges in which the basis is unchanged:

Objective Coefficient Ranges


Current Allowable Allowable
Variable Coefficient Increase Decrease
X 3.000000 1.000000 1.000000
Y 4.000000 2.000000 1.000000

Righthand Side Ranges


Row Current Allowable Allowable
RHS Increase Decrease
2 20.00000 INFINITY 4.000000
3 30.00000 3.000000 6.000000
4 16.00000 4.000000 2.666667

Compléter le tableau final de l’algorithme du simplex.

X Y S1 S2 S3 Constantes
0 0 1 - 4/3 3/2
1 0 0 2/3 –1
0 1 0 – 1/3 1

Compléter le tableau de synthèse ci-dessous.

Paramètres Courant minimum maximum


Coefficient X
Coefficient Y
Membre droit contrainte 1
Membre droit contrainte 2
Membre droit contrainte 3

compta-excellant.be
L’ANALYSE POSTOPTIMALE.
L’objectif de l’analyse postoptimale est de décrire l’impact sur la solution optimale de
changements apportés à l’un ou l’autre des paramètres du modèle (sans devoir recourir à des
pivotages supplémentaires).

Application : la fonderie RIVIERE-BLEUE.

La fonderie RIVIERE-BLEUE, installée au Québec, est spécialisée dans la récupération et la


refonte de pièces métalliques diverses (blocs moteurs, pièces usées ou cassées, rebuts,…).
Elle produit des tuyaux de drainage (agricole ou de plomberie) essentiellement. La fonderie
produit également des gueuzes (pièces circulaires destinées à être boulonnées sur les roues des
tracteurs agricoles afin d’en prévenir les cabrements).
Le carnet de commandes pour la semaine à venir se présente de la manière suivante : 34
tonnes de tuyauterie et 14 tonnes de gueuzes. Le patron, Aurèle, ne s’est pas engagé
fermement à effectuer, en fin de semaine, la livraison intégrale de tous les articles
commandés.

La semaine prochaine, la main d’œuvre disponible sera de 160 heures dans l’atelier
d’ébarbage et de 120 heures dans l’atelier de peinture. Il faut compter 8 heures la tonne pour
l’ébarbage de tuyauterie et 4 heures la tonne pour celui de la gueuze.
A l’atelier de peinture, on requiert 4 heures la tonne pour la tuyauterie et 6 heures la tonne
pour les gueuzes.

La contribution aux coûts d’exploitation et au profit d’une tonne de tuyauterie est de 1.000 $.
La tonne de gueuze apporte une contribution de 1.200 $.

Quelles sont les commandes (en tonnes) qu’Aurèle devrait satisfaire la semaine prochaine,
s’il veut maximiser la contribution totale aux coûts d’exploitation et au profit ?

Les variables de décision.

X1 = nombre de tonnes de tuyauterie traitées


X2 = nombre de tonnes de gueuzes traitées.

Modélisation du problème.

Le problème de planification se traduit par le programme linéaire suivant :

Maximiser Z = 1000X1 + 1200X2

Sous les contraintes :

Ebarbage 8X1 + 4X2  160 (1)


Peinture 4X1 + 6X2  120 (2)
Demande de tuyauterie X1  34 (3)
Demande de gueuzes X2  14 (4)
Non-négativité X1, X2  0 (5)

compta-excellant.be
Résolution du programme linéaire.

Transformation des inégalités en équations.

8X1 + 4X2 + E1 = 160


4X1 + 6X2 + E2 = 120
X1 + E3 = 34
X2 + E4 = 14

La solution admissible optimale du problème est décrite par le tableau final suivant :

X1 X2 E1 E2 E3 E4 Constantes
1 0 0,1875 – 0,1250 0 0 15
0 1 – 0,1250 0,2500 0 0 10
0 0 – 0,1875 0,1250 1 0 19
0 0 0,1250 – 0,2500 0 1 4
0 0 37,5 175 0 0 27.000
INDICATEURS

 Voir la résolution entière en annexe (feuilles 1a à 3 a).

On peut synthétiser la solution de la manière suivante :

(X1, X2) = (15, 10) et Z = 27.000 $


(E1, E2, E3) = (0, 0, 19)

VARIATION D’UN COEFFICIENT DE LA FONCTION OBJECTIF.

Comment va se comporter la solution optimale obtenue si on modifie la valeur d’un


coefficient de la fonction objectif (par exemple le coefficient de X1) ?

Si le coefficient de X1 varie de  (à la hausse ou à la baisse), la fonction objectif s’écrit :

Z’ = (1000 + )X1 + 1200X2 = Z + X1

Si on considère le tableau final ci-dessus, la solution optimale associée à ce tableau sera


optimale pour Z’ seulement si, su la dernière ligne du nouveau tableau (indicateurs), les
valeurs correspondant aux variables hors base sont toutes  0. Dans un premier temps, il
est dès lors nécessaire de calculer ces valeurs.

Commençons par construire un second tableau à partir du tableau final correspondant à la


solution optimale du problème.
Dans ce tableau, on a ajouté une ligne supplémentaire (d’indicateurs) correspondant à
l’hypothèse d’une variation  du coefficient de X1.
En outre on a ajouté (par souci de clarification) deux colonnes qui reprennent toutes les
informations connues sur les éléments figurant dans la base de la solution : identification des
variables et coefficients de ces mêmes variables.

compta-excellant.be
BASE
X1 X2 E1 E2 E3 E4 Constantes
Coeff. Var.
1000 +  X1 1 0 0,1875 – 0,1250 0 0 15
1200 X2 0 1 – 0,1250 0,2500 0 0 10
0 E3 0 0 – 0,1875 0,1250 1 0 19
0 E4 0 0 0,1250 – 0,2500 0 1 4
Coût marginal z : 0 0 37,5 175 0 0 27.000
Coût marginal z’ 1000 1200 - 37,5 - 175 0 0 27.000

Si le coefficient de X1 varie de , la valeur correspondante (dernière ligne) de E1 (qui n’est


pas dans la base) devient : –37,5 – 0,1875

Si le coefficient de X1 varie de , la valeur correspondante (dernière ligne) de E2 (qui n’est


pas non plus dans la base) devient : – 175 – (– 0,1250) = - 175 + 0,1250.

Puisque E1 et E2 ne sont pas dans la base, les valeurs correspondantes dans la dernière ligne
doivent être  0. en d’autres termes :

– 37,5 – 0,1875  0  – (37,5 + 0,1875)  0  37,5 + 0,1875   0


   – 37,5 / 0,1875    200

– 175 + 0,1250  0  – (175 – 0,1250)  0  175 – 0,1250  0


   175 / 0,1250    1400

Conclusion : 800  1000 +   2400

Interprétation : si le coefficient de X1 (qui est de 1000 au départ) est compris entre 800 et
2400, la solution optimale, obtenue pour un coefficient de 1000, demeure optimale.
Néanmoins la valeur prise par la fonction objectif se modifie en conséquence. Ainsi avec (X1,
X2) = (15, 10), on obtient (pour un coefficient de 1000 et, ensuite, un coefficient de 900) :

1000X1 + 1200X2 = 1000*15 + 1200*10 = 27.000 $


900X1 + 1200X2 = 900*15 + 1200*10 = 25.500 $

 Voir résolutions avec LINGO en annexe (feuilles (1b à 4b).

compta-excellant.be
MODIFICATION D’UN MEMBRE DE DROITE DANS UNE CONTRAINTE.

Supposons qu’Aurèle ne sache pas très précisément de combien de main d’œuvre il disposera
la semaine prochaine dans l’atelier d’ébarbage.

La contrainte associée s’écrit : 8X1 + 4X2  160 + 

La solution optimale obtenue initialement demeurera optimale à condition que les variables de
base demeurent positives.

Reprenons le tableau final modifié :

BASE
X1 X2 E1 E2 E3 E4 Constantes
Coeff. Var.
1000 X1 1 0 0,1875 – 0,1250 0 0 15
1200 X2 0 1 – 0,1250 0,2500 0 0 10
0 E3 0 0 – 0,1875 0,1250 1 0 19
0 E4 0 0 0,1250 – 0,2500 0 1 4
Coût marginal z : 0 0 37,5 175 0 0 27.000
Coût marginal z’ 1000 1200 - 37,5 - 175 0 0 27.000

Sur ce tableau, on peut lire les informations suivantes :

 Si E1 augmente d’une unité, X1 augmente de 0,1875 unités ;


 Si E1 augmente d’une unité, X2 diminue de 0,1250 unités ;
 Les variables d’écart E3 et E4 varieront respectivement comme X1 et X2, mais en sens
inverse ;
 La fonction objectif augmentera de 37,5 $ (valeur absolue de la valeur inscrite sur la
dernière ligne).

En conséquence, si E1 varie de , les effets sur les variables dans la base seront les suivants :

X1 = 15 + 0,1875
X2 = 10 – 0,1250
E3 = 19 – 0,1875
E4 = 4 + 0,1250

Puisque, pour que la solution demeure optimale, les variables dans la base doivent être  0 :

15 + 0,1875  0   – 80
10 – 0,1250  0   + 80
19 – 0,1875  0   + 101,33
4 + 0,1250  0   – 32

Autrement dit : – 32    80

Conclusion : 128  160 +   240

compta-excellant.be
Interprétation : aussi longtemps que le membre de droite de la contrainte liée à l’atelier
d’ébarbage demeure compris entre 128 et 240, la solution demeure optimale (et Z = 27.000 $).

EXERCICE N° 1.

Supposons cette fois qu’Aurèle décide de modifier le coefficient de X2. Quel sera l’impact de
cette variation sur la solution optimale ?

Si le coefficient de X1 varie de  (à la hausse ou à la baisse), la fonction objectif s’écrit :

Z’ = 1000X1 + (1200 + )X2 = Z + X2

BASE
X1 X2 E1 E2 E3 E4 Constantes
Coeff. Var.
1000 X1 1 0 0,1875 – 0,1250 0 0 15
1200 +  X2 0 1 – 0,1250 0,2500 0 0 10
0 E3 0 0 – 0,1875 0,1250 1 0 19
0 E4 0 0 0,1250 – 0,2500 0 1 4
Coût marginal z : 0 0 37,5 175 0 0 27.000
Coût marginal z’ 1000 1200 - 37,5 - 175 0 0 27.000

Si le coefficient de X2 varie de , la valeur correspondante (dernière ligne) de E1 (qui n’est


pas dans la base) devient : –37,5 + 0,1250

Si le coefficient de X2 varie de , la valeur correspondante (dernière ligne) de E2 (qui n’est


pas non plus dans la base) devient : – 175 – 0,2500 = – (175 + 0,2500).

Puisque E1 et E2 ne sont pas dans la base, les valeurs correspondantes dans la dernière ligne
doivent être  0. en d’autres termes :

– 37,5 + 0,1250  0  – (37,5 – 0,1250)  0  37,5 – 0,1250   0


   37,5 / 0,1250    300

– (175 + 0,2500)  0  175 + 0,2500  0    175 / 0,2500    700

Conclusion : 500  1200 +   1500

Interprétation : si le coefficient de X1 (qui est de 1200 au départ) est compris entre 500 et
1500, la solution optimale, obtenue pour un coefficient de 1200, demeure optimale.
Néanmoins la valeur prise par la fonction objectif se modifie en conséquence. Ainsi avec (X1,
X2) = (15, 10), on obtient (pour un coefficient de 1200 et, ensuite, un coefficient de 1000) :

1000X1 + 1200X2 = 1000*15 + 1200*10 = 27.000 $


1000X1 + 1000X2 = 1000*15 + 1000*10 = 25.000 $

compta-excellant.be
EXERCICE N° 2.

Quel sera l’impact sur la solution optimale si Aurèle décide de modifier la main d’œuvre
disponible dans l’atelier de peinture ?

L’analyse postoptimale avec LINGO 8.0.

Reprenons le programme linéaire établi par Aurèle, patron de la fonderie RIVIERE-BLEUE.

Maximiser Z = 1000X1 + 1200X2

Sous les contraintes :

8X1 + 4X2  160


4X1 + 6X2  120
X1  34
X2  14
X1, X2  0

Dans LINGO 8.0, le programme s’écrit :

MAX=1000*X+1200*Y;
8*X+4*Y<=160;
4*X+6*Y<=120;
X<=34;
Y<=14;

Le programme affiche la solution suivante (après 2 itérations) :

Global optimal solution found at iteration: 2


Objective value: 27000.00

Variable Value Reduced Cost


X 15.00000 0.000000
Y 10.00000 0.000000

Row Slack or Surplus Dual Price


1 27000.00 1.000000
2 0.000000 37.50000
3 0.000000 175.0000
4 19.00000 0.000000
5 4.000000 0.000000

Cette solution confirme la solution que nous avons utilisée précédemment dans le cadre de
l’analyse postoptimale.

compta-excellant.be
Si on demande ensuite à LINGO 8.0 de produire un rapport d’analyse postoptimale, il affiche le
rapport suivant :

Ranges in which the basis is unchanged:

Objective Coefficient Ranges


Current Allowable Allowable
Variable Coefficient Increase Decrease
X 1000.000 1400.000 200.0000
Y 1200.000 300.0000 700.0000

Righthand Side Ranges


Row Current Allowable Allowable
RHS Increase Decrease
2 160.0000 80.00000 32.00000
3 120.0000 16.00000 40.00000
4 34.00000 INFINITY 19.00000
5 14.00000 INFINITY 4.000000

Ce rapport nous apprend que la base demeure inchangée si :

 Le coefficient de X augmente de 1400 ou diminue de 200 ;


 Le coefficient de Y augmente de 300 ou diminue de 700 ;
 Le membre de droite de la 1ère contrainte augmente de 80 ou diminue de 32 ;
 Le membre de droite de la 2ème contrainte augmente de 16 ou diminue de 40 ;
 Le membre de droite de la 3ème contrainte augmente infiniment ou diminue de 19 ;
 Le membre de droite de la 4ème contrainte augmente infiniment ou diminue de 4.

Remarque : il s’agit bien sûr de limites (ou de bornes) entre lesquelles les valeurs peuvent varier
sans affecter la base de la solution.

compta-excellant.be
EXERCICE RESOLU A COMMENTER…

Soit le programme linéaire décrit ci-dessous.

Maximiser Z = 8X + 16Y

Sous les contraintes :

– 2X + 4Y  8
2X + 3Y  18
11X + 6Y  132
X, Y  0

Dans LINGO 8.0, le programme linéaire s’écrit :

MAX=8*X+16*Y;
-2*X+4*Y<=8;
2*X+3*Y>=18;
11*X+6*Y<=132;

Le logiciel affiche la solution suivante :

Global optimal solution found at iteration: 3


Objective value: 169.1429

Variable Value Reduced Cost


X 8.571429 0.000000
Y 6.285714 0.000000

Row Slack or Surplus Dual Price


1 169.1429 1.000000
2 0.000000 2.285714
3 18.00000 0.000000
4 0.000000 1.142857

Le rapport d’analyse postoptimale est le suivant :

Ranges in which the basis is unchanged:

Objective Coefficient Ranges


Current Allowable Allowable
Variable Coefficient Increase Decrease
X 8.000000 21.33333 16.00000
Y 16.00000 INFINITY 11.63636

Righthand Side Ranges


Row Current Allowable Allowable
RHS Increase Decrease
2 8.000000 80.00000 32.00000
3 18.00000 18.00000 INFINITY
4 132.0000 INFINITY 72.00000

compta-excellant.be
Paramètres Courant minimum maximum
Coefficient X 8 29,33 0
Coefficient Y 16 4,36 infini
Membre droit contrainte 1 8 88 0
Membre droit contrainte 2 18 0 36
Membre droit contrainte 3 132 60 infini

EXERCICE RESOLU.

Soit le programme linéaire (maximisation) décrit ci-dessous.

Maximiser  = 60X + 100Y

Sous les contraintes :

4X + 5Y  40
6X + 3Y  42
2X + 6Y  42
X, Y  0

Dans LINGO 8.0, le programme linéaire s’écrit :

MAX=60*X+100*Y;
4*X+5*Y<=40;
6*X+3*Y<=42;
2*X+6*Y<=42;

Le logiciel affiche la solution suivante :

Global optimal solution found at iteration: 2


Objective value: 757.1429

Variable Value Reduced Cost


X 2.142857 0.000000
Y 6.285714 0.000000

Row Slack or Surplus Dual Price


1 757.1429 1.000000
2 0.000000 11.42857
3 10.28571 0.000000
4 0.000000 7.142857

Le tableau final dans l’algorithme du simplex se présente comme suit :

X Y S1 S2 S3 Constantes
1 0 3/7 0 – 5/14 2,14
0 0 – 15/7 1 9/7 10,29
0 1 – 1/7 0 4/14 6,29
0 0 11,43 0 7,14 757,14

compta-excellant.be
Le rapport d’analyse postoptimale est le suivant :

Ranges in which the basis is unchanged:

Objective Coefficient Ranges


Current Allowable Allowable
Variable Coefficient Increase Decrease
X 60.00000 20.00000 26.66667
Y 100.0000 80.00000 25.00000

Righthand Side Ranges


Row Current Allowable Allowable
RHS Increase Decrease
2 40.00000 4.800000 5.000000
3 42.00000 INFINITY 10.28571
4 42.00000 6.000000 8.000000

Variations des paramètres laissant la base inchangée : synthèse.

Paramètres Courant minimum maximum


Coefficient X 60 33,33 80
Coefficient Y 100 75 180
Membre droit contrainte 1 40 35 44,8
Membre droit contrainte 2 42 31,71 Infini
Membre droit contrainte 3 42 34 48

EXERCICE A RESOUDRE.

Soit le programme linéaire décrit ci-dessous.

Maximiser  = 3X + 4Y

Sous les contraintes :

2,5X + Y  20
3X + 3Y  30
X + 2Y  16
X, Y  0

Dans LINGO 8.0, le programme linéaire s’écrit :

MAX=3*X+4*Y;
2.5*X+1*Y<=20;
3*X+3*Y<=30;
X+2*Y<=16;

compta-excellant.be
Le logiciel affiche la solution suivante :

Global optimal solution found at iteration: 2


Objective value: 36.00000

Variable Value Reduced Cost


X 4.000000 0.000000
Y 6.000000 0.000000

Row Slack or Surplus Dual Price


1 36.00000 1.000000
2 4.000000 0.000000
3 0.000000 0.6666667
4 0.000000 1.000000

Le rapport d’analyse postoptimale est le suivant :

Ranges in which the basis is unchanged:

Objective Coefficient Ranges


Current Allowable Allowable
Variable Coefficient Increase Decrease
X 3.000000 1.000000 1.000000
Y 4.000000 2.000000 1.000000

Righthand Side Ranges


Row Current Allowable Allowable
RHS Increase Decrease
2 20.00000 INFINITY 4.000000
3 30.00000 3.000000 6.000000
4 16.00000 4.000000 2.666667

Compléter le tableau final de l’algorithme du simplex.

X Y S1 S2 S3 Constantes
0 0 1 - 4/3 3/2
1 0 0 2/3 –1
0 1 0 – 1/3 1

Compléter le tableau de synthèse ci-dessous.

Paramètres Courant minimum maximum


Coefficient X
Coefficient Y
Membre droit contrainte 1
Membre droit contrainte 2
Membre droit contrainte 3

compta-excellant.be
MAX  = 30X + 24 Y + 60Z

Sous les contraintes :

6X + 3Y + 5 Z  30 ;
2X + 2Y + 10Z  50 ;
X, Y, Z  0

Global optimal solution found.


Objective value: 330.0000
Total solver iterations: 2

Variable Value Reduced Cost


X 0.000000 12.00000
Y 2.500000 0.000000
Z 4.500000 0.000000

Row Slack or Surplus Dual Price


1 330.0000 1.000000
2 0.000000 6.000000
3 0.000000 3.000000

MAX  = 40X + 24 Y + 60Z

Sous les contraintes :

6X + 3Y + 5 Z  30 ;
2X + 2Y + 10Z  50 ;
X, Y, Z  0

Global optimal solution found.


Objective value: 330.0000
Total solver iterations: 0

Variable Value Reduced Cost


X 0.000000 2.000000
Y 2.500000 0.000000
Z 4.500000 0.000000

Row Slack or Surplus Dual Price


1 330.0000 1.000000
2 0.000000 6.000000
3 0.000000 3.000000

compta-excellant.be
MAX  = 30X + 24 Y + 60Z

Sous les contraintes :

6X + 3Y + 5 Z  40 ;
2X + 2Y + 10Z  50 ;
X, Y, Z  0

Global optimal solution found.


Objective value: 390.0000
Total solver iterations: 2

Variable Value Reduced Cost


X 0.000000 2.000000
Y 7.500000 0.000000
Z 3.500000 0.000000

Row Slack or Surplus Dual Price


1 390.0000 1.000000
2 0.000000 6.000000
3 0.000000 3.000000

compta-excellant.be
PROGRAMMATION LINEAIRE : ENONCES

Enoncé 1.

Eugène Iberville, spécialiste dans le design du meuble de luxe, a adapté, pour la production en
courtes séries, 2 chaises du créateur Ludwig Mies Van Der Rohe : la chaise en porte-à-faux et
la chaise Barcelone.
M. Eugène les a pourvues d’une armature métallique dont les pièces sont assemblées par
brasage puis enduites de laques isolantes, ce qui confère au métal un toucher chaud. Dossiers
et sièges sont ensuite recouverts de cuirs de Cordoue capitonnés.

M. Eugène s’est engagé à livrer d’ici 3 semaines au moins 42 chaises en porte-à-faux et 53


chaises Barcelone. Il estime à 100 unités le marché potentiel pour chaque type de chaise.

Les données relatives à la production des chaises sont les suivantes :

Durée de fabrication d’une chaise


Nombre d’heures
Opération A B
disponibles
Porte-à-faux Barcelone
Brasage 1,5 heure 2 heures 250
Laquage 30 minutes 45 minutes 100
Capitonnage 2 heures 3 heures 327
Profit par chaise 450,00 € 800,00 €

L’objectif poursuivi par M. Eugène est de maximiser le profit qu’il compte bien retirer de la
vente de ses chaises.

Enoncé 2.

La maison Kalinine vient de lancer un article de confection qui a toute la faveur des amateurs
de jeans et de rock : ils se l’arrachent littéralement. Il s’agit de la fameuse roubachka russe,
sorte de chemise à col Mao avant la lettre, qui s’enfile comme un pull grâce aux quelques
boutons qui permettent d’en élargir le collet et qui s’orne de broderies rouges tout en
mirlitons.
La maison Kalinine en confectionne 4 modèles qui se distinguent les uns des autres par la
finesse du tissu utilisé, l’élaboration du travail de broderie, la qualité des coutures et la beauté
de l’emballage.

Les données relatives à la confection de ces roubachki sont données dans les tableaux ci-
dessous.

Durées (en minutes) des opérations de fabrication :

Atelier Modèle
La Cosaque L’Ukrainienne La Slavonne La Tatare
Coupe 5 8 6 8
Couture 10 8 7 6
Broderie 20 15 10 25
Emballage 5 6 5 4

compta-excellant.be
Coûts de fabrication et prix de vente unitaires :

Atelier Modèle
La Cosaque L’Ukrainienne La Slavonne La Tatare
Main-d’œuvre 7,50 8,00 6,50 8,00
& fournitures
Tissu 15,00 12,00 8,00 10,00
Emballage 2,00 1,50 1,00 1,50
Prix de vente 44,50 45,50 39,50 49,50

Main-d’œuvre disponible (en minutes) dans chacun des ateliers durant le prochain mois :

Ateliers
Coupe Couture Broderie Emballage
Disponibilité 21.000 33.000 50.000 25.000

La demande pour chacun des 4 modèles est, jusqu’à présent, supérieure à la capacité de
production de Kalinine. Le carnet de commandes forcera Kalinine à fabriquer le mois
prochain au moins 1000 roubachki l’ukrainienne et au moins 1300 roubachki la Slavonne.

La maison Kalinine cherche à établir, pour le mois prochain, le plan de production qui
maximisera son profit.

compta-excellant.be
PROGRAMMATION LINEAIRE : LES CHAISES DE M. EUGENE

Enoncé.

Eugène Iberville, spécialiste dans le design du meuble de luxe, a adapté, pour la production en
courtes séries, 2 chaises du créateur Ludwig Mies Van Der Rohe : la chaise en porte-à-faux et
la chaise Barcelone.
M. Eugène les a pourvues d’une armature métallique dont les pièces sont assemblées par
brasage puis enduites de laques isolantes, ce qui confère au métal un toucher chaud. Dossiers
et sièges sont ensuite recouverts de cuirs de Cordoue capitonnés.

M. Eugène s’est engagé à livrer d’ici 3 semaines au moins 42 chaises en porte-à-faux et 53


chaises Barcelone. Il estime à 100 unités le marché potentiel pour chaque type de chaise.

Les données relatives à la production des chaises sont les suivantes :

Durée de fabrication d’une chaise


Nombre d’heures
Opération A B
disponibles
Porte-à-faux Barcelone
Brasage 1,5 heure 2 heures 250
Laquage 30 minutes 45 minutes 100
Capitonnage 2 heures 3 heures 327
Profit par chaise 450,00 € 800,00 €

L’objectif poursuivi par M. Eugène est de maximiser le profit qu’il compte bien retirer de la
vente de ses chaises.

Le programme linéaire.

Les variables de décision.

Soit X le nombre de chaises porte-à-faux et Y le nombre de chaises Barcelone.

La fonction objectif.

MAX Z = 450X + 800Y

Les contraintes.

X  42
Y  53
X  100
Y  100
1,5X + 2Y  250
0,5X + 0,75Y  100
2X + 3Y  327
X et Y  0 (les contraintes de non négativité).

compta-excellant.be
Résolution à l’aide de LINGO 10.0.

MAX=450*X+800*Y;
X>=42;
Y>=53;
X<=100;
Y<=100;
1.5*X+2*Y<=250;
0.5*X+0.75*Y<=100;
2*X+3*Y<=327;

Global optimal solution found.


Objective value: 83700.00
Total solver iterations: 2

Variable Value Reduced Cost


X 42.00000 0.000000
Y 81.00000 0.000000

Row Slack or Surplus Dual Price


1 83700.00 1.000000
2 0.000000 -83.33333
3 28.00000 0.000000
4 58.00000 0.000000
5 19.00000 0.000000
6 25.00000 0.000000
7 18.25000 0.000000
8 0.000000 266.6667

Le logiciel nous renvoie la solution optimale : X = 42 ; Y = 81 ; objectif = 83.700,00 €.

On constate que les contraintes 5 et 6 (lignes 6 et 7 de la solution) ne sont pas saturées ; en


faisant l’hypothèse que les heures disponibles peuvent être transférées d’une opération à une
autre (polyvalence des travailleurs), on peut resserrer les contraintes non saturées 5 et 6 de
manière à desserrer la contrainte saturée 7 (ligne 8 de la solution).

Le nouveau programme linéaire se présente :

MAX=450*X+800*Y;
X>=42;
Y>=53;
X<=100;
Y<=100;
1.5*X+2*Y<=240;
0.5*X+0.75*Y<=89;
2*X+3*Y<=348;

compta-excellant.be
La solution renvoyée par le logiciel est :

Global optimal solution found.


Objective value: 89300.00
Total solver iterations: 2

Variable Value Reduced Cost


X 42.00000 0.000000
Y 88.00000 0.000000

Row Slack or Surplus Dual Price


1 89300.00 1.000000
2 0.000000 -83.33333
3 35.00000 0.000000
4 58.00000 0.000000
5 12.00000 0.000000
6 1.000000 0.000000
7 2.000000 0.000000
8 0.000000 266.6667

Le logiciel nous renvoie la solution optimale : X = 42 ; Y = 88 ; objectif = 89.300,00 €.

Expression matricielle du 1er programme linéaire.

X
 
 1 0 1 0 0 0 0 0 0   Y   42 
   
 0 1 0 1 0 0 0 0 0   S 1   53 
 
 1 0 0 0 1 0 0 0 0   S 2   100 
   
 0 1 0 0 0 1 0 0 0    S 3    100 
 
 1,5 2 0 0 0 0 1 0 0  S 4   250 

   
 0,5 0, 75 0 0 0 0 0 1 0   S 5   100 
 2   
 3 0 0 0 0 0 0 1   S 6   327 

 S7
 

compta-excellant.be
PROGRAMMATION LINEAIRE

LES ROUBACHKI DE LA MAISON KALININE.

La maison Kalinine vient de lancer un article de confection qui a toute la faveur des amateurs
de jeans et de rock : ils se l’arrachent littéralement. Il s’agit de la fameuse roubachka russe,
sorte de chemise à col Mao avant la lettre, qui s’enfile comme un pull grâce aux quelques
boutons qui permettent d’en élargir le collet et qui s’orne de broderies rouges tout en
mirlitons.
La maison Kalinine en confectionne 4 modèles qui se distinguent les uns des autres par la
finesse du tissu utilisé, l’élaboration du travail de broderie, la qualité des coutures et la beauté
de l’emballage.

Les données relatives à la confection de ces roubachki sont données dans les tableaux ci-
dessous.

Durées (en minutes) des opérations de fabrication :

Atelier Modèle
La Cosaque L’Ukrainienne La Slavonne La Tatare
Coupe 5 8 6 8
Couture 10 8 7 6
Broderie 20 15 10 25
Emballage 5 6 5 4

Coûts de fabrication et prix de vente unitaires :

Atelier Modèle
La Cosaque L’Ukrainienne La Slavonne La Tatare
Main-d’œuvre 7,50 8,00 6,50 8,00
& fournitures
Tissu 15,00 12,00 8,00 10,00
Emballage 2,00 1,50 1,00 1,50
Prix de vente 44,50 45,50 39,50 49,50

Main-d’œuvre disponible (en minutes) dans chacun des ateliers durant le prochain mois :

Ateliers
Coupe Couture Broderie Emballage
Disponibilité 21.000 33.000 50.000 25.000

La demande pour chacun des 4 modèles est, jusqu’à présent, supérieure à la capacité de
production de Kalinine. Le carnet de commandes forcera Kalinine à fabriquer le mois
prochain au moins 1000 roubachki l’ukrainienne et au moins 1300 roubachki la Slavonne.

La maison Kalinine cherche à établir, pour le mois prochain, le plan de production qui
maximisera son profit.

compta-excellant.be
Les variables de décision.

XC : nombre de roubachki la Cosaque à fabriquer


XU : nombre de roubachki l’Ukrainienne à fabriquer
XS : nombre de roubachki la Slavonne à fabriquer
XT : nombre de roubachki la Tatare à fabriquer

La fonction objectif.

MAX Z = 20XC + 24XU + 24XS + 30XT

En effet :

Modèle Prix de vente unitaire Coût unitaire Profit unitaire


La Cosaque 44,50 24,50 20,00
L’Ukrainienne 45,50 21,50 24,00
La Slavonne 39,50 15,50 24,00
La Tatare 49,50 19,50 30,00

Les contraintes.

XU  1000 ;
XS  1300 ;
5XC + 8XU + 6XS + 8XT  21.000 ; [coupe]
10XC + 8XU + 7XS + 6XT  33.000 ; [couture]
20XC + 15XU + 10XS + 25XT  50.000 ; [broderie]
5XC + 6XU + 5XS + 4XT  25.000 ; [emballage]
XC, XU, XS, XT  0 ; [contraintes de non négativité]

Résolution à l’aide de LINGO 10.0.

On posera, par souci de facilité : XC = A ; XU = B ; XS = C ; XT = D

Le programme s’écrit donc :

MAX=20*A+24*B+24*C+30*D;
B>=1000;
C>=1300;
5*A+8*B+6*C+8*D<=21000;
10*A+8*B+7*C+6*D<=33000;
20*A+15*B+10*C+25*D<=50000;
5*A+6*B+5*C+4*D<=25000;

Le logiciel nous renvoie la solution optimale suivante :

compta-excellant.be
Global optimal solution found.
Objective value: 76000.00
Total solver iterations: 1

Variable Value Reduced Cost


A 0.000000 0.000000
B 1000.000 0.000000
C 2166.667 0.000000
D 0.000000 2.000000

Row Slack or Surplus Dual Price


1 76000.00 1.000000
2 0.000000 -8.000000
3 866.6667 0.000000
4 0.000000 4.000000
5 9833.333 0.000000
6 13333.33 0.000000
7 8166.667 0.000000

La solution optimale ci-dessus n’est pas acceptable dans la mesure où on ne peut fabriquer
2.166,667 roubachki l’Ukrainienne.
La solution à ce problème consiste à indiquer (à l’aide de la fonction @gin) que toutes
les variables doivent être entières :

MAX=20*A+24*B+24*C+30*D;
B>=1000;
C>=1300;
5*A+8*B+6*C+8*D<=21000;
10*A+8*B+7*C+6*D<=33000;
20*A+15*B+10*C+25*D<=50000;
5*A+6*B+5*C+4*D<=25000;
@gin(A);@gin(B);@gin(C);@gin(D);

LINGO nous renvoie alors la solution optimale :

Global optimal solution found.


Objective value: 76000.00
Extended solver steps: 0
Total solver iterations: 1

Variable Value Reduced Cost


A 1040.000 -20.00000
B 1000.000 -24.00000
C 1300.000 -24.00000
D 0.000000 -30.00000

Row Slack or Surplus Dual Price


1 76000.00 1.000000
2 0.000000 0.000000
3 0.000000 0.000000
4 0.000000 0.000000
5 5500.000 0.000000
6 1200.000 0.000000
7 7300.000 0.000000

compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
Niveaux
Tâches Prédécesseurs Durées
1 2 3 4 5 6
1 1 1
2 1 2 2
3 2 2 3
4 1 2 4
5 1 7 5
6 4 1 6
7 6 3 7
8 5;3;7 2 8 9
9 8 ; 11 6
10 1 4 10
11 10 5 11
12 11 1 12
13 12 1 13

1 3
2
2 3
2
1 4 6
1 3 4 8 10
2 1 2
4 6 7 8 9
0 1 3
2 4 5 8 10 6
1
1 1
0 7 16
5
5
14
1
1 1 5 10 11 16
4 5 1 1
10 11 12 13

1 5 14 15

compta-excellant.be
ENCODER UNE MONOGRAPHIE COMPTABLE
Tâches Nature des tâches Antécédants Durées
1 Créer le dossier comptable 5
2 Encoder les taux de change 1 5
3 Créer le signalétique des fournisseurs 2 10
4 Créer le signalétique des clients 1 5
5 Encoder l'OD d'ouverture 1 5
6 Encoder les opérations au journal des achats 3 30
7 Encoder les opérations au journal des ventes 4 20
8 Créer les journaux financiers 5 5
9 Encoder les opérations au journal de caisse 8 5
10 Encoder les opérations au journal de banque 8 20
11 Encoder les opérations au journal des OD 3;4;5 10
Une seule personne mettra 120 minutes, ne pouvant exécuter TOTAL 120
2 tâches à la fois

Ancêtres Tâches 1 2 3 4 5
1 1
1 2 2
2 3 3
1 4 4
1 5 5
3 6 6
4 7 7
5 8 8
8 9 9
8 10 10
3;4;5 11 11
Toutes 12 12

compta-excellant.be
0 5 10 20
5 5 10 30
1 2 3 6
0
0 5 5 10 20
5 10 20 15 50
5 20
0 4 7 10

5 25 30 30
12
5 10 5 15
5 5
5 8 9
5
20 25 45 50
5 10
5
11
5 10
40

CONSTATATIONS :

Si une seule personne est engagée, elle mettra 120 minutes pour effectuer toutes les tâches
Si 4 personnes sont effectivement engagées, le travail sera réalisé en 50 minutes au lieu de 120
La possibilité de mettre au travail 4 personnes sur un même dossier suppose une mise en réseau du système
La mise en réseau permet, en 600 minutes, de traiter 12 dossiers au lieu de 5

compta-excellant.be
CALCUL INTEGRAL
INTEGRALES NON DEFINIES
INTRODUCTION.

Dans le chapitre précédent nous avons étudié les dérivées ; en particulier nous avons mesuré
l’intérêt de dériver une fonction pour en déterminer la pente, les extrema ou encore
l’optimum. Cette approche constitue la base du calcul différentiel.
Pour une fonction f(x) donnée, il peut être très utile de déterminer la fonction F(x) dont cette
fonction f(x) est la dérivée ; c’est précisément cette opération que l’on appelle intégration ; et
la fonction F(x) est appelée intégrale de la fonction f(x).

Notation.

L’intégrale de la fonction f(x) s’exprime sous la forme :

 f (x )dx  F( x )  c
Le membre de gauche de cette équation se lit « l’intégrale de f de x par rapport à x » ; f(x) est
l’intégrande ; c est la constante d’intégration ; F(x) + c est une intégrale non définie.

La constante d’intégration.

Les fonctions qui ne diffèrent que par une constante ont la même dérivée ; ainsi la fonction
F(x) = 2x + k a la même dérivée, f(x) = 2, pour une infinité de valeurs de k.
En inversant cette procédure, il est évident que l’intégrale présentée ci-dessus est l’intégrale
non définie d’une infinité de fonctions qui ne diffèrent l’une de l’autre que par la constante.
La constante d’intégration c ne sert donc qu’à représenter la valeur d’une constante qui faisait
partie intégrante de la primitive mais qui a disparu dans la dérivée par l’application des règles
de différenciation.

Soit la fonction F(x) = 2X2 + 4X + 10 ; sa dérivée est F’(x) = 4X + 4 ; si on cherche à


déterminer l’intégrale de cette fonction, on obtient :

 4x  4dx   4xdx   4dx  2 x 2


 4x  c

Dans cette intégrale non définie, c représente effectivement la valeur de 10 dans la fonction
initiale.
Le développement de cette intégrale utilise la règle d’intégration n° 8 (voir ci-dessous).

compta-excellant.be
LES REGLES D’INTEGRATION.

Règle n° 1.

L’intégrale d’une constante k est :

 kdx  kx  c
Règle n° 2.

L’intégrale de 1, qui s’écrit simplement dx, est :

 dx  x  c
Règle n° 3.

L’intégrale d’une fonction puissance xn, où n  –1, est donnée par :

1
 x ndx  n 1
 x n 1  c

Règle n° 4.

L’intégrale de x-1 (ou 1/x) est (x > 0) :

x 1
dx  ln x  c

La condition x > 0 est ajoutée car seuls les nombres positifs ont des logarithmes ; si x est un
nombre négatif, la règle devient :

 dx  ln x  c
1
x

Règle n° 5.

L’intégrale d’une fonction exponentielle est :

kx
a
  c
kx
a dx
k ln a

compta-excellant.be
Règle n° 6.

L’intégrale d’une fonction exponentielle naturelle est :

kx
e
  c
kx
e dx
k
En effet ln e = 1

Règle n° 7.

L’intégrale du produit d’une constante par une fonction est égale au produit de la constante
par l’intégrale de la fonction.

 kf x dx  k  f x dx
Règle n° 8.

L’intégrale de la somme ou de la différence de deux fonctions ou plus est égale à la somme ou


à la différence de leurs intégrales.

 f x   gx dx   f x dx   gx dx


Règle n° 9.

L’intégrale d’une fonction précédée du signe – est égale à moins l’intégrale de cette fonction.

  f x dx    f x dx
ILLUSTRATIONS.

Règle n° 1.

 3dx  3x  c
Règle n° 3.

1 21 1 3
 x dx 
2

2 1
x c  x c
x

compta-excellant.be
Règles n° 7 et n° 3.

1 5 
 5 x
4
dx  5  x
4
dx  5
5
x  c1   x5  c

Règles n° 2, 3, 7, 8 et 9.

1  1
 3 x  x  1dx  3 x 3dx   xdx   dx  3 x 4   x 2  x  c  x 4  x 2  x  c
3 3 1
4  2 4 2

Règles n° 7 et n° 4.

3x dx  3 x 1dx  3 ln x  c
1

Règle n° 5.

3x
2
 2 dx 
3x

3 ln 2
c

Règle n° 6.

9 e3 x
 9 e dx   3  c  3 e  c
3 x 3 x

CONDITIONS INITIALES & CONDITIONS LIMITATIVES.

Dans de nombreux problèmes, on donne une condition initiale ou une condition limitative qui
détermine une valeur unique pour la constante d’intégration. De cette manière on isole une
fonction particulière parmi une infinité de fonctions.

Illustration.

Posons l’intégrale suivante :

y   2dx  2 x  c

Si on pose comme condition limitative que y = 11 quand x = 3, on obtient :

11 = 2*3 + c  c = 5

En conséquence y = 2x + 5 ; remarquons cependant que l’intégrale demeure non définie


puisque x n’est pas spécifié : l’intégrale 2x + 5 peut prendre une infinité de valeurs.

compta-excellant.be
L’INTEGRATION PAR SUBSTITUTION.

L’intégration du produit ou du quotient de 2 fonctions différentiables de x, telle que

 12 x x 2 3
 2 dx
Ne peut être effectuée directement à l’aide des 9 règles simples énoncées précédemment ;
néanmoins, s’il est possible d’exprimer l’intégrande sous la forme d’un multiple « constant »
d’une autre fonction u et de sa dérivée du / dx, on peut procéder à l’intégration par
substitution.
En exprimant l’intégrande f(x) comme une fonction de u et de sa dérivée du / dx et en
intégrant par rapport à x, on obtient :

 du 
 f  x dx    u dx dx   udu  Fu   c
Illustration.

On demande de calculer l’intégrale :

 12 x x 2 3
 2 dx

Posons u = x3 + 2 :

u’ = du / dx = 3x2  dx = du / 3x2

 du  1 
 12 x x  2 dx   12 x 2 u dx   12 x 2u 2   4udu  4  udu  4 u 2   c  2 u 2  c
2 3 du
 dx  3x 4 

En remplaçant u par X3 + 2 :

 12 x x  2dx  2 u  c  2 x 3  2  c
2 3 2
 2

compta-excellant.be
Exercices résolus.

Exercice n° 1.

Déterminer l’intégrale suivante par la méthode de substitution :


 10x x 2  3 dx  4

On pose u = x2 + 3 : du / dx = 2x et dx = du / 2x

 
 10x x 2  3 dx   10x u
4
4 du
2x
 5 u 4du

On utilise la règle d’intégration n° 3 :

1 
5 u 4du  5 u 5   c  u 5  c
5 

On remplace u par x2 + 3 :

  
 10x x 2  3 dx  u  c  x 2  3  c
5
4

5

Exercice n° 2.

Déterminer l’intégrale suivante par la méthode de substitution :


 x 4 2 x5  5 dx 
4

On pose u = 2x5 - 5 : du / dx = 10x4 et dx = du / 10x4

 
 x 4 2 x5  5 dx   x 4 u
4
4 du
4
1 1 1 
  u 4du   u 5   c 
10 x 10 10  5 
1 5
50
u c

On remplace u par 2x5 – 5 :

x
4
2 x 5 dx  501 u  c  2 x 5  c
5
4
5 5
5

compta-excellant.be
Exercices à résoudre.

Déterminez les intégrales suivantes par la méthode de substitution :

  x  9
7/4
dx
5
  6x  11 dx
2
x

 
2
dx
3
4x 7
6 x 2  4x  10

x  x 5x  3
dx
3 2

L’INTEGRATION PAR PARTIES.

Si un intégrande est le produit ou le quotient de fonctions différentiables de x et ne peut être


exprimé sous la forme d’un multiple constant de u(du/dx), il est souvent commode d’effectuer
une intégration par parties. On déduit cette méthode en inversant la procédure de
différenciation d’un produit.
La dérivée par rapport à x du produit des deux fonctions f(x) et g(x) donne :

[f(x)*g(x)]’ = f(x)*g’(x) + g(x)*f’(x)


Si on prend l’intégrale de la dérivée, on obtient :

f x   g x    f x   g ' x dx   g x   f ' x dx

On calcule alors la 1ère intégrale du membre de droite :

 f x  g' x dx  f x  gx    gx  f ' x dx


Remarque : pour des fonctions plus complexes, on utilise généralement des tables
d’intégration. Ces tables donnent des formules pour déterminer les intégrales d’au moins 500
fonctions différentes.

compta-excellant.be
Application 1.

Résoudre par parties l’intégrale suivante :

 4x  x  1 dx
3

On commence par séparer l’intégrande en 2 parties : posons f(x) = 4x et g’(x) = (x + 1)3 ; si


f(x) = 4x, alors f’(x) = 4. Par ailleurs si g’(x) = (x + 1)3, alors

g x     x  1 dx 
1
 x  1  c
3 4

La constante c peut être omise jusqu’à la phase finale.

On remplace f(x), g(x) et f’(x) par leurs valeurs respectives (remarquons que g’(x) ne figure
pas dans la formule) :

 4x  x  1 dx  f x  gx    gx  f ' x dx


3

1  1
 4x  x  1 dx  4x  4  x  1    4  x  1 4dx  x  x  1    x  1 dx
3 4 4 4 4

1
 4x  x  1 dx  x  x  1  x  1  c
3 4 5

5
Application 2.

Résoudre par parties l’intégrale suivante :

 2x e dx
x

Posons f(x) = 2x  f’(x) = 2 ; g’(x) = ex  gx    exdx ; on obtient :

 2x e dx  f x   gx    gx  f ' x dx  2x e   e 2dx


x x x

 2x e dx  2x e  2 e dx  2x e  2 e  c  2 e x  1  c
x x x x x x

compta-excellant.be
Exercices à résoudre.

Calculer les intégrales suivantes en intégrant par parties :

 15x  x  4 dx
3/ 2

2x
 dx
 x  8
3

5x
 dx
 x  1
2

 6x e
x 7
dx

compta-excellant.be
CALCUL INTEGRAL
INTEGRALES DEFINIES
INTRODUCTION.

La surface située sous une courbe.

Il n’existe pas de formule géométrique pour calculer la surface située sous une courbe d’allure
irrégulière, telle que y = f(x) entre x = a et x = b sur la figure ci-dessous.

Si l’intervalle [a, b] est divisé en n sous-intervalles [x1, x2], [x2, x3],…, et si on construit des
rectangles tels que la hauteur de chacun soit égale à la plus petite valeur de la fonction dans le
sous-intervalle (comme sur la figure de droite), la somme des surfaces des rectangles
approchera, en la sous-estimant, la surface réellement située sous la courbe.
Plus les sous-intervalles sont petits, plus de rectangles sont créés et plus la surface globale des
rectangles se rapproche de la surface réellement située sous la courbe.
Si le nombre d’intervalles est accru de façon telle que n  , chaque rectangle devient
infinitésimal et la superficie A située sous la courbe s’écrit :

n b
A  lim f  x i  x i   f (x)dx
n  i 1 a

L’intégrale définie.

L’intégrale d’une fonction continue f(x) définie sur l’intervalle entre a et b (a < b) s’écrit :
b

 f (x)dx
a
Cette expression se lit « l’intégrale de f de x dx entre a et b » ; a est la borne inférieure
d’intégration et b la borne supérieure d’intégration ; l’intégrale de f(x) définie sur l’intervalle
allant de a à b a une valeur numérique qu’il est possible de calculer à partir de l’intégrale non
définie en utilisant le théorème de calcul fondamental.

compta-excellant.be
LE THEOREME DE CALCUL FONDAMENTAL.

Le théorème de calcul fondamental dit que la valeur numérique de l’intégrale de la fonction


continue f(x) définie sur l’intervalle séparant a de b est égale à la différence entre la valeur de
l’intégrale non définie F(x) + c à la borne supérieure d’intégration b et sa valeur à la borne
inférieure d’intégration a.

 f (x)dx  F  x   F  b  F a 
b
a
a

Illustrations.

 10xdx  5x  5 4   51  75
2 4 2 2
1
1
3

  4x  6x dx   x 4  3x 2  13  34  3 3   14  31   108  4  104


3 2 2
   
1
a

 f (x)dx  F(a)  F(a)  0


a
4

 10xdx  5x 2  5 4   51  75
4 2 2
1
1
3

  4x  6x dx   x 4  3x 2  13  34  3 3   14  31   108  4  104


3 2 2
   
1

PROPRIETES DES INTEGRALES DEFINIES.

L’interversion des bornes change le signe de l’intégrale définie.

b a

 f (x)dx   f (x)dx
a b

Si la borne supérieure d’intégration est égale à la borne inférieure, l’intégrale définie a une
valeur nulle.

 f (x)dx  F(a)  F(a)  0


a

On peut exprimer une intégrale définie par la somme de sous-intégrales la composant (a  b 


c).

c b c

 f (x)dx   f (x)dx   f (x)dx


a a b

compta-excellant.be
EXERCICES.

Vérifier les égalités ci-dessous.

 (2x  3)dx  0
5
3 1

 2x dx   2x dx
1
3

3
3

4 3 4

 6xdx   6xdx   6xdx


0 0 3

Calculer les intégrales définies ci-dessous.

10

 3x dx
2

1
64

x
1
2/3
dx

x  x  6 dx
3

1
3

 4e
2x
dx
0
4

x
1
1/2
 3x1/2 dx

LA METHODE DE LA SUBSTITUTION.

Utiliser la méthode de la substitution pour calculer l’intégrale définie suivante :

 8x  4x
1
3
 6x dx

On pose u = 2x2 + 3 ; dès lors du / dx = 4x et dx = du / 4x ; on effectue les remplacements en


négligeant provisoirement les bornes d’intégration (l’intégrale est traitée comme non définie) :

 u2 
3

 8x  4x 3  6x dx   8xu
du
 2  udu  2     c  u 2  c
1
4x  2

compta-excellant.be
On remplace u par 2x2 + 3 :

 8x2 x 2  3dx   2 x 2  3  2  32  3  2  02  3  441  9  432


2 3 2 2
0

L’INTEGRATION PAR PARTIES.

Calculer l’intégrale définie ci-dessous par la méthode de l’intégration par parties.

5
3x
  x  1 dx
2
2

Posons f(x) = 3x . f’(x) = 3 ; posons g’(x) = (x + 1)-2 ; sous cette hypothèse :

2 1
g' ( x )    x  1 dx    x  1


3x
 1
 1 1
dx  3x   x  1     x  1 3dx  3x  x  1  3  x  1
1

 x  1
2

On intègre de nouveau en négligeant la constante :

3x 1
 dx  3x  x  1  3 ln x  1
 x  1
2

Appliquons les bornes :

5
3x
2  x  12dx  3x x  1  3ln x  1 
1 5
2

5
3x  3  5   3 2 
2  x  12  5  1
dx    3ln 5  1 
 
 

2  1
 3ln 2  1   1,5796

compta-excellant.be
EXERCICES A RESOUDRE.

Méthode de la substitution.

3
6x
0 x 2  1dx
2
3x 2
0  x 3  1dx
2

 x 2 x 3  5 dx
2

1
2

 4x e x 2dx
2

Intégration par parties.

3
4x
  x  2  dx
1
3

 5xe
x 2
dx
1

Propriétés des intégrales définies.

Montrer que :

4 0 4

  8x
4
3
 9x dx 
2
  8x
4
3
 9x dx    8x 3  9x 2 dx
2

Montrer que :

16 4 9 16

 x
0
1/2
 3x  dx    x
0
1/ 2
 3x  dx    x
4
1/2
 3x  dx    x 1/ 2  3x  dx
9

compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
compta-excellant.be
MATHEMATIQUES APPLIQUEES A L’INFORMATIQUE :

EXAMEN DU 26 NOVEMBRE 2009

QUESTION 1 : ALGEBRE LINEAIRE.

Soit le système de 3 équations linéaires à 3 inconnues :

2X + 4Y  Z = 52
X + 5Y + 3Z = 72
3X  7Y + 2Z = 10

Veuillez, en utilisant la règle de CRAMER, résoudre ce système. Indications : le déterminant


des coefficients vaut 114 et les solution sont toutes entières.

QUESTION 2 : PROGRAMMATION LINEAIRE.

Soit le programme linéaire suivant :

MIN  = 40X + 42Y + 42Z

Sous les contraintes :

4X + 6Y + 2Z  60
5X + 3Y + 6Z  100
X, Y, Z  0 (contraintes de non négativité)

Il vous est demandé :

 De construire le dual de ce programme linéaire ;


 De mettre ce dual sous forme matricielle ;
 De compléter, pour ce programme dual, le 1er tableau de l’algorithme du simplex et
d’entourer le 1er pivot.

QUESTION 3 : ANALYSE POSTOPTIMALE.

Soit le programme linéaire :

MAX  = 3X + 4Y

Sous les contraintes :

2,5X + Y  20
3X + 3Y  30
X + 2Y  16
X, Y  0 (contraintes de non négativité)

compta-excellant.be
LINGO 10.0 renvoie la solution optimale suivante :

Global optimal solution found.


Objective value: 36.00000
Total solver iterations: 2

Variable Value Reduced Cost


X 4.000000 0.000000
Y 6.000000 0.000000

Row Slack or Surplus Dual Price


1 36.00000 1.000000
2 4.000000 0.000000
3 0.000000 0.6666667
4 0.000000 1.000000

Question 3A : veuillez compléter le tableau final du simplex.

X Y S1 S2 S3 Constantes
0 0 1 4/3 3/2
1 0 0 2/3 1
0 1 0 1/3 1
0 0

LINGO 10.0 nous renvoie l’analyse postoptimale suivante :

Ranges in which the basis is unchanged:

Objective Coefficient Ranges


Current Allowable Allowable
Variable Coefficient Increase Decrease
X 3.000000 1.000000 1.000000
Y 4.000000 2.000000 1.000000

Righthand Side Ranges


Row Current Allowable Allowable
RHS Increase Decrease
2 20.00000 INFINITY 4.000000
3 30.00000 3.000000 6.000000
4 16.00000 4.000000 2.666667

compta-excellant.be
Question 3B.

Soit le programme linéaire suivant :

MAX  = 3X + 6Y

Sous les contraintes :

2,5X + Y  20
3X + 3Y  30
X + 2Y  16
X, Y  0 (contraintes de non négativité)

Veuillez déterminer les valeurs de X, de Y et de la fonction objectif.

Question 3C.

Soit le programme linéaire :

MAX  = 3X + 4Y

Sous les contraintes :

2,5X + Y  20
3X + 3Y  27
X + 2Y  16
X, Y  0 (contraintes de non négativité)

Veuillez déterminer les valeurs de X, de Y et de la fonction objectif.

QUESTION 4 : ALGEBRE DE BOOLE.

Soit l’expression logique :

X Y  X Y  XY
Veuillez :

 Établir sa table de vérité ;


 La mettre sous forme canonique ;
 La simplifier à l’aide d’une table de KARNAUGH

compta-excellant.be
QUESTION 5 : ORDONNANCEMENTS.

Soit un ensemble de tâches :

Tâche Durée Prédécesseurs


1 4 
2 2 1
3 3 1
4 3 3
5 2 3 et 4
6 4 3
7 6 3 et 6
8 2 7
9 4 8
10 2 10

 Veuillez établir le graphe potentiel de l’ensemble de ces tâches en indiquant pour


chaque tâche sa date de début au plus tôt et sa date de début au plus tard.

 Veuillez indiquer (à l’aide d’une couleur différente par exemple) toutes les tâches
critiques.

compta-excellant.be
MATHEMATIQUES APPLIQUEES A L’INFORMATIQUE :

EXAMEN DU 25 NOVEMBRE 2010

QUESTION 1 : ALGEBRE LINEAIRE (20 points).

Soit le système de 3 équations linéaires à 3 inconnues :

3X + 2Y + 6Z = 24
2X + 4Y + 3Z = 23
5X + 3Y + 4Z = 33

Veuillez, en utilisant la règle de CRAMER, résoudre ce système. Indications : le déterminant


des coefficients vaut – 49 et les solutions sont toutes entières.

QUESTION 2 : PROGRAMMATION LINEAIRE (10 points).

Soit le programme linéaire suivant :

MIN  = 60X + 80Y

Sous les contraintes :

2X + 3Y  36
2X + 2Y  28
8X + 2Y  321
X, Y  0 (contraintes de non négativité)

Il vous est demandé :

 De construire le dual de ce programme linéaire ;


 De mettre ce dual sous forme matricielle ;
 De compléter, pour ce programme dual, le 1er tableau de l’algorithme du simplex et
d’entourer le 1er pivot.

QUESTION 3 : ANALYSE POSTOPTIMALE (30 points = 3*10).

Soit le programme linéaire :

MAX  = 30X + 24Y + 60Z

Sous les contraintes :

6X + 3Y + 5Z  30
2X + 2Y + 10Z  50
X, Y, Z  0 (contraintes de non négativité)

compta-excellant.be
LINGO 10.0 renvoie la solution optimale suivante :

Global optimal solution found.


Objective value: 330.0000
Total solver iterations: 2

Variable Value Reduced Cost


X 0.000000 12.00000
Y 2.500000 0.000000
Z 4.500000 0.000000

Row Slack or Surplus Dual Price


1 330.0000 1.000000
2 0.000000 6.000000
3 0.000000 3.000000

Question 3A : veuillez compléter le tableau final du simplex.

X Y Z S1 S2 Constantes
5/2 1 0 1/2 – 1/4
– 3/10 0 1 – 1/10 3/20
12 0 0

LINGO 10.0 nous renvoie l’analyse postoptimale suivante :

Ranges in which the basis is unchanged:

Objective Coefficient Ranges


Current Allowable Allowable
Variable Coefficient Increase Decrease
X 30.00000 12.00000 INFINITY
Y 24.00000 12.00000 4.800000
Z 60.00000 40.00000 20.00000

Righthand Side Ranges


Row Current Allowable Allowable
RHS Increase Decrease
2 30.00000 45.00000 5.000000
3 50.00000 10.00000 30.00000

Question 3B.

Soit le programme linéaire suivant :

MAX  = 30X + 30Y + 60Z

Sous les contraintes :

6X + 3Y + 5Z  30
2X + 2Y + 10Z  50

X, Y  0 (contraintes de non négativité)

compta-excellant.be
Question 3C.

Soit le programme linéaire :

MAX  = 30X + 24Y + 60Z

Sous les contraintes :

6X + 3Y + 5Z  30
2X + 2Y + 10Z  40
X, Y, Z  0 (contraintes de non négativité)

Veuillez déterminer les valeurs de X, de Y et de la fonction objectif.

QUESTION 4 : ALGEBRE DE BOOLE (18 points).

Soit l’expression logique :

X *Y  X  Y  X *Y
Veuillez :

 Établir sa table de vérité ;


 La mettre sous forme canonique ;
 La simplifier à l’aide d’une table de KARNAUGH

QUESTION 5 : ORDONNANCEMENTS (10 points).

Soit un ensemble de tâches :

Tâche Durée Prédécesseurs


1 6 
2 4 1
3 3 1
4 3 3
5 4 4
6 10 3
7 6 5
8 2 6
9 4 6 et 8
10 4 9

 Veuillez établir le graphe potentiel de l’ensemble de ces tâches en indiquant pour


chaque tâche sa date de début au plus tôt et sa date de début au plus tard.
 Veuillez indiquer (à l’aide d’une couleur différente par exemple) toutes les tâches
critiques.

compta-excellant.be
QUESTION 6 : QCM (12 points = 4*3).

Question 1

Soit un système de n équations à n inconnues dont le déterminant des coefficients des


variables = 0 ; quelle proposition est nécessairement vraie (marquer d’un X) :

Le système n’admet aucune solution


Il faut résoudre le système autrement que par le calcul matriciel
Le système admet plusieurs solutions et n’est dès lors pas soluble X

Question 2

Soit un ordonnancement de projet dont la tâche X (date de début au plus tôt = 10 ; date
de début au plus tard = 20) ; la tâche Y, qui dure 2 jours, est une tâche critique (date de
début au plus tôt = date de début au plus tard = 15 jours). Le projet a une durée de 40
jours. Supposons que, pour des raisons logistiques la tâche X ne peut débuter que 5
jours après la tâche Y.

Quelle est la durée du projet 40


Quelle est la date au plus tôt de la tâche X 20

Question 3

Soit un programme non linéaire à optimiser à l’aide de LINGO ; quelle proposition est
nécessairement vraie (marquer d’un X) :

Le logiciel nous renvoie un optimum local qui n’est pas nécessairement un X


optimum absolu
Il suffit d’ajouter des contraintes supplémentaires pour que le logiciel nous
retourne un optimum absolu
Le logiciel résout le programme de manière pleinement satisfaisante

Question 4

Soit une proposition logique (plus ou moins complexe) à deux variables dont la table de
KARNAUGH, après mise en forme canonique, nous renvoie la valeur 1 ;

On ne voit pas comment construire un circuit logique sur base d’une telle
simplification
Les deux variables doivent nécessairement être liées par un connecteur
quelconque
Il est inutile de lier les variables par un connecteur X

compta-excellant.be
5

compta-excellant.be