0% ont trouvé ce document utile (0 vote)
304 vues82 pages

Sara

Transféré par

Sofiane Laghouati
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
304 vues82 pages

Sara

Transféré par

Sofiane Laghouati
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 82

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique


Université M’hamed Bougara Boumerdes
Faculté des Sciences
Département de Mathématiques

Mémoire Présenté

Pour L’Obtention Du Diplôme De Master

En Recherche Opérationnelle

Option : Recherche Opérationnelle Modélisation et Aide à la Décision


(ROMAD)

Par : CHELOUTI Sara


Et : KAIDI Karima

abb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbb
bbc
d e
Résolution d’un problème d’optimisation
d e
d e
multi-objectif fractionnaire Linéaire flou en
d nombres entiers e
fgg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggg
ggh

Soutenu à l’UMBB, le 19/06/2016, devant le jury composé de :

Mr F.CHEURFA M.A.A Président à l’UMBB -Boumerdes.


Melle S.ZOUAOUI M.A.A Promotrice à l’UMBB - Boumerdes
r
M L.BOURECHE M.A.A Examinateur à l’UMBB - Boumerdes.

Année Universitaire 2015 − 2016


Remerciements
Nous tennons à exprimer nos plus vifs remerciements à ALLAH pour nous avoir facilité
ce travail..

Nous tennons, avant tout, à exprimer nous profonde gratitude à madame ZOUAOUI
Selma, qui a assumé la direction de ce travail. Qu’elle veuille bien trouver ici l’expression
de nous reconnaissance pour son dévouement, sa patience, sa disponibilité, ses conseils et
son aide constant qu’il nous a apporté tout au long de ce travail.

Nous remercions les membres de jury qui ont accepté de juger ce travail et d’y
apporter leur caution.

Nous adressons notre vifs remerciements à tous les enseignants qui, par leur ensei-
gnement, leur encouragement et leur aide, ont contribués à notre formation durant toutes
notre études à l’université de Boumerdes.

A tous ceux qui ont participé de près ou de loin à l’accomplissement de ce travail.


Dédicace
Je remercie Allah pour m’avoir donné la force d’accomplir ce travail pour aller plus
loin

Je dédie ce travail à mes parents, ma mère pour ses encouragements et ses prières
tout au long de mes études, mon père pour tous ce qu’il avait fait pour avoir ce résultat.

Je le dédie à mes frères et sœurs surtout mon ange "youcef" (rabi yarahmou), et je les
remercie pour leurs encouragements et leurs aides ainsi que toute ma famille.

A ma grand-mère que j’aimes .

A tous mes amies avec lesquelles j’ai partagé mes moments de Joie et de bonheur

karima
Dédicace
Je remercie Allah tout puissant clément et miséricordieux de m’avoir soigné et aidé
pour accomplir ce travail .

Je dédie ce travail à la memoire de mon père(allah yerhmo),à ma mère pour toute


son assistance et sa présence dans ma vie, ses encouragements et ses prières tout au long de
mes études, .

À mes frères et sœurs, et je les remercie pour leurs encouragements et leurs aides
ainsi que toute ma grande famille.

À l’homme qui m’a choisi pour me donner son nom à jamais.

À tous mes amies qui m’ont partegé les bon mouments comme les mauvais parme
eux amina , bouchra , karima , nedjma , hanane , nesrine , sarah , hafida , ahlam , meriem
, hassiba ,
katia , feriel , imane ,......

À tous ceux qui aiment Sara et ceux qui Sara aime.


sara
Table des matières

Introduction générale 2

1 Programmation Linéaire 4
1 Programmation linéaire continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1 Programme linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Forme d’un Programme linéaire . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 La notion de dualité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Résultats fondamentaux et méthodes de résolution de la programma-
tion linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Méthodes de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Programmation linéaire en nombres entiers . . . . . . . . . . . . . . . . . . . . . 10
2.1 Forme générale d’un programme linéaire en nombres entiers . . . . . . . 10
2.2 Méthodes de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 Optimisation Multi-Objectif 16
1 Définition : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 La dominance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1 Introduction et défnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Optimaliti de pareto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 Efficacité(ou Pareto optimale) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1 Efficacité faible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Efficacité forte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4 Front Pareto et surface de compromis . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1 Ensemble des solutions non dominées : . . . . . . . . . . . . . . . . . . . . 20
4.2 Front Pareto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 Point Idéal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4 Point Nadir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5 Complexité et difficulté de l’optimisation combinatoire multi-objectif . . . . . . 22
6 Méthodes de résolution des problèmes (P MO ) . . . . . . . . . . . . . . . . . . . . 23
6.1 Méthodes de résolution exacte . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.2 Méta-heuristiques multi-objectif . . . . . . . . . . . . . . . . . . . . . . . . 25
6.3 Méthodes hybrides de résolution des problèmes (POML) . . . . . . . . . 27
6.4 Méthodes fLoues ou brouillées . . . . . . . . . . . . . . . . . . . . . . . . . . 28

I
TABLE DES MATIÈRES II

3 Programmation fractionnaire linéaire 31


1 Formulation du programme fractionnaire . . . . . . . . . . . . . . . . . . . . . . . 31
2 Rappelle sur l’optimisation convexe . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1 Notions sur la convexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3 Le modèle générale d’un programme fractionnaire linéaire . . . . . . . . . . . . . 33
4 Résolution d’un programme fractionnaire linéaire . . . . . . . . . . . . . . . . . 34
4.1 La résolution graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2 La résolution analytique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5 Programmation fractionnaire linéaire discrète . . . . . . . . . . . . . . . . . . . . 39
5.1 Forme générale d’un programme fractionnaire linéaire discrète
(PFLNE ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2 Relaxation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.3 Méthodes de résolution des programmes fractionnaires linéaires discrets 41

4 Notions de base de la logique floue 45


1 Idéés cle sur la théorie du flou [ZALlLA, 2003] . . . . . . . . . . . . . . . . . . . . 45
2 Les nombres et les ensembles flous . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.2 Opérations sur les ensembles flous . . . . . . . . . . . . . . . . . . . . . . . 49
2.3 Nombres flous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.4 Défuzzification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5 Résolution d’un problème multi-objectif fractionnaire linéaire flou en


nombres entiers 53
1 Formulation du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2 Modification de la méthode "Isbell-Marlow" . . . . . . . . . . . . . . . . . . . . . . 55
3 Algorithme Solution proposée pour la résolution de problèmes (α − P MFLNE ) 57
4 Un exemple illustratif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6 Implémentation, Résultats et Discution 65


1 Choix du langage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
1.1 Présentation de language de programmation : MATLAB . . . . . . . . . . 66
2 les fonctions programmées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.1 La fonction "Isbelle-Marlow" : . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.2 La fonction de resolution de chaque (PL) : . . . . . . . . . . . . . . . . . . . 66
2.3 La fonction qui regroupe les deux fonctions" ε−contrainte" et
"α−coupe" ainsi que le résultat finale de programme : . . . . . . . . . . . 67
3 Exemple concret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4 Application de l’exemple sur Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Conclusion generale 70

Bibliographie 73
Table des figures

1.1 Les etapes de la méthode de branch and bound . . . . . . . . . . . . . . . . . . . 13

2.1 Espace décisionnel et espace objectif d’un probléme d’optimisation multi-


objectif( exemple avec deux variables de décisions et deux fonctions objectifs). . 17
2.2 Exemple d’optimalité locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Exemple d’optimalitè locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Interprétation graphique de la méthode. . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5 Fonction d’adhésion de Reardon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1 Exemple d’un ensemble convexe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32


3.2 Graphe de l’exemple 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.1 Les fonctions d’appartenances les plus utilisées . . . . . . . . . . . . . . . . . . . 48


4.2 Fonction d’appartenance trapézoïdale (TrFN) . . . . . . . . . . . . . . . . . . . . 50
4.3 Fonction d’appartenance triangulaire (TFN) . . . . . . . . . . . . . . . . . . . . . 51
4.4 La coupe α . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

1
Introduction générale

L’une des principales missions de la recherche opérationnelle est d’aider à prendre des dé-
cisions en vue d’une gestion éfficace, rationnelle et logique. La modélisation traditionnelle
des problèmes de recherche opérationnelle n’a connu que des modèles d’optimisation à
objectif unique jusqu’à l’apparition d’une nouvelle vision plus proche de la réalité et qui
consiste à modéliser les problèmes de sorte que tous les objectifs pertinents soient pris
en considération. Cette philosophie de multiplicité d’objectifs semble très raisonnable et
contribue avec une éfficacité très forte à l’élaboration de nouvelles méthodes pratiques de
gestion plus réalistes que les méthodes classiques.

La résolution d’un problème d’optimisation multi-objetif consiste à trouver la solution


Pareto optimale qui répond au mieux aux préférences du décideur. L’optimisation multi-
objetif est donc étroitement liée au domaine de la prise de décision multicritère. Les
approches de résolution initiales consistaient à réduire le problème original en un pro-
blème mono-objetif. Néanmoins, depuis plusieurs années une des questions fondamentales
de l’optimisation multiobjetif s’apparente à l’identification de l’ensemble Pareto optimal,
ou à une approximation de celui-ci pour des problèmes difficiles de grande taille. Dans ce
contexte, les métaheuristiques en général,et les algorithmes évolutionnaires en particulier,
connaissent un intérêt grandissant.

Dans de nombreuses situations pratiques, il est nécessaire d’utiliser des variables dis-
crètes dans la modélisation du problème, par exemple, dans un problème de planification
manufacturiére, le nombre d’unités produites doit être un nombre entier. On parle alors
d’optimisation discrête ou programmation en nombres entiers.

La programmation fractionnaire a attiré l’attention de nombreux chercheurs dans le


passé. La principale raison de l’intérêt dans la programmation fractionnaire provient du
fait que modèles de programmation pourraient mieux répondre aux problèmes réels si l’on
considère l’optimisation des le rapport entre les propriétés physiques et / ou les quantités
économiques. Etude bibliographique révèle de larges applications de programmation
fractionnaire dans différents domaines allant de la l’ingénierie à l’économie.

La théorie probabiliste a toujours été l’unique approche capable de représenter toutes


les incertitudes présentes dans les problèmes de la vie courante. par ailleurs durant les

2
3

trois dernières décennies la recherche dans le domaine de l’intelligence artificielle, des


mathématiques et des systèmes en ingénierie a démontré que la théorie probabiliste
n’était efficace que pour un type spécifique d’incertitude, et que d’autres approches étaient
possibles pour la compléter. Parmi ces nouvelles approches, la théorie des ensembles flous
est particulièrement pertinente pour ce type de problèmes, elle offre une structure pour
représenter l’information imprécise.

Dans ce mémoire, une tentative pour couvrir le problème multi-objectif fractionnaire


linéaire flou en nombre entiers (P MFLF NE ). Aprés un apercu de certains concepts
préliminaires concernant les nombres flous, nous introduisons le concept de α -solution
efficace du problème à étudier. Le problème initial de programmation floue (P MFLF NE )
est transformé en version non floue basée sur α spécifié l’ensembles α de niveau des
nombres flous. Un algorithme a été développé pour obtenir α solution efficace au problème
(P MFLF NE ).

A cet effet ; nous avons structuré ce présent mémoire en sept chapitres ; nous introduisons
dans le premier chapitre les différentes notions et concept de base de la programmation
linéaire et les différentes méthodes de résolution, ensuite dans le deuxième chapitre
nous présentons les concepts fandamentaux de l’optimisation multi-objectif et un état
de l’art des méthodes de résolution de ces problèmes, nous définissons dans le troisième
chapitre l’essentiel des éléments de la programmation fractionnaire linéaire telle que
la convexité ...etc, nous traitons aussi les différentes méthodes de résolution, dans le
quatrième chapitre comprend les notions des ensembles flous, le cinquième chapitre est
consacré à la résolution de problème multi-objectif fractionnaire linéaire flou en nombres
entiers suivie d’un exemple illustratif, la résolution du ce problème posé à fait l’objet du
dernier chapitre, ont été explicité et implémenté sous matlab ; Finalement, nous clôturons
ce mémoire par une conclusion générale.
Chapitre 1

Programmation Linéaire

Introduction
Les modéles de programmation linéaire permettent d’aborder un grand nombre de
problèmes d’optimisation en apparence trés différents, dans des contextes trés divers. On
peut considèrer que, plutô t que d’être à proprement parler du domaine de la gestion, la
programmation linéaire relève des mathématiques de la Recherche Opérationnelle et
a des applications en gestion ainsi qu’en économie, en statistique, en physique,..,etc. Il
s’agit d’un outil versatile et puissant, régulièrement cité par les entreprises comme un des
modèles les plus utilisées de la Recherche Opérationnelle.

1. Programmation linéaire continue


1.1. Programme linéaire
Un programme linéaire (PL) est un problème d’optimisation consistant à maximiser (mini-
miser) une fonction objectif linéaire à n variable soumises à un ensemble de contraintes
exprimées sous forme d’équations ou d’inéquations linéaires.

1.2. Forme d’un Programme linéaire


Un programme linéaire peut être écrit sous une :

Forme générale


O pt Z LP ( X ) = nj=1 c j x j
P




 s.c



(PL) = Pn (1.1)


 j =1 a i j x j ≤ , ≥ ou = b i , ∀ i = 1, m


 x j ≥ 0, ∀ j = 1, n

4
Programmation Linéaire 5

avec :
-Opt pouvant signifer Minimiser ou Maximiser selon le problème traité,
-Un vecteur C = ( c 1 , c 2 ..c j ) t définissant les coéfficients appliqués à chaque variable de
décision dans la fonction objectif Z LP ,
-Un ensemble de variables de décision représenté par un vecteur X = ( x1 , x2 ..x j ) t ,
-Un vecteur B = ( b 1 , b 2 ..b i ) définissant les seconds membres,
-Un ensemble de contraintes représenté par une matrice A = (a i j ),

Forme canonique



 O pt Z LP ( X ) = C T x

 s.c



(PL) = (1.2)

 Ax ≤ ( resp ≥) b



 x≥0

Forme standard



 O pt Z LP ( X ) = C T x

 s.c



(PL) = (1.3)

 Ax = ( resp =) b



 x≥0

Théorème 1
On peut toujours écrire un problème canonique sous une forme standard et vis versa.

Remarque
? Les problèmes de minimisation et de maximisation sont en fait équivalents puisque
?
? Min Z = -Max(-Z) et Max Z = Min(-Z).
?

1.3. La notion de dualité


La notion de dualité est un aspect très important de la programmation linéaire. Elle fut
développé par John Newmann en 1947 où il a démontré qu’à tout modèle linéaire qu’on
appelle programme primal (P ) correspond un autre appelé programme dual (D ).

Problème dual d’un problème de programmation linéaire Considérons le problème


Programmation Linéaire 6

de PL suivant : 


 Z ( max) = C T x

 s.c



(PL) = (1.4)

 Ax ≤ b



 x≥0

Son dual est le programme linéaire suivant :






W ( min) = b T y
 s.c yA T ≤ c

(D) = (1.5)


 y≥0

Définition du dual dans le cas général


Evidemment, on peut définir le dual de programme linéaire quelconque. le tableau suivant
résume les correspondances entre primal et dual et permet d’écrire directement le dual
d’un programme linéaire quelconque.

Z(Max) =CT x W(Min) = bT y


i eme Contrainte ≥ Variable y i ≤
eme
i Contrainte ≤ Variable y i ≥
i eme Contrainte = yi ∈ R
xj ≥ 0 j eme Contrainte ≥
xj ≤ 0 j eme Contrainte ≤
xj ∈ R j eme Contrainte =

• Soient x et y des solutions réalisables réspectivement du primal et du dual. Si c t x = y t b


alors, x et y sont solutions optimales.
• Si un problème possède une valeur optimale infinie, son dual n’a pas de solutions.

Propriété 1 (dualité faible)


Si x et y sont des solutions réalisables réspectivement du primal (PL) et de son dual
(D ), elle vérifient : C t x≤ y t b

Propriété 2 (dualité forte)


Si le problème primal possède une solution optimale, alors il en est de même pour le
problème dual et de plus, les deux problèmes ont la même valeur optimale Z∗ = W ∗ .
Programmation Linéaire 7

1.4. Résultats fondamentaux et méthodes de résolution de


la programmation linéaire
Convexité et ensemble convexe

Définition 1.1
Un ensemble D non vide est dit convexe si et seulement si pour tout élément x et y de
D et pour tout λ ∈ [0, 1] λ x + ( 1 - λ )y ∈ D.[5]

Définition 1.2
L’intersection d’un nombre fini de demi-espaces fermés de Rn est appelé polytope
fermé.[5]

Définition 1.3
On appelle polyèdre, un polytope convexe borné (c’est à dire compact convexe de
Rn ).[5]

Base et solution de base

Soit le (PL) suivant : 




 O pt Z LP ( X ) = C T x

 s.c



(PL) = (1.6)

 Ax = b...(1)



 x ≥ 0...(2)

Définition 1.4
D = {x ∈ Rn , Ax = b, x≥ 0 } est dit ensemble des solutions réalisables.[5]

Définition 1.5
Tout vecteur vérifiant les contraintes (1) et (2) est appelé "solution réalisable" (admis-
sible) du problème (P).[5]

Définition 1.6
Une solution réalisable x∗ est dite optimale si : C T x∗ = { max C T x, ∀ x ∈ D }.[5]

Définition 1.7
Une solution réalisable x est dite de base si (m∗n) de ses composantes sont nulles et
les autres x j1 , x j2 ,..., x jm , correspondent au m vecteurs a j1 , a j2 ,...,a jm , de la matrice
qui sont linéairement indépendants.[5]

Optimalité en un point extrême


Programmation Linéaire 8

Théorème 2
L’ensemble des points extrêmes du polygone convexe X = {x ∈ R / Ax=b, x ≥ 0}, est
égale à l’ensemble des solutions de bases réalisables.[9]

Théorème 3
La fonction objectif du problème , atteint son maximum en un point éxtrême de
l’ensemble X des solutions réalisables.[6]

Si la fonction objectif atteint son maximum en plusieurs points, elle prendra cette même
valeur maximales en tout points qui est combinaison linéaire convexe de ces points
éxtrêmes.

Théorème 4(théorème d’optimalité)


Soit un (PL) mis sous forme canonique relativement à une base réalisable.
Si le vecteur d’éstimation E est positif ou nul alors la solution de base est optimale.
Une telle base est dite base optimale.[9]

1.5. Méthodes de résolution


Méthode de simplexe

L’algorithme du simplexe est une méthode générale de résolution des programmes


linéaires dont les fondements ont été énoncés et publiés en 1947 par G.Danzig. C’est
une téchnique informatique d’une grande richesse conceptuelle et d’une extraordinaire
éfficacité qui résulte d’éxpériences établies par la résolution de milliers de problèmes
pratiques (qui trouvaient d’ailleurs leurs origines dans des secteurs variés de la vie
économique) pouvant se modéliser comme des programmes linéaires. De plus, la méthode
du simplexe avait une certaine profondeur mathématique et se révélait un outil de
démonstration de résultats théoriques nouveaux, elle apporte donc cette fameuse synthèse
"théorique - pratique" qui donne à la recherche opérationnelle et à la programmation
linéaire, en particulier, ses premières lettres de noblesse en tant que discipline scientifique.

Principe de la méthode du simplexe

La recherche systématique d’une solution optimale à l’aide d’un algorithme du simplexe


peut se résumer comme suit :

1. Déterminer une première solution de base réalisable, cette solution initiale sert de
départ au cheminement vers la solution optimale si elle existe.

2. Si la solution obtenu en 1 n’est pas optimale déterminer une autre solution de base
Programmation Linéaire 9

réalisable qui permettrait d’améliorer la fonction objectif (augmentation pour une


maximisation ou diminution pour une minimisation)

3. On répète cette procédure itérative jusqu’à ce qu’il ne soit plus possible d’améliorer
la fonction objectif. La dernière solution de base réalisable obtenue constitue la
solution optimale au programme linéaire.

Algorithm 1 L’algorithme du simplexe


Soit B une base réalisable de départ, alors l’écriture canonique de (PL) par rapport à B est :
1 1
Im ÂN = A −
B
AN b̂ = A−
B
b
0ℜn t
ĉ tN = c tN − c B A−
B
1
AN t
z - cB A−
B
1
b
Etape 1 : si ĉ N ≤ 0, terminer ; la solution courante est optimale.
Etape 2 : Déterminer quelle variable xs , s ∈ N, rentre en base en sélectionnant
ĉs = max j ∈ N {ĉ s }.

Etape 3 : si ∀ i = 1,...,m, â is < 0, terminer ; la fonction objectif n’est pas bornée Sinon, choisir
une ligne r pour déterminer la variable qui doit quitter la base telle que :
b̂ r b̂
â rs = min { â isi | â is > 0}
i =1,...,m
B ← B ∪ {s} \ {f(r)}
où f(i) ∈ {1,...,n} est l’indice de la variable de base associée à la ligne i, i ∈ {1,...,m}. L’élément ârs
est appelé pivot.
Etape 4 : Les m premières lignes du tableau 1 ainsi que la dernière ligne sont alors calculées
de la façon suivante :
l i ← l i − lâr ârsis ; i = 1, ..., m, i 6= r
lr ← lr − âlrsr
lm+1 ← lm+1 − lâr ârsis
Aller à l’étape 2.

Méthode de dual du simplexe

La méthode de dual du simplexe a été dévloppée par C.E.Lemke. Le principe de cette


méthode consiste à partir d’une solution non réalisabe ( xB < 0) obtenir une solution
réalisable ( xB < 0).
Programmation Linéaire 10

Algorithm 2 Algorithme dual du simplexe

Les étapes pour appliquer l’algorithme dual du simplexe sont les suivantes :
Etape 1 : Ecrire le problème sous forme standard
Etape 2 : Obtenir une solution de base de départ
avec -z j ≤ 0 j ∈ N.
Etape 3 : Critère de sortie d’une variable : la variable xr sort de la base d’aprés
xr = min{ xb̂ i /xb̂ i < 0}
(a) S’il n’éxiste pas terminer.
(b) Sinon aller à (4)
Etape 4 : Critère d’entrée d’une variable : la variable xs introduite dans la base d’aprés :
xs = min { -z j / νr j , νr j < 0 }
telle que le pivot est ν

Etape 5 : pivoter sur νrs en utilisant les mêmes règle que l’algorithme de simplexe.
Etape 6 : Critère d’optimalité : On obtient une solution réalisable optimale si tous les xbr ≥ 0
et tous les -z j ≤ 0.
Etape 7 : Si la solution de base n’est pas réalisable, on poursuit l’algorithme (allez à 4).
Etape 8 : Sinon terminer.

2. Programmation linéaire en nombres entiers


La programmation linéaire en nombres entiers est un domaine trés riche de la program-
mation mathématique. Les recherches dans ce domaine sont nombreuses et ont vue leurs
naissances en 1958. Un problème de programmation linéaire en nombres entiers (PLNE )
est un programme linéaire, sous des contraintes linéaires, dans lequel il y a la contrainte
supplémentaire que les variables sont entières.

2.1. Forme générale d’un programme linéaire en nombres en-


tiers
La forme générale d’un programme linéaire en nombres entiers se présente comme suit :

O pt Z LP ( X ) = nj=1 c j x j
 P



s.c






 P
n
(PLNE) = j =1 a i j x j ≤ , ≥ ou = b i , ∀ i = 1, m (1.7)


x j ≥ 0, ∀ j = 1, n







x i entier j = 1, k( k ≤ n).

Relaxation Soit la forme générale du (PLNE ) suivante :


Programmation Linéaire 11

O pt Z LP ( X ) = nj=1 c j x j
 P



s.c






 P
n
(PLNE) = j =1 a i j x j ≤ , ≥ ou = b i , ∀ i = 1, m


≥ 0 j = 1, n, ∀ j = 1, nx j







x i ∈ Z + j = 1, k ( k ≤ n).

(1.8)

2.2. Méthodes de résolution


Ces méthodes sont capables de trouver une solution optimale d’un problème donné dans
un intervalle de temps bien déterminé mais exponentiel sur les problèmes NP-complets
(notamment les (PLNE )). Parmi ces méthodes on retrouve la Méthode des coupes, la
méthode de séparation et d’évaluation (Branch and Bound),et la méthode que combine les
deux dernières (Branch-and-Cut).

Coupes de Gomory

L’algorithme utilisant les coupes de Gomory procède comme suit :


Soit x une solution optimale du problème relaxé (PL) trouvée par la méthode du simplexe.
Si x est une solution entière, elle est optimale pour (PLNE ). Sinon, choisir une variable
x j telle que la valeur x j est fractionnaire et considèrer la ligne correspondante du tableau
du simplexe, par exemple la ligne i :

X
â ik xk = x j (1.9)
k∈ N

Où N est l’ensemble des indices des variables hors-base


La contrainte
X
f (â ik ) xk ≥ f ( x j ) (1.10)
k∈ N

est alors déduite de l’expression précédente, où f(r) = r - b r c désigne la partie fractionnaire


du nombre réel r.
Cette coupe, appelée coupe fractionnaire de Gomory, ou coupe fondamentale, peut être
rajouter au tableau courant du simplexe.
Dans la pratique, les coupes fractionnaires de Gomory convergent très lentement.
D’autres coupes ont été introduites dont l’intention de les rendres plus performantes.

Méthode par séparation et évaluation

Principe de la méthode :
Programmation Linéaire 12

Le principe des procédures par séparation et évaluation est basé sur l’éxploration d’un
arbre de solutions. Toutes les solutions possibles du problème sont séparées en deux sous
ensembles ou plus, chacun d’eux est représenté par une branche de l’arbre de décision.
En utilisant cette méthode, nous examinons, initialement, tout l’ensemble de solutions S.
Dans la phase d’évaluation, nous admettons des solutions n’appartenant pas à S (non
réalisables). Cette étape permet de déterminer une borne inférieure au problème et
consiste en une énumération des solutions du problème par éxploration partielle de
l’arborescence des solutions obtenues par décomposition successives du problème.
L’éfficacité de cette éxploration arborescente peut être grandement accrue si on a un
moyen d’éviter l’examen de toutes les parties en lesquelles l’ensemble des solutions est
décomposé.
Dans les procédures par S-E, c’est la fonction d’évaluation qui permet d’éliminer des
branches complètes de l’arborescence et de localiser la solution optimale, on peut dire qu’il
s’agit d’une "exploration intelligente" du domaine des solutions réalisables du problème
d’optimisation combinatoire considéré. Cette méthode opère comme suit :
-Décomposer l’ensemble des solutions réalisables en plusieurs sous-ensembles.
-Associer à chaque sous-ensemble une évaluation qui est une borne inférieure de la
fonction objectif pour un problème de minimisation (rèspectivement une borne supérieure
de la fonction objectif pour un problème de maximisation).
Si la plus petite évaluation (rèspectivement la plus grande) est associée à une solution
réalisable, alors cette solution est optimale, sinon, séparer l’ensemble auquel correspond
l’évaluation.

Présentation des proédures par séparation et évaluation

Les procédures par S-E ne constituent qu’un cadre général à l’intérieur duquel les diffé-
rents algorithmes sont spécifiés, quand on précise d’une part comment sont définis les
sous-ensembles en lequel l’ensemble fondamental des solutions d’un problème d’optimisa-
tion combinatoire S sera progressivement décomposé d’une part, et comment on éffectue
le choix du sous-ensemble à traiter, les modes d’évaluation et de séparation, d’autre part.
Cependant la méthode générale peut étre définie de manière plus précise.
Programmation Linéaire 13

F IGURE 1.1 : Les etapes de la méthode de branch and bound

On utilisera un schéma de résolution du type suivant :


-Chaque fois que de nouveaux sous-ensembles de S sont engendrés, on leur associe une
évaluation, borne inférieure (rèspectivement), une borne supérieure pour un problème de
maximisation) du coût des solutions appartenant à ce sous-ensemble.
-Si l’on dispose d’une solution réalisable dont le coût est inférieur (rèspectivement
supérieur pour un problème de maximisation) ou égal aux évaluations des différents
sous-ensembles constituant la partition courante de S, terminer : cette solution est
optimale.
Sinon, on choisit un sous-ensemble de S susceptible de contenir une solution optimale et
on le sépare (on le partitionne) en sous-ensembles plus petits. Et on recommence.
La première chose à faire, quand on veut définir une procédure par S-E, est de spécifier
comment seront caractérisés les sous-ensembles qui, à chaque instant, recouvrions
l’ensemble S. Le principe de séparation est évidemment lié de manière étroite, le plus
souvent, à la définition de ces sous-ensembles.

