programmation linéaire en nombres entiers, plan du...
Post on 11-Sep-2018
239 Views
Preview:
TRANSCRIPT
Programmation linéaire en nombres
entiers, plan du cours
❐ Introduction
❐ Définition d’un programme linéaire
❐ Du PL au PL en nombres entiers ou mixtes
❐ Linéarisations classiques en PL
❐ Utilisation des données
❐ Utilisation de variables binaires
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.1/51
Objectifs du cours
Apprendre à écrire un programme linéaire
❐ Formaliser un problème d’optimisation
❐ Permettre l’utilisation de logiciels génériques
❐ Éviter la mise en œuvre d’algorithmes spécifiques
Connaître les principales techniques de linéarisation
❐ Élargir la gamme des problèmes résolvables
❐ Comprendre les limites de la modélisation linéaireen nombres entiers
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.2/51
Références bibliographiques
Notions de base et exercices❐ Exercices et problèmes résolus de recherche opérationnelle, Tome 3 : Pro-
grammation linéaire et extensions - Problèmes classiques, Collectif d’auteursdu CNAM et de l’universite Paris 6, Dunod
❐ Programmation linéaire, C. Gueret, C. Prins, M. Sevaux, Eyrolles
❐ Programmation linéaire et applications éléments de cours et exercices corri-gés, K. Mellouli, P. Borne, Sciences et technologies
Pour aller plus loin❐ Introduction to Operations Research, F.S. Hillier, G.J. Lieberman, McGraw-Hill
❐ Optimisation discrète, A. Billionnet, Dunod
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.3/51
Définition d’un programme linéaire
❐ Introduction
❐ Définition d’un programme linéaire
❐ Du PL au PL en nombres entiers ou mixtes
❐ Linéarisations classiques en PL
❐ Utilisation des données
❐ Utilisation de variables binaires
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.4/51
Définition d’un programme linéaire
Technique de modélisation❐ Uniquement composé d’équations ou d’inéquations linéaires :
n variables xj ⇒ a0 + a1x1 + a2x2 + . . .+ anxn{≤,=,≥}0❐ Utilisé par des outils d’optimisation
Structure de base❐ Ensemble de variables réelles positives❐ Ensemble d’égalités/inégalités entre des sous-ensembles de
ces variables définissant un domaine admissible dans IRn
⇒ contraintes
❐ 1 ou plusieurs objectifs classant les solutions admissibles
Maximiser c.x Maximiser∑
j∈1,...,n cjxj
A.x ≤ b∑
j∈1,...,n aijxj ≤ bi, ∀i ∈ 1, . . . ,m
x ≥ 0 xj ≥ 0, ∀j ∈ 1, . . . , n
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.5/51
Exemples d’équations non linéaires
Fonctions mathématiques❐ Produit de variables : x1 ∗ x2❐ Puissances d’une variable : x2,
√x, 1
x, . . .
❐ Exponentiation d’une variable : ex, 2x, . . .❐ Fonctions trigonométriques : sinx, tanx, . . .❐ Comparaison de variables : max(x1, x2), . . .
❐ . . .
Expressions logiques❐ a OU b
❐ a ⇒ b
❐ . . .
. . .
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.6/51
Propriétés et algorithmes
Des propriétés mathématiques intéressantes
❐ Convexité du domaine admissible
❐ Dualité
Des algorithmes efficaces
❐ Simplexe
❐ Méthodes de point intérieur
⇒{
Solution optimaleAnalyse de sensibilité
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.7/51
Exemple d’un PL et son domaine
admissible
Maximiser x1 + 4x2
s.c. 3x1 + 16x2 ≤ 80
−14x1 + 2x2 ≥ −105
3
2x1 + x2 ≥ 3
x1, x2 ≥ 0
0 1 2 3 4 5 6 7 8 9 100
1
2
3
4
5
6
7
8
9
10
x1
x2
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.8/51
Du PL au PL en nombres entiers ou
mixtes
❐ Introduction
❐ Définition d’un programme linéaire
❐ Du PL au PL en nombres entiers ou mixtes
❐ Linéarisations classiques en PL
❐ Utilisation des données
❐ Utilisation de variables binaires
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.9/51
Définition d’un PLNE
❐ Structure de base identique au PL
❐ Changement du type des variables
Maximiser c.x Maximiser∑
j∈1,...,n
cjxj
A.x ≤ b∑
j∈1,...,n
aijxj ≤ bi, ∀i ∈ 1, . . . ,m
x ∈ IN xj ∈ IN, ∀j ∈ 1, . . . , n
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.10/51
Pourquoi des variables entières?
Représenter des quantités entières
❐ Produits manufacturés
❐ Produits financiers
❐ Affectation de personnes
❐ . . .
Représenter des choix parmi plusieurs alternatives
Linéariser certains types de contraintes
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.11/51
Types d’application
❐ Production, gestion industrielle
❐ Chargements, découpes
❐ Logistique, transport
❐ Réseaux, télécommunications
❐ Énergie, environnement
❐ Économie, finance
❐ Emploi du temps, gestion de personnel
❐ . . .Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.12/51
Difficultés de résolution
Nombre fini de solution MAIS
❐ Perte de la convexité
❐ Nombre de solution exponentiel
❐ Plus de problème dual
Arrondir la solution d’une relaxation continue
❐ Optimum non garanti, parfois éloigné
❐ Admissibilité non garantie
❐ Une exception : matrice totalement unimodulaire
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.13/51
Exemple d’un PLNE et son domaine
admissible
Maximiser x1 + 4x2
s.c. 3x1 + 16x2 ≤ 80
−14x1 + 2x2 ≥ −105
3
2x1 + x2 ≥ 3
x1, x2 ∈ IN
0 1 2 3 4 5 6 7 8 9 100
1
2
3
4
5
6
7
8
9
10
x1
x2
b b b b b b
b b b b b b
b b b b b b b
b b b b b b b b
b b b b b b
b
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.14/51
Comment résoudre un PLNE?
Des algorithmes moins efficaces mais utilisables❐ Branch & Bound, Programmation dynamique, . . .
Des logiciels disponibles❐ Cplex / OPL Studio
❐ GLPK, libre (http ://www.gnu.org/software/glpk/glpk.html)
❐ MPL, version étudiant (http ://www.maximalsoftware.com)
❐ Xpress-MP, version étudiant (http ://www.artelys.fr)
❐ . . .
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.15/51
Linéarisations classiques en PL
❐ Introduction
❐ Définition d’un programme linéaire
❐ Du PL au PL en nombres entiers ou mixtes
❐ Linéarisations classiques en PL
❐ Utilisation des données
❐ Utilisation de variables binaires
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.16/51
Fonction minimum/maximum
Modéliser le maximum de k variables
❐ Utilisation d’une variable intermédiaire
❐ Ajout de k inégalités
❐ Utilisation de la fonction objectif
Minimiser max(x1, . . . , xk) ⇒ Minimiser y
s.c. (. . .) s.c. (. . .)
xj ≤ y, ∀j ∈ 1, . . . , k
y ≥ 0
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.17/51
Équilibrer le temps de travail
(données)
Tmpt : temps nécessaire pour la réalisation de la tâche t
Occt : nombre d’occurences de la tâche t
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.18/51
Équilibrer le temps de travail
(variables)
Variables de décisionxtp ∈ IN , nombre de tâches de type t effectuées par la
personne p
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.19/51
Équilibrer le temps de travail
(modèle)
Min y
s.c.
3∑
p=1
xtp = Occt, ∀t ∈ 1, . . . , 8
8∑
t=1
xtp ∗ Tmpt ≤ y, ∀p ∈ 1, . . . , 3
xtp ∈ IN, ∀p ∈ 1, . . . , 3, ∀t ∈ 1, . . . , 8
y ≥ 0
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.20/51
Rapport de deux variables
Modéliser le rapport entre 2 variables xa et xb❐ Multiplication de l’inégalité par le dénominateur
xaxb
≤ c ⇒ xa ≤ c.xb
Problèmes de respect d’une proportion
x1∑
j∈1,...,n
xj≤ c ⇒ (1− c)x1 − c
∑
j∈2,...,n
xj ≤ 0
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.21/51
Calcul d’un écart
Écart entre 2 variables
❐ Utilisation de 2 variables intermédiaires
❐ Ajout d’une inégalité
❐ Utilisation de la fonction objectif
Min |xa − xb| ⇒ Min y+ + y−
s.c. (. . .) s.c. (. . .)
xa − xb = y+ − y−
y+, y− ≥ 0
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.22/51
Équilibrer la charge entre 2
personnes
Min y+ + y−
s.c.
3∑
p=1
xtp = Occt, ∀t ∈ 1, . . . , 8
8∑
t=1
xt1 ∗ Tmpt = 16
8∑
t=1
xt2 ∗ Tmpt −8
∑
t=1
xt3 ∗ Tmpt = y+ − y−
xtp ∈ IN, ∀p ∈ 1, . . . , 3, ∀t ∈ 1, . . . , 8
y+, y− ≥ 0
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.23/51
Fonctions linéaires par morceau
❐ Coût heures normales/heures supplémentaires
❐ Tarif réduit pour de grandes quantités
❐ Utilisation de deux variables au lieu d’une
Min y Min a.x1 + b+ c.x2
s.c.(. . .) s.c.(. . .)
y =
a.x+ b si x ≤ β
c.x+ d si x ≥ β⇒ x1 ≤ β
avec
∣
∣
∣
∣
∣
∣
a.β + b = c.β + d
a < c
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.24/51
Production d’électricité (données)
Demap puissance demandée pour la période p
PMint puissance minimale pour une centrale de type t
PMaxt puissance maximale pour une centrale de type t
NDist nombre de centrales de type t disponibles
CDemt coût de démarrage d’une centrale de type t
CMint coût de base horaire pour une centrale de type t
CSupt coût horaire supplémentaire pour une centrale de type t
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.25/51
Production d’électricité (variables)
Variables de décisionNDemtp ∈ IN , nombre de centrales de type t démarrés en
début de période p
NFontp ∈ {0, 1, . . . , NDist}, nombre de centrales de type t
qui fonctionnent en période p
PSuptp ≥ 0, nombre de mégawatts fournis en plus du
minimum par les centrales de type t en période p
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.26/51
Production d’électricité (modèle)
Min
4∑
p=1
3∑
t=1
(CDemt.NDemtp + 6.CMint.NFontp + 6.CSupt.PSuptp)
s.c. PSuptp ≤ (PMaxt − PMint).NFontp, ∀t ∈ 1, . . . , 3, ∀p ∈ 1, . . . , 43
∑
t=1
PMint.NFontp +
3∑
t=1
PSuptp ≥ Demap, ∀p ∈ 1, . . . , 4
3∑
t=1
PMaxt.NFontp ≥ 1, 15.Demap, ∀p ∈ 1, . . . , 4
NDemtp ≥ NFontp −NFont,p−1, ∀t ∈ 1, . . . , 3, ∀p ∈ 2, . . . , 4
NDemt1 ≥ NFont1 −NFont,4, ∀t ∈ 1, . . . , 3
NDemtp ∈ IN, ∀t ∈ 1, . . . , 3, ∀p ∈ 1, . . . , 4
NFontp ∈ {0, 1, . . . , NDist}, ∀t ∈ 1, . . . , 3, ∀p ∈ 1, . . . , 4
PSuptp ≥ 0, ∀t ∈ 1, . . . , 3, ∀p ∈ 1, . . . , 4
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.27/51
Utilisation des données
❐ Introduction
❐ Définition d’un programme linéaire
❐ Du PL au PL en nombres entiers ou mixtes
❐ Linéarisations classiques en PL
❐ Utilisation des données
❐ Utilisation de variables binaires
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.28/51
Technique du Big M
Interdire implicitement une variable
❐ Éliminer des solutions techniquement irréalisables
❐ Utiliser une pondération M suffisamment grande
❐ Diminuer le nombre de contraintes
❐ Éviter des contraintes cassant la structure du problème
Min (. . .) Min (. . .) +M.x
s.c. (. . .) ⇒ s.c. (. . .)
x = 0
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.29/51
Transport de marchandises (données)
cij le coût du transport d’un produit de l’usine i vers le client j
Demj le nombre de produits demandés par le client j
Dispi le nombre de produits disponibles à l’usine i
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.30/51
Transport de marchandises
(variables)
Variables de décisionxij ∈ IN , nombre de produits acheminés de l’usine i vers le
client j
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.31/51
Transport de marchandises (modèle)
Min
3∑
i=1
5∑
j=1
cijxij
s.c.
3∑
i=1
xij = Demj , ∀j ∈ 1, . . . , 5
5∑
j=1
xij = Dispi, ∀i ∈ 1, . . . , 3
xij ∈ IN, ∀i ∈ 1, . . . , 3, ∀j ∈ 1, . . . , 5
(c3,2 = c1,4 = M)
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.32/51
Pré-traitement des données
Influence du format de données sur le modèle
❐ Plusieurs modèles possibles pour un problème
❐ Permettre une diminution de la taille du modèle
❐ Rendre sa résolution plus facile
⇒ Ne pas considérer la représentation des donnéescomme unique et figée
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.33/51
Découpe de barres d’acier (données)
Dj la demande en pieds de type j
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.34/51
Découpe de barres d’acier (variables)
Plans de découpe possibles
Numéro Type debarre
Pieds de40 cm
Pieds de60 cm
Pieds de70 cm
Chute
1 1,50m 0 0 2 10...
6 1,50m 3 0 0 30
7 2m 0 1 2 0...
15 2m 5 0 0 20
Variables de décisionxi = le nombre de barres découpées suivant le plan de découpe i
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.35/51
Découpe de barres d’acier (modèle)
Min
6∑
i=1
L1xi +
15∑
i=7
L2xi
s.c.
15∑
i=1
aijxi ≥ Dj , ∀j ∈ 1, . . . , 3
xi ∈ IN, ∀i ∈ 1, . . . , 15
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.36/51
Utilisation de variables binaires
❐ Introduction
❐ Définition d’un programme linéaire
❐ Du PL au PL en nombres entiers ou mixtes
❐ Linéarisations classiques en PL
❐ Utilisation des données
❐ Utilisation de variables binaires
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.37/51
Fonctions logiques entre variables
binaires
OU inclusif
(xa ou xb) ⇒ xa + xb ≥ 1
OU exclusif
(xa ou bien xb) ⇒ xa + xb = 1
Implication
(xa ⇒ xb) ⇒ xa ≤ xb
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.38/51
Localisation d’émetteurs GSM
(données)
ci coût d’implantation d’un émetteur sur le site i
pj la population de la commune j
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.39/51
Localisation d’émetteurs GSM
(variables)
Données à formaterCvij une constante binaire valant 1 si un émetteur placé en i
couvre la commune j
Variables de décision
yj =
1 si la commune j est couverte par une antenne
0 sinon
xi =
1 on implante une antenne sur le site i
0 sinon
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.40/51
Localisation d’émetteurs GSM
(modèle)
Max
15∑
j=1
pjyj
s.c.
7∑
i=1
Cvijxi ≥ yj , ∀j ∈ 1, . . . , 15
7∑
i=1
cixi ≤ 10
yj ∈ {0, 1}, ∀j ∈ 1, . . . , 15
xi ∈ {0, 1}, ∀i ∈ 1, . . . , 7
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.41/51
Fonctions discontinues
Variable nulle ou bien bornée inférieurement
❐ Produit qui n’est pas fabriqué, ou fabriqué en quantité au
moins égale à Q pour des raisons de rentabilité
❐ Coûts fixes
❐ Utiliser une variable indicateur y ∈ {0, 1}❐ Ajouter 2 contraintes
❐ Utiliser une constante M suffisamment grande
x ≥ Q.y
x /∈]0, Q[ ⇒ x ≤ M.y
y ∈ {0, 1}
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.42/51
Disjonction
Variable inférieure à a OU supérieure à b
❐ Dates impossibles
❐ tâches ne pouvant pas s’exécuter en parallèle
❐ Utiliser une variable indicateur y ∈ {0, 1}❐ Ajouter 2 contraintes
❐ Utiliser une constante M suffisamment grande
x ≤ a+M.y
x /∈]a, b[ ⇒ x ≥ b−M.(1− y)
y ∈ {0, 1}
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.43/51
Respect d’un sous-ensemble de
contraintes
Solution ne respectant pas au plus k contraintes❐ Impossibilité de satisfaire toutes les contraintes
❐ Contraintes représentant des préférences
❐ Utiliser des variables indicateurs
❐ Ajouter une contrainte
❐ Utiliser une constante M suffisamment grande
n∑
j=1
aij .xj ≤ bi +M.yi, ∀i ∈ 1, . . . ,m
m∑
i∈1
yi ≤ k
yi ∈ {0, 1}, ∀i ∈ 1, . . . ,mModélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.44/51
Passer d’une variable entière à des
variables binaires
Transformer une variable entière x en variables binaires
❐ x ne peut prendre que k valeurs {v1, v2, . . . , vk}❐ Utiliser k variables binaires
❐ Ajouter 1 contrainte (généralisation du OU exclusif)
Min (. . .) + x Min (. . .) +∑
j∈1,...,k
vjyj
s.c. (. . .) ⇒ s.c. (. . .)∑
j∈1,...,k
yj = 1
x ∈ {v1, . . . , vk} yj ∈ {0, 1}, ∀j ∈ 1, . . . , k
❐ Représentation binaire possible avec moins de variables
(⌈log2 k⌉)Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.45/51
Sauvegarde de fichiers (données)
ai la taille de l’archive i en Mo
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.46/51
Sauvegarde de fichiers (variables)
Variables de décision
xij =
1 l’archive i est enregistré sur le DVD j
0 sinon
yj =
1 le DVD j contient des archives
0 sinon
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.47/51
Sauvegarde de fichiers (modèle)
Min
10∑
j=1
yj
s.c.
10∑
j=1
xij = 1, ∀i ∈ 1, . . . , 16
16∑
i=1
ai.xij ≤ 4 300.yj , ∀j ∈ 1, . . . , 10
xij ∈ {0, 1}, ∀i ∈ 1, . . . , 16, ∀j ∈ 1, . . . , 10
yj ∈ {0, 1}, ∀j ∈ 1, . . . , 10
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.48/51
Sauvegarde de fichiers (2ème modèle)
Min NbU
s.c.
10∑
j=1
j.xij ≤ NbU, ∀i ∈ 1, . . . , 16
10∑
j=1
xij = 1, ∀i ∈ 1, . . . , 16
16∑
i=1
ai.xij ≤ 4 300, ∀j ∈ 1, . . . , 10
xij ∈ {0, 1}, ∀i ∈ 1, . . . , 16, ∀j ∈ 1, . . . , 10
NbU ≥ 0
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.49/51
Fonction non linéaire d’une variable
Utiliser la représentation en k variables binaires
❐ x ne peut prendre que k valeurs {v1, . . . , vk}
❐ f(x) ne peut prendre que k valeurs {f(v1), . . . , f(vk)}
❐ Fonctionne pour toutes les fonctions d’une seule variable
(x3,√x, ex, sinx, . . .)
f(x) ⇒k
∑
i=1
f(vi) ∗ xi
x ∈ {v1, . . . , vk} xi ∈ {0, 1}, ∀i ∈ {1, . . . , k}
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.50/51
Produit de variables
Calculer le produit de deux variables
❐ x ne peut prendre que k valeurs {v1, . . . , vk}
❐ y ne peut prendre que g valeurs {w1, . . . , wg}
❐ Utilisation de k + g variables binaires
❐ Utilisation d’une constante M suffisamment grande
p ≥ vi ∗g
∑
j=1
wj ∗ yj −M(1− xi), ∀i ∈ {1, . . . , k}
p = x ∗ y ⇒ p ≤ vi ∗g
∑
j=1
wj ∗ yj +M(1− xi), ∀i ∈ {1, . . . , k}
xi ∈ {0, 1}, ∀i ∈ {1, . . . , k}yj ∈ {0, 1}, ∀j ∈ {1, . . . , g}
Modélisation mathématique des problèmes de décision: programmation linéaire ennombres entiers, toolbox ROAD, 13-22 septembre 2017 – p.51/51
top related