Vous êtes sur la page 1sur 82

N˚ : 23/2014-M/MT

RÉPUBLIQUE ALGÉRIENNE DÉMOCRATIQUE ET POPULAIRE


Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université des Sciences et de la Technologie Houari Boumediene
Faculté de Mathématiques

MÉMOIRE
présenté pour l’obtention du diplôme de Magistère
En : MATHÉMATIQUES
Spécialité : Recherche Opérationnelle
Par : MESSEKHER Salah Eddine

Thème

abb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbc
d e
Contribution à l’Optimisation Non Linéaire à Objectifs
d e
d e
Multiples
fgg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggh

Soutenu publiquement le :19/06/2014, devant le jury composé de :

M. M. AÏDER Professeur à l’U.S.T.H.B Président


M. M. MOULAÏ Professeur à l’U.S.T.H.B Directeur de mémoire
M. M. ABBAS Professeur à l’U.S.T.H.B Examinateur
M. A. MEZGHICHE Chargé de recherche à l’U.S.T.H.B Invité
Table des matières

Table des matières 1

Introduction Générale 2

1 Programmation fractionnaire 4
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Formulation d’un problème fractionnaire . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Notions sur l’optimisation convexe . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Ensembles convexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2 Fonctions convexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.3 Fonctions convexes généralisées . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.4 Conditions d’optimalités . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Conditions d’optimalité de Karush Khun Tucker . . . . . . . . . . . . . . . . . . 12
1.5 Programmation fractionnaire linéaire . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 Résolution d’un LFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6.1 Résolution directe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6.2 Résolution par équivalence . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.6.3 Résolution par paramétrisation . . . . . . . . . . . . . . . . . . . . . . . 18
1.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Programmation fractionnaire linéaire discrète 20


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Résolution d’un ILFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.1 Résolution directe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2
Table des matières 3

2.2.2 Résolution par séparation et évaluation progressive . . . . . . . . . . . . 22


2.2.3 Résolution par paramétrisation . . . . . . . . . . . . . . . . . . . . . . . 22
2.3 Une méthode de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.1 Transformation du problème . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.2 Principe de la résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.3 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.4 Convergence algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.5 Exemple illustratif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4 Expérimentation et résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3 Programmation multi-objectifs 37
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2 Formulation d’un problème multi-objectifs . . . . . . . . . . . . . . . . . . . . . 38
3.3 Notions sur l’optimisation multi-objectifs . . . . . . . . . . . . . . . . . . . . . . 39
3.3.1 Relation de dominance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.2 L’efficacité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.3 Surface de compromis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3.4 Les points particuliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3.5 Autres relations de dominance . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3.6 Détection graphique de l’efficacité . . . . . . . . . . . . . . . . . . . . . . 48
3.3.7 Conditions d’optimalité . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4 Résolution d’un problème multi-objectifs . . . . . . . . . . . . . . . . . . . . . . 50
3.4.1 Méthodes a priori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4.2 Méthodes a posteriori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.4.3 Les méthodes progressives ou interactives : . . . . . . . . . . . . . . . . . 54
3.5 conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4 Programmation multi-objectifs fractionnaire linéaire discrète 57


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 Résolution d’un MOILFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2.1 Méthode de Abbas and Moulaî [12] . . . . . . . . . . . . . . . . . . . . . 58
4.2.2 Méthode de Chergui et Moulaï [14] . . . . . . . . . . . . . . . . . . . . . 60
4.3 Une méthode de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Table des matières 1

4.3.1 Transformation du problème . . . . . . . . . . . . . . . . . . . . . . . . . 62


4.3.2 Principe de la résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.3.3 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.3.4 Résultats théoriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3.5 Exemple illustratif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.4 Expérimentation et résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Conclusion et perspectives 76

Bibliographie 77
Introduction Générale

Les modèles traditionnels considéraient en général un seul objectif à optimiser pour lesquels il
existe des solutions optimales. Beaucoup d’algorithmes ont été mis au point pour atteindre, une
telle solution en un temps raisonnable. La satisfaction n’a été que partielle car dans de nombreux
cas, la modélisation des problèmes ne traduit pas exactement la réalité à appréhender. Une autre
manière de modéliser les problèmes permettant une représentation fidèle de la réalité consiste
à optimiser plusieurs critères éventuellement conflictuels simultanément.
Aussi les chercheurs sont confrontés non plus à la recherche d’une solution optimale, mais à la
recherche des conséquences d’une décision afin d’élaborer des procédures d’aide à la décision. Il
faut donc redéfinir les concepts et donner un sens aux solutions réalisables, appelé solution de
compromis et dépendant des préférences du décideur.
La programmation mathématique mono-objectif constitue un riche tribut pour la classe de
problèmes multi-objectifs sachant que depuis, à présent, une cinquantaine d’années que G.B.
Dantzig proposa l’algorithme simplexe. L’existence d’une grande variété de problèmes de pro-
grammation mathématique est due à la nature des variables ( continues, entières), des coefficients
(déterministes, stochastiques ou flous), des critères (linéaires, non linéaires, différentiables), des
contraintes ( linéaires, non linéaires) et du domaine d’admissibilité (convexe, non convexe).
Dans le cadre de la programmation mathématique multicritère, nous nous sommes particulière-
ment intéressés au cas où les critères sont fractionnaires linéaires et les contraintes linéaires en
présence de variables entières.
La première phase consistait à réaliser une mise à jour sur les derniers développement de la
programmation fractionnaire linéaire à un seul objectif (LFP) en vue d’aboutir à un passage
possible de l’aspect mono-objectif à l’aspect multi-objectif. Ceci nous a conduit à mettre au
point une nouvelle méthode de résolution du problème LFP en présence de variables entières
en s’appuyant sur une linéarisation de la fonction objective Hasan et Acharjee [13], un cal-

2
Introduction Générale

cul de pénalités et une technique de séparation et évaluation progressive (Beale and Small).
L’implémentation de la méthode sur des exemples générés aléatoirement a été plus qu’encou-
rageante. Dans la seconde phase, la maîtrise des concepts de la programmation multi-objectif
fractionnaire linéaire en variables entières (MOILFP), représentant le noyau du thème de notre
thèse, est nécessaire pour surmonter la difficulté de l’extension de la précédente méthode au
cas multi-objectif. Ceci a pu être réalisé grâce à la validation de cette extension et à la mise
au point d’un algorithme de génération de l’ensemble efficient discret. L’implémentation de la
méthode a été comparée à celle de Chergui et Moulaï [14] et les résultats obtenus sont large-
ment satisfaisant. Ce mémoire comporte une introduction, une conclusion, une bibliographie et
quatre chapitres dont le premier est consacré à la programmation fractionnaire linéaire mono-
objectif et quelques méthodes de résolution en variables continues. Une méthode de résolution
d’un problème de programmation fractionnaire linéaire mono-objectif discrète, représentant une
première contribution et nécessaire au problème principal, est présentée dans le chapitre 2. Le
chapitre 3 est dédié à la programmation mathématique multi-objectif. Le chapitre 4 constitue
le noyau de ce mémoire où un algorithme de résolution des problèmes fractionnaires linéaires
multi-objectif en nombres entiers est mis au point. Une implémentation de cet algorithme a
été réalisée et a permis de comparer cette nouvelle méthode de résolution à celle de Chergui et
Moulaï [14]. Les résultats obtenus sont très encourageants.

3
Programmation fractionnaire
1
1.1 Introduction
La programmation fractionnaire traite les problèmes d’optimisation dont la fonction objectif
s’écrit comme un rapport de deux fonctions continues sous certaines hypothèses. Un problème
de programmation fractionnaire consiste à optimiser un objectif mis sous la forme d’un rapport
de deux fonctions linéaires ou non linéaires soumis à un ensemble de contraintes. De tels pro-
blèmes ont suscité beaucoup d’intérêt car ils ont une multitude d’applications intéressant divers
domaines et spécialités tels que : l’économie, l’analyse numérique, l’ingénierie, l’informatique,
la planification de la production, la gestion de bilans de banques, les ressources en eau,
les opérations militaires, la planification hospitalière, . . ., etc.
Plus de détails sur ce type de problèmes ont déjà été décrites dans la littérature [1], [2], [4],
[13], [20] [22], comme domaines d’applications des problèmes fractionnaires soumis
à un ensemble de contraintes. Nous citons comme exemples :
Le domaine des finances où il est souvent question d’optimiser un rapport de deux fonctions
telles que : [dette / capitaux propres], [rendement / employé], [inventaire / ventes], etc.

4
Chapitre 1. Programmation fractionnaire

Le domaine de l’économie offre un large éventail d’applications. En effet, la mesure de l’efficacité


des systèmes étudiés s’exprime sous forme de rapport entre les critères techniques et/ou écono-
miques. Par exemple, [rendement / risque], [rendement / investissement], [inventaire / ventes],
etc.
Le domaine de santé comme la planification dans un hôpital [coût / patient], [infirmier / patient],
[docteur / patient], etc.
Dans la théorie de l’information, la capacité d’un canal de transmission peut être définie comme
étant le taux maximal de transmission sur toutes les probabilités.
Beaucoup d’auteurs ont effectué des travaux dans la programmation fractionnaire. On retiendra
essentiellement les ouvrages spécialisés suivant : [3], [10], [12], [18], [21].

1.2 Formulation d’un problème fractionnaire


Comme il a été déjà mentionné, les programmes fractionnaires consistent à optimiser une fonc-
tion objectif s’écrivant sous forme d’un rapport de deux fonctions linéaires ou non linéaires,
soumise à un ensemble d’équations ou d’inéquations appelées contraintes.
Étant données f , h et gi pour i ∈ {1, 2, . . . , m}, des fonctions réelles définies sur Rn à valeurs
dans R, avec h ne s’annulant pas sur un sous ensemble X ⊂ Rn .
Le problème de programmation fractionnaire (PF ) consiste à déterminer un élément x∗ de X
f (x)
optimisant la fonction , sur un domaine réalisable S défini par le système de contraintes
h(x)
gi (x) ≤ 0(i ∈ {1, 2, . . . , m}) avec x ∈ X . Il s’écrit alors sous la forme suivante :

f (x)
max



(PF ) h(x) (1.1)
 s.c. x ∈ S = {x ∈ X ⊂ Rn : g (x) ≤ 0, i ∈ {1, 2, . . . , m}}


i

et doit vérifier les hypothèses classiques suivantes :


– Les fonctions f , h et gi pour i ∈ {1, 2, . . . , m} sont continues sur Rn .
– S est un domaine non vide et borné de Rn .
– h(x) 6= 0, ∀x ∈ X.

Définition 1.1. :
Le problème (PF ) de maximisation est appelé un programme fractionnaire concave-convexe
si la fonction f est concave et les fonctions h et gi pour i ∈ {1, 2, . . . , m} sont convexes.
Le problème (PF ) de minimisation est appelé un programme fractionnaire convexe-concave
si les fonctions f et gi pour i ∈ {1, 2, . . . , m} sont convexes et la fonction h est concave.

5
Chapitre 1. Programmation fractionnaire

1.3 Notions sur l’optimisation convexe

1.3.1 Ensembles convexes


La ligne contenant les points x0 et x00 dans Rn est l’ensemble :

L = {x : x = x0 + λ(x00 − x0 ) ∀λ ∈ R}.

Définition 1.2. : Ensemble convexe


Un ensemble S est dit un ensemble convexe si pour tout x0 et x00 dans S on a :

x = x0 + λ(x00 − x0 ) ∈ S pour tout 0 ≤ λ ≤ 1.

Si la condition n’est pas vérifiée l’ensemble n’est pas convexe.


D’un point de vue géométrique, un ensemble convexe de R2 est tel qu’il contient nécessairement
le segment reliant deux de ces points.
L’intersection de plusieurs ensembles convexes est un ensemble convexe. Par convention,
un ensemble contenant un seul point est convexe.

Définition 1.3. : Combinaison linéaire convexe


Un point y ∈ S est une combinaison linéaire convexe des points {x1 , x2 , . . . , xp } s’il existe
des coefficients réels λi , i ∈ {1, 2, . . . , p}, tels que :
p p
λi xi , avec λi ≥ 0, ∀i ∈ {1, 2, . . . , p}, et
P P
y= λi = 1
i=1 i=1

Définition 1.4. : Enveloppe convexe


On appelle enveloppe convexe d’un ensemble S ⊂ Rn , l’ensemble des points de Rn qui s’écrivent
comme des combinaisons linéaires convexes des points de S. on le note :
 p p 
n
conv(S) = S ⊂ R : x = λi xi , xi ∈ S, λi ≥ 0, i = {1, . . . , p} et
P P
λi = 1
i=1 i=1

C’est le plus petit ensemble convexe contenant S.

Dans Rn , l’ensemble des points x vérifiant :

c1 x 1 + c2 x 2 + . . . + cn x n = b

est appelé hyperplan. Un hyperplan c0 x = b divise Rn en trois ensembles mutuellement exclusifs


et collectivement exhaustifs. Il s’agit de H1 = {x : c0 x < b}, H2 = {x : c0 x = b}
et H3 = {x : c0 x > b}. Les ensembles H1 et H3 sont appelés demi-espaces ouverts et sont
convexes.
Un ensemble {c0 x ≤ b} est demi-espace fermé de Rn dont l’hyperplan correspondant constitue
la frontière.

6
Chapitre 1. Programmation fractionnaire

Définition 1.5. : Polyèdre


Un polyèdre S de Rn est l’intersection d’un nombre fini de demi-espaces fermés et/ou hyperplans.
C’est aussi un ensemble S = {x ∈ Rn : Ax ≤ b} où A ∈ Rn×m est une matrice et b ∈ Rm
est un vecteur. Si A et b sont à composantes rationnels, S est un polyèdre rationnel. Un polyèdre
est un ensemble convexe fermé.
Un polyèdre S est borné s’il existe une valeur β finie et positive, telle que :

xj ≤ β ∀j ∈ {1, 2, . . . , n} et ∀x ∈ S

Si un polyèdre est borné et non vide il est aussi appelé polytope.

Le rang de la matrice A sera noté rang(A). La dimension, dim(X), d’un ensemble non vide
X ⊂ Rn est égale à :
n − max {rang(A) : A est une n × n − matrice avec Ax = Ay pour tout x, y ∈ X} .
Un polyèdre S ⊂ Rn est de pleine dimension si dim(S) = n.

Définition 1.6. : Voisinage et intérieur


Soit S ⊂ Rn , S 6= ∅. l’ensemble V (x̄) = {x ∈ S : ||x − x̄|| ≤ } est appelé voisinage de x̄ ∈ S,
avec  > 0 et ||.|| désigne la norme Euclidienne de Rn .
On dit que x̄ appartenant à l’intérieur de S, noté int(S), s’il existe  > 0 tel que V (x̄) ⊂ S.

Notons qu’un polyèdre est de pleine dimension si et seulement si son intérieur est non vide. On
supposera dans l’essentiel de ce chapitre que l’espace vectoriel de référence est réel ou rationnel.
Introduisons la terminologie suivante :

Définition 1.7. : Point extrême et solution de base


Soit S = {x ∈ Rn : Ax ≤ b} un polyèdre non vide et c un n-vecteur différent de zéro tel que :
δ = {cx : x ∈ S} est fini, alors {x : cx = δ} sera un hyperplan support de S. Une face de S est
l’intersection de S avec un hyperplan support de S. Un point x tel que {x} est une face sera
un point extrême (ou sommet) de S, et aussi une solution de base du système Ax ≤ b.

7
Chapitre 1. Programmation fractionnaire

1.3.2 Fonctions convexes


Définition 1.8. : Fonction convexe et fonction strictement convexe
La fonction f : S −→ R est dite convexe sur l’ensemble S convexe et non vide de Rn ,
si et seulement si :

∀x, y ∈ S et ∀λ ∈ [0, 1] on a : f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y).

f est strictement convexe sur S si et seulement si :

∀x, y ∈ S et ∀λ ∈ [0, 1] on a : f (λx + (1 − λ)y) < λf (x) + (1 − λ)f (y).

Lorsque n = 1, cette définition s’interprète bien géométriquement, le graphe de la fonction f sur