Algorithme par S-E pour la résolution de (PLNE )


Soit le programme linéaire (PLNE ) issu de la modélisation du problème posé, soit
0
(PLNE ) le programme linéaire relaxé obtenu à partir de (PLNE ) en relâchant les
contraintes d’intégrité sur les variables Yit (remplacer les conditions Yit ∈ 0,1 par 0
0
≤ Yit ≤ 1. et soit S l’ensemble des solutions réalisables de (PLNE ) qui peuvent être
obtenues soit par tâtonnement ou fournies par l’entreprise sans utiliser l’algorithme du
simplexe et sans faire aucun pivotage, on peut éffectuer les évaluations de manière directe,
augmentant ainsi considérablement l’éfficacité de l’algorithme.

0 0 0
A l’optimum de (PLNE ) ; Z((PLNE ) ) qu’on notera Z est une évaluation de l’ensemble S,
0 0
si la solution de (PLNE ) est à composantes entières alors Z est une évaluation exacte.
Ainsi pour la résolution de P, on utilise le schéma suivant :
(1) Procédure d’initialisation
Programmation Linéaire 14

Y 0 : meilleure solution actuelle.


v=+∞

(2) Procédure de choix


Pour choisir le nœud qu’on doit traiter, on doit parcourir toutes les branches de l’arbores-
cence afin de repérer la branche dont la valeur de la fonction objectif est minimum, ce qui
signifie que la sélection se fera selon la stratégie du meilleur d’abord.

(3) Procédure d’évaluation


Chaque nœud de l’arborescence représente un programme linéaire qui est résolu à l’aide
de la méthode du simplexe. La fonction objectif sera évaluée pour chaque nœud et qui
sera utile par la suite pour la sélection de la branche qui doit être éxplorée.
Si les composantes de la solution obtenue sont entiLres, terminer (évaluation exacte).
v : = Z0
Y 0 := Y
Stériliser.

(4)Procédure de séparation
Pour séparer l’ensemble S, choisir l’indice r tel que la r ime composanteassoci é eàY n0 estpasenti è recarla
n’est pas entière.
Séparer S en S 1 et s 2 avec : S 1 : l’ensemble des solutions réalisables du programme
0
(PLNE )1 obtenu en rajoutant la contrainte Yit ≥ b Yit c
0
S 2 : l’ensemble des solutions réalisables du programme (PLNE )2 obtenu en rajoutant la
contrainte Yit ≤ b Yit c + 1.
Associer au sommet de l’arborescence deux sommets fils.

Stérilisation :
Evaluation exacte :
stériliser les sous-ensembles correspondant et tout sous-ensemble dont l’évaluation
est supérieure à celle ci. Cet algorithme se termine quand tous les sommets sont soit
terminaux ou éliminés, donc chaque sommet de l’arborescence sera classé dans un des
trois états suivants :

1. Exploré : ses successeurs sont créés par séparation et sont évalués.

2. Actif : non encore éxploré.

3. Eliminé son évaluation est supérieure à la valeur de la meilleure solution trouvée.


Programmation Linéaire 15

Méthode "branch and cut"

Cette méthode couple la méthode par séparation et évaluation avec des coupes pour
résoudre des programmes linéaires en nombres entiers ou mixtes. Le principe est de
résoudre la relaxation continue du programme linéaire en nombres entiers à l’aide de
l’algorithme du simplexe. Si la solution optimale du problème relaxé n’est pas entière,
on construit une coupe (ou plusieurs) à partir du tableau optimal du simplexe qu’on
rajoute à ce dernier et on optimise de nouveau le tableau du simplexe obtenu. On répéte
ce procédé jusqu’à ce qu’une solution entière, soit trouvée, (solution optimale dans le cas
d’un (PLNE )), ou un test d’arrêt est vérifié. A cette étape, si on n’a pas encore trouvé de
solution entière, alors la partie séparation et évaluation de l’algorithme commence.
Conclusion

On a interessé dans ce chapitre à la présentation de programmation linéaire (continue et


discrète) d’une facon générale.
Chapitre 2

Optimisation Multi-Objectif

Introduction
La vie réelle foisonne de problèmes qui cherchent une solution. La majorité de ces pro-
blèmes ont des solutions qui ne sont pas forcément convenables selon un ou plusieurs
critères bien définis. La plupart des problèmes d’optimisation réels sont décrits à l’aide
de plusieurs objectifs ou critères souvent contradictoires et parfois complémentaires qui
doivent être optimisés simultanément. Pour les problèmes n’incluant qu’un seul objectif,
l’optimum cherché est clairement défini, celui-ci reste à formaliser pour les problèmes
d’optimisation multi-objectif.
Prenons le cas d’une personne souhaitant acheter une maison. La maison idéale est celle
qui est moins chère avec beaucoup d’éspace et bien située si possible, mais cette maison
idyllique n’existe pas. Notre acheteur va donc devoir identifier les meilleurs compromis
possibles correspondants à son budget.
Plusieurs autres problèmes peuvent être décrits de la même manière tels que l’établis-
sement d’un emploi du temps scolaire ; c’est un problème multi-objectif de nature car il
faut en même temps optimiser plusieurs objectifs tels que : le volume horaire à ensei-
gner, l’occupation des locaux, la charge horaire par enseignant, le nombre de matière . . .
etc. Traditionnellement, Les problèmes multi-objectif ont été abordés comme problèmes
d’optimisation mono-objectif après la combinaison de plusieurs critères dans une simple
valeur scalaire. De l’autre côté et pendant les dernières années, il y a eu l’apparition d’un
certain nombre de métaheuristiques multi-objectif dont le but est d’obtenir un ensemble
de solutions de compromis pour des problèmes d’optimisation multi-objectif dans une
seule éxécution et sans besoin de convertir le problème en mono-objectif au risque que
celui-ci perd sa signification. La plupart de ces techniques ont réalisé un grand succès
dans l’optimisation des problèmes réels multi-objectif.

1. Définition :
Un problème d’optimisation multi-objectifs consiste à rechercher les meilleures solutions
qui minimisent un nombre M de fonctions, appelées fonctions coût, f m [ X ], m = 1...M par
rapport à un vecteur X, qui est le vecteur des n variables de contrôle (ou paramètres) :

16
Optimisation Multi-Objectif 17

X = [x1 x2..xn]T , en satisfaisant un certain nombre de contraintes, explicites comme les


contraintes de borne ( x iI ≤ x i ≤ x si , i = 1, .., n) ou implicites, d’égalité ( h k ( x) = 0, k = 1, .., K )
ou d’inégalité ( g j ( x) ≥ 0, j = 1, .., J ). On se limite aux problèmes de minimisation, puisque
la maximisation d’une fonction f ( X ) peut facilement être transformée en un problème de
minimisation :

max( f ( X )) = − min(− f ( X ))

Un problème d’optimisation peut s’écrire sous la forme générale suivante :




 O pt f m ( X ) , m ≥ 1

 s.c
(PM)


 g j ( x) ≥ 0, j = 1, .., J

xi ≥ 0

Dans notre mémoire, on considère le cas de maximisation.

Quand le problème d’optimisation contient une seule fonction coût ( M = 1), il est appelé
mono-objectif. Ce problème, utilise un seul espace de recherche, connu aussi sous le nom
d’espace de décision S. Il s’agit de l’ensemble des combinaisons possibles des paramètres
qui satisfont toutes les contraintes. En revanche, si le problème d’optimisation contient
plusieurs fonctions coût ( M > 1) , et si les fonctions coût sont antagonistes, il est appelé
multiobjectifs. Un problème d’optimisation multi-objectifs porte sur deux espaces, que
sont l’espace de décision S et l’espace fonctionnel (l’espace des fonctions coût)F.

F IGURE 2.1 : Espace décisionnel et espace objectif d’un probléme d’optimisation multi-
objectif( exemple avec deux variables de décisions et deux fonctions objectifs).

2. La dominance
Optimisation Multi-Objectif 18

2.1. Introduction et défnitions


Lorsque nous avons résolu notre problème d’optimisation multi-objectif, 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, dans le sens suivant :
Définition 2.1
Une solution y = ( y1 , ..., ym )T domine faiblement une solution z = ( z1 , ...z m ) Ssi
∀ i ²1...m f i ( y) ≤ f i ( z)
si la solution y domine faiblement la solution z nous allons noter y ¹ z.[4]

Définition 2.2
Une solution y = ( y1 , ..., ym ) domine une solution z = ( z1, ...zm) Ssi :
∀ i ∈ {1...m} f i ( y) ≤ f j ( z) , et ∃ j ∈ {1...m} tq f j ( y) < f j ( z)
Si la solution y domine la solution z nous notons alors y ≺ z.[4]

Notons que pour toute paire de solution y et z un et un seul des cas suivants peut se
presenter :
– y domine z
– y est domine par z
– y et z sont équivalentes au sens de la dominance.
Les solutions équivalentes au sens de la dominance sont appelées dans se qui suit,
solutions équivalentes au sens de Pareto ou solutions Pareto équivalentes ou encore,
solutions non-dominées.

Propriétés de la relation de dominance


La relation de dominance telle qu’elle est définie ci-dessus :[4]
– n’est pas réflexive car une solution ne se domine pas elle méme.
– n’est pas symétrique, car on n’a jamais y ≺ z et z ≺ y.
– est transitive, car si y ≺ z et z ≺ w alors y ≺ w .

2.2. Optimaliti de pareto


Soit un ensemble (P) de solution candidates d’un probléme d’optimisation multi-objectif.
L’ensemble P 0 ⊆ P , composé de tous les éléments de P qui ne sont dominés par aucun
élément de P est dit sous-ensemble non dominé de l ensemble P.
– Optimalité locale au sens de pareto : Une solution y est optimale localement au sens de
pareto s’il existe un réel δ > 0 telqu’il n’ait pas une solution z dominant y et vérifiant
∥ z − y ∥≤ δ
– Optimalité globale au sens de pareto : Une solution y est optimale globalement au sens
de pareto, ou optimale au sens de pareto, ou encore preto-optimale s’il n’existe aucun
point de l’éspace faisable D qui la domine. L’ensemble des solutions Pareto optimale est
Optimisation Multi-Objectif 19

appelé l’ensemble de Pareto ou égalemment l’ensemble de compromis optimaux. L’image


de l’ensemble de Pareto dans l’éspace des critéres est appelé la surface de pareto ( ou le
front de pareto pour les cas bi-objectif ) ou encore la surface des compromis optimaux.

3. Efficacité(ou Pareto optimale)


Définition 2.3
Une solution x∗ ∈ X est une solution efficace s’il n’éxiste pas de x ∈ X tel que z( x)
domine z( x∗ ).[4]

3.1. Efficacité faible


Définition 2.4
Une solution x∗ ∈ X est une solution faiblement éfficace s’il n’existe pas de x ∈ X telle
que z( x) < z( x∗ ). Une solution est faiblement éfficace si son vecteur critère n’est pas
fortement dominé.[4]

3.2. Efficacité forte


Définition 2.5
Une solution x∗ ∈ X est une solution fortement éfficace s’il n’existe pas de x ∈ X telle
que x 6= x∗ et z( x) = z( x∗ ). Une solution x est fortement éfficace s’il n’existe pas une
autre solution telle que le vecteur critère, qui lui est associé, soit aussi bon que celui
de x. Remarquons que l’éfficacité forte implique l’éfficacité qui implique à son tour
l’éfficacité faible.[4]

4. Front Pareto et surface de compromis


Nous rappelons que la solution que nous cherchons á un problème d’optimisation multi-
objectif n’est pas un point unique mais un ensemble de points que nous avons appelé
l’ensemble des meilleurs compromis
Optimisation Multi-Objectif 20

F IGURE 2.2 : Exemple d’optimalité locale

Nous avons défini jusqu’ici les notions de dominance (au sens de Pareto) et d’optimalité.
Il nous reste maintenant à dèfinir la solution d’un problème multi-objectif utilisant ces
concepts. Cet ensemble des meilleurs compromis, appelé aussi surface de compromis ou
front Pareto, est composé des points qui ne sont dominés par aucun autre. Nous définissons
d’abord formellement l’ensemble des solutions non dominées :

4.1. Ensemble des solutions non dominées :


Définition 2.6
[4]Soit F l’image dans l’éspace des objectifs de l’ensemble réalisable X . L’ensemble
des solutions non dominées de X , est défini par l’ensemble ND ( X ) :

ND ( X ) = x ∈ X | x est non dominè par rapport á X

Nous pouvons définir le front Pareto de F de manière analogue :

4.2. Front Pareto


Définition 2.7
Soit F l’image dans l’éspace des objectifs de l’ensemble réalisable X . Le front Pareto
ND (F ) de F est défini comme suit :

ND (F ) = y²F | Ø z ∈ F, z < y

Le front Pareto est aussi appelé l’ensemble des solutions éfficaces ou la surface de
compromis.[4]
Optimisation Multi-Objectif 21

Un exemple de surface de compromis (front Pareto) en dimension 2 est montré dans la


figure 2.3. Dans cet exemple, le problème considéré est un problème de minimisation avec
deux critères. Deux points particuliers apparaissent clairement : le point idéal et le point
Nadir. Ces deux points sont calculés á partir du front Pareto. Le point idéal (resp. le point
Nadir) domine (resp. est dominé par) tous les autres points de la surface de compromis.
Bien que ces points ne soient pas forcément compris dans la zone réalisable.

F IGURE 2.3 : Exemple d’optimalitè locale

Les coordonnées de ces deux points sont maintenant définies formellement.

4.3. Point Idéal


[46]Les coordonnèes du point idéal ( p i ) correspondent aux meilleurs valeurs de chaque
objectif des points du front Pareto. Les coordonnées de ce point correspondent aussi aux
valeurs obtenues en optimisant chaque fonction objectif séparément.

p ii = min yi | y ∈ ND (F )
Optimisation Multi-Objectif 22

4.4. Point Nadir


Les coordonnèes du point Nadir (pn) correspondent aux pires valeurs de chaque objectif
des points du front Pareto.

p ni = max yi | y ∈ ND (F )

La figure 2.3 nous indique aussi que le front Pareto peut avoir des propriétés particulières
quant á sa forme. La principale caractéristique utilisée pour comparer les formes de ces
courbes est la convexité.[46]
Nous rappelons donc la dèfinition de la convexité :

Convexité :

Un ensemble A est convexe, si et seulement si l’équivalence suivante est vérifiée :

x∈ A
V
y ∈ A ⇐⇒ Se gment( x, y) ⊂ A

La convexité est le premier indicateur de la difficulté du problème. En effet, certaines


méthodes sont dans l’incapacité de résoudre des problèmes non convexes de manière opti-
male. Mais il éxiste d’autres indicateurs tout aussi importants, notamment la continuité,
la multimodalité, la nature des variables de décision (entières ou réelles),...[16]

5. Complexité et difficulté de l’optimisation com-


binatoire multi-objectif
La complexité (temporelle) d’un algorithme est le nombre d’opérations élémentaires
(affectations, comparaisons, opérations arithmétiques) éfféctuées par cet algorithme. Ce
nombre s’éxprime en fonction de la taille n des données.
On s’intéresse au coût exact quand c’est possible, mais également au coût moyen (que
se passe-t-il si en moyenne sur toutes les exécutions du programme sur des données
de taille n ), au cas le plus favorable, ou bien au pire cas. On dit que la complexité de
l’algorithme est O(f(n)) où f est d’habitude une combinaison de polynômes, logarithmes ou
exponentielles. Ceci reprend la notation mathématique classique, et signifié que le nombre
d’opérations effectuées est borné par cf(n), où c est une constante, lorsque n tend vers
l’infini.
Les algorithmes usuels peuvent être classées en un certain nombre de grandes classes de
complexité.

– Les algorithmes sous-linéaires, dont la complexité est en général en o(log n). C’est le cas
de la recherche d’un élément dans un ensemble ordonné fini de cardinal n ;

– Les algorithmes linéaires en complexité o(n) ou en o(n log n) sont considérés comme
rapides, comme l’évaluation de la valeur d’une expression composée de n symboles ou
Optimisation Multi-Objectif 23

les algorithmes optimaux de tri ;

– Plus lents sont les algorithmes de complexité située entre o( n2 ) et o( n3 ), c’est le cas de
la multiplication des matrices et du parcours dans les graphes ;

– Au delà, les algorithmes polynômiaux en o( n k ) pour k > 3 sont considérés comme lents,
sans parler des algorithmes exponentiels (dont la complexité, est supérieure à tout
polynôme en n), que l’on s’accorde à dire inutilisables dés que la taille des données est
supérieure à quelques dizaines d’unités.

6. Méthodes de résolution des problèmes (P MO )


6.1. Méthodes de résolution exacte
Il y a très peu de travaux sur les méthodes éxactes dans le contexte de la résolution des
problèmes d’optimisation multi-objectif, sans doute, à cause de la grande difficulté de ce
type de problème.
Les références existantes et qui présentent la plupart des méthodes exactes sont Ulungu
et Ehrgott et Gandibleux 2000.

L’agrégation linéaire

Cette méthode populaire transforme le problème multi-objectif en un problème mono-


objectif en combinant linéairement les différents objectifs. Ainsi, le nouveau problème
obtenu, car il s’agit alors d’un problème différent, consiste à optimiser i λ i f i
P

Le théorème de Geoffrion indique qu’en utilisant différentes valeurs pour le vecteur λ, il


est possible d’obtenir toutes les solutions supportées du problème multi-objectif initial.
Par contre, aucune solution non supportée peut être trouvée par cette méthode.
La méthode d’agrégation linéaire a donc ses limites. Toutefois, elle est intéressante
pour des problèmes ayant de nombreux objectifs et/ou un grand nombre de solutions
supportées bien réparties. Dans ce contexte, il peut être suffisant de générer les solutions
supportées.[51]

Méthode ² contrainte

Cette méthode permet de transformer le problème d’optimisation multiobjectif en un


problème mono objectif. La méthode consiste à convertir ( m − 1) des m objectifs du
problème en contraintes et d’optimiser séparément l’objectif restant.
La démarche est la suivante :
– Nous choisissons un critère à optimiser prioritairement
– Nous transformons le problème conservant l’objectif prioritaire et nous nous transfor-
Optimisation Multi-Objectif 24

mons les autres objectifs en des contraintes d’inégalité Le problème peut être reformulé
de la manière suivante :


 max[ f i ( x)]

tq :





f 1 ( x ) ≤ ²1




..


.





f i−1 ( x) ≤ ² i−1



 f i+1 ( x) ≤ ² i+1
..



.




f m ( x) ≤ ² m






et que g ( x) ≤ 0





avec, x ∈ Rn , f ( x) ∈ Rm , g( x) ∈ R q

L’approche par ²−contrainte doit aussi être appliquée plusieurs fois en faisant varier le
vecteur ² pour trouver un ensemble de points Pareto optimaux.
Cette approche a l’avantage par rapport à la précédente de ne pas être trompée par les
problèmes non convexes.
Ainsi la figure suivante illustre, en dimension 2, le cas où un point(², f 1min ), de la partie
non convexe, est trouvé. Cette figure montre aussi comment cette approche procède.
En transformant des fonctions objectifs en contraintes, elle diminue la zone réalisable par
paliers. Ensuite, le processus d’optimisation trouve le point optimal sur l’objectif restant.
L’inconvénient de cette approche réside dans le fait qu’il faille lancer un grand nombre
de fois le processus de résolution. De plus, pour obtenir des points intéressants et bien
répartis sur la surface de compromis, le vecteur ² doit être choisi judicieusement.
Il est clair qu’une bonne connaissance du problème a priori est requise.[1]

F IGURE 2.4 : Interprétation graphique de la méthode.


Optimisation Multi-Objectif 25

6.2. Méta-heuristiques multi-objectif


La classe des Métaheuristiques pour l’optimisation multi-objectif sont ceux qui emploient
méthodes approchées et utilisent souvent la recherche locale ou l’exploration du voisinage
pour conduire la recherche ou comme composant important du processus (approches
d’hybride). Plusieurs métaheuristiques multi-objectif employant la recherche locale ont
été proposées dans la littérature.
Les métaheuristiques ont été appliquées avec succées sur un grand nombre de problèmes
académiques et réels : problème d’affectation quadratique, coloriage de graphe, voyageur
de commerce, . . . ect.
Ehrgott et Gandibleux classent ces méthodes essentiellement en deux classes : les
algorithmes évolutionnaires (avec plusieurs solutions) et les algorithmes d’exploration de
voisinage (à solution unique).

Les algorithmes d’exploration de voisinage (à solution unique)

La Recherche Tabou
La recherche Tabou est une métaheuristique développée par Glover ([Glover, 86], [Glover ,
90], [Glover, 97]). Elle est basée sur des idées simples, mais elle est néanmoins très efficace.
Elle combine une procédure de recherche locale avec un certain nombre de règles et de
mécanismes pour surmonter l’obstacle des optima locaux, tout en évitant de cycler. Elle a
été appliquée avec succès pour résoudre de nombreux problèmes difficiles d’optimisation
combinatoire. Le principe de la méthode Tabou est simple : On part d’une solution initiale
x, puis on cherche le meilleur voisin s(x) dans le voisinage de x [s(x)], l’originalité de la
méthode réside dans le fait que l’on retient le meilleur voisin de x même si celui -ci est
plus mauvais que x. Ce critère autorisant les dégradations de la fonction objectif évite à
l’algorithme d’être piégé dans un minimum local, mais il induit un risque de cyclage. Pour
régler ce problème, l’algorithme mémorise la liste des transformations interdites (telle que
de s(x) à x) dans la liste Tabou interdisant la transformation inverse d’une transformation
faite récemment.[51]
Optimisation Multi-Objectif 26

Algorithm 3 Algorithme Recherche Tabou


1 : L = ; (liste des points tabous)
2 : Init x (point de départ)
3 : Init k f in (nb d’itérations max total )
4 : Init k = 0 et l = 0
5 : While (not(end))
6: y = voisinage(x) − L (on prend un voisinage sans points tabous)
7: DC = C(y) − C(x)
8: x = y avec y ∈ voisinage(x) − L tel que min C(y)–C(x)
9: L = L+x
10 : k = k+1
11 : Update L (on retire des mouvements tabou de L suivant des critères d’aspiration)
12 : If k =k f in thenend(whil e)re peat

Le Recuit Simulé
L’origine de la méthode du Recuit Simulé provient de la métallurgie, où, pour atteindre les
états de basse énergie d’un solide, on chauffe celuici jusqu’à des températures très élevées,
après on le laisse refroidir lentement. Ce processus est appelé le recuit. La méthode du
recuit simulé a été développé simultanément par Kirk en 1983 et Cerny en 1985.[41]

Algorithm 4 Algorithme Recuit Simulé


1 : Init T (tempèrature initial), Init x (point de dèpart), Init ∆T (temperature) ;
13
2 : tantque not end faire
3: y = V oisin(x), ∆C = C(y) − C(x) ;
4: si ∆C < 0 alors
5: y = x;
6: sinon
7: si alea(0,1) < e∆ c alors y = xT = α(T) ;
8:
9 finsi
10 : finsi
11 : si T < ∆T alors
12 :
13 : finsi
14 : fin tantque
15 : REPEAT(while) ;

Les algorithmes évolutionnaires(à solution multiple)

On peut distinguer trois grandes classes d’algorithmes évolutionnaires : les algorithmes


génétiques [Holland, 1975 ; Goldberg, 1989], les stratégies d’évolution [Schwefel, 1981] et
la programmation évolutive [Fogel, 2000]. Ces méthodes se distinguent par la manière de
représenter l’information et par la façon de faire évoluer la population d’une génération
à l’autre. Un algorithme évolutionnaire est typiquement composé de trois éléments
fondamentaux :
Optimisation Multi-Objectif 27

– une population constituée de plusieurs individus représentant des solutions poten-


tielles (configurations) du problème donné,
– un mécanisme d’évaluation des individus permettant de mesurer l’adaptation de
l’individu à son environnement,
– un mécanisme d’évolution de la population permettant, grâce à des opérateurs
prédéfinés, d’éliminer certains individus et d’en créer de nouveaux.
Parmi les composants d’un algorithme évolutionnaire, l’individu et la fonction d’évaluation
correspondent respectivement à la notion de configuration et à la fonction d’évaluation
dans les méthodes de voisinage. Le mécanisme d’évolution est composé de plusieurs
opérateurs tels que la sélection, la mutation et le croisement.
La sélection a pour objectif de sélectionner des individus qui vont pouvoir se reproduire
pour transmettre leurs caractéristiques à la génération suivante. Le croisement ou
recombinaison est un opérateur permettant de construire de nouveaux individus enfants
à partir des caractéristiques d’individus parents sélectionnés. La mutation effectue des
légères modifications de certains individus.

Algorithmes génétiques

Les algorithmes génétiques (AGs) ont été introduits par Holland [Holland, 1975] comme
un modèle de méthode adaptative. Le but principal d’un AG est de chercher, dans une
space de solutions E, un élément de cet espace ayant la meilleure adaptation à l’environne-
ment posé. Chaque élément de E est un individu,noté x. Une population P est donc une n
semble de N éléments (individus) de E :P=( x1 , x2 , ..., xn ). La mesure du degré d’adaptation
de chaque individu constitue la fonction de performance F(fitness). L’objectif d’un AG est
de faire évoluer cette population P afin de trouver le meilleur individu x*. Dans ce but,
à chaque génération t, les individus de la population P(i) sont sélectionnés, croisés et
mutés selon des probabilités prédéfinies respectivement p c (probabilité decroisement) et
p m (probabilité de mutation).[1]

6.3. Méthodes hybrides de résolution des problèmes (POML)


Comme nous allons le voir, il est possible d’exploiter plusieurs méthodes pour en former
une nouvelle. Dans ce cas, nous obtenons une "méthode hybride".
Présentation de la méthode

La méthode hybride la plus connue est la méthode de Corley. Cette méthode utilise la
méthode de pondération des fonctions objectif et la méthode du compromis. On part du
problème (P ). On le transforme de la manière suivante :
Optimisation Multi-Objectif 28

 Pm


 Maximiser i =1 w i . f i ( x)
 f ( x) ≤ ² , j ∈ 1, ..., m

i j
(P cor ) :


 et g( x) ≤ 0
x ∈ Rn

6.4. Méthodes fLoues ou brouillées


Ces méthodes font intervenir la logique floue à tous les niveaux (sur les paramètres du
problème ainsi que sur les paramètres des contraintes). L’ensemble de solutions que l’on
va trouver, lui aussi, fera intervenir la logique floue.

Méthode de Sakawa

Cette méthode fait intervenir la logique floue à tous les niveaux (sur les paramètres du
problème ainsi que sur les paramètres des contraintes). L’ensemble des solutions que
l’on va trouver, lui aussi, fera intervenir la logique floue. Ces solutions auront un niveau
d’appartenance. Ce seront des solutions qui auront une corrélation variable avec l’objectif
initial (le niveau de corrélation avec l’objectif initial est fixé par l’utilisateur).

Algorithme de la méthode de Sakawa

Algorithm 5 Algorithme de la méthode de Sakawa

Etape 1 : sous la contrainte g(x) ≤ 0, on minimise, puis on maximise, chaque fonction objectif
séparément, de manière a obtenir la plage de variation de la fonction d’appartenance des
fonctions objectif.
Etape 2 :On définit les fonctions d’appartenance de la manière suivante :
f i 1 − f i ( x)
µi x = f i1 − f i0 ;

• f i0 est la valeur de la fonction d’appartenance la moins intéressante,
• f i1 est la valeur de la fonction d’appartenance la plus intéressante.
Etape 3 : On définit les fonctions de prise de décision DM i (Decision Making) comme suit :

0, si µ i (x) ≤ 0




µ i (x), si0 ≤ µ i (x) ≤ 1

DM i (x) = (2.1)

 1, si µ i (x) ≥ 1


• DM i (x) = 0, quand l’objectif n’est pas atteint,
• DM i (x) = 1, quand l’objectif est atteint.
Etape 4 : On maximise les fonctions DM i .
Etape 5 : S’il n’y a pas de solutions, ou si la solution ne satisfait pas l’utilisateur, alors il faut
modifier les fonctions d’appartenance, et retourner à l’étape 3.
Etape 6 :Arrêt et affichage des résultats.
fin.
Optimisation Multi-Objectif 29

Méthode de reardon

On présente une méthode simplifiée de traitement multiobjectif utilisant la logique floue.

Présentation de la méthode
On part du problème P. Pour chaque fonction objectif, on définit une fonction d’appar-
tenance, qui aura la forme représentée à la figure 2.5.Cette fonction d’appartenance
permet "d’informer" l’algorithme que la fonction objectif a sa valeur située dans l’intervalle
[O i − E i , O i + E i ] (zone oùla fonction d’appartenance vaut 0). Si la valeur de la fonction
objectif est située en dehors de cette zone, on pénalise de plus en plus la fonction objectif.
Dans ce cas, la pénalité varie entre 0 et S min et S max .
La signification des diffirents paramètres de la fonction d’appartenance est la suivante :

S min et S max : facteurs d’échelle flous.

f min : valeur minimale de la fonction objectif numéro i.

Smax

Smin
f

fimin Oi − Ei Oi Oi + Ei fimax

F IGURE 2.5 : Fonction d’adhésion de Reardon

f max : valeur maximale de la fonction objectif numéro i.

O i : valeur expérimentale de la fonction objectif numéro i : on voudrait que f i = O i .

E i : marge d’erreur acceptable (l’objectif O i est défini à 2 . E i près)

S max
• si f i ≤ (O i − E i ) alors f 0 ( f i ) = [ f ] . f i − (O i − E i )
min −(O i −E i )

• si (O i − E i ) ≤ f i ≤ (O i + E i ) alors f 0 ( f i ) =0

S min
• si f i ≥ (O i − E i ) alors f 0 ( f i ) =[ (O ] . f i − (O i + E i ).
i +E i )− f max
Optimisation Multi-Objectif 30

Conclusion
Dans ce chapitre nous avons donné un aperçu sur les problèmes d’optimisation multiobjec-
tif ainsi que les méthodes de résolution proposées.
Chapitre 3

Programmation fractionnaire
linéaire

Introduction

Les programmes mathèmatiques fractionnaires , c’est-à-dire les programmes dont l’objectif


s’exprime comme le rapport de deux fonctions, linèaires ou non linèaires, en variables
rèelles, en variables entières, en variables mixtes ou en variables 0-1 apparaissent
dans plusieurs domaines de la recherche opèrationnelle tels que les bases de donnèes,
l’ingènierie, l’optimisation combinatoire, la programmation stochastique, l’informatique et
l’èconomie.

1. Formulation du programme fractionnaire


[32] Les programmes fractionnaires consistent à optimiser un objectif mis sous la forme
d’un rapport de deux fonctions linèaires ou non linèaires, soumis à un ensemble de
contraintes.

Etant donné f, h et g i , i = 1, m des fonctions réelles définies sur Rn . Désignons par X


un sous-ensemble de Rn sur lequel h ne s’annule pas. Le problème de programmation
fractionnaire consiste à déterminer un élément x* de X maximisant la fonction f / h sur un
domaine défini par le système de contraintes { x ∈ X : g i ( x) ≤ 0, i = 1, m}. Il a donc la forme
suivante :

f (x)



 maximiser h(x)

 s.c.
(PF )


 g i ( x ) ≤ 0, i = 1, m

x∈X

avec :
Les fonctions f, h et g i , i = 1, m sont continues sur Rn

31
Programmation fractionnaire linéaire 32

h( x) > 0, ∀ x ∈ X
L’ensemble des solutions réalisables de (PF ) est non vide S(PF) 6= ;
∃ x ∈ S(PF) : f ( x) ≥ 0.
Définition 3.1
1. Le problème (PF ) de maximisation est appelé problème fractionnaire concave-
convexe si f est concave et les fonction h et g i pour i = 1, m sont convexes.
2. Le problème (PF ) de minimisation est appelé problème fractionnaire convexe-
concave si f et les fonctions g i pour i = 1, m sont convexes et h concave.[49]

2. Rappelle sur l’optimisation convexe


K ⊂ Rn est compact si et seulement s’il est fermé et borné.

2.1. Notions sur la convexité


L’importance de la convexité en optimisation peut se résumer dans la phrase de Rockafellar

Ensemble convexe

Définition 3.2
K est un ensemble convexe si et seulement si

∀ x, y ∈ K ; ∀λ ∈ [0, 1] on a λ x + (1 − λ) y ∈ K

C-à-d le segment [ x, y] est entièrement continue dans K .


Autrement dit, toute combinaison convexe d’éléments de K est dans K. i.e. ∀ x i ∈
K, ∀ λ i ≥ 0, i = 1, n avec ni=1 λ i = 1 alors
Pn
i =1 λ i x i ∈ K .[16]
P

Exemple :

F IGURE 3.1 : Exemple d’un ensemble convexe.


Programmation fractionnaire linéaire 33

Propriétés
n
– L’ensemble R est convexe.
– Un singleton {a} est convexe.
– Un intervalle [a, b] est convexe dans R.
– Une réunion disjoint d’intervalle de R n’est pas convexe ] − ∞, 0] ∪ [1, +∞[ .[49]

Fonction convexe

Définition 3.3
On dit qu’une fonction f : K → R, K ⊆ Rn défini sur un ensemble K convexe et non
vide, est convexe si elle vérifier :

∀ ( x, y) ∈ K, ∀ λ ∈ [0, 1] f (λ x + (1 − λ) y) ≤ λ f ( x) + (1 − λ) f ( y).

[16]

Fonction concave

Définition 3.4
On dit qu’une fonction f : K → R définie sur un ensemble convexe non vide K de Rn
est concave si elle vérifie :

∀ x, y ∈ K λ ∈ [0, 1] f (λ x + (1 − λ) y) ≥ λ f ( x) + (1 − λ) f ( y).

[16]

3. Le modèle générale d’un programme fraction-


naire linéaire
Lorsque dans le programme fractionnaire (PF ) les fonctions f, h et g i , i = 1, m sont des
n
fonctions linéaires ou affines de la variable x ∈ R+ . Alors le problème (PF ) d’optimisation
est appelé programme fractionnaire linéaire (PFL), ou programme hyperbolique, et prend
alors la forme suivante :

p t x+α




maximiser q t x+β

s.c.

(PFL)
 Ax ≤ b



x≥0

Où α et β sont des réels, p et q sont des vecteurs de Rn avec q est un vecteur non nul, A est
une matrice réelle de format ( m ∗ n) et b est un vecteur de Rm . Désignons par S l’ensemble
{ x ∈ Rn : Ax ≤ b, x ≥ 0}
Programmation fractionnaire linéaire 34

4. Résolution d’un programme fractionnaire li-


néaire
4.1. La résolution graphique
Les programmes fractionnaires linéaires présentent un intérêt particulier mis en évidence
par la linéarité des courbes niveaux de leurs fonctions critères. En effet, pour illustrer cet
aspect, considérons une Z -courbe niveau quelconque de la fonction critère :
p t x+α
Z= q t x+β

après simplification, nous obtenons :

Z ( q t x + β) = p t x + α

( p − Z q) t x = Z β − α

qui est une expression linéaire de la Z -courbe niveau de la fonction critère. Puisque Z est
quelconque, on voit que chaque courbe niveau du critère fractionnaire linéaire est linéaire
sur S, à condition que le dénominateur ne soit pas nul sur S. Donc, si un programme
fractionnaire linéaire unicritère possède une solution optimale, alors au moins un point
extrême de S est optimal.

En dépit de la linéarité de la courbe niveau de la fonction objectif, les courbes niveaux ne


sont pas parallèles (lorsque p 6= 0, q 6= 0 et p 6= wq pour tout w ∈ R) comme ils le sont en
programmation linéaire. L’ensemble rotation est l’ensemble de tous les points d’intersec-
tion entre la 0-courbe niveau du numérateur et la 0-courbe niveau du dénominateur.
L’ensemble rotation est appelé point de rotation dans R2 et axe de rotation dans R3 . Les
points de cet ensemble sont déterminés par la résolution du système suivant :
p t x = −α et q t x = −β

Considérons le programme fractionnaire linéaire suivant :



x1 + x2 −1


 maximiser Z = 5x 1 + x2 −1

s.c. 5 x + 2 x ≥ 6

1 2



(PFL) x1 ≤ 3

x2 ≤ 3





 x ,x ≥0

1 2

dont le graphe est donné par la figure suivante :


Programmation fractionnaire linéaire 35

F IGURE 3.2 : Graphe de l’exemple 2.

Donc la courbe de niveau Z est l’ensemble des points x = ( x1 , x2 ) satisfaisant l’équation :

(1 − 5 Z ) x1 + (1 − Z ) x2 = 1 − Z

donc pour :

Z = 0 ⇐⇒ x1 + x2 = 1 courbe de niveau 0

Z = 1 ⇐⇒ x1 = 0 courbe de niveau 1

Le problème à quatre points extrêmes x1 , x2 , x3 etx4 dont les valeurs du critère sont indi-
quées sur la figure 3.1.
Les lignes discontinues représentent les 0-courbes niveaux du numérateur et du déno-
minateur dont l’intersection est le point de rotation r(0,1). La flèche circulaire dénote
le gradient de la fonction fractionnaire linéaire critère et indique le sens et l’angle avec
lesquels se déplacent les courbes de niveaux. Donc, en faisant déplacer la courbe de niveau
0 autour du point de rotation suivant le sens de rotation trigonométrique, nous pouvons
voir que le point optimal x4 de valeur optimale Z ∗ = 1 est l’intersection du domaine S avec
la courbe de niveau Z = 1.

4.2. La résolution analytique


Dans la littérature émergent trois grande stratégies de résolution d’un programme frac-
tionnaire
Programmation fractionnaire linéaire 36

1. La résolution directe : Le programme reste sous sa forme originale.


2. La résolution par paramétrisation : Dans cette stratégie en modifient la fonction
objectif sans toucher l’ensemble des contraintes.
3. La résolution d’un programme équivalent : On change la fonction objectif et
l’ensemble des contraintes.

La résolution directe

Dans cette stratégie de résolution, le programme fractionnaire est traité sous sa forme
originale c’est à dire sans modifier ni la fonction objectif ni l’ensemble des contraintes,
elle est utilisé pour résoudre les problèmes fractionnaires linéaires continus, entiers,
bivalentes(0,1), mixtes.
Pour la recherche d’une solution optimale d’un programme hyperbolique en variables
continues sans fait aucun changement au programme initial il existe plusieurs algorithmes
et parmi les plus récentes, celle de A. Cambini et al. qui permet aussi d’optimiser le
problème hyperbolique sur un domaine de solutions réalisables S non borné.
On considère donc le programme hyperbolique continu (PFL) :

p t x+α




maximiser q t x+β

s.c.

(PFL)


 Ax ≤ b

x≥0

Où α et β sont des réels, p et q sont des vecteurs de Rn avec q est un vecteur non nul, A est
une matrice réelle de format ( m ∗ n) et b est un vecteur de Rm . Désignons par S l’ensemble
{ x ∈ Rn : Ax ≤ b, x ≥ 0}
Programmation fractionnaire linéaire 37

Théorème
Le point x0 de S est une solution optimale du problème (PFL) si et seulement si le
vecteur gradient réduit γ = β p j − α q j est tel que γ j ≤ 0 pour tout indice hors
base j ∈ Nk .

L’algorithme de A. Cambini génère une séquence finie x i , i = 1, l de solutions niveau


optimales dont la première est trouvée de la façon suivante :
Résoudre le problème linéaire1 P0 : min x∈s ( q t x + β) et considérant x o comme une
solution optimale. Si x0 est unique, alors elle est aussi une solution niveau2 optimale,
sinon résoudre le problème linéaire (P1) :



 maximiser p t x + α

 s.c.
(PFL)


 qx = qx o

x∈S

Si P1 n’a pas de solutions, alors la valeur de la fonction objectif est infinie ; sinon une
solution optimal e1 x de P1 est aussi une solution niveau optimale.[29]

Algorithm 6 L’Algorithme de A. Cambini et al.

Etape 1 : : Trouver la solution optimale niveau x1 .


Si une telle solution n’existe pas, alors sup x∈S Z(x) = +∞. Terminer.
Sinon, poser k = 1 et aller à l’étape 2.
Etape 2 : : Si J = { j / q j > 0} = ; , terminer. x i est une solution optimale du problème (P).
pk
Sinon, soit k tel que qk
= max j∈ J p j /q j
Si γk > 0, aller à l’étape 3
Si γk ≤ 0, terminer. x i est une solution optimale de (P).
Etape 3 : : La variable hors base x Nk entre dans la base en moyennant une opération pivot.
Si une telle opération est possible, Poser i := i + 1 et aller à l’étape 2.
pk
Si une telle opération n’est pas possible. Terminer : sup x∈S Z(x) = qk
.

La résolution par paramétrisation

à l’inverse de la résolution directe, on construit un problème à objectif simplifié, combi-


naison linéaire du numérateur et du dénominateur par l’intermédiaire d’un paramètre,
tout en gardant inchangé l’ensemble des contraintes. Une séquence de résolutions de
ce type de problème fournit une solution du programme fractionnaire. Cette méthode a
été utilisée pour les différents programmes fractionnaires linéaires et non linéaires, en
variables continues comme en variables discrètes, sur des domaines bornés.

Afin de simplifier l’objectif du programme mathématique, un paramètre est introduit


Programmation fractionnaire linéaire 38

permettant de ramener un programme hyperbolique en un programme paramétré linéaire,


tout en gardant l’ensemble des contraintes inchangé. Ainsi le programme obtenu peut
être résolu " paramétriquement " : une séquence de résolutions de tels programmes à
objectif simplifié engendre une suite de solutions convergeant vers une solution optimale
du programme fractionnaire initial.

Proposée initialement en 1956 par Isbell et Marlow pour des programmes hyperboliques,
ce n’est qu’à partir de 1967 que cette approche a connu un grand élan avec Dinkelbach qui
l’a généralisée aux programmes fractionnaires non linéaires.
Soit le programme hyperbolique suivant :

p t x+α




maximiser q t x+β

s.c.

(PFL)


 Ax ≤ b

x≥0

Où α et β sont des réels, p et q sont des vecteurs de Rn avec q est un vecteur non nul, A est
une matrice réelle de format ( m ∗ n) et b est un vecteur de Rm . Désignons par S l’ensemble
{ x ∈ Rn : Ax ≤ b, x ≥ 0}

le programme paramétré est un programme linéaire dont l’objectif est fonction de λ ∈ R :





 maximiser ( p t − λ q t ) x + α − λβ

 s.c.
(PFL λ )


 Ax ≤ b

x≥0

Remarquons que cette nouvelle fonction à maximiser est linéaire alors que celle du
programme (PFL) ne l’est pas.
p t x∗ +α
Soit x une solution optimale de (PFL) et λ∗ = q t x∗ +β
Dinkelbach a montré que :

Z (λ) = 0 ⇐⇒ λ = λ∗

et qu’une solution optimale de (PFL λ∗ ) est aussi solution optimale de (PFL).

Ainsi, résoudre (PFL) est équivalent à trouver λ avec Z (λ) = 0

La résolution d’un programme équivalent

La transformation du programme fractionnaire en un programme équivalent à objectif


non fractionnaire est obtenue par un changement de variables. A l’inverse de l’approche
paramétrée, ce changement de variables induit l’ajout d’une contrainte et d’une variable.
Programmation fractionnaire linéaire 39

Plus précisément, cette transformation, proposée par Charnes et Cooper pour le pro-
gramme hyperbolique en variables continues, Cette transformation en un programme
linéaire équivalent a pour but d’appliquer les algorithmes standards tels que la méthode
du Simplexe.
Soit le problème (PFL) suivant :

p t x+α




maximiser q t x+β

s.c.

(PFL)


 Ax ≤ b

x≥0

En fait le changement de variable suivant :

y
z = ( q t x1+β ) y = ( q t x1+β ) x x= z

Alors :
max Z = z ( p t x + α)

y
max Z = z ( p t ( z ) + α) = p t y + α z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (1)

y
Ax ≤ b ⇐⇒ A( z ) ≤ b ⇐⇒ A y − bz ≤ 0 . . . . . . . . . . . . . . . . . . . . . (2)

1
z= q t x+β
⇐⇒ ( q t x + β) z = 1

y
. ⇐⇒ ( q t ( z ) + β) z = 1

. ⇐⇒ q t y + β z = 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (3)

y
x≥0 ⇐⇒ z ≥0 ⇐⇒ y ≥ 0 et z > 0 . . . . . . . . . . . . . . . . . . . . . . . . (4)

Alors de (1), (2), (3) et (4) en obtient le problème fractionnaire linéaire équivalent
(PFLE ) suivant :



 max p t y + α z

 s.c.



(PFLE ) A y − bz ≤ 0

qt y + βz = 1





 y ≥ 0, z > 0

5. Programmation fractionnaire linéaire discrète


Les programmes fractionnaires linéaires en nombres entiers ou discrèts consistent à
optimiser un objectif mis sous la forme d’un rapport de deux fonctions linéaires soumis à
Programmation fractionnaire linéaire 40

un ensemble de contraintes avec des variables entières. Notons (PFLNE ) Le programme


fractionnaire linéaire en nombres entiers.

5.1. Forme générale d’un programme fractionnaire linéaire


discrète (PFLNE )

p t x+α



 max Z = q t x+β


 s.c

(PFLNE )



 A x≤b


x ≥ 0, x entier.

avec D = { x ∈ Rn  Ax ≤ b, x ≥ 0}, p et x sont des vecteurs de Rn , q un vecteur non nul de


Rn , α et β des scalaires, A une ( m × n)-matrice réelle et b un vecteur de Rm . Il est clair que
si q est un vecteur nul avec β 6= 0 alors, (PFLNE ) n’est autre qu’un problème classique
de la programmation linéaire, de plus, les variables sont astreintes à ne prendre que des
valeurs entières.
On suppose que toutes les données du problème sont entières et que l’on dispose initiale-
ment d’une solution réalisable entière pour (PFLNE ).

j ∈ N p j x+α
P

 max Z = P
j ∈ N q j x+β





s.c

(PFLNE )
xB + A N x N = b






xB , x N ≥ 0, x entier.

5.2. Relaxation
Définition 3.5
Soit la forme générale du (PFLNE ) suivante :

p t x+α



 max (min) Z = q t x+β

 s.c.



(PFLNE ) Ax ≤ b





 ∀ x j ∈ x, x j ≥ 0 ( j = 1, n)
 x ∈ Z + pour ( j = 1, k) avec k ≤ n

j

Notez bien que si on remplace les dernies restrictions par x j ≥ 0 pour j = 1, k avec
( k ≤ n) on aura un programme linéaire qui sera une relaxation du problème original.
Ce fait est trés important. ça implique qu’on peut résoudre la relaxation par des
méthodes qu’on a déja considérés.
Programmation fractionnaire linéaire 41

5.3. Méthodes de résolution des programmes fractionnaires


linéaires discrets

Méthode de Granot

[17]
Principe de l’algorithme

L’algorithme s’applique directement au programme fractionnaire linéaire en nombres


entiers (hyperbolique discrète) (PFLNE ).
Considérons le problème suivant :

p t x+α



 max Z = q t x+β


 s.c

(PFLNE )



 A x≤b


x ≥ 0, x entier.

dans cette méthode, la structure originale des contraintes est maintenues et les opérations
sont réalisées dans un tableau de simplexe augmenté qui comprend m et 3 lignes supplé-
mentaires. les m premies lignes correspondant aux contraintes d’origine, les lignes (m+1),
(m+2) correspondant aux numérateur et dénominateur de la fonction objectif fractionnaire
du problème (PFLNE ) et la ligne (m+3) correspond au vecteur gradient réduit γ j . A
chaque itération de l’algorithme, les (m+2) lignes sont modifiées à travers les opérations
ordinaires de pivot, par contre la dernière ligne est modifiée selon la formule du gradient
réduit.
– Une fois les valeurs de gradient réduit calculées par la formule suivante :

γ j = β p j − α q j , ∀ j ∈ {1, ..., N } ( N Ensemble des indices hors base)

– Faite le teste suivant :

X si γ j ≤ 0, ∀ j ∈ N Alors terminer et la solution obtenue est optimal.

X sinon ∃ un indice k, k ∈ N pour les quel γk > 0, soit θk tel que

b
θk = min { A i , A ik > 0}
ik

Alors toute ligne v pour laquelle [ b v / A vk ] ≤ θk , peut servir comme une ligne source
pour générer une coupe de Gomory de la forme :

A bv
b Avj c x j = b
P
s + j∈N A vk c, s ≥ 0.
vk
Programmation fractionnaire linéaire 42

Cette coupe peut être rajoutée au problème initial et servir comme ligne pivot, avec
la k ieme colonne comme une colonne pivot. Puisque la valeur du pivot dans ce cas est
[ A vk / A vk ] = 1, les nouveaux coefficients obtenus après l’opération de pivot usuelle sont
tous entiers.

La coupe de Dantzig

Etant donné le programme relaxé (PFL) de (PFLNE ) c’est à dire sans les contraintes
d’intégrité et supposons le vecteur seconde membre b des contraintes est un vecteur positif
mais non entier. La coupe de Dantzig définit par :
P
j ∈ N x j ≥ 1, Où N étant l’ensemble des indices hors base

a été proposée sur la base que dans le problème relaxé (PFL), une des variable hors
base est strictement positive et dans le problème en variables entières (PFLNE ) cette
variable est supérieure ou égale à 1. Cette coupe n’est utilisée qu’en cas de nécessité
vu ces conditions d’utilisation et son inefficacité (son rôle est de tronquer juste un seul
point du domaine réalisable). Une des coupes qui nous utiliserons dans notre travail est
une généralisation de cette coupes de Dantzig appelée coupe de Dantzig améliorée. Elle
ressemble quelque peu à cette coupe mais est plus efficace. Elle permet de réduire plus
fortement le domaine d’admissibilité.

Les coupes de Gomory

L’algorithme utilisant les coupes de Gomory consiste d’abord a résoudre le problème relaxé
(PFL) par l’algorithme du simplexe, considérons le tableau obtenu a l’optimum, parmi les
variables de base B choisissons une variable xr , r ∈ B, fractionnaire (s’il n’y en a pas, on
est à l’optimum). La contrainte correspondante à xr ( i eme ligne de tableau optimal) s’écrit :
P
xr + j∈N Ai j x j = bi

où N est l’ensemble des indices des variables hors-base.

En décomposant chaque coefficient en la somme de sa partie entière et de sa partie


fractionnaire, on obtient la coupe fractionnaire de Gomory suivante :
P
xr + j∈N 〈 A i j 〉 x j ≥ 〈b i 〉

où 〈r〉 = r − brc désigne la partie fractionnaire du nombre réel r. cette contrainte


est introduite dans le tableau simplexe optimal et le nouveau problème formé peut être
résolu en utilisant la méthode duale du simplexe. Après un nombre fini d’itérations, ou
bien une solution optimale entière de problème fractionnaire discret est obtenue, ou bien
le problème devient impossible. Dans la pratique, les coupes fractionnaires de Gomory
convergent très lentement.
Programmation fractionnaire linéaire 43

Méthode par séparation et évaluation

C’est une des méthodes les plus utilisées pour la résolution de (PFLNE ) . Elle combine
de façon élégante la méthode primale-duale du simplexe et le principe de séparation et
évaluation dans une arborescence de recherche. Elle repose sur les étapes suivantes :
Au nœud 0 de l’arborescence :
On pose U = z un minorant de la valeur optimale de la fonction objectif et on résout le
problème relaxé (PFL) avec la méthode primale du simplexe.
Séparation :

x, a ses coordonnées b
Si la solution optimale, disons b x j ∈ N , pour tout j = 1,...,n, terminer.
Cette solution est optimale pour (PFLNE ).
Sinon, choisir une variable x j qui n’est pas entière. Partitionner l’ensemble des solutions
en deux sous-ensembles en ajoutant l’une ou l’autre des contraintes :

x j ≤ bb
x j c ou x j ≥ db
x je

où bac indique la partie entière du nombre réel a, et dae = bac + 1


x viole à la fois ces deux contraintes
Deux nouveaux nœuds sont alors créés. Notons que b
et que le coût optimal de chacun des deux sous-problèmes sera inférieur à celui de (PFL) :

Evaluation :
Résoudre le programme (PFL) avec la nouvelle contrainte en utilisant la méthode duale
du simplexe.
Test de stérilisation :

1. Si la nouvelle solution optimale x est telle que zPFL ( 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 pour le problème initial (PFLNE ), c’est-à-dire
entière. Si de plus, zPFL > U , alors poser U = zPFL et garder la solution x comme
meilleure solution de la branche courante.

A un nœud k :

Faire : l’évaluation, le test de stérilisation et éventuellement, la séparation.


Plusieurs choix sont possibles pour le choix d’un nœud à évaluer : profondeur d’abord,
meilleur d’abord et largeur d’abord. Le plus utilisé est profondeur d’abord pour trouver
rapidement une solution réalisable et ne pas trop encombrer la mémoire du calculateur.
La méthode s’arrête lorsque tous les nœuds pendants de l’arborescence (nœuds de degré
1) sont sondés (le test de stérilisation est positif).
Conclusion
Dans ce chapitre nous avons fait un rapelle sur quelques notions mathématiques, telle que
les définitions, les notions de convexité, et les fonctions convexe généralisées. nous avons
Programmation fractionnaire linéaire 44

donné un aperçu sur la programmation fractionnaire linéaire telle que le modèle générale,
les domaines d’applications, et les quatre grandes méthodes de résolution : graphique,
dirècte, par paramétrisation, et la résolution avec un programme équivalent. nous avons
aussi défini la programmation fractionnaire linéaire en nombres entiers (PFLNE ) et ses
méthodes de résolution.
Chapitre 4

Notions de base de la logique floue

Introduction

Les mathématiques du flou, de plus en plus désignées sous le terme générique de théorie
du flou, regroupent plusieurs théories qui sont des généralisations ou des extensions
de leurs homologues classiques : la théorie des sous-ensembles flous étend celle des
ensembles, la logique floue étend la logique binaire, la théorie des quantités floues étend
celle des nombres et intervalles, la théorie des possibilités étend celle des probabilités,
plus généralement la théorie des mesures floues étend celle de la mesure. elles ont toutes
pour objectif de proposer des concepts, des techniques et des méthodes formellement
rigoureuses pour recueillir, représenter et traiter des connaissances et des données
floues c’est-à-dire contenant de l’imprécision, de l’incertitude ou de la subjectivité ; ces
trois facettes principales du flou étant souvent coexistantes. D’autre synonymes, tels
que connaissance mal spécifiée, mal décrite, imparfaite, vague, qualitative, linguistique,
partielle, incomplète, approximative ou approchée, recouvrent cette même acception du
flou.

1. Idéés cle sur la théorie du flou [ZALlLA, 2003]


Le Flou fédère trois facettes souvent coexistantes : Imprécision, Incertitude, Subjectivité.
Dans la vie réelle, nous prenons régulièrement de bonnes décisions à partir d’informations
floues. La théorie du flou est un cadre formel qui permet la modélisation et le traitement
rigoureux de ce type d’information.
La connaissance floue est riche en information : la transformer dès le début du traitement
en une connaissance nette induit un biais qui se répercute immanquablement sur la
qualité de la décision. Il est au contraire préférable de maintenir le flou tout au long du
traitement et de ne trancher qu’en fin de processus (passage de la décision floue vers la
décision nette).
La logique floue permet une modélisation graduelle et nuancée de la connaissance experte
et propose un mode de raisonnement approché et par analogie. En appréhendant à la

45
Notions de base de la logique floue 46

fois l’imprécision et l’incertitude, elle autorise la conception de systèmes d’aide à la


décision plus efficaces que les systèmes experts classiques : un expert sera d’autant plus
certain de ses affirmations qu’on l’autorise à être imprécis et sera d’autant plus incertain
qu’on l’oblige à étre précis. Elle offre aussi une approche alternative performante pour la
modélisation de processus complexes non linéaires.
L’arithmétique floue permet une modélisation et un traitement des quantités numériques
imprécises. Elle autorise la conception de modèles analytiques prévisionnels plus fidèles à
la réalité.
La mesure de possibilité remplace celle de probabilité lorsque le décideur doit évaluer
l’occurrence d’un événement, sur lequel il possède peu de données historiques ou des
données de mauvaise qualité. Ceci apparait notamment dans les problèmes de décision
multicritère ou de sûreté de fonctionnement, lorsque l’agent décisionnaire fait appel à
des informations provenant de capteurs humains (jugement, avis d’expert). Elle autorise
notamment l’estimation de l’occurrence d’événements imprécis.
De cette manière, la théorie du flou étend la palette des méthodes de modélisation, de
prédiction et d’évaluation, tout en simplifiant la formalisation de problèmes complexes.

2. Les nombres et les ensembles flous


2.1. Définitions
Définition 4.1
En général, en logique floue, on rattache toujours la variable (A, B ou C) à une donnée
éxtérieure (une information ou une mesure, par exemple). Ce rattachement s’éfféctue
par l’intermédiaire de ce que l’on appelle une fonction d’appartenance . Cette fonction
permet de faire correspondre une information à une variable logique continue variant
de 0 à 1.[44]
Notions de base de la logique floue 47

Définition 4.2
Soit X un ensemble ordinaire. Un ensemble flou à de X est défini par sa fonction
d’appartenance µ Ã .
µ Ã : X → [0, 1]

x→ µ Ã (x) ∈ [0,1]
La valeur de µ Ã (x) représente le degré d’appartenance de x dans X et est interprété
comme la mesure dans laquelle x appartient à Ã . Par conséquent, plus la valeur de
µ Ã (x) est proche à 1, plus x appartient à Ã .

Ainsi un sous-ensemble flou à dans X peut être représenté par un ensemble de


couples ordonnés :

à = {(x, µ à (x)) | x ∈ X }

Un ensemble ordinaire A de X peut être considéré comme un ensemble flou en X avec


une fonction d’appartenance identique à sa fonction caractéristique µ Ã donnée par :


 1 si x ∈ A
µ Ã(x) = (4.1)
 0 si x ∈ A

Définition 4.3
Soit à un ensemble flou sur X, alors le support de à , noté supp ( à ), est l’ensemble
ordinaire donné par :

supp ( Ã ) = { x ∈ X | µ Ã ( x) > 0}.[21]

Définition 4.4
Le noyau d’un sous-ensemble flou A dans un univers du discours X est le sous-
ensemble des éléments de X pour lesquels la fonction d’appartenance vaut 1. C’est
l’ensemble des points qui appartiennent intégralement à :

N( Ã ) = { x | µ Ã ( x) = 1}.[21]
Notions de base de la logique floue 48

Définition 4.5
Soit à un ensemble flou sur X. La hauteur de à , notée htr ( à ), est définie comme

h ( Ã ) = sup µ Ã (x)
x∈ X

Si htr( à ) = 1, alors l’ensemble flou à est appelé un ensemble flou normal, sinon il est
dit subnormal.[31]

F IGURE 4.1 : Les fonctions d’appartenances les plus utilisées


Notions de base de la logique floue 49

2.2. Opérations sur les ensembles flous


Les opérations sur les ensembles flous sont généralement des extensions des opéra- tions
connues sur les ensembles classiques (égalité, réunion, intersection, complément, etc.).
Elles s’appliquent d’ailleurs aux ensembles classiques lorsque les fonctions d’appartenance
se réduisent à des fonctions caractéristiques.

Définition 4.6
Soient à et B̃ deux ensembles flous sur X. L’ensemble flou à est appelé un sous
ensemble de B̃ (ou à est contenu dans B̃ ), noté à ⊂ B̃, si la condition suivante est
verifiée :

µ Ã ( x) ≤ µB̃ ( x) ∀ x ∈ X .[31]

Définition 4.7
Soient à et B̃ deux ensembles flous sur X. à et B̃ sont égaux, noté par à = B̃ si les
deux conditions suivantes sont vérifiées :

à ⊂ B̃ et B̃ ⊂ à .[21]

Définition 4.8
Soient à et B̃ deux ensembles flous sur X. L’union de à et B̃ , notée à ∪ B̃ , est un
ensemble flou sur X dont la fonction d’appartenance est donnée par :

∀x ∈ X µ Ã ∪B̃ ( x) = max(µ Ã ( x), µB̃ ( x))

=µ Ã ( x) ∨ µB̃ ( x).[21]

Définition 4.9
Soient à et B̃ deux ensembles flous sur X. L’intersection de à et B̃ , notée à ∩ B̃ , est
un ensemble flou sur X dont la fonction d’appartenance est donnée par :

∀x ∈ X µ Ã ∩B̃ ( x) = min(µ Ã (x), µB̃ (x))

= µ Ã (x) ∧µB̃ (x).[21]

Définition 4.10
Soit à un ensemble flou sur X. Le complémentaire de à , noté à c , est un ensemble
flou sur X dont la fonction d’appartenance est donnée par :

∀x ∈ X , µ Ã c ( x) = 1 − µ Ã ( x).[31]
Notions de base de la logique floue 50

2.3. Nombres flous


Définition 4.11
Un ensemble flou sur R est appelé un nombre flou s’il satisfait les conditions suivantes
1 - Ã est normal, i.e., ∃ x0 ∈ R µ Ã (x0 ) = 1.
2−Aα est un intervalle ferme pour chaque α ∈ (0, 1], noté par [ A αL , A αR ].
3 - Le supp à est borné.[21]

Définition 4.12
Un nombre flou trapézoïdal (TrFN) . Ã sur R est defini par un quadruplet (a, b, c, d),
avec la fonction d’appartenance µ Ã (x) donnée par (4.2) et illustrée par la figure 4.1


 x−a
a≤x≤b



b−a




 1 b≤x≤c
µ Ã ( x) =
 d−x

c≤x≤d


 d−c



0 sinon

µÃ (x)

0 a b c d R

F IGURE 4.2 : Fonction d’appartenance trapézoïdale (TrFN)


Notions de base de la logique floue 51

Définition 4.13
[21]Un nombre flou triangulaire (TFN) Ã sur R est un cas particulier de (TrFN) où
(b = c), qui est défini par un triplet (a, b, c) avec la fonction d’appartenance µ Ã (x)
donnée par (4.2) et illustrée par la figure 4.2



 x−a
a≤x≤b



 b−a

µ Ã ( x) = c−x

 b≤x≤c


 c−b
 0 sinon

µÃ (x)

0 a b c R

F IGURE 4.3 : Fonction d’appartenance triangulaire (TFN)

Définition 4.14
Pour toute valeur α de l’intervalle [0.1] on appel la coupe α d’un sous-ensemble
flou de X, le sous-ensemble noté Ã α des éléments de X pour lesquels la fonction
d’appartenance est supérieure ou égale à α :

à α = { x ∈ X | µ à ( x) ≥ α}

Si nous choisissons α = 0, alors à α est l’univers du discours X. Si nous choisissons


α = 1, alors A est le noyau de à (N).

2.4. Défuzzification
La défuzzification est essentielle d’une part pour ramener toutes les unités de mesures
vers une unité de mesure commune (i.e., la normalisation).
Dans notre cas, la défuzzification de chaque (TrFN) se fait en utilisant une coupe α.
Notions de base de la logique floue 52

Théorème de décomposition
[31] Le théorème de décomposition montre qu’il est possible de reconstituer un sous-
ensemble flou à partir de ses coupes α . En fait, le théorème permet de définir la
fonction d’appartenance µ A à partir des fonctions caractéristiques des coupes α :

µ Ã ( x) = sup αχ Ã α (x)
x∈[0.1]

la coupe α definie un intervalle de confiance [B L ,BU ] de niveau α ∈ [0,1] comme le montre


la figure 4.3

µÃ (x)

0 [B L BU ] R

F IGURE 4.4 : La coupe α

Les deux bornes supérieure et inférieure sont définies comme suit :

B L = ( b − a )α + a (4.2)

BU = d − ( d − c)α (4.3)

Conclusion
Nous avons vu dans ce chapitre les concepts de base des ensembles flous , nombres flous
et comment faire la défuzzification .
Chapitre 5

Résolution d’un problème


multi-objectif fractionnaire linéaire
flou en nombres entiers

Introduction

Dans ce chapitre, un algorithme suggéré pour résoudre le problème multi-objectif fraction-


naire linéaire flou en nombres entiers (P MFLF NE ) est décrit, telle que les coefficients
flous sont dans le second membre des contraintes et peuvent être caractérisés par des
nombres flous par une fonction d’appartenance trapézoïdale.

1. Formulation du problème
La forme d’un problème multi-objectif fractionnaire linéaire flou en nombres entiers
(P MFLF NE ) est donnée comme suit :

1 1
max Z1 ( x) = dc 1xx++αβ1




2 2
max Z2 ( x) = dc 2xx++αβ2












 .

(P MFLF NE ) = . (5.1)
.




k k
max Z k ( x) = dc kxx++αβk







s.c





x∈ M (b̃)

Où k ≥ 2, c r , d r sont 1 ∗ n vecteurs
M( b̃)= {x ∈ Rn / ni=1 Ax≤ b̃, x ≥ 0 et entier},
P

A est une (m ∗ n) matrice réelle, b̃ ∈ Rm est un vecteur de paramètres flous et nous


supposons qu’ils sont donnés par des nombres flous éstimés à partir des informations

53
Résolution d’un problème multi-objectif fractionnaire linéaire flou
en nombres entiers 54

fournies par le décideur. Tout au long de ce mémoire, nous supposons que M (b̃) est non
vide.
nous avons choisi parmi les divers types de nombres flous les trapézoïdaux (4.11), car ces
nombres sont assez simples (linéaires par morceaux), ce qui les rend particulièrement
utiles en résolution de notre problème.
Le vecteur des paramètres flous b̃ dans le problème (P MFLF NE ) est un vecteur de
nombres flous dont la fonction d’appartenance est notée µb̃ (b).
À l’aide de la coupe (4.13) α nous avons transformé le problème (P MFLF NE ) vers un
problème (P MFLNE ) puis le rèsoudre.
pour un certain degré α = α∗ =[0.1], éstimé par le décideur. le problème peut être expri-
mer par un problème α-multi-objectif fractionnaire linéaire non flou en nombre entier
(α − P MFLNE ).

c1 x+α1



 max Z1 ( x) = d 1 x+β1
c2 x+α2

max Z2 ( x) =


d 2 x+β2









 .

.

(α − P MFLNE )= (5.2)


 .
c k x+αk

max Z k ( x) =


d k x+βk




s.c







x∈ M (b)

n
où M(b)= {x ∈ R / Ax≤ b, x ≥ 0 et entier / b ∈ L α ( b̃) },
tq : L α ( b̃)={b Rm /µb̃ ( b) ≥α } (4.13)

une fonction d’appartenance du vecteur floue b̃ est formule comme suit :




 0, b ≤ b1

[ bb2−−bb11 ]

b1 ≤ b ≤ b2







µb̃ ( b) = 1 b2 ≤ b ≤ b3

 b4 −b



 [ b4 −b3 ] b3 ≤ b ≤ b4



 0, autrement

Défuzzification
soit un nombre Trapzoïdale T̃ dèfini par T̃ = ( b 1 , b 2 , b 3 , b 4 ), d’aprés les équations (4,2)
et (4,3) les bornes inférieure et supérieure respectivement sont définies comme suit :
b = α( b 2 − b 1 ) + b 1 , b = b 4 − α( b 4 − b 3 )
Alors l’interval flou de T̃ : T̃ α = [ b, b].
Résolution d’un problème multi-objectif fractionnaire linéaire flou
en nombres entiers 55

le problème (α − P MFLNE ) peut être réécrit comme suit :

c1 x+α1


 max Z1 ( x) = d 1 x+β1

c2 x+α2

max Z2 ( x) =


d 2 x+β2







 .

.

(α − P MFLNE )= (5.3)


 .
c k x+αk

max Z k ( x) =


d k x+βk




s.c





x ∈ M ( b)

n
où {x ∈R / Ax ≤ b x ≥ 0, et entier}
α
et bα ≤ b i ≤ b

2. Modification de la méthode "Isbell-Marlow"


Une modification est éffectuée sur la méthode Isbell-Marlow pour résoudre le problème
fractionnaire linéaire en nombres entiers (PFLNE ) suivant :

c t x + c0


max( f ( x)) = t




 d x + d0
(PFLNE ) = (5.4)


 s.c
 s = { x ∈ Rn Ax ≤ b, x≥ 0 et entier }

où c, d ∈ Rn , c 0 , d 0 ∈ R, A est (m ∗ n) matrice réelle, b ∈ Rm , d 6= 0, d 0 6= 0, d t x + d 0 > 0


pour tous x ∈ s, et le rang. A=m < n.

Théorème
[35] x∗ est une optimale pour le problème (PFL) si elle est optimale pour le problème
linéaire :


(PLNE ) =
 maxφ∗ (x)=( c t x + c 0 )-f(x∗ )(d t x + d 0 ) s.c s= {x ∈ Rn Ax ≤ b, x ≥ 0 etentier }
x∈ s l
(5.5)

L’algorithme modifié pour résoudre le problème de programmation fractionnaire li-


néaire en nombres entiers (PFLNE ), formulé ci-dessus peut être résumé dans les étapes
suivantes :
Résolution d’un problème multi-objectif fractionnaire linéaire flou
en nombres entiers 56
Algorithm 7 Algorithme I

Etape 0 : Initialisation i = 0. Trouver une solution réalisable entière x i = x0 de base pour le


problème (PFLNE).
Etape 1 : Résoudre le problème linéaire en nombres entiers.
maxφ i (x)=(c t x +c 0 ) - f(x i )(d t x + d 0 )
x∈ s
pour obtenir la solution x i+1 .
Etape 2 : Si x i+1 est un point entier, passer à l’étape 3. Sinon, utiliser la Méthode Branch and
Bound.
Etape 3 : Si φ i (x i+1 ) = 0, alors, arrêter et x i+1 est une solution optimale entière pour le
problème (PFLNE). Sinon, i = i + 1 et aller à l’étape 1.

Vu la nature du problème (α − P MFLNE ) on peut dire que la technique adaptée de


scalarisation de ce problème est d’utiliser la méthode ²-contrainte.

s s
max Z s ( x) = dc sxx++αβs





r r
Z r ( x) = dc rxx++αβr ≥ ²r , r = 1, 2, 3..., k; r 6= s,









P s (² ) = Ax ≤ b (5.6)



α

 α
b ≤ b i ≤ b , i = (1, 2, ...m)







x≥ 0 et entier.

Si x∗ est une solution optimale entière unique de problème P s (²∗ ), alors x∗ devient une α -
solution éfficace au problème de (α − P MFLNE ).
Résolution d’un problème multi-objectif fractionnaire linéaire flou
en nombres entiers 57

3. Algorithme Solution proposée pour la résolu-


tion de problèmes (α − P MFLNE )
L’algorithme générant une α - solution efficace au problème (α -PMFLNE) estpr é senté dansl esé tapessui

Algorithm 8 Algorithme II

Etape 1 : Commencer avec un premier α -niveau définies avec α = α∗ = 0.


Etape 2 : Déterminer les points (b 1 , b 2 , ..., b m ) pour le vecteur des paramètres flous b̃ dans le
problème (α -PMFLFNE) pour susciter une fonction d’appartenance µb̃ (b).
Etape 3 : Convertir le problème (α -PMFLFNE)) dans sa version non floue.
Etape 4 : Formuler le problème fractionnaire linéaire en nombre entier avec une seule fonction
objectif P s (²).
Etape 5 : Résoudre le problème fractionnaire linéaire en nombre entier k individuel P r (r =
1,2, ..., k) en utilisant la méthode "Isbell-Marlow" modifié (Alg. I).
Etape 6 : Construire le tableau des gains et déterminer n r , M r (le plus petit et le plus grand
nombres dans la colonne dans le tableau des gains).
0
Etape 7 : Déterminer ² i
Etape 8 : Trouver D = {² ∈ R k−1 | n r ≤²r < M r , r = 1, 2, ..., k; r 6= s} où t est le nombre de toutes les
partitions de l’intervalle [n r , M r ].
Etape 9 : Choisir ²∗r ∈ D et résoudre le problème fractionnaire linéaire en nombres entiers
Ps (²∗ ). on trouve sa solution optimale entière x∗ avec α - niveau optimal.
Etape 10 : Régler α = (α∗ + étape) ∈ [0,1] et passez à l’étape 2.
Etape 11 : Répéter la procédure ci-dessus jusqu’à ce que l’intervalle [0,1] est complètement
épuisé. Puis, arrêter.

Remarque :
? 1. Le pas de α c’est un choix de décideur.
?
?
? 2. Pour chaque calcul sur un niveau de α, l’intervalle de "b" va deminuer sachant
?
?
? que µb̃ ( b) ≥ α.
?
?
?
? 3. Si l’intervalle trouvé contient 2 entiers on prend le min.
Résolution d’un problème multi-objectif fractionnaire linéaire flou
en nombres entiers 58

4. Un exemple illustratif
Nous considérons le problème muti-objectif fractionnaire linéaire flou en nombres entiers
(P MFLF NE ) suivant :




 max Z1 ( x) = −xx12−+43
max Z2 ( x) = −xx21++14






 max Z3 ( x) = − x1 + x2



(PMFLFNE)= s.c (5.7)

− x1 + 4 x2 ≤ b̃ 1









 2 x1 − x2 ≤ b̃ 2

 x , x ≥ 0, et entier
1 2
Les paramètres flous b̃ 1 , b̃ 2 sont donnés par les nombres flous suivants énumérés dans le
tableau ci-dessous :

a1 a2 a3 a4
b1 0 0.2 0.3 0.6
b2 8 8.2 8.3 0.6

Voiçi les fonctions d’appartenances pour convertir au-dessus de la logique floue Le problème
(P MFLF NE ) dans sa version non floue.



 [ ab12 − a1
−a 1
] a1 ≤ b1 ≤ a2



 1 a 2 ≤ b1 ≤ a 3


µb̃1 ( b 1 ) =


 [ aa44 −
−b1
a3 ] a3 ≤ b1 ≤ a4



 0,

 sinon.



 [ ab22 − a1
−a 1
] a1 ≤ b2 ≤ a2



 1 a2 ≤ b2 ≤ a3


µb̃2 ( b 2 ) =


 [ aa44 −
−b1
a3 ] a3 ≤ b2 ≤ a4



 0,

 sinon.

posons α = α∗ = 0 dans cet exemple le nombre trapzoïdal flou est :


pour b˜1 : T1 = (0,0.2,0.3,0.6).
pour b˜2 : T2 = (8,8.2,8.3,8.6).

D’où :
Résolution d’un problème multi-objectif fractionnaire linéaire flou
en nombres entiers 59

1. [ ab12 − a1
−a 1 ] = α ⇒ b 1 = 0 (borne inf) ;

[ aa44 −
−b1
a 3 ] = α ⇒ b 1 = 0.6 (borne sup) ;

b 1 ≤ b 1 ≤ b 1 ⇒ 0 ≤ b 1 ≤ 0. 6 .

2. [ ab22 − a1
−a 1
] = α ⇒ b 1 = 8 (borne inf) ;

[ aa44 −
−b2
a 3 ] = α ⇒ b 2 = 8.6 (borne sup) ;

b2 ≤ b 2 ≤ b 2 ⇒ 8 ≤ b 1 ≤ 8.6.

le problème flou (P MFLF NE ) est converti à la version non floue (α − P MFLNE ) comme
dans la forme suivante :




 max Z1 ( x) = −xx12−+43
max Z2 ( x) = −xx21++14






max Z3 ( x) = − x1 + x2





s.c




(α − P MFLF NE )= − x1 + 4 x2 ≤ b 1 (5.8)

2 x1 − x2 ≤ b 2









 0 ≤ b 1 ≤ 0. 6




 8 ≤ b 2 ≤ 8. 6

 x1 , x2 ≥ 0, et entier

nous avons choisi b 1 = 0 et b 2 = 8 (car ils sont les petits entiers dans ces intervalles ).
en utilisant l’algorithme "Isbell-Marlow" modifié (Alg. I) pour résoudre les problème
(PFLNE ).
Tout d’abord, nous résolvons le problème (P1 ) :

max Z1 ( x) = −xx12−+43





 s.c



(P1 )= − x1 + 4 x2 ≤ 0 (5.9)





 2 x1 − x2 ≤ 8

x1 , x2 ≥ 0, et entier

nous commençons par une solution initiale entière de base x0 = (0,0), nous avons :
Résolution d’un problème multi-objectif fractionnaire linéaire flou
en nombres entiers 60


 max φ0 ( x) = [( x1 − 4) − z1 ( x0 )(− x2 + 3)]

= x1 − 43 x2






0
 s.c
(P1 )= (5.10)


 − x1 + 4 x2 ≤ 0

2 x1 − x2 ≤ 8





x1 , x2 ≥ 0, et entier

Solution de base :

x1 x2 x3 x4 b
x3 -1 4 1 0 0
x4 2 -1 0 1 8
-Z 1 -4/3 0 0 0

En résolvant le programme linéaire avec la méthode du simplexe, on avait obtenu le


tableau optimal suivant :

0
Tableau optimal au P1 :

x1 x2 x3 x4 b
x2 0 1 2/7 1/7 8/7
x1 1 0 1/7 8/14 32/7
-Z 0 0 -1/7 -8/14 -4/7

La solution optimale est ( 87 , 32


7 )

cette solution n’est pas entière donc on applique Branch and Bound avec 4 ≤x1 ≤ 5

La séparation :

En intégrant la contrainte x1 ≤ 4 à la solution optimale précédente nous obtenons le sous


0
problème (SP1 )




 max φ0 ( x) = [( x1 − 4) − z1 ( x0 )(− x2 + 3)]
= x1 − 43 x2






 s.c



0
(SP1 )= − x1 + 4 x2 ≤ 0 (5.11)

 2 x1 − x2 ≤ 8




x1 ≤ 4






 x , x ≥ 0, et entier
1 2

L’évaluation :
Résolution d’un problème multi-objectif fractionnaire linéaire flou
en nombres entiers 61
0 0
Résolvons le sous problème (SP1 ), On doit ajouter la contrainte x1 au (SP1 ) ; sous forme
d’équation, on a x1 + x5 = 4 On obtient alors le tableau suivant en ajoutant cette contrainte
au tableau précédent.

x1 x2 x3 x4 x4 b
x2 0 1 2/7 1/7 0 8/7
x1 1 0 1/7 8/14 0 32/7
x5 1 0 0 0 1 4
-Z 0 0 -1/7 -8/14 0 -4/7

On doit toute fois modifier ce tableau puisque x1 est une variable dans la base et il doit lui
correspondre un vecteur unitaire dans le tableau.
x1 x2 x3 x4 x4 b
x2 0 1 2/7 1/7 0 8/7
x1 1 0 1/7 8/14 0 32/7
x5 0 0 -1/7 -8/7 1 -4/7
-Z 0 0 -1/7 -8/14 0 -4/7

0
Le tableau optimal du SP1 :

x1 x2 x3 x4 x4 b
x2 0 1 0 -1 2 0
x1 1 0 0 0 0 4
x5 0 0 1 4 -7 4
-Z 0 0 0 0 -1 0

Tous les c j ≤ 0 ,et la solution optimale entière a été trouvé (4.0) avec φ0 (x)= 0, arrêter.




 max Z2 ( x) = −xx21++14

 s.c



(P2 )= − x1 + 4 x2 ≤ 0 (5.12)

2 x1 − x2 ≤ 8





 x , x ≥ 0, et entier

1 2
La solution entière de base initiale x0 = (0,0) est utilisé pour résoudre :



 max φ 0 ( x) = [(− x1 + 4) − z2 ( x0 )( x2 + 1)]

= − x1 − 4 x2






0
 s.c
(P2 )= (5.13)
 − x1 + 4 x2 ≤ 0



 2 x1 − x2 ≤ 8




x1 , x2 ≥ 0, et entier

Résolution d’un problème multi-objectif fractionnaire linéaire flou
en nombres entiers 62
0
Tous les c j ≤ 0 j=1.2, donc la solution optimale entière pour le problème (P2 ) est (0,0) avec
φ0 (x) = 0
Enfin, nous résolvons :




 max Z3 (x) = -x1 + x2

 s.c



(P3 )= − x1 + 4 x2 ≤ 0 (5.14)

2 x1 − x2 ≤ 8





 x , x ≥ 0, et entier

1 2
Solution de base :

x1 x2 x3 x4 b
x3 -1 4 1 0 0
x4 2 -1 0 1 8
-Z -1 1 0 0 0

Tableau optimal du P3 :

x1 x2 x3 x4 b
x2 -1/4 1 1/4 0 0
x4 7/4 0 1/4 1 0
-Z -3/4 0 -1/4 0 0

Tous les c j ≤ 0 j = 1.2, donc la solution optimale entière trouvée est (0,0) et puisque x1 et
x2 sont entiers, arrêter.
Maintenant, la méthode "²-contrainte" est utilisé pour convertir le problème multi-objectif
fractionnaire linéaire non floue en nombres entiers (α − P MFLNE ) à un problème mono-
objectif fractionnaire linéaire en nombres entiers (PFLNE ) et le tableau des gains est
donné ci-dessous.

Z1 ( x) = −xx12−+43 Z2 ( x) = −xx21++14 Z3 = − x1 + x2
x z1 (4,0) 0 0 -4
−4
x z2 (0,0) 3 4 0
−4
x z3 (0,0) 3 4 0
max 0 4 0
−4
min 3 0 -4
−4
² 3 ≤ ²1 ≤ 0 0 ≤ ²2 ≤ 4 -4 ≤ ²3 ≤ 0

Soit ²2 = 1, ²3 = -3, alors nous avons :

Solution de base :
Résolution d’un problème multi-objectif fractionnaire linéaire flou
en nombres entiers 63



 max Z1 ( x) = −xx12−+43

s.c





 − x1 + 4 x2 ≤ 0



(P1 (²∗ ))=2 x1 − x2 ≤ 8 (5.15)
− x1 +4

x2 +1 ≥ 1









 − x1 + x2 ≥ −3

 x , x ≥ 0, et entier
1 2
En utilisant l’algorithme "Isbell-Marlow" modifié (Alg. I) et en laissant la solution entière

de base initiale x0 = (0,0), le problème sera :



 max ω0 (x)=[(x1 − 4) − z1 ( x0 )(− x2 + 3)]

= x1 − 43 x2





s.c






0
 − x1 + 4 x2 ≤ 0
(P1 (² ))=

(5.16)


 2 x1 − x2 ≤ 8

x1 + x2 ≤ 3





x1 − x2 ≤ 3





x1 , x2 ≥ 0, et entier

Solution de base :

x1 x2 x3 x4 x5 x6 b
x3 -1 4 1 0 0 0 0
x4 2 -1 0 1 0 0 8
x5 1 1 0 0 1 0 3
x6 1 -1 0 0 0 1 3
-Z 1 -4/3 0 0 0 0 -3

Tableau optomal de (P1 (²∗ ))

x1 x2 x3 x4 x5 x6 b
x3 0 5 1 0 1 0 3
x4 0 -3 0 1 -2 0 2
x1 1 1 0 0 1 0 3
x6 0 -2 0 0 -1 1 0
-Z 0 -7/3 0 0 -1 0 -3

La solution entière est trouvée (3,0) avec ω0 (x) = 3. puisque ω0 (x) 6= 0, puis utiliser x∗ =
(3,0) comme une solution entière initiale de base pour résoudre le problème suivant :
Résolution d’un problème multi-objectif fractionnaire linéaire flou
en nombres entiers 64


 maxω0 (x)=[(x1 − 4) − z1 ( x1 )(− x2 + 3)]

= x1 − 13 x2 − 3





s.c






00
 − x1 + 4 x2 ≤ 0
(P1 (²∗ ) )= (5.17)
 2 x1 − x2 ≤ 8



 x1 + x2 ≤ 3




 x1 − x2 ≤ 3




x1 , x2 ≥ 0, et entier

Soluion de base :

x1 x2 x3 x4 x5 x6 b
x3 -1 4 1 0 0 0 0
x4 2 -1 0 1 0 0 8
x1 1 1 0 0 1 0 3
-Z 1 -4/3 0 0 0 0 0

Tableau optimal de P1 (²∗ )

x1 x2 x3 x4 x5 x6 b
x3 0 5 1 0 1 0 3
x4 0 -3 0 1 -2 0 2
x1 1 1 0 0 1 0 3
x6 0 -2 0 0 -1 1 0
-Z 0 -7/3 0 0 -1 0 0

la solution optimale entière est trouvée (3,0) avec ω1 (x)=0. puisque ω1 (x) = 0. alors arrêter.
Alors l’ensemble des solution efficaces entiéres du problème (α − P MFLNE ) telle que
(α=0) est Eef = {(4.0) , (0.0) , (3.0) }
Pour toutes valeures de α ∈ ]0.1] les b i ne peuvent être entières. donc la résolution de
notre problème est faite seulement pour α = 0.
Conclusion

