PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

31
PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE MELANGES EN BELGIQUE * Jacques LEISER Université libre de Bruxelles Introduction Lemploi de la programmation linéaire dans Tindustrie alimentaire est bien connu. Ce travail vise 4 voir comment la programmation linéaire peut satisfaire ces industries en fournissant un maximum de renseignements économiques pour un prix ordinateur minimum. Avant d’entreprendre l'étude théorique, une étude du marché belge a été entreprise. Les conclu- sions les plus marquantes sont que l'industrie alimentaire humaine n’utilise pratiquement pas la programmation linéaire, sauf pour la fabrication de la margarine; néanmoins, les fabricants belges assurant au moins 75 % de la production d’aliments pour bétail Putilisent. Il est également apparu que la proportion des fabricants produisant plus de 3.000 tonnes par mois, et utilisant la programmation linéaire, est significativement différente de la proportion des utilisateurs de la programmation linéaire et fabriquant moins de 3.000 tonnes, ce qui permet de supposer que le prix de la formule est encore élevé, Cette supposition est d’autant plus justifiable que le nombre de fabricants de dimension moyenne utilisant la programmation liémaire a fortement augmenté avec la baisse du prix de la formule. Etant donné les dimensions des programmes linéaires utilisés, il est préférable d’utiliser pour leur résolution un algorithme ot tout le travail est effectué en mémoire centrale de |’ordinateur. Cela suppose, bien entendu, la recherche d'une forme compacte, et un nombre d’itérations minimum, de plus, il faut que tous les résultats désirés soient facilement calculables. Lutilisation d’une batterie de tests fut dés lors décidée, en vue de comparer différents types d’algorithmes proposés dans la littérature. * Texte présenté pour l’attribution du Prix Sogesci 1971.

Transcript of PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

Page 1: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

PROGRAMMATION LINEAIRE APPLIQUEE

AUX PROBLEMES DE MELANGES EN BELGIQUE *

Jacques LEISER

Université libre de Bruxelles

Introduction

Lemploi de la programmation linéaire dans Tindustrie alimentaire est

bien connu. Ce travail vise 4 voir comment la programmation linéaire peut

satisfaire ces industries en fournissant un maximum de renseignements

économiques pour un prix ordinateur minimum. Avant d’entreprendre

l'étude théorique, une étude du marché belge a été entreprise. Les conclu-

sions les plus marquantes sont que l'industrie alimentaire humaine n’utilise

pratiquement pas la programmation linéaire, sauf pour la fabrication de

la margarine; néanmoins, les fabricants belges assurant au moins 75 %

de la production d’aliments pour bétail Putilisent. Il est également apparu

que la proportion des fabricants produisant plus de 3.000 tonnes par mois,

et utilisant la programmation linéaire, est significativement différente de

la proportion des utilisateurs de la programmation linéaire et fabriquant

moins de 3.000 tonnes, ce qui permet de supposer que le prix de la formule

est encore élevé, Cette supposition est d’autant plus justifiable que le nombre

de fabricants de dimension moyenne utilisant la programmation liémaire a

fortement augmenté avec la baisse du prix de la formule.

Etant donné les dimensions des programmes linéaires utilisés, il est

préférable d’utiliser pour leur résolution un algorithme ot tout le travail

est effectué en mémoire centrale de |’ordinateur. Cela suppose, bien entendu,

la recherche d'une forme compacte, et un nombre d’itérations minimum,

de plus, il faut que tous les résultats désirés soient facilement calculables.

Lutilisation d’une batterie de tests fut dés lors décidée, en vue de comparer

différents types d’algorithmes proposés dans la littérature.

* Texte présenté pour l’attribution du Prix Sogesci 1971.

Page 2: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

8 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

Un autre but de ce travail est de voir si la programmation linéaire,telle qu’elle est employée actuellement, fournit vraiment Poptimum.

D’aprés les expériences américaines, c'est Voptimisation de toute lafirme qui devrait étre formulée sous forme de programmelinéaire de dimen-sion impressionnante. Des algorithmes qui visent 4 résoudre ce genre deproblémes existent. Il a semblé intéressant de passer certains en revue, deméme que les résultats économiques que ces modéles permettent de fournir.

Enfin, le probléme de I’élaboration d’un code de programmation linéaireest examiné. Ce probléme est trés important, car entre la théorie et l’utili-sation de la programmation linéaire il y a Temploi de Vordinateur, quilui posséde également ses paramétres; de ces derniers dépendra souventValgorithme a employer.

1. Analyse de utilisation de la programmation linéairedans les industries alimentaires en Belgique

Une enquéte a été effectuée visant 4 voir dans un premier stade si laProgrammation linéaire est réellement utilisée dans l'industrie alimentaireen Belgique. En effet, la littérature fait mention de multiples applicationsdans cette branche. Dans un deuxiéme stade, dans le cas d'une utilisationde la programmation linéaire, il était intéressant de savoir dans quelle mesureet sous quelle forme la programmation linéaire est employée.

1.1. Dans l'industrie alimentaire humaine.

La littérature cite des exemples réels d’applications.

Un questionnaire fut envoyé 4 38 firmes se répartissant comme suit:

— fabrication de biére 10

— fabrication de chocolat 10

— lait et dérivés 10

— nourriture végétale 8

Dans chacun de ces secteurs les plus grandes firmes furent choisies,Quinze réponses furent recues, toutes les firmes ont déclaré ne pas employerla programmation linéaire. Néanmoins, il est connu que la programmationlinéaire est utilisée en Belgique pour la fabrication de la margarine. Laraison principale du refus de la programmation linéaire est que le gottd'un aliment est difficilement quantifiable.

Page 3: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

J. Leiser : Problémes de mélanges en Belgique y

1.2. Industries fabriquant des aliments composés pour animaux

Aux Etats-Unis, les statistiques (1968) montrent que 68 % des mélanges

sont calculés par la programmation linéaire.

1°) Estimation du pourcentage de la production calculée par la programma-

tion linéaire.

Les questionnaires furent envoyés 4 156 firmes différentes :

26 ont répondu qu’elles employaient la programmation linéaire

9 ont répondu ne pas I’employer

9 ont déclaré soit avoir changé d’activité, soit avoir cessé leur acti-

vité, soit ne pas fabriquer des mélanges.

Les derniéres réponses ont pour origine [existence en Belgique d’une

multitude de petits fabricants agréés par le Ministére de |’Agriculture et

possédant une installation rudimentaire, mais ne fabriquant pas. La liste des

156 fabricants vient du «Kompass» et est exhaustive. La liste compléte

des fabricants n’étant connue que par le Ministére de |’ Agriculture.

Une statistique récente affirme que 19 entreprises fabriquent 4 elles

seules 73 % de la production belge; étant donné que les réponses posi-

tives couvrent 17 de ces 19 entreprises et quiil est connu que les deux

autres utilisent également la programmation linéaire, on peut affirmer que

les fabricants assurant 75-80 % de la production belge utilisent la program-

mation linéaire.

Fabrication totale en 1970 des 26 entreprises ayant répondu employer

‘a programmation linéaire : 2.903.500 tonnes.

Estimation de la production belge en 1970 : 4.300.000 tonnes.

Les questionnaires couvrent donc 67 % de la production. La raison

pour laquelle on peut affirmer que les fabricants réalisant 75-80 % des

mélanges utilisent la programmation linéaire est due a l’existence dinter-

médiaires calculant les mélanges pour les petits fabricants (voir 3°).

2°) Comparaison entre utilisateurs et non-utilisateurs de la programmation

