Vous êtes sur la page 1sur 132

Université de Liège

Faculté des Sciences Appliquées

SIMULATION ET OPTIMALISATION
STATIQUE DES SYSTÈMES INDUSTRIELS

Succession Prof. B. Kalitventzeff


G. Heyen, Maître de conférence

Laboratoire d'Analyse et de Synthèse des Systèmes Chimiques


Chapitre 1

CHAPITRE 1
SIMULATION STATIQUE DES SYSTEMES CHIMIQUES

Introduction

Nous allons considérer l’étude du comportement d’un ensemble d’appareils (un “système”) par
simulation. Nous considérerons que nous disposons d’un modèle de chacun des appareils, c’est-à-dire
d’un moyen de calculer l’état des flux sortant d’un appareil lorsque ses alimentations sont connues.

La simulation statique des systèmes chimiques induit systématiquement des problèmes de


convergence. Prenons comme exemple le schéma très simple ci-dessous représentant une petite partie d’un
procédé chimique. Pour pouvoir résoudre les équations relatives à une unité (un appareil), il nous faut
connaître les flux d’entrée de cette unité. Or, s’il y a des boucles, nous ne connaissons pas nécessairement
tous les flux d’entrée : pour calculer l’échangeur HE1, il faut connaître le flux 2. Celui-ci dépend
successivement des flux 10, 8, 5 et 6, 4. Donc il nous faut les flux 4 et 6 pour connaître le flux 2. Or le flux
4 est obtenu par la résolution de l’échangeur HE1.

Pour résoudre ce problème, on devra réaliser une “coupure” de flux, c’est-à-dire que l’on devra
estimer un des flux puis calculer toutes les unités de la série et enfin utiliser une méthode de promotion de
convergence afin d’obtenir une meilleure estimation des grandeurs concernant le flux que l’on a coupé.

Figure 1.1

- 1.1 -
Chapitre 1

Par exemple, si l’on coupe le flux 2, on pourra calculer l’échangeur HE1, puis le réacteur,
l’échangeur HE2, le séparateur et le diviseur. On obtiendra ainsi de nouvelles valeurs pour le flux 2. On
peut alors effectuer la convergence sur le flux 2.

Si on considère un schéma plus complexe, il n’est pas évident de déterminer directement les flux à
couper de manière à avoir un nombre minimum de coupures (pour limiter les problèmes de convergence).

Méthode de Motard1

Une méthode pour déterminer le nombre minimum de coupures a été mise au point par MOTARD.
Nous utiliserons un exemple afin d’illustrer cette méthode.
y
52
y (7)
43
(4)
y y y y y y y
1 12 23 34 45 56 6
1 2 3 4 5 6
(-) (1) (2) (3) (6) (8) (-)

(5)
y
42

Figure 1.2

La figure ci-dessus représente un système composé de 6 unités interconnectées entre elles


directement ou par l’intermédiaire de “recyclages ”. Nous pourrions rencontrer également des by-pass.

Chaque flèche représente un flux dirigé d’une certaine grandeur (matière, énergie,...) qu’il faut
déterminer. Pour chaque unité, il existe un modèle pouvant être résolu permettant de calculer les flux de
sortie en fonction des entrées. Dans le contexte du système, elle constitue un élément connu.

Nous considérons que le système est en régime, c’est-à-dire qu’il n’y a pas d’accumulation. S’il y
a une transformation chimique (réacteur par ex.), il est nécessaire d’introduire un flux fictif exprimant la
quantité de produits formée et la quantité de réactifs consommée. Nous n’envisagerons pas ici ce cas de
façon explicite.

Avant de résoudre le système ci-dessus, nous allons tout d’abord introduire la notion de graphe
dual et énoncer quelques règles systématiques qui nous permettront de résoudre le système en organisant
la séquence de calcul de manière optimale.

Le graphe dual

1
Barkley R.W., Motard R.L., “Decomposition of Nets”, The Chemical Engineering Journal, 1972, 3, 265-275.

- 1.2 -
Chapitre 1

Le graphe dual est construit à partir du flow-sheet du système que l’on veut résoudre. La grande
différence entre ces deux types de graphes se situe au niveau des significations des branches et des noeuds.
Les branches (noeuds) du flow-sheet deviennent les noeuds (branches) du graphe dual.
3 A
A B 2 1
C
1 2 A C
4

C 3 4
B
Figure 1.3 Flow-sheet Figure 1.4 Graphe dual

Les deux figures ci-dessus montrent la relation existant entre un flow-sheet et un graphe dual.

Règles de Motard

Une règle générale consiste à :

COUPER LE FLUX INTERVENANT DANS


LE PLUS GRAND NOMBRE DE CYCLES

Pour trouver ce flux de manière systématique, nous considérons le graphe dual du flow-sheet et
nous appliquerons les règles suivantes en revenant à la première chaque fois qu’une règle aura été utilisée :

1. supprimer les flux qui n’ont pas de flux antérieur. Ils sont nécessairement spécifiés ;

2. remplacer les flux par leur antérieur, s’il n’y en a qu’un. Dès qu’un flux apparaît deux fois, le
supprimer une fois (ou ne pas l’écrire) ;

3. couper les boucles propres (ce sont les boucles sur un même noeud) ;

Figure 1.5

Le calcul du flux 1 implique une boucle de calcul itératifs donc une coupure.

4. couper un des flux parallèles de sens contraire . Couper la branche qui a le plus de flux postérieurs
(qui est le plus grand nombre de fois l’antérieur d’autres) ;

- 1.3 -
Chapitre 1

1 2

Figure 1.6

5. si deux boucles impliquent un même noeud (donc un même flux), c’est celui-ci qui doit être
coupé. En effet, ce faisant on coupe les deux boucles par un seule coupure.

1 2 3

Figure 1.7

Remarques :

• on est rarement amené à appliquer la dernière règle, car les autres suffisent généralement,
• lorsqu’on applique une des règles, il faut toujours recommencer à la 1ère règle pour continuer.

Ces règles dues à MOTARD ont été édictées pour permettre la décomposition des flow-sheets
préalablement à une simulation : elles permettent de déterminer et de localiser le nombre minimal de
coupures pour que le calcul des unités puisse se faire de manière séquentielle et itérative.

Pour connaître l’endroit où nous allons couper le système donné figure 1.2, appliquons les règles
proposées ci-dessus.

A partir du graphe réduit, nous pouvons dresser le tableau :

FLUX FLUX ANTERIEURS


1 -
2 1, 5, 7
3 2, 4
4 3
5 3
6 3
7 6
8 6

Le flux 1 n’ayant pas de flux antérieur est supprimé (règle 1). D’où le tableau :

- 1.4 -
Chapitre 1

FLUX FLUX ANTERIEURS

2 5, 7
3 2, 4
4 3
5 3
6 3
7 6
8 6

Remplacer les flux 4, 5, 6 par leur flux antérieur unique 3 (règle 2). D’où le tableau :

FLUX FLUX ANTERIEURS

2 3, 7
3 2, 3
4 3
5 3
6 3
7 3
8 3

Remplacer le flux 7 par son flux antérieur 3. Ce dernier existant déjà comme antérieur de 2, il est
inutile de l’écrire deux fois (règle 2). D’où le tableau :

FLUX FLUX ANTERIEURS

2 3
3 2, 3
4 3
5 3
6 3
7 3
8 3

Remplacer le flux 2 par son flux antérieur 3 et ne pas l’écrire car 3 existe déjà comme antérieur de
3.

D’où le tableau final :

- 1.5 -
Chapitre 1

FLUX FLUX ANTERIEURS

2 3
3 3
4 3
5 3
6 3
7 3
8 3

Il est évident qu’il est inutile de recopier chaque fois le tableau. Généralement, les corrections
successives sont apportées au 1er tableau (éventuellement en couleur) jusqu’à obtenir ce dernier tableau.
Nous remarquons que tous les flux ont le flux 3 comme flux antérieur (sauf le flux 1 qui n’en a pas).

Regardons maintenant l’application des règles de Motard au travers du graphe dual. Le 1er graphe
dual est obtenu à partir du 1er tableau des flux (attention, ici les numéros représentent les flux).

1 2 3 4

5 7 6 8

Figure 1.8

Grâce au 2ème tableau, le graphe dual devient :

2 3 4

5 7 6 8

Figure 1.9

Grâce au 3ème tableau, le graphe dual devient :

- 1.6 -
Chapitre 1

2 3 4

5 7 6 8

Figure 1.10

Grâce au 4ème tableau, le graphe dual devient :

2 3 4

5 7 6 8

Figure 1.11

Le dernier tableau donne le graphe dual :

2 3 4

5 7 6 8

Figure 1.12

Le dernier tableau, ainsi que ce graphe, permettent de voir que tous les flux ont le flux 3 comme
flux antérieur, même le flux 3. Nous avons donc une boucle propre sur le flux 3.

Nous devons donc couper le flux 3.

Tous les autres flux disparaissent par application de la règle 1 car si le flux 3 est supprimé, les
autres n’ont plus d’antérieur.

Nous pouvons alors commencer le processus itératif. Le schéma suivant considère un calcul de
simulation.

- 1.7 -
Chapitre 1

Envisageons une seule variable de description des flux (débit par ex.) et donnons au flux 3 une
première valeur, soit a. On calcule les flux 4, 5 et 6. On calcule ensuite le flux 7 [ 7 = f6(6) ]. A ce moment,
on est en mesure de calculer le flux 2 [ 2 = f1(1, 5, 7) ] et le flux 3 [ 3 = f2(2, 4) ].

Notons a’ cette nouvelle valeur du flux 3.

Si a’ ≠ a, on recommence le calcul avec a’ ou plutôt avec un nouveau a, fonction de a’ ( par ex. : a


= a’, a’ est rebaptisé a ) jusqu’à ce que :

| a - a’ | ≤ ε , ε fixé.

Ayant trouvé le flux 3 à convergence, nous pouvons alors déterminer tous les autres flux.

On peut schématiser la séquence des calculs comme suit :

Début

3 a

4 5 6

a = f(a′)
7

2 1

a′

Satisfait Test : a - a′< ε


donc fin

Figure 1.13

Remarques :

• Une solution moins économique aurait, par exemple, consisté à couper les flux 4, 5 et 7. On aurait ainsi
obtenu un calcul séquentiel, mais on aurait eu un processus itératif plus compliqué.

- 1.8 -
Chapitre 1

• La théorie présentée n’exclut évidemment pas que l’on procède d’abord à toutes les éliminations
possibles lorsqu’elles sont faciles à réaliser.

Exemple :
1 2 3 4 1 3 4
i j k ij k

7 → 7
5 6 5 6
l l

Figure 1.14

Nous pouvons maintenant traiter un cas plus complexe, soit le système dont le flow-sheet est donné
ci-après :
Sortie
gaz

1 2 3 4 5
Cl 2

PRODUIT 11 13

12

HCl
6 7 8 10
Paraffines
9

Figure 1.15

2
3
5

1 11 4 6
Cl 1 2 3 4 5
2
9 18 19
14

7 17
11 12 13
8 12 13
16
15 20
10 6 7 8 9 10

22
21

Paraffines HCl

Figure 1.16

- 1.9 -
Chapitre 1

Application des règles expliquées dans ce chapitre :

flux

1 - - - -
2 1, 11 15 12 -
3 2 15 12 -
4 3, 9, 13 13, 15 12, 16 16 couper 4
5 4, 14, 17 4, 14 4, 12 4
6 5 5 5 4
7 10 15 12 -
8 1, 11 15 12 -
9 10 15 12 -
10 8 15 12 -
11 15 15 12 -
12 3, 9, 13 13, 15 12, 16 couper 12 -
13 16 16 16 16
14 15 15 12 -
15 12 12 12 -
16 4, 14, 17 4, 15 4, 12 4
17 21 - - -
18 2 15 12 -
19 5 5 5 4
20 18, 19 18, 19 18, 19 4
21 - - - -
22 20 20 20 4

Nous aurons donc une boucle pour trouver le flux 4, accompagnée d’un test de convergence, ainsi
que sur le flux 12. Il s’agit d’un calcul où deux boucles de convergence sont imbriquées, il faudra faire un
pas en avant sur 12 lorsque 4 est à convergence.

Le schéma des calculs est représenté ci-après.

- 1.10 -
Chapitre 1

Les entrées sont 1 et 21; les sorties sont 22, 6, 7.