Dans ce chapitre nous avons présenté un algorithme qui a été proposé pour résoudre
le problème de programmation multi-objectif fractionnaire linéaire flou en nombres
entiers (P MFLF NE ). Certains concepts flous ont été donnés pour convertir le problème
(P MFLF NE ) à un problème non flou (P MFLNE ), la version est une modification de
l’algorithme "Isbell-Marlow" (Alg. I) qui a été utilisé pour achever le processus de solution.
Chapitre 6

Implémentation, Résultats et
Discution

Introduction

Dans ce chapitre, nous aboutissons à l’étap finale de notre travail, à savoire l’élaboration
d’un logiciel aussi convivial que possible. nous expliquerons son fonctionnement afin de
faciliter son utilisation et de mettre en application la méthode de résolution proposée, nous
avons alors implémenté cette méthode en utilisant Matleb de la société The Mathwork.

1. Choix du langage
Le choix s’est porté sur l’emploi du langage du logiciel Matlab R2015a, car il répond aux
critère suivants :

-La maniabilité du language : constitué d’un ensemble de possibilités faisant en sorte que
le programmeur travaille avec aisance.

-Le bagage du language : il contient une interface graphique et des fonctions prédéfinies
telle que :
intlinprog :
permet de résoudre un problème linéaire en nombres entiers.

