ENSIIE-Master MPRO Alain Faye

Slides:



Advertisements
Présentations similaires
Résolution Graphique d'un Programme Linéaire
Advertisements

Eléments d'algèbre linéaire
La Méthode de Simplexe Standardisation
Introduction à la notion de fonction 1. Organisation et gestion de données, fonctions 1.1. Notion de fonction Déterminer l'image d'un nombre par une fonction.
Licence pro MPCQ : Cours
Gestion de portefeuille
Calcul géométrique avec des données incertaines
Nombres et calculs Niveau 5ème Objectifs fondamentaux :
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
Bloc 2 : Modèles d’optimisation par la programmation linéaire
1 Réunion biblio 13/12/00 Support Vectors Présentation générale SSS Maintaining Algorithm.
LA DIVINE PROPORTION LE NOMBRE D’OR.
Logique et Raisonnement Scientifique
INTRODUCTION.
CHAPITRE 3 Calcul numérique et puissances
Génération de colonnes
Programmation linéaire
Géométrie vectorielle
Systèmes d’équations du premier degré à deux variables
La fonction de premier degré.
INTÉGRALE INDÉFINIE cours 2.
Programmation linéaire
Fonction puissance Montage préparé par : André Ross
Optimisation linéaire
Densité des N-uplets pythagoriciens
Rappel... Solution itérative de systèmes linéaires (suite et fin).
Chapitre 5 Choix et demande.
La droite dans R2 Montage préparé par : André Ross
Espaces vectoriels Montage préparé par : S André Ross
Mais en mathématiques, qu'est ce qu'une ligne de niveau?
LES NOMBRES Articulation CM2-SIXIÈME
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Programmation linéaire en nombres entiers : la méthode du simplexe
Fondements de la programmation linéaire
Algorithmes d ’approximation
Optimisation en nombres entiers Recherche Opérationnelle GC-SIE.
Optimisation dans les réseaux
Optimisation linéaire
Introduction à la programmation linéaire
1 La récursion. Nous avons vu qu'un programme est constitué d'un ensemble de fonctions. Il est possible pour une fonction donnée d'appeler une autre fonction.
Inéquations du premier degré à une inconnue
Technique de points de contrôle: Formes de Bézier
La droite dans R3 Montage préparé par : André Ross
Transformations linéaires et sous-espaces associés
Sous-espaces vectoriels engendrés
Programmation linéaire en nombres entiers : les méthodes de troncature
Introduction à la programmation linéaire en nombres entiers
l’algorithme du simplexe
Coupes efficaces pour la relaxation lagrangienne
Rappel... Valeurs propres et vecteurs propres. Définitions;
Décomposition de Benders
D.E ZEGOUR Ecole Supérieure d’Informatique
INTRODUCTION.
Programmation linéaire en nombres entiers
CHAPITRE III Calcul vectoriel
Programmation fonctionnelle Preuve
Chapitre 3: Translation et Vecteurs
MATHÉMATIQUES DISCRÈTES Chapitre 1 (Section 5)
Exercice 1. a) Calculer AC. Arrondir au dixième. b) Calculer BC. Arrondir au dixième.
Chapitre 4 La représentation des nombres.
Algorithmique Tableaux de données
1 SYSTEMES D ’ EQUATIONS
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Test Point Polyedre Pierre REISS
1 Courbes Bsplines non uniformes Bsplines uniformes 1.Nombre de points de définition 2.Position des points de définition 3.Degré m des polynômes Paramètres.
1 Programmation linéaire Modélisation sensibilité.
MATHÉMATIQUES L1 Second Semestre Armand Taranco. BIBLIOGRAPHIE Dupont : Algèbre pour les sciences économiques, Flash U, A. Colin. Bernard Guerrien, Isabelle.
Techniques d'Optimisation Master
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
Transcription de la présentation:

ENSIIE-Master MPRO Alain Faye Inégalités valides ENSIIE-Master MPRO Alain Faye