l’intervalle ]x, y[ se trouve toujours en dessous du segment de droite reliant les points (x, f (x))
et (y, f (y)).

Définition 1.9. Fonction concave et fonction strictement concave


La fonction f : S −→ R est dite concave sur l’ensemble S convexe et non vide de Rn ,
si et seulement si −f est convexe sur S.
f est strictement concave sur S si et seulement si −f est strictement convexe sur S.

Définition 1.10. : Épigraphe


On appelle épigraphe de f noté épi(f ) le sous-ensemble de Rn+1 défini par :

épi(f ) = {(x, y) ∈ S × R : y ≤ f (x)}

Définition 1.11. : Hypographe


On appelle hypographe de f noté hyp(f ) le sous-ensemble de Rn+1 défini par :

hyp(f ) = {(x, y) ∈ S × R : y ≥ f (x)}

Théorème 1.1. :
Soit f une fonction de Rn :
– la fonction f est convexe si et seulement si épi(f ) est convexe.
– la fonction f est concave si et seulement si hyp(f ) est concave.

Théorème 1.2. :
Soit f : S ⊂ Rn −→ R une fonction convexe sur l’ensemble convexe et non vide S, Alors f est
continue sur l’intérieur de S.

8
Chapitre 1. Programmation fractionnaire

1.3.3 Fonctions convexes généralisées


Les fonctions convexes généralisées ont un rôle très important dans la théorie de l’optimisation.
Soit f : S ⊂ Rn −→ R avec S un convexe non vide de Rn .

Définition 1.12. : Fonction quasi-convexe


Une fonction f (x) est quasi-convexe si, pour tous points x1 , x2 de son domaine, on a :

f (x1 ) ≤ f (x2 ) ⇒ f (λx1 + (1 − λ)x2 ) ≤ f (x2 ), ∀ 0 < λ < 1.

ou de manière équivalente :

f (λx1 + (1 − λ)x2 ) ≤ max {f (x1 ), f (x2 )} , ∀ 0 < λ < 1.

C’est une propriété assez large, il y’a beaucoup de fonctions quasi-convexes en économie
et la plupart des fonctions d’utilité classiques le sont dans ce domaine.

Définition 1.13. : Fonction quasi-concave


Une fonction f (x) est quasi-concave si, pour tous points x1 , x2 de son domaine, on a :

f (x1 ) ≤ f (x2 ) ⇒ f (λx1 + (1 − λ)x2 ) ≥ f (x1 ), ∀ 0 < λ < 1.

ou de manière équivalente :

f (λx1 + (1 − λ)x2 ) ≥ min {f (x1 ), f (x2 )} , ∀ 0 < λ < 1.

La fonction f est quasi-concave ⇔ (−f ) est quasi-convexe.


Une fonction qui est à la fois quasi-convexe et quasi-concave est dite quasi-linéaire.
Les fonctions quasi-convexe, quasi-concave et quasi-linéaire sont caractérisées par la convexité
de leurs ensembles de nivaux.

Théorème 1.3. :
– la fonction f est quasi-convexe si et seulement si l’ensemble L(f, α) = {x ∈ S : f (x) ≤ α}
(Lower level set) est convexe pour tout α ∈ R.
– la fonction f est quasi-concave si et seulement si l’ensemble L(f, α) = {x ∈ S : f (x) ≥ α}
(Upper level set) est convexe pour tout α ∈ R.
– la fonction f est quasi-linéaire si l’ensemble Y (f, α) = {x ∈ S : f (x) ≤ α} (Level surface
set) est convexe pour tout α ∈ R.

Remarque 1.1. Il est clair qu’une fonction convexe sur un convexe S, est quasi-convexe.

9
Chapitre 1. Programmation fractionnaire

Définition 1.14. : Fonction strictement quasi-convexe et fonction strictement quasi-concave


La fonction f est strictement quasi-convexe sur S si :

f (λx1 + (1 − λ)x2 ) < max {f (x1 ), f (x2 )} , ∀ 0 < cλ < 1.

f est strictement quasi-concave si (−f ) est strictement quasi-convexe.

Définition 1.15. : Fonction différentiable


Soit X un ensemble non vide de Rn et g : X −→ R. g est dite différentiable en x̄ ∈ int(X) s’il
existe un vecteur gradient noté ∇f (x̄) et une fonction α : Rn −→ R tels que :

f (x) = f (x̄) + ∇f (x̄)(x − x̄) + ||(x − x̄)||α(x̄; x − x̄) ∀x ∈ S


t
∂f (x̄) ∂f (x̄) ∂f (x̄)

Où : lim α(x̄; x − x̄) = 0 et ∇f (x̄) = , ,··· ,
x→x̄ ∂x1 ∂x2 ∂xn
Définition 1.16. : Fonction pseudo convexe
Soit f une fonction différentiable sur S un ouvert non vide de Rn . f est pseudoconvexe sur S
si :

∀x, y ∈ S; (y − x)0t ∇f (x) ≥ 0 ⇒ f (y) ≥ f (x)

Définition 1.17. : Fonction pseudo-concave


Soit f une fonction différentiable sur S, un ouvert non vide de Rn . f est pseudo-concave sur S
si :

∀x, y ∈ S; (y − x)t ∇f (x) ≥ 0 ⇒ f (y) ≤ f (x)

Théorème 1.4. :
Soit f : S −→ R différentiable et pseudo convexe sur S, un convexe ouvert non vide de Rn .
Alors f est à la fois quasi-convexe et strictement convexe.

Propriété 1.1. 1. Si f est convexe alors f est quasi-convexe. Si de plus f est différentiable
alors elle est pseudo-convexe.

2. Si f est concave alors f est quasi-concave. Si de plus f est différentiable alors elle est
pseudo-concave.

10
Chapitre 1. Programmation fractionnaire

1.3.4 Conditions d’optimalités


Définition 1.18. : Extremum global et extremum local
Un point x̄ est dit minimum (respect. maximum) global de la fonction f définie sur S ⊂ Rn
dans R, si et seulement si : f (x̄) ≤ f (x) (respect. f (x̄) ≥ f (x)), ∀x ∈ S.
Un point x̄ est dit minimum (respect. maximum) local de la fonction f définie sur S ⊂ Rn dans
R, s’il existe un voisinage V (x̄) de x̄ tel que : f (x̄) ≤ f (x) (respect. f (x̄) ≥ f (x)), ∀x ∈ S∩V (x̄).

Il est évident que tout minimum (respect. maximum) global est un minimum (respect. maxi-
mum) local. La recherche opérationnelle s’intéresse à la recherche de minimas (respect. maxima)
globaux car ils sont les seuls à garantir la qualité de la fonction objectif, mais ceux-ci sont mal-
heureusement plus difficiles à calculer. Cependant, à l’aide des notions de convexité, de quasi-
convexité
et de pseudo convexité, nous allons décrire une classe de problèmes pour lesquelles la situation
est bien favorable.

Théorème 1.5. Conditions nécessaires d’optimalité :


Si f : S ⊂ Rn −→ R est une fonction convexe sur S un ensemble convexe et non vide. Si x̄ est
un minimum local pour le problème : min f (x) s.c. x ∈ S, alors x̄ est minimum global pour
le même problème.

Théorème 1.6. :
Si f : S ⊂ Rn −→ R est une fonction convexe et différentiable sur S, un ensemble convexe
et non vide, et x̄ ∈ S est tel que ∇f (x̄) = 0, alors x̄ est un minimum global de f sur S.

Théorème 1.7. :
Soit f : S ⊂ Rn −→ R, une fonction quasi-convexe (ou quasi-concave), et continue sur
un polyèdre borné S, alors au moins une solution optimale x̄ est un point extrême de S.

Les fonctions strictement quasi-convexes et strictement quasi-concaves sont particulièrement


importantes dans la programmation non linéaire, car elles garantissent qu’un minimum (respect.
maximum) local sur un convexe, est un minimum (respect. maximum) global.

Théorème 1.8. :
Soit f : S ⊂ Rn −→ R, une fonction strictement quasi-convexe sur un ensemble convexe
et non vide S. Si x̄ est un minimum (respect. maximum) local alors x̄ est un minimum (respect.
maximum) global.

11
Chapitre 1. Programmation fractionnaire

Théorème 1.9. :
Soit f : S ⊂ Rn −→ R, une fonction pseudo convexe et différentiable sur S, un ensemble convexe
et non vide. Si x̄ ∈ S tel que ∇f (x̄) = 0, alors x̄ est un minimum global de f sur S.

1.4 Conditions d’optimalité de Karush Khun Tucker


Soit le problème (P ) suivant :


 min f (x)
(P )

 s.c. x ∈ S = {x ∈ Rn : gi (x) ≤ 0, i = 1, 2, . . . , m} .

On suppose que f et gi , i = 1, 2, . . . , m, sont différentiables sur un domaine de Rn . les contrainte


d’égalités de la forme h(x) = 0 sont remplacées par les deux contraintes h(x) ≤ 0 et −h(x) ≤ 0.
On définit les ensembles suivants :
I(x) = {i ∈ {1, 2, . . . , m} : gi (x) = 0} : l’ensemble des indices de contraintes actives de x.
Z(x) = {z ∈ Rn : ∃ᾱ > 0, (x + αz) ∈ S, 0 < α < ᾱ} : l’ensemble des directions admissibles
en x.
Z(x) : fermeture de Z(x).
Y (x) = {z ∈ Rn , z 6= 0 : z t ∇gi (x) ≤ 0, ∀i ∈ I(x)}.
On fait appel aux propositions suivantes :

Lemme 1.1. Soit x ∈ S, alors Z(x) ⊂ Y (x).

Définition 1.19. :
On dit que S satisfait l’hypothèse de qualification des contraintes en x ∈ S si Z(x) = Y (x).

Lemme 1.2. Pour que Z(x) = Y (x) en tout point x ∈ S, il suffit que l’une des deux conditions
suivantes soit vérifiée :

1. Toutes les fonctions gi sont linéaires.

2. Toutes les fonctions gi sont pseudo convexes et il existe x̄ ∈ S tel que gi (x̄) < 0,
∀i = 1, 2, . . . , m (cette condition est connue sous le nom de condition de Slater).

Lemme 1.3. Pour que Z(x0 ) = Y (x0 ) x0 ∈ S, il suffit que les gradients ∇gi (x0 ), i ∈ I(x0 ),
soient linéairement indépendants.

12
Chapitre 1. Programmation fractionnaire

Théorème 1.10. conditions d’optimalité de Khun-Tucker :


Soit x∗ ∈ S.

1. Supposons que Z(x∗ ) = Y (x∗ ). Si x∗ est un minimum pour le problème (P ), alors il existe
un unique vecteur λ ∈ Rm vérifiant le système suivant appelé système de Khun-Tucker :

 m
∇f (x∗ ) + λi ∇gi (x∗ ) = 0,
P




 i=1
(KT ) λi gi (x∗ ) = 0, i = 1, 2, . . . m,



λi ≤ 0, i = 1, 2, . . . m.

2. Si f est pseudo convexe et gi , i = 1, 2, . . . m, quasi-convexes, une condition nécessaire


et suffisante pour que x∗ soit solution optimale pour le problème (P ), est qu’il existe λ ∈ Rm
vérifiant les conditions du système (KT ).

1.5 Programmation fractionnaire linéaire


Lorsque dans un problème fractionnaire les fonctions f , h et gi i ∈ {1, 2, . . . , m}, sont
des fonctions linéaires, le problème est dit programme fractionnaire linéaire ( Linear Fractionnal
Program), et se modélise de la manière suivante :

ct x + c0



 max Z =
(LF P )  dt x + d0
 s.c. S = {x ∈ Rn : Ax ≤ b, x ≥ 0} .

où c et d sont des n-vecteurs colonnes, c0 et d0 , des réels, b, un m-vecteur colonne, et A


une m ∗ n-matrice.
On pose l’hypothèse suivante :
L’ensemble S est supposé borné et non vide, et dt x + d0 6= 0 sur S.
Justification :
Soient x1 et x2 ∈ S tel que : dt x1 + d0 > 0 et dt x2 + d0 < 0.
Comme S est convexe, alors il existe x3 tel que x3 = λx1 + (1 − λ)x2 et dt x3 + d0 = 0,
d’où dt x + d0 6= 0, par convention on prend dt x + d0 > 0

Selon Steuer [20], les programmes fractionnaires linéaires présentent l’intérêt particulier d’avoir
pour leurs fonctions objectifs des courbes de niveaux linéaires. Pour illustrer cette propriété,

13
Chapitre 1. Programmation fractionnaire

considérons une z̄-courbe niveau quelconque de la fonction objectif :

ct x + c0
z̄ =
dt x + d0

⇔ z̄(dt x + d0 ) = ct x + c0

⇔ (ct − z̄dt )x = z̄d0 − c0

z̄ étant quelconque, il est donc clair que chaque courbe de niveau est une expression linéaire sur
S, respectant la contrainte de positivité stricte du dénominateur.
Si un programme fractionnaire linéaire possède une solution optimale, il existera donc au moins
un point extrême de S optimal.

Théorème 1.11. : de Martos [4]


La solution optimale d’un programme fractionnaire linéaire est représentée par l’un des sommets
extrêmes du domaine admissible S.

Malgré la linéarité des courbes de niveaux de la fonction objectif, lorsque c 6= 0, d 6= 0 et c 6= ωd


pour tout ω ∈ R, les courbes de niveaux ne sont pas parallèles comme dans le cas
de la programmation linéaire.
On appelle ensemble de rotation, l’ensemble de tous les points d’intersection entre la 0-courbe
niveau du numérateur et la 0-courbe niveau du dénominateur. L’ensemble de rotation est appelé
point de rotation dans R2 et axe de rotation dans R3 .

14
Chapitre 1. Programmation fractionnaire

Les éléments de cet ensemble sont déterminés par la résolution du système :




 ct x = −c0

 dt x = −d0
Exemple illustratif :
On considère le programme fractionnaire linéaire suivant :
x1 + x2 − 1


 max Z =
5x1 + x2 − 1







3x1 + 2x2 ≥ 6
(LF P ) 



 x1 ≤ 3, x2 ≤ 3


x1, x2 ≥ 0

La courbe de niveau z est l’ensemble CN définit par :

CN = {(x1 , x2 ) : (1 − 5z)x1 + (1 − z)x2 = 1 − z}

Cela donne :
– pour z̄ = 0, x1 + x2 = 1 : courbe de niveau 0,
– pour z̄ = 1, x1 = 0 : courbe de niveau 1.

Figure 1.1: Représentation graphique de l’exemple

15
Chapitre 1. Programmation fractionnaire

Les lignes discontinues sont les courbes de niveau 0 du numérateur et du dénominateur dont
l’intersection est le point rotation r = (0, 1). La flèche circulaire représente le gradient
de la fonction fractionnaire linéaire, elle indique le sens et l’angle de déplacement des courbes
de niveaux respectivement, tandis que c et d représentent les gradients des courbes de niveau 0
du numérateur et du dénominateur. Le point extrême x4 = (0, 3) de valeur optimale z ∗ = 1 est
l’intersection du domaine S avec la courbe de niveau 1, obtenue en faisant déplacer la courbe
de niveau 0 autour du point r suivant le sens trigonométrique de rotation.

1.6 Résolution d’un LFP


La forme particulière des LFP a fait que de nombreux auteurs ont entrepris d’élaborer
des méthodes de résolution spécifiques qui se sont avérées plus efficaces que l’application directe
des méthodes générales de la programmation non linéaire.
Dans la littérature émergent trois grandes stratégies de résolution d’un programme fractionnaire
linéaire :

1.6.1 Résolution directe


Dans cette stratégie, le LFP est traité sous sa forme originale. Cette approche est utilisée pour
résoudre les LFPs tant en variables continues qu’en variables entières. Une méthode connue
de ce type de résolution est la méthode de Cambini et Martein [1].
Méthode de Cambini et Martein [1] :
Cette méthode est une version améliorée de la méthode de Martos [4].
Soit le LFP suivant :

ct x + c0



 max(Z) =
(LF P ) dt x + d0
 s.c. x ∈ S = {x ∈ Rn : Ax ≤ b , x ≥ 0} .

Définition 1.20. :
Un point réalisable x̄ est une solution niveau optimale pour le problème (LFP), si x̄ est
une solution optimale pour le programme linéaire suivant :


 max ct x + c0
(P (x̄))

 sc x ∈ S dx = dx̄.
Si de plus x̄ est un point extrême de S, x̄ est dit solution niveau optimale de base.

16
Chapitre 1. Programmation fractionnaire

L’algorithme de Cambini et Martein [1] génère une séquence finie de solutions niveau optimales
dont la première x0 étant une solution optimale du programme linéaire (Px0 ). Si cette solution
est unique, alors elle est une solution niveau optimal pour le (LF P ), sinon on résoudre (Px0 )
pour obtenir une solution niveau optimale de base.

Théorème 1.12. (de Martos [4]) :


Le point x0 de S est une solution optimale du (LFP) si et seulement si le vecteur gradient réduit
γ̄ = d¯0 c̄ − c¯0 d¯ est tel que γ¯j ≤ 0 pour tout les indices hors base j.

Algorithme de Cambini, Martein [1] :


Étape 1 :
Trouver la solution niveau optimale x1 ;
- Si une telle solution n’existe pas, alors supx∈S Z(x) = +∞, terminer.
- Sinon, poser k = 1 et aller à l’étape (2).
Étape 2 :
k
(a) Si J = {j : dj > 0} = ∅, terminer, ( x) est une solution optimale du (LFP).
c̄s c̄j
(b) Sinon, soit s tel que ¯ = max ¯ .
ds j∈J dj
- Si γ̄s > 0, aller à l’étape (3).
- Sinon, terminer, xk est une solution optimale du (LFP).
Étape 3 :
La variable hors base xs entre dans la base en moyennant une opération de pivotage, poser
k = k + 1 et aller à l’étape (2).
c̄s
Si une telle opération n’est pas possible, terminer, supx∈S Z(x) = ¯ .
ds

1.6.2 Résolution par équivalence


A l’inverse des méthodes directes on peut simplifier la fonction objectif par l’intermédiaire
d’un changement de variables. Ce dernier permet de simplifier l’objectif d’un LFP en un simple
programme linéaire (PL), ce qui revient à transformer la fonction objectif en une fonction
linéaire, mais conduit parfois à l’augmentation de la taille de l’ensemble des contraintes par
addition d’autre contraintes.
Méthode de Charnes and Cooper [2] :
Soit le LFP suivant :
ct x + c0



 max(Z) = t
(LF P ) d x + d0
 sc x ∈ S = {x ∈ Rn : Ax ≤ b , x ≥ 0} .

17
Chapitre 1. Programmation fractionnaire

Charnes and Cooper [4] ont montré qu’à l’aide de la transformation suivante :

1

 t=
dt x + d0
y = tx

Un LFP peut se reduire en un programme linéaire.


Ce qui permet de réduire le (LFP) en un programme linéaire (PL) qui est le suivant :


 max ct y + c0 t
(P L)

 s.c. Ay − bt ≤ 0, dt y + d0 t = 1et y, t ≥ 0.

où y ∈ Rn et t ∈ R.
La notion d’équivalence est précisée par la propriété suivante :

Propriété 1.2. :
y∗
Si (y ∗ , t∗ ) est une solution optimale du problème équivalent (PL), alors t∗ > 0 et x∗ = est
t∗
une solution optimale du (LFP).

Cette transformation du LFP en un programme linéaire PL équivalent a pour but d’appliquer


les algorithmes standards tels que la méthode du Simplexe.

1.6.3 Résolution par paramétrisation


Afin de simplifier l’objectif du (LFP), on introduit un paramètre permettant la construction
d’un problème à objectif simplifié par combinaison linéaire du numérateur et du dénominateur.
Cette paramétrisation permet contrairement à l’approche par équivalence, de simplifier la fonc-
tion objectif du (LFP) tout en gardant inchangé l’ensemble des contraintes. Ainsi le programme
obtenu peut être résolu « paramétriquement » : une séquence de résolution de tels programmes
à objectif simplifié, engendre une suite de solutions convergeant vers une solution optimale
du programme fractionnaire initial.
Méthode de Dinkelbach [22] :
Soit le LFP suivant :
ct x + c0



 max(Z) =
(LF P )  dt x + d0
 sc x ∈ S = {x ∈ Rn : Ax ≤ b , x ≥ 0} .

Le programme paramétré associé du LFP s’écrit comme suit :




 max(v(λ)) = (ct − λdt )x + (c0 − λd0 )
(Q(λ))

 sc x ∈ S = {x ∈ Rn : Ax ≤ b , x ≥ 0} .

18
Chapitre 1. Programmation fractionnaire

∗ ct x ∗ + c0

Soit x une solution optimale du (LFP) et λ = t ∗ .
d x + d0

Dinkelbach [6] a montré que : v(λ) = 0 ⇔ λ = λ .

Algorithme de Dinkelbach [22] :


Étape 1 :
ct x 1 + c0
Choisir arbitrairement une solution initiale x1 ∈ S, poser Q(2) = et λ = 2.
dt x1 + d0
Aller à l’étape (2).
Étape 2 :
Résoudre le programme linéaire paramétré :
F (Qλ ) = max {(ct − Qλ dt )x + (c0 − Qλ d0 ) : x ∈ S}, soit xλ la solution optimale de F (Qk ).
Aller à l’étape (3).
Étape 3 :
- Si F (Qλ ) ≤ δ (δ est la tolérance d’optimalité), xλ est la solution optimale du problème,
fin d’algorithme.
- Sinon aller à l’étape (2) avec λ = λ + 1 et Qλ = Qλ+1 .

Propriété 1.3. :
Toute solution optimale de Q(λ∗ ) est une solution optimale de (LFP).

1.7 Conclusion
Au cours de ce chapitre, nous avons présenté la formulation des problèmes fractionnaires ainsi
que les éléments de base de la programmation fractionnaire avec quelques résultats théoriques
afin de comprendre de manière explicite le travail qui a été fait.
Ensuite, nous avons parlé d’une classe intéressante de problèmes fractionnaires, c’est celle
des problèmes modélisés sous forme de programme fractionnaire linéaire.
Nous avons terminé ce chapitre en exposant quelques méthodes de résolution des LFPs, tout en
rappelant les algorithmes les plus utilisés.

19
Programmation fractionnaire linéaire discrète
2
2.1 Introduction
Dans la réalité, la plupart des cas pratiques de problèmes de programmation fractionnaire
linéaire sont discrets, c’est-à-dire à composantes entières, un programme fractionnaire linéaire
en nombres entiers (Integer Linear Fractional Program) a la même formulation mathématique
qu’un programme fractionnaire linéaire continu, à laquelle se rajoute un bloc de contraintes
d’intégrité imposées aux les variables de décision. Une formulation mathématique est la suivante :

ct x + c0

max(Z) =



dt x + d0



(ILF P ) sc x ∈ S




x entier.

où S = {x ∈ Rn : Ax ≤ b , x ≥ 0}, c et d sont des n-vecteurs collones, c0 et d0 des réels,


b un m-vecteur colonne, et A une m ∗ n-matrice.

20
Chapitre 2. Programmation fractionnaire linéaire discrète

2.2 Résolution d’un ILFP


De nombreuses méthodes exactes ont été proposées pour la résolution des problèmes modélisés
sous forme d’ILFP. Dans cette section nous verrons trois méthodes de résolution d’un ILFP,
en citant un algorithme pour chaque méthode.

2.2.1 Résolution directe


Cette méthode s’inspire des méthodes directes de résolution des LFPs, voici une méthode
proposé par Granot and Granot [8].
Méthode de Granot and Granot [8] :
Basée sur la méthode de Martos [4], elle est totalement en nombres entiers pour la résolution
des ILFPs. Dans cette méthode, la structure originale des contraintes est maintenue
et les itérations sont réalisées dans un tableau du simplexe augmenté qui comprend m + 3
lignes supplémentaires.
Les m premières lignes correspondent aux contraintes originales du problème, les lignes (m + 1)
et (m + 2) correspondent aux numérateur et dénominateur de l’objectif fractionnaire
du problème ILFP, et la ligne (m + 3) correspond au vecteur gradient réduit γ̄.

Une fois que le vecteur gradient réduit calculé pour les variables hors base, on teste :
– Si γ̄j ≤ 0 pour tout les indices j hors base et que la solution courante est entière, alors cette
solution est optimale pour le ILPF.
– Sinon, il existe
( un indice) hors base s pour lequel γ̄s > 0. Soit θr tel que :
bi s
θr = min s : Ai > 0 alors la ligne r sert comme pivot pour générer une coupe
Ai  
 j $ %
P  Ar  b r
de la forme : v + j∈N  s  xj = s .
Ar Ar
Cette coupe est rajoutée au tableau du simplexe pour servir comme ligne pivot, avec la colonne s
comme colonne pivot. Sachant que la valeur du pivot dans ce cas est 1, les nouveaux coefficients
obtenus après l’exécution des opérations pivot usuelles sont tous des nombres entiers.

21
Chapitre 2. Programmation fractionnaire linéaire discrète

2.2.2 Résolution par séparation et évaluation progressive


La méthode par séparation et évaluation progressive dite aussi méthode "’branch and bound"’
a été spécialement élaborée pour des problèmes en variables discrètes. Le déroulement
de la méthode est constituée principalement de trois procédures :
Au nœud 0 de l’arborescence :
On pose U un majorant de la valeur optimale de la fonction objectif Z et on résout le problème
relaxé (P LF ).
Procédure de séparation :
– Si la solution optimale x̂ est à composantes entières, alors x̂ est aussi solution optimale
de (ILF P ).
– Sinon, choisir une composante xj fractionnaire de x̂.
Partitionner l’ensemble des solutions en deux sous-ensembles en ajoutant l’une ou l’autre
des contraintes suivantes xj ≤ bx̂j c ou xj ≥ dx̂j e où dαe = bαc + 1 , bαc étant la partie entière
du nombre réel α. Deux nouveaux nœuds sont alors créés.
Procédure d’évaluation :
Résoudre le problème (P LF ) avec la nouvelle contrainte.
Procédure de stérilisation :
Trois cas peuvent se présenter :

1. Si la nouvelle solution optimale x obtenue du problème relaxé est telle que Z(x) ≤ U .

2. Si le dual du simplexe implique qu’il n’y a pas de solutions réalisables.

3. Si la solution optimale x est réalisable entière pour le problème initial (ILF P ). Si de plus,
la valeur de la fonction objectif du problème relaxé Z(x) > U , alors poser U = Z(x)
et garder la solution x comme meilleure solution de la branche courante.

A un nœud k :
Faire toujours l’évaluation, le test de stérilisation et éventuellement, vérifier la séparation.
La méthode s’arrête lorsque tous les noeuds pendants de l’arborescence sont sondés.

2.2.3 Résolution par paramétrisation


Cette méthode est une extension sur les ILFPs de la résolution par paramétrisation des LFP.
Seshan and Tikekar [7] ont proposé un algorithme basé sur l’approche paramétrique du problème
de programmation fractionnaire donnée par Dinkelbach [22].

22
Chapitre 2. Programmation fractionnaire linéaire discrète

Méthode de Seshan and Tikekar [7] :


Étape 1
– Soit x0 une solution réalisable de (P ).
– Poser i = 0.
Étape 2
cxi + c0
– Poser λi+1 = .
dxi + d0
Puis résoudre le PLNE Q(λi+1 ), soit x̂ sa solution optimale.
– Si x̂ = xi alors fin, x̂ est une solution optimale de (P ).
– Sinon, poser i = i + 1, xi = x̂ et aller à l’étape 2.

2.3 Une méthode de résolution


Dans cette section, nous proposons une méthode exacte basée sur le processus de branchement
et utilisant une transformation du problème est proposée dans le but d’obtenir une solution
entière pour les problèmes ILFPs.

2.3.1 Transformation du problème


Soit l’ILFP suivant :
ct x + c0

max Z =



dt x + d0



(PF ) Ax = b




x ≥ 0, x entier.

On distinguera quatre cas possibles, les trois premiers sont des cas particuliers car ils se ramènent
tout au plus à la résolution d’un PLNE, par-contre le quatrième cas représente le cas général.
Premier cas : d = 0
ct c0
Si d = 0, alors Z devient une fonction linéaire : Z = x + , dans ce cas le ILFP devient
d0 d0
un simple PL en nombres entiers et on résout :

ct

c0
max Z = x+



d0 d0



(P L1 )  Ax = b


x ≥ 0, x entier.

23
Chapitre 2. Programmation fractionnaire linéaire discrète

Deuxième cas : c = 0
c0
Alors Z = t , dans ce cas on résout le PL en nombres entiers :
d x + d0

dt

d0
max Z 0 = x+



c0 c0



(P L2 ) Ax = b




x ≥ 0, x entier.

Après la résolution soit x∗ la solution de (P L2 ), cette solution est aussi une solution pour
1
le ILFP (PF ) et la valeur de la fonction objectif sera Z = 0 ∗ .
Z (x )
Troisième cas : c = µd µ 6= 0
Les vecteurs c et d sont linéairement liés, alors dans ce cas, Z prend la forme suivante :

µdt x + c0
Z= t
d x + d0

µdt x + µd0 + c0 − µd0


=
dt x + d0
c0 − µd0
=µ+ t
d x + d0
1. Si c0 −µd0 = 0, alors Z = µ est une constante, et toute solution entière du système Ax = b
correspond à une solution optimale du (PF ).

2. Si c0 − µd0 6= 0, alors on résout le PL en nombres entiers suivant :






 min Z 00 = dt x + d0

(P L3 )  Ax = b


x ≥ 0, x entier.

La solution optimale du problème (P L3 ) correspond à une solution optimale du problème


c0 − µd0
(PF ), et la valeur de la fonction objectif sera Z = µ + 00 ∗ .
Z (x )
Quatrième cas (cas général) :
Dans le cas général, on procède à un changement de variable de Hasan et Acharjee [13].
On commence d’abord par relâcher les contraintes d’intégrité, ce qui rend le problème (P )
du type LFP, soit (P 0 ) un tel LFP :

ct x + c0

max Z =



dt x + d0



(P 0 ) Ax = b




x ≥ 0.

24
Chapitre 2. Programmation fractionnaire linéaire discrète

On peut alors convertir le problème relaxé (P 0 ) en simple LP.


Transformation de la fonction objectif :
En multipliant par d0 le numérateur et le dénominateur de la fonction objectif, on obtient :

ct x + c0 d0 ct x + d0 c0
Z= =
dt x + d0 d0 (dt x + d0 )

d0 ct x + c0 dt x − c0 dt x + d0 c0
=
d0 (dt x + d0 )
(d0 ct − c0 dt )x + c0 (dt x + d0 )
=
d0 (dt x + d0 )
c0 x c0
= (ct − dt ) t +
d0 d x + d0 d0
= pt y + p0 = F (y).
c0 c0 x
où : p = c − d, p0 = et y = t .
d0 d0 d x + d0
Transformation de la matrice des contraintes et du second membre :
Une fois encore, sachant que dx + d0 > 0, nous avons :

d0 (Ax − b)
Ax = b ⇔ Ax − b = 0 ⇔ =0
d0 (dt x + d0 )

d0 Ax + bdt x − bdt x − d0 b
⇔ =0
d0 (dt x + d0 )
b t
d0 (A + d )x − b(dt x + d0 )
d0
⇔ =0
d0 (dt x + d0 )
b t x b b b
⇔ (A + d) t = ⇔ Gy = h, avec : G = A + dt et h = .
d0 d x + d0 d0 d0 d0
On obtient donc le programme linéaire suivant :




 max F (y) = pt y + p0

(LP ) Gy = h



y ≥ 0.

Contrainte d’intégrité :
Afin de préserver les contraintes d’intégrité imposée sur les variables du problème (PF ), il est
d0 yi
important de considérer la condition xi est entière n’est satisfaite que si et seulement si
1 − dt y
l’est.

25
Chapitre 2. Programmation fractionnaire linéaire discrète

Si le problème (LP ) est écrit sous forme canonique par rapport à une base B, cette contrainte
s’exprime alors sur l’ensemble des variables comme suit :
d0 h
le vecteur est entier
1 − dtB h
Calcul des variables inconnues du LFP (PF ) :
A partir du programme linéaire précédent, on a :

y = x/(dt x + d0 ) .

En utilisant cette définition on obtient :

x = d0 y/(1 − dt y).

2.3.2 Principe de la résolution


Soit le programme fractionnaire linéaire en nombres entiers (P ) suivant :

ct x + c0

max Z =


dt x + d0






(P )  Ax = b

 x≥0







x entier.

Tout d’abord, du fait du relâchement des contraintes d’intégrité imposées aux variables
du problème (P ), ce dernier devient alors un programme fractionnaire linéaire, soit (P 0 ) un tel
LFP.
ct x + c0

max Z =



dt x + d0



(P 0 )  Ax = b


x≥0

Ensuite, par le biais du changement de variables de Hasan et Acharjee [13], on transforme le


programme fractionnaire linéaire (P 0 ) en un simple programme linéaire (Q) et la résolution sera
faite en utilisant le principe de séparation et évaluation.


 max F (y) = pt y + p0
(Q)

 x ∈ S = {Gy = h, y ≥ 0} .

26
Chapitre 2. Programmation fractionnaire linéaire discrète

Pour cela, on résout le programme linéaire (Q) par l’algorithme du simplexe. Si le programme
linéaire équivalent (Q) n’admet pas de solution, alors le programme fractionnaire linéaire en
nombres entiers initial (P ) n’a pas de solution, s’il admet des solutions, soit ỹ la solution
optimale de (Q).
Dans le cas où ỹ correspond à une solution entière pour le programme fractionnaire linéaire en
nombres entiers initial (P ), alors on calcule la solution x correspondante, et la valeur
de la fonction objectif associée a cette solution sera la même que celle du problème (Q).
Dans le cas contraire, ỹ ne correspond pas à une solution entière pour le programme fractionnaire
linéaire en nombres entiers initial (P ), deux nouveaux domaines sont créés par le processus de
branchement, a chacun d’eux on associe un programme linéaire qui sera résolu par le même
processus, mais en utilisant l’algorithme dual du simplexe.
Le processus s’arrête lorsque tout les domaines créés sont explorés, un domaine sera considéré
comme exploré si le sommet correspondant dans l’arborescence est sondé, un sommet est sondé
s’il appartient a l’un des trois cas de stérilisation.
Au nœud ”0” de l’arborescence, on associe le programme linéaire (Q0 ) qui est le problème (Q)
et donc son domaine S0 sera égal à S.


 max F (y) = pt y + p0
(Q0 ) 
 y ∈ S0 = S.

Initialement, on résout le programme linéaire (Q0 ) par l’algorithme du simplexe, si le programme


linéaire (Q0 ) admet une solution optimale, l’algorithme du simplexe donne les sorties suivantes :
G̃ = (G̃B |G̃N ), où : G̃B = I et G̃N = G−1
B GN ,

h̃ = G−1 t t t
B h , p̃ = p − (pB G̃) , p˜0 = p0 + pB h̃,

et la solution ỹ = (ỹB |ỹN ) avec : ỹB = h̃ et ỹN = 0, la valeur de la fonction objectif F (ỹ) = p˜0 .
Si la solution optimale ỹ du programme linéaire (Q0 ) correspond à une solution entière pour le
d0 h̃
programme fractionnaire linéaire en nombres entiers initial (P ), i.e. le vecteur est entier,
1 − dtB h̃
d0 ỹ
alors terminer, la solution x̃ = est une solution optimale du programme fractionnaire
1 − dt ỹ
linéaire (P ).
Sinon, le nœud ”0” est séparé en deux nœuds ”1” et ”2”, et on associe à ces deux nœuds les
programmes linéaires (Q1 ) et (Q2 ) suivants :
 

 max F (y) = pt y + p0 
 max F (y) = pt y + p0
(Q1 ) (Q2 )

 y ∈ S1 . 
 y ∈ S2 .

27
Chapitre 2. Programmation fractionnaire linéaire discrète

Les domaines S1 et S2 sont obtenus comme suit :


w w w+1 t w+1
   
S1 = S0 ∩ yj + dt y ≤ , et S2 = S0 ∩ yj + dy≥
d0 d0 d0 d0
$ %
d0 h̃
où : w = , et j est l’indice d’une variable ne correspondant pas à une composante
1 − dtB h̃
entière pour le programme fractionnaire linéaire en nombre entiers (P ).
D’une manière générale, chaque programme linéaire (Ql ) correspond à un nœud l dans l’arbores-
cence structurée. Si la solution optimale ỹ du programme linéaire (Ql ) ne correspond pas à une
solution entière, le nœud l de l’arborescence est alors séparé en deux nœuds qui lui sont imposés
par les contraintes supplémentaires sur une variable ne correspondant pas à une composante
entière pour le programme fractionnaire linéaire en nombres entiers (P ), soit j l’indice d’une
telle variable, et on a les contraintes suivantes : $ %
w t w w+1 t w+1 d0 h̃
yj + d y ≤ , et yj + dy≥ , où : w = .
d0 d0 d0 d0 1 − dtB h̃
Dans chaque nœud, le programme linéaire doit être résolu par le même processus jusqu’à l’ob-
tention de l’un des trois cas de stérilisation suivants :

1. Si la nouvelle solution optimale ỹ obtenue du programme linéaire (Ql ) est telle que F (ỹ)
est mauvaise que l’évaluation exacte courante.

2. Si le dual du simplexe implique qu’il n’y a pas de solutions réalisables.

3. Si la solution optimale ỹ correspond à une solution entière pour le programme fractionnaire


linéaire en nombres entiers (P ). Si de plus, la valeur de la fonction objectif du programme
linéaire (Ql ), F (ỹ) est meilleure que l’évaluation exacte de la branche courante, alors
F (ỹ) devient l’évaluation exacte de la branche courante et on garde la solution ỹ comme
meilleure solution de la branche courante.

Le choix de la variable sur laquelle on doit séparer (ou brancher) est fait suivant le calcul de
pénalités de Beale et Small.
Soit F̃ l’évaluation d’un nœud l de l’arborescence, et ỹ la solution optimale du programme
linéaire (Ql ) associé au nœud l. La séparation du nœud l se fait sur l’une des composantes
yr de valeur y˜r ne correspondant pas à une composante entière de la solution de programme
fractionnaire linéaire en nombres entiers (P ). On désigne par J l’ensemble des indices r de
ces composantes. Soit r l’indice de la variable sur laquelle on doit séparer, et soit les nœuds
h et k les deux branches du nœud l de telle sorte qu’on associe au nœud h le domaine
w t w w+1 t w+1
 
Sh = Sl ∩ yj + d y ≤ , et au nœud k le domaine Sk = Sl ∩ yj + dy≥
d0 d0 d0 d0

28
Chapitre 2. Programmation fractionnaire linéaire discrète

Les évaluations des( nœuds h et k sont ) F̃ − p− +


r et F̃ − pr respectivement, avec :
p̃j
p−
r = fr × minj∈N /G̃rj > 0
−G̃rj( )
+ p̃j
pr = (1 − fr ) × minj∈N /G̃rj < 0
$ G̃ rj %
d0 y˜r d0 y˜r
Où : fr = − et N représente l’indice des variables hors base.
1 − dtB h̃ 1 − dtB h̃
Les quantités p− +
r et pr sont appelées pénalités associés au choix de la variables yr , pour faire le

choix de la variable sur laquelle on doit séparer, on calcule les ensembles des pénalités
P − = {p−
r /r ∈ J} et P
+
= {p+
r /r ∈ J} est on sépare suivant la variable de plus forte pénalité,

le choix de la branche qu’on doit explorer en premier se fait d’une manière où si la plus forte
pénalité appartient à l’ensemble P − alors le nœud h est plus petit que le nœud k sinon le nœud
k est plus petit que le nœud h.
Beale et Small ont proposé une procédure où on cherche à mettre d’abord en évidence les
solutions les plus mauvaises, une plus forte pénalité entraine une plus forte diminution sur la
fonction objectif. On fait donc la séparation sur la variable de plus forte pénalité et on explore
le sommet opposé au sommet associé à cette plus forte pénalité. Le sommet choisi correspond
donc à la moins bonne évaluation.

2.3.3 Algorithme
L’algorithme de résolution d’un programme fractionnaire linéaire en nombres entiers (P ) est
présenté dans les procédures suivantes. Les nœuds de l’arborescence sont traités selon le principe
de retours en arrière vers le nœud le plus récemment créé (back- tracking).
Procédure initialisation :
– Transformer le ILFP (P ) en un LP (Q).
– Poser l = 0, v = −∞ , et x̃ non définie.
– Créer le premier nœud avec le programme linéaire (Q0 ) = (Q) et S0 = S.
– Aller à la procédure choix.
Procédure choix :

1. Si tout les nœuds sont sondés alors :


– Si x̃ est connue, alors x̃ est la solution optimale et v et la valeur de la fonction objectif
associée à cette solution.
– Si x̃ est non définie alors le ILFP (P ) n’admet pas de solution entière. Terminer.

29
Chapitre 2. Programmation fractionnaire linéaire discrète

2. S’il existe un nœud non encore sondé, alors :


– Choisir le nœud du plu grand numéro l non encore sondé.
– Si (Ql ) n’est pas évalué alors aller à la procédure évaluation.
– Si (Ql ) est évalué alors aller à la procédure séparation.

Procédure évaluation :
– Résoudre le problème (Ql ) associé au nœud l.
– Si (Ql ) n’admet pas de solution alors le nœud l est sondé, sinon soit ȳ est la solution optimale
associée à Ql ) et F (ȳ) est la valeur de la fonction objectif.
– Si F (ȳ) ≤ v alors le nœud l est sondé.
– Si F (ȳ) > v, alors :
– Si ȳ correspond à une solution entière pour le problème (P ), alors actualiser v = F (ȳ),
d0 ȳ
x̃ = et le nœud l est sondé, aller à la procédure choix.
1 − dt ȳ
– Si ȳ ne correspond pas à une solution entière pour le problème (P ), alors aller à la procédure
séparation.
Procédure séparation :
– Trouver l’ensemble J des indices des variables qui ne correspondent pas à une composante
entière pour le ILFP (P ).
– Calculer (les ensembles des pénalités P −(et P + tels que )) :
p̃ j
– P − = p− −
r /∀r ∈ J, pr = fr × minj∈N /G̃rj > 0
( − G̃ rj
( ))
+ + + p̃j
– P = pr /∀r ∈ J, pr = (1 − fr ) × minj∈N /G̃rj < 0
$ % G̃ rj
d0 ȳr d0 ȳr
avec fr = − ∀r ∈ J, B l’ensemble des indices de base et N l’ensemble des
1 − dtB h̃ 1 − dtB h̃
indices hors base.
– Choisir r∗ l’indice de la plus grande pénalité.
– Séparer le nœud l en deux nœuds h et k, h > l, k > l et h 6= k.
w w
Dans le tableau courant du simplexe, la contrainte : yr∗ + dt y ≤ est rajoutée et un
d0 d0
nouveau domaine est considéré au nœud h et de façon similaire, la contrainte :
w+1 t w+1
yr∗ + dy≥ est rajoutée pour obtenir un autre domaine au nœud k,
d0$ %d0
d0 h̃
où : w = .
1 − dtB h̃