La fonction length :
Cette fonction prend comme entré un vecteur et retourne leur taille. Leur code Matlab
est : k=length(vec), telle que " vec " est un vecteur, et " k "est la taille qu’on cherche.

La fonction size :
Cette fonction prend comme entré une matrice et retourne sa taille. Le code Matlab est :
[ MN ]=size (A)

65
Implémentation, Résultats et Discution 66

A est une matrice.


M nombre de ligne.
N nombre de colonne.

La fonction zeros :
Cette fonction génére une matrice de taille M*N.
le code Matlab : A= zeros(M,N).

La fonction floor :
retourne la première valeur entière inférieure à x, dans la direction de −∞
le code Matlab : a=floor(b).
b : est la valeur qu’on cherche a trouvé leur partie entière inferieur. a : la valeur obtenue.

1.1. Présentation de language de programmation : MATLAB


MATLAB est un logiciel parfaitement dédié à la résolution de problèmes d’analyse numé-
rique ou de traitement du signal. permet d’éfféctuer des calculs matriciels ou de visualiser
les résultats sous forme graphique. la formulation des problèmes s’apparente à la formula-
tion mathématique des problèmes à résoudre. l’utilisation de ce logiciel consiste à lancer
des lignes de commandes, qui peuvent le plus souvent ressembler à la programmation
en C. le nom MATLAB vient de MATrix LABoratory, les éléments de donnée de base
manipulés par MATLAB étant des matrices (mais pouvent évidemment se réduire à des
vecteurs et des scalaires) qui ne nécessitent ni dimansionnement ni déclaration de type.

