PROGRAMMATION LINEAIRE APPLIQUEE AUX PROBLEMES DE …
Transcript of 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.
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.
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.
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.
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
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).
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
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.
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
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].
]. 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.
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.
{. 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
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:
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.
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)
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).
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.
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-
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
]. 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
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.
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.
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
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
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 «
}. 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.
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
]. 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.
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.
{. 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.