Académique Documents
Professionnel Documents
Culture Documents
DEPARTEMENT DE MATHEMATIQUES
Programmation lineaire
En 0-1
Melizou Karima
Moussaoui Nouha
Gueham Salima
Zebar Ilhem
Pr.R.Zitouni
Decembre 2018
Table des matières
1 Introduction 4
4 Problème d’a¤ectation 13
4.1 Formulation du problème : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2
5.3 Choix de la decision de Séparation en un noeud . . . . . . . . . . . . . . . . . . . . . . . . 27
5.4 Algorithme de Balas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.5 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7 Histiore 32
9 Présentation du problème 32
10 Formulation mathématique 33
10.1 Procédé d’exploration systématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.2 Méthodes de résolution le problème de sac à dos . . . . . . . . . . . . . . . . . . . . . . . 35
10.2.1 Méthode approchée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Bibliographie 38
3
1 Introduction
Généralement on appele programmation mathématique un probléme d’optimisation d’un fonction
objectif de plusieurs variables en présense des contraintes, le programme est dite linéaire si la fonction
objectif et les contraintes sont toutes des combinaisons linéaire de variables, Il comporte n variables
non négatives m contraintes d’égalité ou d’inégalité . et la fonction objectif à optimiser, Des valeurs de
variables qui véri…ent toutes les contraintes forment une solution réalisable du programme linéaire.
Ce dernier noté à partir les variables associes au le probleme : Si les variables sont astreintes à être
entières , on a un programme linéaire en nombre entieres(PLNE), un programme linéaire mixte comprent
à la fois des variables continues et des variables entieres, et un programme linéaire classique .
un programme linéaire en 0-1 est un cas particulier de PLNE dont les variables . ne peuvent prendre
que deux valeurs 0-1 ces variables sont dites booléennes,binaire ou de décision . Ce dernier programme
faire l’objet du notre travail . Les deux programmes i :e les PLNE et les PL en 0-1 sont plus di¢ ciles à
résourdre que les PL ordinaires . Donc notre travail présente un cas particulier de PLNE appelé en 0-1
.
4
2 Modélisation des problèmes d’optimisation
Un
8 programme linéaire a la forme suivante :
>
> min z = ct x
>
<
(PL) Ax = b
>
>
>
: x 0
5
– Le problème de ‡ot max de cout min.
– Le problème de cheminement.
– Le problème d’a¤ectation.
On distingue deux types de méthodes de résolution pour les problèmes d’optimisation : Les
méthodes exactes et les méthodes approchées.
Les méthodes de résolution exactes sont nombreuses et se caractérisent par le fait qu’elles
permettent d’obtenir une ou plusieurs solutions dont l’optimalité est garantie. Parmi ces méthodes, on
trouve : La méthode de Branch and Bound consistant à faire une énumération implicite en séparant le
problème en sous problèmes et en évaluant ceux-ci à l’aide d’une relaxation jusqu’à trouver des problèmes
faciles à résoudre ou dont on sait avec certitude qu’ils ne peuvent pas contenir de solution optimale .
Dans certaines situations, il est nécessaire de disposer d’une solution de bonne qualité (c’est-‘a-dire
assez proche de l’optimale). Dans ce cas l’optimalité de la solution ne sera pas garantie.
Cependant, le temps nécessaire pour obtenir cette solution sera beaucoup plus faible et pourra même
être …xé (bien évidemment dans ce cas la qualité de la solution obtenue dépendra fortement du temps
laissé à l’algorithme pour l’obtenir). Typiquement, ce type de méthodes, dites heuristiques, est parti-
culièrement utile pour les problèmes nécessitant une solution en temps réel (ou très court) ou pour
résoudre des problèmes di¢ ciles sur des instances de grande taille. Elles peuvent aussi être utilisées a…n
d’initialiser une méthode exacte (Branch and Bound par exemple)
6
3 Le problème du voyageur de commerce
3.1 Historique
Le "problème du voyageur de commerce", ou TSP (Traveling Salesman Problem) est un des problèmes
les plus anciennement et largement étudiés en optimisation combinatoire (depuis le 19èm e siècle),est l’un
des plus connus dans le domaine de la recherche opérationnelle.
C’est déjà sous forme de jeu que William Rowan Hamilton a posé pour la 1ère fois ce problème, dès
1859.Et il est progrès pendant les ans, en1954, G. Dantzig, R. Fulkerson, et S. Johnson, ils ont donné
la solution exacte pour les 49 capitales des états américains. Dans les années 80 jusqu’à aujourd’hui :
diverses heuristiques et métaheuristiques.
Le TSP peut être formulé comme un problème de programmation linéaire en nombre entier. Il a des
applications directes dans le transport, la logistique, etc. Par exemple trouver le chemin le plus court
pour les bus de ramassage scolaire ou, pour le camion de ramassage des ordures.
Un voyageur de commerce doit visiter n villes données en passant par chaque ville exactement une
fois. Il commence par une ville quelconque et termine en retournant à la ville de départ. Les distances
entre les villes sont connues. Il faut trouver le chemin qui minimise la distance parcourue. La notion de
distance peut-être remplacée par d’autres notions comme le temps qu’il met ou l’argent qu’il dépensé.cij
est le coût de déplacement de la ville i et la ville j.
7
3.3 Formule du TSP
8 P
n P
n
>
> min z = cij xij
>
>
>
> i=1 j=1
>
>
>
> sc
>
> 8
>
> P
n
>
> >
> xij = 1 i = 1:::n
>
> >
>
< >
> j=1
>
> j6=i
>
> Pn
>
> >
<
>
> xij = 1 j = 1:::n
>
> i=1
>
> > i6=j
>
> >
> P
>
> >
>
>
> >
> xij jSj 1 6= S f1:::ng ; 2 jSj n 1
>
> >
> i;j2S
>
> >
>
: : xij 2 f0; 1g i = 1:::n; j = 1:::n; i 6= j
Les deux premières contraintes traduisent le fait que chaque ville doit être visitée exactement une
fois ;
La troisième contrainte interdit les solutions composées de sous-tours disjoints, elle est généralement
appelée contrainte d’élimination des sous-tours.
xij = 1 si l’arc (i; j) est dans le circuit hamiltonien .
xij = 0 sinon.
3.4 Modélisation
On considère G = (X; U ), un graphe dans lequel X l’ensemble des sommets représente les
villes à visiter, ainsi que la ville de départ de la tournée, et U l’ensemble des arcs de G, représente
les parcours possibles entre les villes. À tout arc (i; j) 2 U , on associe la distance de parcours dij de la
ville i à la ville j. La longueur d’un chemin dans G est la somme des distances associées aux arcs de ce
chemin. Le TSP se ramène alors à la recherche d’un circuit hamiltonien (i.e., un chemin fermé passant
exactement une fois par chacun des sommets du graphe) de longueur minimale dans G. Dans le cas où
il existe certains arcs (i; j) 2 U pour lesquels dij = dji , on parle de TSP asymétrique.
(n 1)!
Un graphe complet à n sommets possède 2 cycles hamiltoniens.
8
Danc cette partie nous intéressons aux méthodes énumératives, c’est-à-dire des méthodes qui ex-
plorent l’espace des solutions pour trouver une solution de meilleur coût.
Les méthodes de Branch&Bound essayent d’éviter d’explorer entièrement l’espace des solutions en
utilisant les caractéristiques des solutions optimales et des estimations des coûts des solutions.
La méthode par séparation et évaluation (nommée Branch and Bound en anglais) est notée B&B.
C’est une des méthodes qui permettent la résolution exacte de problèmes d’optimisation, notamment
les problèmes d’optimisation combinatoires dont on cherche à minimiser le coût de la recherche. B&B
propose un mécanisme de recherche très intelligent, grâce à lequel elle permet une bonne exploitation de
l’espace de recherche et l’aboutissement à la solution optimale plus rapidement que d’autres méthodes
exactes en combinant deux principes primordiaux : la séparation et l’évaluation.
Branchement (ou séparation) :
– Choisir un sommet dans l’arbre des solutions
– Puis choisir une variable non encore …xée relativement à ce sommet
– Générer les deux alternatives
Calcul de borne (ou évaluation) :
résoudre la relaxation PL en chaque sommet
Élagage (ou élimination) : utiliser l’information tirée de la résolution de la relaxation PL pour
éliminer toutes les solutions émanant du sommet courant .
1: Initialisation :
1. Poser Z = 1 ;
2. Appliquer le calcul de borne et les critères d’élagage à la racine (aucune variable …xée).
1. Parmi les sous-problèmes non encore élagués, choisir celui qui a été créé le plus récemment (s’il y
a égalité, choisir celui de plus grande borne supérieure) ;
9
4: Calcul de borne :
3. La solution optimale de la relaxation PL est entière : si la borne supérieure est strictement supé-
rieure à
3.8 Exemple
Un voyageur commerce vit dans une ville A et doit visiter B, C et D.et on a les données suivantes :
On cherche donc le trajet le plus court qui part de A et y revient après avoir passé les 3 autres points.
On a donc la matrice suivante :
A B C D
A 1 120 140 180
B 120 1 70 100
C 140 70 1 110
D 180 100 110 1
1ère étape :
On soustrait de chaque ligne son minimum puis idem pour les colonnes
A B C D
A B C D A B C D
A 1 0 20 60
A 1 120 140 180 120 A 1 0 20 30
B 50 1 0 30
B 120 1 70 100 70 ! ! B 0 1 0 0
C 70 0 1 40
C 140 70 1 110 70 C 20 0 1 10
D 80 0 10 1
D 180 100 110 1 100 D 30 0 10 1
50 0 0 30
10
Le cout est :
P P
d= min(l) + min(c) = 360 + 80 = 440 = z
lignes colonnes
2ème étape : (AB)
A B C D
A B C D A B C D
A 1 1 1 1
A 1 1 1 1 A 1 1 1 1
B 1 1 0 0
B 1 1 0 0 0 ! ! B 1 1 0 0
C 10 1 1 0
C 20 1 1 10 10 C 0 1 1 0
D 20 1 0 1
D 30 1 10 1 10 D 10 1 0 1
10 0 0
Le cout est :
c(AB) + z + d2 = 0 + 440 + 30 = 470
11
5ème étape : (CB)
A B C D A B C D A B C D
A 1 1 1 1 A 1 1 1 1 A 1 1 1 1
B 0 1 1 0 ! B 0 1 1 0 0 ! B 0 1 1 0
C 1 0 1 10 C 1 1 1 1 C 1 1 1 1
D 30 0 1 1 D 30 1 1 1 30 D 0 1 1 1
Le cout est :
c(CB) + z0 + d5 = 0 + 460 + 30 = 490
Le cout est :
c(CD) + z0 + d6 = 10 + 460 + 0 = 470
Le cout est :
c(DB) + z" + d7 = 0 + 470 + 20 = 490
C’est …ni et la solution du plus court chemin est alors :
fA; C; D; B; Agdont la valeur est de 490km .
xAC = xCD = xDB = xBA = 1
12
4 Problème d’a¤ectation
Les problèmes d’a¤ectation sont des cas spéciaux du problème de transport consiste à a¤ecter les
éléments d’un ensemble à ceux d’un autre ensemble selon une approche biunivoque (un à un) de sorte
que la somme des coûts des a¤ectations soit minimale.
13
= 08i ou j …ctif.
– Si i ne peut être a¤ecté à j pour quelque raison, alors mettre cij = 1 et xij sera 0
14
4.2 Exemple
Supposons que, dans une entreprise, n ouvriers puissent travailler indi¤éremment sur n machines,
mais avec plus ou moins d’e¢ cacité ; l’e¢ cacité peut se mesurer par le revenu provenant de la vente des
produits fabriqués par les divers ouvriers travaillant sur les di¤érentes machines.
Répartir les ouvriers sur les machines de la façon la plus e¢ cace est un problème d’a¤ectation.
Soit n unités à a¤ecter à n tâches ; une unité ne peut être a¤ectée qu’à une tâche et une tâche ne
peut employer qu’une unité.
L’unité i exécute la tâche j avec un coût ou un pro…t cij .
Comment doit-on a¤ecter chaque unité à une seule tâche pour que la rentabilité soit
optimale ?
15
(b) Il y a au moins deux zéros non marqués dans chaque rangée et chaque colonne ; alors faire
une a¤ectationarbitraire à un de ces zéros en l’encadrant et éliminer tous les autres zéros de la même
rangée et de la même colonne en les marquant (cases grises) puis aller à 3.
(c) Il n’y a aucun zéro non marqué et une a¤ectation complète n’a pas été faite ; alors passer à
l’étape 6
6.Cocher (f) toutes les rangées pour lesquelles des a¤ectations n’ont pas été faites.
7.Cocher (f) toutes les colonnes pas encore cochées et qui ont un zéro dans des rangées cochées.
8.Cocher (f) toutes les rangées pas encore cochées et qui ont des a¤ectations dans des colonnes
cochées.
9.Répéter les étapes 7 et 8 jusqu’à ce qu’il ne soit plus possible de cocher.
10.Tracer une ligne à travers toutes les rangées non cochées et toutes les colonnes cochées.
11.Parmi tous les éléments de la matrice qui ne sont pas couverts par une ligne, choisir l’élément
le plus petit et le soustraire de chaque élément non couvert et l’ajouter à chaque élément doublement
couvert (par une ligne verticale et horizontale).
Retourner à l’étape 3.
4.3 Exemple
16
En appliquant l’étape 3, on obtient :
17
Aucun zéro non marqué et une a¤ectation complète n’a pas été faite ;
passer aux étapes 6 à 9.
18
Appliquons maintenant l’étape 10.
19
Appliquons l’étape 11. Le plus petit élément est 1.
20
Retournons aux étapes 3 et 4.
21
Aucun zéro non marqué et une a¤ectation complète n’a pas été faite ;
passer aux étapes 6 à 9.
22
Appliquons l’étape 10
23
Appliquons l’étape 11. Le plus petit élément est 1.
24
On retourne aux étapes 3 et 4.
25
Chaque rangée possède une a¤ectation ; elle est donc optimale.
L’algorithme est terminé et nous avons :
x14 = x28 = x35 = x42 = x57 = x66 = x71 = x83 = 1 ; 0 ailleurs.
26
5 Méthode de Balas pour les PL en 0-1
5.1 Introduction
27
Alors Q (t) = f2; 3g et R (t) = f2; 3g .Pour construire une solution
réalisable du PL courant, il faut donc choisir dans R (t) une variable et
la …xer à 1.Autant donc choisir une de ces variables pour séparer.
Balas a proposé une mesure emprique simple de la proximité d’une
X X
solution , P (t) < 0; P (t) = si = M in (0; si ) ,
i2Q(t) j 1;m
P (t)est donc la somme des seconds membres négatifs.Elles dépent du
nombre de ces seconds membres et de leurs valeurs : à nombre égal
de si < 0 , la présence de grands si va probablement demander plus de
…xations de variables à 1 , et donc plus de noeuds à examiner.la proximité
d’une solution si on …xe xj à 1 est alors :
P
P (t; j) = i=1;m M in (0; si aij ) :le terme si aij est simplement la
nouvelle valeur du second membre aprés forçage de xj à 1.Balas propose
pour la séparation la variable j qui augmente le plys la proximité d’une
solution si on la met à 1, c-à-d : la plus prometteuse pour trouves une
nouvelle solution rapidement : P (t; j ) = max fP (t; j)g
j2R(t)
Dans l’exemple,la séparation se fera ainsi sur x3 ,car R (t) = f2; 3g
P (t; 2) = min(0; 3 2) + min(0; 2 + 3) + min(0; 3 + 1) = 2
P (t; 3) = min(0; 3 4) + min(0; 2 + 5) + min(0; 3 + 4) = 1
28
5.5 Exemple
8
>
> M in 5x1 + 7x2 + 10x3 + 3x4 + x5
>
>
>
>
>
> x1 + 3x2 5x3 x4 + 4x5 2 (1)
>
<
2x1 6x2 + 3x3 + 2x4 2x5 0 (2)
>
>
>
>
>
> x2 2x3 + x4 + x5 1 (3)
>
>
>
: 5
x 2 f0; 1g
29
Traitement du noeud S3 :
il reste à traiter le …ls droit S3 deS1 ,correspondant
à x3 = 1 etx2 = 0;
on aL (3) = 1; 4; 5; F1 (3) = f3g ; F0 (3) = f2g ; Q (3) = f2g
etR (3) = f5g.
x1 x4 x5 S3
1 1 4 3
2 2 2 3
0 1 1 1
s’aperçoit que dans la deuxiéme contrainte,
t2 (somme des a2j < 0)= 2> 3.
on laisse donc tomber le noeud S3 car il n’a pas de solution
réalisable
Traitement du noeud S4 :
on remontre sur le noeud S0 , puis on construit le noeud
S4 correspondant àx3 = 0; etL (4) = 1; 2; 4; 5
x1 x2 x4 x5 S4
1 3 1 4 2
2 6 2 2 0
0 1 1 1 1
s’aperçoit que dans la troisiéme contrainte, t2 = 0 > 1.
il n’y a pas de solution .C’est la …n de la recherche arborescente.
– arborescente de la méthode de Balas
30
6 Le problème de sac à dos
Le problème du sac à dos : quelles boîtes choisir a…n de maximiser la somme emportée tout en ne
dépassant pas les 15 kg autorisés ?
31
7 Histiore
Le problème du sac à dos est l’un des 21 problèmes NP-complets de Richard Karp, exposés dans son
article de 1972. Il est intensivement étudié depuis le milieu du XX e siècle et on trouve des références dès
1897, dans un article de George Ballard Mathews (en). La formulation du problème est fort simple,
mais sa résolution est plus complexe. Les algorithmes existants peuvent résoudre des instances pratiques
de taille importante. Cependant, la structure singulière du problème, et le fait qu’il soitprésent en tant
que sous-problème d’autres problèmes plus généraux, en font un sujet de choix pour la recherche.
9 Présentation du problème
L’énoncé de ce problème fameux est simple : « Étant donné plusieurs objets possédant chacun un
poids et une valeur et étant donné un poids maximum pour le sac, quels objets
faut-il mettre dans le sac de manière à maximiser la valeur totale sans dépasser le poids maximal
autorisé pour le sac ? »
Toute formulation de ce problème commence par un énoncé des données. Dans notre cas, nous avons
un sac à dos de poids maximal P et n objets. Pour chaque objet i, nous avons un poids Pi et une valeur
vi .
Ensuite, il nous faut dé…nir les variables qui représentent en quelque sorte les actions ou les décisions
qui amèneront à trouver une solution. On dé…nit la variable xi associée à un objet i de la façon suivante
: xi = 1 si l’objet i est mis dans le sac, et xi = 0 si l’objet i n’est pas mis dans le sac.
Puis il faut dé…nir les contraintes du problème. Ici, il n’y en a qu’une : la somme des poids de
tous les objets dans le sac doit être inférieure ou égale au poids maximal du sac à dos.
P
i=n
Cela s’écrit ici (xi Pi ) P
i=1
32
En…n, il faut exprimer la fonction qui traduit notre objectif : maximiser la valeur totale des objets
dans le sac. Pour n objets, cela s’écrit :
P
i=n
max (xi vi )
i=1
En général, on ajoute les contraintes suivantes a…n d’éviter les cas singuliers :
P
i=n
– pi > P on ne peut pas mettre tous les objets ;
i=1
– pi P 8i = f1:::::ng aucun objet n’est plus lourd que ce que le sac peut porter ;
– vi > 0 8i = f1:::::ng tout objet a une valeur et apporte un gain ;
– pi > 0 8i = f1:::::ng tout objet a un certain poids et consomme des ressources.
10 Formulation mathématique
Toute formulation commence par un énoncé des données. Dans notre cas, nous avons un sac à dos
de poids maximal P et n objets. Pour chaque objet i, nous avons un poids pi et une valeur vi
Le problème peut alors être reformulé comme la recherche d’un vecteur X contenu (les composantes
P
i=n
valant 0 ou 1), réalisant le maximum de la fonction valeur totale Z(x) sous la contrainte xi pi P
i=1
8
> P
i=n
>
> max Z(x) = x i vi
>
>
>
> i=1
>
> P
i=n
>
> xi pi P
<
8
i=1
> >
> 1
>
> >
<
>
>
>
> xi = ou i = 1 : n
>
> >
>
> >
>
: : 0
33
10.1 Procédé d’exploration systématique
Cet examen systématique peut être réalisé à l’aide d’un arbre d’exploration binaire tel celui
représenté ci-contre (les triangles représentent des sous-arbres).
L’arbre se décrit en descendant depuis le sommet jusqu’au bas des triangles (les feuilles de l’arbre).
Chaque case correspond à un unique parcours possible. En suivant les indications portées le long des
arêtes de l’arbre, à chaque parcours correspond une suite Arbre d’exploration binaire de valeurs
pour x0 ; x1 ; ::::; xn ; formant un vecteur contenu.
Il est alors possible de reporter dans chaque case la valeur totale et le poids total du contenu cor-
respondant. Il ne reste plus qu’à éliminer les cases qui ne satisfont pas la contrainte, et à choisir parmi
celles qui restent celle (ou une de celles) qui donne la plus grande valeur à la fonction objectif.
À chaque fois qu’un objet est ajouté à la liste des objets disponibles, un niveau s’ajoute à l’arbre
d’exploration binaire, et le nombre de cases est multiplié par 2.
L’exploration de l’arbre et le remplissage des cases ont donc un coût qui croît exponentiellement avec
le nombre n d’objets.
34
10.2 Méthodes de résolution le problème de sac à dos
Il existe deux grandes catégories de méthodes de résolution de problème de sac à dos : les méthodes
exactes et les méthodes approchées. Les méthodes exactes permettent d’obtenir la solution optimale
à chaque fois, mais le temps de calcul peut être long si le problème est compliqué à résoudre. Les méthodes
approchées, encore appelées heuristiques, permettent d’obtenir rapidement une solution approchée, donc
pas nécessairement optimale. Nous allons détailler un exemple d’algorithme de résolution de chaque
catégorie.
Le principe
L’idée est d’ajouter en priorité les objets les plus e¢ caces, jusqu’à saturation du sac :
le principe est le suivant :
– Calculer la valeur (pi = wi ) pour chaque objet i.
– Trier tous les objets par ordre décroissant de cette valeur.
– Sélectionner les objets un à un dans l’ordre du tri et ajouter l’objet sélectionné dans le sac si le
poids maximal reste respecté
35
Algorithme
Exemple
Pour quatre objets (n = 4) et un sac à dos d’un poids maximal de 30kg(P = 30), nous avons les
données suivantes :
Objets(i) 1 2 3 4
vi 7 4 3 3
pi 13 12 8 10
– ll faut dé…nir les contraintes du problème. Ici, il n’y en a qu’une : la somme des poids de tous
les objets dans le sac doit être inférieure ou égale au poids maximal du sac à dos .Cela s’écrit ici
P
i=4
xi pi P
i=1
x1 :p1 + x2 :p2 + x3 :p3 + x4 :p4 P , 13x1 + 12x2 + 8x3 + 10x4 30 :
– la fonction qui traduit notre objectif :
P
i=4
max x i vi
i=1
36
Déroulons Algorithme de glouton sur notre exemple :
a) Première étape :
Objets(i) 1 2 3 4
vi =pi 0:54 0:33 0:37 0:30
b) Deuxième étape
Objets(i) 1 2 3 4
vi 7 3 4 3
pi 13 8 12 10
vi =pi 0:54 0:37 0:33 0:30
c) Troisième étape :
– Objet 1 : on le met dans le sac vide, le poids du sac est alors de 13 et inférieur à 30 ;
– Objet 3 : on le met dans le sac car 13 + 8 = 21 est inférieur à 30 ;
– Objet 2 : on ne le met pas dans le sac car le poids total (33) dépasserait 30.
– Objet 4 : on ne le met pas dans le sac (poids total de 31).
La solution trouvée est donc de mettre l’objet 1 et l’objet 3 dans le sac, ce qui donne une valeur
de 10.
x1 = x3 = 1; x2 = x4 = 0
Cette solution n’est pas optimale, puisqu’une solution avec une valeur totale de 11 existe.
Néanmoins, cet algorithme reste rapide même si le nombre d’objets augmente considérablement.
37
Références
[1] Catherine Mancel, Modelisation et resolution de problemes d’optimisation combinatoire issus d’ap-
plications spatiales, (2005).
[2] Christina Artiguees, Méthodes de décomposition pour la programmation linéaire en nombre entiers,
(2014).
[3] Daniel Porumbel, Optimisation en nombre entiers, Contributions aux slides : Cédric Bentz.
[5] Wikipidia
38