WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Programmation linéaire outil effficace pour la plannification optimale de la production dans une entreprise industrielle .Cas de la Briqueterie Rwandaise Ruliba

( Télécharger le fichier original )
par Jean Claude Michel Mr Ngirabanzi
Université Libre de Kigali - Licence en Economie 2003
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

a. La méthode du simplexe

La méthode du simplexe est une technique algébrique itérative qui permet de trouver la solution optimale d'une façon ordonnée et concise. La présentation pratique de cette méthode est la suivante :

Soit x1, x2..........xj,........xn variables qui rendent maximale la relation :

F = c1x1 + c2x2 + ........+ cjxj + ........+ cnxn

Tout en satisfaisant aux conditions suivantes :

a11x1 + a12x2 + a13x3 + ......+ aijxj +..........+ a1nxn b1

a21x1 + a22 + a23x3 + ......+ a2jxj +.........+ a2nxn bn

......... .......... ......... ............

ai1x1 + ai2x2 + ai3x3 +........+aijxj +..........+ ainxn bi

........ .......... .......... .......

Am1x1 + am2x2 + am3x3 +........+amjxj +..........+ amnxn bm

et telle que

x1, x2, x3,.......,xj,.......xn 0

« F » s'appelle la fonction économique. Les inéquations sont les contraintes du problème. Le programme mathématique obtenu est connu sous le nom de programme linéaire. Il n'est évidemment possible de résoudre ce problème par le raisonnement, ni non plus par une construction graphique pour un problème de plus de trois variables. Notre modèle qui compte vingt quatre variables de décision et vingt contraintes prendrait quelques jours pour trouver une réponse juste.

Le mathématicien DANTZIG a eu le mérite d'établir un algorithme qui permet de résoudre ce genre de programme linéaire et d'atteindre la solution optimale par plusieurs itérations. Ce procédé, également connu sous le nom de méthode du simplexe, est exposé dans le paragraphe qui suit :

1ère phase

Transformation des inéquations en équations et présentation condensée du problème. Chaque inéquation peut être ramenée à une équation en introduisant une inconnue supplémentaire, que l'on appelle variable d'écart ; nous la notons xn+1 ( Il ne faut pas la confondre avec les autres variables dites principales).

Ainsi, l'inéquation de rang i devient :

ai1x1 + ai2x2 +.........+ aijxj +..........+ ainxn + xn+i = bi

Tableau n° 1 : Tableau initial du simplexe.

 

C1 C2 C3..... Cj....., Cn 0 0 .......... 0

F

x1 x2 x3..... xj...... xn xn+1... xn+2... xn+m

 

xn+1

xn+2

.......

Xn+i

......

xn+m

a11 a12 a13.... a1j..... a1n 1 0 ...... 0

a21 a22 a23.... a2j..... a2n 0 1 ...... 0

..... ..... ..... .... .... ..... ..... ......

ai1 a12 ai3.... aij..... ain 0 0 .... 1 0

..... ..... ..... .... .... ..... .....

am1 am2 am3.... amj..... amn 0 0 ...........1

b1

b2

.....

bi

.....

bm

Source : Cours de recherche opérationnelle.

Nous formons le tableau ci-dessous des coefficients, aij, bi, et cj afin de simplifier l'écriture. Chaque colonne correspond à une variable xj, inscrite dans la deuxième ligne, la dernière colonne est formée par les termes constants. Ce tableau sera complété et transformé dans les phases suivantes.

2ème phase : Recherche d'une solution de base

Rappelons qu'une solution de base est un ensemble de valeurs des variables xj qui satisfont à toutes les conditions du problème, mais qui ne rendent pas la fonction économique optimale. La deuxième phase consiste toujours à rechercher une solution de base.

Comme on le verra ensuite, la méthode de DANTZIG permet de trouver la solution par itérations ; il est donc intéressant d'adopter, pour solution de base, une solution aussi rapprochée que possible de la solution finale ; cela diminue le nombre d'itérations à effectuer. Si aucune solution n'apparaît, on prendra la solution suivante, évidente, mais très éloignée de la solution finale.