linéaire d’aprés les résultats de l'enquéte.

Page 4: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

10 Reve de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

Utilisateur Non-utilisa- Test au niveau

de P.L. teur de P.L. 05

Production annuelle

> 36.000 tonnes 20 1

Production annuelle Significatif

< 36.000 tonnes 6 8

Plus de 5 % des personnes

ont une formation supérieure 19 5

Pas significatifMoins de 5 % des personnes as signiticatt

ont une formation supérieure 7 4

Taux de croissance annuelle

> 10 % 17 4Pas significatif

Taux de croissance annuelle =

< 10% 9 5

Fabrication sur commande 18 7 SeePas significatif

Fabrication planifiée 8 2

Il semble que la taille de l’entreprise ait une influence sur l'utilisation

de la programmation linéaire. Le chiffre de 36.000 tonnes correspond a

3.000 tonnes par mois, ce qui est considéré dans ce secteur comme «impor-

tant».

3°) Caractéristiques de l'utilisation de la programmation linéaire.

* Année depuis laquelle les industries l'utilsent :

1962 1963 1964 1965 1966 1967 1968 1969 1970

1 — 4 — - 2 3 10 6

Les utilisateurs avant 1968 étaient les grands fabricants qui pouvaient

se permettre un ordinateur «in house». A partir de 1968, l’apparition du

«time sharing » a permis 4 un plus grand nombre dutilisateurs d'effectuer

par ordinateur les calculs de mélanges.

Page 5: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

J. Leiser : Problémes de mélanges en Belgique 11:

* Autres réponses.

Fréquence de calcul des mélanges.

Mensuellement

Annuellement

Irréguliére

“IE

.OFO

Autre période

Evolution de la fréquence de calcul.

Augmentation 20

Constante 3

Diminution

Autre

Peut-on se passer de la programmation linéaire ?

oui 4

non 22

Lutilisateur connait-il une meilleure technique ?

oui 3

non 23

* Raison principale, la concurrence oblige 4 l'emploi de la programmation

linéaire.

Les résultats sont-ils utilisés a 100 % ?

oui (de trés prés) 18

non 8

Les trois réponses correspondent 4 une référence aux programmations

linéaires de grande dimension.

Peut-on chiffrer l’avantage qu’apporte la programmation linéaire ?

oui 5 (0 & 10 %)non al

Genre de personnel estimé adéquat pour s’occuper de la programmation

linéaire.

Nutritionniste 17

Mathématicien 1

Acheteur a

Fabricant 1

Autres 2

Page 6: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

12 Revie de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

Moyen utilisé pour calculer les mélanges.

Utilisation d'un ordinateur 4 |’étranger it

Ordinateur d'une autre firme 1

Service bureau

Time sharing 18

Ordinateur « in house » 5

Existe-t-il un service s’occupant uniquement du calcul des mélanges ?

oui 12

non 14

Notons qu’en Belgique les firmes fabriquant des concentrés (vitamines)offrent 4 leur clientéle comme service le calcul des mélanges pat program-mation linéaire. Cela permet 4 pratiquement toutes les entreprises d’effectuerle calcul d'un mélange par ordinateur.

Nombre de matiéres premiéres et de contraintes.

Minimum Moyen Maximum

Nombre de matiéres premiéres 10 22 50Nombre de contraintes 12 25 60

4°) Estimation du gain que peut apporter la programmation linéaire.

Partant de I’hypothése que les fabricants assurant 75 % de la produc-tion belge utilisent la programmation linéaire. Sachant en plus quils Putili-sent au moins pour 70 % de leur production. Prenant 5 F comme prixmoyen du kilo fabriqué et 2 % comme gain amené par la programmationlinéaire, on arrive 4.75 x .7 x 5 x .02 x 43 x 108 = 225.750.000 francs

au minimum par an.

Une estimation du cofit ordinateur et personnel serait (20 consoles timesharing 4 500.000 F par an chacune, et 8 petits ordinateurs scientifiquesa& 1.500.000 F chacun + 3 personnes par installation) = 38 millions

maximum en sachant que ces ordinateurs et ce personnel sont utilisés pourd’autres taches.

5°) Caractéristiques de Vindustrie alimentaire pour bétail.

— Cest une industrie jeune et dynamique, hautement mécanisée.— Lexportation ou importation est insignifiante (2,15 %), cela est

di aux coits élevés de transport.— Il existe une trés grande concentration de la production (19 indus-

tries fabriquent 73 % de la production nationale).

Page 7: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

J. Leiser : Problémes de mélanges en Belgique 13)

— La production nationale a plus que doublé depuis 1961.

— La production est concentrée au nord du pays.

Personnes employées Pourcentage

Sud du Royaume 470 8

Brabant 655 11

Nord du Royaume 4.940 81

6.065 100

2. Optimalisation d’un mélange

2.1. Description du probleme et définitions

Le fabricant de mélanges dispose de m matiéres premiéres (M.P.).

Chaque M.P. est caractérisée par sa composition en éléments nutritifs (E.N.).

Exemple : mai 4 x % de phosphore, y % de calcium, z unités de vitamines.

Soient 2) E.N. répertoriés. Posant a,,; la valeur du 7° E.N. dans une

unité de la joe M.-P.

Lorsque nous parlerons des caractéristiques ou E.N. de la matiére

premiére j, mous penserons a {4,;, ..., dnoj}-

Nous rencontrerons dés lors deux types de contraintes :

n{i) S 4i; x; < ou > J, (2.1)

Liélément nutritif 7 dans le mélange doit étre < 5, ou > bj.

Nous appellerons (2.1) contraintes sur EN.

Ces contraintes sont parfois imposées par Ja loi, autrement elles ser-

vent a caractériser le mélange ou bien a limiter le volume ou le poids du

mélange :

(ii) x; < ou > Db; (2.2)

Dans le mélange la M.P. j doit étre < ou > 4; . Ce sont les contraintes

sur MP.

Soit enfin c; le cofit de la M.P. j, Ce coat devra comprendre le prix

d’achat, les frais d’achat, de transport et de manipulation. Remarquons que

certains prix sont stables (existence de contrats 4 long terme, réglementation)

et d'autres sont trés spéculatifs (dépendent du retard du navire, arrivée d’un

Page 8: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

14 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

navire, récolte...). Pour ces derniéres le fabricant doit prendre une décisionrapide (1 4 2 jours). La fonction économique & minimiser sera z = ¥ oj xy.

2.2. Dimensions du probleme