Introduction On considère le problème en nombres entiers Min {cx : Axb, xZn} L’ensemble des solutions admissibles est: X={x : Axb, xZn} Objectif: obtenir un polyèdre P (sans contraintes d’intégrité) pour décrire ConvX l’enveloppe convexe de X ou pour avoir au moins une bonne approximation de ConvX Si on obtient ConvX=P le problème en nombres entiers se ramène au programme linéaire (sans contraintes d’intégrité): Min cx s.c. xP Cas particulier: x vecteur de coordonnées 0 ou 1 . L’ensemble des vecteurs booléens sera noté Bn={0,1}n

Sommaire Notions préliminaires Convexe, enveloppe convexe Polyèdre Inégalités valides en nombres entiers Coupes de Chvatal Modulo arithmétique Coupes de Gomory Contraintes disjonctives Inégalités valides en variables mixtes Inégalité de base Inégalité MIR

Notions préliminaires

C Rn , est convexe si: x,yC et 0  1(1-)x+y C Ensemble convexe C Rn , est convexe si: x,yC et 0  1(1-)x+y C le segment [x,y] est l'ensemble des points z de la forme : z=(1-)x+  y avec 01 z est combinaison convexe de x et y x y pas convexe une partie du segment [x,y] n ’est pas dans C convexe

Déf: étant donné M Rn , ConvM , l'enveloppe convexe de M, est le plus petit convexe contenant M c'est-à-dire l'intersection de tous les convexes contenant M. M ConvM = vert+blanc

Polyèdre Un polyèdre est l’ensemble des solutions d’un système d’inégalités linéaires de la forme Axb : P= {x :Ax b } Un polyèdre est convexe car c’est l’intersection des convexes que sont les demi-espaces défini par chaque inégalité Un point extrême de P est un point de P qui ne peut pas s’exprimer comme combinaison convexe de 2 points distincts de P. L’optimum d’une forme linéaire sur P (s ’il existe) est atteint en un point extrême de P Exemple: x1+x22 2x1+x23 x10, x20 Les points x=(0,0), x=(0,2), x=(0,3/2) x=(1,1) sont les points extrêmes de P

Inégalités valides

Inégalité valide Définition: l’inégalité x 0 est valide pour X si x 0 xX Exercice: Soit X={xB5: 3x1-4x2+2x3-3x4+x5-2} Par des raisonnements « booléens » montrer que x2+x41 et x1x2 sont valides pour X

Soit P ={x : x0, Axb} Une combinaison linéaire positive des contraintes est valide pour P: Soit u0, alors uAxub xP C’est à peu près la seule façon de faire pour obtenir des inégalités valides pour P car la proposition suivante nous dit que toute inégalité valide pour P est « dominée » par une inégalité valide obtenue par combinaison positive des contraintes de P Proposition Si x0 est une inégalité valide pour P={x : x0, Axb} alors u0 t.q. uA et  ub0 Démonstration: x0 valide pour P signifie que max{ x : xP} 0 Par dualité min{ub : uA , u0} 0. La solution u* du dual convient.

Partie fractionnaire d’un nombre Notation: a=plus petit entier inférieur ou égal à a Exemples: 5,4=5 -5,4=-6 Partie fractionnaire: f=a-a Partie fractionnaire de 5,4 est 0,4 Partie fractionnaire de -5,4 est f=-5,4-(-6)=0,6

Coupes de Chvatal Soit axb une inégalité avec x entier0 relaxation jajxjb est valide car x0 arrondi jajxjb est valide car x entier Note: pour obtenir l’inégalité de départ , on peut toujours faire une combinaison linéaire positive des contraintes Ax  b décrivant X={xZn+ : Axb} Exercice: Retrouver les 2 précédentes inégalités valides de X={xB5: 3x1-4x2+2x3-3x4+x5-2} en utilisant les coupes de Chvatal à partir de 0xj1 et 3x1-4x2+2x3-3x4+x5-2.

Modulo arithmétique Soit ax=b une égalité avec x entier0 On se donne un entier d>0 On calcule les divisions entières par d: aj=kjd+rj avec 0rj<d et kj entier b=kd+r avec 0r<d et k entier On réécrit ax=b : ajxj=b rjxj=r+ d(k-kjxj) k‘=k-kjxj est entier car x entier. Si k‘-1 alors r+dk‘<0 car r<d. Or rjxj0 car x0. Ce qui implique k'0. Donc dk'0 Et finalement rjxjr