La solution initiale de la base doit annuler toutes les variables principales (initiales) du modèle linéaire. Les variables d'écart seront de base dans la première solution de base.

x1 = x2 = x3 =........ = xj = ....... = xn = 0

xn+1 = b1

xn+2 = b2

xn+i = bi

xn+m= bm

C'est cette solution que nous retiendrons ici.

Nous constatons que la solution de base comprend n variables nulles. Quant aux autres qui sont égales aux bi portées dans la dernière colonne du tableau établi en première phase, nous les inscrivons dans une colonne supplémentaire, placée en première position. D'où le tableau n°2 suivant

Tableau n° 2 : Présentation d'une solution de base

 

C1 C2 C3..... Cj....., Cn 0 0 .......... 0

F

x1 x2 x3..... xj...... xn xn+1... xn+2... xn+m

 

Xn+1

Xn+2

.......

Xn+i

......

Xn+m

a11 a12 a13.... a1j..... a1n 1 0 ...... 0

a21 a22 a23.... a2j..... a2n 0 1 ...... 0

..... ..... ..... .... .... ..... ..... ......

ai1 a12 ai3.... aij..... ain 0 0 .... 1 0

..... ..... ..... .... .... ..... .....

am1 am2 am3.... amj..... amn 0 0 ...........1

b1

b2

.....

bi

.....

bm

Source : note de cours de recherche opérationnelle.

Ce tableau a la signification suivante :

Une solution du problème consiste à donner aux variables inscrites dans la première colonne les valeurs correspondantes de la dernière colonne ; quant autres variables, elles sont nulles.

3ème phase : Amélioration de la solution de base.

Il est claire que la fonction économique F correspondant à la solution de base est nulle, il est claire également qu'elle sera augmentée si nous construisons une nouvelle solution dans laquelle figurera une variable x; il y a intérêt pour cela à choisir la variable xj dont le coefficient cj est le plus grand.

Soit k l'indice de cette variable. Donner une valeur à xk n'est possible qu'en diminuant les valeurs de toutes les variables xn+1 à xn+m, mais ceci est sans inconvénient puisque celles-ci ne figurent pas dans la fonction économique.

(on peut aussi dire qu'elles y figurent avec le coefficient zéro).

Il est donc intéressant de donner à xk la valeur la plus grande possible.

Or, dans chaque équation de rang i, la plus grande valeur possible de xk est obtenue pour xn+i = o et vaut xk = bi/aik

Désignons alors par « r » l'indice i pour lequel le rapport bi/aik est minimal ( on ne tiendra pas compte des valeurs négatives, qui n'ont évidemment pas de sens).

On voit alors qu'une nouvelle solution du problème est trouvée ; elle est constituée par l'ensemble suivant :

x1 = x2 = x3 =......= xj = ......xn = 0

xn+r = 0

xk = br/ark

xn+1 = b1 - a1k . br/ark

xn+i = bi - aik . br/ark

xn+m = bn - amk . br/ark

On dit qu'on a sorti la variable xn+r de la base pour y faire entrer la variable xk. La fonction économique qui était précédemment nulle, a maintenant pour valeur :

F = Ck . br/ark

Pratiquement, on repère tout d'abord le plus grand coefficient cj, soit ck puis on adjoint au tableau n°2 une nouvelle colonne, dans laquelle on forme les rapports bi/aik

C'est le tableau ci-dessous, sur lequel les variables sortantes et entrantes sont repérées par des flèches.

Tableau n°3 : opération du pivot

 

C1 C2 Ck..... Cj....., Cn Z

x1 x2 xk..... xj...... xn xn+1... .... xn+m

 
 

Xn+1

Xn+i

.......

Xn+r

......

Xn+m

a11 a12 a1k.... a1j..... a1n 1 ...... 0

ai1 ai2 aik.... aij..... ain 0 1 ......0

..... ..... ..... .... .... ..... ......

ar1 ar2 ark.... Arj..... arn 0 1 0

..... ..... ..... .... .... ..... .....

am1 am2 amk.... amj..... amn 0 ........1