Nous avons vu (1.2, 3°) que les dimensions d'un probléme peuventatteindre 50 variables et 60 contraintes. Si l’on désire maintenir le tableausimplexe en mémoire centrale (M.C.) dans sa totalité, il faudra disposerd'un ordinateur de taille raisonnable. Du fait que de nombreuses contraintessont du type (2.2), il y a moyen de réduire considérablement le nombre decontraintes et de variables en considérant les remarques ci-dessous [14].

(i) La contrainte x; > 5, est satisfaite si au lieu de travailler avec x; ontravaille avec x; = x, — b, et x’) > 0.

J

La contrainte x; < , n’est pas considérée lors d’une premiére phasedu P.L. Si en fin de programme cette contrainte n’est pas satisfaite,

(ii

on pose = b; —x; avec y, > 0 et on continue les calculs avec y, .= J J Ji d

(iit) L’introduction de bornes sur les variables d’écarts ,et en respectant lesremarques(i et ii) permet également de diminuer le nombre decontraintes :

Say th =DS 4jx; = 3 devient |i avec t#; = 0

45x, > 8b

devient| Bas <B avec O < 4, < B, — 3b,

d

(iv) En vue d’éviter l'apparition des variables artificielles, on peut utiliserune fonction économique auxiliaire de maniére A avoir le plus rapide-ment possible une base de départ (ex. : 21 = Sb; — DS by; M étant

ieM iePVensemble des indices des contraintes of le second membre est < 0;P’ étant l'ensemble des indices des contraintes ot les variables bornéesdépassent leurs bornes supérieures. Dés que z! sera nul, cest-a-dire

dés que l’ensemble M et P est vide, op optimisera z).Comme les M.P. ont au maximum 25 E.N., nous aurons donc pour leplus grand probléme 25 contraintes et 60 variables, ce qui donnera untableau simplexe de 27 x 62 ou 1674 positions, si chaque variableprend une position.

Page 9: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

J. Leiser : Problémes de mélanges en Belgique 15

Remarquons:

1) a 'heure actuelle, les firmes produisant plus de 100.000 tonnes par

mois peuvent en général se permettre un ordinateur permettant le

stockage en M.C. d’unetelle matrice.

2) Tous les systémes time sharing existants le permettent également.

Etant donné que nous allons vers des ordinateurs ayant des M.C. de plus

en plus grandes, nous pouvons conclure que cest 4 l'aide d’algortihmes

stockant en M.C. le tableau simplexe qu’il faut résoudre le probléme.

2.3. Particularités du probleme

(i) Vi, 4; et 2; sont du méme signe et du méme ordre de grandeur.

(ii) Etant donné un tableau A, on résout trés souvent le probléme avec

différents seconds membres proches les uns des autres (ex. : mélange

pour bétail d’age différent).

(iii) Bien qu’au départ tous les c, > 0, il arrive souvent que d'un mois 4

l'autre on résolve le méme probléme avec d'autres prix; on peut dés

lors (si les prix ne sont pas trop différents) partir de la solution du

mois précédent (ce qui peut faire apparaitre des prix négatifs).

Bien souvent, dans la pratique, le nombre de contraintes (2.1) = le

nombre de contraintes (2.2).

2.4. Résolution du probleme

2.4.1. Lialgorithme du simplexe

Tout ouvrage sur la programmation linéaire comporte une description

de cet algorithme [3 6, 7, 13, 14]. Notons que la forme révisée du simplexe

qui garde en M.C. l'inverse de la base 4 chaque itération risque de prendre

plus de temps que si l’on peut se permettre de garder en M.C. le tableau

simplexe étant donné que la matrice de départ A sera maintenue sur disque.

2.4.2. Lalgorithme dual simplexe [3]

Cet algorithme effectue sur un probléme dual admissible des itérations

primales telles que le probléme reste dual admissible et devienne également

primal admissible, ce qui suffit pour atteindre loptimum (voir théoréme

fondamental de la dualité), Pour rendre n’importe quel probléme dual

admissible, il suffit d’ajouter une contrainte artificielle x,,. + S xj,jer

Page 10: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

16 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

P étant l'ensemble des indices des variables dont le coiit est négatif. Remar-quons que pour Jes variables bornées la tache est simplifiée, car si leurcoft est négatif, il suffit d’effectuer au départ un changement de variable

J; = 6; — x, (6; Sant la borne).

2.4.3. Le Cris Cross [17]

Le Criss Cross est un algorithme qui n’exige pas de solution duale ouprtimale admissible pour démarrer.

Pour l’expliquer, considérons le P.L. (2.3)

Min — 6,7 x, + 2 x,

Aux, + Apxm < —b, X1, X20,

(2.3)Agi x: + Asads < ba, b> 0 me > 0

On définit deux sortes d’itérations :

Itération primale. On utilise le critére simplexe sur le probléme (2.4)pour déterminer la variable entrant et sortant mais on effectue le change-ment de base sur (2.3)

Min — 6,7 x + 7 xy Min c.7 x,

Aa x, + Ax, < be, Aik, < bh,

Ris ty SO, Ags xX, < by, Xx, = 0

(2.4) (2.5)

Itération duale. On utilise le dual simplexe sur le probléme (2.5) pour

déterminer la variable entrant et sortant de la base et on effectue le chan-

gement de base sur (2.3). L’algorithme consiste 4 effectuer une itérationprimale suivie d'une itération duale. Si lors d’uneitération (primale ou duale)une variable doit entrer d'une maniére infinie dans la base, on cherche la

prochaine variable qui doit entrer dans la base. Si ce n’est pas possible, on

essaye une itération opposée (primale ou duale). Si cette detniére itérationest également impossible, on démontre [17] que le probléme n’a pas desolution finie. Si Ton rend (2.3) admissible (primal ou dual) alors oncontinue uniquement avec des itérations primales ou duales. On peut dé-

montrer la convergence [17].

Page 11: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

]. Leiser : Problémes de mélanges en Belgique 17

2.4.4, Le Minit [13] [12]

De méme que le Criss Cross, cet algorithme utilise des itérations duales

et primales et n’utilise pas de variable artificielle. Il y a deux phases dans

l'algorithme:

Phase I. Soit les contraintes :

S ai xy S< On (T1)

D 45%; by (T2)

DS 41% = 1 (T3)

L’objet de la phase I est de trouver une solution de base (si possible

admissible) pour les contraintes (T3) sans introduire de variable d’écart.

Cela permettra de satisfaire dés le départ aux conraintes (T3).

Vv

La phase II s'applique aux contraintes (T1) et (T2). On effectuera une

itération duale si l’augmentation de la fonction économique est plus grande

que la diminution de cette fonction occasionnée par l’itération primale et

inversement.

2.4.5. Le gradient projeté [4] et [10]

Cet algorithme utilise la direction du gradient de la fonction écono-

mique pour arriver 4 loptimum.

D’aprés le théoréme fondamental, nous savons qu’a Voptimum, s’il est

fini, on aura :

Py g(@)t =0

(Ay Ay’)Ay ¢@* > 0 (2.6)(voir notations en [4] et [10]), Cest-a-dire qu’a l’optimum (x) le gradient

doit se trouver entiérement dans le sous-espace engendré par les hyperplans

sur lesquels se trouve X.