Exercice 37x1-68x2+78x3+x4=141 avec xZ4+ Pour d=12, calculer l’inégalité modulo arithmétique Pour d=1, l’inégalité modulo arithmétique est la coupe de Gomory fjxjf Où fj est la partie fractionnaire de aj et f la partie fractionnaire de b k'0 est la coupe de Chvatal jajxjb Exercice -1/2x1+7/4x2+7/3x3+x4=21/4 avec x1, x2, x3, x4 entiers0 Calculer la coupe de Gomory et la coupe de Chvatal

Les coupes de Gomory peuvent être vues comme des coupes de Chvatal Exercice: -x1+2x24 (1) 5x1+x220 (2) -2x1-2x2-7 (3) x1,x2 entiers0 On rajoute les variables d’écart x3, x4, x5 On dresse le tableau simplexe dans la base x1, x2, x5 et pour la ligne 1 on obtient x1-1/11x3+2/11x4=36/11 avec x1, x3, x4 entiers0 Calculer la coupe de Gomory et l’exprimer en fonction des variables originales x1, x2 Faire la combinaison positive des 3 contraintes avec u=(10/11, 2/11, 0) puis faire la coupe de Chvatal. Représenter graphiquement la coupe.

Contrainte disjonctive Contrainte valide sur l’union de deux parties de Rn+ Soit a1xb1 valide pour S1Rn+ Soit a2x b2 valide pour S2Rn+ Alors on a: min(a1x,a2x)≤max(b1,b2) xS1S2 Et jmin(a1jxj,a2jxj)≤min(ja1jxj,ja2jxj) Et min(a1j,a2j)xj=min(a1jxj,a2jxj) car xj≥0 Finalement: jmin(a1j,a2j)xjmax(b1,b2) est valide pour S1S2 car xj0

Contrainte disjonctive Application : (A) x0=a0-j=1,najxj avec x0 entier et xj 0 j=1 à n 2 cas: x0a0 On élimine x0 dans (A) et on obtient aj/(a0-a0)xj1 x0a0+1 On élimine x0 dans (A) et on obtient aj/(a0-a0-1)xj1 On applique le résultat précédent (xj0 ) on obtient l’inégalité valide : bjxj1 Avec bj=max{aj/(a0-a0), aj/(a0-a0-1)} Exercice: x0=15/4-1/2x1+7/4x2-11/4x3 avec x0 entier , x1, x2, x30 Calculer l’ inégalité valide correspondante

Disjonction de polyèdre Soit P=P1P2 Avec P1={x : A1xb1} et P2={x : A2xb2} Soit u10, u20 et , 0 t.q. =u1A1, u1b10 (1) =u2A2, u2b20 (2) Alors x0 est valide pour P. On a la réciproque. Proposition Si x0 est valide pour P, alors il existe u10, u20 t.q. (1) et (2)

Exercice: Soit P défini par: x1+x22 -2x1+x21/2 On veut construire une inégalité valide pour la disjonction de P suivante (P{x: x10})(P {x: x11}) On note P1= P{x: x10} et P2= P {x: x11}) Soit (A) l’inégalité -1/2x1+x21/2 Par combinaison positive des contraintes de P1, montrer que (A) est valide pour P1 Même question pour P2 En déduire que (A) est valide pour P1P2 Soit x*=(1/2, 3/2) le point extrême de P . Vérifier que x* ne satisfait pas (A) Etant donné un point x* quelconque de P, donner le programme mathématique qui cherche une inégalité valide pour P1P2 et violée par x*

Est-il possible d’atteindre toutes les inégalités valides ? X=PBn et PRn+ polyèdre borné P[0,1]n Procédure des coupes de Chvatal On pose Pt=P, t=0 Soit une inégalité valide pour Pt : axb On exerce une coupe de Chvatal sur cette inégalité : ax b On rajoute l’inégalité obtenue à Pt : Pt+1=Pt{x: ax b} On pose t= t+1 et on retourne à 2. Théorème: Si x0 est une inégalité valide pour X avec , 0 entiers alors elle s’obtient en un nombre fini d’itérations de la procédure de Chvatal . Ce résultat est soumis au bon choix de l’inégalité valide à chaque itération. La démonstration du théorème est constructive et elle donne l’inégalité valide à couper. Le résultat s’étend au cas entier général X=P Zn et avec P polyèdre non borné.

 

 