2. les fonctions programmées


2.1. La fonction "Isbelle-Marlow" :
Cette fonction représente la méthode de "Isbelle-Marlow", elle prend comme paramètre la
fonctionsa modifie "Z" et la valeur initiale de "x" et elle retourne la la fonction "Z" modifie.
le code Matlab : function [Z]=IsaMar( Z,x ).

2.2. La fonction de resolution de chaque (PL) :


Cette fonction prend comme paramètre le vecteur des paramètre de la fonction objectif "Z",
la matrice "C" associe aux contraintes, et la valeur de second membre " b", Elle retourne
" fval1 " la valeur de la fonction objectif et le vecteur " sol1 " qui représente la solution
optimale de chaque.
le code Matlab : function [ sol1,fval1 ] = mintprog( Z, C, B ).
Implémentation, Résultats et Discution 67

2.3. La fonction qui regroupe les deux fonctions" ε−contrainte"


et "α−coupe" ainsi que le résultat finale de programme :
cette fonction fait la resolution de probleme pour chaque niveau α ∈ [0, 1] afin de trouver la
valeur déterministe de "b" pour trouver les solutions optimales de chaque (PL) de problème
initiale pour enfin trouver l’intervalle de "ε" puis faire la résolution de "ε−contrainte" qui
résoudre le problème initiale dont le resultat est une solution optimale pour chaque "ε"
choisi dans l’intervalle trouvé.
le code Matlab : function [ ] = master(Z, C ).