(2.6) exprime que g(x) (le gradient) est a l’intérieur du céne convexe

formé par des vecteurs a, g € ly (hyperplan | aux contraintes satisfaites).Ayant une base admissible x), on essayera de traverser le domaine des

solutions admissibles chaque fois que cest avantageux. Se trouvant sur une

face du polyédre convexe, on projettera le gradient sur cette face et on se

dirigera dans la direction du gradient négatif jusqu’au point d’intersection

avec une nouvelle face du polyédre. A cet endroit, on projettera le gradient

sur la face du domaine ot le gradient a sa composante la plus négative

et on se dirigera 4 nouveau dans le sens du gradient négatif.

Page 12: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

18 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

2.4.6. Le Duoplex [10]

Lidée de cet algorithme est dans une premiére phase de suivre la

direction du gradient négatif — g(x) (si l’on calcule un minimum). On

prend comme base de départ celle qui correspond au point intersection

(K) du gradient négatif avec la contrainte r telle que :

angle (— g (xo), ar) = min angle (— g (xo), aq)q

Le désavantage de cette méthode est que le point K dépend de l’origine

et avec un peu de malchance on risque d’étre en dehors du polyédre des

solutions admissibles ou bien sur une contrainte redondante.

2.4.7. Le Triplex [11]

Le but du Triplex est de donner une base presque optimale au départ.

Nous dénommerons cette base « base Triplex». Ayant déterminé cette base,

on peut continuer avec n’importe quel algorithme.

Deux moyens sont proposés:

Base Triplex I. — Reprenant la notation du gradient projeté [4], on

définit les » contraintes dont les a, forment avec le gradient un angle

minimum, ce qui conduit au calcul de » angles g1, 9, «5 m+

Ces ” contraintes doivent étre remplies, ce qui veut dire que les varia-

bles d’écart correspondantes doivent étre hors base. Les m variables en base

sont dés lors déterminées.

Base Triplex 2. — A Voptimum,le gradient est une combinaison linéaire

positive des a, correspondant aux contraintes satisfaites (voir (2.6).

On essayera de trouver le plus grand nombre de a, ayant une contri-

bution positive dans la combinaison linéaire.

2.5. Comparaison sur ordinateur des algorithmes utilisés

2.5.1. Description des algorithmes utilisés

(i) Le Criss Cross utilisant une procédure de variables bornées, nous avonsdabord résolu le programme linéaire sans tenir compte des bornes. Aloptimum, pour toute variable dépassant Ia borne supérieure, on effectue

la substitution y, = 5, — x°, ce qui permettra de continuer avec des

itérations duales uniquement.

Page 13: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

{. Leiser » Problemes de mélanges en Belgique 19

(ii) Le dual simplexe (II) avec procédure de variables bornées.

(iii) Le simplexe (III) avec variables artificielles et procédure de variables

bornées, (Cela nous a obligé d’ajouter une sous-routine duale simplexe.

(iv) Criss Cross avec base Triplex I (IV) et procédure de variables bornées.

2.5.2. Problémes choisis

Nous avons choisi 37 mélanges différents d’un méme fabricant. Nous

avons pris les mémes contraintes et matiéres premiéres que dans la pra-

tique. Nous avons néanmoins modifié la fonction économique introduisant

des coiits négatifs pour différencier le Criss Sross du dual simplexe et pour

répondre 4 la remarque 2.3. (iii), Comme ces problémes sont de taille assez

grande, nous avons ajouté 10 problémes dun autre fabricant.

Caractéristiques des problemes

N.B. N.B.

contraintes

\.

M.P. |10-15 16-20 21-25 26-30 31-35 36-40

E.N.

6-10 = — — _ 0

11-15 = iz 3 — — — 10

16-20 i 1 5 2 3 12; 25

21-25 — 1 2 2 — 12

1 9 10 5 10 12

N.B. N.B.

contraintes M.P.| 11-15 16-20 21-25 26-30 31-35 36-40

MP.

5-10 1 8 3 matt — _— 12

11-15 = 1 6 — 2 9

16-20 = — 1 5 1 —_— 7

21-25 — — = 7 12 19

26-30 — — — — 0

iL 9 10 a 10 12

Page 14: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

20 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

N.B. N.B.

total MP.

contraintes

-10 a 011-20 _ 4 — — — _— 4

21-30 a 4 5 i _— _— 10

31-40 == 1 5 4 3 12 25

41-50 —s — —_— 1 7 = 8

1 9 10 5 10 12

Résultats :

Pour plus de détail voir [12].

En ce qui concerne le nombre d’itérations, nous avons eu :

I< I<W<Iv 36 fois (76 %) I = Criss CrossI< U< Ul < Iv 1 fois II = Dual SimplexeI< I<IV< IU 4 fois If] = Simplexe

W<Wie< I<iIv 5 fois IV = Triplex +I< U<IV< I 1 fois Criss Cross

Résultats sur le nombre d’itérations.

s y Pe Intervalle de confiance Coefficient490 % sur m de Fisher

I 23.61 75.08 76.71 P (21.47 < < 25.76) = .90 8556

It 15.93 23.84 24.36 P (14.73 < < 17.14) = .90 +3135

Il 31.46 129-57 132.38 P (28.65 < < 34.29) = 90 35973

IV 41.17 142.61 145.71 P (38.21 < < 4412) = .90 5664

Nous voyons que le dual simplexe est de loin

la variance est relativement petite. Notons de plus le peu de symétrie des

plus avantageux et que

résultats. Nous avons testé différentes corrélations. Par exemple entre lenombre d’itérations et le nombre de M.P. nous avons:

Page 15: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

J. Leiser » Problémes de mélanges en Belgique al

Type d'ajustement t Per Tua Ny

Y= A+ Be 015 03 04 .002

Y= Ac 03 -03 06 003

Y= Av® 05 02 03 .0006

Y=A+ B/x 04 .006 OL OL

Y = 1/(A + Bx) 06 .03 06 002

Y = x/(A + Bx) 13 .008 .02 .009

(r; est le coefficient de corrélation en employant le Criss Cross).

Les autres corrélations (nombre diitérations et nombre total de con-

traintes, nombre d’itérations et nombre de contraintes sur E.N.) sont égale-

ment insignifiantes.

Une explication probable est que nous avons calculé différents types

de mélanges (bovins, porcins,...). En effet dans la pratique celui qui effectue

les calculs des mélanges sur ordinateur peut désigner 4 l’avance les formules

« faciles » et les formules « longues», d’aprés le type de mélange.

Des essais ont également été faits 4 l'aide du Gradient Projeté [12],

mais le désavantage de cette méthode est la longueur des calculs dus aux

accés disques (on doit toujours chercher sur disque A) @ chaque itération;

autre désavantage, pour I'analyse sensitive on doit recalculer le dernier

tableau simplexe.

Le nombre élevé ditérations du Triplex n’a pas pu étre interprété,

Peut-étre est-ce dti aux variables bornées (la borne inférieure et la borne

supérieure sont en effet paralléles) ou bien du fait que l’on utilise dans la

deuxiéme phase le Criss Cross.

3. Optimisation de plusieurs mélanges et de la firme

3.1. Enoncé du probleme et discussion des dimensions

Il est rare qu'une firme ne fabrique qu’un seul mélange. Les différents

produits fabriqués dans ces entreprises entrent en concurrence en ce qui

concerne l'utilisation des ressources (matiéres premiéres, main-d’ceuvre, capa-

cité de production). De plus, les quantités fabriquées doivent répondre &

cettaines normes et 4 sa stratégie de vente de l’entreprise.

Page 16: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

22 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

Le fabricant dispose de N produits candidats qui se différencient parleur prix et leur nature.

Soit x;; la 2° matiére premiére du j™° mélange @=14%,7=1,.., m)