Exercice 1 Soit X l’ensemble des vecteurs d’incidence (indexés par les arêtes) des couplages d’un graphe G=(V,E). En considérant les arêtes incidentes à chaque sommet, donner V inégalités (une par sommet) valides pour X. A partir de ces inégalités, montrer à l’aide des coupes de Chvatal que si T est un ensemble de sommets de cardinal 2k+1 alors : eE(T)xe k est valide pour X Où E(T) désigne l’ensemble des arêtes de G ayant leur deux extrémités dans T

Exercice 2 Soit X ensemble des vecteurs d’incidence (indexés par les sommets) des stables d’un graphe G=(V,E). Par raisonnement « booléen », Montrer que si (i,j)E alors xi+xj 1 est valide pour X. Montrer que si i, j, k sont les sommets d’un triangle alors xi+xj+xk 1 est valide pour X Montrer que si C est une clique d’au moins 3 sommets alors isommets de Cxi 1 est valide pour X Soit un cycle C de G. Montrer que si le nombre de sommets du cycle C est impair 2k+1 alors isommets de Cxi k est valide pour X. Soient les inégalités xi0 i  V et xi+xj 1 (i,j)E valides pour X. Retrouver en appliquant des coupes de Chvatal à partir de xi0 i  V et xi+xj1 (i,j)E, la validité des inégalités sur le triangle, la clique, le cycle impair.

Inégalités en variables mixtes

Inégalité mixte : inégalité mêlant variables entières et continues Inégalité de base Soit X={(x,y)R+Z : yb+x} yb+x(1-f) est valide pour X Avec f=b-b partie fractionnaire de b Exercices: Soit y2,5+x avec yZ et x0 Calculer l’inégalité valide correspondante. Faire une représentation graphique de la coupe. Démontrer l’inégalité de base à partir de la contrainte disjonctive vue précédemment (cf contrainte disjonctive application)

Inégalité MIR (mixed integer rounding) Notation: a+=max(0,a) . Par exemple: 5+=5, (-5)+=0 Soit X={(x,y)R+Zn+ : jajyjb+x} Alors j(aj+(fj-f)+ (1-f))yjb+x (1-f) (MIR) est valide pour X Avec fj=aj-aj, f=b-b parties fractionnaires de aj, b Exercice: Soit 10/3y1+y2+11/4y321/2+x avec yjZ+ et x0 Calculer l’inégalité MIR

Comparaison avec les coupes de Chvatal Soit X={yZn+ : jajyjb} Coupe de Chvatal : j(ajyjb Inégalité MIR : j(aj+(fj-f)+ (1-f))yjb L’inégalité MIR « domine » la coupe de Chvatal car les coefficients du membre gauche sont supérieurs ou égaux à ceux de la coupe de Chvatal et yj0: aj+(fj-f)+ (1-f)  aj L’inconvénient est que les coefficients sont fractionnaires Exercice: Soit 10/4y1-6,5y2+8/3y3+y413/3 avec yjZ+ Comparer les deux coupes

Exercice 1

Exercice 2: extension de l’inégalité de base Soit X={(x+,x ,y)R+R+Z : y+xb+x+, x≤c} avec c entier≥0 Montrer en utilisant l’inégalité de base que: y+(x-cf)/(1-f)b+x+(1-f) est valide pour X Avec f=b-b partie fractionnaire de b Noter que x-cf n’est pas forcément négatif Soit y+x2,5 avec yZ et 0≤x≤3 Calculer l’inégalité valide correspondante. Faire une représentation graphique de la coupe.

Bibliographie : Nemhauser G.L., Wolsey L.A. (1988) Integer and Combinatorial Optimization. John Wiley & Sons, New York Wolsey, L. A. (1998) Integer Programming, John Wiley & Sons, New York