30
Chapitre 2. Programmation fractionnaire linéaire discrète

– Si la plus grande pénalité est dans l’ensemble P − alors h < k sinon la plus grande pénalité
est dans l’ensemble P + et h ≥ k.
– Aller a la procédure choix.
Fin de l’algorithme.

2.3.4 Convergence algorithmique


Évidemment si l’algorithme précédent se termine à l’itération j, alors xj est la solution optimale
du problème, mais en générale on ne peut pas garantir ça, c’est à dire le fait de s’arrêter en un
nombre fini d’itérations, et si l’algorithme est infini, alors il engendre au moins une suite {Rk }
infinie de sous-ensembles des subdivisions successives telle que Rk+1 ⊂ Rk , k ∈ N.
Et donc, on doit montrer que chaque point d’accumulation de la suite des solutions {xk } cor-
respondantes est une solution optimale du problème donné.
Le théorème suivant démontre la convergence de l’algorithme précédent :

Théorème 2.1. :
Si pour chaque suite infinie {Rk },Rk+1 ⊂ Rk , k ∈ N des ensembles des partitions successives ,
les bornes inférieures et supérieures (LB et UB respect.) vérifient :

lim (U Bk − LBk ) = lim (U B(Rk ) − LBk ) = 0,


k→∞ k→∞

