MPRA Paper 3926
MPRA Paper 3926
MPRA Paper 3926
Buda, Rodolphe
July 2001
Online at https://mpra.ub.uni-muenchen.de/3926/
MPRA Paper No. 3926, posted 09 Jul 2007 UTC
LES ALGORITHMES
DE LA MODÉLISATION
UNE PRÉSENTATION CRITIQUE POUR
LA MODÉLISATION ÉCONOMIQUE
Rodolphe BUDA
GAMA-MODEM, Université de Paris X-Nanterre
SUMMARY : Our aim is to specify all the kind of errors and mistakes which
come from an unreasonable use of algorithmic. So we examine a large and rich
set of algorithms, some are used in economic modelling others would be. We can
observe some structural error (accuracy of computer), but the worse error comes
from the belief we would all represent with algorithms. To make a good use of
algorithms in social sciences, we have to introduce procedures which can lead us
to the reality, not only statistics but experiment too.
(analyse) puis une formulation du problème à résoudre (synthèse). Les résultats obtenus grâce
au modèle peuvent alors être comparés à la réalité. L’une des conséquences peut alors être le
perfectionnement des algorithmes.
RÉFÉRENCES
M.DELEAU & P.MALGRANGE (1978) qui proposent une analyse des modèles macroéco-
nométriques français ainsi que la méthodologie de la modélisation. Sur la programmation de
procédures algébriques appliquées à la macroéconomie et à la comptabilité nationale on pourra
consulter J.F.PHÉLIZON (1979). La méthodologie est décrite par P.ARTUS et al. (1986) qui
y apportent une touche théorique, alors que P.JACQUINOT et al. (1991) et J.L.BRILLET
(1994) fournissent une présentation à l’adresse des praticiens. Citons enfin R.C.FAIR (1996)
qui présentent les méthodes de simulation et d’optimisation utilisée en macroéconométrie -
ses programmes en FORTRAN sont disponibles sur internet.
7 - A propos des principes du génie logiciel que nous avons examiné dans le cadre de
notre travail de programmation du logiciel SIMUL, voir nos notes de travail (1993.a ; 1993.b ;
1993.c ; 1994.a et 1995.b). Le lecteur intéressé par le génie logiciel est invité à consulter
I.SOMMERVILLE (Le génie logiciel, Paris, Addison-Wesley, 1992, 638 p.) pour un exposé
développé et complet et/ou J.PRINTZ (Le génie logiciel, Paris, PUF, Coll. Que sais-je ?, 128
p., 1995) pour un exposé plus concis.
JACQUINOT P., LOUFIR A., MIHOUBI F., (1991), Muscadet et Muscadine - deux outils
pour la micro-informatique appliquée à la macro-économie, Paris, Economica, 230 p. + Les
logiciels Muscadet et Muscadine.
PHÉLIZON J.F., (1979), Traitement statistique des données, Paris, Economica, 242 p. +
Programmes.
NOTES DE TRAVAIL
SOMMAIRE
0 - INTRODUCTION 1
RÉFÉRENCES 2
NOTES DE TRAVAIL 3
SOMMAIRE 4
ANNEXE I - LE PROJET DE SYSTÈME DE MODÉLISATION SIMUL 6
V - CONCLUSION 94
RÉFÉRENCES 96
ANNEXE 5 - LES ÉCONOMISTES ET LES MACHINES A CALCULER 97
Rodolphe BUDA - GAMA-MODEM, Université Paris X-Nanterre / 9
Les Algorithmes de la Modélisation...
connues. Progressivement ce nombre est monté au delà de la centaine pour atteindre le pic de
la dizaine de milliers, selon le degré de désagrégation des économies représentées.
2 - A propos d’un panorama assez détaillé et documenté sur la question, voir notamment
B.JOLIVALT (La simulation et ses techniques, Paris, PUF, Que-sais je ?,1995). L’auteur pré-
sente essentiellement des simulations de pilotage professionnel sur ordinateur, ainsi que des
simulations destinées aux loisirs. Bien que les simulations économiques n’y figurent pas, on y
trouve des références intéressantes. Voir en particulier la simulation en réseau (pp.95-99).
3 - Si l’on en croit les historiens de la Comptabilité, elle serait née en Mésopotamie - pour
plus d’informations voir J.G. DEGOS, Histoire de la comptabilité, Paris, PUF, Coll. Que
sais-je, 1998, pp.7-20.
4 - A propos du calcul des proportions dans les arts de l’espace, voir M. CLEYET-
MICHAUD, Le nombre d’or, Paris, PUF, Coll. Que sais-je ?, pp.98-122, 1973, (Rééd.1993)
- notamment à propos de la polémique autour du nombre d’or qui aurait été utilisé par les
Egyptiens lors de la construction des pyramides.
5 - A propos des calculs de trajectoires des astres, voir notamment J.MEEUS, 1986, Calculs
astronomiques à l’usage des amateurs, Paris, Société Astronomique de France, 152 p. A propos
comme technique de mesure du temps - ont "consommé" des calculs très tôt dans
l’Histoire de l’Humanité. Cependant, leurs calculs n’impliquaient pas des algo-
rithmes complexes et se limitaient souvent à l’usage d’opérations arithmétiques
élémentaires et à des fonctions trigonométriques de base. Certes les civilisations
antiques ont contribué à l’édification de l’Algèbre moderne ; les Babyloniens
au XVIIIè siècle avant notre Ere, étaient parvenus à résoudre des systèmes de
plusieurs équations à plusieurs inconnues du premier et du second degré par
des méthodes géométriques (G.IFRAH, 1981, Tome 2, pp.453-56), au Ier siècle
de notre Ere, les Chinois par des méthodes proches du calcul matriciel actuel
(G.IFRAH, 1981, Tome 1, pp.662-65), puis au IV-Vè siècle de notre Ere, les
Indiens avaient enrichi la représentation du zéro et des nombres négatifs. Mais
les méthodes proposées n’étaient alors pas généralisables.
une présentation historique très documentée, accompagnée de commentaires sur les articles
originaux, voir également J.L.CHABERT et al. (EDS), Histoire d’algorithmes, Paris, Belin,
Coll.Regards sur la science, 591 p.
(voir R.THÉODOR, 1989). Elle propose en effet des techniques de calculs qui
arbitrent constamment entre deux critères, à savoir la rapidité et l’approxima-
tion des calculs. Ces grandes têtes de chapitres "généralistes"7 sont la recherche
de solutions à des problèmes d’analyse, la recherche de solutions optimales, le
calcul matriciel, les techniques de convergence vers la solution et les techniques
d’approximation8 . Il s’agit à chaque fois d’obtenir un résultat numérique (et
non pas une formulation algébrique) le plus précis possible et le plus rapide-
ment possible. On peut distinguer plusieurs chapitres dans cette discipline :
1 - La recherche de solutions à des problèmes d’analyse consiste à effectuer la
résolution de systèmes d’équations linéaires et non linéaires, la résolution d’équa-
tions différentielles, ainsi que l’intégration et la dérivation numériques - i.e. par
opposition à ces mêmes opérations dans le sens fonctionnel du terme 9 . 2 - La re-
cherche de solutions optimales consiste à utiliser des méthodes telles que celle du
gradient ou du simplexe, etc. qui déterminent la solution minimale ou maximale
d’un système donné. 3 - Le calcul matriciel est un ensemble de transformations
qui donnent les caractéristiques d’une matrice (calcul de déterminant, valeurs
propres, valeurs singulières, vecteurs propres, etc.) ou qui affecte la valeur de
ses éléments (factorisation, méthode de triangularisation, conditionnement de
matrices10 , etc.). 4 - Les techniques de convergence vers la solution consistent
à rechercher et affiner l’intervalle où se situe la solution (recherche et acceléra-
tion de la convergence, recherche par dichotomie, tests d’arrêts des itérations,
discrétisation, transformation, relaxation, etc.). 5 - Les techniques d’approxima-
tion consistent d’une part, à transformer des fonctions de formes peu pratiques
à résoudre en une combinaison additive et/ou multiplicative de fonctions élé-
mentaires (méthodes d’approximation, méthodes d’interpolations, lissage, etc.),
d’autre part à déterminer des algorithmes accédant plus rapidement aux don-
nées significatives (matrices creuses, propagation d’erreurs d’arrondi, etc.) 11 .
Cela étant, les progrès de l’analyse numérique sont loins d’être achevés - voir
le TABLEAU N˚1 non exhaustif, qui recense les principales contributions de
l’analyse numérique. D’une part en raison des récents travaux concernant la
théorie des Objets fractals, la théorie du Chaos ou la théorie des sous-ensembles
flous12 qui introduisent de nouveaux types de problèmes à résoudre ; d’autre part
7 - La plupart des manuels présentent ces grandes têtes de chapitres. Certains ouvrages
spécialisés traitent de points précis de l’analyse numérique tels que la représentation des
nombres et des fonctions par les ordinateurs et l’incidence sur la précision des calculs ou bien
encore certains algorithmes spécifiques (Cf. Infra).
8 - Citons les trois ouvrages : P.LASCAUX et R.THÉODOR (1986-87, 2 Vol.) qui proposent
lyse numérique. En dehors des ouvrages que nous citons, et pour lesquels nous avons fait
figurer la mention "+ Programmes" ou "+ Logiciel" dans les références bibliographiques,
nous invitons le lecteur à visiter les sites internet des centres de recherches (INRIA, MIT,
etc.). D.DUREISSEIX (Méthodes numériques appliquées à la conception par éléments finis,
Mimeo, ENS Cachan, 2000, 74 p.) propose quant à lui de se référer à E.ANDERSON et al.
(1999).
12 - A partir des années cinquante, l’extension de l’analyse économique statique aux dimen-
La méthode dichotomique
sions temporelle d’une part puis spatiale d’autre part, a été l’occasion d’un bouleversement
méthodologique important de la discipline - voir C.PONSARD (ED.) (Analyse économique
spatiale, Paris, PUF, Coll.Economie, 1988, pp.193-230) à propos des sous-ensembles flous
appliqués à l’économie spatiale, E.PUMAIN (ED.) (Analyse spatiale et dynamique des popu-
lations, Paris, J.Libbey-Ined, 1991, 457 p.) pour l’analyse chaotique spatiale, G.ABRAHAM-
FROIS (ED.) ("La dynamique chaotique", Revue d’économie politique, 1994, N 2/3) ainsi que
G.ABRAHAM-FROIS et E.BERREBI (Instabilité, cycles, chaos, Paris, Economica, 1995, 392
p.) pour les analyses chaotique et fractales temporelles essentiellement.
13 - Il s’agit là d’un abus de langage dans la mesure où les méthodes algébriques peuvent
également avoir une interprétation géométrique, mais avec plus de trois dimensions.
On divise ensuite l’intervalle en deux [a, x0[ et [x0 , b]. On peut chercher dans
lequel des deux intervalles se manifeste le changement de signe en calculant Π 0 .
On subdivise alors le nouvel intervalle [x0 , b] en deux [x0 , x1 [ et [x1 , b] et on
calcule Π1 . Le changement de signe se manifeste dans [x0 , x1 ], ce qui permet
alors de déterminer la nouvelle partition de recherche [x0 , x2 [ et [x2 , x1 ] etc.
L’algorithme s’arrête lorsque la taille de l’intervalle est inférieure à la valeur
d’un ε fixée à l’avance - voir le programme en Turbo-Pascal en Annexe 1.1.
et f (xk ), tel que la différence entre xk−1 et xk soit inférieure à la valeur d’un
fixée à l’avance - voir le programme en Turbo-Pascal en Annexe 1.1.
14 - Voir D.MONASSE (1988) à propos de son lien avec le théorème des accroissements finis.
15 - Dans notre exemple la sécante est au dessous de la courbe. Dans le cas contraire on a :
a.f (xk−1 ) − xk−1 .f (a)
xk =
f (xk−1 ) − f (a)
Cette méthode consiste à choisir un point de départ (x0 , f (x0 )) puis à pro-
jeter la droite de tangente en ce point sur l’axe des abscisses. On obtient alors
un nouveau point de coordonnées (x1 , f (x1 )).
A l’ordre k, la tangente
f (xk )
xk+1 = xk −
f ′ (xk )
Consulter J.BERSTEL et al. (1991, tome 1) à propos des méthodes et des programmes en
Pascal, ainsi que A.REVERCHON et M.DUCAMP (1994, pp.113-269) pour des programmes
en C++.
A.x = b
on a
1
A−1 = (A∗ )t
det(A)
et
a∗ij = (−1)signe σ . det(Aij )
où A∗ est la matrice des cofacteurs. Cette méthode n’est jamais appliquée car
trop gourmande en calculs : le temps de calculs est de 11 s pour la taille 15, de
433 jours pour la taille 20, de 11 millions d’années pour la taille 25 (J.G.DION
et R.GAUDET, op.cit., pp.313-18).
La méthode Gauss-Seidel
18 - Parce qu’elle économise de la place mémoire et qu’elle converge plus rapidement que
les autres méthodes. Gauss-Seidel nécessite un tableau (celui de la matrice A), alors que la
méthode de Jacobi en nécessite deux - P.LASCAUX et R.THÉODOR (1987, op.cit., pp.406-
09).
δf (X)
A 0< <1 CONVERGENCE MONOTONE
δX
δf (X)
B < −1 DIVERGENCE CYCLIQUE
δX
δf (X)
C −1 < <0 CONVERGENCE CYCLIQUE
δX
δf (X)
D >1 DIVERGENCE MONOTONE
δX
i−1
!
(k+1) 1 X
xi = bi − aij .xkj
aii j=1
j6=i
i−1
!
(k+1) ω X
xi = bi − aij .xkj + (1 − ω).xki
aii j=1
j6=i
rapidité de convergence, notamment en raison du Théorème de Brower (dit "du point fixe")
selon lequel, si une application f est continue alors ∃ x / f (x) = x.
21 - K.F.GAUSS (1826, op.cit.) cité par G.B.DANTZIG (1966, p.44). Voir chez ce dernier
(Chap.2) l’exposé relatif aux méthodes d’élimination appliquées aux systèmes d’équations et
aux systèmes d’inéquations.
22 - Voir à ce propos P.LASCAUX et R.THÉODOR (1986, tome 1, pp.207-87).
London, Chapman Hall, 1964). Pour des développements opérationnels et des programmes
voir F.Y.BOIS et D.R.MASLE (1997).
26 - On peut déterminer la probabilité d’événement à partir des deux équations suivantes :
N
X
H = α0 + αi .Xi
i=1
et
1
P =
1 − e−H
où la relation entre H et les N grandeurs est obtenue par estimation économétrique. Les
grandeurs Xi sont choisies en raison de leur forte connexion au phénomène dont on évalue la
probabilité de survenue. La "probabilité" P est obtenue par le calcul d’une fonction logistique
sur H. Voir à ce propos le chapitre 16 - The Maths of Microsimulation in CORSIM (2000,
pp.169-83).
27 - Une méthode classique consistait à calculer une suite de nombres h tels que
i
hi = k.hi−1 + c mod t
n’est pas sans risque, car rien ne dit que tous les chiffres soient représentés
de manière équiprobable dans la partie fractionnaire de Π ; 2˚ - La qualité de
la sélection des chiffres d’une horloge d’ordinateur dépend de sa fréquence, or
celle-ci étant automatisée, elle biaise nécessairement le tirage ; 3 - Le tirage
mécanique (du type tirage des boules de loto) trahit, sur le long terme, les
nécessaires imperfections physiques des éléments mécaniques 29 .
des rectangles, mais des trapèzes. Pour des développements plus importants sur les méthodes
d’intégration numérique (Newton-Cotes et Gauss-Legendre), voir J.G.DION et R.GAUDET
(op.cit., pp.261-84) ainsi que M.SIBONY et J.C.MARDON (tome 2, op.cit., Chap.IV).
31 - A propos des aspects théoriques, voir M.SIBONY et J.C.MARDON (tome 2, op.cit.,
Chap.V) ainsi que R.THÉODOR (op.cit., pp.227-88). Pour un aperçu et des programmes
en Pascal, voir D.MONASSE (op.cit., pp.188-205), en C++ voir A.REVERCHON et
ment : arrivée d’un élément x dans la file d’attente durant l’intervalle t + ∆t, sachant que les
probabilités d’entrée et de sortie (resp.) de la file d’attente sont λ∆t et µ∆t (resp.). Si l’on
pose
P (Xt+∆t = x) = f (x)
alors lorsque ∆t → 0, on obtient
df (x)
= λ.f (x − 1) − (λ + µ).f (x) + µ.f (x + 1)
dt
Voir à ce propos J.F.PHÉLIZON (op.cit., pp.201-205).
34 - Voir G.ABRAHAM-FROIS et E.BERREBI (op.cit., 1995).
35 - Pour un exposé de la résolution des équations différentielles dans le cadre de l’analyse
systèmes, pp.6-13, trad. 1984). Le langage Dynamo des années soixante soixante-dix a été
remplacé par un langage "visuel" dans le programme VenSim PLE Version 4.
37 - Sur les temps discret et continu, voir G.GANDOLFO (Economic Dynamics : Methods
poser des modèles en temps continu, mais les hypothèses supplémentaires ne sont pas anodines
sur l’analyse des résultats.
39 - J.H.CONWAY (Scientific American, Oct. 1970, p.120) : On répartit de manière aléa-
toire des individus sur une surface constituée de cellules. On instaure des lois dynamiques
de reproduction et de mortalité des individus (ex. : si un individu est isolé il meure, si deux
individus sont séparés par un espace, un troisième individu apparaît). Selon les conditions
initiales, la population peut s’accroître ou au contraire s’éteindre très rapidement. Les re-
cherches de J.H.CONWAY ont succédé celles de J. Von NEUMANN parues en 1978 ("The
General and Logical Theory od Automate", in BUCKLEY (ED.), Modern System Research
for the Behavioural Scientist, Chicago, Adline Pub.), après la mort de ce dernier.
40 - Les quantités de marchandises par exemple ne peuvent être négatives.
41 - Voir la définition fournie par R.FAURE (1979, op.cit., pp.1-10), ainsi que V.COHEN
(Recherche opérationnelle, Paris, PUF, Coll. Que sais-je ?, 1995, 128 p.) pour un panorama
plus large.
42 - La plupart des bibliothèques de programmes proposent des algorithmes de calculs d’opti-
misation, mais il existe des logiciels spécifiques tels que GINO et LINDO (L.SCHRAGE, 1989),
et des langages spécifiques, tels que DATAFORM de MANAGEMENT SCIENCE SYSTEMS
(1970) ou bien encore AMPL (R.FOURER et al., 1990).
43 - Voir à ce propos M.GUILLAUME (Modèles économiques, Paris, PUF, Coll.Thémis,
réponse à la question Quelle politique doit être menée pour permettre d’obtenir
un état déterminé de l’économie nationale44 ? De plus dans une perspective de
planification où l’information des prix n’est pas disponible, nous verrons que les
techniques de l’optimisation peuvent s’avérer très utiles45 .
i - La programmation linéaire
Énoncé du problème
Considérons par exemple une entreprise qui fabrique deux biens en quantités
x1 et x2 . Les contraintes techniques de fabrication des produits sont exprimées
en heures d’usinage dans deux ateliers - aji est la durée d’usinage du produit i
dans l’atelier j et ajmax est la durée maximale d’utilisation de l’atelier j.
N
aji .xi ≤ 0
X
i=1
1971).
44 - Citons à ce propos R.A.FRISCH (Maxima et minima - Théorie et applications écono-
miques, Paris, Dunod, Coll. Finance et économie appliquée, 178 p., 1960) pour une présenta-
tion de la problématique des calculs d’optimisation par rapport à la théorie économique, ainsi
que L.V.KANTOROVITCH (Calcul économique et utilisation optimale des ressources, Paris,
Dunod, 1959).) à propos de la technique de programmation proprement-dite. Voir D.LACAZE
(1990, pp.78-84 ainsi que pp.188-94). Les modèles macroéconomiques développés par l’INSEE
ont d’ailleurs pu être utilisés en "mode optimisation" - voir à ce propos les comptes PY PZ
(Commissariat Général du Plan, Défis à l’économie française, Etudes et recherches, N˚3-4,
1986, pp.19-47).
45 - Voir à ce propos D.LACAZE ("La détermination de prix fictifs pour l’évaluation des
variables peuvent être reliées dans une fonction objectif de Profit tel que :
N
X
Π= (pi − vi ) − F
i=1
46 - On peut en effet raisonner sur la maximisation de la marge et non plus sur la maximi-
M ax{f (xi )}
M
X
ai .xi ≤ bj
i=1
xi ≤ 0
devient
M ax{f (xi )}
M
X
ai .xi + xM +i = bj
i=1
xi ≤ 0
pp.63-71). On pourra également consulter les travaux relatifs au premier codage des algo-
rithmes de programmation linéaire in W.ORCHARD-HAYS (1955) ainsi que W.ORCHARD-
HAYS et al. (1956).
48 - G.B.DANTZIG (1966, pp.55-60) rappelle en effet que le mathématicien français
J.B.J.FOURIER (1826) puis T.S.MOTZKIN (1936) avaient travaillé chacun en leur temps
à la mise au point d’une méthode d’élimination pour les systèmes d’inéquations.
49 - En principe, l’algorithme du Simplexe requiert des variables non négatives et un sens
déterminé des inégalités, mais l’usage des variables d’écart permet de contourner certains
(1) (2) (1) (2)
obstacles. On pose en effet x1 = xi + xi avec xi ≥ 0 et xi ≥ 0. De même le sens des
inégalités n’est pas un problème :
M
X M
X
ai .xi ≤ 0 devient ai .xi + XM +i = 0
i=1 i=1
et
M
X M
X
ai .xi ≥ 0 devient ai .xi − XM +i = 0
i=1 i=1
96) pour une présentation avec des exemples. Pour des programmes voir J.F.PHÉLIZON
(op.cit., tome 1, pp.73-90).
51 - En l’occurrence, cela signifie que la réalisation du projet i est subordonnée à celle de j.
Cette méthode, qui peut également être classée dans les méthodes de résolu-
tions de systèmes d’équations non linéaires, en tant que méthode itérative non
stationnaire (D.DUREISSEIX, op.cit., pp.26-30), consiste à se déplacer d’un
point x(i) à un autre x(i+1) , dans le domaine de réalisation selon la direction
~ (xi ) - où ∇
donnée par le vecteur ∇f ~ est le vecteur gradient, f la fonction objectif
et la valeur de x à ième itération. On se déplace dans cette direction jusqu’à ce
que la fonction objectif soit à sa valeur maximale, i.e. au point suivant x (i+1) . En
ce point on détermine le gradient et ainsi de suite. La méthode du gradient clas-
~ (~x(i) ),
sique qui peut se formuler de la manière suivante, ~x(i+1) = ~x(i) + t(i) .∇f
(i)
ne converge pas très rapidement en raison du pas t . C’est pourquoi R.M. HES-
TENES et E. STIEFEL (1952) ont proposé la Méthode du gradient conjugué
où le choix du pas est optimisé. Quoiqu’il en soit, cette méthode reste limitée
dans la mesure où elle présente le risque de ne fournir qu’un optimum local.
Méthode de Newton-Raphson53
tion of Dynamic Models with Forward Variables Through the Use of a Relaxation Algorithm",
Document de travail du CEPREMAP, N˚9612, mars, 1996, 13 p. + Programmes en lan-
gage Gauss).
57 - D’ailleurs, la programmation est une manière alternative (et en même temps plus opéra-
son utilité U , fonction des quantités xi des N marchandises peut être optimisée
sous contrainte de son revenu R, exprimé en termes d’achat des xi marchandises
N
X
R= pi .xi
i=1
M ax{U (x1 , x2 )}
R = p1 .x1 + p2 .x2
δL δL
δxi ≤0 xi ≥ 0 xi . δx i
=0
δL δL
δλi ≤0 λi ≥ 0 λi . δλ i
=0
M
X
M ax{Z1 = ci .xi }
i=1
M
X
ci .xi ≤ bj
i=1
xi ≥ 0
N
X
M in{Z2 = bj .xj }
j=1
N
X
bj .xj ≤ ci
j=1
xj ≥ 0
60 -Voir J.B.ROSEN, "Gradient Projection Method for Non-Linear Programming - Part
1, Linear Constraints", J. Soc. Industr. Appl. Math., N˚8(1), 1960, pp.181-217, "Gradient
Projection Method for Non-Linear Programming - Part 2, Non-Linear Constraints", J. Soc.
Industr. Appl. Math., N˚9(4), 1961, pp.514-32.
Le contrôle optimal
et
ut = u1 (t), u2 (t), . . . um (t)
Un outil important, que nous avons seulement évoqué dans les développe-
ments précédants, est utilisé en recherche opérationnelle ; il s’agit du graphe.
Un graphe est défini (D.LACAZE, op.cit., p.98) par la donnée : d’un ensemble
X (individus, localités, opérations etc.) ; d’un ensemble U de couples ordonnés
(a, b)/a ∈ X et b ∈ X. Les éléments de X seront représentés par des points
appelés sommets du graphe. Chaque élément (a, b) de U sera représenté par un
arc fléché joignant d’extrémité initiale a à l’extrémité terminale b.
Problème de transport
Le recourt au graphe est tout à fait approprié pour l’étude des problèmes
de réseaux de transport (ils représentent des noeuds de communication, des
capacités de circulation etc.). Un problème courant consiste à déterminer le flux
maximum admis par le réseau. De type de problème peut être résolu en utilisant
un simplexe du type :
M ax{φ(b̄, ā)}
où φ(b̄, ā) est le flux entre a et b, b(ai , aj ) et c(ai , aj ) (resp.) sont les capa-
cités minimale et maximale (resp.) de flux et enfin, où P et S (resp.) sont les
ensembles des prédecesseurs et des successeurs de ai (D.LACAZE, op.cit., pp.99-
112). Néanmoins il existe des algorithmes spécifiques permettant de gagner du
temps, notamment en termes de formalisation. L’Algorithme de Ford-Fulkerson
(1962) fonctionne le long d’un chemin, par marquage des étapes permettant
d’augmenter la valeur d’une chaîne (J.F.PHÉLIZON, op.cit., tome 1, pp.131-
183). L’Algorithme de Balas-Hammer, qui s’attache davantage au problème du
coût de transport, opère par saturations successives des destinations du réseau
(Ibid.). Enfin, l’Algorithme hongrois - d’après les travaux de J.ERGÉVARY
62 - Voir J.F.PHÉLIZON (op.cit., tome 1, pp.2-36) à propos de la théorie des graphes et des
(1931) et G. KÖNIG (1936)63 - a été développé pour traiter les problèmes d’af-
fectation.
Ordonnancement
par la NASA (Apollo Configuration Management Manual, NPC 500-1, Washington, Office of
Manned Space Flight, 1964).
65 - J.PETERSON, Petri Net Theory and the Modelling of Systems, Englewood Cliffs, Pren-
Cependant le flux de demande peut être moins simple et nécessiter des simu-
lations spécifiques ; en introduisant des aléas. Par exemple, le nombre probable
de clients peut varier fortement d’une période à l’autre sur une échelle de temps
jugée pertinente par l’entreprise (la journée, la semaine, le mois). Dans ce cas
là, on peut simuler les arrivées et des sorties par la méthode de Monte-Carlo, ce
qui permet de calculer le temps moyen d’attente aux caisses (J.F.PHÉLIZON,
op.cit., tome 2, pp.197-250 ainsi que R.FAURE op.cit.)66 .
Programmation dynamique
Il s’agit cette fois de trouver des solutions optimales (à tout le moins, sa-
tisfaisantes) à chaque période de développement d’un processus économique ou
de gestion. Contrairement au contrôle optimal, on raisonne ici plutôt en temps
discret. L’Algorithme de Bellman (1957) repose sur une série de programmes
d’optimisation analogues à ceux de l’optimisation de flots dans un réseau.
Jeux
aux fonctions modulo que nous avons proposé pour modéliser un trafic alterné sur une ligne de
métro avec fourches. A propos de l’usage des nombres modulo en gestion, voir A.KAUFMANN
et A.HENRY-LABORDIERE (1974, pp.387-91).
∀i ∈ [1, n]. Les variables utilisées sont n, le nombre de décisions différentes pos-
sibles, UAi,j l’utilité retirée par A sachant que A a pris la décision i et B la
décision j. Les outils dont nous avons déjà parlé jusqu’à présent en optimisation
linéaire (graphes, réseaux, etc.) permettent alors de mettre en lumière les straté-
gies les plus pertinentes compte tenu des paramètres des différents joueurs 67 . Il
faut toutefois préciser que la Théorie des jeux utilise assez peu les techniques de
simulation. Dans ces rares cas, notamment les jeux d’entreprises programmés,
il n’y a alors pas d’algorithmes réellement spécifiques68 . En revanche, les spé-
cialistes des jeux utilisent beaucoup l’outil mathématique à des fins purement
théoriques et les validations, lorsqu’elles existent, seraient plutôt du domaine de
l’économie expérimentale69 .
RÉFÉRENCES
tabilité analytique d’entreprise. Voir A.KAUFMANN et al. (1976, pp.84-118) ainsi que
A.E.AMSTUTZ (1967, pp.89-110) à propos de la programmation des jeux d’entreprises (com-
portement de demande, de distribution etc., sur le marché) en langage FORTRAN, GPSS et
SimScript.
69 - Voir notre note (2000.a) au sujet de l’historique de l’économie expérimentale où nous
précisons les liens entre psychologues, théoriciens des jeux et économiste expérimentaux dans
les années 50-60 aux Etats-Unis et en Allemagne notamment.
FAURE R., (1979), Précis de recherche opérationnelle, Paris, Dunod, Coll. Décision, 466
p.
FEUVRIER C.V., (1971), La simulation des systèmes - Maîtrise d’informatique, Paris,
Dunod, Coll. Université, 152 p.
FORD L.R., FULKERSON D.R., (1962), Flows in Network, Princeton, Princeton UP.
FOURER R., GAY D.M., KERNIGHAN B.W., (1990), "A Modeling Language for Ma-
thematical Programming", Management Science, N˚36, pp.519-54.
FOURIER J.B.J., (1826), "Solution d’une question particulière du calcul des inégalités",
Oeuvres II, pp.317-28.
GAUSS J.K.F., (1826), "Theoria Combinationis Observationum Erroribus Minimis Ob-
noxiae", Supplementum, Vol.4, Göttingen, pp.55-93.
HERNERT P., (1995), Les algorithmes, Paris, PUF, Coll. Que sais-je ?, 128 p.
HESTENES M.R., STIEFEL E., (1952), "Methods of Conjugate Gradients for Solving
Linear Systems", J. Res. Natl.Bur. Stand., N˚49, pp.409-36.
IFRAH G., (1981), Histoire universelle des chiffres - l’intelligence des hommes racontée
par les nombres et le calcul, Paris, Laffont, Coll. Bouquins, (2 Vol.), 2050 p.
JACOBI C.G.J., (1846), "Über ein leichtes Verfahren, die in der theorie der säcularstörun-
gen vorkommenden gleichungen numerish aufsulösen", Journal für die reine und angewandle
Mathematik, pp. 51-94.
KAUFMANN A., (1968), Méthodes et modèles de la recherche opérationnelle - tome 2,
Paris, Dunod, Coll. L’économie d’entreprise, 544 p.
KAUFMANN A., (1970), Méthodes et modèles de la recherche opérationnelle - tome 1,
Paris, Dunod, Coll. L’économie d’entreprise, 536 p., (2nde éd.).
KAUFMANN A., FAURE R., LE GARFF A., (1976), Les jeux d’entreprises, Paris, PUF,
Coll. Que sais-je ?, 128 p. (4ème éd.).
KAUFMANN A., HENRY-LABORDIERE A., (1974), Méthodes et modèles de la re-
cherche opérationnelle - tome 3, Paris, Dunod, Coll. L’économie d’entreprise, 398 p.
KÖNIG G., (1936), Theorie des Endlichen and Unendlichen Graphen, Leipzig, Akad.
Verl. MBH.
KNUTH D.E., (1981), The Art of Programming - tome 2, Seminumerical Algorithms,
Reading (Mass.), Addison-Wesley, 688 p.
KUTTA W., (1901), "Beitrag zur naherungsweisen Integration totaler Differentialglei-
chunge", Zeitung Mathematik Physik, vol. 46, pp.435-53.
LA PORTE M., VIGNES J., (1980), Algorithmes numériques, analyse et mise en oeuvre
- Tome 2, équations et systèmes non linéaires, Paris, Technip, Coll.Langages et algorithmes
de l’informatique, 302 p.
LACAZE D., (1990), Optimisation appliquée à la gestion et à l’économie, Paris, Econo-
mica, 440 p.
LASCAUX P., THÉODOR R., (1986-87), Analyse numérique matricielle appliquée à l’art
de l’ingénieur (2 Vol.), Paris, Masson, 790 p.
LEEB H., (1995), Random Numbers for Computer Simulation, Diplomarbeit zur Erlan-
gung des Magistergrades an der Naturwissenschaftlichen Fakultät, Salzburg, 1995, 135 p.
LÉVY G., (1994), Algorithmique combinatoire - méthodes constructives, Paris, Dunod,
Coll.Science informatique, 502 p. + Programmes.
LIONS J.L., MARCHOUK G.I.(EDS), (1974), Sur les méthodes numériques en sciences
physiques et économiques, Paris, Dunod, Coll. Méthodes mathématiques de l’informatique,
299 p.
MANAGEMENT SCIENCE SYSTEMS, (1970), DATAFORM Mathematical Program-
ming Data - User Manual, Arlington, Management System Ketron.
MONASSE D., (1988), Mathématiques et informatique, Paris, Vuibert, Coll. Classes pré-
paratoires Cours et travaux dirigés, 223 p. + Programmes.
MOTZKIN T.S., (1936), Beitrage zur Theorie der Linearen Ungleichungen, Doctoral The-
sis, Universität Zürich.
NEWTON I, (1671), Methodus Fluxionum et Serierum Infinitarium, (éd., 1736 ; trad.,
1740 ; réimp.1966).
ORCHARD-HAYS W., (1955), "RAND Code for Simplex", The RAND Corporation,
Research Memorandum, RM 1440, February 7.
ORCHARD-HAYS W., CUTLER L., JUDD H., (1956), "Manual for the RAND IBM
Code for Linear Programming on the 704", The RAND Corporation, Paper P-842, May 16,
24-26.
PHÉLIZON J.F., (1976), Informatique opérationnelle - Tome 1, méthodes relevant de
l’optimisation, Paris, Economica, Coll. Informatique, 225 p.
Résultats de simulation
Nous présentons ici le principe général du module RESOLV qui n’est pas
encore totalement programmé.
SYNTAXE SIGNIFICATION
********************************************************************************
********************* MODELE DE KLEIN-GOLDBERGER SIMPLIFIE *********************
********* P.ARTUS ET AL. (MODÉLISATION MACROÉCONOMIQUE, 1986 PP.14-21) *********
********************************************************************************
A 1 : CC + I + G = Y + T + D
A 2 : W1 + W2 + P + A1 + A2 = Y
A 3 : δ[1,K] = I - D
A 4 : δ[1,B] = SP
A 5 : HW * ( W / P ) * NW = W1 + W2
B 6 : CC = α * Γ[1,CC] + α * ( W1 + W2 - TW ) $
+ α * ( P - TP - SP ) + α * ( A1 +A2 - TA ) $
+ α * Γ[1,L] + α * NP + CONST
B 7 : I = α * Γ[1,( P - TP + A1 + A2 - TA + D )] $
+ α * Γ[1,K] + α * Γ[1,L2] + CONST
B 8 : W1 = α * ( Y + T + D - W2 ) $
+ α * Γ[1,( Y + T + D - W2 )] + α * TREND + CONST
B 9 : D = α * ( K + Γ[1,K] ) α * ( Y + T + D - W2 ) + CONST
B 10 : Y + T + D - W2 = α * ( HW * ( NW - NG + NE )) $
+ α * ( K + Γ[1,K] ) + α * TREND + CONST
B 11 : PC = α * P + CONST
B 12 : SP = α * ( PC - TC ) + α * Γ[1,B] + CONST
B 13 : L1 = α * ( W1 + W2 - TW + P - TP - SP + A1 + A2 - TA ) + CONST
B 14 : L2 = α * Γ[1,L2] + α * W1 - α * ( PX - Γ[1,PX] ) + CONST
B 15 : W - Γ[1,W] = α * ( N - NW - NE ) $
+ α * ( Γ[1,PX] - Γ[2,PX] ) + α * TREND + CONST
B 16 : A1 * ( P / ( PA )) $
= α * ( W1 +W2 - TW + P - TP - SP) * ( P / ( PA )) $
+ α * FA
B 17 : PA = CONST + α * PX
Les données sont la source, sinon la raison d’être des modèles empiriques
(tant macro que micro). On comprend donc que la gestion de leur organisation
est capitale pour garantir la qualité des résultats des modèles qui les utilisent.
Il s’agit de trier, de tranformer les données existantes, mais la pratique de col-
lecte des statistiques montre que le modélisateur ne dispose pas toujours de
l’intégralité de données sur lesquelles il auraît aimer pouvoir compter. Certains
algorithmes permettent de combler les défaillances, voir de reconstituer une
banque de données à partir des données existantes1 . Nous aborderons enfin le
problème des grands tableaux que les capacités techniques des ordinateurs ne
permettent pas de traiter en une seule fois.
Algorithmes de tri
I :=0 ;
WHILE I<N DO
BEGIN
FOR J :=N DOWNTO I+1 DO
BEGIN
IF (T[J]<T[J-1]) THEN
BEGIN
VTEMP :=T[J] ;
T[J] :=T[J-1] ;
T[J-1] :=VTEMP ;
END ;
I :=I+1 ;
END ;
END ;
S’il existe une structure hiérarchique au sein du tableau - i.e. les éléments
du tableau peuvent être représentés par un arbre - on peut recourir à des algo-
rithmes spécifiques de tri (D.BEAUQUIER et al., 1992, pp.121-44).
n2 +n−2 n2 −n
INSERTION C =n−1 C= 4 C= 2 −1
n2 −9n−10 n2 −3n−4
SIMPLE M = 2(n − 1) M= 4 M= 2
n2 −1 n2 −n n2 −n
EXTRACTION C= 2 C= 2 C= 2
n2
SIMPLE M = 3(n − 1) M = n.(Ln(n) + 0.57) M= 4 + 3(n − 1)
n2 −n n2 −n n2 −n
PERMUTATION C= 2 C= 2 C= 2
et les mouvements nécessaires pendant le tri, tandis que n est la taille du tableau à trier.
Recherche de données
En présence d’un tableau non trié, la méthode la plus intuitive est la mé-
thode dite "séquentielle". Elle consiste tout simplement à consulter successive-
ment chaque élément du tableau pour tester s’il s’agit de l’élément recherché
ou non3 . La seule difficulté que présente cette technique est celle des éléments
présents en multiples exemplaires - voir Fig.14, l’algorithme à gauche propose
un arrêt à la première occurrence (X = X0 ⇒ fin de la boucle), tandis que
l’algorithme à droite ne s’arrête qu’à la fin du tableau (i ≥ imax ) ; les deux algo-
rithmes indiquent le(s) rang(s) i correspondant(s). Notre programme GEBANK
fonctionne sur le principe séquentiel. L’inconvénient est la lenteur d’accès, sur-
tout si l’occurrence cherchée est à la fin du tableau, on a donc toujours intérêt
à travailler sur des petits tableaux purgés des données inutiles, lorsque cela est
possible (Ibid., pp.337-77).
I :=0 ; I :=0 ;
REPEAT REPEAT
I :=I+1 ; I :=I+1 ;
IF (X=X0) THEN WRITELN(I) ; IF (X=X0) THEN WRITELN(I) ;
UNTIL (X=X0) ; UNTIL (I>=IMAX) ;
Si le tableau est déjà trié, et que les enregistrements y sont stockés selon un
ordre logique (croissant, décroissant etc.), la recherche peut être plus rapide. On
peut commencer par la fin du tableau si l’on a de bonnes raisons de penser que
l’occurrence se trouve en fin de tableau. La technique la plus pertinente est la
technique "dichotomique". On scinde le tableau en deux sous-tableaux d’égale
taille et l’on teste celui de droite (ou celui de gauche) - il s’agit d’une tech-
nique analogue à celle de recherche dichotomique de f (x) = 0. Des techniques
convergeant plus rapidement existent, cependant elles sont en même temps plus
risquées, en particulier s’il n’y a pas une relation d’ordre strict dans le tableau.
Il est parfois possible d’établir une fonction entre les éléments du tableau et
leur position (par ex. : si les éléments sont des mots, une fonction du nombre
de lettres, du rang de la première lettre dans l’ordre alphabétique etc.) - c’est
la technique du hachage. L’accès à un élément est directement lié à un calcul.
Cette technique reste cependant limitée dans ces applications. Dès que l’on sou-
haite agrandir le tableau, le risque de collision d’adresse surgit (il n’y a plus de
bijection entre les éléments et les adresses). D’autre part, l’emploi de fonctions
de hachage trop sophistiquées aboutit à retomber dans le problème initial, à
savoir un accès séquentiel aux éléments du tableau (T.CORMEN et al., 1994,
pp.216-38 ; P.HERNERT, op.cit., 121-25).
à estimer, effectue de nombreuses recherches de données sur différents critères (de variable
pertinente, temporelles, régionaux, etc.).
en niveau vers une série en taux de croissance, ou bien encore d’effectuer une
transformation comptable. Plus élaborée est l’agrégation des données.
devient en langage Pascal dans notre module COMBIN.PAS calculé ad hoc par
PROGEN5 :
VC1 :=VC[1] ;
FOR n :=1 TO h DO BEGIN
FOR i :=VC1 TO VC[n] DO BEGIN
VL1 :=VL[1] ;
FOR m :=1 TO h DO BEGIN
FOR j :=VL1 TO VL[m] DO BEGIN
N[i,j] :=N[i,j]+M[n,m] ;
END ;
VL1 :=VL[m+1] ;
END ;
VC1 :=VC[n+1] ;
END ;
END ;
6 - La méthode d’agrégation naïve d’une matrice 30x30 dure 11’ contre 3’40 avec la méthode
Plus généralement, on peut effectuer des interpolations basées sur des hypo-
thèses d’évolution polynômiale (J.G.DION et R.GAUDET, op.cit., pp.163-250 ;
R.DONY op.cit., pp.171-92). Si l’on dispose de n couples (xi , yi ) avec i ∈ [1, n],
l’interpolation est une opération7 permettant d’obtenir un polynôme8 . On dé-
termine les coefficients du polynôme en résolvant le système linéaire V.a = Y
suivant :
1 x0 x20 . . . xn0
a0 Y0
.. .. . .. = ..
. . . .
1 xn x2n ... xnn an Yn
où V est la matrice de Vandermonde. Ce type de résolution est assez fastidieux,
et impose une nécessaire égalité entre le nombre de points et le degré du po-
lynôme . C’est pourquoi d’autres techniques on été proposées telle que celle de
Lagrange :
Xn
P (x) = yi .Li (x)
i=0
7 - La technique de lissage n’impose pas l’égalité, mais la minimisation des écarts - les
avec
n
Y x − xj
Li (x) =
j=0
xi − xj
j6=i
- voir programmes en Annexe 2.1. Nous n’exposerons pas ici l’ensemble des tech-
niques d’interpolation ; signalons seulement qu’en dehors du problème de dimen-
sionnement du polynôme, se pose le problème de la pertinence de l’ajustement
global9 . En d’autres termes, il vaut parfois mieux faire une "interpolation poly-
nômiale par morceaux" - cette technique s’appelle la technique des splines. Au
lieu de chercher un polynôme on en cherche plusieurs sur des intervalles exclusifs
et l’on introduit des conditions de raccord (R.THÉODOR, op.cit., pp.131-38).
On obtient un algorithme10 basé sur les équations suivantes :
n
X
P (t) = Pi .Ni,j (t)
i=0
et
Qj Sj
X X
Mjc = x̄q + xs
q=1 s=1
9 - Une technique couramment employée consiste à ajuster la série dont une donnée est
R.J.A.LITTLE et D.B.RUBIN, Statistical Analysis with Missing Data, New York, J.Wiley,
1987, 278 p.
12 - Pour simplifier la présentation, nous raisonnons ici avec un tableau carré. Avec un tableau
NOMBRES ENTIERS
Shortint -128..127 8
Integer -32768..32767 16
Longint -2147483648..2147483647 32
Byte 0..255 8
Word 0..65535 16
NOMBRES RÉELS
que celle d’un tableau de réels à dimensions égales. De même, le stockage d’un tableau de réels
en simple précision nécessite moins de DATA MEMORY que celui d’un tableau en double
précision. Voir le tableau des correspondances entre type de variables et place mémoire en
octets (d’après BORLAND, Turbo-Pascal 3.0 - Manuel de références, 1987).
15 - En modélisation macroéconométrique, on peut formuler des systèmes comportant un
nombre très élevé de variables, mais en même temps avec un nombre très restreint de relations
d’interdépendance.
16 - Voir les programmes FORTRAN de L.J.SLATER (1972, op.cit., pp.97-112) appliqués à
qui revient à faire un produit récursif par bloc - avec moins de calculs que la méthode classique
side dans une meilleure allocation de la mémoire lorsque le matériel est restreint
en place mémoire.
La technique, assez intuitive, que nous proposons ici (d’après note de tra-
vail 1994.a) et que nous avons appelée "matrices-disque" tente de pallier au
problème de place mémoire tout en conservant une écriture propre des al-
gorithmes de calculs - les algorithmes doivent rester reconnaissables. En lan-
gage Turbo-Pascal, les données stockées en variables tableaux sont notées
NOMVAR[rang_dim_1, rang_dim_2, . . .] où NOMVAR est le nom de la variable et
rang_dim_i est le rang de la donnée dans la i-ème dimension du tableau. Mal-
heureusement, comme nous l’avons déjà dit, la place mémoire disponible pour le
compilateur ne permet pas toujours de déclarer la taille souhaitée lorsque celle-ci
dépasse les 640 Ko19 ; problème fréquent en modélisation multidimensionnelle.
par blocs. On pourra également voir G.LÉVY (1994, pp.385-86) ou bien encore T.CORMEN
et al. (op.cit., pp.725-36) à propos de la méthode de recherche de cheminement optimal des
calculs matriciels par la programmation dynamique.
19 - Ce problème est cependant, enfin en passe de changer. Notamment, le langage DELPHI,
35 2" 7350
50 4" 15000
75 10" 33750
100 24" 60000
150 1’20" 135000
175 2’08" 183750
200 3’10" 240000
500 57’08" 1500000
i - L’analyse de données
On appelle inertie par rapport au point P expliquée par la direction U , l’inertie des points
Zi , projections orthogonales des Xi sur le vecteur U passant par P , si l’on associe à chaque
Zi :
n
X
Inp (U ) = mi kZ i − P k2
i=1
La direction du premier axe factoriel est celle qui rend maximale l’expression In(U ), c’est-à-
dire que cela revient à former le programme :
„ «
Pn i .X i′ U }
M ax{U ′ i=1 mi X
U ′U = 1
On pourrait montrer que le premier axe factoriel est le vecteur propre U1 correspondant
à λ1 , la plus petite valeur propre de V . L’inertie expliquée par cet axe est λ1 (M.VOLLE,
Analyse des données, Paris, Economica, Coll. Economie et statistiques avancées, pp.81-107,
1985).
nant les inverses des écarts types des caractères. On diagonalise ensuite V .
z1 = A.z0
z1 = A.z1 = A2 .z0
.. .. .. .. ..
. . . . .
zk = A.zk−1 = ... ... Ak .z0
(k)
λ1 = zkt .A.zk
(A − λk1 .I).yk+1 = zk
yk+1
zk+1 = kyk+1 k2
L’Analyse Factorielle des Correspondances est une technique qui vise à dé-
crire les liaisons entre deux caractères qualitatifs X et Y ayant respectivement
q et p modalités. C’est une analyse métrique des lignes et des colonnes d’un
grand tableau de contingence croisant deux variables dont chacune définit une
partition sur la population étudiée. On transforme le tableau original de données
P ki,j
contenant des éléments ki,j en un tableau de Xi,j = Pi,j .,j
où Pi,j = n. . Puis on
effectue une A.C.P. sur le tableau X. L’Analyse des Correspondances Multiples
correspond à une généralisation de l’A.F.C. dans la mesure où l’on considère
cette fois plus de deux caractères (M.VOLLE, op.cit., 182-205). L’Analyse Fac-
torielle Discriminante considère des observations de p caractères quantitatifs
{x1 , ...xp } sur une population de n individus répartis en q classes disjointes. On
cherche à savoir si les p caractères permettent de différentier les q classes de
chaque individu à partir de ces seuls caractères. En se ramenant à l’espace G
des centres de gravités de q groupes, on obtient une A.C.P. de ce nuage de points
G. Les Méthodes de Classifications cherchent, à partir des outils mathématiques
présentés plus haut (inertie, distance, métrique etc.), à déterminer la partition
d’un échantillon de données qui minimise l’inertie intra-classe et qui maximise
l’inertie inter-classe23 . Ajoutons que le calcul des valeurs et vecteurs propres est
23 - Voir M.VOLLE (op.cit., pp.265-315) et M.JAMBU (1978) pour les aspects théoriques,
ii - L’économétrie
R.CÉHESSAT (ED.) (1976), L.LEBART et al. (1977), L.LEBART et al. (1982), pour des
programmes FORTRAN, L.LEBART et al. (1982) pour des programmes APL, BORLAND
(1987) et D.MONASSE (op.cit., pp.124-27) des programmes Pascal, enfin, M.JAMBU &
M.O.LEBEAUX (1978) au sujet de la classification automatique. Voir SPAD (CISIA, 1987).
24 - P.ARTUS et al. (op.cit., pp.123-29 et pp.154-63).
25 - A propos des algorithmes d’analyse numérique et de leurs liens avec l’inférence statis-
â
tandis que la pertinence variable par variable est fournie par le t-Student t = σâ .
On obtient une première explication sur la forme des résidus, en particulier sur le
fait de savoir s’ils sont corrélés (à l’ordre 1) entre eux, en utilisant la statistique
de Durbin et Watson :
εt−1 − εt−2
DW = n
X
(yi − ŷi )2
i=1
Algorithme de Durbin
M CO(Y /Xi ) → DW
Algorithme de Cochran-Orcutt
M CO(Y /Xi ) → DW
M CO(εt /εt−1 ) → ρ̂
Algorithme de Hildreth-Lu
M CO(Y /Xi ) → DW
ρ̃ − 1 + 0.1 ∗ k
â1
M CO(Y /Xt−1 , . . . , Xt−k ) → ? → ...
âk
Pr
fr / fr (z) = i=1 ai .z i
αˆr aˆk
Yt − φ1 .Yt−1 − . . . − φp .Yt−p = εt
tures", Econometrica, jan., 1965). Si l’on souhaite tenir compte de la fréquence d’arrivée des
retards on peut utiliser la méthode de L.M.KOYCK (Distributed Lags and Investment Analy-
sis, Amsterdam, North-Holland, 1954). Pour un exposé des autres méthodes, voir notamment,
E.MALINVAUD (Méthodes statistiques de l’économétrie, Paris, Dunod, Coll. Finance et éco-
nomie appliquée, 1981, pp.630-56).
Pour terminer, mais non pour conclure, ajoutons que si l’immense majorité
des économètres travaillent sur les problèmes d’autocorrélation temporelle des
erreurs, les spécialistes d’économétrie spatiale traitent également les problèmes
d’autocorrélation spatiale des erreurs29 .
Soit le modèle Y = X.a + ε avec
pour
r 6= r′
alors on dit qu’il y a autocorrélation spatiale des erreurs . Il existe un test ana-
logue à celui de Durbin, et dans la perspective du traitement de l’autocorrélation
spatiale, le problème spécifique est celui de l’ordonnancement des régions. En
effet, dans le cas temporel, l’ordre était naturel puisqu’il est chronologique ; dans
le cas spatial on doit tenir compte de la contiguïté des régions entre elles - i.e.
la distance des régions entre elles et l’existence ou non d’une frontière commune
- Cf.Infra (§III-a-ii) à propos de la matrice de contiguïté.
RÉFÉRENCES
HERNERT P., (1995), Les algorithmes, Paris, PUF, Coll. Que sais-je ?, 128 p.
HOTELLING H., (1933), "Analysis of a Complex of Statistical Variables into Principal
Components", Journal of Educ. Psych., N˚24, pp.417-41 & pp.498-520.
JAMBU M., (1978), Classification automatique pour l’analyse des données - tome 1,
méthodes et algorithme, Paris, Dunod, Coll.Décision, 310 p.
JAMBU M., LEBEAUX M.O., (1978), Classification automatique pour l’analyse des don-
nées - tome 2, logiciels, Paris, Dunod, Coll.Décision, 399 p.
LASCAUX P., THÉODOR R., (1986-87), Analyse numérique matricielle appliquée à l’art
de l’ingénieur (2 Vol.), Paris, Masson, 790 p.
LEBART L., MORINEAU A., TABART N., (1977), Techniques de la description statis-
tique - méthodes et logiciels pour l’analyse des grands tableaux, Paris, Dunod, 351 p.
LEBART L., MORINEAU A., FÉNELON J.P., (1982), Traitement des données statis-
tiques - méthodes et programmes, Paris, Dunod, 510 p.
LÉVY G., (1994), Algorithmique combinatoire - méthodes constructives, Paris, Dunod,
Coll.Science informatique, 502 p. + Programmes.
MONASSE D., (1988), Mathématiques et informatique, Paris, Vuibert, Coll. Classes pré-
paratoires Cours et travaux dirigés, 223 p.
RUSTISHAUSER H., (1958), "Solutions of Eigenvalue Problems with th LR-
transformation", Nat. Bur. Standards Appl. Math. Ser., N˚49, pp.47-81.
SIBONY M., MARDON J.C., (1982), Analyse numérique - Tome 1, systèmes linéaires et
non linéaires, Paris, Hermann, Coll.Actualité scientifique et industrielle.
SLATER L.J., (1972), More Fortran Programs for Economists, London, Cambridge UP,
146 p.
STONE R., (1970), Mathematical Models of the Economy and Other Essays, London,
Chapman & Hall, 335 p.
STRASSEN V., (1969), "Gaussian Elimination is not Optimal", Numerische Mathematik,
N˚14(3), pp.354-56.
THÉODOR R., (1989), Initiation à l’analyse numérique, Paris, Masson, Coll.CNAM
Cours A, 302 p.
WIRTH N., (1987), Algorithmes et structures de données, Paris, Eyrolles, 320 p.
résultats par les deux méthodes de stockage des matrices (variable de type ARRAY et matrices-
disque) n’apparaissent pas ici. Les tableaux déclarés en mémoire ont servi pour effectuer les
vérifications des calculs par la méthode classique.
31 - Nous aimerions remercier M. Alain TOMAZO qui a bien voulu vérifier la cohérence de ce
texte (sous sa forme initiale), erreurs et/ou omissions éventuelles restant de notre entière res-
ponsabilité. De plus, M.TOMAZO a montré que l’algorithme était symétrique (ligne/colonne)
et a suggéré le terme d’Algorithme d’agrégation naïve.
m1,1 m1,2 ... m1,h n1,1 n1,2 ... n1,k
.. ..
m2,1 m2,2 . et N = n2,1
n2,2 .
M =
. .. . ..
.. ..
mu,v . ni,j .
mh,1 ... ... mh,h nk,1 ... ... nk,k
En effet, si k = 1 alors
h X
X h
Av (M ) = mu,v
u=1 v=1
Hypothèse 2 : Les éléments d’une même classe Ci,j sont contigus deux à deux
dans la matrice M, c’est-à-dire que
mu,v ∈ Ci,j mu+1,v ∈ Ci,j
mu+2,v ∈ Ci,j ⇒ mu,v+1 ∈ Ci, j
mu,v+2 ∈ Ci,j
u2 X
X v2
ni,j = mu,v (1)
u=u1 v=v1
avec
i−1
X
u1 = es + 1 (2)
s=1
i
X
u2 = es (3)
s=1
j−1
X
v1 = ew + 1 (4)
w=1
j
X
v2 = ew (5)
w=1
On conçoit assez facilement que dans l’équation (1), les sommations res-
treintes aux bornes de validité de la classe du nouveau découpage, correspondent
à une sommation plus générale où les éléments n’appartenant pas à la nouvelle
classe seraient multipliés par 0. C’est-à-dire que l’équation (1) est alors équiva-
lente à
h X
X h
ni,j = (di,v .mv,u ).d′u,j (6)
u=1 v=1
où les di,v sont égaux à 1 si les mv,u appartiennent à la nouvelle classe et sont
égaux à 0 sinon. On reconnaît en l’occurence la matrice de passage P composée
des pi,j
Q.E.D.
32 - Ai strictement supérieur à Aj .
33 - Ai partiellement supérieur à Aj au sens de η.
34 - A partiellement supérieur à A au sens de µ.
i j
Q.E.D.
k X
X k
ηi = i.ei .j.ej (7)
i=1 j=1
k
X
h= ei
i=1
k
X 2
2
h = ei
i=1
k
X k
X
h2 = ei ej
i=1 j=1
k
X k
X k
X
ei ej < i.ei .j.ej
i=1 j=1 j=1
Q.E.D.
Démonstration - Partant de 1 < k < h, on forme k 2 +h2 +2.k < k 2 +h2 +2.h ⇒
µi < µv .
Q.E.D.
Vectorielle h2 k2 + h2 + 2.h
k
k X
k2 + h2 + 2.k
X
Intermédiaire i.ei .j.ej
i=1 j=1
Les valeurs des µi (k) et µm (k) étant trop grandes pour être reportées telles quelles dans le
graphique, nous sommes passés en logarithme nepérien par la transformation suivante t(µ) =
µ
Ln( ).
1000
Les algorithmes graphiques bien qu’ils aient pour but de fournir une repré-
sentation, comportent une "composante" mathématique, en l’occurrence géomé-
trique. Depuis que les ordinateurs proposent un affichage graphique plus élaboré
que le simple affichage des caractères textuels, la plupart des langages de pro-
grammation ont intégré des fonctions graphiques spécifiques (ex. : BORLAND,
Turbo-Pascal Graphix Toolbox, Sèvres, Borland, 1986, 256 p.). On comprend
que le rôle de ces procédures soit déterminant pour permettre la représentation
de formes (courbes, surfaces, etc.) dans un domaine donné (plan, espace) tout
en permettant une manipulation formelle des concepts. Plus concrètement, le
problème est lié à l’emploi d’un langage approprié à la représentation graphique
sur un ordinateur et aux contraintes matérielles : un écran est composé de pixel -
i.e. picture element3 . La pleine exploitation des propriétés graphiques des écrans
1 - Informations visuelles (graphiques, textuelles etc.) et auditives ne sera pas mémorisé de
la même manière selon les individus - voir M.ROBERT ("Le traitement de l’information", in
G.WILLET (ED.), La communication modélisée - une introduction aux concepts, aux modèles
et aux théories, Ottawa, Ed. du Renouveau pédagogique, pp.198-222).
2 - Voir à ce propos S.RIMBERT (Carto-graphies, Paris, Hermès, Coll., Traité des nouvelles
un fichier graphique qui lui fournit les couleurs de chaque point de l’image, et affiche celle-ci
en balayant l’écran du point de coordonnées (1,1) jusqu’à celui de coordonnées (768,1024). 2
- Le dessin vectoriel - i.e. le logiciel graphique exécute les instructions fournies dans un fichier
graphique telles que "tracer une droite de telle épaisseur de tel point à tel autre point", ou
bien "remplir de telle couleur le polygône ayant les coordonnées...".
4 - Avant les années 80, les graphiques étaient traçés avec des symboles textuels (*,+,-
etc.) - voir R.A.GUEDJ & H.A.TUCKER (1979) à propos des premières fonctions graphiques
FORTRAN. Les écrans ont progressivement atteint des tailles confortables (CGA : 200x640,
VGA : 640x480, SVGA : 1024x480 puis 1280x1024).
5 - D’après J.FRUITET (Infographie, Mimeo, Université de Marne-la-Vallée, 1995, p.7).
6 - D’après notre module cartographique GEOGRA (note de travail, 1992). Les coordonnées
cartographiques des régions françaises sont stockées dans un fichier. Le logiciel trace ensuite
un polygône pour chaque région, le choix de la couleur de remplissage dépend alors du fichier
de données numériques. Un effet de relief est également proposé pour mettre en évidence des
régions en raison de l’importance de leurs valeurs numériques.
prétation. Citons la conjecture de Guthrie, connue sous le nom de "Théorème des quatre
couleurs" - bien qu’il n’ait pas été démontré formellement (K. Appel, W. Haken. "Every pla-
nar map is four colourable", Contemporary Mathematics, N˚98, 1989) - : il est possible de
colorier n’importe quelle carte avec quatre couleurs en évitant que deux régions voisines aient
la même couleur.
11 - Soit Y structure appelée état du balayage et X structure appelée suite des événements,
les informations contenues dans Y sont liées à la position de la droite de balayage et évoluent
lorsque celle-ci se déplace. Cette structure n’est mise à jour que lorsque la droite de balayage
passe par un nombre fini de positions discrètes appelés événements (J.D.BOISSONNAT &
M.YVINEC, 1995, pp.37-41).
12 - M.ROCHAS et J.P.JAVELLE, La météorologie - prévision numérique du temps et du
des programmes d’objets fractals voir G.LÉVY (1994, pp.413-57), ainsi que R.DONY (op.cit.,
1991, pp.151-78).
14 - Voir P.TRAN QUI (Les régions économiques floues - application au cas de la France,
Dijon, Librairie de l’université, Coll. IME, 1978, 159 p.), à propos d’un redécoupage régionale
économiquement pertinent.
15 - Voir C.PONSARD et B.FUSTIER (EDS) (Fuzzy Economics and Spatial Analysis, Dijon,
Librairie de l’université, Coll. IME, 1986), à propos du calcul des temps de transport.
On parle de réseau informatique local (en anglais LAN - i.e. Local Area Net-
work) lorsqu’au moins deux ordinateurs sont reliés pour échanger des données
et/ou exécuter des programmes sur l’un à partir de l’autre.
16 - Citons les résultats obtenus en avril 2000 en matière de décryptage de clé publique grâce
à la contribution bénévole de 9500 internautes qui ont laisser calculer sur leur ordinateur le
programme ecdl2K-108.
17 - Ici, le serveur dispose de données de conjoncture (répertoire C :\CONJONCT), bancaires
pp.417-33) pour les algorithmes et T.BASTIANELLI & G.LEBLANC (1990) pour des pro-
grammes systèmes écrits en langage C.
Technology, EWD 123, 1965. Voir également E.W. DIJKSTRA, "Solutions of a Problem in
Concurrent Programming Control", CACM, 8(9), 1965, 569 p.
où un sémaphore S est constitué d’une variable entière e(S) et d’une file d’at-
tente f (S). A sa création, la file est vide et e(S) est initialisé à une valeur en-
tière non négative e0 (S). Deux opérations indivisibles et exclusives permettent
d’agir sur le sémaphore23 - Fig.30. Il faut également mentionner l’algorithme de
L.LAMPORT (1978) qui utilise également une file d’attente pour gérer les exclu-
sions24 . En tout état de cause, l’implémentation de systèmes utilisant le réseau
renvoie à l’ensemble des problèmes relatifs à la programmation en parallèle. En
particulier au choix du langage de programmation, qui n’est pas anodin (ADA,
Algol, Concurrent Pascal etc.). Ce choix dépend en particulier de la nature du
21 - Pour un exposé sommaire, mais plus complet, voir T.FALISSARD (Le logiciel système,
accueillir e0 (S) personnes au plus. P correspond à une tentative d’entrée : soit elle réussit,
s’il reste de la place dans le local (e(S) > 0) et une place est prise (e(S) diminue de 1) ; soit
elle échoue, quand le local est plein, et il faut attendre à l’entrée. V correspond à la libération
d’une place dans le local (e(S) augmente de 1) et il faut faire entrer une personne en attente
à l’entrée, s’il y en a (e(S) ≤ 0)", d’après J.LONGCHAMP (op.cit., 113).
24 - Voir à ce propos J.BEAUQUIER et B.BÉRARD (op.cit., pp.437-86).
lèbre collection des Handbook des éditions Elsevier, indique un intérêt croissant d’une partie
de la communauté des économistes pour l’intégration de l’algorithmique dans la théorie éco-
nomique. Pour ses promoteurs, et en particulier pour les fondateurs de la toute jeune Society
of Computational Economics (1994), il ne fait aucun doute que les raisonnements algorith-
miques sont consubstantiels des raisonnements économiques : "[...] it will be as difficult to
do economics without having a good understanding of computing hardware and software and
numerical methods as it is to do economics without a solid understanding of real analysis,
probability and statistics." (Ibid., pp.viii).
26 - Voir à ce propos MACKIE-MASON J.K., VARIAN H.R. ("Some Economics of the
Internet", Working Paper, University of Michigan, Nov., 1992) ainsi que MACKIE-MASON
J.K., VARIAN H.R. ("Pricing the Internet", Working Paper , University of Michigan, Apr.,
1993).
27 - J.RUST "Dealing with Complexity of Economic Calculations", Working Paper, Yale
Results", Journal of Business, Vol.53, 1980, pp.235-58. Voir également notre note de travail
(2000.a).
30 - C’est de ce type de procédure, que des algorithmes tels que celui de Dekker-Peterson
A l’Étape N˚1 - Fig.31 -, les opérateurs rédigent leur annonce (offre) ce qui se
traduit par l’envoi sur le serveur d’un fichier - voir légende Fig.31. Ce dernier
est en attente symbolisée par une boucle de lecture (puisqu’il attend que tous
les fichiers d’offre lui soient parvenus). A l’Étape N˚2, l’opérateur K n’a pas en-
core rédigé son offre, et les autres opérateurs sont en attente (boucle de lecture
pour attendre un fichier d’annonce qui n’est pas encore créé). A l’Étape N˚3,
l’opérateur K envoie son annonce grâce à laquelle, Étape N˚4, le serveur peut
créer le fichier d’annonces à partir de tous les ordres collectés. A l’Étape N˚5,
les fichiers d’annonces sont envoyés sur chaque poste, pour y être affiché, Étape
N˚6.
32 - Des formalisations théoriques fondamentales déjà ont été proposées, telle que celle de
l’Algorithme de Scarf fondé sur la résolution de système dite Méthode du point fixe - voir
H.SCARF (1967) - et à la base du développement actuel des Modèles d’Équlibre Général
Calculable. Ils restent de par leur fort degré de désagrégation tributaire d’estimation écono-
métrique.
RÉFÉRENCES
(trad.1989, PUF, pp.148- 77) explique comment, humainement cette hypothèse n’est pas te-
nable, même si le Planificateur dispose d’une organisation humaine très hiérarchisée.
34 - Dans le modèle SINGUL, les agents effectuent leurs transactions en dehors du prix
d’équilibre. Les transactions n’ont lieu que si les partenaires ont des prix désirés compatibles,
ce qui implique que toutes les transactions sont satisfaisantes pour les agents qui ont contracté.
Par conséquent, la situation en dehors de l’équilibre est meilleure (sans être nécessairement
optimale) que la situation d’équilibre. Il faut toutefois étudier (par exemple expérimentale-
ment) la modification du comportement des agents s’ils sont informés du prix d’équilibre de
leur marché ; rien ne dit que tous modifieront leur comportement de formation de prix.
formations pour les Transactions (MEREDIT), les agents effectuaient leurs transactions avec
la qualité des informations dont ils disposaient. L’objectif était de lever l’hypothèse de trans-
parence - voir notre note (1994.c).
36 - Dite procédure "simonienne".
37 - Dite procédure "stiglerienne".
Algorithme de
changement de base
(où z[1] correspond au chiffre des unités, z[2] celui des dizaines etc. et n la taille
de la mantisse nécessaire pour représenter ce nombre), on choisit la clé k en
fonction d’un nombre p ayant une propriété arithmétique particulière, p est un
nombre premier, et qui ne soit pas trop grand par rapport au nombre dont il
sera la clé. k vérifie ainsi la relation
n
!
X
k= z[i] (mod p)
i=1
1997, 35 p.
2 - Ce n’est pas un hasard si des listes de numéros de série de logiciels circulent frauduleu-
Symbole Compte
A 15
B 7
C 6
D 6
E 5
A 15 0
B 7 0
e
––––––––– 1 div
C 6 1
D 6 1
E 5 1
A 15 0 0
–––––––––– 2e div
B 7 0 1
–––––––– 1e div
C 6 1 0
–––––––––– 3e div
D 6 1 1 0
–––––––––––– 4e div
E 5 1 1 1
ii - La cryptologie
e / P GCD{e, φ(n)} = 1
c = ae (mod n)
Exemple
1˚- Phase de codage, n = 33 d’où p = 2 et q = 11 Il vient que φ(n) = (2 −
1).(11 − 1) = 20. Si l’on choisit a = 13, le cryptage donne c = 133 mod 33 = 19.
2˚- Phase de décodage, on calcule 3.d ≡ 1 mod 20 d’où d = 7.
Dans notre calendrier, la plupart des calculs de datation se fondent sur une
date de référence (la plus ancienne possible) et sur la manipulation de la fonction
modulo - i.e. calculs dans Z/mZ avec m = 7 (P.GOETGHELUCK, op.cit.).
Nous ne ferons ici ni la présentation de tous les calendriers (lunaires ou solaires)
ni l’historique de notre calendrier - i.e. le calendrier grégorien adopté en 1582
par l’Italie puis progressivement par tous les pays industrialisés jusqu’à devenir
mondial. Si nous abordons ce thème, c’est qu’il est devenu indispensable au
modélisateur de tenir compte de l’hétérogénéité des trimestres, des mois et même
des jours de l’année3 . Il s’agit pour le modélisateur d’effectuer la Correction
3 - Un problème mis en évidence par S.C.HILLMER (1982) et W.R.BELL & S.C.HILLMER
(1983).
des Variations Saisonnières (CVS) ainsi que la Correction des Jours Ouvrables
(CJO) dans les projections conjoncturelles. Ainsi, le problème consiste à calculer
le nombre de jours écoulés sur une période donnée et le rang de tel ou tel jour
particulier (férié) dans l’année. Dans le TABLEAU N˚4, on voit nettement que
l’omission des jours fériés constitue une erreur non négligeable compte tenu de
leur nombre et de leur caractère systématique4 ; en effet ceux-ci sont prévisibles
par les agents économiques au début de chaque année (sur simple consultation
de leur agenda ou calendrier) et donc intégrables dans leurs décisions.
Décennies 0 1 2 3 4 5 6 7 8 9
1900 9 10 9 9 8 9 9 10 9 7
1910 7 9 13 9 9 7 9 9 10 10
1920 7 7 9 9 10 9 7 7 8 10
1930 10 9 8 9 9 10 9 7 7 9
1940 13 10 9 7 9 9 10 10 7 7
1950 9 9 10 9 7 7 8 10 10 9
1960 8 9 9 10 9 7 7 9 13 10
1970 9 7 9 9 10 9 7 7 9 9
1980 10 9 7 7 8 10 9 9 8 9
1990 9 10 9 7 7 9 13 9 9 7
tème SIMUL. Il a été conçu à partir d’un premier logiciel de calendrier grégorien (GRECAL).
CHRONO est un module de calendrier grégorien itératif qui génère les fêtes quotidiennes fran-
çaises, ainsi que des vecteurs indicateurs mensuels, trimestriels du nombre de jours fériés ou
ouvrables de l’année souhaitée. Il peut également extrapoler arbitrairement les ponts - à ce
propos voir nos notes 1996.b et 1997.a. A propos de notre logiciel GRECAL (initialement en
FORTRAN) présenté à la Société Astronomique de France, voir H.ROY, "Compte rendu de la
réunion Astronomie & Informatique du 8 octobre 1988", L’Astronomie, fév., 1989, pp.91-92.
6 - Il ne s’agit pas seulement de tradition ; les dates de ces fêtes sont inscrites au journal
fêtes.
Fig.33 - Algorithme de
bissextilité du millésime
BA := AN MOD 19 ;
BB := AN MOD 100 ;
B := AN DIV 100 ;
E := B MOD 4 ;
D := B DIV 4 ;
Z := B+8 ;
F := Z DIV 25 ;
Y := B-F+1 ;
G := Y DIV 3 ;
W := 19*BA+B+15-(D+G) ;
IH := W MOD 30 ;
IK := BB MOD 4 ;
I := BB DIV 4 ;
V := 2*(E+I)+32-(IH+IK) ;
Q := V MOD 7 ;
U := 11*(IH+2*Q)+BA ;
M := U DIV 451 ;
BT := 114+IH+Q-7*M ;
P := BT MOD 31 ;
N := BT DIV 31 ;
IJOUR := P+1 ;
MOIS :=N ;
TRAMO.A propos d’un historique des méthodes et logiciels, voir K.ATTAL (1996).
12 - D’après R.LEVANDOWSKI (La prévision à court terme, Paris, Dunod, 1979, pp.141-
69).
i - L’énoncé du problème
Machines Résultats
CDC-7600 0
CRAY ONE 2
VAX 7.081589E+08
1˚- la machine est incapable d’atteindre les limites infinies de l’ensemble des
réels ou des entiers (Ex. : 1.0E+40 qui est la limite de représention des réels
simples, est un grand nombre, mais peut-on parler d’infini ? 18 ).
1˚- Les algorithmes finis - algorithmes qui proposent une solution exacte lors-
qu’ils sont calculés en arithmétique exacte. Les algorithmes de calcul matriciel
usuels appartiennent à cette catégorie (élimination de Gauss...) ;
2˚- Les algorithmes itératifs - dont la solution est définie à partir d’un in-
tervalle de convergence. Les algorithmes de résolution tels que Gauss-Seidel,
Newton... Dans ce cas l’algorithme est convergeant si F (Xq ) = 0 ; stationnaire
si |Xq − Xq−1 | = 0 ; divergent si q > Nnmax - où F représente l’algorithme de
résolution sur des variables X appliqué au cours de q itérations et 0 représente le
zéro informatique qui est significativement proche de sa valeur mathématique.
et al. (1991, op.cit., pp.123-204). Voir les programmes Pascal et l’argumentation de N.WIRTH
(op.cit., pp.94-100) qui préconise d’adopter une représentation binaire et non pas la représen-
tation décimale qui nous est familière. Il appuie son propos en appliquant sa méthode avec les
chiffres romains.
18 - Une nouvelle arithmétique a défini la notion de grands nombres et de petits nombres.
Selon l’Analyse Non standard dite "théorie des ordres de grandeurs" de A.ROBINSON (1960),
R+ est divisé en trois classes de nombres : les nombres idéalement petits (i-petits), les nombres
appréciables et les nombres idéalement grands (i-grands) - voir à ce propos M.DIENER et A.
DELEDICQ, Leçon de calcul infinitésimal, Paris, A.Colin, 1989.
19 - MAILLÉ M. (1982, "Some Methods to Estimate Accuracy of Measurements or Numerical
Ces techniques reposent sur la présentation des calculs, i.e. elles font en
sorte d’éviter des calculs intermédiaires entraînant des arrondis catastrophiques
(Conditionnement) et elles suppriment les redondances, notamment dans les
polynômes (Méthode de Horner).
X.a = b
en
(X + ∆.X).a = (b + ∆.b)
est significatif20 . Si Cond(X) 1 alors la matrice est bien conditionnée, sinon on
change de pivot.
comme suit :
(la base 10 et les opérations arithmétiques de base). On trouve ainsi des tra-
vaux dont l’objet est de déterminer le nombre de chiffres significatifs pour un
processus donné22 , et ceux dont l’arithmétique est plus précise23 . La seconde
catégorie change totalement de numération voire d’opérations.
Multiplication [a][b] [M in(ab, ab, ab, ab), M ax(ab, ab, ab, ab)]
M.PICHAT & J.VIGNES (1993, pp.170-175) proposent d’estimer la propagation des erreurs
d’arrondis pour déterminer le nombre de chiffres significatifs.
23 - U.KULISCH et W.N.MIRANKER (Computer Arithmetic in Theory and Practice, New
York, Academic Press, 1981), ont proposé une méthode déterministe, basée sur la construction
d’une arithmétique exacte pour la seule opération de produit scalaire, permettant de contrôler
les erreurs sur les autres opérations.
24 - Voir à ce propos M.DAUMAS et J.M.MULLER (EDS) (op.cit., pp.41-64).
25 - Voir en Annexe 4.4.
cours).
30 - Difficile de vite reconnaître dans 2.45E-0003 un taux de mortalité ou dans 1.235E+0004
un effectif.
Nous avons donc implémenté dans le logiciel SIMUL une procédure de man-
tisse "intelligible" paramétrable - voir le résultat de l’affichage dans le TA-
BLEAU N˚7 et la procédure MANTIS en Annexe 4.3. Bien entendu, étant donné
la perte d’information qu’elle peut entraîner, cette procédure n’intervient jamais
dans des phases de calculs intermédiaires.
RÉFÉRENCES
ZIV J., LAMPEL A., (1977), "A Universal Algorithm for Sequential Data Compression",
IEEE Transactions on Information Theory, N˚23(3), mai, pp.337-43.
ZIV J., LAMPEL A., (1978), "A Compression of Individual Sequences via Variable-Rate
Coding", IEEE Transactions on Information Theory, N˚24(5), sept., pp.530-36.
31 - Les résultats en virgule flottante et en multiprécision sont identiques jusqu’à 20! Notre
multiplication en multiprécision a été vérifiée au préalable par une procédure de type "preuve
par neuf".
32 - Les symboles {%L}, {%C}, {/A}, {%B} et {%V} (resp.) indiquent qu’il faut traduire
Procédure MANTISSE
PROCEDURE MANTISSE(VAR FIL :TEXT ;
REEL :NOMBRE) ;
VAR II,FORINT,FORFRAC,FORMAN :INTEGER ;
MANTFIX :BOOLEAN ;
BEGIN
MANTFIX :=TRUE ;
FORMAN :=10 ;
IF ((ABS(REEL)>=0.000001) AND (ABS(REEL)<100000)) THEN BEGIN
IF (ABS(REEL)< 0.000001) THEN FORINT :=2 ;
IF ((ABS(REEL)>=0.000001) AND (ABS(REEL)<1)) THEN FORINT :=2 ;
IF ((ABS(REEL)>=1) AND (ABS(REEL)<10)) THEN FORINT :=2 ;
IF ((ABS(REEL)>=10) AND (ABS(REEL)<100)) THEN FORINT :=3 ;
IF ((ABS(REEL)>=100) AND (ABS(REEL)<1000)) THEN FORINT :=4 ;
IF ((ABS(REEL)>=1000) AND (ABS(REEL)<10000)) THEN FORINT :=5 ;
IF ((ABS(REEL)>=10000) AND (ABS(REEL)<100000)) THEN FORINT :=6 ;
FORFRAC :=FORMAN-FORINT ;
IF (ABS(REEL)-TRUNC(ABS(REEL))<1.0E-15) THEN BEGIN
IF (MANTFIX=FALSE) THEN FORFRAC :=0
ELSE FORFRAC :=10-FORINT ;
END ;
IF (REEL<>0) THEN WRITE(FIL,’ ’) ;
WRITE(FIL,REEL :FORINT :FORFRAC,’ ’) ;
END
ELSE
BEGIN
IF (REEL<>0) THEN WRITE(FIL,REEL :(FORMAN+1),’ ’)
ELSE
BEGIN
WRITE(FIL,’ 0.’) ;
FOR II :=1 TO FORMAN-2 DO WRITE(FIL,’0’) ;
WRITE(FIL,’ ’) ;
END ;
END ;
END ;
n
X
Y = yj .bi avec 0 ≤ yj ≤ b − 1
j=p
0≤q<m et 0 ≤ p < n
1 - Algorithme de l’addition
Sup(n,m)+1
X
X ⊕Y = (xi + yi + εi − δi ).bi (1)
i=Inf (p,q)
2 - Algorithme de la soustraction
Sup(n,m)
X
X ⊖Y = (xi − yi − εi + δi ).bi (2)
i=Inf (p,q)
3 - Algorithme de la multiplication
où
k=Sup(0,r−m)
X
Sr = xk ∗ yr−k (3.2)
Inf (r,m)
4 - Algorithme de la division
Pourtant, nous avons noté des paradoxes bien plus déroutants encore. Alors
que nous avions dit que le modélisateur ne pouvait à proprement parler, simuler
de marche aléatoire, il est symptomatique de relever à propos des arithmétiques
stochastiques que "Le principe fondamental consiste donc, à interpréter les α i
(quantités perdues) non plus comme des quantités déterministes mais comme
des quantités aléatoires. [...] Le résultat informatique apparaît alors comme une
quantité aléatoire" (M.PICHAT et J.VIGNES, op.cit., pp.98-99). On mesure ici
l’importance de cette phrase, lorsque le travail des économètres consiste préci-
sément à "extraire" la partie non aléatoire de résultats d’estimation 3 . De même,
l’alternative entre modélisation "centralisée" et modélisation "décentralisée" ne
serait-elle pas une fausse alternative ? Certes la critique autrichienne, bien ré-
sumée par L.MISES (1935), selon laquelle le réalité économique et sociale ne
peut être représentée par des équations - du fait de l’essence subjective des
relations inter-individuelles - a remis en cause l’efficacité des procédures cen-
1 - Concernant les langages à l’usage des économistes modélisateurs, D.A.KENDRICK &
H.M.AMMAN (1999) les classent en trois catégories. Les high level languages tels que GAUSS,
GAMS, Mathematica, Maple ou MATLAB, les low level languages tels que FORTRAN, Basic,
C/C++ ou Java enfin, les langages spécialisés dans le développement d’interfaces graphiques
et de communication tels que Visual Basic, C/C++ ou Java.
2 - A.TURING ("On Computable Numbers", Proceedings of the Mathematical Society,
N˚42, 1936, pp.230-65) a démontré que certains nombres étaient définissables mais non calcu-
lables par des machines.
3 - Ce fait pourrait peut être en partie expliquer le paradoxe bien connu des modélisateurs, à
savoir que l’affinement des modèles (par augmentation du nombre de variables, de dimensions
etc.) n’accroît pas nécessairement la précision des résultats (P.ARTUS et al., op.cit., 1986,
pp.243-44).
the National Accounts", Communication Istituto Centrale di Statistica, Rome, 26 sept., 1988,
33 p.).
8 - L’hypothèse d’ajustement walrasien a été invalidée par l’expérience alors que l’hypo-
thèse hayekienne de coordination avec des petits effectifs a été confirmée (V.L.SMITH, "An
Experimental Study of Competitive Market Behavior", Journal of Political Economy, N˚70,
1962, pp.111-37).
9 - Dans nos communications (1999.b) et (2000.b) (resp.) d’économie expérimentale et d’éco-
nomie autrichienne (resp.), nous basant sur une critique de la modélisation économétrique et
de la planification, nous avons élaboré un système de modélisation individualiste méthodolo-
gique qui peut être validé par expérimentation (le couple de logiciels SINGUL-ECHANGE
c ).
Mais nous avons également conclu qu’il n’y avait pas de panacée en la matière : le modèle
SINGUL-Généralisé est une chimère.
RÉFÉRENCES
10 - L’auteur fait ici un jeu de mot : ACE signifie Agent-based Computational Economics.
Le MONIAC de A.W.PHILLIPS11