mN=3 2,

isl

Soit a; la valeur de la caractéristique 4 de Xj

m nombre de mélanges 4 fabriquer

MI capacité en mélangeurs

NI capacité en meules

S| contrainte de stockage ou d’achat sur la matiére premiere 7V; contrainte de vente sur le 7 mélangeXig quantité a fabriquer du ime mélange.

Le P.L. sera donc:

mon

max Z= FD ey Myjet As.

dans les contraintes

n

Anjo Xj0 S Anis Xi5 > contrainte sur la caractéristiquei=t

ny

Xjo = D My, nm du j™° mélangeist

m> M1 x; < M1, contraintesur le poids totaljas

SSN x; < NI, contrainte du mélangeuri i

Xio S Vi, contrainte de moulage

DD 4; xy < S, contrainte de ventej i

Vii xij 2 0. contrainte de stockage

Ce probléme aura toujours la forme angulairecontraintes générales sur stock,

vente, fabrication,

contraintes sur 1°" mélange

contraintes sur 2™° mélange

contraintes sur r° mélange

(3.1)

Page 17: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

J. Leiser : Problémes de mélanges en Belgique 23

La dimension que peut avoir ce probléme est de 1530 variables struc-

turelles et 940 contraintes si l’on considére 30 mélanges, 50 matiéres pre-

miéres et 30 contraintes par mélange et de plus 40 contraintes générales.

Pour résoudre ces problémes, depuis 1959, des algorithmes spéciaux ont été

développés, et ce sujet semble étre en pleine évolution. Le but des quelques

lignes qui suivent est de montrer la direction que prennent les recherches.

Plusieurs subdivisions ont été suggérées [7, 18]; examinons celle de

Dantzig.

3.2. Méthode du simplexe utilisant un inverse de la base compacte

a) Le simplexe révisé utilisant inverse de la base {9, 13, 14, 15).

Le principe est le méme que le simplexe, mais on garde constamment

Vinverse de la base K-! en M.C. Les z; — ¢, se retrouvent aisément en

considérant la fonction économique comme une contrainteb

Z— Dex, = 0 ou bien x» — Yejxji = 0jet

de sorte que :

1— os | [1] ri tg K* — 4} f 2— 65]K = jet K = — |

, o Ki "LL Pp] Lo «|| P, | Le J

Ayant les z; — c; on déterminera la variable qui entre dans la base

(x,) et la variable qui sort (x,) en confrontant K-1P, et K-14. Pour cal-

culer le nouveau K*! (K+) il suffit d’effectuer le produit E,K,'. E, se

différenciant de la matrice unitaire par la colonne (r + 1).

Ey = (e, €g oe pega? oo Cingi)

1 ZiSacavec fra? = (— i a

>Jrk Irk

b) Le simple révisé utilisant le produit de la forme inverse (PFI) {9, 13,14, 15].

Etant donné que l'inverse de la base risque de prendre des dimensions

assez élevées, V'idée ici est de garder sur support externe cet inverse sous

forme de produits de matrices, différant de la matrice unitaire par une

colonne(il suffira de garder sur support ordinateur |’emplacement du vecteur

dans la matrice et la valeur de cette colonne; vecteur 7).

Page 18: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

24 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

Le nombre de vecteurs » s'accroftra a chaque intération sauf lorsqueTon effectuera des changements de variables (voir variables bornées), orles risques d’erreurs et le temps de calcul sont proportionnels au nombre deces vecteurs. Etant donné que l’inverse de la base peut étre exprimé parm — L (m = nombre de contraintes, L étant le nombre de variables d’écartdans la base) vecteurs » , une réinversion de la base doit étre calculée aintervalle régulier. Des techniques spéciales existent et sont utilisées dansles softwares commercialisés (technique de Markowitz et triangularisation[14]). Ces méthodes permettent de réduire les causes d’erreurs et les calculsen essayant de maximiser le nombre de zéros dans 9; cela est possible car

le PFI n’est pas unique.

c) D’autres variantes existent et sont décrites en [12] : la méthode deBennet [2] qui utilise les avantages de la forme (3.1) pour calculer I’in-verse de la base. Le simplexe utilisant la base sous forme triangulaire aulieu de V'inverse de Ja base [6].

3.3. Principe de décomposition

Lialgortihme de Dantzig et Wolfe a été développé dans [12] et sadescription se trouve dans beaucoup d’ouvrages traitant de la programma-tion linéaire [5, 14, 15].

Résumonsle principe. Soit

A, A: Ay | xX, boAy = (m x ); Xj; = (nj x 1) B, : : |By = (m; x ;); 6; = (m; x 1) B, | |Cc, = (1, 2) fee B, | | X,| b. |

(3.2)X; > 0 ju=ul,.r

max Z = 5) C; X;i.

On transforme le programme (3.2) en un programmelinéaire équivalentayant (m, -++ r) contraintes et un trés grand nombre devariables, en remar-quant que toute solution admissible de chacun des programmes linéaires

i(BX = 5( X) > 0

est une combinaison linéaire convexe des sommets admissibles.

Page 19: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

J. Leiser : Problémes de mélanges en Belgique 25

Soit dés lors un nouveau programmelinéaire équivalant 4 (3.2) [9, 12]

TX pas 4g = Fos

pg = 1, Jo dy ses Oy fap 2 Os Vern Vyk

max Z= TD pa fs (3-3)ik

Lidée de l’algorithme est de ne générer d,, et fx; que lorsque c'est

nécessaire, ainsi on n’explicitera jamais la matrice de départ. On démontre

que pour trouver la variable qui entre, cest-a-dire min {z,; — fii}, il faut

résoudre r progrrammes linéaires de la forme :

B, X; = 4;,

X, > 0,

min Z; = (6, Aj — 6) X; (3.4)

Ayant trouvé la variable entrant dans la base, on calculera aisément son

vecteur et la variable sortant de la base en adoptant le méme principe que

pour le simplexe révisé.

3.4. Méthode de variation paramétrique [1] [12]

Pour illustrer cet ensemble de méthodes, nous avons choisi l’algorithme

de Beale.

On part du probléme

Al

r =|] 2 (3.5)

Les variables de liaison correspondant 4 T seront considérées comme

des « paramétres ». Dés que leur valeur est fixée, il est trés aisé d’opti-

miser un programmelinéaire de la forme (3.5). Mais cet optimum dépendra