3. Exemple concret
Le problème à résoudre ici est un problème muti-objectif fractionnaire linéaire flou en
nombres entiers suivant :




 max Z1 ( x) = −xx12−+43
max Z2 ( x) = −xx21++14






 max Z3 ( x) = − x1 + x2



(PMFLFNE) = s.c (6.1)

-x1 + 4 x2 ≤ b̃ 1









 2x1 - x2 ≤ b̃ 2

 x , x ≥ 0, et entier
1 2

avec deux fonctions objectifs fractionnaires linéaires et une fonction linéaire.


en declarant la matrice Z comme suit :

 
1 0 −4
−1 0 3
 
 
−1 0 4
Z= 
 

0 1 1
 
−1 1 0
 

0 0 1

la matrice des contraintes :

à !
−1 4
C=
2 −1

les vécteurs des nombres flous Trapzoïaux pour b 1 et b 2 :


Implémentation, Résultats et Discution 68

³ ´
b 1 = 0 0. 2 0. 3 0. 6
³ ´
b 2 = 8 8. 2 8. 3 8. 6

4. Application de l’exemple sur Matlab


nous faisons la resolution sous Matlab par les fonctions cite au-dessus, en déclarant le
problème comme suit :

nous donnons le vécteur flou de "b" sous forme d’un (T rF N ) puis nous précisant le pas de
α ainsi que le choix de la fonction fixé pour la résolution de la fonction ε−contrainte.