b1

bi

.....

br

.....

bm

b1/a1k

bi/aik

.....

br/ark

.....

bm/amk

 

b

 

Source : note de cours de recherche opérationnelle 4ème phase

Nous allons transformer le tableau précédent de telle façon que la variable entrante prenne effectivement place dans la première colonne, et que la signification du tableau donné en deuxième phase reste valable à savoir que les variables ne figurant pas dans la première colonne sont nulles, les autres prenant les valeurs portées dans l'avant dernière colonne. Il s'agit donc de remplacer la variable xn+1 qui se trouve dans la première colonne, par la variable xk

Ceci veut dire qu'il faut remplacer le système de « m » équations, dans lesquelles figurent xk et une fois xn+r, par un système dans lequel xk n'apparaît qu'une fois. Ceci est facile si l'on se souvient qu'une équation linéaire d'un système d'équation peut toujours être remplacée par une combinaison linéaire d'équations de ce système. Ici, nous retranchons à chaque équation de rang i l'équation de rang r, multipliée par aik/ark.

Quant à l'équation de rang r, il suffit de diviser tous ses termes par ark. D'où un nouveau tableau dans lequel chaque terme a, b est remplacé par le terme a', b' tel que :

a'ij = aij - aik . arj / ark

b'i = bi - aik . br / ark

Ce nouveau tableau s'écrit :

Tableau n° 4 : Tableau n° 3 après opération du pivot

C'1 C'2 O..... C'j........C'n Cn+1 Cn+m Z

x1 x2 xk..... xj...... xn xn+1... .... xn+m

Xn+1

Xn+2

Xn+I

Xk

Xn+m

a'11 a'12 0.... a'1j..... a'1n a'1,n+1..... a'1,n+m

a'21 a'22 0.... a'2j..... a'2n

a'i1 a'i2 0.... a'ij

ar1/ark ar2/ark 1

a'm1 a'm2 0

b'1

b'2

b'

br/ark

b'm

 

b

Source : note de cours de recherche opérationnelle

Le tableau n°4 se présente exactement comme le précédent (n°3). Nous pouvons donc grâce à lui, repérer à nouveau une variable dont le coefficient C'j' soit le plus grand et l'introduire dans la deuxième solution par le même procédé. Ceci nous permet donc de construire une troisième solution.

Par le même procédé que celui qui a permis d'établir le tableau précédent à partir du n°3, nous pouvons construire des tableaux successifs représentant les différentes itérations.

Lorsque l'un des tableaux a tous ses coefficients Cj négatifs, il n'est plus possible de continuer pour un problème de maximisation, par contre pour un problème de

minimisation on continue parce que la valeur de la fonction économique continue à décroître. De cela, on a les conditions d'optimalité suivantes :

- pour un problème de maximisation, il faut que les coefficients des variables de base (coût réduits) soient négatifs.

- pour un problème de minimisation, il faut que tous les coefficients des

variables soient positifs si non la valeur de la fonction augmente alors qu'on

veut minimiser.

La solution du problème consiste alors à donner aux variables de la première colonne les valeurs correspondantes de la dernière colonne. Les variables qui ne sont pas dans la première colonne sont nulles.

Lorsqu'il s'agit d'un problème qui comprend plusieurs variables, la méthode du simplexe est applicable mais conduit à des tableaux très grands.

Pour avoir une solution, cela nécessite plusieurs itérations, on est face à un travail fastidieux. Grâce au développement de la technologie moderne, nous allons recourir à la méthode du simplexe révisée, capable d'exécuter les itérations en un peu de temps et aboutit à la solution optimale à l'aide du système informatisé.

Nous avons utilisé un logiciel appelé « STORM » qui nous a permis d'obtenir les valeurs optimales de toutes les variables d'une façon relativement aisée ; car la solution d'un programme linéaire de plusieurs variables risque de dépasser les capacités et la patience même d'un gestionnaire disposant de beaucoup d'expérience dans le domaine.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Piètre disciple, qui ne surpasse pas son maitre !"   Léonard de Vinci