de la valeur de ces paramétres. Ils devront dés lors étre réajustés de facon

A améliorer la fonction économique, soit en les accroissant, soit en les dimi-

Page 20: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

26 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

nuant, et cela jusqu’au moment ot tout réajustement sera superflu. Suppo-

sons augmenter un paramétre, 4 cause de la linéarité on pourra le faire

jusqu’a ce qu'une variable de la base s’annule. Si l’on utilisait le simplexe,

un changement de base s'imposerait et la structure (3.5) serait altérée. Pour

cela on effectue une transformation de paramétre telle que cette variable

de base soit nulle et ne puisse plus se modifier lorsque les autres paramétres

changeront. Cette variable de base est appelée « pseudo-basique » cat appa-

raissant dans le tableau simplexe comme une variable de base mais étant

réellement hors base.

3.5. Utilisation dans la pratique des moréles globaux

Aux Etats-Unis, un software a été écrit et est utilisé en pratique par

quelques firmes [16].

Ce software (Profit Planning and Control System) est basé sur un

programme linéaire de grande dimension. C’est 4 l’aide de ce software que

Von prendra les décisions d’achat, de fabrication, de revente, d'utilisation

des ressources. Parallélement, ce software comprend un module de compta-

bilité qui comparera le réalisé au prévu et établira des bilans chaque semaine.

Les résultats fournis sont :

— niveau de production et composition de chaque mélange

— achats 4 effectuer pour les différentes M.P. et les différentes périodes

— intervalle des prix des M.P. acceptées et des prix des mélanges

— variables duales sur les contraintes de vente

— intervalle de stabilité des contraintes de vente

— mise a jour du stock M.P. et produits finis

— variables duales sur les contraintes de fabrication

— des résultats comptables fournis par le module comptable.

Un tel software nécessite une production planifiée, une organisation

de qualité, un niveau élevé de production.

En Belgique, d’aprés l’enquéte effectuée, une seule firme a effectué

un essai de programmation linéaire de grande dimension (16 mélanges) mais

s'est plainte de la durée ordinateur (24 h) sur 16 K scientifique. D’autre

part, beaucoup de firmestravaillent sur commande (+ 60 %) et le nombre

de mélanges fabriqués par les entreprises planifiées est trés élevé (64). Une

firme américaine de software, commercialsiant les programmes linéaires de

grande dimension pour les firmes d’aliments pour bétail, estime que le

Page 21: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

]. Leiser : Problémes de mélanges en Belgique 27

marché européen ne répond pas aux mémes exigences que le marché améri-

cain, et désire adopter son programme pour I’Europe.

4. Résultats obtenus en appliquant la programmation linéaire

4.1. La notion de codt marginal par unité

a) Généralités

Soit un P.L. BS 4x) = 5j

Vix, 2 0

minz = Sox (4.1)

Comme l’ensemble des solutions admissibles est un polyédre convexe,

bien souvent il existe plusieurs bases admissibles.

Soit Py, , -5 Pky une base admissible

| 41km ]

Py = } (4.2)

An; |

A cette base correspond un choix de M.P. xq, sy Migg AVEC UN cotit

total z,.

Si le fabricant de mélange prenait la position de vendeur des éléments

nutritionnels contenus dans le mélange, le probléme se pose de savoir a

quel prix il doit les vendre pour avoir un revenu maximal ?

Il suffit de résoudre

yy Ji Fe A intePm Ma >

AiJr be inti Ym = hem(4.3)

On ne peut vendre plus cher, autrement les clients achéteraient les

MP. directement et extrairaient les E.N. Le vecteur y (y; ..- Jm) est appelé

le vecteur prix.

Etant donné le choix de la base, il est possible qu'une M.P. non retenue

x; puisse concurrencer le prix de vente y de E.N. Il suffit que

m

= 45 Ji 2 ojjel

Page 22: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

28 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

Le simplexe effectuera dés lors une intération en vue d’éviter cetteinégalité jusqu’au moment of aucune matiére premiére ne peut concurrencerle prix de vente des E.N.

Finalement nour aurons un vecteur y optimal 4°.

Examinons la signification économique de ce vecteur prix. Supposonsintroduire dans le P.L. (4.1) une M.P. fictive qui consiste simplement aaccroitre l’élément nutritif 7 si b; > Oou le diminuer si b, < 0. Cela peutétre représenté par une colonne de zéros, sauf un 1 dans la 7° ligne. En

calculant le revenu supplémentaire entratné par la vente de cet E.N. nousaurons 4°.

De la nous pouvons titer une interprétation économique duce vecteur °.

Soient 4, ,.

Jax? 5) Im® les prix optimaux

b, les seconds membres de départ

Si Ton fait passer 6, 4b, + A,, la fonction économique passera de% & 2° + ¥,9 A, signe (b,) (signe (b,) = 1, si contrainte >)

(signe (b,) = —1, si contrainte <).

Cette interprétation n’étant valable que dans l’intervalle de stabilité deb, (voir § 4.3) et pour autant que sew! b, varie.

yi est donc le gain (coat) supplémentaire entrainé par une variationunitaire de la constrainte 7. Dans la littérature anglo-saxonne, on la désignepar « shadow-price » ou bien cot marginal par unité.

b) Le coat marginal par unité et le probléme dual

Etant donné Ja marche & suivre par l’algorithme du simplexe, on peutdire que le prix optimal y° finalement obtenu sera tel que :

pase et Sajyyi < ec; si x9 = 0 (4.4)

(x° étant la solution optimale de 4.1).

1°) Démontrons que St 9,°b, = Dy hy pM

Soit c)° =e, — Dajyi > 0 (4.5)

=c— yA,

x9 = 6x9 — x Ax? = 29 —- 9D (4.6)

or ox? = 0 (voir 4.4)

donc 2° = yb.

Page 23: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

J. Leiser : Problémes de mélanges en Belgique 29

2°) Démontrons que y° est la solution optimale du probléme dual .

yA Se,

y 20

max yb (4.7)

Soit un vecteur y satisfaisant (4.7).

Multiplions la j™* équation de (4.7) par x;° et additionnons. nous trou-

verons:

ge Day x59 eo S49 59 ove A Ym SY Ag 41° SD 6; 1°

En introduisant la solution optimale en (4.1) on aura :

by = D> a; *;°

dés lors :Pedy Pe + en Be SY Op ay?

ot yb < c¢x® pour tout y satisfaisant (4.7).

Le prix y° maximise donc y 4 sans les contraintes de (4.7).

Remarques et conclusion

Nous avons donc démontré qu’a la solution optimale on peut faire

correspondre un vecteur y° fournissant les shadow-price ou plus exactement

le coat supplémentaire qu’entrainerait une augmentation ou une diminution

de ces contraintes.

Dans la pratique, ce résultat est trés important. Prenons par exemple

la méthionine qui est un élément nutritif se trouvant dans les matiéres pre-

miéres et est également disponible sous forme de méthionine artificielle.

Une indication de la variable duale correspondant a la contrainte sur la

méthionine indiquera s'il est intéressant d’envisager I’achat de méthionine

artificielle.