21 17
6
{ 4
b
{ 5
16
19
13
20 22

{ a
12 15
14

1
18
{ b'
4
{ a'
12

11
{ 2
8
3
10 9
7

Figure 1.17

Bien remarquer que tous les calculs intermédiaires qui ne sont pas nécessaires (flux 6, 19, 20, 22),
ne sont pas calculés chaque fois mais uniquement à convergence.

On calcule 17 connaissant l’entrée 21.

On choisit un vecteur a de données (T, P, débits molaires partiels) pour le flux 12, et on calcule 15
qui donne 14 et 11. Le flux 11 et l’entrée 1 fournissent 2 et 8, avec 2 on trouve 3 (et 18) tandis qu’avec 8
on trouve 10 puis 9 (et 7).

On choisit des valeurs pour les composantes du vecteur b correspondant au flux 4 (17 et 14 sont
connus), on calcule 16 (et 5) puis 13. Ensuite 9, 13 et 3 permettent de calculer 4 = b’.

Test sur b’ = b, nouvelles valeurs pour b ... jusqu’à convergence de la boucle sur 4.

On calcule 12 (à partir de 13, 3, 9) = a’ ; test sur a’ - a, nouvelles valeurs pour a, etc., jusqu’à
convergence sur la boucle 12.

On calcule alors les flux 6, 19, 18, 20.

Choix des coupures

L’application des règles de MOTARD permet de déterminer le nombre minimal de coupures à


effectuer pour la résolution du système chimique. Cependant, parfois pour réduire le temps de calcul, il est
intéressant de faire une ou deux coupures supplémentaires ou de déplacer l’endroit de la coupure le long
d’une boucle. Finalement, on en vient à définir plusieurs types de coupures en fonction du nombre de
variables inconnues :
• coupures totales (il faut trouver n débits partiels, T et P),

- 1.11 -
Chapitre 1

• coupures massiques (seul le débit total est inconnu),


• coupures thermiques (seul la température est inconnue).

Prenons le schéma suivant :

Figure 1.18

Pour résoudre ce système, nous allons devoir effectuer une coupure. On peut représenter le flux en
n’importe quel point du schéma, par un vecteur qui comporte les variables d’état, les spécifications du
procédé, les quantités de matière : soit par exemple, un vecteur F qui contiendrait,
la température,
la pression,
le débit total,
la composition,

Où faut-il couper ?

Si nous coupons en 2, la température, les compositions et éventuellement la pression ne sont pas


connues à priori.

On effectuera donc une coupure totale sur tout le flux pour résoudre le système.

Par contre, entre 1 et le flux d’entrée, le débit total et compositions ne varient pas, la pression sera
obtenue par une perte de charge. Le seul paramètre qui va changer est la température et il suffira
d’effectuer une coupure thermique. On réalisera ainsi une économie de calcul car il faut itérer sur 1 seule
variable.

Ces derniers paragraphes mettent en évidence la différence fort importante entre les coupures
totales et partielles (compositions ou température, etc.).

Donc avant d’effectuer une coupure, il faudra toujours examiner s’il n’y a pas moyen d’effectuer
une coupure partielle, ce qui sera toujours intéressant du point de vue temps de calcul.

- 1.12 -
Chapitre 1

Application : la synthèse de l’ammoniac

air de
procédé

CH
4 Reforming Reforming
H 2O primaire secondaire

CC
Méthanation Décarbonatation Shift
HT - BT

purge

Compression Déssication Synthèse

NH3

Figure 1.19 Schéma général de la synthèse

La synthèse du NH3 passe par différentes étapes : il y a d’abord la préparation du gaz de synthèse
comprenant notamment les reforming primaires et secondaires, la conversion du CO, la décarbonatation et
la méthanation, et ensuite la synthèse proprement dites. Décrivons brièvement l’utilité des différentes
opérations de préparation du gaz de synthèse :

Reforming primaire et secondaire : formation de l’hydrogène à partir de méthane et de vapeur d’eau (


CH4 + H2O ↔ CO + 3 H2 ).

Conversion du CO : la réaction de conversion transforme le CO en CO2, avec production


complémentaire d’hydrogène ( CO + H2O ↔ CO2 + H2 ).

Décarbonatation : elle est destinée à éliminer le CO2 par absorption et réaction avec une solution de
carbonate de potassium chaude et activée.

Méthanation : il s’agit de purifier le gaz de synthèse des traces de CO et de CO2 encore présentes en les
transformant en CH4 ( CO + 3 H2 → CH4 + H2O et CO2 + 4 H2 → CH4 + 2 H2O ).

- 1.13 -
Chapitre 1

Afin d’illustrer la méthode de Motard, nous considérons uniquement la section reforming du


procédé de fabrication. Cette section est schématisée ci-dessous :

6
29

E108
5
R102
COMBUSTION
AIR DE

4
36

M102
R101

3
11

12

E101
13
PROCEDE
34

35
E102
AIR
M103

14

T101
30
E103
28
25

31
24

15
27

35 bar
23
B101

D102

E104

D101

T102
100 bar

33
26
PURGE

E105 16

32
22

21

20
EAU

10
9
17
PROCESS

M101
7

E106
G.N.

8
18
1
COMBUSTION

2
E107
G.N.

19

Figure 1.20 Schéma général des reforming primaire et secondaire

- 1.14 -
Chapitre 1

Flux

1 - - - - - -
2 1, 18 16 16 16 - -
3 2, 11, 36 11, 16 11, 16 10, 16 30 30
4 3, 35 3, 35 3, 13 3, 10 30 30
5 4 4 4 4 30 30
6 5, 28 4, 28 4, 23 4, 23 30, 24 30
7 - - - - - -
8 7, 17 16 16 16 - -
9 31 31 30 30 30 30
10 8, 9 16, 31 16, 30 16, 30 30 30
11 10, 12 10, 12 10, 12 10 30 30
12 2, 11, 36 11, 16 11, 16 couper 12 - - -
13 10, 12 10, 12 10, 12 10 30 30
14 13, 34 13 13 10 30 30
15 14, 25 13, 25 13, 25 10, 25 24, 30 30
16 15, 26 15, 26 15, 23 15, 23 couper 16 - -
17 16, 20 16 16 16 - -
18 7, 17 16 16 16 - -
19 1, 18 16 16 16 - -
20 - - - - - -
21 16, 20 16 16 16 - -
22 21, 24 21, 24 16, 24 16, 24 24 -
23 21, 24 21, 24 16, 24 16, 24 24 -
24 27, 29 27, 29 27, 29 27, 29 27, 29 couper 24 -
25 21, 24 21, 24 16, 24 16, 24 24 -
26 23 23 23 23 24 -
27 15, 26 15, 23 15, 23 15, 23 15, 24 30
28 23 23 23 23 24 -
29 5, 28 4, 28 4, 23 4, 23 24, 30 30
30 14, 25 13, 25 13, 25 10, 25 24, 30 30 couper 30
31 30 30 30 30 30 30
32 31 31 30 30 30 30
33 32 32 30 30 30 30
34 - - - - - -
35 13, 34 13 13 10 30 30
36 - - - - - -

Le tableau ci-dessus montre l’application de la méthode de Motard à la section reforming du


procédé de synthèse de l’ammoniac. On voit donc qu’il est nécessaire d’effectuer quatre coupures : flux
12, 16, 24 et 30. Les coupures 12 et 16 sont des coupures thermiques, car la composition des fumées est
connue (combustion totale).

- 1.15 -
Chapitre 2

CHAPITRE 2
MODELES MATHEMATIQUES DES SYSTEMES
CHIMIQUES ISOLES

Introduction

Le but de la simulation des systèmes chimiques est de pouvoir, au moyen de modèles


mathématiques, représenter le comportement de ces systèmes. La capacité des modèles de simulation à
reproduire le plus exactement possible un comportement est liée à l’ensemble des hypothèses effectuées
pour établir ces modèles.

Deux types de simulation sont réalisables :


• la simulation statique du système, c’est-à-dire lorsque ce dernier a atteint son régime stationnaire (le
procédé n’évolue plus dans le temps) ;
• la simulation dynamique qui permet de modéliser le comportement du système dans un état transitoire
(démarrage, perturbations, actions de contrôle...).

Dans le cadre de ce cours, nous nous limiterons à la simulation statique des systèmes, la simulation
dynamique faisant l’objet d’un cours à option en dernière année.

La modélisation d’un système pose la question de savoir quel modèle nous allons utiliser à cette fin.
En effet, un grand nombre de modèles existent et donner une liste exhaustive de tous les modèles
concernant l’ensemble des systèmes chimiques n’est pas ’lobjectif de ce cours. Nous en établirons
toutefois quelques-uns ci-après, à l’aide de modèles déterministes, en explicitant la méthode générale des
bilans matériels, énergétiques et de quantité de mouvements.

2.1 Méthode générale des bilans

La modélisation d’un système fait appel à des équations de bilans et à des équations propres à
l’unité opératoire : les équations de simulation.

Pour un système à N constituants, ces bilans s’écrivent :


- N équations de bilan de matière (débits molaires partiels);
- une équation de bilan énergétique (flux enthalpiques);
- une équation de bilan d’impulsion (pression).

Soit, au total, (N+2) équations de bilans.

- 2.1 -
Chapitre 2

D’autre part, un certain nombre de variables caractérisent l’état du système. La différence entre le
nombre de variables du système et le nombre total d’équations est égal au nombre de degré de liberté du
système. Il est alors nécessaire d’imposer la valeur d’autant de variables qu’il y a de degrés de liberté : ce
sont les spécifications du système.

Les équations de bilans se présentent toutes sous la forme suivante :

Accumulation Importation à Exportation à Génération Consommation


nette dans le travers la - travers la dans le - dans le
= +
volume du surface du surface du volume du volume du système
système système système système

L’objectif de ce cours étant la simulation statique des systèmes, le terme d’accumulation sera nul
puisque le système est supposé avoir atteint son régime stationnaire.

La décomposition des modèles et leur résolution sera vue plus loin (§2.4). Nous ne nous étendrons
donc pas sur celle-ci par la suite.

2.2 Modèles mathématiques de différents appareils

Les modèles que nous allons décrire seront des modèles à description macroscopique, c’est-à-dire
qu’ils ne nécessitent pas la connaissance locale des variables. Dans les bilans, les variables d’état du
système ont pour valeurs les moyennes correspondant à l’ensemble du volume de ce système.

Il existe également des modèles à description microscopique dont nous verrons un exemple plus
loin dans le cours (§2.3.2.1). Dans les modèles examinés ci-après, on supposera que les grandeurs
caractérisant les flux d’entrée sont connues : elles ne seront pas considérées comme variables.

2.2.1 Le mélangeur

On réalise le mélange de plusieurs flux à n constituants.

T1,P1,xi1
F1
T,P,xi
F
T2,P2,xi2
F2

Hypothèse : il n’y a pas de changement de phase dans le mélangeur.

Variables :

- 2.2 -
Chapitre 2

température T (K) du flux de sortie 1


pression P (bar) idem 1
débit molaire F (kmol/s) idem 1
fractions molaires xi (-) idem n
total n+3

Equations :
bilan de matière F.xi = F1.xi1 + F2.xi2 n
bilan thermique F.H(T,P,xi) = F2.H2(T2,P2,xi2) + F1.H1(T1,P1,xi1) 1
bilan d’impulsion remplacé par P = min(P1,P2) 1
n

normation (fractions molaires) ∑x i =1 1


1

total n+3

⇒ Nombre de degré de liberté = (n+3) variables - (n+3) équations = 0

Il n’y a pas de degré de liberté pour le mélangeur si nous connaissons tous les flux entrant dans le
mélangeur, c’est-à-dire : la température Tk , la pression Pk , les débits molaires totaux Fk et les fractions
molaires partielles xik de chacun des flux d’entrée.

Remarques :
♦ si on fixe la température T, il n’est plus nécessaire d’écrire le bilan thermique;
♦ de même, si on fixe la pression P, il n’est plus nécessaire de réaliser un bilan d’impulsion;
♦ on peut supprimer l’équation de normation à condition de remplacer les fractions molaires et les débits
molaires totaux par les débits molaires partiels (Xi=F.xi) et de réaliser le bilan de matière sur ces
derniers. Le modèle comporte alors (n+2) équations et variables et le nombre de degré de liberté est
toujours nul.

2.2.2 Le diviseur

On réalise la division d’un flux à n constituants en plusieurs flux en sortie du diviseur. Nous
choisissons un diviseur séparant un flux en deux branches.

T1,P1,xi1
F1
T,P,xi
F
T2,P2,xi2
F2

Hypothèse : il n’y a pas de changement de phase dans le diviseur.


Variables :

- 2.3 -
Chapitre 2

températures T1,T2 (K) 2


pressions P1,P2 (bar) 2
débits molaires F1,F2 (kmol/s) 2
fractions molaires xi1,xi2 (-) 2n
total 2n+6

Equations :
bilan de matière F.xi = F1.xi1 + F2.xi2 n
bilan thermique F.H(T,P,xi) = F2.H2(T2,P2,xi2) + F1.H1(T1,P1,xi1) 1
bilan d’impulsion P1 = P 1
bilan d’impulsion P2 = P 1
n

normation (fractions molaires) ∑x i2 =1 1


1

dimensionnement xi1 = xi n
dimensionnement T1 = T 1
total 2n+5

⇒ Nombre de degré de liberté = (2n+6) variables - (2n+5) équations = 1

Nous disposons encore d’un degré de liberté, nous devons donc imposer au système une
spécification : le taux de division par l’intermédiaire d’un des débits molaires de sortie (F1 ou F2) ou du
rapport de l’un de ces débits avec celui à l’entrée (F1/F ou F2/F). Remarques : nous pouvons faire les
mêmes que dans le cas du mélangeur.

2.2.3 La vanne de détente

On réalise la détente d’un flux à n constituants dans une vanne.

T1,P1 T2,P2
F2
F1

Hypothèses : il n’y a pas de changement de phase dans la vanne et la détente se fait de manière
adiabatique.

Variables :
température de sortie T2 (K) 1
pression de sortie P2 (bar) 1
débits molaires totaux des flux sortants F2 (kmol/s) 1
fractions molaires des flux sortants xi2 (-) n
total n+3
Equations :

- 2.4 -
Chapitre 2

bilan de matière (débits molaires partiels) F2.xi2 = F1.xi1 n


bilan de matière (débits molaires totaux) F2 = F1 1
bilan thermique F2.H2(T2,P2,xi2) = F1.H1(T1,P1,xi1) 1
total n+2

⇒ Nombre de degré de liberté = (n+3) variables - (n+2) équations = 1

Nous disposons encore d’un degré de liberté, nous devons donc imposer au système une
spécification : le taux de détente par l’intermédiaire de la pression de sortie P2 ou du rapport de la pression
de sortie à celle de l’entrée P2/P1.

2.2.4 Le séparateur liquide - vapeur

On réalise la séparation des phases vapeur et liquide d’un flux à n constituants.

V yi

zi T P
F

Q
Q
L xi

Hypothèse : l’alimentation est complètement fixée.

Variables :
température T (K) 1
pression P (bar) 1
débit molaire liquide L (kmol/s) 1
débit molaire vapeur V (kmol/s) 1
fractions molaires liquide et vapeur xi, yi (-) 2n
enthalpie transférée Q (kW) 1
total 2n+5

Equations :
bilan de matière F.zi = L.xi + V.y i n
bilan thermique F.Hf = V.HV(T,P,y i) + L.HL(T,P,xi) + Q 1
n

normation (vapeur) ∑y i =1 1
1
n

normation (liquide) ∑x i =1 1
1

équilibre liquide-vapeur y i = xi.Ki(T,P,xi,y i) n


total 2n+3

- 2.5 -
Chapitre 2

⇒ Nombre de degré de liberté = (2n+5) variables - (2n+3) équations = 2

Nous disposons encore de deux degrés de liberté, nous devons donc imposer au système deux
spécifications : par exemple, la pression et la température dans le séparateur (équilibre à P et T fixés : EPT)
ou la pression et la fraction vaporisée (EPA) ou la température et la fraction vaporisée (ETA) ou encore la
pression et la chaleur transférée.

2.2.5 Le compresseur

On réalise la compression d’un flux à n constituants.

W
T2,P2

F2
T1,P1
F1

Hypothèses : il n’y a pas de condensation et l’alimentation est complètement fixée.

Variables :
température de sortie T2 (K) 1
pression de sortie P2 (bar) 1
débit molaire de sortie F2 (kmol/s) 1
fractions molaires de sortie xi2 (-) n
travail W (kW) 1
travail de compression isentropique Wis (kW) 1
température de compression isentropique Tis (K) 1
total n+6

Equations :
bilan de matière F2.xi2= F1.xi1 n
bilan thermique F1.H1(T1,P1,xi1) = F2.H2(T2,P2,xi2) - W 1
n

normation ∑x1
i2 =1 1

dimensionnement (efficacité isentropique) W = W is/ηis 1


dimensionnement (travail isentropique) W is = His(Tis,P2) - H1(T1,P1,xi1) 1
dimensionnement (entropie) S(Tis,P2) = S(T1,P1)

total n+5

⇒ Nombre de degré de liberté = (n+6) variables - (n+5) équations = 1

- 2.6 -
Chapitre 2

Nous disposons encore d’un degré de liberté, nous devons donc imposer au système une
spécification : le taux de compression par l’intermédiaire de la pression en sortie du compresseur P2 ou du
rapport de celle-ci avec la pression à l’entrée (P2/P1) ou bien alors le travail mécanique W fourni au
compresseur.

2.2.6 La turbine

On réalise la détente d’un flux à n constituants dans une turbine afin de produire un travail
mécanique. La modélisation de la turbine se fait comme pour le compresseur, excepté pour la première
équation de dimensionnement qui est modifiée comme suit : W=Wis.ηis.

W
T1,P1

F1
T2,P2
F2

Hypothèses : il n’y a pas de condensation et l’alimentation est complètement fixée.

Variables :
température de sortie T2 (K) 1
pression de sortie P2 (bar) 1
débit molaire de sortie F2 (kmol/s) 1
fractions molaires de sortie xi2 (-) n
travail W (kW) 1
travail de compression isentropique Wis (kW) 1
température de compression isentropique Tis (K) 1
total n+6

Equations :
bilan de matière F2.xi2 = F1.xi1 n
bilan thermique F1.H1(T1,P1,xi1) = F2.H2(T2,P2,xi2) - W 1
n

normation ∑x1
i2 =1 1

dimensionnement W = W is.ηis 1
dimensionnement W is = His(Tis,P2) - H1(T1,P1,xi1) 1
dimensionnement (entropie) S(Tis,P2) = S(T1,P1) 1
total n+5

⇒ Nombre de degré de liberté = (n+6) variables - (n+5) équations = 1

- 2.7 -
Chapitre 2

Nous disposons encore d’un degré de liberté, nous devons donc imposer au système une
spécification : le taux de détente par l’intermédiaire de la pression en sortie du compresseur (P2)ou du
rapport de celle-ci avec la pression à l’entrée (P2/P1) ou bien alors le travail mécanique W fourni par la
turbine.

2.3 Modèles mathématiques des réacteurs

2.3.1 Modèles à description macroscopique

Ce type de modèle ne nécessite pas la connaissance locale des variables et donne lieu à une
description mathématique très simplifiée. Dans les bilans, les variables d’état comme la température et les
concentrations sont des variables dont on applique les valeurs moyennes à tout le volume du système.

Exemple : réacteur continu à cuve parfaitement mélangée (R.C.P.M.).

2.3.1.1 R.C.P.M. isotherme

Soit la réaction a A → b B (ou A → δ B avec δ = b/a) réalisée dans un RCPM isotherme dont un
schéma simplifié est donné ci-dessous :

0 0 0
T , CA , CB , F

T, C A, C B , F
T , V

Figure 2.1

avec T la température en K,
V le volume en m3,
C la concentration en A ou en B, en mole/kg,
F débit massique en kg/s plutôt qu’en m3/s ou mole/s, car ils restent invariables même si la
température et/ou le nombre de moles varie(nt),

si r est la vitesse de réaction en mole/m3.s, on peut écrire :

• les bilans de matière :


0 = F.C0A − F.C A − r.V (1)

0 = F.C 0B − F.C B − δ. r. V (2)

- 2.8 -
Chapitre 2

• le bilan énergétique :
T = T0 car le réacteur est isotherme, (3)
P = P0 si on néglige les pertes de charge, (4)

Remarques concernant les bilans matières (équations 1 et 2) :

♦ si la réaction est du premier ordre alors, r = k.CA et on a :


0 = F.C 0A − F.C A − k.V.C A (1)

d’où :
C 0A
CA =
k.V
1+
F
et le problème est alors très simple ;

♦ si la réaction est du premier ordre dans un sens et du second dans l’autre alors :
r = k 1 .CA − k 2 . C2B

et (1) devient :
0 = F.C0A − F.C A − k 1 . V.C A + k 2 . V.C2B

et le problème devient déjà plus complexe ;

♦ si nous avons deux réactions parallèles :


r1
A B

r2

la première cinétique restant :


r1 = k 1 .C A − k 2 .C 2B

alors que la cinétique de la deuxième réaction s’écrit :


r2 = k 3 .C A .C B

alors :
0 = F.C0A − F.C A − k 1 . V.C A + k 2 . V.C2B − k 3 .C A .C B .V

0 = F.C0B − F.C B + k 1 . V.C A − k 2 . V.C 2B

0 = F.C 0C − F.C C + k 3 .C A .CB . V

ce qui fait trois équations non linéaires en CA, CB, et CC .

- 2.9 -
Chapitre 2

2.3.1.2 Adiabatique

Le bilan thermique s’écrit :


0 = F.C P .T0 − F.CP .T + ∑ ( − ∆H i ) .ri . V
i

2.3.1.3 Système non adiabatique

Un échange de chaleur avec un fluide circulant dans une double enveloppe apporte encore un
terme supplémentaire au bilan thermique (3) :
0 = F.C P .T0 − F.C P .T + ∑ ( −∆H i ).ri .V - K.S.(T - TW )
i

avec K le coefficient de transfert de chaleur (kJ/m2.s.K),


S la surface d’échange (m2),
Tw la température du fluide de la double enveloppe (K).

Il faut attirer l’attention sur les ∆H qui apparaissent dans les bilans thermiques : ce sont les
enthalpies “chimiques ”. Elles sont calculées par rapport à une température de référence T0 et si la
température à laquelle les réactions se déroulent est égale à T, alors on doit appliquer la formule suivante
(cas des gaz idéaux) :

∑ ∆H(T) = ∑ ∆H(T ) + ∫
T
0 ∑ ν .Ci . dT
T0 i P
i i i

où T0 la température de référence (souvent celle du gaz parfait à 25°C et 1 atm) ;


νi le coefficient stoechiométrique de la substance i.

N’oublions pas que les ∆H de réaction sont négatifs lorsque le système chimique est exothermique,
ce qui explique les signes dans les équations des paragraphes précédents.

2.3.2 Modèles à description microscopique

Ici, le système est représenté par un continuum. Nous distinguerons deux cas :

♦ modèles à paramètres globaux (“lumped parameters”), c’est-à-dire valables en tout point du système,

♦ modèles à paramètres locaux ou distribués (“distributed parameters”), c’est-à-dire fonction de


grandeurs qui varient d’un point à l’autre du système.

2.3.2.1 Exemple : Réacteur continu à lit catalytique fixe

Soit le système isolé constitué par le lit catalytique d’un réacteur tubulaire de rayon R et de
longueur L occupé par le catalyseur. Nous supposerons que le régime d’écoulement est de type “piston”.

- 2.10 -
Chapitre 2

Soient mc la masse (kg) et rc la masse spécifique (kg/m3) du lit catalytique qui constitue le réacteur
représenté ci-dessous :

F
dmc

dl

Figure 2.2

Dans ce cas, les bilans sont calculés sur une tranche très petite dl. Sur celle-ci, le bilan matière du
composant A s’écrit :
0 = F. C A − F.(C A + dC A ) − r. dV. ρ c

qui, après transformations, devient :


F.dCA = r.dm c

où r est la somme algébrique des vitesses de réaction rj , r = ∑ r j ;


dmc est la masse élémentaire de catalyseur dans dV, dmc = ρc.dV ;

tandis que l’équation aux dimensions ne change guère par rapport à celle de (1), si ce n’est que la vitesse
s’exprime en kmole par kg de catalyseur et par seconde.

Quant au bilan énergétique sur la tranche, il s’écrit :

0 = F.C p . T − F.C p .( T + dT) + ∑ (- ∆H i ). r i .dm c − K. dS.( T − TW )


i

On a supposé le Cp constant dans l’intervalle dT, cependant, dans le cas d’une réaction très
exothermique, on doit tenir compte de sa variation, on écrit H(T) - H(T+dT) où H représente l’enthalpie
"sensible" plutôt que les termes avec la chaleur spécifique constante. La référence pour le calcul des
enthalpies sensibles ou de réaction se fait toujours à partir d’une température T0 qui peut être égale à T
pour simplifier les expressions. Ajoutons que l’hypothèse des chaleurs spécifiques constantes entraîne une
sorte d’indifférence sur le choix de la température de référence, ce qui d’ailleurs est source de confusion.

Si nous effectuons le changement de variable :


dl dm c
= dλ ou bien = dλ
L mc

nous obtenons les équations suivantes comme bilan de matière du constituant i :

- 2.11 -
Chapitre 2

dCi m
= − c .∑rj
dλ F j

et comme bilan énergétique :


dT m 2 π. K. L. R
= − c . ∑ ( − ∆H j ). r j − .( T − TW )
dλ F. C p j F. C p

Le bilan de quantité de mouvement existe si on tient compte d’une perte de charge :


dC i
= − J .ρ c . F α

où J est un coefficient de perte de charge,
α est un exposant agissant sur le débit.

Remarque : Il faut vérifier s’il n’y a pas d’équations superflues et envisager alors de réduire la dimension du
système. Ces points font l’objet des paragraphes suivants.

2.4 Décomposition d’un modèle mathématique


Application aux équilibres physiques

2.4.1 Concepts généraux

La simulation d’une installation ou même d’un appareil nous amène couramment à résoudre des
systèmes d’équations de dimensions assez importantes. Plutôt que de résoudre celles-ci simultanément, on
a intérêt à organiser le calcul de manière à résoudre en séquence une série de systèmes plus petits.
L’organisation du calcul se déduit de l’examen d’une matrice appelée matrice d’incidence.

Avant d’aborder le cas des équilibres physiques et le modèle du séparateur, nous allons, à partir
d’un exemple très simple, décrire la procédure à suivre :

Soit à résoudre le système d’équations suivant :


a. x 21 + b. x 2 + x 4 = k (1)

a. x 1 + c. x 12/2 = 1 (2)

d . x 1 + e. x 3 = m (3)

5. x 1 + 2. x 3 + x 4 = n (4)

Construisons la matrice d’incidence (ou d’occurence) du système :

Var x1 x2 x3 x4

Eq.1 1 1 0 1

- 2.12 -
Chapitre 2

Eq.2 1 1 0 0

Eq.3 1 0 1 0

Eq.4 1 0 1 1

On peut voir que si on connaît x4, on pourra trouver x1 et x2 au moyen des équations 1 et 2.
Ensuite, avec l’équation 3, on obtiendra x3. L’équation 4 nous donnera x4 à partir de x1 et x3. La séquence
de calcul sera alors la suivante :

(1) x1
Estimer
x4 { { (2) x2
(3) → x
3
(4) → x4

Correction non Test de


sur x4 convergence

oui

On emploie donc un processus itératif pour résoudre le problème. Si on ne corrige pas la valeur de
x4 donnée par l’équation 4 et que l’on réinjecte cette valeur dans les équations 1 et 2, on emploie la
méthode de substitution simple. En général cependant, on corrigera cette valeur par les méthodes décrites
au chapitre 3, ces méthodes accélèrent le processus de convergence des calculs.

Si on avait eu le système suivant :


a. x 21 + b. x 2 + x 4 = k (1)

a. x 1 + c. x 2 = 1 (2)

d . x 1 + e. x 3 = m (3)

5. x 1 + 2. x 2 + x 4 = n (4)

la séquence de calcul eut été fort semblable, seule l’évaluation de x3 tombe hors du procédé itératif et cette
inconnue est calculée lorsqu’on sort de la boucle.

2.4.2 Application aux équilibres physiques : équilibre L-V

2.4.2.1 Modèle thermodynamique

Le modèle thermodynamique est constitué :

• d’une part des équations :

- 2.13 -
Chapitre 2

f (variables, paramètres) = 0 ,
équations de bilans et conditions d’équilibre,

• d’autre part, par un choix cohérent de lois thermodynamiques (équations d’état ou corrélation), fixant les
limites d’application du modèle et par l’ensemble des données nécessaires.

Exemple d’équation d’état : l’équation de Soave.

L’équation d’état s’écrit :


R. T a (T)
P= −
V − b V.( V + b)
P. V a. P b. P
On définit les variables auxiliaires Z = , A= 2 et B = , les valeurs de Z étant solution de
R. T ( R . T) R. T
l’équation Z3 − Z2 + ( A − B − B2 ). Z − A. B = 0 . Avec ces variables, on peut calculer le coefficient de
VZ − 1 A Z+B
fugacité puisque ln ϕ = Z − 1 − ln Z − ∫ = Z − 1 − ln( Z − B) − ln .
∞ V B Z

2.4.2.2 Examen des conditions d’équilibre

Les fugacités partielles des constituants i à T et P du mélange doivent être égales dans les deux
phases :
fiL = fiV

Ces variables s’expriment généralement en fonction du coefficient de fugacité (ϕ) pour la phase
vapeur et en fonction du coefficient d’activité (γ) et de la fugacité de référence ( f * ) pour la phase liquide :

ϕ i . yi . P = γ i . xi . f i*L

Le coefficient d’équilibre du constituant est défini par le rapport de sa fraction molaire en phase
gazeuse à sa fraction molaire en phase liquide :
yi
Ki =
xi

Nous verrons plus loin l’importance du rôle joué par ces variables. Il est dès lors utile d’en
examiner les diverses expressions possibles :
f i*L . γ i
Ki =
P. ϕ i

Par ailleurs on sait que,

ϕi = ϕi (T, P, y, Θϕ)

γi = γi (T, P, x, Θγ)

- 2.14 -
Chapitre 2

où les symboles x et y sont des vecteurs de fractions molaires tandis que Θ indices ϕ et γ, sont des
vecteurs de paramètres. L’ensemble de ces vecteurs sera représenté par Θ ci-après. Le nombre et les
valeurs des paramètres dépendent des choix adoptés pour les lois physico-chimiques.

On peut dès lors écrire en toute généralité :

Ki = f (T, P, x, y, Θ)

Rappelons que f i*L est la fugacité du constituant i pur liquide, à la température et à la pression du
mélange ou encore fugacité de référence. Ce terme ne dépend donc que de T et P. Il s’agit là de la
convention symétrique. Si le constituant n’existe pas à l’état liquide, c’est-à-dire s’il est incondensable, la
référence est l’état de dilution infinie. C’est la convention asymétrique.

A pression modérée, on a :
 v S .( P − P S ) 
f i*L = f i*LS .exp  i 
 R. T 
f i*LS = PiS . ϕ *i S

où f i*LS fugacité du corps pur à saturation à la température du mélange,


ϕ *i S coefficient de fugacité de la vapeur saturée dans les mêmes conditions,
PiS pression de vapeur saturante du corps i (calculée à l’aide de l’équation d’état vapeur).

Si la pression du système est choisie comme référence, les relations ci-dessus ne doivent pas être
modifiées.

Si l’on choisit l’état de référence de la phase liquide comme étant celui du corps pur à la pression
r
P et à la température du système, on a dans ce cas :
 vSi .( P r − P S ) 
f i
LR
=P * LS
i . ϕ .exp 
*S
i 
 R. T 
 v Li .( P − P r ) 
f i
*L
= fi LR
.exp  
 R. T 

Le volume molaire du liquide est généralement considéré comme indépendant de la pression, ce qui
justifie les approximations apparaissant dans les formules ci-dessus. De plus, cette hypothèse se retrouve
implicitement quand on calcule ϕ pour le constituant i. L’avantage de choisir la pression de référence égale
à 0 est que les deux phases possèdent le même état de référence.

On se rend compte que si la température réduite (Tr = T/Tc) du constituant i est > 1, on n’a plus la
possibilité de calculer sa pression de saturation, il faut dès lors prendre une valeur extrapolée ou calculer la
fugacité du liquide d’une autre manière. Ce cas ne sera pas traité dans le cadre de ce cours (convention
asymétrique, revoir ci-dessus).

- 2.15 -
Chapitre 2

Maintenant, nous pouvons donc supposer que nous avons accès à la relation :

Ki = f(T, P, x, y, Θ)

Avant de terminer le bref examen de cette variable, il est utile de rappeler qu’il existe diverses
approximations qui représentent un ensemble de comportements possibles pour la phase vapeur et pour la
phase liquide.

Le tableau suivant résume ces possibilités.

Solution idéale Solution non idéale


f Li = γi . x i . f i'
L L
fiL = xi . f i'

C
o Gaz parfait P si
M
Pi . γ i
m Ki = s
p é P Ki =
s
o l ϕi* = ϕ*i = 1 r
P
r a K = K = f (P ,T)
t n
e g
m e Gaz réel L
e f *i
n Ki = L
i
V V ϕ*i . P f*i . γi
t d fi = yi . f i' Ki =
p é ϕ* . P
i
h a
a
l
f 'i V = ϕi . P
* id
K = K = f(P,T)
s
e
v
a
p Mélange f *i L . γi
e non idéal Impossible Ki =
u ϕ* . P
r i

Tableau 2.1

Nous avons noté f i'L ou f i'V les fugacités du constituant pur dans les conditions de T et P du
mélange, en phase liquide et en phase vapeur respectivement.

Remarquons que Kr (K Raoult) et Kid (K idéal) sont indépendants des compositions des phases en
présence et qu’ils constituent une assez bonne approximation des valeurs de K. Nous les utiliserons par la
suite, notamment comme point de départ des itérations. Kr peut se calculer très simplement et Kid d’une
manière un peu plus compliquée.

- 2.16 -
Chapitre 2

2.4.2.3 Equations du modèle des équilibres liquide-vapeur - Spécifications

Les équations d’équilibre s’écrivent :

Ki = f (T, P, x, y, Θ) avec i = 1, n (1)

Les paramètres Θ sont fixés par le choix des lois qui conditionnent la connaissance des fugacités
partielles des constituants. Les relations de définition des Ki sont :
y i = Ki . x i avec i = 1, n (2)
yi
xi = avec i = 1, n (2)
Ki

Les bilans de matière s’écrivent selon les deux équations ci-dessous :


zi
xi = (3)
1 + α.( K i − 1)
Ki . z i
yi = (3)
1 + α.( K i − 1)

Ces équations dérivent des n équations F. z i = V. yi + L. xi avec α = V / F , fraction vaporisée


(ou bien 1 − α = L / F , fraction liquide du système). Les variables F, V et L sont respectivement les
nombres de moles contenues dans le système entier, dans la phase vapeur et dans la phase liquide. Les
fractions molaires correspondantes sont zi, yi et xi. Celles-ci doivent satisfaire à certaines conditions de
normalité :

∑x i −1 = 0 (4)

∑y i −1 = 0 (4)

une de ces deux équations pouvant être remplacée par :

∑x −∑y i i =0 (4’)

Les données du problème d’équilibre comportent les variables F et z, ces dernières satisfaisant à la
relation ∑ z i = 1 . Dès à présent nous considérons que F = 1 mole de mélange et que les zi auront été
normés. On aura donc V = α et L = 1 - α .

Un décompte des équations et des variables conduit au tableau suivant :

Equations Nombres Variables Nombre


(1) n T, P, x, y 2n+2
(2) n Ki n
(3) n α 1
(4) 2 - -

- 2.17 -
Chapitre 2

Total 3n+2 Total 3n+3

Cependant, si l’on fait la somme des équations (2) et que l’on tient compte de (3), on se rend
compte que les 2 équations (4) ne sont pas indépendantes. L’une d’elles seulement doit être retenue ou
bien uniquement l’équation (4’). Nous noterons cette équation de normalité S(VAR) = 0

La notation “VAR ” développe une des variables considérées précédemment, par exemple α, P,
T, etc. L’équation S(VAR) = 0 désignera l’une quelconque des équations (4) ou (4’). Nous expliciterons la
fonctionnelle S(VAR) à la fin de ce chapitre. Le décompte s’établit donc comme suit :

(3n+1) équations et (3n+3) variables

De plus, on peut désirer calculer une fonction d’état quelconque - celle que l’on considère le plus
souvent dans les équilibres liquide-vapeur est l’enthalpie H - soit pour un constituant i dans le système ou
dans l’une des deux phases, soit pour l’ensemble de ceux-ci.

On aura par exemple :


H = (1 − α). ∑ x i . H Li + α.∑ x i . H Vi !! (5)
i i

Ces équations introduisent autant de variables nouvelles qu’il y a de relations de définition. On a


finalement :

(3n+2) équations et (3n+4) variables

Il sera donc nécessaire de se fixer deux spécifications supplémentaires. Selon le choix effectué, on
distingue les calculs d’équilibre (ou de vaporisation partielle désignée souvent par le terme anglais flash) :

• à T et P fixés,
• à P et α fixés, cas particuliers : les calculs de T de rosée (α = 1) et T de bulle (α = 0),
• à T et α fixés, cas particuliers : les calculs de P de rosée (α = 1) et P de bulle (α = 0),
• à P et H fixés,
• à P et S fixés.

2.4.2.4 Résolution des équations du modèle. Pression modérée

2.4.2.4.1 Examen de la matrice d’occurence du système

Constituons cette matrice dans le cas de 2 constituants :


Inc. K1 K2 x1 x2 y1 y2 α P T H
Eq.
(1) x x x x x x x

- 2.18 -
Chapitre 2

x x x x x x x
(2) x x x
x x x
(3) x x x x
x x x x
(4) x x x x
(5) x x x x x x x x

On remarque que seule la relation (5) permet de calculer H. Le système résiduel (1) à (4) constitue
une matrice irréductible de (3n+1)×(3n+3) (entourée en pointillé). La résolution d’un tel système
d’équations non linéaires posera rapidement un problème (par exemple, si n > 5).

Des méthodes existent bien sûr (Newton - Raphson, Marquardt, etc.), mais elles nécessitent une
procédure itérative et sont sujettes à bien des aléas (dépendance par rapport à l’approximation de départ,
relaxation,...). De plus, elles demandent la connaissance des dérivées partielles et le remplissage des
matrices (Jacobien par exemple),… en fonction du problème à traiter.

2.4.2.4.2 Algorithmes de calcul

Examinons dès lors si nous ne pouvons pas réduire la dimension du problème dans les (3n+1)
équations. Pour ce faire, nous choisirons le problème à T et P donnés (EPT). Nous avons vu que nous
pouvons disposer d’une approximation du coefficient K du constituant i par :

Kr (T, P) ou Kid (T, P)

et dès lors, si l’on estime α, on pourra calculer x(x) par les relations (3), ensuite y(y) par les relations (2) et
enfin les coefficients K de chaque constituant i par les relations (1). Cette procédure peut être schématisée
par le diagramme de fluence suivant :

(3) (2) (1)


r
K α x y K

ou en simplifiant les notations :

Kr , α → x, y → Kr

Nous avons noté x, y car suivant le type de problème traité, on devra utiliser les premières ou les
deuxièmes expressions de (2) et (3).

Les variables K dépendant en général de x et y, nous devrons itérer sur K puis vérifier que la
condition de normalité est satisfaite et modifier α en conséquence On aura donc deux boucles de
convergence imbriquées :

- 2.19 -
Chapitre 2

r ?
T et P : α K → x, y K constante ? → S(α) = 0

c
α

On comprend maintenant l’expression S(α), c’est la valeur de :

∑ x − ∑y
i i
i i

obtenue pour une valeur de α lorsque les valeurs de K du constituant i sont à convergence. On va se servir
de cette grandeur et d’autres éventuellement pour déterminer la valeur corrigée de α avec laquelle on
espère satisfaire la condition (4). Il faut remarquer que la dimensionnalité a été réduite de manière
spectaculaire puisqu’on ne doit résoudre qu’une équation à la fois.

Diverses questions subsistent :

• Comment calculer la valeur corrigée de VAR (α corrigé dans ce cas) en vue d’en promouvoir la
convergence ?
• Ne peut-on promouvoir aussi la convergence de K ?
• Quelles sont les mesures de "sécurisation" de la méthode, c’est-à-dire telles qu’elles assurent un
maximum de chances d’obtenir le résultat ?
• Est-on sûr par exemple que 0 < α < 1 ?
• La forme S(VAR) = 0 est-elle toujours la même dans tous les cas ?
• Quels sont les tests de convergence ?

Nous y répondrons après avoir dressé les organigrammes simplifiés d’itération correspondant aux
autres types de calcul d’équilibre.

Examinons le cas où T et α sont donnés (ETA).


r ?
T et α : P K → x, y K constante ? → S(P) = 0

c
P

On remarque sans peine la similitude des diagrammes.

On a ensuite pour P et α fixés (EPA) :

- 2.20 -
Chapitre 2

?
P et α : T Kr → x, y K constante ? → S(T) = 0

c
T

Le cas suivant est différent puisqu’il fait intervenir l’enthalpie (EPH). Si on se reporte à la matrice
d’occurence, on se rend compte qu’il est nécessaire de passer par une variable auxiliaire. On a le choix
entre α et T. Ces variables peuvent donc être inversées ci-après. Dans la littérature, on préfère le choix
illustré sur le diagramme ci-dessous pour des raisons jamais évoquées.
r ? ?
H et P : α K → x, y K constante ? → S(T) = 0 → H(α) = 0

c
T
c
α

La condition H(α) = 0 est décrite de manière que l’enthalpie du système soit celle qui a été
imposée et appelée Hd :

H(α) = H(T, P, x, y, α) - Hd = 0

Si l’on avait à résoudre un équilibre à T et H donnés, la résolution serait semblable à la précédente,


les itérations portant sur la pression (à condition bien entendu que l’enthalpie dépende de la pression, ce
qui n’est pas le cas des gaz idéaux et parfaits).

2.4.2.4.3 Critère de convergence, résolution et accélération

A l’aide du mode PT, découvrons tout d’abord un genre de difficulté, qui peut se poser. On a le
choix entre trois expressions pour S(α) :

zi
S1 ( α ) = ∑ x i − 1 = ∑ 1 + α.(K −1
i i i − 1)

Ki . z i
S2 ( α ) = ∑y i −1= ∑ 1 + α.(K − 1)
−1
i i i

(1 − K i ). z i
S3 ( α ) = ∑ x i − ∑ y i = ∑ 1 + α.(K
i i i i − 1)

Pour des valeurs de Ki données, ces trois fonctions évoluent comme l’indique la figure 2.3 ci-
dessous :

- 2.21 -
Chapitre 2

S( α )
S1(α )
S ( α)
2

0.5

S2

0
S1 α

S
- 0.5
Ethane
n-butane
Z1 = Z2 = 0.5
-1 P = 5 bar
T = 280 K

Figure 2.3

Dans ce cas, seule la fonction S est unimodale et elle sera donc préférée. Si l’on a choisi S1 ou S2,
il existe deux solutions et avec certaines méthodes de résolution, on peut être conduit vers α = 0 ou vers
α = 1.

Le choix du critère étant fait, comment trouver la solution de S(α) = 0 ? On peut songer à utiliser la
méthode de Newton, la méthode “regula-falsi ”, la méthode de Wegstein ou encore une méthode
d’interpolation parabolique... Ces méthodes seront vues chapitre 3.

Certaines méthodes de convergence peuvent conduire à une valeur de α en dehors du domaine 0


< α < 1. Avant d’accepter la valeur fournie par l’algorithme de convergence, on testera cette valeur, si α ≤
0 alors α = 0 ou si α ≥ 1 alors α = 1. C’est une méthode de sécurisation.

Les tests de convergence sont de deux types :

S(α k +1 ) − S(α k ) < ε 1

α k +1 − α k < ε 2

Ces deux tests devront être satisfaits avant de terminer le calcul.

Enfin, la promotion de la convergence de la boucle interne doit porter sur chaque Ki. L’expérience
démontre que les itérations sur cette boucle convergent rapidement par simple substitution.

- 2.22 -
Chapitre 2

Il faut être plus prudent dans le cas des systèmes fortement non idéaux où des équations très
complexes (Soave, NRTL, UNIQUAC,...) sont utilisées. Il sera indispensable d’utiliser des méthodes
comme celles de Marquardt ou de Broyden qui seront vues dans la suite du cours.

- 2.23 -
Chapitre 3

CHAPITRE 3
LES PRINCIPALES METHODES MATHEMATIQUES

Introduction

Si nous voulons résoudre les modèles que nous venons de définir au chapitre précédent, nous
devrons disposer de méthodes de résolution de systèmes d’équations simultanées, d’intégration numérique
et de méthodes s’appliquant au calcul itératif.

Dans ce chapitre, nous analyserons quelques-unes des plus importantes méthodes telles que celles
de Newton-Raphson, de Wegstein, de Rubin et de Runge-Kutta.

3.1 Résolution de problèmes à 1 dimension

Nous allons envisager des méthodes pour résoudre deux types d’équations : les équations
explicites f ( x ) = 0 et les équations implicites x = f ( x ) . Pour le premier type, nous décrirons les méthodes
de Newton-Raphson et de la corde tandis que pour le second type, nous décrirons la méthode de
Wegstein.

3.1.1 Méthode de Newton-Raphson

3.1.1.1 Description

Nous devons résoudre l’équation f ( x ) = 0 , connaissant une valeur approchée x0 de la solution


x* . Un développement en série de Taylor de f ( x) donne :

(x − x0 )2
f ( x) = f ( x 0
) + ( x − x ). f ′ ( x ) +
0 0
. f ′′( x 0 )+K
2!
où f ′ , f ′′ , etc. sont les dérivées premières, secondes,... de la fonction f.

L’approximation de Newton consiste à négliger les termes d’ordre supérieur à un en supposant que
x est suffisamment près de la solution x* et à remplacer l’équation initiale par l’équation linéaire
0

approchée suivante :
f ( x 0 ) + ( x * − x 0 ). f ′( x 0 ) ≅ f ( x * ) = 0

On en tire une valeur approchée de la racine :


f (x0 )
x =x −
1 0

f ′( x 0 )

- 3.1 -
Chapitre 3

cette valeur devant être une meilleure estimation de la solution (ce n’est pas toujours le cas !!!). Pour
trouver la solution, on utilisera donc la formule de récurrence :

f (xn )
x n+ 1 = x n −
f ′( x n )

3.1.1.2 Interprétation géométrique

M
n

Mn+1

0 x* xn+1 x n x

Figure 3.1

Si on représente la courbe y = f ( x ) dans le système d’axes Oxy, l’équation de la tangente à cette


courbe au point M n d’abscisse xn est :

y − f ( x n ) = f ′( x n ). ( x − x n )

L’intersection de cette tangente avec l’axe des x ( y = 0) vaut, en supposant f ′( x n ) ≠ 0 :

f (xn )
xn − = x n +1
f ′( x n
)
On obtiendra de même xn+2 , xn+3 , de proche en proche en menant les tangentes aux points Mn+1 ,
Mn+2 , ... et en cherchant leur intersection avec Ox.

C’est pourquoi la méthode de Newton est aussi appelée méthode de la tangente.

3.1.1.3 Remarques

• Notons que les valeurs successives des x sont trouvées en tenant compte des signes de f ( x) et de
f ′( x) . Dans ce cas, pour éviter toute divergence, on peut utiliser une seconde formule de récurrence
inspirée de Wegstein (voir plus loin) :
~ x n + (1 − q ). x n+1
x n+ 1 = q. ~ (relaxation)

Cela signifie dans l’exemple donné ci-dessous, que, sur la tangente passant par M 0 , l’on va s’arrêter en
un point défini par la valeur de q.

- 3.2 -
Chapitre 3

• La méthode de Newton-Raphson a pour inconvénient le calcul des dérivées.


• Si la fonction f ( x) présente des extremums, il peut arriver que la méthode soit divergente.

Exemple :
y

M1

~
M1

~1
x2 x x*1 x 0 x*2
0 x1 x
M0

Figure 3.2

Pour accélérer la convergence, au lieu d’assimiler la courbe en un point à sa tangente, on peut


prendre une courbe ausculatrice du second degré : c’est la méthode de Richmond.

3.1.2 Méthode de la corde ou de Regula-Falsi

Soit à résoudre l’équation f ( x) = 0 ,

f(x k )

0 x k+1 x k-1
k+1 xk
f(x )
k-1
f(x )

Figure 3.3

Si on ne dispose pas de l’expression analytique de f ( x ) , on pourra choisir la méthode de la corde


qui s’apparente à celle de Newton. La tangente étant remplacée par la corde.

L’équation de la corde est :


f ( x k ) − f ( x k −1 )
f ( x) − f ( x k ) = k −1 .( x − x k )
x −x
k

le point xk +1
s’obtient en posant f ( x k +1
) = 0 , d’où l’équation :

- 3.3 -
Chapitre 3

x k +1 = x k − ψ −1. f ( x k )
avec :
f ( x k ) − f ( x k−1 )
ψ= k −1
x −x
k

Cette équation diffère de celle de Newton par la valeur de ψ qui n’est qu’une approximation de
l’inverse de la dérivée de f au point x k .

Remarques :

• Avantages : pas de calcul de dérivées, robustesse identique à Newton-Raphson.


• Inconvénients : méthode plus lente près de la solution + inconvénients de Newton-Raphson.

3.1.3 Méthode de Wegstein

Cette méthode est très intéressante dans le cas fréquent en chimie où on est amené à résoudre des
équations implicites.

Soit à résoudre l’équation φ ( x) = x − f ( x) = 0 .

Graphiquement, la solution est donnée par l’intersection de la bissectrice y = x avec la courbe


y = f ( x) .

La méthode est également basée sur un processus itératif. Admettons que l’on ait obtenu une valeur
de x après i itérations. Pour obtenir la valeur suivante, on utilise la méthode décrite ci-dessous :

y y
x k+2

x k+1

q 1- q

0 x k+1 ~xk+1 xk x 0 xk x
Figure 3.4

1. intersection droite x = x k avec courbe y = f ( x) → ( x k , y k ) ,


2. intersection droite y = y k avec bissectrice y = x → ( x k+1 , y k ) ,
3. intersection droite x = x k +1 avec courbe y = f ( x) → ( x k+ 1 , y k +1 ) ,

- 3.4 -
Chapitre 3

en continuant de cette manière, on utilise la méthode dite implicite qui peut diverger. De plus, la
convergence est très lente.

Wegstein propose une autre procédure pour éviter certains désagréments de la méthode implicite
et pour accélérer la convergence.

A cet effet, il propose de corriger la valeur de xk +1 en traçant la corde entre les points k et k+1 et
en cherchant son intersection avec la droite y = x .

Pour obtenir cette nouvelle valeur de xk +1 , il faut donc résoudre le système suivant :
y k +1 − y k
y − y = k +1 ~ k . ( x − ~
k
x k ) = ψ .( x − ~x k )
x −x
y= x
avec ψ, le coefficient angulaire de la corde,

y k+1

yk

0 x k+1 ~
x k+1 xk x
Figure 3.5
ce qui revient à chercher q de sorte que :
x k +1 = q . ~x k + (1 − q). x k +1
~

La corde passera par le point ( ~


x k +1 , ~x k+ 1 ) et comme y k = x k +1 , on aura :

x k +1 − x k +1 = ψ. ( ~
~ xk )
x k +1 − ~
d’où,

. ( x k+1 − ψ. ~
xk )
~ 1
x k +1 =
1− ψ
−ψ 1
par conséquent, on aura q = et 1 − q = .
1− ψ 1− ψ

Dans le cas de la méthode implicite, suivant la valeur du coefficient angulaire de la courbe (tangente
de la courbe), on peut converger de différentes manières ou même diverger.

A ce propos, jetons un rapide coup d’oeil sur le graphique suivant :

- 3.5 -
Chapitre 3

y +•
1

-1
-•
0 x
Figure 3.6

Si ψ, le coefficient angulaire de la corde varie de − ∞ à + ∞ , nous pourrons observer, pour la


méthode implicite, les phénomènes suivants (cfr. deux cas en graphique page 3.4) :

−∞ -1 0 1 +∞
divergence convergence convergence divergence
oscillatoire oscillatoire monotone monotone

Wegstein par contre, converge même dans des cas où la méthode implicite diverge. Cependant,
d’après le graphique ci-après, on peut voir que q peut prendre des valeurs absolues très grandes pour 0,75
< ψ < 1,25.

On aura intérêt à limiter la valeur absolue de q pour restreindre l’avancement et ne pas s’éloigner
trop de la solution.

Le graphique ci-dessous est explicite à ce sujet.


q = --------- 0.75
1- ψ

0
1 1.25 ψ

Figure 3.7

- 3.6 -
Chapitre 3

Procédure générale de calcul :

1. on choisit une valeur approchée de la solution x 0 , et ensuite on calcule les deux premiers points :

x1 = f ( x 0 )
x 2 = f ( x1 )

2. on calcule q pour corriger x 2


x 2 − x1
ψ= 1 d’où q
x − x0
3. on calcule successivement :
x 2 = q. x 1 + (1 − q ). x 2
~

x 3 = f ( ~x 2 )
x3 − x2
ψ = ~2 d ' où ~x 3
x − x1
x4 = f (~
x 3)
K
x k +1 − x k  x k +1 − x k 
ψ = ~ k ~ k−1 ou bien x k − x k −1 
x −x  
x k +2 = f ( ~x k+1 )
K
et ainsi de suite jusqu’à la solution. Il est clair qu’à chaque itération un test est fait pour voir si la solution est
atteinte.

3.2 Résolution de problèmes à n dimensions

Nous allons maintenant aborder la résolution de problèmes à n dimensions. Pour les équations
explicites, nous envisagerons les méthodes de Newton-Raphson et de la sécante généralisées, ainsi que la
méthode de Broyden. En ce qui concerne les équations implicites, nous décrirons la méthode de Rubin.

3.2.1 Généralisation à n dimensions de Newton-Raphson

Soit à résoudre F( x ) = 0 où F est une fonction vecteur, c’est-à-dire, selon les conventions
mathématiques :

f1 ( x ) = f1 ( x 1 , x 2 , K, x n ) = 0

f 2 ( x) = f 2 ( x1 , x 2 ,K , x n ) = 0

f n ( x) = f n ( x 1 , x 2 ,K, x n ) = 0

- 3.7 -
Chapitre 3

On choisit cette fois, un vecteur de départ x 0 = x 01 K x 0n


t
[ ] et par analogie avec le cas à une
dimension, on limite le développement de Taylor à n dimensions aux termes des dérivées premières, ce qui
donne :
n
 δf i 
f i ( x) = f i ( x ) +
0
∑j =1
  .∆x j = 0 ; i = 1,K , n
 δx j  x 0
où ∆x j = x j − x 0
j

Sous forme matricielle, ce système d’équations peut s’écrire :

 δf 1 δf1 δf 1 
 δx L L
δx jδx n 
 1 
M   ∆x 1   f1 ( x )   f 1 ( x) 
 M O M
0
 L  L   L 
 δf δf i δf i       
 i L L .  ∆x  + f ( x ) = f i ( x) 
 0  
 δx1 δx j δx n   i   i   
 L  L   L 
 M M O M  ∆x   f ( x 0 )  f ( x) 
   n  n   n 
 δf n δf n δf n 
 L L 
 δx1 δx j δx n 
où les dérivées partielles sont calculées au point x0 ; cela s’écrit, avantageusement, sous la forme
condensée (et conventionnalisée) ci-dessous :
J .∆x + F( x 0 ) = F( x )
t

On obtient donc,
x1 = x 0 − t J −x10 F( x 0 )

et pour le (n+1)ème terme :

x n+ 1 = x n − t J −x1n F( x n )

la matrice jacobienne (transposée) étant calculée en x n .

Remarques :
• la méthode nécessite une inversion de matrice, il faut donc que la matrice jacobienne J soit non
singulière ;
• autre inconvénient, à chaque itération, toute la matrice J doit être recalculée, ce qui fait chaque fois n×n
dérivées, n fonctions et l’inverse d’une matrice (n×n) ;
• on peut encore appliquer ici un processus de convergence s’inspirant de Wegstein :

- 3.8 -
Chapitre 3

x n+1 = ~
~ x n ). (1 − q )
x n − t J −x1n F( ~

cependant, au début, il y avantage à choisir q grand et à le diminuer par la suite. En fait, loin de la
solution, il faut avancer à petits pas, tandis que près de la solution, on peut progresser plus rapidement.

3.2.2 Méthode de la sécante généralisée

La méthode de Newton décrite au point 3.2.1 présente le désavantage de devoir recalculer le


jacobien à chaque itération. Il est cependant possible de développer un algorithme qui renouvellera le
jacobien d’une manière légèrement différente. Nous allons dans un premier temps décrire la méthode de la
sécante généralisée avant d’aborder la méthode de Broyden, deux méthodes similaires.

Soit à résoudre F( x ) = 0 de dimension n. Ce système peut contenir des équations implicites,


puisque ces dernières peuvent toujours être ramenées sous une forme explicite. On doit trouver le vecteur
x tel que e = F( x) = 0 .

Nous pouvons tenter de résoudre le système en trouvant les fonctions linéaires qui approximent nos
fonctions non-linéaires. Nous pourrons alors rechercher les zéros de ces fonctions linéaires et espérer qu’ils
sont proches des zéros du système non-linéaire.

Supposons que pour les quelques essais suivant :


x0 e0 = F( x 0 )

x1 e1 = F( x1 )

x2 e2 = F( x2 )
M M
xn en = F( xn )
nous puissions écrire un modèle linéaire qui permet de reproduire ces données :
e* = Ax + b
et donc
e0 = Ax 0 + b

e1 = Ax1 + b

M
en = Axn + b

Nous avons n×n inconnues pour la matrice A et n inconnues pour le vecteur b .

- 3.9 -
Chapitre 3

Pour résoudre ce système, nous avons (n+1)×n équations linéaires, et donc la solution peut être
trouvée.

Nous pouvons en premier lieu éliminer le vecteur b en écrivant :

∆e1 = e1 − e0 = A ( x1 − x0 ) = A ∆x1

M
∆e n = en − e n−1 = A ( x n − x n−1 ) = A ∆x n
ce qui nous permet d’obtenir le système :
∆E = A ∆X

Et donc
A = ∆E ∆X −1
nous donne A pour autant que la matrice ∆X aie un inverse. Puisque ∆X est entièrement sous notre
contrôle (nous choisissons les x ), nous pouvons garantir un inverse. Les valeurs pour b peuvent être
trouvée avec
b = en − Axn

Nous pouvons maintenant estimer la valeur suivante de x comme étant celle qui rend e* = 0 .
Cette étape induit la résolution d’un système d’équations linéaires :
e* = 0 = Ax n+ 1 + b
ce qui donne

( )
x n+ 1 = − A− 1b = −A −1 e n − Ax n = x n − A −1 e n

Amélioration à la méthode de la sécante généralisée

L’approche reprise ci-dessus implique qu’a chaque étape il nous faut recalculer la matrice A à
partir des données originales. Il est possible de développer des algorithmes qui modifient A d’une autre
manière.

Supposons que nous disposons d’une estimation de A , appelons-la A1 . Supposons que nous
avons évalué ∆e1 pour un ∆x1 déterminé. Nous aimerions obtenir une matrice A2 telle que

∆e1 = A2 ∆x1

Pour obtenir A2 , nous pouvons modifier A1 de la façon suivante :

A2 = A1 + u1 t v1

- 3.10 -
Chapitre 3

Nous obtenons ainsi :

[
∆e1 = A1 + u1 t v1 ∆x1 ]
Nous pouvons choisir v 1 arbitrairement et obtenir une formule donnant u1 :

∆e 1 − A 1 ∆x1
u =
1
t
v 1 ∆x 1

Tant que v 1 n’est pas orthogonal à ∆x1 , nous avons un vecteur u1 bien déterminé et donc nous
pourrons obtenir une matrice A2 à partir de la matrice A1 .

Tentons maintenant d’obtenir un second point, ∆e 2 pour l’étape ∆x 2 où x 2 peut être par

( )
−1
exemple le résultat de : x 2 = x 1 − A 2 e 1 . On a alors ∆x 2 = x 2 − x 1 . On peut alors chercher à avoir :

[
∆e 2 = A 3 ∆x 2 = A 2 + u 2 t v 2 ∆x 2 ]
On peut aisément trouver u 2 et v 2 comme auparavant, mais maintenant nous voudrions également
que A 3 satisfasse notre premier point, c’est-à-dire :

[
∆e 1 = A 3 ∆x 1 = A 2 + u 2 t v 2 ∆x 1 ]
Si u 2 t v 2 ∆x 1 était égal au vecteur zéro, alors l’équation ci-dessus se réduirait à l’équation de
définition de A2 et serait donc vérifiée. Nous devons donc choisir v 2 orthogonal à ∆x1 . Une solution est
de choisir un vecteur v 2 égal au vecteur ∆x 2 orthogonalisé par rapport à ∆x1 . Dans ce cas, l’équation
pour obtenir v 2 est :

v 2 = ∆x 2 −
[ t
∆x1 ∆x 2 ∆x1 ]
∆x ∆x1
t 1

v2 ∆x 2

∆x1

Figure 3.8

Nous obtenons alors un autre point, ∆e 3 pour l’étape ∆x 3 et imposons encore que :

- 3.11 -
Chapitre 3

∆e 3 = A 4 ∆x 3
avec
∆e 1 = A 4 ∆x1

∆e 2 = A 4 ∆x 2

Pour A 4 = A 3 + u 3 t v 3 ,nous trouvons que v 3 devrait être orthogonal à ∆x1 et ∆x 2 . On peut


généraliser ce résultat :

A i +1
=A i
+
(∆e
t i
v
i
− A i ∆x i )
v ∆x t i i

où v i est orthogonalisé par rapport aux (i-1) précédents ∆x i .

3.2.3 Méthode de Broyden

Nous allons maintenant développer l’algorithme de Broyden. Il existe une très grande similitude
entre ce dernier et la méthode de la sécante généralisée puisqu’une seule étape de l’algorithme les
distinguent. Cependant la méthode de Broyden est meilleure dans son utilisation du temps et de l’espace
mémoire de l’ordinateur.

Au lieu de sélectionner une nouvelle matrice de façon à ce que les étapes précédentes soient
satisfaites, l’algorithme de Broyden requiert que :
A i +1 z = A i z
pour l’ensemble des vecteurs z orthogonaux à ∆x i . L’avantage est que les différents ∆x i précédents ne
devront plus être stockés puisque toute l’information sera conservée dans la matrice A . Nous avons
comme précédemment :

∆e i = A i+1 ∆x i = A i + u i t v i ∆x i [ ]
Nous avons alors :

[A i
]
+ ui t v i z = A i z
pour tout vecteur z ≠ 0 orthogonal à ∆x i . Donc si nous choisissons v i = ∆x i , alors nous aurons
v z = t ∆x i z = 0 si et seulement si z ≠ 0 est orthogonal à ∆x i . Avec ce choix, nous aurons :
t i

∆e i − A i ∆x i
u =
i

∆xi ∆x i
t

et

A i +1
=A +
(∆e − A ∆x )
i
i i i
t
∆x i
t
∆x i ∆x i

- 3.12 -
Chapitre 3

L’avantage de la méthode de Broyden sur la méthode de la sécante généralisée est, comme dit
précédemment, qu’il n’est pas nécessaire de conserver les vecteurs ∆x i . Néanmoins le désavantage est
que la convergence est linéaire alors que la méthode de la sécante converge quadratiquement.

3.2.4 Méthode de Rubin (quasi Newton)

Dans les divers modèles mathématiques examinés précédemment, nous avons vu que certains
d’entre eux se présentaient sous la forme :
x k +1 = ψ ( x k )
où ψ est un opérateur et pas nécessairement une fonction vecteur analytique (ici nous prendrons le cas où
c’est un vecteur, donc ψ ).

Dans les calculs de flowsheet, cette situation se présente fréquemment (voir chapitre 1).
Contentons-nous ici d’en donner un exemple simplifié :

6 7

x k+1 xk DIV

2 3 S
MIX REACTEUR E
P
1

Figure 3.9

Le procédé comporte un réacteur R, un séparateur S, un diviseur D et une jonction J (un


mélangeur). Le flux d’entrée 1 est connu, les modèles des appareils également et il faut calculer les flux de
sortie 5 et 7, ce qui nécessite d’ailleurs de calculer tous les flux internes à la boucle 2, 3, 4 et 6. On devra
donc effectuer une itération sur les valeurs des paramètres du flux 6 contenues dans le vecteur x.

Au fur et à mesure qu’on obtient des valeurs pour x, le problème se pose de savoir comment on
peut améliorer la convergence, c’est-à-dire (tout comme dans la procédure de Wegstein), comment arriver
plus vite (ou tout simplement arriver) à la solution.

La méthode est celle de la corde généralisée, mais appliquée à la forme particulière de la fonction
vecteur à résoudre :
x − ψ ( x) = 0
où x et ψ sont respectivement un vecteur et une fonction vecteur. On peut s’attendre à devoir estimer un
Jacobien de cette fonction.

- 3.13 -
Chapitre 3

Si ψ( x) était analytique, on aurait :

f ( x ) = x − ψ ( x) = 0
alors en appliquant la méthode de Newton, on a :

x k +1 = x k − { J [f( x ) ]}
t k
−1
f (xk )
ou

{ [ ]} [ x ]
−1
x k +1 = x k − E − t J ψ( x k ) k
− ψ(xk )
par conséquent, la recherche d’une approximation du Jacobien de ψ devient l’objectif. Ecrivons les
développements de Taylor de ces fonctions de récurrence, mais limités au premier terme :
k k
 δψ   δψ 
ψ1( x) = ψ 1( x ) +  1  .( x1 − x1k ) + K +  1  .( x n − x kn )
k

 δ x1   δx n 
L
 δψ j   δψ j 
k k

ψ j ( x) = ψ j ( x ) + 
k
 .( x1 − x1k ) + K +   .( x n − x kn )
 δ x1   δx n 
L
k k
 δψ n   δψ 
ψn (x) = ψn (x
k
) +  .( x1 − x1k ) + K +  n  .( x n − x kn )
 δ x1   δx n 
où k désigne le nombre d’itérations,
j indique la composante,
n est la dimension du problème (nombre de variables).

Cela s’écrit avantageusement sous forme vectorielle,

ψ( x) = ψ ( x k ) + { J [ψ(x )]}∆x
t k k

Au point de vue résolution, on peut connaître les vecteurs x1 , x2 , x 3 , K , x k , après k itérations,


ainsi que ψ( x k+1 ) − ψ ( x k ) , en effet, la méthode implicite peut nous donner (on suppose être parti d’un
point x0) :
x kj = ψ j ( x k− 1 ) (composante j, itération k)

Cependant, pour un système de n équations, on a n2 inconnues qui sont les dérivées de ψ par
rapport à x (pour tout x et pour tout ψ). Après une itération, on a donc n équations, après n itérations, on
obtient n2 équations et on peut donc obtenir l’expression du Jacobien.

Pour obtenir celui-ci, nous utiliserons deux matrices C et D pour stocker les informations données
par chaque itération.

- 3.14 -
Chapitre 3

Sous forme matricielle, le système à résoudre est :

ψ( x) − ψ ( x k ) = { J [ψ(x )]}∆x
t k k

où, sous forme condensée,


t
B = t J t A ou t
B t A −1 = t J , d ' où J = A −1 B
avec
 x11 − x01 L x1j − x0j L x1n − x0n 
 
 M O M M 
A = x 1 − x 1
k 0
L xkj − x0j L xkn − x 0n 
 
 M M O M 
 xn − x0 L x − x0j n
L xnn − x0n 
 1 1 j

 ψ 1 ( x1 ) − ψ 1 ( x0 ) L ψ j ( x 1 ) − ψ j (x 0 ) L ψ n ( x 1 ) − ψ n ( x 0 ) 
 
 M O M M 
B = ψ 1 ( x ) − ψ 1 ( x0 )
 k
L ψ j ( x k ) − ψ j (x 0 ) L ψ n ( x k ) − ψ n ( x 0 )
 
 M M O M 
ψ ( x n ) − ψ ( x 0 ) L ψ j (x ) − ψ j (x ) L ψ n (x ) − ψ n ( x )
n 0 n 0 
 1 1

Lorsque les matrices A et B seront construites, on obtiendra le Jacobien J en inversant A et en


la multipliant par B .

D’un point de vue calcul numérique, pour obtenir la matrice Jacobienne transposée, on effectue n
itérations par substitution simple et on stocke l’information dans 2 matrices C et D :

 x10 L x 0j L x0n 
 1 
 x1 L x1j L x1n 
M O M M
C= k 
x 1 L xkj L xkn 
M M O M
 n 
x1 L x nj L xnn 

 ψ 1 ( x0 ) L ψ j ( x 0 ) L ψ n (x 0 ) 
 
 ψ1( x ) L ψ j ( x1 ) L ψ n ( x1 ) 
1

 M O M M 
D= 
ψ 1 ( x ) L ψ j ( x k ) L ψ n ( x k )
k

 M M O M 
 
 ψ 1 (x n ) L ψ j (x n ) L ψ n ( xn )

Ces deux matrices ont chacune (n+1) lignes et n colonnes. Nous obtiendrons alors A et B en
soustrayant dans chaque matrice la première ligne à toutes les autres.

- 3.15 -
Chapitre 3

Cependant, le Jacobien ainsi calculé est celui au point x 0 , il est préférable de calculer celui-ci après
l’itération n. Pour cette raison, les premières informations obtenues seront stockées en commençant par la
dernière ligne (c’est comme si les matrices C et D étaient retournées par rapport à l’horizontal).

( )( )
On a donc J ψ = A−1 B au point x n , la (n+1)ème itération donne xn +1 , par x n+ 1 = ψ ( x n ) , on

corrige alors cette valeur de la façon qui suit,

{ ( )} [ x ]
−1
− ψ(xn )
t
x n+ 1 = x n − E− A −1 B
~ n

La méthode de Rubin est donc une méthode de Newton-Raphson qui a été modifiée pour
permettre l’estimation du Jacobien car dans le cas du flow-sheet, la fonction ψ( x) n’est pas connue
analytiquement.

Cette méthode s’appelle aussi méthode de la corde généralisée. En effet, le calcul du Jacobien à
l’aide des matrices A et B revient à estimer la pente de la corde entre deux points.

ψ j( xk ) − ψ j( x n )
= pj
xkj − x nj

Remarque :

Afin d’accélérer encore la convergence, on appliquera la méthode de Wegstein sur la variable la


plus sensible (celle qui a été la plus modifiée).

3.3 Résolution d’équations différentielles :


La méthode de Runge-Kutta

Le but de la méthode de Runge-Kutta est d’obtenir une solution numérique approchée d’une
équation différentielle ordinaire non linéaire, ou d’un système d’équations différentielles ordinaires non
linéaires.

Considérons d’abord le cas d’une équation, on donne :

= y ′ = f [ x , y( x) ]
dy
dx
avec comme conditions initiales :
y( x 0 ) = y 0
x 0 , point initial.

On dispose donc de la pente de la fonction y, ce qui va nous permettre d’estimer la valeur de y en


un point x 0 + h , h étant l’intervalle d’intégration.

- 3.16 -
Chapitre 3

y
n+1
y
n
y

0 n n+1 x
x x
Figure 3.10

Soit y n , l’estimation de la fonction y après n pas d’intégration,

y n = y( x 0 + n. h)
et si on développe en série de Taylor, nous obtenons :
y( x n+ 1 ) = y( x n + h)
h2 h3
= y( x ) + h. y ′( x ) +
n
. y ′′( x ) +
n n
. y ′′′( x n )+K centré au point x n (1)
2! 3!

Connaissant y ′ = f ( x, y) , on va essayer d’obtenir une approximation de y ′′, y ′′′,K , toutes ces


dérivées étant prises au même point, on a :
dy ′ df δf δy δf
y ′′ = = = . + = fy . f + f x
dx dx δy δx δx
de même, on obtiendra :

y ′′′ =
dy ′′ d
dx
=
dx
(
fy . f + f x =
δ
δy
)
f y .f + f x . + (
δy δ
)
f .f + f x
δx δx y
( )
= f xx + 2. f . f xy + f 2 . f yy + f .( f . f + f )
y y x

où l’on a noté :
δf δ2f
fx =
, f xy = , K
δx δx. δy
dy δy
et en remarquant que dans ce cas, =
dx δx

On reporte les valeurs de y ′′ (et y ′′′ éventuellement) dans (1) et l’on obtient :

∆y n +1
=y n +1
− y = h. f +
n h2
. f + fy. f
2! x
( ) (1a)

On recherche alors une expression de y n+1 où n’interviennent que des estimations de la fonction f
en des points particuliers,
soit y n +1 = y n + N 0 . k 0 + N 1 . k 1 + N 2 . k 2 +K

- 3.17 -
Chapitre 3

k 0 = h. f ( x n , y n )
k 1 = h. f ( x n + α 1. h, y n + β10 . k 0 )

k 2 = h. f ( x n + α 2 . h, y n + β 20 . k 0 + β 21 . k 1 )
k 3 = h. f ( x n + α 3 . h, y n + β 30 . k 0 + β 31. k 1 + β 32 . k 2 )

Si on développe k 1 en laissant tomber le second ordre, on obtient :

(
k1 = h. f + α 1. h. f x + β10 . k 0 . f y )
d’où :

(
∆y n +1 = N0 . h. f + N1. h. f + α 1. h. f x + β10 . h. f . fy ) (2a)

En comparant les termes en h de (1a) et (2a), on trouve :


• termes en h. f → N 0 + N1 = 1
• " " 2
h .f x → N1 .α 1 = 1
2

• " " 2
h .f y . f → N1 .β12 = 1
2

On a donc trois relations pour quatre paramètres. Il existe donc une infinité de solutions que l’on
peut écrire sous la forme :
1
N0 = 1 −
2.α 1
1
N1 =
2. α1

β10 = α1

En prenant α 1 = 1 , nous aurons N1 = 1


2 , N0 = 1
2 , β10 = 1 , d’où :

k 0 = h. f ( x n , yn )
k1 = h. f ( xn + h , y n + k 0 )
ce qui fait que :

.( k 0 + k 1 )
1
y n+ 1 = y n +
2

Au troisième degré, nous aurons 8 paramètres pour 6 relations, au quatrième degré, 13 paramètres
pour 10 relations,... La méthode que nous utiliserons est celle qui a été développée par Runge qui est une
méthode du 4ème degré. On a le tableau suivant :
N0 N1 N2 N3 α1 α2 α3 β 10 β 20 β 21 β 30 β 31 β 32

RUNGE 1/6 2/6 2/6 1/6 1/2 1/2 1 1/2 0 1/2 0 0 1

- 3.18 -
Chapitre 3

KUTTA 1/8 3/8 3/8 1/8 1/3 2/3 1 1/3 1/3 1 1 -1 1

Ce qui fait que l’on a :

k 0 = h. f ( x n , y n )
k1 = h. f ( x n + h / 2, y n + k 0 / 2)
k 2 = h. f ( xn + h / 2, yn + k1 / 2 )
k 3 = h. f ( x n + h, y n + k2 )
et
.( k 0 + 2 . k 1 + 2 . k 2 + k 3 )
1
∆y n +1 =
6

Si l’on a plusieurs équations différentielles, le développement sera identique mais il s’appliquera aux
fonctions vecteurs.

Dans ce cas cependant, on aura intérêt à pondérer les équations afin que les variations de chacune
d’elles soient du même ordre de grandeur. Le système à résoudre sera alors :
dy1
α . f1( x ) =
dx
dy 2
β. f2 ( x) =
dx
dy
γ . f 3( x) = 3
dx
avec α, β, γ comme coefficients de pondération.

- 3.19 -
Chapitre 3

3.4 Applications numériques

Nous allons maintenant, au moyen de quelques exemples numériques, illustrer l’utilisation de certains des
modèles que nous avons décrits dans les pages précédentes.

3.4.1 Comparaison entre la substitution simple et la méthode de Wegstein.


Premier cas : convergence monotone

x=a+bx+cx2 a 1,4
b 0,0417 3,5
Substitution c 0,1583
iter x f(x) 3
1 0 1,4
1,4 1,4 2,5
2 1,4 1,7687
1,7687 1,7687 2
3 1,7687 1,969
1,969 1,969 1,5
4 1,969 2,0959
2,0959 2,0959
1
5 2,0959 2,1828
2,1828 2,1828
6 2,1828 2,2454 0,5
2,2454 2,2454
7 2,2454 2,2918 0
2,2918 2,2918 0 0,5 1 1,5 2 2,5 3 3,5
8 2,2918 2,3271
2,3271 2,3271
9 2,3271 2,3544 3,5
2,3544 2,3544
10 2,3544 2,3758 3

Wegstein 2,5
iter x f(x) psi q x amélioré
1 0 1,4 2
1,4 1,4
2 1,4 1,7687 0,2633 -0,357 1,9005
1,5
1,9005 1,9005
3 1,9005 2,051 0,5642 -1,295 2,246
2,246 2,246 1
4 2,246 2,2923 0,6982 -2,313 2,3994
2,3994 2,3994 0,5
5 2,3994 2,4115 0,7772 -3,488 2,4538
2,4538 2,4538 0
6 2,4538 2,4556 0,8101 -4,266 2,4632 0 0,5 1 1,5 2 2,5 3 3,5
2,4632 2,4632

- 3.20 -
Chapitre 3

Deuxième cas : convergence oscillatoire (uniquement pour la substitution simple)


2
x=a+bx+cx a 3
3
b -1,3
Substitution c 0,2
iter x f(x) 2,5
1 0 3
3 3
2 3 0,9 2
0,9 0,9
3 0,9 1,992 1,5
1,992 1,992
4 1,992 1,204
1,204 1,204 1
5 1,204 1,7247
1,7247 1,7247 0,5
6 1,7247 1,3528
1,3528 1,3528
7 1,3528 1,6074 0
1,6074 1,6074 0 0,5 1 1,5 2 2,5 3 3,5
8 1,6074 1,4271
1,4271 1,4271
9 1,4271 1,5521 3
1,5521 1,5521
10 1,5521 1,4641 2,5

Wegstein
iter x f(x) psi q x amélioré 2
1 0 3
3 3 1,5
2 3 0,9 -0,7 0,4118 1,7647
1,7647 1,7647
3 1,7647 1,3287 -0,3471 0,2576 1,441 1
1,441 1,441
4 1,441 1,542 -0,6588 0,3972 1,5019 0,5
1,5019 1,5019
5 1,5019 1,4987 -0,7114 0,4157 1,5
1,5 1,5 0
6 1,5 1,5 -0,6996 0,4116 1,5 0 0,5 1 1,5 2 2,5 3 3,5
1,5 1,5

Troisième cas : divergence monotone (uniquement pour la substitution simple)


2
x=a+bx+cx a -0,3
4
b 1,15
Substitution c 0,05
iter x f(x) 3
1 1 0,9
0,9 0,9
2 0,9 0,7755 2
0,7755 0,7755
3 0,7755 0,6219
1
0,6219 0,6219
4 0,6219 0,4345
0,4345 0,4345 0
5 0,4345 0,2091 -1,5 -1 -0,5 0 0,5 1 1,5 2 2,5 3 3,5
0,2091 0,2091
6 0,2091 -0,057 -1
-0,057 -0,057
7 -0,057 -0,366
-2
-0,366 -0,366
8 -0,366 -0,714
-0,714 -0,714
9 -0,714 -1,096 1,5

-1,096 -1,096 1,4


10 -1,096 -1,5
1,3
Wegstein 1,2
iter x f(x) psi q x amélioré
1 1 0,9 1,1
0,9 0,9 1
2 0,9 0,7755 1,245 5,0816 1,40816
1,4082 1,4082 0,9
3 1,4082 1,4185 1,2654 4,7678 1,36909 0,8
1,3691 1,3691
4 1,3691 1,3682 1,2889 4,4619 1,37226 0,7

1,3723 1,3723 0,6


5 1,3723 1,3723 1,2871 4,4835 1,37228
1,3723 1,3723 0,5
0,75 0,9 1,05 1,2 1,35 1,5
6 1,3723 1,3723 1,2872 4,4816 1,37228
1,3723 1,3723

- 3.21 -
Chapitre 3

Quatrième cas : divergence oscillatoire (uniquement pour la substitution simple)


2
x=a+bx+cx a 4
5
b -0,9
Substitution c -0,1
4
iter x f(x)
1 1,5 2,425
3
2,425 2,425
2 2,425 1,2294
2
1,2294 1,2294
3 1,2294 2,7424
1
2,7424 2,7424
4 2,7424 0,7798
0
0,7798 0,7798
-2 -1 0 1 2 3 4 5
5 0,7798 3,2373
-1
3,2373 3,2373
6 3,2373 0,0384
-2
0,0384 0,0384
7 0,0384 3,9653
-3
3,9653 3,9653
8 3,9653 -1,141
-1,141 -1,141
9 -1,141 4,8968 4
4,8968 4,8968
10 4,8968 -2,805 3,5

Wegstein 3
iter x f(x) psi q x amélioré
2,5
1 1,5 2,425
2,425 2,425
2
2 2,425 1,2294 -1,293 0,5638 1,90349
1,9035 1,9035 1,5
3 1,9035 1,9245 -1,333 0,5713 1,91251
1,9125 1,9125 1
4 1,9125 1,913 -1,282 0,5617 1,91271
1,9127 1,9127 0,5
5 1,9127 1,9127 -1,283 0,5619 1,91271
1,9127 1,9127 0
6 1,9127 1,9127 -1,283 0,5619 1,91271 0 0,5 1 1,5 2 2,5 3 3,5
1,9127 1,9127

3.4.2 Comparaison entre la substitution simple et la méthode de Rubin


x1=1.4 racine(1+x2)-0.4 x1 26 1,762 2,445 1,893 2,269
x2=1.5 racine(x1) -0.5 x2 +1.5 27 1,893 2,269 1,774 2,430
28 1,774 2,430 1,883 2,283
Substitution simple 29 1,883 2,283 1,783 2,417
It x1 x2 f1 f2 30 1,783 2,417 1,874 2,295
1 3,000 2,000 1,225 3,098 31 1,874 2,295 1,791 2,406
2 1,225 3,098 2,344 1,611 32 1,791 2,406 1,867 2,305
3 2,344 1,611 1,325 2,991 33 1,867 2,305 1,798 2,397
4 1,325 2,991 2,267 1,731 34 1,798 2,397 1,861 2,313
5 2,267 1,731 1,407 2,893 35 1,861 2,313 1,804 2,390
6 1,407 2,893 2,200 1,833 36 1,804 2,390 1,856 2,319
7 2,200 1,833 1,476 2,808 37 1,856 2,319 1,808 2,384
8 1,476 2,808 2,142 1,918 38 1,808 2,384 1,852 2,325
9 2,142 1,918 1,535 2,736 39 1,852 2,325 1,812 2,379
10 1,535 2,736 2,092 1,990 40 1,812 2,379 1,849 2,330
11 2,092 1,990 1,584 2,674 41 1,849 2,330 1,815 2,375
12 1,584 2,674 2,050 2,051 42 1,815 2,375 1,846 2,334
13 2,050 2,051 1,625 2,622 43 1,846 2,334 1,818 2,371
14 1,625 2,622 2,014 2,101 44 1,818 2,371 1,843 2,337
15 2,014 2,101 1,660 2,578 45 1,843 2,337 1,820 2,368
16 1,660 2,578 1,984 2,143 46 1,820 2,368 1,841 2,340
17 1,984 2,143 1,688 2,541 47 1,841 2,340 1,822 2,366
18 1,688 2,541 1,959 2,178 48 1,822 2,366 1,840 2,342
19 1,959 2,178 1,712 2,510 49 1,840 2,342 1,823 2,364
20 1,712 2,510 1,938 2,208 50 1,823 2,364 1,838 2,344
21 1,938 2,208 1,732 2,485 51 1,838 2,344 1,825 2,362
22 1,732 2,485 1,921 2,232 52 1,825 2,362 1,837 2,345
23 1,921 2,232 1,749 2,463 53 1,837 2,345 1,826 2,360
24 1,749 2,463 1,906 2,252 54 1,826 2,360 1,836 2,347
25 1,906 2,252 1,762 2,445 55 1,836 2,347 1,827 2,359

- 3.22 -
Chapitre 3

Rubin
x1=1.4 racine(1+x2)-0.4 x1
x2=1.5 racine(x1) -0.5 x2 +1.5

Iter x1 x2 f1 f2
1 4,0000 5,0000 1,8293 2,0000
2 1,8293 2,0000 1,6932 2,5288
3 1,6932 2,5288 1,9526 2,1874

Iter x1 x2 f1 f2 x1-f1 x2-f2


4 1,8071 2,3325 1,8329 2,3501 -0,0258 -0,0176

C 1,8071 2,3325 D 1,8329 2,3501


1,8293 2,0000 1,6932 2,5288
1,6932 2,5288 1,9526 2,1874

A 0,0222 -0,3325 B -0,1397 0,1786


-0,1139 0,1962 0,1197 -0,1627

A-1 -5,8552 -9,9218 (A-1).B= J -0,3697 0,5684


-3,3986 -0,6631 0,3956 -0,4992

E-J 1,3697 -0,5684 (E-J)-1 0,8199 0,3108


-0,3956 1,4992 0,2163 0,7490

Iter x1 x2 f1 f2 x1-f1 x2-f2


5 1,8337 2,3513 1,8294 2,3556 0,0043 -0,0043

ligne à modifier 2

Modif C 1,8071 2,3325 modif D 1,8329 2,3501


1,8337 2,3513 1,8294 2,3556
1,6932 2,5288 1,9526 2,1874

- 3.23 -
Chapitre 3

3.4.3 Utilisation de Newton - Raphson à n dimensions

f1=x1^2-x2-1
f2=x1-(x2-1)^2

Newton-Raphson
Iter x1 x2 f1 f2 J J-1
1 5,000 5,000 19,000 -11,000 10 -1 0,1013 -0,0127
1 -8 0,0127 -0,1266

2 2,937 3,367 4,257 -2,666 5,87342 -1 0,1766 -0,0373


1 -4,7342 0,0373 -0,2191

3 2,085 2,624 0,725 -0,552 4,17076 -1 0,2589 -0,0797


1 -3,2481 0,0797 -0,3324

4 1,854 2,383 0,054 -0,058 3,7075 -1 0,2989 -0,1081


1 -2,7655 0,1081 -0,4007

5 1,831 2,354 0,000 -0,001 3,66285 -1 0,3036 -0,1122


1 -2,7072 0,1122 -0,4108

6 1,831 2,353 0,000 0,000 3,66235 -1 0,3037 -0,1122


1 -2,7064 0,1122 -0,4110

7 1,831 2,353 0,000 0,000 3,66235 -1 0,3037 -0,1122


1 -2,7064 0,1122 -0,4110

8 1,831 2,353 0,000 0,000 3,66235 -1 0,3037 -0,1122


1 -2,7064 0,1122 -0,4110

9 1,831 2,353 0,000 0,000 3,66235 -1 0,3037 -0,1122


1 -2,7064 0,1122 -0,4110

10 1,831 2,353 0,000 0,000 3,66235 -1 0,3037 -0,1122


1 -2,7064 0,1122 -0,4110

11 1,831 2,353 0,000 0,000 3,66235 -1 0,3037 -0,1122


1 -2,7064 0,1122 -0,4110

- 3.24 -
Chapitre 3

25

20

15

10
F1
5

-5

-10
4,8
4,2

4,8
3,6

4,2
3,6
3

3
2,4

x2
2,4
1,8

1,8

x1
1,2

1,2
0,6

0,6
00

Figure 3.11 F1 en fonction de x1 et x2

6,00
4,00
2,00
0,00
-2,00
-4,00
F2
-6,00
-8,00
-10,00
-12,00
-14,00
-16,00
4,8

4,8
4

4
3,2

3,2
2,4

x2
2,4
1,6

1,6

x1
0,8

0,8
00

Figure 3.12 F2 en fonction de x1 et x2

- 3.25 -
Chapitre 4

CHAPITRE 4
OPTIMALISATION EN INGENIERIE DES PROCEDES

4.1 Introduction

Un modèle de simulation statique est un ensemble d’équations reliant les valeurs de toutes les
variables d’état d’un procédé. Le nombre d’équations Ne est inférieur au nombre de variables N v . La
différence N f = N v − N e est le nombre de degrés de liberté du modèle ; N f équations supplémentaires
(les spécifications) doivent être imposées avant de tenter la résolution du modèle.

Certaines spécifications apparaissent naturellement à partir de contraintes externes (par exemple, la


composition des matières premières, le minimum de pureté requise par le marché, la limite d’émission de
polluants, etc.) D’autres spécifications peuvent apparaître arbitrairement et sont fixées soit de manière
empirique, soit par expérience.

Les résultats de la simulation vont dépendre du choix de ces spécifications arbitraires.


L’optimalisation est un moyen de sélectionner celles-ci dans le but d’atteindre la meilleure valeur possible
de la fonction objectif (“merit function”) basée sur ces résultats.

4.1.1 Glossaire

4.1.1.1 Fonction objectif

La fonction objectif doit prendre en compte de manière quantitative toutes les caractéristiques du
procédé qui ont un impact sur la qualité de ce dernier. Des fonctions objectifs typiques peuvent impliquer le
niveau de production, les charges en matières premières et en énergie ou les autres de coûts de production
comme la main d’oeuvre, les catalyseurs, la dépréciation de l’équipement, etc.) Généralement, les différents
facteurs intervenant dans la fonction objectif sont convertis en valeur monétaire dans le but de comparer
plusieurs objectifs.

4.1.1.2 Variables

Les variables, dans un problème d’optimalisation, correspondent à tous les quantités physiques
indépendantes apparaissant dans les équations des modèles. Elles peuvent être soit continues (température,
pression, débits) ou discrètes (nombre de plateaux dans une colonne à distiller, vanne ouverte ou fermée,
équipement en marche ou à l’arrêt).

- 4.1 -
Chapitre 4

4.1.1.3 Contraintes

Les contraintes sont des relations qui limitent le domaine de variations des variables. Elles peuvent
être linéaires ou non linéaires.

Les contraintes d’égalité sont des équations reliant certaines variables entre elles : les équations du
modèles sont des contraintes d’égalité ; la composition des matières premières ou des variables externes
non contrôlables comme la pression atmosphérique sont d’autres exemples de contraintes d’égalité.

Les contraintes d’inégalité définissent des limites aux valeurs de certaines variables ou de certaines
fonctions de variables. Elles apparaissent à cause des caractéristiques des équipements (pression ou
température maximum de fonctionnement d’un appareil), des normes légales (émissions) ou des
spécifications commerciales (pureté d’un produit).

4.1.2 Types de problèmes

La difficulté de résoudre les problèmes d’optimalisation est reliée à certaines caractéristiques de


leur formulation. Le nec plus ultra est de progresser régulièrement avec l’apparition de nouvelles méthodes
numériques et la disponibilité de calculateurs plus puissants.

4.1.2.1 Linéaires - Non linéaires

Quand on considère des procédés réels, le comportement purement linéaire est rare. Ceci n’écarte
pas l’utilisation d’approximations linéaires mais la plus grande prudence est requise pour l’interprétation des
résultats. Les problèmes linéaires (fonction objectif linéaire, contraintes d’égalité et d’inégalité linéaires,
limites inférieures et supérieures sur les variables) peuvent être résolues facilement avec les programmes
existants. Les problèmes de plus grande échelle avec plus de 105 variables peuvent l’être avec les meilleurs
algorithmes. Ces algorithmes sont basés sur des opérations sur les rangées et les colonnes d’une matrice de
coefficients d’équations et sont similaires aux algorithmes utilisés pour résoudre les systèmes d’équations
linéaires. La solution est atteinte en un nombre fini d’opérations quand le problème est bien conditionné
(absence de singularité).

Le cas des problèmes non linéaires est plus compliqué. On observe fréquemment la présence de
plusieurs solutions optimales (extrema locaux). La manière dont le problème est formulé (mise à l’échelle
des variables et des équations : “scaling”) et la qualité du point initial affectent l’efficacité de la solution.

4.1.2.2 Fonctions convexe et concave

Une fonction est concave sur une région R si :

[ ]
∀ x1 , x 2 ∈ R, ∀ θ ∈ [ 0,1] : f θ x1 + (1 − θ) x 2 ≥ θ f ( x 1 ) + (1 − θ ) f ( x 2 )

- 4.2 -
Chapitre 4

f(x) f(x)

x1 x2 x x1 x2 x

Fonction concave Fonction convexe

Malheureusement, cette définition n’est pas pratique pour tester la concavité d’un système.
L’analyse de la dérivée seconde de f(x) est plus appropriée pour les applications quotidiennes. La fonction
à plusieurs variables f(x) est convexe quand la matrice hessienne est définie positive.
 ∂ 2 f ( x) 
H ( x) = ∇ f ( x) = 
2

 ∂x i ∂x j 

La matrice hessienne est définie positive quand pour tout x ≠ 0 : x T H x > 0 . Cette condition est
rencontrée quand toutes les valeurs propres de la matrice symétrique H sont strictement positives. Quand
une fonction est convexe, le minimum non contraint est un minimum global.

4.1.2.3 Dimension du problème

Plus il y a de variables et plus le problème est difficile. Des méthodes de recherche itérative sont
disponibles pour manipuler des problèmes englobant quelques centaines à quelques milliers de variables.

En génie chimique, les problèmes comportent généralement un grand nombre de contraintes et le


nombre de degrés de liberté est généralement très inférieur au nombre de variables. C’est pourquoi les
méthodes à trajectoire réalisable (“feasible path methods”) sont fréquemment recommandées : elles
consistent à identifier un ensemble minimal de variables indépendantes qui doivent être optimisées en itérant
sur une boucle externe et à résoudre les équations et contraintes d’égalité du modèle pour identifier les
variables dépendantes en itérant sur une boucle interne. Le principal avantage de ces méthodes est que la
série des solutions intermédiaires correspond à des problèmes de simulations convergées fournissant une
information intéressante même en cas d’échec de la procédure globale d’optimalisation : il vaut mieux une
solution sous-optimale que pas de solution du tout !

Les méthodes à trajectoire irréalisable (“unfeasible path methods”) essayent simultanément de


rechercher une meilleure valeur de la fonction objectif pendant qu’elles résolvent les contraintes d’égalité et

- 4.3 -
Chapitre 4

ramènent les contraintes violées à l’intérieur de leurs limites. Elles sont généralement plus efficaces en temps
de calcul… quand elles parviennent à une solution !

4.1.2.4 Continu ou discret

Les fonctions objectifs ou les contraintes peuvent comporter des discontinuités finies. Par exemple,
le coût d’un équipement d’échangeur de chaleur peut ne pas évoluer monotonément avec la pression, la
température ou la charge (quand celle-ci augmente, il peut être nécessaire de diviser un appareil en unités
parallèles ou d’adopter une technologie différente).

4.1.2.5 Objectif non contraint ; contraintes d’égalité ; contraintes d’inégalité

Les problèmes les plus simples n’impliquent pas de contraintes ou juste des limites inférieures et
supérieures sur les variables. Les contraintes d’égalité et d’inégalité impliquent des fonctions non linéaires
de variables, ce qui accroît grandement la complexité du problème. Une solution à trajectoire réalisable
peut être difficile à identifier (dans certains cas, elle peut même ne pas exister...).

4.1.3 Type de méthodes d’optimalisation

De nombreux algorithmes ont été proposés pour résoudre les problèmes d’optimalisation. Ils se
regroupent en trois classes.

4.1.3.1 Méthodes directes

Celles-ci sont basées sur une recherche aléatoire autour du point courant dans le but d’estimer un
domaine ou une direction dans lesquels un progrès peut être espéré grâce aux essais précédents. Les
méthodes directes sont faciles à utiliser et sont robustes, mais généralement elles requièrent plus de temps
de calcul. Elles doivent être limitées à des petits problèmes.

4.1.3.2 Méthodes indirectes basées sur des critères d’existence d’un extremum

Elles sont basées sur des critères mathématiques d’existence d’un optimum. Elles tentent
d’identifier les groupes de variables qui collent de mieux en mieux à ces critères. Les méthodes indirectes
sont généralement plus efficaces que les méthodes directes mais elles sont plus complexes et impliquent
plus de mathématiques (par exemple, estimation ou calcul de dérivées).

4.1.3.3 Heuristiques

Les méthodes heuristiques sont basées sur les connaissances disponibles sur certaines classes de
problèmes d’optimalisation et essaient de tirer parti des motifs (“patterns”) dans les solutions optimales. Par
exemple, les algorithmes génétiques représentent les groupes de décisions comme des séquences de codes
d’une manière analogue à celle des gênes codant les êtres vivants. Les algorithmes génétiques appliquent

- 4.4 -
Chapitre 4

des règles de transformations pour simuler l’évolution de population de “gênes”. La reproduction donne
plus de chance de reproduire les schémas fructueux tandis que les mutations autorisent la création aléatoire
de nouveaux motifs. Les algorithmes génétiques sont spécialement appropriés pour travailler avec des
problèmes impliquant des structures (“patterns”) ou des fonctions qui ne sont pas différentiables.

4.2 Optimisation pour un système à une seule variable continue

Ce problème mérite d’être étudié pour plusieurs raisons :

• dans maints problèmes, l’élimination des contraintes par insertion dans une fonction objectif réduit la
dimension du problème à une variable ;

• les techniques pour les optimisations dans un espace multidimensionnel génère généralement une
direction de recherche pour laquelle une optimisation unidimensionnelle est réalisée.

L’optimisation pour un système à une seule variable implique deux étapes :

• parcourir le domaine de la variable pour encadrer l’optimum ;

• raffiner la recherche jusqu’à ce que l’optimum soit localisé avec la précision voulue.

Le parcours de l’espace des variables est normalement fait en identifiant la direction de


décroissance de la fonction et, ensuite, en progressant dans cette direction jusqu’à ce que la fonction
croisse à nouveau. Les dernières valeurs recherchées définissent ainsi une région où l’optimum est
susceptible d’être localisé (au moins si la fonction objectif est continue). Dans le but de réduire le nombre
d’évaluations de la fonction objectif, la taille du pas peut être augmenter à chaque itération.

Un exemple est donné à la figure suivante. L’optimum de la fonction f = 2000 + ( x − 100) est
2

encadré par cet algorithme : on part de x = 1 et on se déplace vers le minimum en doublant la taille du pas
à chaque essai.

- 4.5 -
Chapitre 4

40000

30000

20000

10000

0
0 50 100 150 200 250 300

4.2.1 Réduction de l’intervalle

Une fois que le minimum de la fonction objectif a été encadré entre xmin et xmax, nous pouvons
calculer deux nouvelles valeurs f1 = f ( x 1 ) et f 2 = f ( x 2 ) , de telle manière que :

x min < x 1 < x 2 < x max

En comparant f1 et f2 et en supposant que la fonction est convexe, nous pouvons rejeter une partie
de l’intervalle initial :

f(x) f(x)

f1>f2 f1<f2

Xmin x1 x2 Xmax Xmin x1 x2 Xmax

Si f1 > f2, on rejette [xmin,x1] et on pose xmin = x1 pour l’itération suivante.

Si f1 < f2, on rejette [x2,xmax] et on pose xmax = x2 pour l’itération suivante.

Si f1 = f2, on rejette [xmin,x1] et [x2,xmax], on pose xmin = x1 et xmax = x2 pour l’itération suivante.

Si xmin, x1, x2 et xmax sont régulièrement espacés, la longueur de l’intervalle sera réduite d’un tiers à
chaque itération au prix de deux évaluations de fonction. Seule l’une d’elle est encore utilisable à l’itération

- 4.6 -
Chapitre 4

suivante. Si L0 est la taille originale de l’intervalle, elle devient Lk = (2/3)k L0 après k itérations (et 2k
évaluations de la fonction).

4.2.2 La règle du nombre d’or

Une méthode de recherche plus efficace est obtenue en choisissant x1 et x2 dans la proportion
connue sous le nom de “section du nombre d’or” définie par :

xmax - x2 = x1 - xmin
x1 − x min x − x1 5 −1
= max = ≈ 0,618
x max − x 1 x max − x min 2

Avec cette méthode, le point à l’intérieur du nouvel intervalle peut être conservé à l’itération
suivante et un seul point doit être réévalué à chaque itération. La longueur de l’intervalle devient
L k = ( 0,618) . L 0 après k itérations (k évaluations de fonction).
k

4.2.3 L’approximation polynomiale

Une autre de classe de méthodes de recherche unidimensionnelle procède par approximation de la


fonction objectif par une simple fonction dont l’optimum est aisément identifié. Un choix possible est
l’interpolation quadratique. Etant donné trois points x1, x2, x3 entourant le minimum de la fonction objectif,
nous pouvons calculer les valeurs correspondantes de la fonction objectif et ajuster les coefficients pour
une fonction quadratique interpolant les trois valeurs données :
f ( x) ≈ q ( x) = a + b x + c x 2

Le minimum de q(x) est directement obtenu par :

−b
x∗ =
2c

Un peu d’algèbre nous amène à :

1 ( x 2 − x 3 ) ⋅ f 1 + ( x 3 − x1 ) ⋅ f 2 + ( x 1 − x 2 ) ⋅ f 3
2 2 2 2 2 2

x =
2 ( x 2 − x 3 ) ⋅ f1 + ( x 3 − x1 ) ⋅ f 2 + ( x1 − x 2 ) ⋅ f 3

La fonction objectif est évaluée en ce point et x* remplace x1 ou x3 en s’assurant que les points
restants entoure toujours l’optimum (la fonction objectif pour le point milieu doit être le plus bas à ce
moment).

Remarquons que la procédure ne doit pas être appliquée si le minimum n’a pas été entouré : la
fonction quadratique interpolant les trois points arbitraires peut dégénérer en une droite ou être concave
(dans ce cas, x* localise le maximum ...).

- 4.7 -
Chapitre 4

0
0 1 2 3 4 5

Approximation quadratique de f(x) = 1.2 + cos(x)

4.3 Optimisation d’un set de variables continues non


contraintes

La plupart des problèmes pratiques requièrent l’optimisation d’un modèle à plusieurs variables. La
plupart des méthodes examinées pour les problèmes unidimensionnels peuvent être généralisées aux
problèmes plus complexes.

4.3.1 Critère d’existence d’un optimum

Le problème est la minimisation de f(x) pour x ∈ E n .

Pour un problème de programmation non linéaire et non contraint, les conditions nécessaires pour
que x* soit un minimum local sont :

f(x) est différentiable en x*


∇ f ( x *) = 0 (c’est-à-dire, un point stationnaire existe en x*)

En plus des conditions définies ci-dessus, la condition suffisante pour que x* soit un minimum local
est :
∇ 2 f ( x *) > 0 (c’est-à-dire que la matrice hessienne est définie positive).

Les conditions pour l’existence d’un maximum sont les mêmes, excepté le fait que la matrice
hessienne doit être définie négative.

Des points optima qui ne satisfont pas les conditions nécessaires et suffisante peuvent exister : par
exemple, pour une discontinuité ou lorsque la fonction est continue, mais que ses dérivées ne le sont pas.

- 4.8 -
Chapitre 4

4.3.2 Méthodes directes

Les méthodes directes ne requièrent pas l’utilisation de dérivées pour la détermination de la


direction de recherche. Elles ont l’avantage de la simplicité, mais sont généralement moins efficaces que les
méthodes que nous verrons plus loin.

4.3.2.1 Recherche pour une seule variable

Une simple méthode d’optimisation pour résoudre un problème à n dimensions est de choisir n
directions indépendantes de recherche. La fonction objectif est minimisée le long de chaque direction de
recherche de manière séquentielle en utilisant un algorithme de recherche unidirectionnel. Cette méthode est
inefficace à moins que les directions soient bien choisies (par exemple, parallèles aux crêtes de la fonction
objectif).

Le but de bien des recherches qui ont été effectuées était de générer efficacement une direction de
recherche. L’expérience a montré que les directions conjuguées sont plus efficaces que les directions
arbitraires. Un ensemble de directions linéairement indépendantes s1 ,K, s n sont conjuguées par rapport à
une matrice carrée définie positive Q si :
t
(s i ) Q ( s i ) = 0 pour 0 ≤ i < j ≤ n

Lorsque f(x) est une fonction quadratique, il peut être montré que l’optimum peut être localisé
après exactement n étapes de recherche unidirectionnelle à condition que les directions de recherche soient
conjuguées à la matrice hessienne constante et que la minimisation soit réalisée avec une précision extrême
à chaque étape. Des algorithmes ont été conçus pour générer et mettre à jour automatiquement un
ensemble de directions conjuguées de recherche (Powell 1965, Brent 1973).

4.3.2.2 Simplex (Nelder, Mead)

Ces méthodes calculent la valeur de la fonction pour des points situés aux sommets d’une figure
géométrique régulière balayant l’espace des variables (un simplex). Les exemples sont le triangle pour 2
dimensions, le tétraèdre pour 3 dimensions... Le sommet correspondant à la valeur de la fonction objectif la
plus mauvaise est supprimé et remplacé par sa réflexion à travers le barycentre des autres sommets. Ainsi,
le simplex se déplace dans l’espace des variables jusqu’à ce qu’il contienne l’optimum.

Nelder et Mead ont modifié la méthode pour permettre au simplex de s’accroître ou de décroître
tout en se déplaçant dans le but de modifier la taille du pas de recherche [voir l’algorithme et son
implémentation dans Himmelblau (1972)].

- 4.9 -
Chapitre 4

4.3.3 Méthodes indirectes du premier ordre

Les méthodes indirectes nécessitent le calcul du gradient de la fonction objectif dans le but de
choisir une direction de recherche. Une bonne direction s doit conduire d’un point courant x0 à un point x1
où la fonction objectif se trouve réduite :
f ( x1 ) < f ( x 0 )

Une telle direction est une direction de descente caractérisée par : ∇ T f ( x) . s < 0

La plus simple est la méthode de la plus grande pente où la direction à l’itération k est prise comme
l’opposé du gradient local :
s k = −∇ f ( x k )

x k +1 = x k + λk s k = x k − λk ∇ f ( x k )

λk est un scalaire égal à la longueur du pas. Il peut être soit fixer à une valeur constante ou soit être
déterminé en utilisant une recherche unidirectionnelle. La méthode de la plus grande pente est ainsi basée
sur une approximation linéaire de la fonction objectif.

x*
Xk

Approximation : méthode de la plus grande pente

La difficulté fondamentale avec la méthode de la plus grande pente est sa grande sensibilité à la
mise à l’échelle de f(x). La convergence peut être très lente et osciller autour de ce qui apparaîtrait comme
une direction efficace de recherche.

La méthode des gradients conjugués (Fletcher et Reeves, 1964) représente une nette amélioration
par rapport à la méthode précédente avec un accroissement faible des calculs nécessités. La méthode des
gradients conjugués combinent les informations sur le gradient local avec les gradients obtenus aux
itérations précédentes. Une recherche unidirectionnelle doit être accomplie avec précision le long de
chaque direction de recherche.

La première itération est similaire à celle de la direction de recherche de la plus grande pente. Les n
itérations suivantes sont basées sur le schéma :

x k + 2 = x k +1 + λk +1s k+ 1

- 4.10 -
Chapitre 4

∇ T f ( x k +1 ). ∇ f ( x k +1 )
s k +1 = −∇f ( x k +1 ) + s k
∇ T f ( x k ). ∇ f ( x k )

Après n itérations, la procédure est recommencée. On peut montrer que les directions successives
de recherche sont conjuguées quand la fonction objectif est quadratique.

4.3.4 Méthodes indirectes du second ordre

Ces méthodes tirent parti de l’information disponible grâce aux dérivées secondes (la matrice
hessienne ou une approximation) pour améliorer la recherche en calculant à la fois une direction et une
longueur de pas.

4.3.4.1 Méthode de Newton

La fonction objectif est approchée au point courant xk par une série de Taylor limitée au second
ordre.
1
f ( x) ≈ q( x) = f ( x k ) + ∇ T f ( x k ) ∆ x k + ( ∆x k ) T H ( x k ) ( ∆x k )
2

Le minimum de cette approximation obtenu en égalant à zéro le gradient de cette approximation


quadratique et en résolvant le système d’équations qui en résulte :
0 = ∇ q( x) = ∇f ( x k ) + H( x k ) ( ∆x k )

Ce dernier peut s’écrire suivant l’algorithme de Newton :


x k +1 − x k = ∆x k = − [ H( x k )] −1 ∇f ( x k )

La méthode de Newton prédit à la fois une direction de recherche et une longueur pour le pas.
Quand la fonction objectif est quadratique, le minimum est localisé en un seul pas. Toutefois, pour une
fonction générale, la méthode de Newton ne fournit qu’un meilleur point et une recherche par itérations est
nécessaire; la méthode peut être raffinée en appliquant une recherche le long de la direction obtenue par la
formule de Newton et en évaluant numériquement la longueur du pas λk dans :
x k +1 − x k = ∆x k = − [ H( x k )] −1 ∇f ( x k )

x*
Xk

Approximation quadratique : méthode de Newton

- 4.11 -
Chapitre 4

La méthode de Newton fait preuve d’excellentes propriétés de convergence quand la fonction


objectif est presque quadratique. Cependant, elle requiert le calcul de la matrice hessienne qui est lourd
pour les grands systèmes. La convergence peut être améliorée soit en reculant quand le pas de Newton ne
conduit pas à une décroissance de f(x), soit en contraignant le pas pour qu’il reste dans une région de
confiance pour laquelle l’approximation quadratique reste satisfaisante.

4.3.4.2 Algorithme de Levenberg-Marquardt

De plus, une précaution doit être prise lorsque la fonction objectif n’est pas convexe (ou lorsque la
matrice hessienne n’est pas définie positive) : le pas prédit peut ne pas correspondre à la direction de
descente ou la méthode peut aboutir à un point de selle. Plusieurs auteurs ont proposé de remplacer la
matrice hessienne dans l’algorithme de Newton par une matrice H( x) conditionnée pour rester définie
positive en additionnant une grande constante positive b à tous les éléments diagonaux de la matrice H(x) :

[
H = H( x ) + β I ]
On peut montrer que pour des valeurs élevées de β, le pas calculé correspond un petit pas dans la
direction de la plus grande pente alors que, pour une valeur très faible de β, il y correspond le pas de
Newton. Des règles heuristiques ont été proposées pour ajuster β : il est réduit quand une itération conduit
à une décroissance de la fonction objectif et il est augmenté dans le cas contraire.

trust region

Xk

x*
quadratic
approximation
(forced to be
positive definite)

Illustration de l’approximation quadratique forcée à rester définie positive et de l’utilisation du


domaine de confiance

4.3.4.3 Approximation de la matrice hessienne : méthodes de mise à jour

Nous pouvons interpréter la méthode de Newton comme un changement de coordonnées qui


transforme le vecteur gradient en un pas orienté vers le minimum de l’approximation quadratique locale. La
multiplication du gradient par l’inverse de la matrice hessienne est un exemple d’une transformation d’un

- 4.12 -
Chapitre 4

espace vectoriel en un autre. Nous pouvons dés lors définir une famille de méthodes d’optimalisation
(quasi-Newton ou une métrique variable) où le pas à l’itération k est donné par :
x k +1 − x k = − λk [ M k ] −1 ∇f ( x k )

La matrice directionnelle [ M k ]
−1
représente une approximation convenable de l’inverse de la
matrice hessienne. Même la méthode de la plus grande pente obéit à ce schéma en posant M = I.

La matrice M doit idéalement présenter les propriétés suivantes :

• mise à jour à chaque itération pour rendre compte des informations disponibles à propos de f(x) et de
son gradient ;
• ne requiert pas un calcul explicite des dérivées secondes de f(x) ;
• rester définie positive ;
• être symétrique ;
• converger vers la matrice hessienne réelle à l’optimum ;
• fournir de bonnes propriétés de convergence à l’algorithme d’optimisation.

Une manière d’estimer la matrice hessienne est de remarquer que, pour les fonctions quadratiques,
∇ f ( x k ) − ∇ f ( x 0 ) = H( x k − x 0 )

Si nous posons :
x k = x k+1 − x k et g k = ∇ f ( x k +1 ) − ∇ f ( x k )

Une propriété désirable pour la matrice M serait de satisfaire l’équation suivante à chaque
itération :
M k+1 x k = g k

Cela correspond à un système à n équations à n2 inconnues (nombre d’éléments de Mk+1). Une


solution générale est :
∆g k y T M k ∆x k z T
M k+1 − M k = −
y T ∆x k z T ∆x k

où y et z sont des matrices telles que xk ou gk.

Même en prenant en compte le fait que Mk+1 doive être symétrique, une infinité de techniques
peuvent être proposées pour calculer Mk+1 après l’itération k. Quelques algorithmes ont prouvé qu’ils
étaient supérieurs en maintenant M définie positive, symétrique et en obtenant de bonnes propriétés de
convergence. Mais des expériences numériques sont nécessaires pour identifier les meilleures techniques de
mise à jour. Celle proposée indépendamment par Broyden, Fletcher, Goldbarb et Shanno en 1970 est
probablement celle la plus couronnée de succès :

- 4.13 -
Chapitre 4

∆g k ( ∆g k ) T M k ∆x k ( ∆x k ) T H k
M k+1 − M k = −
( ∆g k ) T ∆x k ( ∆x k ) T H k ∆x k

La formule de mise à jour peut être développée pour obtenir directement l’inverse de la matrice
M:

k +1 −1 k −1
[ ∆x k - (M k ) -1 ∆g k ] ( ∆x k ) T + ∆x k [ ∆x k - (M k ) -1 ∆g k ]T
(M ) − (M ) =
( ∆g k ) T ∆x k


[∆x k
- (M k ) -1 ∆g k ] ∆g k ∆x k ( ∆x k )
T T

[(∆g ) ∆x ][(∆g ) ∆x ]
k T k k T k

4.4 Optimisation d’un ensemble de variables continues et


contraintes

Maints problèmes industriels ne peuvent être résolus en appliquant aveuglement un outil


mathématique pour optimiser le modèle. En pratique, beaucoup de contraintes limitent la région de
recherche. Elles peuvent correspondre aux limites de validité du modèle ou représenter les limitations
physiques de la technologie. Par conséquent, une analyse numérique doit affronter ce problème et
développer des outils plus élaborés.

4.4.1 Programmation linéaire

Même si la plupart des problèmes chimiques d’ingénierie sont de nature non linéaires, il peut être
utile d’essayer de les linéariser pour pouvoir utiliser des codes d’optimisation robustes et puissants
disponibles pour la résolution de problèmes de programmation linéaire générale du type :
r

minimiser f ( x) = c x =
t
∑c x
i =1
i i avec x i ≥ 0 pour i = 1,K , r

et ∑a xi =1
ij i = bj j = 1,K , m

∑a x
i =1
ij i ≥ bj j = m + 1,K , p

Les contraintes d’inégalité sont converties en contraintes d’égalité en y additionnant des variables
de relaxation (“slack”) s j ≥ 0 de manière à ce que :
r

∑a x − s
i =1
ij i j = bj

- 4.14 -
Chapitre 4

G. Dantzig proposa en 1937 la méthode “Simplex”, un algorithme général pour manipuler les
problèmes de programmation linéaires de ce type. La procédure itérative est basée sur le fait que pour tout
problème linéaire impliquant r variables positives liées par un ensemble convexe de p contraintes,
l’optimum est nécessairement situé à l’intersection des r contraintes ou limites variables. La procédure de
résolution démarre à une telle intersection réalisable (une base) et avance à chaque itération d’un vertex à
un autre adjacent ; elle applique des critères pour quitter les contraintes et entrer dans la base, pendant
qu’elle améliore la fonction objectif et reste à une intersection réalisable des contraintes.

L’importance de la programmation linéaire ans la résolution des problèmes pratiques est due au fait
que les logiciels disponibles sont capables de traiter les problèmes de très grandes dimensions. Même si les
modèles linéaires sont seulement des approximations du monde réel et doivent être correctement bornés
pour éviter les extrapolations en dehors de leurs limites de validité, ils sont encore largement utilisés pour
des problèmes comme le contrôle des opérations sur sites larges, les attributions de ressources et le
mélange des produits (“product blending”).

Les lecteurs intéressés peuvent se référer aux ouvrages sur la programmation linéaire tels que Taha
(1971). Une courte introduction peut également être trouvée dans Edgar et Himmelblau (1988).

4.4.2 Programmation non linéaire et contrainte

Un problème plus général, mais plus difficile peut être décrit de cette manière :

minimiser f(x) [
x = x 1 , x 2 , K, x n ] T

soumis à h j ( x) = 0 j = 1,K , m

g j ( x) ≥ 0 j = m + 1,K , p

Les contraintes d’inégalités peuvent toujours être transformées en contraintes d’égalité par
l’utilisation de variables de relaxation (slack) :
g j ( x) − s 2j = 0 j = m + 1,K , p

Une procédure attrayante serait l’utilisation de l’ensemble des contraintes d’égalité pour éliminer p
variables. Après cette substitution, on terminerait ainsi avec un problème non-contraint pour lequel des
méthodes existent.

Malheureusement, cette méthode, comme telle, ne peut être appliquée en pratique : le choix des
variables qui doivent être éliminées (c’est-à-dire, la sélection d’une base) n’est pas directe. L’ensemble des
équations de contrainte peut avoir plusieurs solutions ou même pire : pas de solution du tout pour certaines
valeurs des variables indépendantes restantes. C’est pourquoi, d’autres algorithmes de résolution ont été
proposés.

- 4.15 -
Chapitre 4

4.4.3 Formulation de Lagrange

La formulation de Lagrange permet de transformer un problème d’optimisation avec contraintes en


un non-contraint de plus grande dimension. La fonction objectif non-contrainte en résultant est appelée
“lagrangien” et est une combinaison linéaire de la fonction objectif originale et de toutes les équations de
contraintes pondérées par des variables additionnelles appelées “multiplicateurs de Lagrange”.

Pour le problème d’optimalisation donné à la section précédente, le lagrangien correspondant est :


p

∑ λ h (x) + ∑ λ [g (x) − s
m

L( x, λ) = f ( x) + j j j j j
2
]
j =1 j = m +1

Cette fonction doit être minimisée relativement à x, λ et s (avec un total de n+p+(p-m) variables
indépendantes). La valeur optimum de la fonction lagrangienne est identique à la valeur optimum à celle de
la fonction objectif contrainte originale puisque toutes les équations de contraintes doivent être
identiquement nulles à la solution.

Les conditions nécessaire et suffisante pour obtenir un minimum en x* sont :

• que f(x*) soit convexe ;

• que les contraintes forment un ensemble convexe au voisinage de x* ;

• et que les conditions de stationnarité soient satisfaites :


∂L( x ∗ )
=0
∂x i

∂L( x ∗ )
=0
∂λ j

∂L( x ∗ )
= 2 λ j sj = 0
∂s j

Les multiplicateurs de Lagrange expriment la pénalité apportée à la valeur de la fonction objectif


suite à l’existence d’une contrainte. Ils sont utiles pour une analyse de sensibilité puisqu’ils indiquent
l’ampleur avec laquelle la fonction objectif peut être améliorée en relaxant chaque contrainte d’une unité.
Ainsi, les multiplicateurs de Lagrange des contraintes d’inégalité inactives sont nuls.

4.4.4 Critère d’existence d’un optimum : conditions de Kuhn-Tucker

Les conditions nécessaire et suffisante d’existence d’un optimum dans les problèmes généraux de
programmation non linéaire sont forts complexes et leurs démonstrations peuvent être lues dans les
ouvrages traitant de l’optimalisation (par exemple, Gill et al, 1981). Ils sont résumés dans Edgar et
Himmelblau (1972). Leur description sort du cadre de ce cours.

- 4.16 -
Chapitre 4

4.4.5 Quelques familles d’algorithmes d’optimalisation avec contraintes

Etant donné la complexité et la grande variété de problèmes non linéaires, trouver le meilleur
algorithme d’optimisation est hautement improbable. Des expériences sont nécessaires pour évaluer la
valeur des codes disponibles. Plusieurs approches ont été adoptées dans les codes les plus efficaces
actuellement et sont présentées brièvement dans les sections suivantes [voir Lasdon (1983) pour une étude
plus approfondie].

4.4.5.1 Méthode du gradient réduit généralisé

Après l’introduction des variables de relaxation (“slack” variables) pour transformer toutes les
contraintes en égalités h(x), les algorithmes GRG (“generalized reduced gradient”) utilise les p contraintes
d’égalité pour résoudre p des variables xb (appartenant à l’ensemble de base) en fonction des n-p variables
indépendantes xnb (n'appartenant pas à la base).

Les contraintes peuvent être écrites comme suit et leur jacobien peut être partitionné :

h( x b , x nb ) = 0

∂h  ∂h ∂h 
= ,  = ( Bb , B nb )
∂x  ∂x b ∂x nb 

L’algorithme doit partir d’un point réalisable (“feasible”) et l’ensemble de base devrait être tel que
Bb soit non singulier dans le but de permettre le calcul des variables de base en fonction de l’ensemble
n’appartenant pas à la base. La fonction objectif peut ainsi être exprimée en fonction de xnb :

(
F( x nb ) = f x b ( x nb ), x nb )
et le problème original est transformé en un problème réduit, plus simple, non contraint :

minimiser F( x nb ) soumis aux bornes sur xnb

La fonction transformée est appelée fonction objectif réduite (“reduced objective”) et son gradient,
le gradient réduit (“reduced gradient”). Il est calculé à chaque itération comme suit :
∂F ∂f
= − z Bnb
T
∂x nb ∂x nb
où le vecteur z est obtenu en résolvant :
∂f
Bb z =
T
∂x b

Les algorithmes GRG procèdent en résolvant une séquence de problèmes réduits. Les variables
n'appartenant pas à la base et qui ne sont pas à leur limites inférieure ou supérieure sont appelées
“superbasiques”. A chaque itération, le gradient réduit avec les variables n'appartenant pas à la base fixées

- 4.17 -
Chapitre 4

à une de leurs limites permet de vérifier si certaines de ces variables doivent être relaxées et rejoindre
l’ensemble des variables “superbasiques”. Les directions de recherche sont généralement obtenues en
appliquant la méthode du gradient conjugué ou une méthode à métrique variable, basées sur le gradient des
variables “superbasiques” Une minimisation unidimensionnelle est accomplie dans la direction de recherche,
et à chaque pas, les contraintes de liaisons sont utilisées pour recalculer les variables de base. Des
itérations par la méthode de Newton sont employées dans la plupart des cas pour résoudre l’ensemble des
équations dans le cas où il est non linéaire.

L’expérience montre que la stratégie peut être implémentée dans des algorithmes qui sont à la fois
fiables et efficaces. Puisque la méthode essaye toujours de vérifier les contraintes, tous les résultats
intermédiaires sont réalisables et peuvent fournir des informations utiles; cela même si l’optimisation échoue,
puisque l’on attend un progrès par rapport un point de départ de la valeur de la fonction objectif à chaque
itération importante.

4.4.5.2 Programmation linéaire séquentielle

Ces méthodes sont basées sur la linéarisation de la fonction objectif non linéaire et des fonctions de
contrainte autour du point courant de la base :

[ ]
f ( x) ≈ f ( x 0 ) + ∇ f ( x 0 ) ∆x
T

[ ]
h j ( x ) ≈ h j ( x 0 ) + ∇ h j ( x 0 ) ∆x
T

Les limites inférieure et supérieure sont imposées sur ∆x pour être certain que les erreurs
d’approximation sont limitées. Le problème de programmation linéaire résultant est alors résolu pour des
variables ∆x et le nouveau point x0+∆x est testé. Si une amélioration est observée, il est accepté et devient
le point de base pour la prochaine itération. Sinon, les limites sur ∆x sont rendues plus étroites et le
problème de programmation linéaire est résolu à nouveau. Les points intermédiaires ne doivent pas être
réalisables : les méthodes SLP (“successive linear programming”) peuvent prendre un chemin irréalisable
vers l’optimum même si le point de base initial de base est réalisable. L’avantage des méthodes SLP est la
disponibilité de codes efficaces pour les problèmes de programmation linéaire de grande échelle dans les
bibliothèques informatiques.

4.4.5.3 Programmation quadratique séquentielle

L’idée sous-jacente est semblable à celle des méthodes SLP, mais les méthodes SQP (“successive
quadratic programming”) résolvent une série de programmes quadratiques (c’est-à-dire, une fonction
objectif quadratique avec des contraintes linéaires). La fonction objectif quadratique est :

[ ∇ f ( x )]
0
T
∆x + ( ∆x) Q ∆x
T

où Q est l’approximation de la matrice hessienne de la fonction de Lagrange :

- 4.18 -
Chapitre 4

L = f − λT g − µ T h
où λ et m sont les multiplicateurs de Lagrange

Une manière de résoudre le problème est d’appliquer la méthode de Newton à l’ensemble des
équations exprimant le critère d’existence d’un optimum (cf. les conditions de Kuhn-Tucker).

La solution de programmation quadratique n’est généralement pas adoptée pour former un


nouveau point, mais bien une direction de recherche pour laquelle est accompli une minimisation de la
fonction de Lagrange dans la direction ∆x.

L’approximation de la matrice hessienne Q est généralement modifiée à chaque itération par


l’intermédiaire d’une formule de mise à jour qui préserve sa structure (matrice symétrique, définie positive).
Une autre technique pour maintenir une matrice définie positive Q est d’utiliser un lagrangien augmenté
comme fonction objectif où les termes de pénalité impliquant les carrés des écarts aux contraintes sont
ajoutés à l’objectif.

Quand la matrice Q est définie positive, le problème quadratique avec les contraintes linéaires est
convexe et l’optimum global peut être démontré. Toutefois, des problèmes peuvent apparaître quand les
contraintes (linéarisées) sont telles qu’aucune solution réalisable n’existe pour un sous-problème
quadratique. D’autres limitations surgissent de la difficulté de manipuler les matrices Q de grande taille. Le
développement de codes efficaces de programmation quadratique de grande échelle et de formules
efficaces de mise à jour qui conservent les propriétés creuses de l’estimation de la matrice hessienne font
aussi partie du développement actuel.

4.4.6 Programmation en variables entières

Certains problèmes d’optimisation sont naturellement formulés avec certaines variables prenant
seulement des valeurs discrètes. Par exemple, les variables continues peuvent représenter des débits,
températures, pressions, etc., alors que les variables entières des types d’équipement ou de décisions,
comme l’existence ou la disponibilité de certains équipements.

La solution de problèmes de programmation non-linéaire en nombres entiers et non entiers est un


domaine ardu et aucune technique générale d’optimisation n’a montré être couronnée de succès dans le
traitement de tous types de problèmes.

Une technique prometteuse repose sur des méthodes duales qui sont appliquées de manière
cyclique. Le problème est d’abord de simplifier (linéarisation) pour permettre l’utilisation de codes de
programmation linéaire mixte (nombres entiers et non-entiers) dans le but d’obtenir un ensemble d’essai de
variables entières. Ensuite, l’ensemble de variables continues est optimisé pour des valeurs fixées des
variables entières en utilisant un code NLP standard. Le processus est recommencé jusqu’à ce que plus
aucun progrès ne soit observé.

- 4.19 -
Chapitre 4

En conclusion, la solution de problèmes d'optimalisation non-linéaire de grande échelle et


numériquement mixte (entier et non-entier) est toujours un défit et une solution pratique peut rarement être
obtenue sans une simplification de la formulation du problème.

4.4.7 Optimalisation dans les logiciels de calcul de procédés

L’expérience est nécessaire pour évaluer la valeur des algorithmes disponibles et de formuler
efficacement par la bonne méthode les problèmes d’optimalisation. Un des problèmes majeurs dans
l’application des techniques d’optimisation dans les procédés chimiques d’ingénierie était d’adapter les
logiciels de calcul de procédés existants pour permettre non seulement les simulations mais également pour
étendre leur aptitude à optimaliser.

La plupart des logiciels de simulation sont basés sur des approches séquentielles modulaires. Le
procédé à modéliser est décomposé en briques standards de construction correspondant aux principaux
types d’opérations unitaires. Les librairies de simulation fournissent des sous-programmes pour modéliser
le comportement de ces unités en se basant sur les bilans de matière, d’énergie et sur quelques équations
empiriques efficaces. Les unités sont résolues de manière séquentielle en suivant le trajet de la matière et de
l’énergie dans le procédé : les sorties des unités sont calculées à partir des entrées et de paramètres. Les
recyclages et les boucles de contrôle sont résolus de manière itérative en commençant avec des valeurs
estimées pour les flux coupés. Des bloques mathématiques sont utilisés pour résoudre les équations de
coupure (avec possibilité de certaines équations supplémentaires) en faisant correspondre les valeurs
estimées avec les résultats obtenus en bouclant à travers la séquence d’unités. Puisque les dérivées sont
rarement disponibles, la promotion de la convergence est généralement basée sur la substitution ou sur des
améliorations basées sur la plus grande valeur propre ou sur l’extrapolation de Wegstein. Les méthodes
semblables à Newton essayant de construire de manière itérative les approximations de la matrice
jacobienne en utilisant une méthode de mise à jour (par exemple, Broyden) ont également été employées
avec succès.

Cette approche souffre deux inconvénients majeurs quand on essaya de résoudre des problèmes
d’optimisation : les dérivées ne sont pas toujours disponibles et la manipulation des contraintes n’est pas
toujours directe.

La première implémentation reposait sur des méthodes directes (Nelder-Mead par exemple). Le
module d’optimisation était traité comme une promotion de convergence ou un bloque de contrôle. Il fut
complété avec des modules d'échantillonnage (pour obtenir la valeur de la fonction objectif à partir des
résultats de simulation) et des modules de consigne (pour copier la valeur des variables optimisées dans les
paramètres de simulation).

Cette approche est une méthode à trajectoire réalisable : à chaque itération, un calcul complet du
flowsheet doit avoir convergé. Puisque les méthodes directes requièrent un grand nombre d’itérations, cette

- 4.20 -
Chapitre 4

approche nécessite un montant excessif de ressources informatiques (plusieurs centaines d’équivalent


temps de simulation) et est donc limitée aux problèmes bien conditionnés et non contraints impliquant un
nombre faible de variables de décision.

Un moyen plus efficace de saisir les modèles de procédé avec les routines d’optimisation est une
approche modulaire simultanée. Quand cette technique est implémentée, une routine de programmation non
linéaire contrainte est appliquée pour simultanément optimiser la fonction objectif, vérifier les contraintes
d’égalités (spécifications) et d’inégalités, et faire converger toutes les variables de flux coupées (égalités
supplémentaires). Les algorithmes SQP ont montré leur succès dans cette application et l’optimalisation
peut généralement être effectuée avec un coût numérique acceptable (3 à 10 équivalents temps de
simulation).

La résolution basée sur des équations est une alternative à développer. Le modèle du procédé est
représenté par un large système d’équations impliquant des bilans de matière et d’énergie, des lois de
fonctionnement des courbes opératoires des équipements, des spécifications et des propriétés physiques si
possible. L’ensemble des équations est résolu comme un tout après un réarrangement possible. Les
dérivées des équations sont généralement disponibles. Appliquer des optimisations à grande échelle à ces
systèmes de modélisation ne requiert pas de modification importante de la structure de la routine : résoudre
un large ensemble d’équations ou les utiliser comme un ensemble de contraintes dans une optimalisation
nécessitant la même information.

L’approche par équation orientée conduit généralement à des calculs très efficaces, mais le
développement et l’utilisation de ces routines nécessitent plus d’expérience que l’approche modulaire. Pour
dire vrai, l'énoncé des équations du modèle et des contraintes peut être fort délicat : les équations doivent
être indépendantes. Une sélection impropre des variables indépendantes peut accroître la non-linéarité.
Certains phénomènes introduisent naturellement des discontinuités (changement de phase, transition d’un
écoulement laminaire à un écoulement turbulent, etc.), et peut même nécessiter de changer le nombre
d’équations. Certains modèles ne se transposent pas aisément en des systèmes d’équations algébriques
(par exemple, les équations différentielles dans les réacteurs où l’intégration numérique à pas variable peut
être nécessaire). Une mise à l’échelle des variables et des équations est très importante pour l’efficacité de
la solution : l’interaction de l’utilisateur pour suppléer l’application de facteurs d’échelle spécifiques est plus
efficace que les méthodes automatiques, mais requiert plus d’expérience. Des estimations initiales doivent
être données pour toutes les variables du modèle, les mauvais choix pouvant entraver la convergence.
Recourir à quelques séries d’élimination dans les équations du modèle peut être opportun pour
l’initialisation (ceci correspond en fait à la première itération qui utilise un calcul séquentiel modulaire).

L’approche modulaire simultanée semble prévaloir dans les logiciels commerciaux actuels puisqu’ils
sont plus faciles à programmer et à “débuguer” que les ensembles d’équations, et à comprendre pour
l’utilisateur. Mais les développements dans l’approche de la résolution d’équations va sûrement les rendre
plus efficaces et flexibles.

- 4.21 -
Chapitre 4

4.4.8 Applications

Les exemples d’applications de l’optimalisation en calcul des procédés sont nombreux.


L’optimalisation est employée en conception des installations pour dimensionner correctement les
équipements et faire attention à un compromis entre les investissements et les coûts opératoires. Elle peut
être aussi utilisée lors du fonctionnement d'une installation pour minimiser les matières premières et les
utilitaires pour une production donnée. Elle peut être exploitée en planification où les équipements et le
autres ressources doivent être allouées à plusieurs tâches compétitives. On peut aussi tirer profit de
l’optimisation en formulation d’un produit où la spécification de qualité doit être rencontrée à coût le plus
bas en mélangeant des produits intermédiaires.

4.4.8.1 Fonctionnement optimal d’un réacteur de synthèse d’ammoniac

Le réacteur de synthèse d’ammoniac est exothermique, limité à l’équilibre est favorisé par des
pressions élevées. La réaction a lieu sur un catalyseur solide et sa vitesse est extrêmement dépendante de la
température. Dans une conception de réacteur, le catalyseur est séparé en quatre lits. L’alimentation froide
est également divisée en quatre parts. La première est préchauffée par échange thermique avec l’effluent du
réacteur et doit atteindre une température suffisamment élevée pour que la réaction ait lieu à une vitesse
significative dans le premier lit. La vitesse de réaction décroît suite à l’approche de l’équilibre (la
conversion à l’équilibre est diminuée suite à l’élévation de la température). L’effluent du premier lit est
mélangé avec une alimentation fraîche. Le mélange résultant est plus froid et contient moins d’ammoniac :
ces deux facteurs permettent à davantage de réaction d’avoir lieu dans le second lit jusqu’à ce que la
conversion d’équilibre soit presque atteinte. Un processus d’injections similaire est répété après les
deuxième et troisième lits. L’effluent du dernier étage de réaction quitte le réacteur et préchauffe
l’alimentation du premier étage.

Réacteur de synthèse d’ammoniac : 4 lits catalytiques avec injections intermédiaires

- 4.22 -
Chapitre 4

Les variables continues qui apparaissent en exploitation optimale du modèle sont, pour une
composition d’alimentation donnée, le débit à l’entrée, la pression, la température, la température de
préchauffe et les fractions respectives d’alimentation admises à l’entrée de chacun des quatre lits
catalytiques. La fonction objectif est manifestement la production d’ammoniac et doit être maximisée.

Pour une conception optimale, le nombre de lits est une variable de décision importante. La
quantité de catalyseur à chaque étage est également une variable clé. Elle influera sur la taille du réacteur.
Le dimensionnement du réacteur (rapport de la longueur au diamètre et l’épaisseur des parois) sera
influencée par la quantité de catalyseur, la pression et la température. La géométrie du réacteur influencera
également la chute de pression et, ainsi, sur le coût de la recompression. L’économie de la boucle de
synthèse sera également affectée par le débit de purge et l’efficacité de la section de récupération de
l’ammoniac qui contrôlera la quantité d’inertes et d’ammoniac dans l’alimentation du réacteur. Mais ceci
implique un modélisation plus complète qui prend en compte beaucoup plus que le réacteur lui-même.

4.4.8.2 Distillation : compromis entre le reflux et la taille des colonnes

Pour élaborer une colonne, la décision fondamentale devra être le choix du nombre d’étages
d’équilibre de la colonne, de la pression de fonctionnement et du taux de reflux. Le premier facteur
affectera les investissements : après la sélection d’une technologie pour la configuration interne (colonne à
plateaux ou à garnissages), cela fixera la hauteur de la colonne. Le taux de reflux déterminera les charges
au bouilleur et au condenseur. Cela influera non seulement sur le besoin en utilitaires (vapeur, eau de
refroidissement), mais aussi sur les investissements à travers la dimension des équipements. Un plus grand
taux de reflux augmentera également le diamètre de la colonne. Un accroissement de la pression réduira le
diamètre de la colonne mais accroîtra la difficulté de la séparation. Toutes les décisions précédentes
influenceront la pureté du produit et sa récupération. Par conséquent, le problème peut être formulé comme
un problème contraint de programmation non-linéaire. Le nombre de plateaux est évidemment une variable
discrète, mais un modèle raccourci peut être résolu en utilisant un nombre d’étages non entier. L’étage
d’alimentation doit aussi être localisé de manière optimale et dépend de la composition de l’alimentation.

4.4.8.3 Fonctionnement d’un réseau vapeur

Pour les grandes installations, l’énergie est apportée aux différents procédés à travers un réseau
vapeur où des distributeurs offrent la vapeur à différents niveaux de pression. La vapeur est fournie par des
générateurs, mais est également fabriquée avec les calories excédentaires dans des bouilleurs à une vitesse
fixée par le niveau de production. La vapeur est utilisée pour chauffer, mais aussi dans des turbines où elle
produit du travail mécanique en se détendant. L’offre et la demande doivent être égalées à tous les niveaux
de pression soit en utilisant des turbines à contre-pression, soit en détendant de la vapeur haute pression
vers un niveau inférieur. Les moteurs électriques sont une alternative aux turbines à un coût unitaire de
l’énergie différent. Etant donné un niveau de production de tous les procédés, le travail mécanique et
l'apport des calories excédentaires peuvent être calculés. La fonction objectif à minimiser est le coût total

- 4.23 -
Chapitre 4

de l’électricité achetée et du fuel brûlé pour la génération de vapeur. Les contraintes sont le bilan vapeur à
chaque niveau de pression et les demandes en chaleur et énergie. Des équations de modélisation sont
disponibles pour les générateurs de vapeur, les vannes de laminage et les turbines. Les variables binaires de
décision sont affectées par chaque unité qui peut être mise en marche ou arrêtée : ainsi, l'optimaliseur aura à
décider quels sont les générateurs de vapeur à mettre en route et si le travail mécanique pour les différents
appareils sera apportée par un moteur électrique ou une turbine à vapeur.

Ce type de problème peut se résoudre par une méthode d’approximation à deux niveaux (“outer
approximation method”). Un ensemble initial de variables entières est choisi et le problème non-linéaire
résultant est résolu pour des valeurs constantes des variables entières sélectionnées (par exemple, en
utilisant la SQP). Les contraintes et la fonction objectif sont linéarisées autour de la solution sous-optimale
et la formulation résultante est résolue avec un algorithme MILP (par exemple, “branch & bounds”). Le
processus itératif est répété jusqu’à ce que l’ensemble des variables entières ne soit plus modifié par MILP
(“mixed-integer linear programming”). Si la fonction de coût linéarisée sous-estime le coût non-linéaire, la
solution NLP est utilisée comme un une limite supérieure dans la stratégie “branch & bounds” et tous les
solutions linéaires plus grandes peuvent être éliminées.

4.5 Quelques références utiles

D. M Himmelblau, « Applied Nonlinear Programming », McGraw-Hill Book Company (1972).

T.F. Edgar, D.M. Himmelblau, « Optimization of Chemical Processes », McGraw-Hill Book


Company (1988).

H.A. Taha, « Operations research, an introduction », Macmillan Publishing Co (1971).

Références supplémentaires

M.J.D. Powell, « An efficient method for finding the minimum of a function of several variables
without calculating derivatives », Computer Journal 7 :155 (1964) ; 303 (1965).

R.P. Brent, « Algorithms for Minimization Without Derivatives », Prentice-Hall, Englewood Cliffs,
New Jersey, 1973.

- 4.24 -
Chapitre 4

P.E. Gill, W. Murray, M.H. Wright, « Practical Optimization », Academic Press, NY (1981).

L.S. Lasdon, A.D. Warren, « Large scale nonlinear programming », Computers and Chemical
Engineering, 7(5) 595-604 (1983).
(ce sujet est entièrement dévolu à l’optimalisation à grande échelle et contient plusieurs bonnes
revues)

- 4.25 -
Chapitre 5

CHAPITRE 5
RECONCILIATION DES DONNEES : VALIDATION

5.1 Introduction

Les données d’un procédé sont le fondement sur lequel s’appuient tout contrôle et toute évaluation
de ses performances. La fiabilité des données est très importante lorsque celles-ci sont destinées au
monitoring du procédé (contrôle, identification, ligne d’optimalisation). Donc, préalablement à la simulation,
à l’optimalisation ou au revamping d’une grande usine, nous avons besoin de données cohérentes pour
représenter le procédé et en identifier correctement les paramètres.

La VALIDATION ou réconciliation des données est une tâche très importante qui transforme
l’ensemble des données disponibles en un set cohérent définissant l’état du procédé. Récemment, pour
assurer le contrôle des procédés, on a installé beaucoup d’ordinateurs digitaux dans les raffineries et les
complexes chimiques. Ainsi, on dispose à présent d’un grand nombre de données, rassemblées et stockées
sur ordinateur, qui peuvent être validées systématiquement au moyen d’un programme ad hoc, qui accroît
leur précision et assure leur cohérence.

5.1.1 Origine des erreurs de mesure

Les mesures d’un procédé ne sont jamais cohérentes. Les principales raisons sont reprises ci-
dessous :

• Il y a des perturbations dues à l’instabilité du procédé même si le système de contrôle est très efficace.
Certaines conditions (comme les conditions atmosphériques) ne peuvent être contrôlées.

• Les appareils de mesure ne sont pas toujours fiables. Il se peut que les biais instrumentaux ne soient pas
compensés de manière adéquate; les appareils de mesure peuvent mal fonctionner.

• Les lectures des mesures et les manipulations (analyses en laboratoires) peuvent introduire des erreurs.

• Le point expérimental peut être influencé par des éléments indésirables et la mesure ne correspond pas
à la variable attendue (mauvaise position d’un thermocouple, influence de la répartition du débit dans un
échangeur de chaleur, effet d’un condensât dans un flux de vapeur, saletés sur un appareil de mesure).

• Des accidents peuvent modifier les bilans attendus d’un procédé (pertes, éclatement d’un échangeur de
chaleur, pertes thermiques,...).

- 5.1 -
Chapitre 5

5.1.2 Définition de l’état d’un procédé

Définir l’état d’une installation industrielle nécessite de prendre beaucoup de mesures de variables
décrivant le système telles que la température, la pression, le débit, la composition, etc.

L’ingénieur sait très bien que, quand le nombre de mesures est inférieur à un seuil donné (que nous
appellerons nombre de spécifications), il n’est pas possible de définir l’état du système.

Au plus, l’ingénieur est-il alors capable de définir l’état d’un sous-système. Pour autant que ces
mesures soient choisies soigneusement et que leur nombre soit égal au nombre de spécifications, l’ingénieur
peut exploiter les équations de bilan matière et thermique pour calculer les autres variables du système.

Dans de telles circonstances, une erreur systématique de mesure, si minime soit-elle, peut biaiser,
parfois de manière considérable, les calculs des autres variables du système (c’est-à-dire y introduire de
grandes erreurs).

En conséquence, l’ingénieur est forcé de prendre des mesures supplémentaires pour augmenter le
niveau de confiance escompté pour le système.

Il notera alors qu’il n’est plus possible de satisfaire toutes les équations du système, et se reportera
à une technique personnelle d’analyse des mesures.

La méthode de réconciliation des données développée dans le logiciel BELSIM, aide à résoudre
ce problème considérable de manière univoque.

Pour valider les données, l’ingénieur doit définir, dans la Banque de Données du Procédé (BDP), le
procédé, les mesures et les estimations des écarts standard (erreurs) affectant chaque mesure. A cette fin, il
utilise le programme BIP (Belsim Interactive Program).

5.1.3 Illustration

Dans cet exemple, nous considérerons les variables de matière et thermiques; les équations prises
en compte seront respectivement les bilans de matière et thermique. Il n’est pas toujours nécessaire, ni
possible, d’envisager les deux simultanément : cela dépend des données disponibles et de leur précision.

Le mélange de deux flux contenant une substance pure est illustré à la figure 1. La température et la
pression des flux sont différentes. Le nombre de spécifications nécessaires pour définir explicitement l’état
du système est de 7.

- 5.2 -
Chapitre 5

T1 P1 D1

T3 P3 D3

T2 P2 D2

FIGURE 1

Variables :
température (T) 3
pression (P) 3
débit (D) 3
total 9

Equations :
bilan matière 1
bilan thermique 1
total 2

⇒ Nombre de degré de liberté = 9 variables - 7 équations = 7

Si on effectue moins de 7 mesures, il n’est pas possible de déterminer complètement l’état du


système.

1er cas : 6 variables sont mesurées : P1, P2, P3, T1, T2, D3.

Dans ce cas, il n’est pas possible d’en savoir plus sur le système.

2ème cas : 6 variables sont mesurées : P1, P2, P3, T1, D2, D3.

Il est désormais possible de calculer le débit D1, en utilisant l’équation de bilan matière. Un sous-système
(D1) des variables non mesurées est calculable. Les températures T2 et T3 ne sont pas calculables.

3ème cas : 7 variables sont mesurées : P1, P2, P3, T1, T2, T3, D1.

Elles valent : T1=300K, T2=410K, T3=310K, P1=P2=P3=1bar, D1=10kg/s.

A l’aide des équations de bilan matière et thermique, nous pouvons calculer les deux variables non
mesurées : D2 et D3. Le système est à présent complètement connu mais une erreur systématique dans la
mesure de la température T3 peut biaiser dans une large mesure la connaissance du système.

Supposons le Cp de la substance constant. Le tableau 1 nous fournit les valeurs calculées de D2 et


D3 pour différentes valeurs de T3.

- 5.3 -
Chapitre 5

Tableau 1
T3 (K) D2 (kg/s) D3 (kg/s)
310 1 11
305 0.48 10.48
315 1.58 11.58

Une erreur systématique de 5 degrés sur la mesure de T3 nous donnera une très mauvaise
évaluation de D2.

5.2 Bases Theoriques

Ce chapitre a pour but de nous fournir un aperçu, aussi clair que possible, des bases théoriques de
la validation. Il explique les techniques et le formalisme utilisés. Les variables utilisées sont explicitées, de
même que la notion d’équation de contrainte et d’équation de liaison. Vous apprendrez à analyser les
matrices ainsi que la méthode de résolution.

5.2.1 Définitions

5.2.1.1 Variables d’état

Les variables d’état sont des variables impliquées dans l’écriture des équations associées aux unités
physiques du procédé. Les équations concernées sont principalement les équations de bilan de matière et
de chaleur.

Dans le logiciel BELSIM, les équations sont exprimées en fonction des variables d’état suivantes :

• T : la température du mélange, si le flux matière est impliqué dans un bilan thermique.

• P : la pression du mélange, si elle joue un rôle dans le bilan thermique et si elle est considérée comme
telle; très souvent, il n’est pas possible de valider les mesures de pression et celles-ci sont considérées
constantes.

• Ci (i=1,nombre de substances) : le débit molaire partiel de la substance i dans le mélange (kmol/s).

• Uj (j=1,nombre de réactions) : degré d’avancement de la réaction j, si celle-ci intervient dans une unité
physique du système.

• FRA : la fraction d’arbre associée à un flux, pour autant que le flux ne contienne que la fraction d’un
seul arbre (dans la structure de données BELSIM, les débits molaires partiels associés à un flux matière
constituent un “arbre”) ; la variable FRA est effectivement utilisée lorsqu’un flux est divisé en plusieurs
autres de même composition : dans ce cas, les flux de sortie du diviseur auront le même arbre associé
que celui d’entrée, mais leur FRA sera inférieure à 1.

- 5.4 -
Chapitre 5

NOTE : La variable température est avantageusement remplacée par la variable enthalpie molaire
H lorsqu’on se trouve en présence d’un flux biphasique à une seule substance. Cette dernière définit
univoquement l’état thermodynamique d’un tel système.

Toutes les autres grandeurs (enthalpie, fraction molaire, fraction pondérale sur extrait sec, etc.)
peuvent toujours se déduire des variables d’état (pour autant que les méthodes thermodynamiques
décrivant le mélange soient définies).

L’état du système est connu une fois que les valeurs des variables d’état sont connues pour chaque
flux du système.

Le flow-sheet présenté à la figure 2 se compose de 4 unités physiques et de 9 flux. La liste des


variables d’état associées à chaque flux et à chaque arbre sont données au tableau 2. Pour spécifier la
conversion du CH4, la variable d’état du réacteur U1 est ajoutée.

MELANGEUR REACTEUR ECHANGEUR DIVISEUR


DE CHALEUR F4.3
F1
A1 CH4+2O2
F3 F4.1 F4.2
F2 A3 CO2+2H2O A4 F4.4
A2
F5.1 F5.2
FLUX
ARBRES A5 FIGURE 2

Tableau 2
Flux Variables Arbres Variables
F1 T,P A1 O2,N2
F2 T,P A2 CH4,N2
F3 T,P A3 O2,N2,CH4
F4.1 T,P A4 O2,N2,CH4,CO2,H2O
F4.2 T,P
F4.3 T,P,FRA
F4.4 T,P,FRA
F5.1 H,P A5 H2O
F5.2 H,P

5.2.1.2 Variables mesurées ou observées

Les éléments en question sont ceux mesurés dans l’usine. Chaque mesure est accompagnée d’une
estimation de l’écart standard de l’erreur de mesure, et est considéré comme une variable du système.

- 5.5 -
Chapitre 5

Certaines de ces variables sont déjà reprises comme variables d’état du système. Les autres,
appelées variables de liaison, sont reliées aux variables d’état par des équations spécifiques : les équations
de conversion ou équations de liaison. C’est par exemple le cas du débit molaire total DMOL qui est relié
aux débits molaires partiels par l’équation :
DMOL = ∑ C k
k

ou, de la fraction molaire FMk de la substance k :


FM k . ∑ Ci = Ck
i

Pour des applications spécifiques, l’ingénieur peut décider que certains éléments observés soient
considérés comme constants dans le problème de validation. Dans ce cas, les variables concernées sont
éliminées du système.

5.2.1.3 Equations de contrainte

Les équations de contrainte sont : les équations de bilan matière et d’énergie, les équations de
liaison, mais aussi des équations spéciales (équations d’équilibre liquide-vapeur, équations d’égalité de
pressions ou de températures, etc.).

Le mélangeur illustré à la figure 2 a deux flux d’entrée, dont les températures sont TF1 et TF2. Les
variables O2A1 et O2A2 sont les débits molaires partiels du premier flux d’entrée (arbre A1). Les variables
N2A2 et CH4 A2 représentent les débits molaires partiels du second flux d’entrée (arbre A2). Le premier
flux de sortie est caractérisé par la température TF3 et les débits molaires partiels O2A3, N2A3 et CH4 A3.
Les pressions sont considérées constantes.

Il faut écrire trois bilans de matière :

O2A1 - O2A3 = 0 pour la substance O2

N2A1 + N2A2 - N2A3 = 0 pour la substance N2

CH4 A2 - CH4 A3 = 0 pour la substance CH4

L’équation de bilan thermique se traduit par le bilan enthalpique :

h(TF1,O2A1,N2A1) + h(TF2,N2A2,CH4 A2) - h(TF3,O2A3,N2A3,CH4 A3) = 0


avec h = fonction calculant le débit enthalpique en fonction de la température et des débits molaires
partiels.

L’équation de liaison suivante doit être écrite si la fraction molaire de la substance O2 a été mesurée
dans le flux de sortie.

FMO2A3 . ( O2A3 + N2A3 + CH4 A3) - O2A3 = 0

- 5.6 -
Chapitre 5

Donc, les variables d’état du problème sont : TF1, TF2, TF3, O2A1, N2A1, N2A2, CH4 A2, O2A3,
N2A3, CH4 A3, tandis que FMO2A3 est une variable de liaison.

5.2.2 Position du problème

La technique de réconciliation se base sur l’hypothèse suivante. Toutes les mesures sont entachées
d’erreurs et les valeurs corrigées ou validées diffèrent des valeurs mesurées. D’une part, les valeurs
validées doivent vérifier les équations de contrainte, et, d’autre part, elles doivent minimiser la somme des
carrés des différences entre les valeurs validées et les valeurs mesurées.

Cela va sans dire que de pareilles différences sont pondérées par les écarts standard
correspondants.

D’un point de vue mathématique, ce problème est un problème de minimisation avec contraintes,
qui peut se définir de la manière suivante.

Soient :

y, le vecteur des valeurs mesurées, de taille MES ;

Y, le vecteur des valeurs corrigées ou validées ;

X, le vecteur des valeurs non mesurées à calculer, de taille NMES ;

F(X,Y), la fonction vectorielle d’équations de bilans, de taille NEQ ;

P, la matrice de pondération qui permet de quantifier la précision relative des mesures MES. En pratique,
c’est une matrice diagonale, dont chaque élément est l’inverse de la variance si2 de la mesure i.

Le problème revient à minimiser :


MES
(Y − yi )
2

sous la contrainte : F( X , Y) = 0 .

i

σi
2
i =1

En notation matricielle (l’exposant T signifie “transposé ”) :

Min ( Y − y) P ( Y − y) avec F( X, Y) = 0
T

X, Y

Ce problème de minimisation avec contraintes est résolu par la méthode de LAGRANGE en


faisant intervenir les “multiplicateurs de Lagrange ” pour chaque équation. Le critère s’écrit alors (le facteur
2 est introduit par souci de commodité, comme nous le verrons plus loin) :

Min L avec L = ( Y − y ) P (Y − y) + 2 λ F( X, Y)
T

X, Y, λ

- 5.7 -
Chapitre 5

La résolution des équations d’Euler fournit la solution du problème. Les équations d’Euler
s’écrivent :
δL
=0 i=1,MES
δY i
δL
=0 i=1,NMES
δX i
δL
=0 i=1,NEQ
δλ i

Les matrices jacobiennes des variables mesurées et des variables non mesurées du système sont :
δF i δF i
Α ij = Βij =
δY j δX j

On obtient le système suivant d’équations :

(Y − y) T
P + λT A = 0 MES équations

λT B = 0 NMES équations

F( X , Y) = 0 NEQ équations

à savoir un système de MES+NMES+NEQ équations non linéaires à MES+NMES+NEQ inconnues.


Une étape nécessaire à toutes les méthodes de résolution conçues jusqu’à ce jour consiste à évaluer la
matrice jacobienne totale de ce système d’équations qui s’écrit, si on néglige la dépendance de A et de B
vis-à-vis de Y et X :
P 0 AT  MES lignes
 
J = 0 0 BT  NMES lignes
A B 0  NEQ lignes

Considérons la validation des mesures de débit autour du mélangeur de la figure 2. Les valeurs des
mesures et les écarts standard qui leur sont associés sont donnés dans le tableau 3.

Tableau 3
Variables Mesures Ecart. Std.
Y1 O2A1 1 0.01
Y2 N2A1 2 0.01
Y3 N2A2 1 0.01
Y4 CH4 A2 4 0.01
Y5 FMO2A3 0.2 0.01
X1 O2A3 - -

- 5.8 -
Chapitre 5

X2 N2A3 - -
X3 CH4 A3 - -

 ( Y1 − 1) 2 ( Y2 − 2 ) 2 ( Y3 − 3) 2 ( Y4 − 4) 2 ( Y5 − 0.2) 2 
MIN  2 + 2 + 2 + 2 + 2 
X, Y  0.01 0. 01 0.01 0.01 0 .01 
sous les contraintes
Y1 − X1 = 0 Y2 + Y3 − X2 = 0 Y4 − X3 = 0 Y5∗ ( X1 + X2 + X3) − X1 = 0

1 0 0 0 0  − 1 0 0
0 1 1 0 0   0 −1 0 
A= B=  
0 0 0 1 0  0 0 − 1

0 0 0 0 ∑ X i  
Y5 Y5 Y5

5.2.3 Existence d’une solution

En observant les équations de contrainte, nous constatons que :

1. Le système accepte un nombre infini de solutions si le nombre de variables non mesurées est supérieur
au nombre d’équations de contrainte (NMES>NEQ). Dans ce cas particulier, la matrice B est
rectangulaire et horizontale (plus de colonnes que de lignes) et la matrice jacobienne est singulière,
puisque les lignes MES+1 à MES+NMES sont systématiquement linéairement dépendantes. Le
système n’est pas soluble.

2. Si le nombre de variables non mesurées est égal au nombre d’équations de contrainte (NMES=NEQ),
la solution du problème est obtenue en considérant les mesures comme des constantes et en calculant
les variables non mesurées à l’aide des équations de contrainte. On dira que le système est juste
calculable car il n’y a pas assez d’équations pour corriger les mesures. La matrice B est carrée.

3. Si le nombre de variables non mesurées est inférieur au nombre d’équations de contrainte


(NMES<NEQ), le système admet une solution unique. Les équations de contrainte sont non seulement
utilisées pou calculer les variables non mesurées, mais aussi pour réconcilier les mesures. La matrice B
est rectangulaire verticale (plus de lignes que de colonnes).

On peut déjà affirmer qu’il faut, pour qu’il y ait une solution, que la matrice B ne soit pas
rectangulaire horizontale. En fait, il faut que la matrice jacobienne globale ne soit pas singulière, ce qui
arrive par exemple,

• si les équations de contrainte sont linéairement dépendantes,

• si les mesures sont mal réparties et que certaines parties du procédé restent indéterminées,

• si les variables rendues constantes sont mal choisies et créent des surspécifications.

- 5.9 -
Chapitre 5

Dans la majorité des cas, une analyse soignée de la matrice d’incidence du système permet de
détecter ces problèmes préalablement à la résolution. (La matrice d’incidence d’un système d’équations est
la matrice dont les éléments "ij" valent 1 si la variable "j" intervient dans l’équation "i", 0 sinon).

La matrice d’occurrence des variables mesurées et non mesurées du mélangeur (figure 2, tableau
3) est :
1 0 0 0 0 1 0 0
0 1 1 0 0 0 1 0
AB =  
0 0 0 1 0 0 0 1
 
0 0 0 0 1 1 1 1

ATTENTION : même si cette analyse est satisfaisante, le système d’équations, les points de départ et les
valeurs mesurées peuvent être tels que le programme ne converge pas vers une solution,
soit que celle-ci se trouve en dehors du domaine admissible (défini par les intervalles de
variation physique des variables : températures et débits positifs,...), soit que le système
devienne localement singulier en cours d’itérations. Ce type de problème est explicité
avec plus de détails au chapitre traitant des problèmes de convergence.

5.2.4 Analyse des matrices d’occurence

5.2.4.1 Validité des équations de contrainte

Il est évident que l’analyse d’un système d’équations au moyen de sa matrice d’incidence est
délicate. En effet, deux équations identiques apparaîtront comme deux équations faisant intervenir les même
variables et non comme une erreur.

De même, un sous-ensemble d’équations linéairement dépendantes ne saurait être mis en évidence


dans une matrice d’incidence. Les chances de rencontrer de telles singularités sont pour la plupart éliminées
si les équations sont générées automatiquement par le programme. La vérification, aisée, de certaines
conditions élimine la génération d’erreurs dans les équations. Par exemple, chaque flux ne peut être
connecté à plus de deux unités physiques; il est nécessaire d’avoir au moins un flux d’entrée et un flux de
sortie.

5.2.4.2 Y a-t-il assez de mesures?

Après génération des mesures et des équations de liaison, les variables sont réparties en trois
catégories :

• les variables spécifiées constantes (appelées également constantes),

• les variables mesurées,

- 5.10 -
Chapitre 5

• les variables non mesurées.

Pour déterminer si les mesures permettent, au moins, de déterminer l’état du système, on analyse la
matrice d’incidence “équations-variables non mesurées” correspondant à la matrice B. La technique de
détection consiste à mettre en évidence, par permutation des lignes et des colonnes, un sous-système S2
contenant une sous-matrice B2' et une sous-matrice horizontale B2" (figure 3). La sous-matrice B2" est
horizontale. Il n’y a pas assez d’équations contenant les variables non mesurées relatives à la matrice B2".
Dès lors, les variables non mesurées relatives à B2" ne peuvent être déterminées (elles interviennent dans
trop peu d’équations).

Pour rendre le système calculable, une mesure supplémentaire doit être choisie parmi les variables
de la sous-matrice B2". Cette variable sera ajoutée à l’ensemble des variables mesurées et la colonne
correspondante de la sous-matrice B2" sera éliminée.

Lorsqu’une mesure est choisie, on procède de nouveau à la recherche d’un sous-système non
calculable.

Variables non mesurées

S1
Equations

B1 0 sous-système validable
S1

(B1 vertical)

S2=B2'+B2''
B2'
S2

B2'' sous-système incalculable


(B2'' mat. horizontale)

variables candidates FIGURE 3

5.2.4.3 Les mesures sont-elles validables?

Considérons maintenant que nous avons effectué un nombre de mesures supplémentaires suffisant
pour que la résolution soit possible (redondance positive ou nulle).

Analysons de nouveau la matrice d’incidence et permutons lignes et colonnes, ou vice et versa, en


essayant d’isoler un sous-système d’équations S2 contenant une sous-matrice B2' et une sous-matrice
carrée B2" (figure 4).

Les variables non mesurées associées à la matrice B2" sont juste calculables puisqu’il y a juste
assez d’équations pour les calculer.

- 5.11 -
Chapitre 5

Variables non mesurées

S1
sous-système validable
S1
B1 0
Equations

(B1 vertical)

S2=B2'+B2''
S2

B2' B2''
sous-sytème juste calculable
(B2'' matrice carrée)

variables juste calculables FIGURE 4

Examinons maintenant la matrice d’incidence globale correspondante “équations-variables


mesurées et non mesurées” et tassons à gauche les colonnes des variables mesurées intervenant dans les
équations du sous-système S1 (figure 5).

Les variables mesurées restantes ne sont pas validables car leurs valeurs peuvent être fixées
arbitrairement à leurs valeurs mesurées : aucune équation ne permet de les corriger.

Variables Variables
mesurées non mesurées

S1
A1 0 B1 0
S1

sous-système validable
Equations

(B1 mat. verticale)

S2
A2' A2'' B2' B2'' sous-système juste calculable
S2

(B2'' mat. carrée)

variables variables juste


invalidables calculables FIGURE 5

Exemple

La figure 6 présente un procédé contenant trois unités. Les trois substances sont séparées dans
l’unité A avant d’entrer dans un réacteur B; l’unité C sépare les produits de la réaction. Dans ce cas, nous

- 5.12 -
Chapitre 5

considérons qu’il n’y a pas assez de mesures autour des unités A et C. Nous ne générons alors que le bilan
thermique du réacteur B alors que les bilans de matière sont générés pour toutes les unités.

F5
3 substances : a, b, c

F3 REACTEUR F4
C
B
a+b -> c
F1 F6
A

F2
FIGURE 6

La figure 7 montre la matrice d’occurrence correspondant au flow-sheet de la figure 6.


F1

F2

F3

F4

F5

F6

F3
F4
U B

T
T
a
b

a
b

a
b

a
b

a
b

a
b
c

c
a X X X
Bilan Matière A b X X X
c X X X
a X X X
Bilan Matière B b X X X
c X X X
Bilan Thermique B X X X X X X X X
a X X X
Bilan Matière C b X X X
c X X X

FIGURE 7

- 5.13 -
Chapitre 5

VARIABLES MESUREES VARIABLES NON MESUREES

F3
F4
F3
F4
F4
F4
F6
F5
F5

F1

F3

F4

F2

F5

F6
B
DMOL
DMOL
FMa
FMa
FMb

FMa
FMb

U
T
T

a
b

a
b

a
b

a
b

a
b

a
b
c

c
Fract.Mol F3 a X X X X
Fract.Mol F4 a X X X X
Fract.Mol F4 b X X X X
Déb.Mol.Tot. F4 X X X X
a X X X
Bilan Therm. B b X X X
c X X X
Bilan Therm. B X X X X X X X X
a X X X
Bilan Therm. A b X X X
c X X X
a X X
Bilan Therm. C b X X
c X X
Déb.Mol.Tot. F6 X X X X
Fract.Mol F5 a X X X X
Fract.Mol F5 b X X X X

FIGURE 8

La figure 8 montre très clairement les mesures non validables quand les variables mesurées sont :

• la température des flux F4 et F5,

• le débit molaire total des flux F4 et F6,

• la fraction molaire de la substance "a" dans les flux F3, F4 et F5,

• la fraction molaire de la substance "b" dans les flux F4 et F5,

• les débits molaires partiels des substances "a", "b" et "c" dans le flux F1.

5.2.4.4 N’a-t-on pas introduit des surspécifications?

Considérons maintenant que nous avons un système dont la résolution semble possible
(redondance positive ou nulle) et dans lequel nous avons introduit des constantes en associant à certaines
mesures un écart standard très petit.

Lors de la résolution, les variables correspondant à ces mesures seront ignorées et considérées
comme de réelles constantes. Toutefois, l’utilisateur a peut-être mal choisi ces constantes et surspécifié le
problème.

Analysons la matrice d’incidence “équations-variables” et permutons lignes et colonnes pour isoler


un sous-système d’équations S1 (figure 9) dont la matrice est verticale. Les variables associées à cette
matrice sont surspécifiées puisqu’il y a trop d’équations pour les calculer.

- 5.14 -
Chapitre 5

Variables mesurées et
non mesurées

S1
sous-système singulier
S1 AB1 0 (AB1 mat. verticale)
Equations

surspécifié
S2

AB2' AB2''
FIGURE 9

Examinons la matrice d’incidence globale correspondante “équations - variables + constantes” et


tassons à gauche les colonnes des constantes intervenant dans les équations du sous-système S1 (figure
10). Les constantes à rendre variables devront être choisies parmi ces colonnes.
Variables mesurées Constantes
et non mesurées

S1
S1

AB1 0 sous-système singulier


Equations

(AB1 mat. verticale)


surspécifié
S2

AB2' AB2''

constantes candidates FIGURE 10

5.2.4.5 Recherche des redondances triviales

Analysons la matrice d’incidence “équations-variables” et permutons lignes et colonnes pour isoler


un sous-système d’équations S1 (figure 11) dont la matrice est carrée.

- 5.15 -
Chapitre 5

Variables mesurées et
non-mesurées

S1
0
S1
B1 sous-système juste calculable
Equations

(B1 matrice carrée)

B2' B2''
S2

variables juste calculables FIGURE 11

Les variables associées à cette matrice sont juste calculables puisqu’il y a juste assez d’équations
pour les calculer.

Si parmi ces variables figurent des variables mesurées, leurs valeurs calculées sont tout à fait
indépendantes des valeurs mesurées et ces mesures ne servent à rien. Nous dirons qu’elles génèrent des
redondances triviales.

5.2.4.6 Dépendance linéaire dans un sous-système

Lorsqu’une partie du flow-sheet génère un sous-système juste calculable (sous-matrice carrée, voir
figure 4), des variables non mesurées, apparemment juste calculables, peuvent être indéterminables.

C’est le cas des boucles dans lesquelles aucune mesure n’est donnée mais pour lesquelles il est
nécessaire de mesurer un débit de matière ou thermique pour évaluer ce qui “tourne” dans la boucle. Une
boucle est identifiée lorsqu’une suite de flux non orientés forme une boucle. C’est le cas des recyclages
mais également lorsqu’un mélange est effectué sur des flux préalablement séparés.

Mathématiquement, la matrice carrée est numériquement singulière, ce qui ne peut se détecter par
l’analyse des matrices d’incidence. Cette singularité pourrait être mise en évidence en transformant
l’équation de bilan d’une des unités de la boucle en un bilan global autour de toutes les unités de la boucle.

Exemple

- 5.16 -
Chapitre 5

y1 x1 y2
A B
x2
x3

C y3
FIGURE 12

Débits mesurés y1, y2, y3


Débits non mesurés x1, x2, x3
Equations de bilan de matière
- pour l’unité A y1 - x1 - x2 = 0
- pour l’unité B x1 + x3 - y2 = 0
- pour l’unité C x2 - x3 - y3 = 0

Matrices jacobiennes :
1 0 0 − 1 − 1 0 
   
A = 0 − 1 0  B= 1 0 1
0 0 − 1  0 1 − 1

La matrice d’occurrence “équations-variables non mesurées” (matrice B) n’est de toute évidence


pas singulière mais elle est numériquement singulière. En effet, une matrice d’occurrence singulière est
obtenue en remplaçant l’équation de bilan matière de l’unité C par l’équation de bilan matière global.

Equation de bilan matière global : y1-y2-y3=0

Matrices jacobiennes :
1 0 0 − 1 − 1 0
   
A = 0 − 1 0  B=  1 0 1
1 − 1 − 1  0 0 0

Une autre méthode serait de séparer la matrice carrée en blocs triangulaires et de vérifier, pour
chacun d’eux, que toutes les variables et les équations d’un bloc donné ne se rapportent pas un une
“boucle” : ce problème a été résolu pour un recyclage de matière. Toutefois, il faut remarquer que détecter
de telles singularités devient une tâche très difficile quand on est confronté à un recyclage de chaleur et de
matière.

- 5.17 -
Chapitre 5

Le flow-sheet de la figure 13 met en évidence un cas d’indétermination matérielle et thermique. La


singularité est localisée dans le bloc carré du coin droit de la figure 14. Sans nul doute, l’analyse d’un tel
système exige une certaine expérience en validation de flow-sheets.

F6' F6 F5' F5
R2 R1
A6 A5
a+b->c a+b->c

F2 F2'

F1 F4
A1 ECH1
F3 F3'
DIV MEL
3 SUBSTANCES a b c ECH2
10 FLUX 1 2 2' 3 3' 4 5 5' 6 6'
3 ARBRES 1 5 6 FIGURE 13

VARIABLES MESUREES VARIABLES NON MESUREES


A5

A6
R1

R2
F5'

F6'

F2'
F3'
F1

F1
F4
F5

F6

F2
F3
F2
F3
Fr
Fr
U

U
T
T
T
T
T
T

T
T

T
T
a
b

a
b

a
b
c

a X X X
R1 Bilan Matière b X X X
c X X X
R1 Bilan Therm. X X X X X X X X
a X X X
R2 Bilan Matière b X X X
c X X X
R2 Bilan Therm. X X X X X X X X
Bilan Therm. 1 X X
DIV Bilan Therm. 2 X X
Bilan Matière X X
ECH1 Bilan Therm. X X X X X X X X X X X
ECH2 Bilan Therm. X X X X X X X X X X X
MEL Bilan Therm. X X X X X X X X

FIGURE 14

5.2.5 Méthode numérique utilisée

Le système est résolu par une méthode DOGLEG. Ceci implique que la correction faite dans
l’évaluation courante de la solution est une combinaison de la correction de Newton et de la direction de la
plus grande pente pour la somme des carrés des résidus des systèmes d’équations.

- 5.18 -
Chapitre 5

Sans entrer dans les détails, on peut dire que le passage vers la direction de la plus grande pente
est d’autant plus important que la réduction de la somme des carrés des résidus dans la direction de
Newton est petite, quand celle-ci n’est pas totalement nulle.

Le calcul de la matrice jacobienne nécessaire pour déterminer ces directions est en partie
numérique et en partie analytique. Pour épargner du temps de calcul, cette matrice n’est pas calculée à
chaque itération mais selon une fréquence choisie. Son calcul dépend aussi de la vitesse à laquelle on
s’approche de la solution. La matrice est emmagasinée dans la mémoire à l’aide d’une technique de
stockage pour les matrices éparses. Seuls les éléments de la matrice différents de zéro sont stockés.

Nous vous rappelons ici que nous négligeons les dérivées secondes des contraintes par rapport aux
variables mesurées et aux variables non mesurées. Si le nouveau point proposé par la méthode se trouve à
l’extérieur du domaine de validité (températures et débits positifs), le programme ramène le point à
l’intérieur du domaine de validité en relaxant le pas proposé.

Selon le cas, toutes les variables sont sujettes à la relaxation, ou seulement celles qui violent les
contraintes physiques.

Dans presque tous les cas, la non-convergence est à attribuer à la mauvaise qualité des mesures, ou
à un manque de mesures qui n’a pas été détecté dans les analyses d’occurrence.

5.3 Analyse de la sensibilité

5.3.1 Introduction

Nous avons vu que le problème de la validation peut s’exprimer comme un problème de


minimisation contraint. Les développements ultérieurs supposent que les contraintes sont linéaires ou bien
qu’elles ont été linéarisées :

min ( Y − y) P ( Y − y)
T

X, Y
sous la contrainte AY + BX + C = 0

Nous avons également vu que le problème avec contraintes peut être transformé en un problème
non contraint en utilisant la formulation de Lagrange :

min L = (Y − y) P (Y − y) + 2 λT ( AY + BX + C)
T

X, Y, λ

Nous obtenons ainsi le système d’équations suivant :

- 5.19 -
Chapitre 5

PY + AT λ = Py
BT λ =0
A Y + BX = −C

On peut donc définir une matrice carrée M et des vecteurs V et D tels que :
P 0 AT  Y  Py
     
M = 0 0 BT  V = X D= 0 
A B 0   λ   − C

De cette manière, la solution du problème de validation s’écrit :


V = M −1 D

5.3.2 La matrice de sensibilité

La matrice M −1 est la matrice de sensibilité du système. On remarque que les vecteurs X et Y sont
des combinaisons linéaires des valeurs mesurées y. La matrice de sensibilité nous permet donc d’évaluer de
quelle manière la valeur validée d’une variable dépend de l’ensemble des variables mesurées et de leurs
écarts standards.

En particulier :
m+ n + p

Yi = ∑ (M )
j =1
−1
ij
Dj
m p

= ∑ ( M −1 ) ij Pjj y j − ∑ ( M −1 ) i n + m+ k
Ck
j=1 k =1

m + n+ p

Xi = ∑ (M )
j=1
−1
n+ i j
Dj
m p

= ∑ ( M −1 ) n +i j P jj y j − ∑ ( M −1 ) n+ i n+ m + k
Ck
j =1 k =1

La variance d’une combinaison linéaire Z de plusieurs variables X j est calculée de la manière


suivante :
m
Z = ∑ a j Xj
j =1

( )
m
var ( Z) = ∑ a 2j var X j
j =1

Nous obtenons donc l’estimation suivante pour la variance des variables mesurées validées :

- 5.20 -
Chapitre 5

{ } var(y )
m
var (Yi ) = ∑ ( M −1 ) ij Pjj
2

j
j=1

et pour la variance des variables non mesurées et estimées :

{ } ( )
m
var ( Xi ) = ∑ ( M −1 ) n+ i j Pjj
2
var y j
j =1

Les expressions précédentes peuvent être simplifiées en tenant compte de :

( )
var y j = 1 P
jj

et donc :

m (M ) −1 2

var (Yi ) = ∑ var y ij

j =1 ( ) j

m (M ) −1 2

var ( X i ) = ∑
n +i j

j=1 ( )
var y j

5.3.3 Illustration

Considérons un flowsheet simplifié d’une boucle de synthèse d’ammoniac (figure 1). La pression
dans le réacteur passe de 280 à 270 bar et est compensée par le compresseur de recyclage. Nous
supposerons qu’il n’y a aucune autre perte de charge dans le système. Les mesures sont inscrites sur le
flowsheet.
PURGE
T=20°C T=20°C
RECYC
F=63 t/h F=3.2t/h
0.2% CH4
FV 4.8% Ar
7.2% NH3
64.4% H2
23.4% N2
Q3
T=540°C FLV

RCTOUT T=19°C

T=25°C FL F=12.5 t/h


F05 0.3% CH4 0.1% CH4
F06 Q2
3.7% Ar 0.3% Ar
T=40°C 5.4% NH3 97.8% NH3
T=30°C 1.3% H2
W3 T=378°C 67.1% H2
W=330 kW F=77 t/h 23.5% N2 0.5% N2
F07 RCTIN

Figure 1 : Flowsheet simplifié d’une boucle de synthèse d’ammoniac

Tableau 4 : résultats de la réconciliation des données


MEASURED STD.DEV RECON.VAL. DIFF(%) PENALTY
STREAM F05 T C 40.000 2.0000 ABS 40.229 .572 .013

- 5.21 -
Chapitre 5

STREAM F05 P bar CONSTANT 270.00


STREAM F06 T C 25.000 2.0000 ABS 24.631 -1.475 .034
STREAM F06 P bar CONSTANT 270.00
STREAM F07 T C 30.000 2.0000 ABS 29.309 -2.303 .119
STREAM F07 P bar CONSTANT 280.00
STREAM FLV T C 19.000 2.0000 ABS 20.435 7.552 .515
STREAM FLV P bar CONSTANT 269.00
STREAM PURGE T C 20.000 2.0000 ABS 20.544 2.721 .074
STREAM PURGE MASSF t/h 3.2000 10.000 % 3.2091 .286 .001
STREAM RCTIN T C 378.00 5.0000 ABS 375.64 -.624 .223
STREAM RCTIN P bar CONSTANT 280.00
STREAM RCTOUT T C 540.00 5.0000 ABS 542.35 .436 .222
STREAM RCTOUT P bar CONSTANT 270.00
STREAM RECYC T C 20.000 2.0000 ABS 20.544 2.721 .074
STREAM RECYC MASSF t/h 63.000 10.000 % 63.879 1.394 .019
STREAM W3 POWER kW 330.00 30.000 ABS 332.28 .692 .006
MIXTURE FL MASSF t/h 12.500 5.0000 % 12.165 -2.681 .288
MIXTURE FL MFCH4 % .10000 .10000 ABS .18949E- -81.051 .657
MIXTURE FL MFAR % .30000 .10000 ABS .17703 -40.990 1.512
MIXTURE FL MFNH3 % 97.800 1.0000 ABS 98.005 .209 .042
MIXTURE FL MFH2 % 1.3000 .10000 ABS 1.2784 -1.664 .047
MIXTURE FL MFN2 % .50000 .10000 ABS .52113 4.227 .045
MIXTURE FV MFCH4 % .20000 .10000 ABS .27156 35.780 .512
MIXTURE FV MFAR % 4.8000 .30000 ABS 4.7121 -1.831 .086
MIXTURE FV MFNH3 % 7.2000 .30000 ABS 6.9320 -3.723 .798
MIXTURE FV MFH2 % 64.400 1.0000 ABS 64.871 .731 .221
MIXTURE FV MFN2 % 23.400 1.0000 ABS 23.214 -.796 .035
MIXTURE RCTIN MASSF t/h 77.000 10.000 % 79.253 2.925 .086
MIXTURE RCTIN MFH2 % 67.100 1.0000 ABS 66.849 -.374 .063
MIXTURE RCTIN MFCH4 % .30000 .10000 ABS .22207 -25.978 .607
MIXTURE RCTIN MFAR % 3.7000 .30000 ABS 3.8389 3.755 .214
MIXTURE RCTIN MFNH3 % 5.4000 .30000 ABS 5.5084 2.007 .130
MIXTURE RCTIN MFN2 % 23.500 1.0000 ABS 23.582 .348 .007

L’écart standard est fixé à 10% de valeurs mesurées pour les débits gazeux et à 5% pour les
produits liquides. On prend σ = 2°C pour les températures en-dessous de 100°C et 5°C au-dessus. Pour
la puissance au compresseur, on prend σ = 30kW. L’écart standard est pris égal à 0.1 %mol pour les
fractions molaires en-dessous de 2%, 1 %mol au-dessus de 20% et 0.3 %mol autrement. Le problème de
réconciliation comprend 28 mesures, 33 variables d’état non mesurées, 50 équations de contraintes et
donc 17 redondances. Dix variables sont considérées constantes (toutes les pressions). Les mesures
semblent être acceptables puisqu’aucune n’est corrigée par plus de deux fois l’écart standard lui
correspondant, comme montré dans les résultats (tableau 1).

La connaissance de la variance des variables validées nous permet de détecter les importances
respectives de chacune des mesures pour le problème d’identification de l’état d’un système. En particulier,
certaines mesures peuvent apparaître comme ayant peu d’influence sur le résultat, et peuvent donc être
enlevées de l’analyse. Inversement, d’autres mesures peuvent avoir un impact bien plus important sur les
variables validées et sur leurs variances : ces mesures devront être prises et manipulées avec une attention
toute particulière et il peut s’avérer utile de multiplier les capteurs qui leur correspondent.

Le module d’analyse de la sensibilité génère deux types de rapport. Le premier type contient pour
chaque mesure la valeur mesurée et la valeur validée, l’écart standard supposé (Abs.Acc.) et celui estimé a

- 5.22 -
Chapitre 5

posteriori (Rel.Acc.). Toutes les variables d’état dépendant d’une mesure donnée sont également listées,
avec leur facteur de pondération (Contrib.) indiquant la contribution de la variance de la mesure à la
variance de la valeur validée. Le second type de rapport contient la même information mais triée par
variable d’état : pour chaque variable, on obtient la liste des mesures les plus importantes utilisées pour
estimer sa valeur.

L’exemple suivant illustre le contenu du premier type de rapport. Les informations listées sont
relatives à la mesure de la fraction molaire d’ammoniac dans le flux FL, identifié par son “tag name”
FL1_MFNH3. Cette valeur a été corrigée de 97.800 %mol à 98.005 %mol. La déviation standard de
cette valeur validée est 0.121 %mol (0.12% de la valeur validée), significativement plus faible que la
déviation standard sur la mesure qui est de 1 %mol (1.02% de la valeur expérimentale). Cette mesure
contribue faiblement (presque négligemment) à l’estimation des valeurs validées de 2 autres variables d’état
mesurées. Etonnamment, la variance de la fraction molaire d’ammoniac dans le flux FL est presque
indépendante de la mesure correspondante (à peine 1.48% de contribution).

Measurement Tag Name Value Abs.Acc. Rel.Acc. P.U.


MFNH3 M FL Reconciled 98.005 .12151 .12% %
FL1_MFNH3 97.800 1.0000 1.02% %
Variable Tag Name Contrib. Der.Val. Der.Acc. P.U.
MFNH3 M FL FL1_MFNH3 1.48% .14765E-01 .60394E-02 %
MFH2 M FL FL1_MFH2 1.45% -.97726E-02 -.39974E-02 %

La colonne “Contrib” contient la contribution de la variance de la mesure k dans l’estimation de la


variance de la variable d’état validée i, ce qui peut s’écrire :
 var (Y ) var( y ) 
Contrib ki = 
i k 

 ( M ) ik 
−1 2

Dans le tableau, on indique également le coefficient de sensibilité reliant la valeur validée de la


variable à la valeur mesurée et à la déviation standard.
 dY   dY 
DerVal ki =  k  DerAcc ki =  k 
 dy i   dσ i 

L’examen du rapport montre qu’aucune variable clé n’est significativement influencée par les
mesures de la composition du condensat, puisque la contribution de ces mesures à la variance des valeurs
validées est plus petite que 10%. On peut en conclure que ces mesures de composition n’apportent que
peu d’informations. Il est vraisemblable que le coût des mesures ne se justifie pas, en comparaison de la
petite vérification permise par la réconciliation des données. Pour vérifier ceci, on peut se référer au
deuxième type de rapport de sensibilité, qui montre comment chaque variable d’état a été validée. Le
rapport contient des entrées séparées pour chaque variable d’état, comme illustré ci-dessous pour la
fraction molaire partielle de l’azote dans le flux FL :

- 5.23 -
Chapitre 5

Variable Tag Name Value Abs.Acc. Rel.Acc. P.U.


MFN2 M FL Reconciled .52113 .32165E-01 6.17% %
FL1_MFN2 .50000 .10000 20.00% %
Measurement Tag Name Contrib. Der.Val. Der.Acc. P.U.
MFH2 M FL FL1_MFH2 53.34% .23492 -.10165 %
MFN2 M FL FL1_MFN2 10.35% .10346 .43732E-01 %
T S RECYC RECYC_T 6.69% .41586E-02 .22633E-02 C
T S PURGE PURGE_T 6.69% .41586E-02 .22633E-02 C
MFN2 M FV FV1_MFN2 5.09% .72550E-02 -.27015E-02 %
MFNH3 M FV FV1_MFNH3 4.19% -.21951E-01 .39223E-01 %

La première ligne de ce tableau identifie la variable (fraction molaire de N2 dans le flux FL), le “tag
name” de la mesure correspondante, la valeur validée et sa déviation standard, enfin les unités de la
variable. La valeur mesurée et sa déviation standard sont indiquées à la ligne suivante pour comparaison :
l’incertitude a été diminuée d’un facteur 3. Les lignes suivantes montrent quelles sont les mesures les plus
importantes utilisées pour estimer la variable sélectionnée.

Après la suppression de 5 mesures de composition pour le flux FL, la redondance est réduite à 12.
L’utilisation du programme de validation démontre cependant que les variables validées ne sont pas
influencée significativement par cette modification. Ceci peut également être illustré d’une autre manière :
quand la validation est réalisée après l’ajout de bruit aux mesures de composition du flux FL, l’état du
procédé n’est point affecté et les variables perturbées sont correctement ramenée à leurs valeurs
“normales” de validation. Cet exemple nous permet de conclure que les coûts d’échantillonnages et
d’analyse peuvent être réduits en supprimant toutes les mesures “inefficaces”, tout en se concentrant sur
l’amélioration des autres mesures.

Les variables non mesurées sont également dans le rapport de sensibilité, comme indiqué ci-
dessous pour l’avancement de réaction :

Variable Tag Name Value Abs.Acc. Rel.Acc. P.U.


EXTENT1 U REAC Computed .98972E-01 .41401E-02 4.18% kmol/s
Measurement Tag Name Contrib. Der.Val. Der.Acc. P.U.
MASSF M FL FL1_MASSF 35.87% .39674E-02 -.42549E-02 t/h
T S RCTIN RCTIN_T 14.91% -.31975E-03 .30170E-03 C
T S RCTOUT RCTOUT_T 14.84% .31903E-03 .30034E-03 C
MFNH3 M RCTIN RCTIN_MFNH3 7.86% -.38688E-02 -.27949E-02 %
MASSF M RCTIN Average 6.78% .19795E-03 .16379E-03 t/h
F06_MASSF 50.00% .98977E-04 .57909E-04 t/h
RCTIN_MASSF 50.00% .98977E-04 .57907E-04 t/h
T S F07 F07_T 5.24% -.47368E-03 .32725E-03 C

La première ligne de ce tableau identifie la variable (paramètre EXTENT dans l’unité REAC).
Puisque cette variable n’est pas directement mesurée, elle n’a pas de “tag name”. Il apparaît que la plus
importante mesure est le débit de condensat (qui est effectivement étroitement lié à la production
d’ammoniac dans le réacteur). Les températures d’entrée et de sortie, combinée au débit massique dans le
réacteur , contribuent à l’estimation de ce paramètre (ils sont liés à la conversion par le bilan énergétique).
Les autres variables jouent un rôle moins évident. On peut remarquer que la mesure du débit massique

- 5.24 -
Chapitre 5

d’entrée du réacteur est en fait une moyenne pondérée de deux valeurs différentes reliées aux flux F06 et
RCTIN.

L’analyse de sensibilité identifie correctement les variables qui sont liés par des contraintes, et sont
en fait des occurrences multiples de la même variable d’état, comme T pour les flux FL, FV, PURGE, et
RECYC. Ceci est parfaitement illustré dans tableau de résultats suivant, qui indique toutes les variables
influencée par la mesure de la température de la purge :

Measurement Tag Name Value Abs.Acc. Rel.Acc. P.U.


T S PURGE Reconciled 293.69 .98751 .34% K
PURGE_T 20.000 2.0000 .68% C
Variable Tag Name Contrib. Der.Val. Der.Acc. P.U.
T S RECYC RECYC_T 24.38% .24379 .13268 K
T S PURGE PURGE_T 24.38% .24379 .13268 K
T S FL Computed 24.38% .24379 .13268 K
T S FV Computed 24.38% .24379 .13268 K
T S FLV FLV_T 9.31% .10726 .58378E-01 K
MFNH3 M FV FV1_MFNH3 9.04% .33895E-01 .18447E-01 %

Un autre résultat important obtenu par l’analyse de sensibilité est d’indiquer exactement ce qui a été
gagné par la validation des données. Quand plusieurs variables sont liées par des contraintes à plusieurs
mesures, la redondance peut être exploitée pour diminuer leurs incertitudes : l’efficacité du processus de
validation est démontrée quand la déviation standard a posteriori est significativement inférieure à la
déviation expérimentale (un facteur 2 dans l’exemple précédent).

Quelques autres variables sont limitées par de fortes contraintes : leurs valeurs dépendent plus des
équations de contraintes que des valeurs directement mesurées, qui donc peuvent être éliminée sans perte
d’information. Un exemple typique est une mesure de température pour un flux dont la pression est fixée,
ne contenant qu’un seul composé et étant en équilibre liquide - vapeur : la valeur validée de la température
sera fixée seulement par la contrainte de l’équilibre liquide - vapeur, et ne sera pas influencée par la valeur
mesurée. Une observation similaire est faite à propos de fraction molaire d’ammoniac dans le condensat
FL : la déviation standard a été significativement diminuée par le processus de validation, mais la mesure
directe ne contribue que faiblement à la valeur validée (voir le premier exemple ci-dessus).

D’un autre côté, certaines variables ne sont que peu influencées par les mesures redondantes, et ne
peuvent donc être corrigées par la procédure de réconciliation des données. Leurs valeurs validées
dépendent principalement (ou même seulement) de leurs propre valeur mesurée : une double vérification
des mesures et une calibration minutieuse des capteurs est alors recommandée. La réconciliation des
données peut faire des merveilles, mais pas de miracle, et quelques mesures doivent absolument être
valable : l’analyse de sensibilité permet de les identifier. Un exemple est la puissance du compresseur, dont
l’incertitude n’est point diminuée par la validation lorsqu’on utilise le groupe de mesures dont on se sert
depuis le début :

- 5.25 -
Chapitre 5

Measurement Tag Name Value Abs.Acc. Rel.Acc. P.U.


POWER S W3 Reconciled 332.28 29.519 8.88% kW
W3_POWER 330.00 30.000 9.09% kW
Variable Tag Name Contrib. Der.Val. Der.Acc. P.U.
POWER S W3 W3_POWER 96.82% .96817 .14739 kW
EFFIC S EFF3 Computed 87.31% -.19034E-02 -.28977E-03 -
T S F07 F07_T 6.06% .96290E-02 .14658E-02 K
T S F06 F06_T 1.44% -.40619E-02 -.61835E-03 K

Comme conclusion, on peut déduire des règles qui permettent d’identifier les bonnes mesures : elles
ne devront pas être trop modifiée par la réconciliation des données (petite erreur de mesure) mais leur
déviation standard associé devrait diminuer grâce au processus de validation (existence de redondance
améliorant la connaissance de la variable).

La connaissance de la déviation a posteriori pour toutes les variables du procédé nous permet de
calculer l’intervalle de confiance ou bien les marges de sécurité des résultats obtenus (l’écart à la limite
d’explosivité, à la courbe de refoulement du compresseur). Un ensemble bien choisi de mesures
accompagné d’une procédure de réconciliation des données permet de diminuer les marges de sécurité en
ce qui concerne les conditions critiques de fonctionnement, puisque l’outil de réconciliation des données
réduit l’incertitude sur l’état actuel du procédé.

5.3.4 Conclusions

Un des but de la validation est d’améliorer la connaissance des variables d’état du système. Fournir
des valeurs est bien sûr d’une grande aide mais évaluer leur fiabilité est tout aussi important, et c’est dans
cette optique que des déviations standards pour les variables validées et pour celles non mesurées ont été
développée.

Trois types de questions peuvent être analysées par l’utilisation de l’étude de la sensibilité :
• Premièrement, vérifier comment la précision d’un variable d’état donnée est influencée par le groupe de
mesures : Quelles sont les mesures qui contribuent significativement à la variance du résultat
validé pour un groupe de variables d’état ?
• Le second type de problème est de déterminer les variables d’état dont la précision est le plus influencé
par une mesure donnée : Quelles sont les variables d’état dont la variance est influencée
significativement par la précision d’une mesure donnée ?
• Le troisième type de problème est d’étudier comment la valeur d’une variable d’état est influencée par
la valeur et la déviation standard de l’ensemble des mesures.

A partir de ces informations, des décisions peuvent être prises soit en vue de l’analyse des mesures
d’un procédé existant, soit pendant le design d’un système de mesure. Les analyses inutiles peuvent être
éliminées, ou bien effectuées moins fréquemment, ce qui permet ainsi une diminution intéressante des coûts
opératoires. On peut également identifier les mesures clés pour lesquels une amélioration de la précision
permettrait un meilleur suivi du procédé. On peut également déterminer l’emplacement des capteurs

- 5.26 -
Chapitre 5

permettant une bonne estimation de toutes les variables clés du procédé au coût d’investissement le plus
bas.

- 5.27 -
Chapitre 6

CHAPITRE 6
APPLICATION DES METHODES D’OPTIMALISATION
AVEC CONTRAINTES AUX CALCULS D’EQUILIBRES
CHIMIQUES

Introduction

Le problème choisi comme application des méthodes d’optimalisation vues précédemment, est
celui de la minimalisation d’une fonction d’énergie libre. Nous en profiterons pour examiner brièvement de
quelle manière on peut tenir compte de contraintes.

6.1 Position du problème

L’énergie libre d’un mélange gazeux est fonction de la température T, de la pression P et de la


composition
G = G( P, T, x)
où x est le vecteur des nombres de moles des constituants. Le nombre total de moles sera noté (non
souligné) :
n
x = ∑ xi
i =1

Le potentiel chimique de chaque constituant est défini par :


 δG 
µi =  
 δx i  P ,T
où G est l’énergie libre de Gibbs (ou enthalpie libre). On sait que :
n
G = ∑ x i. µi = t x µ
i= 1

Pour un gaz parfait, les potentiels chimiques sont calculés par les relations :
xi
µ i = µ 0i ( T, P) + RT. ln
x

µ 0i ( T, P) = µ *i ( T, P 0 ) + RT.ln
P
0
P

- 6.1 -
Chapitre 6

Les potentiels chimiques standard µ * sont disponibles dans les tables spécifiques ou peuvent être
obtenus en utilisant les banques de données : ils sont définis pour les gaz parfaits et sous une pression de
référence P 0 = 1 atm . Le problème est le suivant : calculer x à T et P fixés ?

Posons :
µ (T, P )
0

Ci = i
RT
qui sont des constantes calculables. On a alors :
n
 xi 
G ( x) = ∑ x i . µ 0i ( T, P) + RT.ln 
i =1  x
ou sous la forme adimensionnelle :
G( x )
∑ x . (C + ln x i − ln x )
n
f ( x) = = i i
RT i =1

La composition d’équilibre est celle qui minimise f(x) en respectant la loi de conservation des
éléments et le fait que les nombres de moles ne peuvent pas être négatifs. En termes formels :

Minimaliser f(x) par rapport à x


avec x tel que g k ( x) > 0 pour k = 1, K
h j ( x ) = 0 pour j = 1, J

où g sont des contraintes d’inégalités,


h sont des contraintes d’égalité,

dans notre cas :

Min f ( x) avec x i > 0 et A x − b = 0

Les bilans des éléments sont écrits sous forme matricielle. Un exemple concret élucidera cette
notation compacte.

Soit le cas du reforming du méthane à la vapeur, le système comporte les substances :

[
x = CH 4 H 2 CO H 2O CO 2
t
] et t
[ ]
b= C H O ,
A x − b = 0 représente les trois équations suivantes :

x1 
1 0 1 0 1 x   
   2   b1 
4 2 0 2 0 x3  = b2 
0 0 1 1 2    
  x4  b 3 
 x 5 

- 6.2 -
Chapitre 6

les termes de la matrice A sont les nombres d’atomes des éléments j dans les molécules i; s’il y a n
molécules et m atomes, la dimension de la matrice A est m × n, les termes du vecteur b sont les nombres
d’atomes-grammes des éléments présents dans les systèmes (au nombre de m qui est la longueur d’une
colonne de la matrice A ).

Les données des problèmes sont la température, la pression, les potentiels chimiques de référence,
les molécules présentes et les nombres d’atomes-grammes des éléments.

6.2 Solution

On applique la méthode de Lagrange en tenant compte des contraintes d’égalité. On tient compte
des contraintes d’inégalité au cours de calculs itératifs en rendant positives et négligeables les valeurs des
composantes de x qui seraient devenues négatives; ce point sera explicité ci-après.

La fonction de Lagrange pour le problème posé s’écrit :

(
L( x , λ ) = f ( x) + t λ A x − b )
La différentielle totale de cette fonction est nulle à l’optimum :

[ ]
dL = ∇ f ( x) + t λ A δx + t δλ A x − b = 0 ( )
quelles que soient les variations δx et δλ , donc les conditions d’équilibre sont :

∇ f ( x) + t λ A = 0

Ax− b = 0
la première expression représente un système de n équations à n+m variables, les équations étant non
linéaires; tandis qu’avec la seconde, on retrouve bien sûr les contraintes, qui constituent un système de m
équations linéaires à n variables. Au total, on a autant d’équations que d’inconnues et si elles sont
indépendantes, il existe au moins une solution.

D’un point de vue pratique, le gradient de la fonction f est calculable car on a établi son expression
ci-dessus. La composante i s’écrit :
δf µi
=
δx i RT
puisque :
G( x )
∑ x . (C + ln x i − ln x )
n
f ( x) = = i i
RT i =1

- 6.3 -
Chapitre 6

Un système d’équations non linéaires se résous par itérations successives et nécessite quelques (n3)
opérations par itération. On a donc intérêt à diminuer, si possible, le nombre total n des équations à
considérer simultanément.

6.2.1 Méthode des constantes d’équilibre

Cette méthode est relativement bien connue des chimistes. Voyons rapidement comment on peut la
retrouver. Nous allons éliminer les j coefficients de Lagrange λ et faire apparaître les avancements ξ des r
"réactions" chimiques indépendantes (r = 1, R). Notons au passage qu’il peut paraître surprenant de faire
apparaître le terme “réactions” alors qu’on recherche le minimum d’une fonction d’état : le chemin suivi
(imposé par les réactions chimiques) ne doit pas avoir de répercussion sur le résultat. Les avancements de
réaction (exprimés dans les mêmes unités que les composantes de x ) sont définis par l’équation :

x = x0 +t V ξ − ξ0( )
normalement, les degrés d’avancement ξ 0 sont nuls, la matrice V contient comme éléments, les
coefficients stoechiométriques des réactions chimiques indépendantes au nombre de R. Cette relation
implique que :
δx = t V δξ

Explicitons à nouveau cette notation compacte par l’exemple du reforming du méthane : les
réactions d’équilibre communément écrites sont :

CH4 + H2O → CO + 3 H2

CO + H2O → CO2 + H2
qui peuvent aussi s’écrire :

- CH4 - H2O + CO + 3 H2 = 0

- CO - H2O + CO2 + H2 = 0
avec les bilans classiques :

[H ] = [H ]
2 2
0
+ 3.ξ 1 + ξ 2

[ CO] = [ CO] 0 + ξ1 − ξ 2
etc.

La matrice V (n×R) est dans ce cas :

− 1 3 1 −1 0
V=
0 1 −1 −1 1 

On pourrait écrire d’autres “réactions” et obtenir une autre matrice de coefficients. On démontre
que (bilans sur les éléments) :

- 6.4 -
Chapitre 6

V t A=t A V = 0

ici, 0 est une matrice m×R et R est le nombre de réactions indépendantes d’ailleurs égal à n (nombre de
molécules) - m (nombre d’atomes).

Utilisons les avancements de réactions pour éliminer les coefficients de Lagrange, pour ce faire,
remplaçons le vecteur δx par son expression en fonction des degrés d’avancement dans la différentielle de
L:

[ ]
dL= t δξ V ∇ f ( x ) + t A λ + t δλ A x − b = 0 ( )
le deuxième terme entre crochets tombe vu que V A = 0 . t

Les conditions d’équilibre deviennent :


V ∇ f(x ) = 0 R = n-m équations

Ax− b = 0 m équations

La dimension du problème (N) a été réduite à n équations. Retrouvons maintenant les expressions
classiques des constantes d’équilibres, elles ne sont rien d’autre qu’une écriture différente des équations :
µ
V ∇ f ( x) = V
RT
qu’on explicite au maximum :
n
µi n
 xi 
∑ν ri . = ∑ υ ri .  C i + ln 
RT i=1  x
avec r = 1,R
i =1

ensuite,
ν ri νr i
n
x 
n n
x 
∑ ν ri . C i = −∑ ln i 
 x
= − ln ∏  i 
x
i =1 i =1 i =1

ou encore
ν ri
x  n
 n 
K = ∏ i 
r
= exp − ∑ ν ri . C i 
i =1  x   i =1 
i

cette relation peut aussi s’écrire en termes de pressions partielles, car on sait que, si on admet la loi de
Dalton :
xi
pi = .P
x
on obtient alors le Kp.

Il y a bien sûr autant de constantes d’équilibre que de réactions chimiques indépendantes.


Remarquons qu’on recherche souvent la solution de ces R équations explicites en fonction des

- 6.5 -
Chapitre 6

avancements de réactions. Telles qu’elles sont écrites ci-dessus, on doit leur adjoindre les contraintes de
bilan et résoudre ce système directement en x.

6.2.2 Méthode de WHITE

Nous venons de voir que les n+m équations à résoudre dans le cas général sont :
∇ f ( x) + t λ A = 0

Ax− b = 0

La méthode de WHITE est basée sur un examen approfondi de la structure de ces équations
linéarisées qui permet de réduire très significativement la dimension du système d’équations irréductible.

Les équations (non) linéaires peuvent être résolues par la méthode de Newton-Raphson.
Rappelons-en rapidement l’essentiel.

Dans le cas d’une fonction à une variable f ( x) = 0 , la solution s’obtient par :

k +1
f (xk )
x =x − k

f ′( x k )

Dans le cas d’une fonction vecteur de dimension N, à N variables, formellement f ( x) , la solution


s’obtient par :
x k +1 = x k − J −x1k f ( x k )
où J est la matrice Jacobienne de la fonction vecteur, prise au point de la kème itération.

En appliquant cette dernière relation au système des n+m équations à résoudre, on doit donc
prendre le Jacobien, de sorte qu’on obtient (on prend la formule sans l’inversion) :
H k t
A  x k +1 − x k  ∇f ( x k ) + t A λ k 
 x  =  
 A 0  λ k +1 − λ k   A xk − b 
n× n|n× m n ×1 n ×1
m× n| m× m m×1 m×1
la matrice H est le Hessien de la fonction f (en effet le Hessien de L se réduit à celui de f), pris au point de
la kème itération, il est issu du Jacobien du gradient de f. En ce qui concerne la fonction f que nous avons
développée, le terme ij (au point de la kème itération) s’écrit :
δij 1
H ij = k −
k
k avec i = 1,n et j = 1,n
xi x
où δ ij est la fonction de Kronecker et vaut 1 si i = j, zéro sinon (si i ≠ j).

- 6.6 -
Chapitre 6

En explicitant tout à fait l’écriture des équations, on obtient :


1 1 1 1 
x − x − −   µ 1k m

 1
x x
  + ∑ a j1 . λkj 
 L  x 1k+ 1 − x 1k   RT j=1 
 1 1 1 1     k L 
L
 −x − −    µ k
m
a ji

xi x x 
 x i − x i 
k+ 1 k 
i
+ ∑ a ji . λ j
L   = −
RT j=1

 
 −1 1 1 1   L   k L 
− −  µn
m
x k+ 1 − x k  k
 RT + ∑ a jn . λ j 
 x x xn x 
   nk+ 1 n
 j =1
 λ j − λ j   m 
k
 
 ∑
 a ij 0   a ij . x j − b j 
k

  j=1

 

Les n premières équations permettent d’expliciter x ki +1 en fonction de λkj+1 . En effet, prenons la


ième :
 δ ij 1  k+ 1
(
 k − k  .( x i − x i ) + ∑ a ji . λ j − λ j = −
µ ki
)
n m m


i =1  x i x 
k

j =1
k +1 k
− ∑ a ji . λkj
RT j=1
qui se réduit à :
 δ ij 1  k+1 µ ki
 k − k  . ( x i − x i ) + ∑ a ji . λ j = −
n m


i =1  x i x 
k

j =1
k+ 1
RT

Ceci rend facile l’élimination des n valeurs de x de la (k+1)ème itération à l’aide des n équations ci-
dessus, hors des m dernières équations qui ne contiennent plus alors que des termes en λ de l’itération
(k+1). Ces m dernières sont donc résolubles en fonction de λk . En réalité, WHITE, pour des facilités
d’écriture des équations, en ajoute une au système, à savoir :
n
x k +1 = ∑x k +1
i
i =1

relation dans laquelle les x k +1


i sont aussi éliminés en fonction des λkj+1 .

Il suffit dès lors de résoudre simultanément (m+1) équations à (m+1) inconnues (les m λ et le x ci-
dessus) et ensuite de calculer les n valeurs de x k +1 à tour de rôle de manière explicite.

L’algorithme est alors le suivant :


1. Choix de x 0 tel que A x 0 − b = 0
(par exemple par tirage au hasard contraint),
2. Solution des (m+1) équations simultanées pour trouver λkj+1 et x k +1
3. Tests de convergence pour les valeurs précédentes,
4. Calcul des x ki +1 .

- 6.7 -
Chapitre 6

Le développement théorique n’a été donné que pour des gaz idéaux, mais on le généralise
facilement au cas des gaz réels, l’expression des potentiels chimiques se compliquant évidemment.

6.2.3 Contraintes d’inégalité et points particuliers

Dans chacune des méthodes exposées, on calcule les valeurs (k+1) des variables, à partir de leurs
valeurs obtenues à l’itération précédente (k). On connaît en fait le vecteur x k +1 − x k . Avant d’accepter les
valeurs x k +1 , on vérifie qu’elles sont toutes positives. Dans le cas contraire, on garde la direction du
vecteur, mais on en diminue la grandeur de telle manière que les x k +1 négatifs prennent une valeur
négligeable mais positive : il s’agit d’une méthode de relaxation classique. Ce test n’intervient d’ailleurs
qu’après avoir testé si le gradient de la fonction objectif le long du vecteur incrément n’a pas pris une valeur
positive excessive, ce qui indique que l’on doit ici aussi utiliser un facteur de relaxation.

En toute généralité, on a :
x k +1 = x k + δ s k
le vecteur s k est connu en direction, sens et grandeur.

δ est le facteur de relaxation qui est déterminé par une méthode heuristique. Notons encore qu’à
chaque itération, on opère une correction des erreurs d’arrondi; ceci se fait en ne modifiant pas les (n-m)
plus grandes valeurs des composantes de x k +1 et en corrigeant les m valeurs restantes de manière à
satisfaire correctement les contraintes de bilan.

Signalons enfin que le programme relatif à la méthode de White est accessible en mode
conversationnel, tant pour les gaz idéaux que pour les gaz réels (programme THERMO2).

6.2.4 Exemple d’application

Combustion de l’hydrazyne : N2H4 + O2

Composition du système de départ :


1 atgr de N
1 atgr de H
1 atgr de O

on a le vecteur élément :
t
[H N O ]
Composants existant à 3500 K et 50 bar :

H, H2, H2O, N, N2, NH, NO, O, OH, O2

Ci-dessus, les éléments sont mis dans un ordre admis pour la suite.

Donc n = 10 et m = 3.

Puisqu’il y a 3 éléments, on a 3 équations de bilan.

- 6.8 -
Chapitre 6

On peut aussi écrire 10 - 3 = 7 équations (réactions) indépendantes.

Par exemple :
H2 ↔ 2 H
O2 ↔ 2 O
O + H ↔ OH
N2 ↔ 2 N
OH + H ↔ H2O
NO ↔ N + O
2 NH ↔ H2 + N2

On vérifiera aisément que ces réactions sont indépendantes.

Dans ces conditions, les matrices A et V s’écrivent :

1 2 2 0 0 1 0 0 0 1
 
A = 0 0 0 1 2 1 1 0 0 0 (bilan atomique)
0 0 1 0 0 0 1 1 2 1

 2 −1 0 0 0 0 0 0 00
 
 0 0 0 0 0 0 0 2 −1 0 
 
− 1 0 0 0 0 0 0 −1 0 1
(coefficients
V= 0 0 0 2 −1 0 0 0 0 0  stoechiométriques)
 
 0 0 0 1 0 0 −1 1 0 0
 
− 1 0 1 0 0 0 0 0 0 − 1
 1 1 
 0 2 0 0 2 −1 0 0 0 0 

les matrices respectent l’ordre adopté ci-avant.

Recherche du point de départ x 0 :

on fixe 7 variables x i aléatoirement, de telle sorte que :


n
xi
0<
x
< 1 et ∑x i <1
i =1

Les trois équations de bilan A x − b = 0 fournissent les valeurs des 3 dernières variables.
Réajustement de x (en relation avec la remarque du paragraphe précédent).

On choisit de toujours corriger les trois composantes de x dont les valeurs sont les plus grandes.

- 6.9 -
Chapitre 6

6.3 Utilisation de différentes méthodes

Dans ce paragraphe, nous allons examiner assez brièvement les caractéristiques et efficacités des
différentes méthodes itératives vues au chapitre 3, en travaillant sur le problème exposé précédemment. La
formule itérative est éventuellement ramenée à l’esprit.

Le problème général qu’il s’agit de résoudre, est :


∇ f ( x) + t λ A = 0

Ax− b = 0

Ce problème consiste en la recherche d’un point stationnaire de la fonction Lagrangienne L.

On mentionne des temps de calcul relatifs, puisque ce sont ceux obtenus pour un même ordinateur.

6.3.1 Steepest Descent

La recherche d’un meilleur point se passe en 2 étapes :

on calcule d’abord la direction du gradient qu’on prend comme direction d’investigation, puis sachant que,
x k +1 = x k + δ ∇ L( x k )
où L est donné par :

(
L( x , λ) = f ( x) + t λ A x − b )
et x comprend toutes les variables (les n x et les m λ), il reste à rechercher la distance δ à parcourir sur
cette direction (du gradient) pour arriver à un optimum.

La résolution d’un problème à 13 variables a été arrêtée en raison de la lenteur de la convergence..

6.3.2 Newton

Cette méthode nécessite la connaissance du gradient et du Hessien de la fonction Lagrangienne. En


effet, les équations sont :
H x k h k = −∇ f ( x k ) étape (a)

x k +1 = x k + h k étape (b)

f est la fonction à optimiser (ici L), x le vecteur variable, (ici x et δ ).

On calcule donc :
∇ f ( x )+ t A λ k 
∇ L( x , λ ) =  
 A x − b 

- 6.10 -
Chapitre 6

[ ]
H L( x , λ ) = 
[ ]
 H f ( x) t A

 A 0 
et il reste alors à calculer le gradient et le Hessien de la fonction f ( x)

Le problème à 13 variables a été résolu par cette méthode. Le temps de calcul est choisi comme
référence et nous lui affectons la valeur 100.

6.3.3 Davidon, Fletcher et Powell

Cette méthode fait appel à un formalisme plus compliqué que nous ne reproduirons pas, cependant
elle offre l’avantage de pas nécessiter les dérivées secondes, puisqu’elle génère le Hessien au fur et à
mesure des itérations. Le programme de l’optimalisation est nettement plus lent et la résolution a été arrêtée
avant l’obtention d’une solution convergée.

6.3.4 Newton-Raphson

Résolution complète temps équivalent = 50 (10 équations). Le gain par rapport à la méthode de
Newton est dû principalement au temps d’inversion de la matrice. En effet, Newton exige l’inversion d’une
matrice de 13×13, tandis que Newton-Raphson exige l’inversion d’une matrice de 10×10, à chaque pas (il
en faut une dizaine dans le cas traité).

6.3.5 Sequential Unconstrained Minimization Techniques (SUMT)

Cette méthode n’ayant pas encore été exposée, nous le faisons ici.

Un problème tel qu’il est posé au début du paragraphe 6.3 peut être résolu en effectuant
successivement une suite d’optimalisations sans contraintes. Fiacco et Mac Cornick proposent d’adopter
la fonction objectif suivante à minimaliser :
2

[ ]
F( x , r ) = f ( x ) + r . ∑ g k ( x) + . ∑ h l ( x)
K
1 L
k =1 r l=1

La fonction f ( x) a été simultanément pénalisée par les contraintes d’égalité et d’inégalité.

Ayant construit la fonction F, on adopte une valeur de r, et on admet qu’on est à l’itération k. On
optimalise F( x , r ) selon une des méthodes citées ci-dessus. Ensuite, on adopte une loi de décroissance
pour les valeurs de r k , par exemple :
rk
r k +1 = ;ρ > 1
ρ
et on répète pour chaque valeur de r, la procédure de minimalisation choisie, accordant ainsi une
importance croissante aux contraintes d’égalité.

- 6.11 -
Chapitre 6

La valeur finale de r est fonction de la précision requise concernant ces contraintes.

La méthode permet ainsi de cheminer vers l’optimum en ne respectant les contraintes qu’en finale,
comme on peut le voir sur la figure 6.1 :

Contraintes d'égalités

0 x
Figure 6.1

Les points successifs sur la trajectoire d’optimalisation correspondent aux différentes valeurs de r.

Dans le cas qui nous occupe, on a l’expression :

( )
n
1 m t
F( x , r ) = f ( x) + r . ∑ k + k . ∑ a j x − b j
k k 1
k= 1 x r j=1

La minimalisation de cette fonction dans un problème à 13 variables par la méthode de Newton est
menée à bien en un temps équivalent de 330. On a ρ = 4 et r 0 = 0,1 ; le point de départ ayant été pris au
hasard.

6.3.6 "Complex"

Résolution complète en 220 (temps équivalent) (13 points). Cette méthode n’utilise pas de
formalisme mathématique, elle se contente des valeurs de la fonction à optimiser. Elle est robuste mais
relativement lente. Cependant, on fait remarquer que la méthode est particulièrement indiquée quand les
contraintes sont linéaires.

6.3.7 Programmation linéaire

Cette méthode est tellement généralisée que nous ne traiterons pas de la méthode comme telle,
mais bien de la transformation du problème posé, de manière à le rendre apte à être résolu par cette
méthode. Des programmes spécialisés sont disponibles et d’un emploi facile.

- 6.12 -
Chapitre 6

La méthode s’applique uniquement à des problèmes linéaires. Elle exige donc la linéarisation des
contraintes et de la fonction objectif.

Linéariser une fonction y = f ( x ) consiste à rendre son expression linéaire en toutes les n variables
du vecteur x .

Admettons des points quelconques de l’hypersurface à (n+1) dimensions (y et x), ces points sont
repérés par l’indice supérieur k, on suppose qu’il y en a m. On approximera cette hypersurface par :
m
x i = ∑ n k . x ki pour i = 1,n
k =1

m
y = ∑ nk . yk (*)
k =1

où les n k sont les nouvelles variables sur lesquelles on a les contraintes :


m

∑n k
= 1 et n k > 0
k =1

les équations plus haut constituent un système de (n+2) équations à m inconnues, (n+1) au maximum des
variables n sont nulles et elles sont nécessairement consécutives. On en déduit que m > n + 1, il faut plus
d’inconnues que d’équations.

Cette méthode de linéarisation porte le nom de linéarisation par tronçons.

Exemple : Soit y = f ( x1 , x 2 ) . Cette surface à 3 dimensions est représentée sur la figure 6.2 :

x2

x1

Figure 6.2

La linéarisation de la fonction consiste à approximer la surface par des plans (ici par des triangles,
au minimum 3 variables n non nulles).

- 6.13 -
Chapitre 6

Approximons par exemple, au moyen de 4 triangles (6 points d’où 6 variables n) et nous obtenons
la triangulation de la figure ci-dessus (en traits pleins). Une approximation en 3 triangles (4 points d’où 4
variables n) donnerait la triangulation en pointillé.

Application à la fonction type :

[ ]
n n n
xi
f ( x) = ∑ x i . Ci + ln x i − ln x = ∑ C i . x i + ∑ x i .ln
i =1 i =1 i =1 x
xi
et on pose en premier lieu : β i = x i .ln
x

Linéarisons les βi suivant des α i (en effet β n’est pas du tout linéaire en fonction des variables x).
Ce problème étant à 2 dimensions, il exige au moins 2 variables n k ; prenons-en 3, ce qui correspond à
linéariser en 2 tronçons comme le montre la figure 6.3 . On a ainsi :

f ( x) = ∑ Ci . x i +∑ β i =∑ Ci . x i +∑ ( n 1i .β1i + n 2i . β 2i + n 3i .β 3i )
n n n n

i =1 i =1 i =1 i =1

le développement de la fonction β (il y en a i), est réalisé selon la formule correspondant à y (se référer aux
3
équations * page précédente), et on a en plus : α i = ∑ n ik . α ki ,
k =1

d’où :
3 3
x i = x . α i = x . ∑ n ki . α ik = ∑ n ki . x ik
k =1 k =1

les contraintes étant :


3

∑n k
i = 1 pour tout i = 1,n
k =1

Deux n ki au maximum (sur 3) sont nuls, n ki > 0

Choisissons les x ki tels que :

x ki
= n ki
x

Dans ces conditions, on a :


n
x ik
n 3

f ( x) = ∑ Ci . x i + ∑ ∑ .β
i =1 i =1 k =1 x

3
x i = ∑ x ki .α ki
k =1

3
− x + ∑ x ki = 0 pour tout i
k =1

- 6.14 -
Chapitre 6

βi
α α α
i1 i2 i3
α
i

Figure 6.3

et le problème revient à minimaliser f ( x) suivant :

x i , x , x ik

Il comprend alors (4n+1) variables, c’est-à-dire n pour x i , 1 pour x, 3n pour x ki . De plus, il est
soumis aux contraintes :
Ax− b = 0 m équations de bilans atomiques
3
− x + ∑ x ki = 0 n équations
k =1

3
x i = ∑ x ki .α ki n équations
k =1

n
x − ∑ xi = 0 1 équation
i =1

toutes les variables > 0 4n + 1 équations

ce qui fait en tout (6n+m+2) équations.

Dans le cas du problème énoncé précédemment, cela fait 41 variables et 65 contraintes (41
contraintes d’inégalité et 24 contraintes d’égalité).

La méthode est itérative, à chaque pas, on diminue le domaine d’investigation en réduisant


l’intervalle de linéarisation.

Le nombre élevé de variables explique que la résolution complète exige un temps équivalent de
500.

6.3.8 Quelques conclusions

Il est probablement utile de souligner ici l’enseignement que l’on peut tirer des résultats exposés.
De nombreuses techniques ont été testées et on peut donc juger de leur efficacité relative. Un résultat
intéressant peut être obtenu grâce à une analyse poussée de la formulation du problème, mais le travail

- 6.15 -
Chapitre 6

investi ne devient rentable que si la méthode doit être employée un grand nombre de fois. Dans le cas
contraire, on peut se contenter d’une approche mathématique plus sommaire.

On peut également souligner l’efficacité des méthodes du second ordre, de même que l’avantage
obtenu par la réduction du rang de la matrice de travail, c’est-à-dire le nombre de variables considérées
simultanément dans les calculs.

- 6.16 -

Vous aimerez peut-être aussi