pour le résultat finale nous avons les deux premiers colonnes sont les "ε" choisi pour la
résolution de ε−contrainte. les deux derniers colonnes représente la solution optimale
pour chaque "ε" choisi.
Implémentation, Résultats et Discution 69

Conclusion

Dans ce chapitre nous avons commencé par décrire le logiciel Mathlab puisque nous
l’avons choisit pour la programmation de notre méthode, puis nous avons appliqué notre
programme sur un exemple, enfin nous avons testé le programme sur tous l’interval de ε.
Conclusion générale

Dans ce mémoire, nous nous sommes intéressés à l’étude d’un problème d’optimisation
multi-objectif fractionnaire linéaire flou en nombre entier. Les fonctions objectifs sont
fractionnaires linéaires et les paramètres flous sont associés aux second membre des
contraintes Ils sont caractérisés par des nombres flous trapézoïdales. Dans ce sens nous
avons deux objectifs à atteindre :
Le premier est de rendre notre problème multi-objectif fractionnaire linéaire flou en un
problème multi-objectif linéaire non flou. Pour cela, nous avons transformé le problème
flou en un problème non flou, en se basant sur des fonctions d’appartenance prédéfinis ou
en obtenant les "b" dans des intervalles. Puis nous avons éfféctués une modification de tel
sorte que nous ayons transformé notre problème fractionnaire en un problème linéaire à
l’aide de la méthode "Isbelle-Merlow".
Deuxième objectif est de rendre le problème, d’un problème multi-objectif en un problèmen
mono-objectif en utilisant la méthode d 0 ε-Contrainte puis le résoudre.
Enfin, nous nous sommes attachés à décrire l’application construite, ainsi une vue d’en-
semble sur le logiciel de programmation que nous avons utilisés qui est Matlab 2015.