Dans la pratique, pour calculer les variables duales, il suffira de consi-

dérer les z, des variables d’écart. En effet y° = cy Kt (K* étant l'inverse

de Ja derniére base et c; les cotits des variables en base, or K-1 est justement

(a un signe prés), dans le dernier tableau simplexe, la matrtice correspon-

dant aux variables d’écart.

Page 24: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

30 Reve de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

Trois cas sont & envisager si /; est la variable d’écart de la contrainte fi

(i) si 4° = 0 et la contrainte initiale est So ajx + t, = b, (> 0)yi = % qui est négatif. Ainsi, si l'on accroit 5; d’une unité, 2° dimi-nuera de y;,;

(ii) si 4° = 0 et la contrainte initiale est S ayx, — t = 4; (> 0)J; = —2%; qui est positif. Ainsi, si l’on accroit 4; d’une unité, 2° croftrade ;;

(iii) si 4° ~ 0 alors y, = 0 et le prix du mélange n'est pas influencé parles variations de 4, .

Remarquons que les considérations ci-dessus ne sont vraies que pourVintervalle de stabilité de d; .

En général, le fabricant en voyant les variables duales saura si sa for-mule est bien équilibrée. Dans Je cas contraire, il recalculera son mélange.

4.2. Intervalle des prix et indication de ce qui se passe au-dela

a) Cas général

Soit min (¢ + ¢ dA) x

étant donné Ax = b

x 20 (4.29)

e™® est un vecteur (1 x mw) (c., 0, 0, 6).

A est un scalaire.

Soit optimum et, x°, c° et c°™ connus, définissons en fonction de run intervalle de stabilité pour l’optimum.

Supposons que pour 4 = },la solution optimale existe.

On aura donc:

(2° + ACH) P, — (c + AGM) KO ¥ i (4.30)

ou oP, — 4 +d (coB, — 6) <0 (4.31)

= aij

avec P; =

4amj

Page 25: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

J. Leiser ; Problémes de mélanges en Belgique 31

Recherchons l'ensemble des tels que (4.30) reste valable

oP, — c° P, — § -A = max — ( iT) min —PO yy

i co) P, — 6, i co) P, — 4,0

au = (4.31){oo@ P; — 6 < 0} {co P; —¢,? & Oo}

b) Cas particuliers

1°) e@ = (1, 1. 1).

~ Ps 4): X = min Tae a

i a 4j— 1

_ (4.32)

(4; — 1 > 0}

ou bien

a =e as 2y — 6;A = max — ~—*——___; A = min — =

i 4; — 1 (< 9) ; x4; —1 © 9)

Lintervalle (A, ») est tel que si tous les prix des matiéres premiéres y

fluctuent,la solution optimale reste inchangée.

Daye = OVE sauf ¢,= 1 (Cost Ranging).

Nous aurons dés lors l’intervalle de stabilité lorsque seul le prix de la

matiére premiére & varie

2

a,j (> 0)

3 T 5A = max — ———; A = min —

ii aa (< 0)” ~

Pour chaque matiére premiére dans le mélange, on calculera l’intervalle

(4.34).

Le calcul de ces intervalles se fera aisément 4 partir du dernier tableau

simplexe.

On effectue les rapports */x l'une aprés l'autre et cela pour toutes les

M.P. dans le mélange.

Intérét pratique

Il existe sur le marché des matiéres premiétes assez stables dont le prix

est réglementé par le marché commun ou bien dont le prix est fixé par un

Page 26: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

32 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

contrat de longue durée. D’autres matiéres premiéres sont trés spéculativeset leurs prix peuvent dépendre d’un retard de bateau ou d’un mauvaiserécolte. L’intervalle de stabilité permettra de dire s'il faut recalculer le mélangeoptimal en cas de changement brusque des prix.

Pour de nouvelles matiéres Ptemiéres apparaissant sur le marché, I’in-tervalle de prix permet de voir dans quelle mesure elles sont compétitivespat rapport aux M.P. existantes.

En effet, soit x, une nouvelle M.P., c, son cofit et c, + X Vintervalle.

Supposons devoir utiliser x;° au cours de la période considérée; onpeut, dés lors, considérer que Xx;° est la plus-value apportée par x;. Eneffet, si le prix de x; était c, + X, la composition du mélange ne serait pasmodifiée mais le coft total serait augmenté de x,°.

c) Que se passe-t-il au-dela de l’intervalle de stabilité ?

Soit le cas oc) = (0, 0, ..., 1, ..., 0) soit A et X Vintervalle gtaetc; + X.

I I IlXK

cota co td

II et II sont les intervalles de stabilité adjacents 4 I au cas ot le c¢, de x;varie.

Si le coat de x; tombe dans [intervalle II ou II, nous aurons dansle dernier tableau un z; — c; > 0 et ce sera le j déterminant A ou X par(4.34), soit x, cette variable. Il est certain que dés lors x, devient intéres-sant et nous devrons effectuer une itération primale supplémentaire enfaisant sortir x, tel que

Xp . ay= min

ay i Aix

(> 0)

Il est certain qu’en II et III la solution optimale est totalement modi-fie; dés lors se pose le probléme de savoir ce qu'il faut renseigner. L’im-pression de la nouvelle solution en II et III, et cela pour chaque matiérepremiére, est longue et codteuse.

On pourrait indiquer les nouveaux niveaux de x; de méme que les M.P.qui sortent ou entrent (s'il y en a) et A quel niveau. Remarquons que toutesces indications se trouvent dans le dernier tableau simplexe.

Ainsi, si x, est une M.P., le niveau de x, en II ou IIT sera Xy/dye «

Page 27: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

}. Leiser : Problémes de mélanges en Belgique 33

4.3. Intervalle de stabilité du 2™¢ membre et indication de ce qui se passe au-dela

a) Cas général

Soit Ax = 6 + Xb

min z = ¢x (4.35)

b et b™sont donnés; il s’agit de déterminer 2 et X tels que pour un

optimum donné (A = dA») la solution ne soit plus optimale.

A loptimum x° = K+b + AK1b > 0 (4.36)

posons y = KR

x = K16 + ry

Ja

ys |Jim

Si y > 0, A peut croitre jusqu’a l'infini sans changer l’optimum,s’il existe des

%,°

uy <0 > = min (— —y,>0 i

Si y < 0, » peut décroitre jusqu’a linfini sans changer l’optimum,s’il existe

desx;°

yi > O >= max (— }yo Vi

x,° . . x,°A = max f— }<AX<)d = min {(— —} (4.37)~ yp0 Ii ¥,<0 Ji

b) Cas particulier

b® = e, (vecteur dont tous les éléments sont nuls sauf le jm* = 1).

Si P; = e; était dans la base initiale, alors y = Ke, et 9; = 4&j.

(4.37) devient 2» = max {—aie

Le calcul de ) et X en (4.38) se fera aisément 4 partir du dernier tableau

simplexe.

Page 28: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

34 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

Premier tableau

Dernier tableau

Il suffira de considérer

les rapports */x

a

Intérét pratique

Liintervalle de stabilité de 4; indique jusqu’ot Vinterprétation de la