alors
U B = lim (U Bk ) = lim (f (X k )) = lim (LBk ) = LB.
k→∞ k→∞ k→∞

Et chaque point d’accumulation X ∗ de la suite {Xk } est une solution optimale de max f (X),
x ∈ S.

Preuve : A l’itération k, le sous-ensemble Rk sera choisi à partir de la règle suivante :

UBk+1 = max{U Bk1 , U Bk2 }

de l’algorithme ci-dessus, à la fin de l’itération k − 1, et donc :

31
Chapitre 2. Programmation fractionnaire linéaire discrète

UBk = U B(Rk )

Soit {Xk }la suite des solutions optimales engendrées par l’algorithme, comme S est un compact,
alors {Xk } a des points d’accumulations.
Soit X ∗ un point d’accumulation de la suite {Xk }, donc il existe une sous suite infinie de {Xk }
qui converge vers X ∗ , et comme f est continue alors :

limk→∞ (f (X k )) = f (X ∗ ).

Posons d’une part : f ∗ = {max{f (X), X inS}, la suite {U Bk } des bornes supérieures est
décroissante monotone, minoré par f ∗ donc la suite U B = limk→∞ (U Bk ) existe.
d’autre part, la suite {LBk } des bornes inférieures est croissante, majorée par f ∗ , donc sa limite :
LB = limk→∞ (LBk ) existe, et on a LBk = f (X ∗ ) ≤ f ∗ et ça implique que :

LB =f(X∗ ) = limk→∞ (f (X k )) ≤ f ∗ ≤ U B

Et donc l’algorithme converge vers une solution optimale.

2.3.5 Exemple illustratif


Pour illustrer le fonctionnement de notre méthode, nous considérons le problème de program-
mation fractionnaire linéaire en nombres entiers suivant :
x1 −4


 max(Z) =
− x2 + 3







−x1 + 4x2 ≤ 0
(P ) 



 2x1 − x2 ≤ 8


x1 , x2 entiers.

32
Chapitre 2. Programmation fractionnaire linéaire discrète

A l’étape "0", l’algorithme transforme le (P ) à l’aide du changement de variables de Hasan et


Acharjee [13] en un problème (Q) suivant :





max F (y) = −7/69 y1 − 4/3 y2 − 4/3



 − y1 + 4 y2 + y3 = 0
(Q)



 2 y1 − 11/3 y2 + y4 = 8


y1 , y2 , y3 et y4 ≥ 0.

Et avec les paramètre v = ∞ , et x̃ non définie, ensuite il crée le premier nœud avec le problème
(Q0 ) = (Q) pour le résoudre avec l’algorithme du simplexe qui donne le tableau optimal suivant :

B h y3 y4

y1 16/23 5/23 6/23


y2 4/23 7/23 3/46
p 4/69 -7/69 -12/23

Et la, après avoir calculer l’ensemble des pénalités, la variable sur laquelle on doit séparer est
la variable 1, donc deux nouveaux noœuds sont crées de la manière suivante :




 max F1 (y) = −7/69 y3 − 12/23 y4 + 4/69


y1 + 5/23 y3 + 6/23 y4 = 16/23






(Q1 ) y2 + 7/23 y3 + 3/46 y4 = 4/23



−7/69 y3 − 12/23 y4 + y5 = −4/69








 y1 , y2 , y3 , y4 et y5 ≥ 0




 max F2 (y) = −7/69 y3 − 12/23 y4 + 4/69


y1 + 5/23 y3 + 6/23 y4 = 16/23






(Q2 ) y2 + 7/23 y3 + 3/46 y4 = 4/23



5/69 y3 − 27/46 y4 + y5 = −7/69








 y1 , y2 , y3 , y4 et y5 ≥ 0
A cette étape l’algorithme commence d’abord à résoudre le programme linéaire (Q1 ) car sur
l’ensemble des pénalités P − et P + la plus grande pénalité appartient à P + et donc on commence
par le sommet opposé.
Le programme linéaire (Q1 ) est résolu par l’algorithme dual du simplexe est les résultats suivants
s’affichent :

33
Chapitre 2. Programmation fractionnaire linéaire discrète

B h y4 y5

y1 -6/7 15/7 4/7


y2 -3/2 3 0
y3 36/7 -69/7 4/7
p 0 -1 0

Une solution optimale ȳ est trouvée et correspond à une solution entière pour le problème initiale
(P ), cette solution a aussi une meilleure évaluation, donc ce nœud est sondé après avoir mis à
jour v et x̃.
Il reste encore nœud non encore sondé, le nœud "2", de la même manière on résout le programme
linéaire associé à ce dernier, le programme linéaire (Q2 ) n’admet pas de solution réalisable, donc
ce nœud est sondé par cause de non faisabilité.
Tout les noœuds créés sont sondés, l’algorithme prend fin avec la solution optimale entière :
x1 = et x2 = et a pour objectif la valeur 0.

34
Chapitre 2. Programmation fractionnaire linéaire discrète

2.4 Expérimentation et résultats


Le programme informatique de l’algorithme ILFPBS est codé sous matlab 7.0 et exécuté sur un
Dell Pentium (R) dual core CPU 2.30 Ghz et avec 2 Go de RAM. Le logiciel utilisé est testé
sur des instances générées aléatoirement. Nous montrons les résultats de l’expérience de calcul
dans le tableau suivant :

n m Temps Nombre Nombre d’itéra- Nombre de solu-


d’exécution d’itérations tions du simplexe tions entières
20 5 0.0720 20.4 38.2 3.4
10 0.1318 49.4 100.9 4.8
15 0.1583 19.2 108.2 3.1
30 10 0.1831 52.2 130.9 5.6
15 0.2733 32.6 110.4 4.3
20 0.1657 17.2 99.9 3.6
40 10 0.1110 28.0 75.4 4.9
20 0.2291 36.4 154.8 4.5
30 0.3194 38.6 195.6 4.2
60 20 0.4099 90.4 286.5 7.8
30 0.4266 14.6 274.6 5.0
40 0.7137 78.2 373.8 9.4
80 20 0.3642 64.4 212.7 6.4
40 0.5858 59.8 376.1 5.9
60 0.9041 42.8 506.4 7.0
100 40 0.8522 11.4 490.9 7.9
50 0.9455 79.2 603.0 8.4
60 1.4435 96.4 731.8 10.7
200 50 2.1322 194.2 959.3 21.1
100 3.9297 124.4 1782.0 10.2
150 9.1350 136.0 2976.8 16.9

La méthode est testée sur des instances avec des valeurs de m = n/4, n/2, et 3n/4 pour les
valeurs de n = 20, 40, 80 et 200, et m = n/2 − 10, n/2, et n/2 + 10 pour les valeurs de n = 60
et 100, et finalement m = n/2 − 5, n/2, et n/2 + 5 pour n = 30, générées aléatoirement. Les
coefficients sont des entiers non corrélés uniformément distribués dans l’intervalle [1, 100]

35
Chapitre 2. Programmation fractionnaire linéaire discrète

pour les contraintes et dans [1, 80] pour les fonctions objectifs, la valeur du second membre est
définie à 33% de la somme des coefficients (partie entière) de chaque contrainte, chaque instance
est résolue dix fois, afin d’analyser le comportement de la méthode proposé.
Après l’exécution de l’algorithme ILFPBS sur les instances proposées, nous constatons que la
méthode utilisée à pu résoudre ces instances moyennement importantes et ce dans un temps
d’exécution satisfaisant, nous signalons que la croissance du temps d’exécution est raisonnable,
ceci est du aux calculs des pénalités utilisées pour déterminer le branchement et que le pro-
gramme résout des problèmes linéaires au lieu de résoudre des problèmes fractionnaires.

2.5 Conclusion
Dans cette section nous avons élaborés une nouvelle technique de résolution d’un problème
ILFP utilisant dans un premier temps la transformation de Hasan et Acharjee [13] afin de
linéariser le problème, dans un second temps et pour résoudre efficacement le problème simplifié
nous utilisons la méthode "Branch and Bound" dotée du calcul de pénalité de Bill and Small
dans le but d’accélérer le processus de résolution. Vu la qualité résultats obtenus et afin de
mieux exploiter cette nouvelle technique de résolution, nous proposerons dans le chapitre 5 une
méthode de génération de toutes les solutions efficaces d’un problème fractionnaire linéaire en
nombres entiers à objectif multiples (voir chapitre 4 pour les définitions d’une solution efficace
et d’un problème fractionnaire linéaire en nombres entiers à objectif multiples).

36
Programmation multi-objectifs
3
3.1 Introduction
Dans la plupart des cas pratiques, lorsqu’on est face à un problème d’optimisation, la prise en
compte d’un critère unique est malheureusement insuffisante. En fait, on rencontre rarement ce
cas de figure. La plupart du temps, on a besoin d’optimiser simultanément plusieurs critères
souvent contradictoires. Dans ce type de problèmes, on aura recours à la programmation multi-
objectifs. Il ne s’agit plus dans ce cas de trouver une solution optimale mais une multitude
(ensemble) de solutions du fait que certains critères sont conflictuels, cet ensemble de solutions
représentant un compromis acceptable entre les différents objectifs souvent contradictoires.
En effet, si l’on prend l’exemple du dimensionnement d’une poutre devant supporter une charge
donnée reposant en son milieu, on va vouloir obtenir une poutre de section la plus petite possible,
et subissant la plus petite déformation possible. Dans cet exemple, de manière intuitive, on
s’aperçoit que répondre à l’objectif « poutre petite section » ne va pas du tout dans le sens
de répondre à l’objectif « petite déformation » ( voir Coello Coello, Christiansen, [5] pour la
modélisation mathématique de ce problème).

37
Chapitre 3. Programmation multi-objectifs

Figure 3.1: Déformation d’une poutre subissant une contrainte

Donc, quand on résoudra un problème d’optimisation multi-objectifs, on obtiendra une grande


quantité de solutions. Ces solutions, comme on peut s’en douter, ne seront pas optimales, au
sens où elles ne minimiseront pas tous les objectifs du problème.
Un concept intéressant, qui nous permettra de définir les solutions obtenues, est le compromis.
En effet, les solutions que l’on obtient lorsque l’on a résolu le problème sont des solutions de
compromis. Elles minimisent un certain nombre d’objectifs tout en dégradant les performances
sur d’autres objectifs.

3.2 Formulation d’un problème multi-objectifs


Un problème multi-objectifs consiste à optimiser (maximiser ou minimiser) simultanément K
fonctions réelles notées fk , k = 1, . . . , K, appelées critères, et souvent contradictoires, sur un
ensemble d’actions S. Ce problème peut être formulé mathématiquement comme suit :


 optimiserf (x) = (f1 (x), f2 (x), . . . , fK (x)) où k ≥ 2
(M OP ) 
 sc x ∈ S

et :
– x = (x1 , x2 , . . . , xn ) représente l’action ou le vecteur décision, étant xi les variables du pro-
blème, et n le nombre de ces variables.
– f (x) = (f (x1 ), f (x2 ), . . . , f (xn )) est le vecteur de k fonctions objectifs fi ou critères de déci-
sion, et K le nombre de ces variables.
– S est l’ensemble non vide des solutions réalisables du problème.
Sachant que :
– l’ensemble Rn qui contient S est l’espace de décision.
– l’ensemble RK qui contient D est l’espace des critères.
– l’ensemble D = f (S) est la projection de l’ensemble S à travers f .

38
Chapitre 3. Programmation multi-objectifs

Théorème 3.1. :
L’ensemble D est un polyèdre convexe dont les sommets sont des images des sommets de S.

3.3 Notions sur l’optimisation multi-objectifs


Comme il n’est pas possible dans la plupart des cas pratiques d’optimiser simultanément plu-
sieurs critères conflictuels, il existe généralement des solutions qui sont battues sur tous les
critères, et donc la résolution d’un problème d’optimisation multi-objectifs conduit à l’obten-
tion d’une multitude de solutions dites efficaces. En effet, les solutions n’admettent pas une
relation d’ordre total mais une relation d’ordre partiel notée , car une solution peut être
meilleure qu’une autre sur certains objectifs et moins bonne sur d’autres. Dans ce cas, la notion
de dominance est introduite.
Sans perte de généralité, nous supposerons pour la suite, que nous considérons des problèmes
de maximisation sauf indication contraire.

3.3.1 Relation de dominance


Lorsque nous avons résolu notre problème multi-objectifs, nous avons obtenu une multitude de
solutions. Seul un nombre restreint de ces solutions va nous intéresser. Pour qu’une solution
soit intéressante, il faut qu’il existe une relation de dominance entre la solution considérée et
les autres solutions. La relation de dominance pour un problème multi-objectifs est définie dans
l’espace des objectifs (critères RK ) et comme suit :

Définition 3.1. : La dominance


Soit les solutions x = (x1 , x2 , . . . , xn ) et y = (y1 , y2 , . . . , yn ), où x et y appartiennent à S.
On dit que le vecteur Z(x) domine le vecteur Z(y) si :
– x est au moins aussi bon que y sur tout les objectifs.
– x est strictement meilleur que y sur au moins un objectif.
Si Z(x) domine Z(y), nous allons écrire Z(x)  Z(y).

D’une manière équivalente, nous avons :

Définition 3.2. :
Un vecteur Z ∈ D domine un autre vecteur Z 0 ∈ D si et seulement si Zk est meilleur que Zk0 ,
∀k ∈ {1, . . . , K} avec au moins une inégalité stricte c’est-à-dire Zk ≥ Zk0 , ∀k ∈ {1, 2, . . . , K} et
Z 6= Z 0 .

39
Chapitre 3. Programmation multi-objectifs

Notons que pour toute paire de solution x et y, une et seulement une des affirmations suivantes
et vraie :
– Z(x) domine Z(y)
– Z(x) est dominé par Z(y)
– Z(x) et Z(y) sont équivalents au sens de la dominance.
la figure suivante représente une illustration graphique de ces affirmations :

Figure 3.2: Relation de dominance (cas de deux objectifs)

Propriété 3.1. :
Il est évident que la relation binaire de dominance : Telle qu’elle est définie ci-dessus,
– n’est pas réflexive, car une solution ne domine pas elle même,
– n’est pas symétrique, car on n’a jamais Z(x)  Z(y) et Z(y)  Z(x),
– est transitive, car si Z(x)  Z(y) et Z(y)  Z(z) alors Z(x)  Z(z).

Remarque 3.1. :
Notons en particulier que si Z et Z 0 appartiennent à D, la relation Z  Z 0 n’implique pas
Z 0  Z.

Définition 3.3. :
On dit que le vecteur Z ∈ D domine fortement le vecteur Z 0 ∈ D si et seulement si Zk > Zk0
∀k ∈ {1, 2, . . . , K}

Remarque 3.2. :
Si Z ∈ D est fortement dominé, alors il est dominé, mais le contraire n’est pas nécessairement
vrai.

40
Chapitre 3. Programmation multi-objectifs

3.3.2 L’efficacité
L’ensemble des solutions intéressantes du point de vue multi-objectifs, est l’ensemble des solu-
tions efficaces, contenu du fait que la relation de dominance n’est pas une relation d’ordre total
dans Rn , cet ensemble est cependant généralement de grande cardinalité.

Définition 3.4. : Solution efficace


Une solution x ∈ S est dite efficace (ou Pareto optimale) si le vecteur Z(x) est non dominé.

Ou d’une manière équivalente :

Définition 3.5. : Optimalité globale de Pareto


Une solution x ∈ S est optimale globalement au sens de Pareto, s’il n’existe pas de solution
y ∈ S tel que Z(y)  Z(x).

Définition 3.6. : Optimalité locale de Pareto


Une solution x ∈ S est optimale localement au sens de Pareto, s’il existe un réel δ > 0 tel qu’il
n’y ait pas de solution y ∈ S ∩ B(x, δ), y telle Z(y) domine Z(x), et B(x, δ) représentant la
boule de centre x et de rayon δ.

Résoudre un problème multi-objectifs revient alors à trouver, soit l’ensemble des solutions effi-
caces dans l’espace des décisions, soit l’ensemble des solutions non dominées dans l’espace des
critères.

Théorème 3.2. : Caractérisation d’une solution efficace


Soit x∗ une solution réalisable pour un problème multi-objectifs, x∗ est une solution efficace pour
ce problème si et seulement si, la valeur optimale de la fonction objectif ϕ est nulle dans le
programme linéaire suivant :
k

P



 max ϕ = vi


 i=1


(LP )  Zi (x) − vi = Zi (x ), i = 1, 2, . . . , K.

 x∈S





vi ≥ 0, i = 1, 2, . . . , K.

Définition 3.7. : Efficacité forte


Soit la solution réalisable x ∈ S, on dit que x est fortement efficace si le vecteur Z(x) corres-
pondant est fortement non dominé.

Une solution efficace est nécessairement fortement efficace, mais l’inverse n’est pas vrai.
La notion de l’efficacité forte n’est pas utile d’un point de vue pratique mais elle peut être utile
d’un point de vue théorique.

41
Chapitre 3. Programmation multi-objectifs

3.3.3 Surface de compromis


La surface de compromis (ou front de Pareto) est l’ensemble des points de S tels qu’aucune
image d’un autre point de S ne domine les images de ces points. La surface de compromis
est aussi appelée ensemble des solutions efficaces. L’allure de cette frontière prend des formes
différentes selon que les objectifs doivent être minimisés ou maximisés, la figure suivante montre
l’allure de la surface de compromis pour le cas de deux objectifs :

Figure 3.3: Allure de la frontière Pareto (cas de deux objectifs)

Front minimal et front maximal complet : La définition du front se réfère à l’espace des
critères. Une solution réalisable appartient au front si son vecteur critère n’est pas dominé par le
vecteur critère d’une autre solution réalisable. Lorsque deux solutions réalisables ont exactement
le même vecteur critère, une question importante est de savoir s’il est intéressant de garder ces
deux solutions différentes. La réponse, en plus de dépendre de la volonté des décideurs, pourrait
également dépendre du contexte (type de problème étudié).
– Lors de la résolution d’un problème comportant énormément de solutions efficaces, il est
préférable de privilégier une bonne approximation de l’ensemble du front de Pareto et donc
favoriser la diversité (du côté critère) des solutions retenues.
– Au contraire, lorsque le front de Pareto comporte peu de solutions, afin d’avoir une bonne re-
présentation de l’ensemble des solutions efficaces, il sera intéressant de rechercher les solutions
de même valeur du point de vue objectif.
Nous parlons alors de la recherche du front minimal dans le premier cas et du front maximal
complet dans le second.

42
Chapitre 3. Programmation multi-objectifs

Représentation de la surface de compromis :


Toutes les représentations de la surface de compromis, pour un même problème, ne sont pas
équivalentes. En effet, la représentation idéale de la surface de compromis devra être constituée
de points solutions du problème répartis, de manière uniforme sur la surface de compromis.
Nous montrons deux représentation pour un même problème dans la figure suivante :

Figure 3.4: Représentation de la surface de compromis

Dans le premier cas, les points représentant la surface de compromis ne sont pas répartis de
manière uniforme. L’utilisateur n’aura alors pas en sa possession un ensemble de solutions très
utile. En effet, s’il décide que la solution qu’il avait choisie ne lui convient pas, le choix d’une
autre solution risque de faire varier brusquement tous ses objectifs, et cette nouvelle solution ne
lui conviendra pas non plus. Il est alors probable que la solution offrant le meilleur compromis
se trouve dans une zone qui ne soit pas représentée par des points solutions.
La détermination d’une bonne représentation de la surface de compromis sera un critère de
choix d’une méthode d’optimisation multi-objectifs.
Solutions supportées et solutions non supportées :
Sur le front de Pareto, selon que les vecteurs critères des solutions efficaces soient situées ou
non sur la frontière de l’enveloppe convexe de l’ensemble des critères, on distinguera deux cas :
– Dans le cas positif, ce sont les solutions supportées, qui peuvent être trouvées en résolvant
des combinaisons linéaires d’objectifs.
– Dans le cas négatif, ce sont les solutions non supportées, et sont généralement les plus difficiles
à trouver.

43
Chapitre 3. Programmation multi-objectifs

L’exemple suivant donne une illustration graphique pour le cas de deux critères :

Figure 3.5: Illustration graphique des solutions supportées et non supportées

3.3.4 Les points particuliers


En vue d’avoir certains points de références [6] permettant de discuter de l’intérêt des solutions
trouvées, des points particuliers ont été définis dans l’espace des critères. Ces points peuvent
représenter des solutions réalisables ou non. Ce sur le point idéal, le point nadir et le point
anti-idéal.
Point idéal :

Le point idéal I est un point de l’espace des critères RK de coordonnées : Ik = Z1∗ , Z2∗ , . . . , ZK
où Zk∗ = max Zk (x), ∀k = 1, 2, . . . , K, pour un problème de maximisation.
x∈S
En général, ce point ne correspond pas à une solution réalisable car si c’était le cas, cela sous-
entendrait que les objectifs ne sont pas contradictoires et qu’une solution optimisant un objectif,
optimise simultanément tout les autres objectifs, ce qui ramènerait le problème à trouver une
seule solution Pareto optimale.

44
Chapitre 3. Programmation multi-objectifs

Matrice des gains :


Soit x∗(l) une solution optimale du critère Zl non nécessairement unique. Notons par
Zkl = Zk (x∗(l) ).
La matrice carrée G d’ordre K formée des éléments Zkl , est appelée la matrice des gains.
 
Z
 1,1
Z1,2 . . . Z1,K 
 
 Z2,1 Z2,2 . . . Z2,K 
G=
 
 . .. ... .. 
 .
 . . . 
 
ZK,1 ZK,2 . . . ZK,K
Les coordonnées du point idéal apparaissent sur la diagonale.
Notons que la matrice des gains n’est pas unique. En effet, s’il existe un critère Zl ayant plus
d’une solution optimale, l’évaluation Zkl change suivant la solution optimale considérée.
Point nadir :
Le point nadir N est un point de l’espace des critère RK ayant pour coordonnées :
Nk = minx∈ef f Zk (x), ∀k = 1, 2, . . . , K, où ef f ⊂ S est l’ensemble des solutions efficaces du
problème multi-objectifs.

Remarque 3.3. :
Le point nadir correspond à la borne supérieure de la surface de Pareto, et non pas dans tout
l’espace réalisable. La recherche des coordonnées du vecteur correspondant est un problème (
pour le moins aussi difficile à résoudre) que celui de la recherche des solutions efficaces. Le
point nadir sert à restreindre l’espace de recherche, et il est utilisé dans certaines méthodes de
résolutions.

Une approximation du point nadir est donnée par : Ñk = min Zkl , ∀k = 1, 2, . . . , K, qui
l=1,K
représente le maximum de chaque colonne de la matrice des gains. Il est clair que si la matrice
des gains G n’est pas unique, l’approximation du point nadir Ñ ne le sera pas.
Point anti-idéal :
Le point anti-idéal I est aussi un point de l’espace des critères ayant pour coordonnées :
Ik = Z1∗ , Z2∗ , . . . , ZK

où Zk∗ = minx∈S Zk (x), ∀k = 1, 2, . . . , K, pour un problème de maximisa-
tion.

3.3.5 Autres relations de dominance


La relation de dominance n’offre pas de degrés de liberté dans sa définition. Par exemple, il n’est
pas possible d’inclure dans la définition de la relation de dominance la préférence d’un objectif

45
Chapitre 3. Programmation multi-objectifs

par rapport à un autre. C’est pour contrecarrer ce manque de flexibilité que des relations dérivées
de la relation de dominance ont été développées. Les solutions qui permettent de trouver ces
relations dérivées de la dominance sont toutes optimales au sens de Pareto. La grande différence
que l’on rencontre avec ces relations est que l’ensemble des solutions obtenues avec ces relations,
est un sous-ensemble de l’ensemble des solutions obtenues avec la relation de dominance de
Pareto.
Optimalité lexicographique :
Cette définition de l’optimalité permet d’inclure une préférence entre objectifs Ehrgott [15].

Définition 3.8. : Optimalité au sens lexicographique


Une solution x∗ ∈ S est optimale au sens lexicographique si : x∗ ≥lex x, ∀x ∈ S − {x∗ }.

Soient x et y ∈ S, on dit que x ≥lex y s’il existe une valeur d’indice q ∗ telle que xq = yq pour
q = 1, . . . , (q ∗ − 1) et xq∗ > yq∗ . Les relations entre xq et yq pour q ≥ q ∗ ne sont pas prises en
compte car on se limite à l’indice q ∗ (c’est le premier indice pour lequel xq > yq ).
Cette définition implique que l’utilisateur ait rangé par ordre d’importance les différents objec-
tifs. La comparaison entre les deux solutions se fera dans l’ordre de classement des objectifs.
Optimalité extrême :
Comme pour la relation d’optimalité lexicographique, cette relation permet d’établir une pré-
férence entre critères. Cette préférence est établie par pondération des objectifs selon leurs
importances respectives Ehrgott [15].

Définition 3.9. : Optimalité extrême


Une solution x∗ ∈ S est extrême-optimale si, étant donné un vecteur de poids λ ∈ RK tel que
k
λi = 1, x∗ est une solution optimale du problème de minimisation mono-critère ayant pour
P
i=1
fonction objectif :
k k k
λi x∗i ≥ λi xi , ∀x ∈ S − {x∗ }.
P P P
λi , donc
i=1 i=1 i=1

Optimalité maximale :
Cette relation, contrairement aux précédentes, ne permet pas d’introduire une préférence entre
objectifs Ehrgott [15].

Définition 3.10. : Optimalité maximale


Une solution x∗ ∈ S est max-optimale si la valeur du pire objectif est aussi petite que possible :
max x∗q ≥ max xq ∀x ∈ S − {x}.
q∈{1,...,K} q∈{1,...,K}

46
Chapitre 3. Programmation multi-objectifs

La dominance au sens de Geoffrion :


Une autre forme de dominance importante dans le monde de l’optimisation multi-objectifs est la
dominance au sens de Geoffrion (voir Miettinen [11] et Ehrgott [15]). Les solutions optimales
obtenues par ce type de dominance sont appelées les solutions Pareto optimales propres.

Définition 3.11. : Dominance au sens de Geoffrion


Une solution x∗ ∈ S est appelée solution Pareto optimale propre (ou au sens de Geoffrion) si :
– elle est Pareto optimale.
– il existe un nombre M > 0 tel que, ∀i et ∀x ∈ S vérifiant fi (x) < fi (x∗ ), il existe un indice j
fi (x∗ ) − fi (x)
tel que fj (x∗ ) < fj (x) et : ≤ M.
fj (x) − fj (x∗ )
Cette relation n’est quasiment jamais utilisée telle quelle. En général, on utilise plutôt un résultat
qui découle de cette définition. En effet, l’interprétation de cette définition faite dans Ehrgott
[9] est la suivante :
« Les solutions Pareto optimales propres ont des compromis bornés suivant leurs objectifs. »
Un théorème relatif à la méthode de pondération des fonctions objectifs utilisant ce résultat est
le suivant :

Théorème 3.3. Soit la méthode d’agrégation des fonctions objectifs suivante :


N
P
fe q(x) = ωi fi (x)
i=1
N
Supposons ∀i = 1, . . . , N, ωi > 0 avec
P
ωi = 1.
i=1
Si x∗ est une solution optimale obtenue en utilisant la méthode d’agrégation ci-dessus, alors
cette solution est aussi Pareto optimale propre.

La méthode de pondération des fonctions objectifs, avec des poids qui respectent les relations
ci-dessus, permet d’obtenir des solutions avec des compromis bornés.
D’autres relations de dominance comme la cône-optimalité et la a-dominance sont définies dans
Collette et Siarry [23].
Conclusion :
Ces différents types de relations de dominance permettent d’avoir suffisamment de degrés de
liberté pour choisir une relation qui reproduit au mieux le comportement d’un ingénieur ou d’un
décideur.
La dominance est donc un outil parmi d’autres, permettant de reproduire une démarche de
recherche d’optimum. Elle n’est pas la seule, bien sûr, mais elle est un élément important pour
la résolution d’un problème.

47
Chapitre 3. Programmation multi-objectifs

3.3.6 Détection graphique de l’efficacité


Soit le problème de programmation linéaire multi-objectifs en nombres entiers suivant :


 M aximiserf (x) = (f1 (x), f2 (x), . . . , fK (x))
(M OP )

 sc x ∈ S.

Pour tester l’efficacité en un point x∗ ∈ S, Steuer [20] a introduit le concept d’ensemble


dominant qui est basé principalement sur la notion du cône.

Définition 3.12. : Cône


Soit u ∈ U ⊂ Rn , U 6= ∅. Alors, U est un cône si et seulement si αu ∈ U pour tout scalaire
α ≥ 0. L’origine 0 ∈ Rn est contenue dans chaque cône.

Excepté l’ensemble singleton qui contient uniquement l’origine, tous les cônes sont non bornés.

Définition 3.13. : Générateurs


Considérons {u1 , u2 , . . . , uk }, un ensemble de k vecteurs de Rn et l’ensemble U tel que :
k
U = {u ∈ Rn , u =
P
αi ui , αi > 0}
i=1

U est l’ensemble de toutes les combinaisons linéaires à coefficients non négatifs des ui ,
i = 1, . . . , k et est le cône convexe engendré par l’ensemble {u1 , u2 , . . . , uk }. Les vecteurs ui ,
i = 1, . . . , k sont appelés les générateurs de U .

Le seul cône pour lequel l’ensemble des générateurs est unique est le cône {0 ∈ Rn }.
Soit {u1 , u2 , . . . , uk } un ensemble de générateurs pour le cône convexe U et soit ul ∈
{u1 , u2 , . . . , uk }. Alors, ul est générateur non essentiel si U peut être généré par
{u1 , u2 , . . . , uk }\{ul }. Un générateur non essentiel est celui qui peut être exprimé comme com-
binaison linéaire d’autres générateurs, sinon il est dit essentiel.

Définition 3.14. : Cône polaire


Soit U ∈ Rn un cône. Alors, le cône polaire non négatif de U (noté U ≥ ) est le cône convexe :

U ≥ = {y ∈ Rn , y t u ≥ 0 ∀u ∈ U }

C’est-à-dire, tous les vecteurs de U ≥ font un angle inférieur ou égal à 90˚ avec chaque vecteur
de U .

Définition 3.15. : Cône polaire semi positif


Soit U ⊂ Rn un cône généré par l’ensemble {u1 , u2 , . . . , uk }. Alors, le cône polaire semi positif
de U noté U > est le cône convexe :

48
Chapitre 3. Programmation multi-objectifs

n o
U > = y ∈ Rn , ∀i = 1, . . . , k : y t ui ≥ 0, ∃i ∈ {1, . . . , k} : y t ui > 0 ∪ {0 ∈ Rn }

Notons qu’un vecteur y ∈ U > doit avoir un produit scalaire positif avec au moins l’un des ui ,
i = 1, . . . , k. L’origine {0 ∈ Rn } est incluse, car sinon U > ne serait pas un cône.

Définition 3.16. : Ensemble dominant


Soit x∗ ∈ S et C > le cône polaire semi positif du cône C généré par les gradients des K fonctions
objectifs. On définit l’ensemble dominant noté EDx∗ , comme la somme des deux ensembles {x∗ }
et C > : EDx∗ = {x∗ } ⊕ C > .

L’ensemble dominant EDx∗ contient tous les points dont les vecteurs critères dominent le vecteur
critère de x∗ ∈ S. Notons que la somme des ensembles {x∗ } et C > effectue une translation du
cône polaire semi positif de l’origine vers le point en question.

Théorème 3.4. : Steuer [20]


Soit EDx∗ l’ensemble dominant en x∗ ∈ S. Alors x∗ est efficace si et seulement si :

EDx∗ ∩ S = {x∗ }.

Ce théorème fournit un test permettant de détecter les points efficaces pouvant être visuali-
sés géométriquement. Si l’intersection de l’ensemble dominant avec la région réalisable contient
seulement le point x∗ , alors x∗ est efficace, mais s’il existe d’autres points appartenant à l’inter-
section de ces deux ensembles, alors x∗ n’est pas efficace.

3.3.7 Conditions d’optimalité


Dans cette section, nous citons les conditions nécessaire et suffisante d’optimalité au sens de
Pareto formulées pour les problèmes multi-objectifs.

Définition 3.17. Le problème d’optimisation multi-objectifs est appelé convexe si et seulement


si toutes les fonctions objectifs sont convexes et l’espace réalisable est un ensemble convexe.

Nous sommes donc prêts maintenant à citer les conditions nécessaires et suffisantes d’optima-
lité. Nous supposons par la suite que toutes les fonctions objectifs, ainsi que les fonctions de
contraintes sont continues et différentiables.

Théorème 3.5. : Condition nécessaire de Fritz-John


Si x∗ est une solution Pareto-optimale du problème, alors, il existe deux vecteurs non nuls
λ, u ∈ RM pour lesquels (λ, u) 6= (0, 0), et tels que :

49
Chapitre 3. Programmation multi-objectifs

K m
λk ∇fk (x∗ ) − ui ∇gi (x∗ ) = 0 et
P P
1.
k=1 i=1
2. ui gi (x∗ ) = 0 pour i = 1, 2, . . . , m.
où les fonctions gi (x) = 0, i = 1, 2, . . . , m sont les fonctions des contraintes et fk , k = 1, 2, . . . , K
sont les fonctions objectifs.

Théorème 3.6. : Condition suffisante de Karush-Kuhn-Tucker


Si le problème multi-objectifs est convexe et si la condition nécessaire de Fritz-John est vérifiée,
alors, la solution x∗ est une solution Pareto-optimale du problème.

Les démonstrations des ces théorèmes sont détaillées dans ( [15] et [23]).

3.4 Résolution d’un problème multi-objectifs


Résoudre un problème d’optimisation multi-objectifs revient à rechercher tout ou partie de
l’ensemble des compromis optimaux du problème. D’un point de vue conceptuel, deux processus
distincts sont imbriqués au sein de la méthode de résolution : les processus de recherche et de
prise de décision. On distingue classiquement trois grandes familles de méthodes selon la manière
dont sont combinés ces processus :
– les méthodes a priori, pour lesquelles le compromis entre les différents objectifs est établi
avant l’exécution du processus d’optimisation,
– les méthodes a posteriori, pour lesquelles l’optimisation est effectuée sans qu’aucun classement
des objectifs ne soit initialement spécifié de la part du décideur,
– les méthodes progressives, pour lesquelles les processus de décision et d’optimisation sont
alternés, permettant au décideur d’orienter la recherche de façon interactive en fonction de
ses préférences et des solutions déjà obtenues.
Ce dernier type de démarche nécessite une expertise approfondie du problème considéré ainsi
que des outils employés, et requiert une adaptation particulière pour chaque problème traité.

3.4.1 Méthodes a priori


En pratique, les méthodes a priori visent à transformer le problème multi-objectifs en un pro-
blème mono-objectif afin de pouvoir utiliser directement les méthodes de recherche.
Techniques d’agrégation des objectifs :
A la base de ce type d’approches, on retrouve l’axiome fondamental que tout décideur essaie
inconsciemment de maximiser une fonction d’utilité U = U (f1 , f2 , . . . , fK ). Les solutions sont

50
Chapitre 3. Programmation multi-objectifs

comparées selon la valeur scalaire de la fonction d’utilité. Les techniques d’agrégation ont en
commun de supposer que les objectifs soient commensurables, ce qui constitue une difficulté
majeure. On peut pour cela utiliser des transformations (par exemple, dimensionnement puis
normer les fonctions). Toutefois, celles-ci sont souvent délicates à définir, et peuvent conditionner
le résultat. De plus, elles sont difficiles à utiliser lorsqu’on travaille simultanément avec des
objectifs qualitatifs et quantitatifs.
La technique la plus courante est la somme pondérée qui permet d’exprimer sous forme de poids
les préférences du décideur entre les différents objectifs du problème :
K K
ωi fi avec ∀i, ωi ≥ 0 et
P P
U= ωi = 1
i=0 i=0

Cette méthode présente deux inconvénients majeurs. D’une part, la détermination des poids
attribués aux critères constitue un exercice délicat. Cette question peut être résolue en faisant
varier les poids de façon à constater leur influence sur le résultat. Ceci revient toutefois à
résoudre plusieurs fois le problème d’optimisation, ce qui peut vite devenir coûteux en temps de
calcul. D’autre part, les solutions obtenues appartiennent nécessairement à des zones convexes
du front de Pareto. Une alternative à la pondération consiste à définir dans l’espace des objectifs
une cible T à atteindre T = (T1 , T2 , . . . , TK ). Diverses techniques sont alors disponibles, elles
consistent en général à minimiser la distance à la cible selon une norme choisie, par exemple :
K
|fi − Ti |
P
– pour la méthode « Target Vector Optimization », la norme 1 : L1 =
i=1
– pour la méthode « MinMax », la norme infinie : L∞ = max (|fi − Ti |)
i=1,...,K
Ces techniques présentent l’avantage de ne pas être trompées par les problèmes non convexes.
Il reste néanmoins le problème du choix de la pondération, transféré dans celui du choix de la
cible.
Techniques de transformation des objectifs en contraintes :
Une autre façon de ramener la résolution du problème multi-objectifs à celle d’un problème
mono-objectif consiste à convertir les objectifs en contraintes. Par exemple, la méthode -
contrainte consiste à isoler un objectif prioritaire fj , et à considérer les autres objectifs comme
des contraintes d’inégalités (souvent non linéaires) par rapport à un vecteur de valeurs seuils i ,
i 6= j. Le problème reformulé s’écrit alors de la façon suivante :

optimiserfj (x) tel que : x ∈ S et ∀i 6= j : fi (x) ≤ i

La technique du but à atteindre (goal attainment), combine quant à elle les concepts de cible à
atteindre et de pondération. Une fois spécifiés le but Ti et le poids ωi associés à chaque objectif
fi , le problème reformulé s’écrit :

51
Chapitre 3. Programmation multi-objectifs

optimiser α tel que : x ∈ S et ∀i : fi (x) − αωi ≤ Ti

Ces deux techniques présentent l’avantage de ne pas être trompées par les problèmes non
convexes. Il reste une fois encore le problème posé par le choix de leurs différents paramètres,
qui dépend essentiellement d’une bonne connaissance du problème traité. De plus, la gestion
des contraintes peut s’avérer extrêmement délicate et très gourmande en temps de calcul.
Technique lexicographique :
Cette méthode simple et intuitive permet d’exprimer les préférences du décideur en classant
par ordre d’importance les différents objectifs. On commence par résoudre le problème en ne
considérant que la première fonction objectif. Celle-ci est alors intégrée au problème sous forme
de contrainte d’égalité (fixée à sa valeur optimale). On réitère ensuite le processus selon l’ordre de
classement des objectifs. La méthode lexicographique consiste ainsi à transformer la résolution
du problème multi-objectifs en celle d’une série de problèmes mono-objectif. La difficulté réside
ici dans le classement des objectifs. En effet, deux ordonnancements différents n’aboutissent
généralement pas à la même solution. De plus, si toutes les variables de décision participent
au calcul du premier objectif, elles sont fixées et les objectifs suivants ne peuvent alors être
optimisés.

3.4.2 Méthodes a posteriori


Les méthodes a posteriori permettent au décideur d’exprimer ses préférences à l’issue du
processus d’optimisation, parmi l’ensemble des solutions retenues (idéalement un ensemble
de compromis optimaux au sens de Pareto), ce qui lui permet de tirer un profit maximum
de l’étape d’optimisation. En effet, il est souvent préférable de prendre la décision finale
à partir des informations les plus complètes possibles. Ceci suppose que la méthode de ré-
solution employée retourne plusieurs solutions. Pour ce faire, deux démarches sont envisageables.

La première, relativement inefficace, consiste à employer une méthode a priori et à réitérer la


recherche autant de fois que nécessaire, en variant les pondérations (technique d’agrégation) ou
l’ordonnancement des objectifs (technique lexicographique), pour obtenir une approximation
du front de Pareto. Ces exécutions multiples sont nécessairement indépendantes, ce qui rend
impossible l’exploitation des synergies éventuelles. De plus, pour la plupart des problèmes
non-linéaires, l’usage successif de valeurs de poids uniformément distribuées ne garantit pas que
les solutions obtenues soient à leur tour uniformément distribuées sur la surface de compromis.

52
Chapitre 3. Programmation multi-objectifs

La seconde démarche, privilégiée par rapport à la premieère, consiste à employer une méthode
de recherche à base de population, capable de générer en une seule exécution une approximation
du front de Pareto. Les algorithmes évolutionnaires semblent ainsi tout indiqués et c’est ce choix,
largement majoritaire dans la littérature traitant des méthodes d’optimisation multi-objectifs,
qui est retenu ici. Dans les algorithmes évolutionnaires, l’aspect multi-objectifs est entièrement
contenu dans le calcul de la fonction de qualité des individus à partir de leurs performances.
Les possibilités pour transformer le vecteur objectif associé à un individu en une qualité scalaire
sont multiples. On distingue ici deux classes d’approches, selon le calcul de la fonction de qualité
fasse explicitement appel à la notion de dominance de Pareto ou pas.
Approches non Pareto :
Une première technique, proposée dans l’algorithme VEGA (Vector Evaluated Genetic Algo-
rithm), utilise une population de taille N , N étant multiple du nombre d’objectif K. Les indivi-
dus sont répartis en K groupes de N/K individus Schaffer [15] . A chaque groupe une fonction
objectif est associée pour déterminer la qualité des individus au sein du groupe. Les individus des
différents groupes sont ensuite mélangés pour participer à la sélection. Il s’agit d’une méthode
simple qui a longtemps fait référence. Elle est surtout adaptée aux problèmes où l’on souhaite
obtenir des solutions performantes pour chaque objectif considéré indépendamment.
Une autre méthode, proposée dans l’algorithme HLGA (Hajela and Lin’s Genetic Algorithm),
consiste à attribuer aux solutions une fonction de qualité égale à la somme pondérée des objectifs
et Hajela, Lin [23]. Cependant, au lieu d’un vecteur de poids commun à toutes les solutions, à
chaque individu correspond un vecteur de poids qui lui est propre. L’algorithme fait ensuite évo-
luer simultanément les individus et les vecteurs de poids qui leurs sont associés. Cette technique
présente des problèmes de stabilité si on laisse évoluer les poids trop librement.
Les algorithmes HLGA et VEGA sont cités dans [24] comme base de comparaison pour d’autres
algorithmes évolutionnaires multi-objectifs. Comparés aux approches basées sur la dominance
de Pareto, ces deux algorithmes offrent des performances très honorables sur les problèmes
convexes. Toutefois, HLGA et VEGA sont toutes deux équivalentes à une méthode de pondé-
ration. Elles en partagent donc les inconvénients et ne permettent pas de trouver des solutions
appartenant à une concavité. Se pose de plus la question de la commensurabilité des objectifs. A
contrario, utiliser la notion de dominance de Pareto permet d’éviter les problèmes de convexité
et de commensurabilité propres aux techniques de pondération. Parmi elles, deux techniques
semblent aujourd’hui considérées comme les plus performantes : le classement ("ranking") et la

53
Chapitre 3. Programmation multi-objectifs

force ("strength").
Des approches Pareto :
La technique de "ranking" est exploitée dans les algorithmes NSGA (Non-dominated Sorting
Genetic Algorithm) [26] et son évolution, NSGA-II [25]. Cette méthode permet d’affecter
un rang aux individus d’une population donnée en se basant sur la notion de front de Pareto.
Elle consiste en une procédure itérative élémentaire. Initialement, tous les individus non dominés
reçoivent le rang ”1” et sont temporairement retirés de la population. Les individus non dominés
de la population résultante se voient alors attribués le rang ”2” et retirés à leur tour. La procédure
est ainsi répétée jusqu’à ce qu’un rang ait été affecté à tous les individus. La qualité (une valeur
à optimiser) d’un individu correspond alors à son rang. Dans NSGA-II, une mesure de densité
des solutions dans l’espace des objectifs est ensuite employée afin de classer les individus de
même rang et de favoriser les individus isolés pour une meilleure distribution des solutions sur
la surface de compromis.
La notion de force est proposée et exploitée dans l’algorithme SPEA (Strength Pareto Evolu-
tionary Algorithm) [24] et son évolution, SPEA2 [27]. Elle est présentée comme une méthode
permettant de privilégier à la fois la proximité au front de Pareto et la distribution des solu-
tions sur ce front, tout en ne faisant appel qu’à la seule notion de dominance de Pareto. La
force d’une solution correspond au nombre de solutions qu’elle domine. Dans SPEA2, la qua-
lité d’un individu (plus la valeur de la fonction de qualité est faible, meilleure est la solution)
correspond alors à la somme des forces des individus qui le dominent. Toutefois, l’introduction
d’une mesure de densité s’avère nécessaire pour différencier les individus lorsque la majorité de
la population est constituée d’individus incomparables au sens de Pareto (c’est-à-dire de même
rang). Au final, quitte à devoir combiner la dominance de Pareto et une mesure de densité pour
assurer la convergence de l’algorithme vers un ensemble de solutions proches de la surface de
compromis du problème et bien distribuées.

3.4.3 Les méthodes progressives ou interactives :


Le principe des méthodes progressives est de guider l’exploration tout au long du processus
de l’optimisation. Le but d’alterner entre le processus de recherche et le processus de décision
défini par le classement des solutions, ou bien un choix de poids de pondération des objectifs.
A chaque étape de la résolution, l’ensemble des solutions est analysé afin d’orienter les futures
itérations vers les zones les plus intéressantes de l’espace de recherche. C’est pour cela qu’elles
sont également appelées méthodes interactives. Plusieurs méthodes sont traitées dans Collette

54
Chapitre 3. Programmation multi-objectifs

et Siarry [23] et Miettinen [11].


La méthode STEM [19] est l’une des méthodes progressives où les informations sur les préfé-
rences de l’utilisateur permettent de restreindre l’espace de recherche étape par étape en rajou-
tant des contraintes supplémentaires sur les valeurs des critères. A chaque étape interactive, un
nouveau compromis est trouvé en optimisant une norme du type suivante :
K
L(f, λ) = max {λi |fi − f̄i |} + ρ λi |fi − f̄i |, ρ > 0
P
1≤i≤K i=1

sur une partie de l’ensemble D selon une direction correspondante à la relaxation d’un critère
fixé par le décideur.
L’inconvénient principal de ce type de méthodes est que l’on ne peut trouver qu’une seule
solution et non pas la totalité de la surface de compromis.
Un autre inconvénient est que ce type de méthode fait l’hypothèse que le vecteur solution qui
satisfera l’utilisateur est le vecteur le plus proche du point idéal. C’est une hypothèse forte qui
fait que ce type de méthode peut ne pas convenir à tous les utilisateurs. Le mode d’interaction
(réduction de l’espace de recherche par action sur des bornes de contraintes) fait que, pour une
bonne utilisation de ce type de méthodes, l’utilisateur doit avoir une bonne connaissance a priori
du problème. Il doit être capable de trouver des bonnes bornes pour restreindre son domaine.

55
Chapitre 3. Programmation multi-objectifs

3.5 conclusion
Ce chapitre avait pour objectif d’introduire les concepts fondamentaux de l’optimisation multi-
objectifs. Nous avons commencé par la formulation mathématique d’un problème multi-objectifs,
puis par quelques notions de base de l’optimisation multi-objectifs, nous avons expliqué la notion
de dominance de Pareto ainsi que d’autres relations de dominance issues de celle de Pareto, nous
avons vue la structure de la surface de compromis ainsi que la détection graphique de l’efficacité.
Puis nous avons terminé ce chapitre par trois approches classiques de résolution d’un problème
multi-objectifs : l’approche a priori, l’approche a posteriori et l’approche progressive ou inter-
active.

56
Programmation multi-objectifs fractionnaire
4
linéaire discrète

4.1 Introduction
Comme il a été déjà dit, dans la plupart des situations modélisables par la programmation ma-
thématiques, on a besoin d’optimiser plusieurs critères simultanément, cependant ces critères
peuvent être parfois linéaires, parfois non linéaires, parfois fractionnaires ou quadratiques, par-
fois à variables continues ou entières. Dans le cas où toutes les fonctions objectifs sont fraction-
naires linéaires, les variables sont entières et soumises à un ensemble de contraintes constituées
d’équations et/ou inéquations linéaires, le problème est dit problème de programmation frac-
tionnaire linéaire en nombres entiers à objectifs multiples MOILFP (Multi-Objective Integer
Linear Fractionnal Program).

57
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

Il est formulé comme suit :


ct1 x + c01

max(Z1 ) =


dt1 x + d01




ct x + c02



max(Z2 ) = t2



d2 x + d02





 ..
.

(P )

 ctK x + c0K
max(ZK ) =


dtK x + d0K






sc x ∈ S







x entier.

où S = {x ∈ Rn : Ax ≤ b et x ≥ 0} avec A une m × n-matrice, b un m-vecteur colonnes, ck et


dk sont des n-vecteurs colonnes, c0k et d0k sont des réels pour tout k variant de 1 à K.
Nous supposons pour toute la suite que S est un polyèdre borné non vide de Rn et dtk x + d0k > 0
pour tout k variant de 1 à K.
En général, le problème (P ) n’a de solution que si A et b sont entiers, ce qui n’est guère restrictif
en pratique, car si, A et b sont formés de nombres rationnels, on les ramène à une matrice et un
vecteur d’entiers en multipliant tous les coefficients par le plus petit commun multiple de leurs
dénominateurs.

4.2 Résolution d’un MOILFP


Puisque l’optimisation multi-objectifs fractionnaire linéaire en nombres entiers représente le but
de notre étude, parmi les rares méthodes existantes dans la littérature, nous allons donner une
description de deux méthodes de résolution de ce type de problème.

4.2.1 Méthode de Abbas and Moulaî [12]


La méthode adoptée par Abbas and Moulaî [12] pour résoudre le problème (P ) est une généra-
lisation du cas fractionnaire de l’algorithme de résolution d’un programme linéaire en nombres
entiers à objectifs multiples détaillé dans [12].
Afin de résoudre le problème (P ), une approche consistant à résoudre une séquence finie de
problèmes de programmation fractionnaire linéaire discrète est présentée.

58
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

Considérons le problème de programmation fractionnaire linéaire en nombres entiers mono-


objectif suivant :

p1 x + α 1

max(Z1 ) =



q1x + β 1



(P1 ) sc S = {x ∈ Rn /Ax ≤ b, x ≥ 0}




 x entier.

La recherche des solutions réalisables de (P1 ) nécessite l’introduction des notations suivantes :
– Sk = {x ∈ Rn , Ak x ≤ bk , x ≥ 0}, Sk est la région tronquée courante de S obtenue par
xj ≥ 1 où : jk−1 ∈ Γk−1 et par la coupe de Gomory
P
application de la coupe
j∈Nk−1 \{jk−1 }
successives.
– x1k est la k ème solution optimale entière du problème (P1 ) obtenue sur Sk à l’étape k.
– Bk1 est une base de Sk .
– a1k,j sont les vecteurs activités de x1k,j appropriées à la région tronquée courante Sk .
1
– yk,j = (Bk1 )−1 a1k,j , Ik = {j/a1k,j ∈ Bk1 } et Nk = {j/a1k,j ∈
/ Bk1 }.
1
– γ̄k,j est le coût réduit relatif à la j ème composante du vecteur gradient réduit γ̄k1 .
1
– Γk = {j ∈ Nk /γ̄k,j = 0}.

Théorème 4.1. Le point x1k de S est une solution optimale du problème fractionnaire (P1 ) si
1
et seulement si, le vecteur gradient réduit γ̄k1 est tel que γ̄k,j ≤ 0 pour tout indice j ∈ Nk .

Définition 4.1. Soit x1k une solution optimale de (P1 ). Supposons que jk ∈ Nk , une arête Ejk
incidente à la solution x1k est définie par l’ensemble :
n o
Ejk = x = (xi ) ∈ Sk / xi = x1k,i − θjk yk, jk 1 ∀ i ∈ Ik , xjk = θjk , xv = 0 ∀ v ∈ Nk \{jk }
( 1 )
xk,i 1
où 0 ≤ θjk ≤ min 1 /yk,ij >0
i∈Ik yk,ijk k

Algorithme de Abbas and Moulaî [12] :


Pour résoudre le problème fractionnaire linéaire en nombres entiers à objectifs multiples, une
procédure basée sur une technique de coupes planes est présentée dans les étapes suivantes :
Etape 1 :
Résoudre le problème (P1 ) par n’importe quelle méthode directe de la programmation frac-
tionnaire linéaire en nombres entiers. Soit x11 la solution optimale entière sur S1 , construire
l’ensemble Γ1 .
Etape 2 :
1
– Si σ̄1,j < 0 pour ∀j ∈ N1 , alors x11 est l’unique solution optimale sur Γ1 , enregistrer le premier
vecteur non dominé (Z1 (x11 ), Z2 (x11 ), . . . , ZK (x11 )) pour construire l’ensemble des vecteur non

59
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

dominés Ef f0 . Tronquer le point x11 par la coupe de Dantzig xj ≥ 1.


P
j∈N1
Par l’application de la méthode duale fractionnaire relative à la programmation fractionnaire,
on obtient une solution réalisable entière x12 = (x12,J ) dans la région tronquer S2 .
Rajouter le vecteur correspondant (Z1 (x12 ), Z2 (x12 ), . . . , ZK (x12 )) à Ef f0 s’il n’est pas dominé
par l’un des précédents vecteurs critères non dominés. Enregistrer l’ensemble efficace Ef f1 .
1
– Sinon, il existe un indice j1 ∈ N1 pour lequel σ̄1,j = 0. Déterminer dans ce cas toutes les
solutions qui lui sont alternatives, éliminer celles qui ne sont pas efficaces et mettre à jour
xj ≥ 1 pour tronquer l’arête Ej1 .
P
l’ensemble Ef f0 . Appliquer la coupe
j∈N1 \{j1 }
Etape k > 2 :
Choisir un indice jk−1 ∈ Γk−1 et explorer l’arête Ejk−1 pour déterminer d’éventuelles solutions
entières réalisables alternatives à la solution courante x1k−1 . Augmenter l’ensemble Ef fk−2 par
les vecteurs critères non dominés correspondants pour construire Ef fk−1 . Tronquer l’arête Ejk−1
xj ≥ 1.
P
par la coupe
j∈Nk−1 \{jk−1 }
Etape finale :
La procédure s’arrête lorsque la méthode duale du simplexe est infaisable, indiquant ainsi que la
région tronquée courante ne contient aucun point réalisable entier et que l’ensemble des points
efficaces est complètement déterminé.
Fin de l’algorithme

4.2.2 Méthode de Chergui et Moulaï [14]


L’approche dans cette méthode [13] pour générer toutes les solutions efficaces du problème (P )
est basée sur la résolution du programme fractionnaire linéaire (Pl ) suivant à chaque étape l de
l’algorithme :

ct1 x + c01

max(Z1 ) =



(P ) dt1 x + d01

sc x ∈ Sl .

où S0 = S et sans contrainte d’intégrité des variables.


Soit x∗l la solution entière obtenues après la résolution du problème (Pl ), on note Bl l’ensemble
des indices des variables de base et Nl l’ensemble des indices de variables hors base de x∗l . Soit
γ̄ji la j ème composante du vecteur gradient réduit γ̄ i défini pour chaque critère i, i = 1, .., K
par :
γ i = d¯01 c̄1 − c̄01 d¯1

60
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

où c̄1 , d¯1 , c̄01 et d¯01 sont les mises à jour de c1 , d1 , c01 et d01 respectivement.
On définit l’ensemble Hl en x∗l par :
 
Hl = j ∈ Nl /∃i ∈ {1, ..., K} : γ̄ji > 0} ∩ {j ∈ Nl /γ̄ji = 0∀i ∈ {1, . . . , K}

Ainsi, l’ensemble Sl+1 est défini par : Sl+1 = {x ∈ Sl / xj ≥ 1}.


P
j∈Hl
Algorithme de Chergui et Moulaï [14] :
L’algorithme de génération de toutes les solutions entières efficaces du programme (P ) est
présenté dans les étapes suivantes :
Etape 0 : Initialisation
l = 0;
Créer le premier nœud avec le programme (P0 ) ;
Ef f = ∅ ; (ensemble des solutions entières efficaces du programme (P ))
Etape 1 : Etape générale
Tant qu’il existe un nœud non encore sondé, faire :
Choisir le nœud de plus grand numéro l non encore sondé ;
Résoudre le programme fractionnaire linéaire correspondant (Pl ) par la méthode duale du sim-
plexe et la méthode de Cambini and Martein [1] ;(Initialement, pour la résolution du programme
(P0 ), seule la méthode de Cambini and Martein [1]est utilisée) ;
Si le programme (Pl ) n’a pas de solutions réalisables, alors le nœud correspondant est sondé.
Sinon, soit x̃l la solution optimale obtenue. Si x̃l n’est pas entière, aller à l’étape 1.a, sinon aller
à l’étape 1.b.
Etape 1.a : Séparation
Choisir une coordonnée non entière x̃lj de x̃l et séparer le nœud l actuel en deux nœuds k,
k ≥ l + 1 et h, h ≥ l + 1, h 6= k ;
Dans le tableau courant du simplexe, la contrainte xj ≤ bx̃lj c est rajoutée et un nouveau domaine
est considéré au nœud k et de façon similaire, la contrainte xj ≥ bx̃lj c + 1 est rajoutée pour
obtenir un autre domaine au nœud h. Aller à l’étape 1.
Etape 1.b : Mise à jour de l’ensemble Ef f
Si le vecteur Z(x̃l ) n’est pas dominé par le vecteur Z(x) pour toute solution x ∈ Ef f , alors
Ef f := Ef f ∪ {x̃l }. S’il existe x ∈ Ef f tel que Z(x̃l ) domine Z(x), alors
Ef f := Ef f \{x} ∪ {x̃l }.
Déterminer les ensembles Nl et Hl ;
Si Hl = ∅, alors le nœud l correspondant est sondé. Aller à l’étape 1 ;

61
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

xj ≥ 1 dans le programme (Pl ). Aller à l’étape 1.


P
Sinon, rajouter la coupe efficace
j∈Hl
Fin de l’algorithme

4.3 Une méthode de résolution


Dans cette section, une méthode exacte basée sur le processus de branchement, utilisant une
coupe efficace et une transformation du problème est proposée dans le but d’obtenir l’ensemble
solutions efficaces entières pour les problèmes MOILFPs.
Soit le programme fractionnaire linéaire en nombres entiers à objectifs multiples suivant :

ct1 x + c01

max(Z1 ) =


dt1 x + d01




ct x + c02



max(Z2 ) = t2



d2 x + d02





 ..
.

(P )

 ctK x + c0K
max(ZK ) =


dtK x + d0K










 Ax = b


x entier.

où A une m × n-matrice, b un m-vecteur colonne, ck et dk sont des n-vecteurs colonnes, c0k et


d0k sont des réels pour tout k variant de 1 à K.

4.3.1 Transformation du problème


Le but de ce travail est de mettre au point une méthode exacte pour résoudre le problème
MOILFP (P ).
L’approche adoptée dans ce travail pour générer toutes les solutions efficaces du problème (P )
est basée sur la résolution d’un autre problème (Q) obtenu par un changement de variables
appliqué sur le problème (P ).
Soit le problème fractionnaire linéaire (LF P ) obtenu à partir de (P ) en considérant qu’un
seul critère et en relâchant les contraintes d’intégrités imposées sur les variables de décision, le
problème (LF P ) est défini alors comme suit :

ct1 x + c01

max Z =


dt1 x + d01




(LF P ) Ax = b




x ≥ 0, x entier.

62
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

En appliquant le changement de variables Hasan et Acharjee [13] utilisé précédemment dans le


chapitre 2, nous obtiendrons le problème linéaire suivant :




 max F (y) = pt1 y + p01

(LP Q)  Gy = h


y ≥ 0.

b t b c0 c0 x
Avec : G = A + d1 , h = , p1 = c1 − 1 d1 , p01 = 1 et y = t .
d01 d01 d01 d01 d1 x + d01
La généralisation de ce changement de variables sur les autres critères, nous permet de définir
le problème (Q0 ) : 



 max F1 (y) = pt1 y + p01
pt y + p02



max F2 (y) = 2t



q2 y + q02





..
(Q0 ) .

ptK y + p0K



max FK (y) =


t

qK y + q0K





y ∈ S = {Gy = h, y ≥ 0} .


Avec : pk = d01 ck − c0k d1 , p0k = c0k , qk = d01 dk − d0k d1 et q0k = d0k pour tout k = 2, . . . , K.
Afin de préserver les contraintes d’intégrité imposer sur les variables du problème (PF ), il est
d0 yi
donc important de considérer la condition xi est entière si et seulement si l’est aussi.
1 − dt y
Et donc le problème (Q) sera défini comme suit :




 max F1 (y) = pt1 y + p01
pt2 y + p02



max F2 (y) = t





 q2 y + q02
..





 .
(Q) ptK y + p0K

 max FK (y) =
t
qK y + q0K






y ∈ S = {Gy = h, y ≥ 0}





d0 y i




 entier.
1 − dt y

La résolution du problème (Q) est basée sur la résolution du programme linéaire (LP Ql ) à
chaque étape l :


 max F (y) = pt1 y + p01
(LP Q0 ) 
 y ∈ S0 .
avec S0 = S et sans contraintes d’intégrités. D’un part, notons qu’à la place de Z1 , on peut de
façon similaire considérer le problème (Pl ) avec une autre fonction objectif Zi pour n’importe
quelle valeur de i, i ∈ {2, . . . , K}. D’autre part, avant de définir les paramètres qui suivent.

63
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

Soit yl∗ une solution entière obtenue après la résolution du programme linéaire (LP Ql ) par la
méthode du simplexe et déclenchement du processus de branchement éventuellement. On note
Bl l’ensemble d’indices des variables de base et Nl l’ensemble d’indices des variables hors base
de yl∗ à l’étape l. Soit γ̄ji la j − ème composante du vecteur gradient réduit γ̄ i défini pour chaque
critère i ∈ {1, . . . , K} de la manière suivante :

p̄ 1, si i = 1


γ̄ i =
p̄i − p̄0i q̄i , si i ∈ {2, . . . , K}

q̄0

i

où p̄1 , p̄i , p̄0i , q̄i et q̄0i , pour tout i ∈ {2, . . . , K} sont les valeurs mises à jour de p1 , pi , p0i , qi et q0i ,
pour tout i ∈ {2, . . . , K}, respectivement. Notons que le gradient de Fi et le gradient réduit γ̄ i
pour tout i ∈ {1, . . . , K} sont de même signe. Ainsi le calcul de γ̄ i est suffisant pour déterminer
la direction de croissance de chaque critère i. Afin de donner l’expression mathématique de
l’ensemble Sl+1 , nous définissons d’abord l’ensemble suivant en yl∗ :

n o n o
Hl = j ∈ Nl / ∃i ∈ {1, 2, . . . , K}; γ̄ji > 0 ∪ ∀j ∈ Nl / γ̄ji = 0; ∀i ∈ {1, 2, . . . , K}

Enfin l’ensemble Sl+1 est définit comme suit :

Sl+1 = {y ∈ Sl / dt1 y +
X
d01 yj ≥ 1}
j∈Hl

4.3.2 Principe de la résolution


Soit le problème (P ) comme suit :

ct1 x + c01

max(Z1 ) =


dt1 x + d01




ct x + c02



max(Z2 ) = t2



d2 x + d02





 ..
.

(P ) 
 ctK x + c0K
max(ZK ) =


dtK x + d0K










 s.c. Ax = b


x ≥ 0, entier

Tout d’abord, on relâche les contraintes d’intégrités imposées sur les variables du problème (P ),
ceci nous permettra d’appliquer le changement de variables de Hasan et Acharjee [13]. Par le

64
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

biais de ce dernier et en l’appliquant par rapport à un critère donné, soit le critère 1 un tel
critère, on obtient donc le problème suivant :




 max F1 (y) = pt1 y + p01
pt y + p02



max F2 (y) = 2t



q2 y + q02





..
(Q0 ) .

ptK y + p0K



max FK (y) =


t

qK y + q0K





y ∈ S = {Gy = h, y ≥ 0} .


Soit y une solution optimale du problème (LP Ql ). Si y est entière, f (y) est comparé à l’ensemble
des solutions potentiellement efficaces déjà trouvées et l’ensemble des solutions efficaces est
actualisé. La direction de croissance de chaque critère est déterminée à l’aide de son gradient.
La méthode utilise ces informations pour construire une coupe en mesure de supprimer des
solutions entières qui ne sont pas efficaces pour le problème (Q) et donc elles ne sont pas
efficaces pour le problème (P ) et détermine une nouvelle solution réalisable entière si elle existe.
Dans le cas où cette solution qui est optimale pour l’ensemble courant des solutions réalisables,
n’est pas entière, deux nouveaux programmes linéaires sont créés en utilisant le processus de
branchement. Chacun d’eux sera résolu comme le problème (LP Ql ). Le processus s’arrête lorsque
tous les domaines créés ont été exploré. Un domaine sera considéré comme un domaine exploré,
si le sommet correspondant dans l’arborescence est sondé. Un sommet est sondé dans les deux
situations suivantes :
– Aucun critère ne peut être amélioré.
– Le problème courant n’a pas de solutions réalisables.
Au nœud ”0” de l’arborescence, on associe le programme linéaire (LP Q0 ) :


 max F (y) = pt1 y + p01
(LP Q0 ) 
 y ∈ S0 = S.
Initialement, l’algorithme du simplexe résout le programme linéaire (LP Q0 ). Si la solution
optimale ỹ du programme linéaire (LP Q0 ) ne correspond pas à une solution entière, c.à.d. le
d0 h̃ d0 ỹ
vecteur n’est entier, alors terminer, la solution x̃ = n’est pas une solution
t
1 − dB h̃ 1 − dt ỹ
entière alors le nœud ”0” est séparé en deux nœuds ”1” et ”2” et on associe à ces deux nœuds
les programmes linéaires (LP Q1 ) et (LP Q2 ) suivants :
 

 max F (y) = pt1 y + p01 
 max F (y) = pt1 y + p01
(LP Q1 ) (LP Q2 )

 y ∈ S1 . 
 y ∈ S2 .

65
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

Les domaines S1 et S2 sont obtenus comme suit :


w w w+1 t w+1
   
S1 = S0 ∩ yj + dt y ≤ et S2 = S0 ∩ yj + dy≥
d0 d0 d0 d0
$ %
d0 h̃
Où : w = et j est l’indice d’une variable ne correspondant pas à une composante
1 − dtB h̃
entière pour le programme fractionnaire linéaire en nombres entiers (P ).
D’une manière générale, chaque programme linéaire (LP Ql ) correspond à un nœud l dans l’ar-
borescence structurée. Si la solution optimale ỹ du programme linéaire (LP Ql ) ne correspond
pas à une solution entière, le nœud l de l’arborescence est alors séparé en deux nœuds qui lui
sont imposés par les contraintes supplémentaires sur une variable ne correspondant pas à une
composante entière , soit j l’indice d’une telle variable, 
et on a alors les contraintes suivantes :
w t w w+1 t w+1  d01 h̃ 
 
yj + d1 y ≤ et yj + d1 y ≥ , où : w =  .
d01 d01 d01 d01 1 − dt1 h̃
B

Dans chaque nœud le programme linéaire doit être résolu par le même processus jusqu’à l’ob-
tention d’une solution entière, lorsqu’elle existe.
En présence d’une solution entière la coupe efficace dt1 y + d01 yj ≥ 1 est rajoutée au pro-
P
j∈Hl
gramme et le nouveau programme est résolu en utilisant l’algorithme dual du simplexe. le
procédé se termine lorsque tout les nœuds créés sont sondés.

4.3.3 Algorithme
L’algorithme de génération de toutes les solutions entières efficaces du programme (P ) est
présenté dans les procédures suivantes. Les nœuds de l’arborescence sont traités selon le principe
de retours en arrière vers le nœud le plus récemment créé (back-tracking).
Procédure initialisation :
– Transformer le problème (P ) en un autre problème (Q) à l’aide du changement de variables
de Hasan et Acharjee [13].
– Poser l = 0, Ef f = ∅.
– Créer le premier nœud avec le programme linéaire (Q0 ) sachant que S0 = S.
– Aller à la procédure choix.
Procédure choix :
Tantqu’il existe un nœud non encore sondé, faire :
Choisir le nœud de plus grand numéro l non encore sondé ;

66
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

Résoudre le programme linéaire correspondant (LP Ql ) par la méthode du simplexe pour le


programme (LP Q0 ) et la méthode duale du simplexe pour les autres programmes (LP Ql ),
l 6= 0. Si le programme (LP Ql ) n’a pas de solutions réalisables, alors le nœud correspondant
est sondé. Sinon, soit ỹl la solution optimale obtenue. Si ỹl ne correspond pas à une solution
entière, aller à la procédure séparation, sinon poser x̃ = d01 ỹ/(1 − dt1 ỹ), Z(x̃) = F (ỹ) et aller à
la procédure comparaison.
Procédure séparation :
– Trouver l’ensemble J des indices des variables qui ne correspondent pas à une composante
entière.
– Calculer (les ensembles des pénalités P −(et P + tels que )) :
p̃ j
– P − = p− −
r /∀r ∈ J, pr = fr × minj∈N /G̃rj > 0
( −G̃rj( ))
p̃ j
– P + = p+ +
r /∀r ∈ J, pr = (1 − fr ) × minj∈N /G̃rj < 0
$ % G̃rj
d0 ȳr d0 ȳr
avec fr = t
− ∀r ∈ J, B l’ensemble des indices de base et N l’ensemble des
1 − dB h̃ 1 − dtB h̃
indices hors base.
– Choisir r∗ l’indice de la plus grande pénalité.
– Séparer le nœud l en deux nœuds h et k, h > l, k > l et h 6= k.
w w
Dans le tableau courant du simplexe, la contrainte : yr∗ + dt y ≤ est rajoutée et un
d0 d0
nouveau domaine est considéré au nœud h et de façon similaire, la contrainte :
w+1 t w+1
yr∗ + dy≥ est rajoutée pour obtenir un autre domaine au nœud k,
d0$ %d0
d0 h̃
où : w = .
1 − dtB h̃
– Si la plus grande pénalité est dans l’ensemble P − alors h < k sinon la plus grande pénalité
est dans l’ensemble P + et h ≥ k.
– Aller a la procédure choix.
Procédure comparaison : (Mise à jour de l’ensemble Ef f )
Si le vecteur Z(x̃l ) n’est pas dominé par le vecteur Z(x) pour toute solution x ∈ Ef f , alors
Ef f := Ef f ∪ {x̃l }. S’il existe x ∈ Ef f telle que Z(x̃l ) domine Z(x), alors
Ef f := Ef f \{x} ∪ {x̃l }.
Déterminer les ensembles Nl et Hl ;
Si Hl = ∅, alors le nœud l correspondant est sondé. Aller à la procédure choix ;
Sinon, rajoutée la coupe efficace :

dt1 y +
X
d01 yj ≥ 1
j∈Hl

67
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

dans le programme (LP Ql ). Aller à la procédure choix.


Fin de l’algorithme.

Remarque 4.1. L’ensemble S est un polyèdre borné et non vide, les solutions à composantes
entières constituent un ensemble fini, ce qui implique que l’algorithme génère toute les solutions
entière en un nombre fini d’itérations et aussi en un temps fini.

4.3.4 Résultats théoriques


Les théorèmes suivants montrent que l’algorithme MOILFP génère toutes les solutions entières
efficaces du programme (P) en un nombre fini d’étapes.

Théorème 4.2. :
Supposons que Hl 6= Φ au point entier courant x∗l . Si x est une solution entière efficace dans le
domaine Sl \{x∗l }, alors {x∗l } ∈ Sl+1 .

Preuve : Soit x une solution entière se trouvant dans le domaine Sl \{x∗l } telle que {x∗l } ∈
/ Sl+1 ,
xj = 0, ce qui implique que xj = 0 pour tout j ∈ Hl .
P
alors
j∈Hl
A partir du tableau du simplexe correspondant à la solution optimale x∗l , les critères sont évalués
comme suit :
cij xj + ci0
P
j∈N ci 0
fi (x) = P l , ∀i ∈ {1, . . . , k}, où = fi (x∗l ).
dij xj + di0 di0
j∈Nl

Ainsi, on peut écrire :

cij xj + ci0
P
j∈Nl \Hl
fi (x) = , ∀i ∈ {1, . . . , k}.
dij xj + di0
P
j∈Nl \Hl

D’autre part, γji = di0 cij − ci0 dij ≤ 0, pour tout j ∈ Nl \Hl et γji = di0 cij − ci0 dij < 0 pour au
ci d i
moins un critère, implique que cij ≤ 0 j pour tout j ∈ Nl \Hl , car di0 = di x∗ + di0 > 0 pour
di0
i
ci0 dij
tout les critères, les variables de décisions étant non négatives, on obtient alors cj xj ≤ xj
di0
pour tout j ∈ Nl \Hl et par suite,

ci0 dij P ci0 dij


cij xj ≤ xj ⇒ cij xj + ci0 ≤
P P P
x j + ci 0
j∈Nl \Hl j∈Nl \Hl di0 j∈Nl \Hl j∈Nl \Hl di0

68
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

Pour tout critère fi , ∀i ∈ {1, . . . , k}, l’inégalité suivante est obtenue :


cij xj + ci0
P
j∈Nl \Hl
fi (x) =
dij xj + di0
P
j∈Nl \Hl

P ci0 dij
x j + ci 0
j∈Nl \Hl di0
⇒ fi (x) ≤
dij xj + di0
P
j∈Nl \Hl
ci 0
dij xj + di0 )
P
(
di0 j∈Nl \Hl
⇒ fi (x) ≤
dij xj + di0
P
j∈Nl \Hl
ci 0
⇒ fi (x) ≤
di0
⇒ fi (x) ≤ fi (x∗l )

Par conséquent, fi (x) ≤ fi (x∗l ) pour tout i ∈ {1, . . . , k} et fi (x) < fi (x∗l ) pour au moins un
indice i. Donc, f (x∗l ) domine f (x) et la solution x n’est pas efficace.

Lemme 4.1. :
Supposons que Hl 6= Φ au point entier courant x∗l . Alors, la contrainte xj ≥ 0 est une coupe
P
j∈Hl
efficace.

preuve :D’après le théorème précédent, aucune solution efficace n’est supprimée lorsque la
xj ≥ 0 est rajoutée. On peut alors dire que c’est une contrainte valide efficace.De
P
contrainte
j∈Hl
plus, x∗l ne vérifie pas cette contrainte puisque xj = 0, pour tout j ∈ Nl . On conclut que la
xj ≥ 0 est une coupe efficace.
P
contrainte
j∈Hl

Propriété 4.1. :
Si Hl 6= Φ au point entier courant x∗l , alors Sl \{x∗l } est un domaine exploré.

Preuve :Hl = Φ signifie que x∗l est une solution entière optimale pour tous les critères (x∗l
constitue un point idéal localement dans le domaine Sl ) et donc Sl \{x∗l } ne contient pas de
solutions efficaces.

Théorème 4.3. L’algorithme MOILFP converge en un nombre fini d’itérations en générant


l’ensemble des solutions efficaces du programme (P).

Preuve :L’ensemble S des solutions réalisables de (P) étant compact, il contient un nombre
fini de solutions entières. Chaque fois qu’une solution entière optimale x∗l est trouvée, la coupe
xj ≥ 0 est rajoutée. Ainsi, compte tenu du théorème et du lemme précédents, au
P
efficace
j∈Hl
moins la solution x∗l est éliminée, mais aucune solution efficace n’est supprimée.

69
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

4.3.5 Exemple illustratif


Dans le but d’illustrer l’utilisation de notre algorithme, considérons le programme fractionnaire
linéaire en nombres entiers à objectifs multiples suivant :

−5x1 + 7x2 + 4

 max(Z1 ) =
8x1 + 10x2 + 4





5x1 + 8x2 + 9





 max(Z2 ) =



 8x1 + 10x2 + 4
7x1 + 2x2 + 6



max(Z3 ) =


(P ) 8x1 + 10x2 + 7


 25 23 53
x1 + x2 ≤



2 2 2




22 25 46



x1 + x2 ≤






 3 3 2
x1 , x2 entiers

Afin de simplifier la résolution du problème (P ), et après avoir relâché les contraintes d’intégrités
imposées sur ses variables de décisions, il est transformé par le biais du changement de variables
de Hasan et Acharjee [13] en un problème (Q) suivant :



 max(F1 ) = −17y1 − 25y2 + 4


−22y1 − 64y2 + 9




 max(F2 ) =
−4y1 − 22y2 + 4





−11y1 − 46y2 + 6



max(F3 ) =



(Q) −13y1 − 46y2 + 7


 447 53

 92 y1 + y2 + y3 =
2 2




160 46



contenu... y1 + 131y2 + y4 =



3 3




y1 , y 2 y3 y4 ≥ 0

Initialement, le programme (Q0 ) suivant, est résolu par la méthode du simplexe :






 max(F1 ) = −17y1 − 25y2 + 4

447 53



92 y1 + y2 + y3 =



(Q0 )  2 2
 160 46

 y1 + 131y2 + y4 =
3 3





y1 , y 2 y3 y4 ≥ 0

70
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

La solution optimale est donnée dans le tableau du simplexe suivant :

J0 h y1 y2

y3 53/2 92 447/2
y4 46/3 160/3 131

p1 4 -17 -25

p2 9 -22 -64
q2 4 -4 -22
γ2 -52 -58

p3 6 -11 -46
q3 7 -13 -46
γ3 1 -46

Cette solution optimale y = (0, 0, 53/2, 46/3)t correspond à une solution entière pour le problème
(P ), donc elle est retenue, Ef f = {(0, 0)t }, H0 = {1} et S1 = {y ∈ S /dt1 y + d0 yj ≥ 1}, la
P
j∈H0
coupe dt1 y + d0 yj ≥ 1 est rajoutée à (Q0 ) pour obtenir (Q1 ), et après pivotage on obtient :
P
j∈S

J1 h y4 y5

y1 25/292 -6/73 -393/292


y3 37/146 -273/146 99/73
y2 6/73 3/37 40/73

p1 143/192 -27/73 -2681/292

p2 271/146 60/73 797/146


q2 135/73 42/73 487/73
γ2 1031/1577 -3189/1394

p3 373/292 72/73 3037/292


q3 615/292 60/73 2251/292
γ3 75/73 4763/395

Comme p1 < 0 pour tout j ∈ J1 , alors cette solution est optimale pour (Q1 ) mais elle ne
correspond pas à une solution entière, et donc le processus de séparation est déclenché :
Nœud 2 : y2 ≤ 0, ce nœud est sondé car le domaine associé n’est pas réalisable.
Nœud 3 : 3y1 + 9y2 ≥ 1 ⇔ 3y4 + 40y5 ≤ 6.

71
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

cette contrainte est rajoutée à (Q1 ) pour obtenir le programme (Q3 ), et la méthode dual du
simplexe est appliquée pour obtenir la solution optimale suivante correspondante à une solution
entière pour le problème (P ) :

B h y5 y6

y1 1/4 −1/4 −2
y3 7/2 23 −79/2
y2 0 0 1
y4 2 40/3 −73/3

p1 −1/4 −17/4 −9

p2 7/2 −11/2 20
q2 3 −1 14
γ2 −13 11

p3 13/4 −11/4 24
q3 15/4 −13/4 20
γ3 1/4 25

Cette solution est comparée avec l’ensemble des solutions potentiellement efficaces, elle n’est ni
dominée, ni dominante, alors elle aussi est retenue et l’ensemble Ef f est mis à jour. Ef f =
{(0, 0)t , (0, 1)t }, H3 = {5, 6} et S4 = {y ∈ S /dt1 y + d0 yj ≥ 1}. La coupe dt1 y + d0 y j ≥ 1
P P
j∈H3 j∈H3
est rajoutée à (Q4 ) afin d’obtenir (Q5 ). Après pivotage, le tableau optimal de (Q5 ) est le suivant :

72
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

B h y6 y7

y1 2/7 -15/7 -1/7


y3 3/14 -369/14 92/7
y2 0 1 0
y4 2/21 -117/7 160/21
y5 17 -4/7 -4/7

p1 -6/7 -80/7 -17/7

p2 19/7 118/7 22/7


q2 20/7 94/7 -4/7
γ2 82/7 516/49

p3 20/7 157/7 -11/7


q3 23/7 127/7 -13/7
γ3 153/7 1/7

Cette solution est correspond aussi à une solution entière, de la même façon, elle est comparée
à l’ensemble Ef f , elle n’est ni dominée ni dominante, l’ensemble Ef f est mis à jour, Ef f =
{(0, 0)t , (0, 1)t , (0, 2)t }, H4 = {5, 6} et S5 = {y ∈ S /dt1 y + d0 yj ≥ 1}. La coupe dt1 y +
P
j∈H4
d0 yj ≥ 1 est rajoutée à (Q4 ) afin d’obtenir (Q5 ), mais le problème devient irréalisable, et
P
j∈H4
donc le noœud courant est sondé.

73
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

4.4 Expérimentation et résultats


Le programme informatique de l’algorithme MOILFPNE est codé sous matlab 7.0 et exécuté
sur un Dell Pentium (R) dual core CPU 2.30 Ghz et avec 2 Go de RAM. Le logiciel utilisé est
testé sur des instances générées aléatoirement. Nous montrons les résultats de l’expérience de
calcul dans le tableau suivant :

taille tmps (s) Nbc EC/Nbc ItrS NSE


n m α% M1 M2 M1 M2 M1 M2 M1 M2
15 10 33 35.3461 7.9595 929.1 295.2 0.97 0.55 69277.3 3793.2 9.6
20 10 33 131.5214 21.7972 2125.7 478.1 0.95 0.53 253557.3 9348.5 11.1
25 5 25 279.8058 32.6182 3441.3 797.6 0.98 0.51 530031.1 17429.9 12.7
10 25 1277.7008 25.3230 1068.1 386.0 0.96 0.49 224581.1 8820.4 10.6
40 30 17 996.6028 106.4803 2488.0 2488.0 0.98 0.63 1355741.2 25430.7 9.7
60 10 12 - 3841.5964 - 6916.0 - 0.49 - 560435.6 78.0
40 12 - 2199.3265 - 1069.8 - 0.52 - 115521.8 44.1

où :
M1 : est l’implémentation l’algorithme de Chergui et Moulaï [14],
M2 : est l’implémentation l’algorithme de MOILFPNE,
taille : signifie la taille de l’instance en fonction de n et m,
tmps : le temps moyen d’exécution en seconde,
Nbc : le nombre moyen de coupes totales utilisées,
EC/Nbc : le rapport du nombre moyen de coupes efficaces sur le nombre moyen de coupes
totales utilisées,
ItrS : nombre moyen total d’itérations du simplexe,
NSE : est le nombre moyen de solutions efficientes trouvées.
Les instances utilisées sont générées aléatoirement avec des valeurs de n ∈ {15, 20, 25, 40, 60}
variables, m ∈ {5, 10, 30, 40} contraintes et avec deux objectifs pour les cinq premières instances
et quatre objectifs pour la dernière instances. Les coefficients sont des entiers non corrélés
uniformément distribués dans l’intervalle [1, 100] pour les contraintes et dans [1, 80] pour les
fonctions objectifs, les valeurs du second membre sont définies à α% de la somme des coefficients
(partie entière) de chaque contrainte, où α ∈ {12, 17, 25, 33}.
Avec chaque instance (n, m, α) une série de dix problèmes est résolue avec la méthode proposée
et celle de Chergui et Moulaï [14] pour générer l’ensemble de toute les solutions efficaces du
problème afin de comparer les résultats obtenus.

74
Chapitre 4. Programmation multi-objectifs fractionnaire linéaire discrète

Les résultats obtenus sont satisfaisant en de temps d’exécution, en nombre d’itérations du


simplexe du fait que la méthode résout que des problèmes linéaires, et en nombre de nœuds
créés du fait que le calcul des pénalités permet de rencontrer les solutions entières les plus
proches lors de la séparation.

4.5 Conclusion
Dans cette étude, une méthode exacte combinant le principe de séparation et évaluation "branch
and bound" avec un changement de variables et une coupe efficace est présentée pour résoudre
un problème multi-objectif fractionnaire linéaire en nombres entiers (MOILFP). Cette méthode
ne nécessite aucune optimisation non linéaire, la coupe efficace utilisée exploite tous les différents
objectifs dans un même tableau du simplexe et seules les parties du domaine réalisable contenant
des solutions efficaces sont explorées, et finalement, un calcul de pénalité est imposé lors de la
séparation et du choix de la variable afin d’accélérer le processus d’exploration.

75
Conclusion et perspectives

Les résultats obtenus dans ce mémoire nous permettent d’espérer et d’être motivé pour une
amélioration s’intéresser au problème d’optimisation non linéaire du choix du décideur sur l’en-
semble efficient, problème d’actualité fort intéressant.
Alors que nous pensions que tout a été dit sur la programmation fractionnaire, ce fut, bien
au contraire, possible de mettre au point une nouvelle méthode d’optimisation fractionnaire li-
néaire discrète basée sur une technique de séparation et évaluation progressive comme première
contribution. La méthode exacte obtenue, concernant l’optimisation fractionnaire linéaire en
nombres entiers à objectif multiple, représente une deuxième contribution et un résultat impor-
tant dans la littérature compte tenu des propriétés spécifiques du problème (MOILFP). Bien
que l’avantage principal de cette méthode soit le fait qu’aucune optimisation non-linéaire n’est
exigée, elle présente aussi une bonne amélioration du temps d’exécution pour la recherche de
l’ensemble efficient comparé à celle de M.E. Chergui et M. Moulaï [14]. Comme le problème
reste ouvert, nous espérons vivement que ce travail de mémoire nous motive d’avantage, ainsi
que d’autres chercheurs, pour aborder l’optimisation quadratique et fractionnaire quadratique.
Comme suite à ce travail de recherche, nous posons les problèmes suivants :

1. Résolution du problème fractionnaire linéaire multi-objectif en nombres mixtes.

2. Extensions des méthodes proposées aux problèmes suivants :

(a) Etude de la sensibilité d’un problème MOILFP.

(b) Résolution du problème fractionnaire quadratique en nombres entiers.

(c) Optimisation multi-objectif quadratique en nombres entiers.

76
Bibliographie

[1] Cambini A.,Martein L., A modified version of Martos’ Algorithm, Methods of operations
research, 53, 33-44, 1986.
[2] Charnes L., Cooper W.W., Programming with linear fractional functionals, Naval Research
Logistics Quarterly, 9, 181-186, (1962).
[3] Korte B.,Vygen J., Optimisation combinatoire : Théorie et algorithmes, Springer-Verlag
France, 2010.
[4] Martos B., Nonlinear programming, Theory and Methods, North-Holland, Amsterdam,
1975.
[5] Coello Coello C. A., Christiansen A. D. , A Multiobjective Optimization Tool for Enginee-
ring Design, Engineering Optimization, volume 31, numéro 3, 337-368, 1999.
[6] Dhaenens-Flipo C., Optimisation Combinatoire Multi-Objectif : Apport des Méthodes Co-
opératives et Contribution à l’Extraction de Connaissances, thèse d’Habilitation à diriger
des Recherches de l’U.S.T.L, Lille, 2005.
[7] Seshan C.R., Tikekar V.G., Algorithms for integer fractionnal programming, J. Indian Inst.
Sci. 62 (B), 9-16, 1980.
[8] Granot D., Granot F., On integer and mixed integer fractional programming problems,
Ann. Discrete Math 1, 221-231, 1977.
[9] Schaffer J.D., Multiple Objective Optimization with Vector Evaluated Genetic Algorithms,
Proceedings of the 1st International Conference on Genetic Algorithms, 93-100, 1985.
[10] Falk J.E., Palocsay S. W., Optimizing the Sum of Linear Fractional Functions, Recent
Advances of Global Optimization,1992.
[11] Miettinen K., Nonlinear Multiobjective Optimization, Kluwer Academic Publishers, Bos-
ton, 1999.

77
Références bibliographiques

[12] Abbas M., Moulaî M., Integer Linear Fractional Programming with Multiple Objective,
Ricerca Operativa Journal of the Italian Operations Research Society 103,104, 15-38, 2002.

[13] Hasan M.B., Acharjee S., Solving LFP by converting it into a single LP. 3, 1-14 (2011).

[14] Chergui M.E., Moulaï M., An exact method for a discrete multiobjective linear fractional
optimization.10, 1155, 2008.

[15] Ehrgott M., Multicriteria Optimization, Lecture Notes in Economics and Mathematical
Systems, numéro 491, Springer Verlag, Berlin, Heid.

[16] Da Cunha N.O., Polak E., Constrained Minimization under Vector Valued Criteria in Finite
Dimensional Spaces, Journal of Mathematical Analysis and Applications 19, No-1, 103-124,
1967.

[17] Hajela P., Lin C-Y., Genetic search strategies in multicriterion optimal design, Structural
Optimization 4, pp. 99-107, 1992.

[18] Pardalos P. M. Heam, D. W., PRACTICAL MATHEMATICAL OPTIMIZATION, Sprin-


ger Science Business Media, Inc 2005.

[19] Benayoun R., De Montgolfier J., Tergny J., Laritchev O., Linear Programming with Mul-
tiple Objective Functions : Step Method (STEM), Mathematical Programming 1, No-3,
366-375, 1971.

[20] Steuer R.E., Multiple criteria optimization : theory, computation and application,New
York : John Wiley and Sons, Inc 1986.

[21] Gonano-Weber S., Renfer J.P., Optimisation appliquée, Springer-Verlag France 2005.

[22] Dinkelbach W., On nonlinear fractional programming, Management Science. 13, 492-498,
1967.

[23] Collette Y., Siarry P., Optimisation multiobjectif, Editions Eyrolles, 2002.

[24] Zitzler E., "Evolutionary Algorithms for Multiobjective Optimization : Methods and Ap-
plications", PhD. Thesis, Swiss Federal Institute of Technology, Zurich, 1999.

[25] Deb K., Pratap A., Agrawal S., Meyarivan T., "A fast and elitist multiobjective genetic
algorithm : NSGA-II", Technical Report No. 2000001. Kanpur : Indian Institute of Tech-
nology Kanpur, India, 2000.

[26] Srinivas N., Deb K., "Muiltiobjective optimization using nondominated sorting in genetic
algorithms", Evolutionary Computation 2, 3, pp. 221-248, 1994.

78
Références bibliographiques

[27] Zitzler E., Laumanns M., Thiele L., "SPEA2 : Improving the Strength Pareto Evolutionary
Algorithm", Technical Report 103, Computer Engineering and Networks Laboratory (TIK),
Swiss Federal Institute of Technology (ETH) Zurich, 2001.

79

Vous aimerez peut-être aussi