70
Bibliographie

[1] ASLI, L. . Approche hybride pour les problèmes d’optimisation combinatoire mul-
tiobjectif : cas des problèmes de type sac-à-dos 2010.
[2] BARICHARD, V. . Approches hybrides pour les problèmes multiobjectifs 2003.
[3] B ECTOR , C. R. ,Suresh Chandra , Fuzzy Mathematical Programming and Fuzzy
Matrix Games Springer-Verlag Berlin Heidelberg, 2005 ,169,.
[4] B ENLAHRACHE , N. . Optimisation Multi-Objectif Pour l’Alignement Multiple de
Séquences 2007.
[5] BEZOUI, M. . Support de Cours :programmation linèaire Bèjaia, 2008-2009.
[6] C.G UÉRARD. « Programmation Linéaire » Paris, Eyrolles 1976.
[7] CHAABANE, D. Contribution à l’optimisation multicritère en variables discrètes
Mons 2007,.
[8] C HANKONG, V., AND Y.Y. Haimes, Multiobjective Decision-Making : Theory and
Methodology, System Science and Engineering. North Holland, 1983.
[9] C HERGUI , M.-A., AND M OULAÜ, M. An Exact Method for a Discrete Multiobjective
Linear Fractional Optimization, Applied Mathematics and Decision Sciences1-12
(2008).
[10] COELLO COELLO. C. A. .An updated survuey of g.a based multiobjective optimization
techniques Technical report Lania-RI-98-08 Laboratorio Nacional Avanzada, Xalapa,
Veracruz, Mexico (Deceumber 1998).
[11] C OLLETTE , Y., AND P. . Siarry, Optimisation multiobjectif,Edition Eyrolles 75240
Paris Cedex 05, France, 2002.
[12] DANTZIG, G. Linear programming and extensions Princeton University Press,
Prince- ton, N.J., 1963.
[13] ET I, O. . Optimisation multicritère : Fondements et Concepts PhD thesis, Université
de Grenoble, 1998.
[14] ET L.HAMADACHE, A. B. Interprètation èconomique de la dualitè et l’analyse de
post-optimale Boumerdes 2013,.
[15] ET N.Z EMOURENE , A. Programmation fractionnaire linèaire en nombres entiers :
mèthode de Granot. Boumerdes 2015,.
[16] FABIAN, B. Modèles de Recherche Opèrationnelle, [email protected] Univer-
sitè de Montrèal 2010.

71
BIBLIOGRAPHIE 72

[17] F RENK , J. B. G., AND S. Schaible, Fractional Programming : Introduction and


Applications, in Encyclopedia of Optimization Kluwer Academic Publishers, The
Netherlands, 2001.
[18] G RANOT, D., AND F. Granot, On Integer and Mixed Integer Fractional Programming
Annals of Discrete Mathematics, 1 (1977), 221-231.
[19] H ACHEMI , N. E. .L’analyse postoptimale. www.almohandiss.com 17 avril 2011..
[20] HAIMES. Y. Y ; W. A . HALL ; H . T. FREEDMAN. .A multiobjective optimization in water
resources systems Elsevier Scientific (1975).
[21] IGOULALENE, I. Développement d’une approche floue multicritère d’aide à la
coordination des décideurs pour la résolution des problèmes de sélection dans les
chaines logistiques 2014,.
[22] I.M, S.-M. . Fractional Programming : Theory, Methods and Applications, Kluwer
Academic Publishers, 1997.
[23] I.M, S.-M. . A fifth bibliography of fractional programming, Optimization 45, 1-4,
343-367, 1999.
[24] I.M, S.-M. . A sixth bibliography of fractional programming, Optimization 55, 4,
405-428, 2006.
[25] I SBELL , J., AND M ARLOW, W. Attrition Games, Naval Research Logistics Quarterly
Vol. 3 (1956), 71-94.
[26] I SBELL , J., AND M ARLOW, W. Attrition Games, Naval Research Logistics Quarterly
Vol. 3 (1956), 71-94.
[27] I ZAZ U LLAH K HAN, T AHIR A HMAD, N. M. A Simpli
ed Novel Technique for Solving Fully Fuzzy Linear Programming Problems Journal
of Optimization Theory and Applications .November 2013,159, pg 536-546,.
[28] M AHDI . K , M. L’optimisation multiobjectif etl’informatique quantique Constantine,.
[29] M ARTOS, B. Hyperbolic programming", Naval Res. Logist. Quart 1964, 11, pp.
135-155,.
[30] M INASIAN, I. S. Fractional Programming : Theory ; Methods and Applications,
Mathematics and Its Applications 409 (1997).
[31] MOKEDDEM, D.
[32] MOULAÏ, M. Mèmoire de doctorat : OPTIMISATION MULTICRITERE FRAC-
TIONNAIRE LINEAIRE EN NOMBRES ENTIERS 2002,.
[33] MOULAÏ, M. Optimisation multicritère fractionnaire linéaire en nombres entiers
2002,.
[34] M. SAKAROVITCH. graphes et programmation linéaire paris,.
[35] O. M. S AAD, A. A., AND F, E. Abdellah, On Solving Single - Objective Fuzzy Integer
Linear Fractional Programs, Applied Mathematics Information Sciences to appear
during summer (2010).
BIBLIOGRAPHIE 73

[36] REARDON. B. J. Fuzzy logic us niched pareto muli-objective genetic algorithm opti-
mization : Part i : Schaffer’s problem.Technical report la- ur-97-3675, Los Alamos
National Laboratory, 1997..
[37] S AAD, O. M. n Stability of Proper Efficient Solutions in Multiobjective Fractional
Programming under Fuzziness, Mathematical and Computer Modeling 45 (2007),
221-231.
[38] SAKAWA . M ; H. yano. An interactive fuzzy satisfcing method for multiobjective
linear programming problems witth fuzzy parametres, vol volume 28. Fuzzy sets and
Systems, 1988.
[39] S CHAIBLE , S., AND S HI , J. Recent Developments in Fractional Programming : Single
and Max-Min Case, A Gary Anderson Graduate School of Management, California,
2004.
[40] S ESHAN, C. R., AND V.G. Tikekar, Algorithms for Integer Fractional Programming
Journal of the Indian Institute of Science, 62 (1980), 9-16.
[41] SIARRY. P. .La mèthode du recuit simulè en èlectronique Habilitation report, Paris-
sud University(Orsay) (1994).
[42] S IMONNARD, M. « Programmation Linéaire » Dunod 1962..
[43] S TEUER , R. E. Multiple Criteria Optimization : Theory ; Computation and Applica-
tion Willey, New York, 1986.
[44] S UGENO, M., K. G. Structure identification of fuzzy model. Fuzzy Sets Syst 28 : 15–
33, 1988.
[45] T EGHEM , J. « Programmation Linéaire » , OM Partners.
[46] V ERMA H.C., B., AND M.C. . Puri Ranking in integer linear fractional pro- gramming
problems, Zeitschrift f¨er Operations Research- Methods and Models of Operations
Research 34, 325-334, 1990.
[47] Z ADEH , L. A. Soft computing and fuzzy logic. IEEE Software 11(6), pp 48-56, 1994.
[48] Z ADEH , L. A. le concept d’une variable linguistique et son application à rapprocher
le raisonnement (1975).
[49] Z ERDANI , O. Thèse de doctorat : L’optimisation non linèaire multi objectif 2013,.
[50] ZOUAOUI, S. .Mèmoire de magistère : Approche multicritère pour le problème de
sac à dos. USTHB,Algerie,alger 2011.
Bibliographie

[1] ASLI, L. . Approche hybride pour les problèmes d’optimisation combinatoire mul-
tiobjectif : cas des problèmes de type sac-à-dos 2010.
[2] BARICHARD, V. . Approches hybrides pour les problèmes multiobjectifs 2003.
[3] B ECTOR , C. R. ,Suresh Chandra , Fuzzy Mathematical Programming and Fuzzy
Matrix Games Springer-Verlag Berlin Heidelberg, 2005 ,169,.
[4] B ENLAHRACHE , N. . Optimisation Multi-Objectif Pour l’Alignement Multiple de
Séquences 2007.
[5] BEZOUI, M. . Support de Cours :programmation linèaire Bèjaia, 2008-2009.
[6] C.G UÉRARD. « Programmation Linéaire » Paris, Eyrolles 1976.
[7] CHAABANE, D. Contribution à l’optimisation multicritère en variables discrètes
Mons 2007,.
[8] C HANKONG, V., AND Y.Y. Haimes, Multiobjective Decision-Making : Theory and
Methodology, System Science and Engineering. North Holland, 1983.
[9] C HERGUI , M.-A., AND M OULAÜ, M. An Exact Method for a Discrete Multiobjective
Linear Fractional Optimization, Applied Mathematics and Decision Sciences1-12
(2008).
[10] COELLO COELLO. C. A. .An updated survuey of g.a based multiobjective optimization
techniques Technical report Lania-RI-98-08 Laboratorio Nacional Avanzada, Xalapa,
Veracruz, Mexico (Deceumber 1998).
[11] C OLLETTE , Y., AND P. . Siarry, Optimisation multiobjectif,Edition Eyrolles 75240
Paris Cedex 05, France, 2002.
[12] DANTZIG, G. Linear programming and extensions Princeton University Press,
Prince- ton, N.J., 1963.
[13] ET I, O. . Optimisation multicritère : Fondements et Concepts PhD thesis, Université
de Grenoble, 1998.
[14] ET L.HAMADACHE, A. B. Interprètation èconomique de la dualitè et l’analyse de
post-optimale Boumerdes 2013,.
[15] ET N.Z EMOURENE , A. Programmation fractionnaire linèaire en nombres entiers :
mèthode de Granot. Boumerdes 2015,.
[16] FABIAN, B. Modèles de Recherche Opèrationnelle, [email protected] Univer-
sitè de Montrèal 2010.

74
BIBLIOGRAPHIE 75

[17] F RENK , J. B. G., AND S. Schaible, Fractional Programming : Introduction and


Applications, in Encyclopedia of Optimization Kluwer Academic Publishers, The
Netherlands, 2001.
[18] G RANOT, D., AND F. Granot, On Integer and Mixed Integer Fractional Programming
Annals of Discrete Mathematics, 1 (1977), 221-231.
[19] H ACHEMI , N. E. .L’analyse postoptimale. www.almohandiss.com 17 avril 2011..
[20] HAIMES. Y. Y ; W. A . HALL ; H . T. FREEDMAN. .A multiobjective optimization in water
resources systems Elsevier Scientific (1975).
[21] IGOULALENE, I. Développement d’une approche floue multicritère d’aide à la
coordination des décideurs pour la résolution des problèmes de sélection dans les
chaines logistiques 2014,.
[22] I.M, S.-M. . Fractional Programming : Theory, Methods and Applications, Kluwer
Academic Publishers, 1997.
[23] I.M, S.-M. . A fifth bibliography of fractional programming, Optimization 45, 1-4,
343-367, 1999.
[24] I.M, S.-M. . A sixth bibliography of fractional programming, Optimization 55, 4,
405-428, 2006.
[25] I SBELL , J., AND M ARLOW, W. Attrition Games, Naval Research Logistics Quarterly
Vol. 3 (1956), 71-94.
[26] I SBELL , J., AND M ARLOW, W. Attrition Games, Naval Research Logistics Quarterly
Vol. 3 (1956), 71-94.
[27] I ZAZ U LLAH K HAN, T AHIR A HMAD, N. M. A Simpli
ed Novel Technique for Solving Fully Fuzzy Linear Programming Problems Journal
of Optimization Theory and Applications .November 2013,159, pg 536-546,.
[28] M AHDI . K , M. L’optimisation multiobjectif etl’informatique quantique Constantine,.
[29] M ARTOS, B. Hyperbolic programming", Naval Res. Logist. Quart 1964, 11, pp.
135-155,.
[30] M INASIAN, I. S. Fractional Programming : Theory ; Methods and Applications,
Mathematics and Its Applications 409 (1997).
[31] MOKEDDEM, D.
[32] MOULAÏ, M. Mèmoire de doctorat : OPTIMISATION MULTICRITERE FRAC-
TIONNAIRE LINEAIRE EN NOMBRES ENTIERS 2002,.
[33] MOULAÏ, M. Optimisation multicritère fractionnaire linéaire en nombres entiers
2002,.
[34] M. SAKAROVITCH. graphes et programmation linéaire paris,.
[35] O. M. S AAD, A. A., AND F, E. Abdellah, On Solving Single - Objective Fuzzy Integer
Linear Fractional Programs, Applied Mathematics Information Sciences to appear
during summer (2010).
BIBLIOGRAPHIE 76

[36] REARDON. B. J. Fuzzy logic us niched pareto muli-objective genetic algorithm opti-
mization : Part i : Schaffer’s problem.Technical report la- ur-97-3675, Los Alamos
National Laboratory, 1997..
[37] S AAD, O. M. n Stability of Proper Efficient Solutions in Multiobjective Fractional
Programming under Fuzziness, Mathematical and Computer Modeling 45 (2007),
221-231.
[38] SAKAWA . M ; H. yano. An interactive fuzzy satisfcing method for multiobjective
linear programming problems witth fuzzy parametres, vol volume 28. Fuzzy sets and
Systems, 1988.
[39] S CHAIBLE , S., AND S HI , J. Recent Developments in Fractional Programming : Single
and Max-Min Case, A Gary Anderson Graduate School of Management, California,
2004.
[40] S ESHAN, C. R., AND V.G. Tikekar, Algorithms for Integer Fractional Programming
Journal of the Indian Institute of Science, 62 (1980), 9-16.
[41] SIARRY. P. .La mèthode du recuit simulè en èlectronique Habilitation report, Paris-
sud University(Orsay) (1994).
[42] S IMONNARD, M. « Programmation Linéaire » Dunod 1962..
[43] S TEUER , R. E. Multiple Criteria Optimization : Theory ; Computation and Applica-
tion Willey, New York, 1986.
[44] S UGENO, M., K. G. Structure identification of fuzzy model. Fuzzy Sets Syst 28 : 15–
33, 1988.
[45] T EGHEM , J. « Programmation Linéaire » , OM Partners.
[46] V ERMA H.C., B., AND M.C. . Puri Ranking in integer linear fractional pro- gramming
problems, Zeitschrift f¨er Operations Research- Methods and Models of Operations
Research 34, 325-334, 1990.
[47] Z ADEH , L. A. Soft computing and fuzzy logic. IEEE Software 11(6), pp 48-56, 1994.
[48] Z ADEH , L. A. le concept d’une variable linguistique et son application à rapprocher
le raisonnement (1975).
[49] Z ERDANI , O. Thèse de doctorat : L’optimisation non linèaire multi objectif 2013,.
[50] ZOUAOUI, S. .Mèmoire de magistère : Approche multicritère pour le problème de
sac à dos. USTHB,Algerie,alger 2011.

Vous aimerez peut-être aussi