variable duale associée & b, joue. C'est dans cet intervalle que la fonction

économique variera linéairement en fonction de y, si toutes les autres con-

traintes restent inchangées.

Dansle probléme du mélange, une des contraintes est la qualité d’énergie.

En faisant varier l’énergie, nous pourrons calculer le rapport cofit du mélange/

quantité d’énergie. Ce rapport ne sera pas continu en fonction de |'énergie

et admettra un minimum; en effet, le graphe du coat unitaire de l’énergie

en fonction de Ja continuité sur l’énergie se présente généralement sous

forme d’une ligne brisée convexe.

Remarque

Dans les problémes de mélanges, il ne suffit pas de faire varier une

seule contrainte car, pour des raisons diététiques, il faut que le rapport

entre différentes contraintes nutritives reste constant. Les différents rapports

définiront 5et on appliquera (4.37).

c) Que se passe-t-il au-dela de l'intervalle de stabilité ?

Pour A <A et A > A, la solution de base n’est plus admissible pour

le probléme primal mais bien pour le dual. Si l’on se trouve en II ou IU,

une itération duale suffira.

Il I Illx ieba by +X

a a

Page 29: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

]. Leiser : Problémes de mélanges en Belgique 35

II et III sont les intervalles de stabilité adjacents 4 I au cas ot 4, varie.

La variable qui sortira de la base sera celle qui détermine A ou 2 pat

(4.37), soit x, la variable. La variable qui entrera dans la base sera x

telle que

By — Oe 2 ay

dix ay;

Remarque

En faisant varier b, on risque d’avoir un vecteur qui dans l’espace des

contraintes se trouve en dehors du polyédre céne convexe, de sorte quon

n’aura pas de solutions admissibles.

4.4. Prix d‘introduction d’une matiére premiére refusée

Il est intéressant de savoir 4 quel prix une matiére premiére refusée

serait introduite dans le mélange. Le résultat est instantané et se lit dans

le dernier tableau simplexe. En effet, si x, est refusé et si au lieu de partir

avec un cotit ¢, on était partir avec un prix 2; — e (z; du dernier tableau),

le «z, — ¢,» de x, serait positif et on aurait incorporé xj. Dés lors 2;

du dernier tableau donnele prix a partir duquel x; deviendra intéressant.

5. Exigences d’un code de programmation linéaire

5.1. Examinons d’abord les exigences machines et constructeurs

1°) Existence d'une virgule flottante hardware.

2°) Existence en FORTRANoutout autre langage scientifique de 15 chiffres

significatifs par variable et possibilité de double précision.

3°) Vitesse de traitement élevée.

Notons toutefois l’existence d’excellents packages de programmation

linéaire sur des machines ne possédant pas toutes ces possibilités.

5.2. Exigences softwares

1°) Existence d’un bon programme pour l’introduction des données. Ce

point est fort important étant donné que de nombreux utilisateurs sou-

vent se découragent 4 l'emploi de la programmation linéaire 4 cause

du grand nombre de données 4 fournir. Bien souvent dans la matrice

de départ de nombre de zéros est fort élevé et leur génération peut étre

programmée.

Page 30: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

36 Revue de Statistique — Tijdschrift voor Statistiek 13 (1) 1973

2° Possibilité de partir d’une solution choisie par J'utilisateur (RESTART).

3°) Existence d’une bonne sous-routine de réinversion, permettant de con-

tréler l’exactitude des résultats et, si l'on utilise le P.F.1, de diminuer

le nombre de vecteurs .

4°) Contréle des erreurs de précision pouvant survenir lors de l'utilisationd'un petit pivot ou de trop petites données (voir [14]). Il est 4 noter

que ce point est beaucoup plus fréquent et plus important que le

cyclage (fort rare).

uw Lalgorithme doit étre adapté au probléme.

6° Output flexible incorporant le RANGINGetla possibilité de para-

métriser.

Notons le chapitre entier que Orchard Hayes [14] consacre 4 ce sujet.Il est 4 remarquer qu’un bon software peut bein souvent fortement dimi-nuer les défauts hardware (au détriment de la vitesse).

BIBLIOGRAPHIE

[1] BAELE, E.M.L., « The Simplex Method Using Pseudo-Basic Variables for Struc-

tural Linear Programming Problems », Recent Advances in Mathematical Programing, édité par Graves, Robert et Wolfe, Ph., New York, MacGraw-Hill, 1963

{2} BENNET, J.M., «An Approach to Some Structured Linear Programming Prob-

lems », Operation Research, 14 (1966), 4( (juillet-aoat), pp. 636-645.

[3] BRANS,J.P., Programmation Mathématique (Notes), Université Libre de Bruxelles.

{4] BRANS, J.P., Programmes Quadratiques (Notes), Université Libre de Bruxelles.

[5] DANTZIG, G.B., Applications et prolongements de la programmation linéaire,

Paris, Dunod, 1966.

[6] DANTZIG, G.B., « Basis Triangularization for the Simplex Method », Recent

Advances in Mathematical Programming, édité par Graves, Robert et Wolfe, Ph.,

New York, MacGraw-Hill, 1963.

{7] DANTZIG, G.B., Large-Scale Linear Programming, Technical report n° 67-8,

november 1967 (Stanford University).

{8] DENT J.B. and CASEY, H., Linear Programming and Animal Nutrition, Crosby

Lockwood and Sons Ltd, 1967.

9} HADLEY,G., Linear Programming, Addison-Wesley Publishing Company, 1967.Ss

[10] KUNZI, H.P., «Die Duoplex-Methode», Unternehmensforschung, 7 (1963),

pp. 103-116.

Page 31: PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …

{. Leiser : Problémes de mélanges en Belgique 37

[11]KUNZI, H.P. und KLEIBHOM,K., « Das Triplex-Verfahren », Unternehmens for-

[12]

{13}

[14]

[15]

[16]

{17]

[18]

schung, 12 (1968), pp. 145-154.

LEISER, J., Programmation Linéaire et problémes de Mélanges, Mémoire de Licence

Spéciale en Mathématiques Appliquées 4 la Gestion (U.L.B.), 1970-1971.

LLEWELYN, R.W., Linear Programming, Holt, Rinehart and Winston, 1964.

ORCHARD-HAYES, Advanced Linear Programming Computing Techniques,

McGraw-Hill Book Company, New York, 1968.

SIMONNARD,M., Programmation Linéaire, Paris, Dunod, 1962.

SNYDER, C.J., NELSON,L.L., ACTON, R.W., JACKLIN, D.A., OVERTON,E.,

GUTHRIE, T.L., Profit Planning and Control System, Feedstuffs (5 octobre,

2 novembre, 9 novembre, 7 décembre, 4 janvier, 11 janvier), 1968-1969.

ZIONTS, S., « The Criss-Cross Method for solving Linear Programming Problems »,

Management Science, 15 (1969), 7 (mars), pp. 426-445.

GEOFFRION, Arthur, « Elements of Large-Scale Mathematical Programming»,

Management Science, 16 (1970), 11 (juillet), pp. 652-675.