La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Programmation linéaire, polarité et lancer de rayons (la programmation linéaire autrement) Yan Gerard LAIC (Université d’Auvergne)

Présentations similaires


Présentation au sujet: "Programmation linéaire, polarité et lancer de rayons (la programmation linéaire autrement) Yan Gerard LAIC (Université d’Auvergne)"— Transcription de la présentation:

1 Programmation linéaire, polarité et lancer de rayons (la programmation linéaire autrement) Yan Gerard LAIC (Université d’Auvergne)

2 Une escroquerie Un imposteur: Une escroquerie : Vous vendre la théorie bien connue de la Programmation Linéaire sous une forme différente (ni expert en Programmation Linéaire ni expert en Géométrie Algorithmique) Y.G (plus géométrique)

3 Escroc sans le savoir ? Reconnaissance de morceaux de plans discrets Données: une partie finie S de Z 3 Réponse à la question: S appartient-elle à un plan discret ? = ?

4 = ? Escroquerie: vendre la Programmation Linéaire sous une forme méconnaissable… Escroc sans le savoir ?

5 A) Programmation Linéaire Plan de l’exposé 1 Introduction 2 Lemme de Farkas 3 Géométrie des solutions B) Lancer de Rayon 4 Problèmes de Lancer de Rayon 5 Algorithmes de Lancer de Rayon

6 A) Programmation Linéaire 1 Introduction 2 Lemme de Farkas 3 Géométrie des solutions

7 1 Introduction

8 1.1 Bref rappel: Qu’est-ce qu’un programme linéaire ? L’objectif de la programmation linéaire est de résoudre des systèmes d’inégalités linéaires 2 x x x 3 ≤ 6 et de trouver une solution x Є R d (si il en existe) pour laquelle une forme linéaire donnée c.x (c Є R d ) ait une valeur maximale. Exemple : 1 x x 3 ≤ 4 4 x 1 + x 3 ≤ -5 - x 1 +2 x 2 + x 3 ≤ x 2 ≤ 0 Exemple :Maximiser x x 2 1 Introduction

9 Données :- Des inégalités linéaires dans R d a 1 x 1 +a 2 x 2 +…+ a j x j +…+a d x d ≤ a d+1 - Une forme linéaire de R d c.x où c Є R d (non nul) Questions : Existe-t-il une solutions aux inégalités? Si oui, trouver une solution telle que c.x soit maximal Si un programme linéaire a des solutions, il est dit réalisable. Vocabulaire: Un programme linéaire est donc un problème d’optimisation de la forme suivante: Algorithmes de résolution: simplex (Dantzig 1947), l’ellipsoïde (Khachiyan 1979) – polynomial - points intérieurs (Kamarkar 1984) …

10 1.2 Une inégalité linéaire ≈ un point 2 x x x 3 ≤ 6 Exemple : 1 x x 3 ≤ 4 4 x 1 + x 3 ≤ -5 - x 1 +2 x 2 + x 3 ≤ x 2 ≤ 0 (2,- 3, 4, 6) (1, 0, -2, 4) (0, 4, 1, -5) (-1, 2, 1,-1) (0,- 3, 0, 0) On formalise l’identification inégalité linéaire/point en introduisant la relation binaire # : Soient a Є R d+1 et b Є R d, la relation a # b est satisfaite a 1 b 1 +a 2 b 2 +…+ a j b j +…+a d b d ≤ a d+1 Notation: Exemple : L’inégalité linéaire 2 x x x 3 ≤ 6 est notée (2, -3, 4, 6) # x L’inégalité linéairea 1 x 1 +a 2 x 2 +…+ a j x j +…+a d x d ≤ a d+1 se note donc simplement a # x où a Є R d+1.

11 1.3 Les demi-droites True et False Il y a certains points a Є R d+1 pour lesquels l’inégalité linéaire a # x a la propriété d’être toujours vraie ou toujours fausse, indépendamment du point x Є R d considéré. Prenons le point (0,0,…,0,1) Є R d+1, l’inégalité linéaire (0,0,…,0,1) # x est 0 x 1 +0 x 2 +…+ 0 x j +…+0 x d ≤ 1 soit 0 ≤ 1 Elle est toujours vraie. Cette propriété s’étend à tous les points a Є R d+1 dont les d premières coordonnées sont nulles et la dernière a d+1 est positive (a d+1 ≥ 0). La demi-droite True

12 Prenons le point (0,0,…,0,1) Є R d+1, l’inégalité linéaire (0,0,…,0,1) # x est 0 x 1 +0 x 2 +…+ 0 x j +…+0 x d ≤ 1 soit 0 ≤ 1 Elle est toujours vraie. Cette propriété s’étend à tous les points a Є R d+1 dont les d premières coordonnées sont nulles et la dernière a d+1 est positive (a d+1 ≥ 0). La demi-droite True

13 Par construction, l’inégalité a # x est toujours vraie ssi a Є True. Il s’agit de la demi-droite [O,x d+1 [ qu’on notera désormais True. Prenons le point (0,0,…,0,1) Є R d+1, l’inégalité linéaire (0,0,…,0,1) # x est 0 x 1 +0 x 2 +…+ 0 x j +…+0 x d ≤ 1 soit 0 ≤ 1 Elle est toujours vraie. Cette propriété s’étend à tous les points a Є R d+1 dont les d premières coordonnées sont nulles et la dernière a d+1 est positive (a d+1 ≥ 0). La demi-droite True

14 On s’intéresse aux inéquations linéaires qui sont toujours fausses: Prenons par exemple l’inéquation linéaire (0,0,…,0,-1) # x. 0 x 1 +0 x 2 +…+ 0 x j +…+0 x d ≤ -1 soit 0 ≤ -1 Elle s’écrit D’une manière générale, l’inéquation a # x est toujours fausse ( indépendamment de x ) ssi a est dans la demi droite Є ]O, - x d+1 [. Cette demi-droite (ouverte) est appelée False. La demi-droite False

15 1.4 Un système d’inégalités linéaires ≈ un ensemble de points La relation binaire # définie sur les paires de points s’étend facilement aux paires d’ensembles de points soient A C R d+1 et B C R d, la relation A # B est satisfaite si et seulement si pour tout élément a Є A et b Є B, on a a # b. Le système d’inégalités linéaires se note simplement A # x où A est une partie de R d+1. a 1,1 x 1 +a 1,2 x 2 +…+ a 1,j x j +…+a 1,d x d ≤ a 1,d+1 a 2,1 x 1 +a 2,2 x 2 +…+ a 2,j x j +…+a 2,d x d ≤ a 2,d+1 a i,1 x 1 +a i,2 x 2 +…+ a i,j x j +…+a i,d x d ≤ a i,d+1 a n,1 x 1 +a n,2 x 2 +…+ a n,j x j +…+a n,d x d ≤ a n,d+1 … …

16 Le système d’inégalités linéaires se note simplement A # x où A est une partie de R d+1. a 1,1 x 1 +a 1,2 x 2 +…+ a 1,j x j +…+a 1,d x d ≤ a 1,d+1 a 2,1 x 1 +a 2,2 x 2 +…+ a 2,j x j +…+a 2,d x d ≤ a 2,d+1 a i,1 x 1 +a i,2 x 2 +…+ a i,j x j +…+a i,d x d ≤ a i,d+1 a n,1 x 1 +a n,2 x 2 +…+ a n,j x j +…+a n,d x d ≤ a n,d+1 … …

17 Le système d’inégalités linéaires se note simplement A # x où A est une partie de R d+1. a 1,1 x 1 +a 1,2 x 2 +…+ a 1,j x j +…+a 1,d x d ≤ a 1,d+1 a 2,1 x 1 +a 2,2 x 2 +…+ a 2,j x j +…+a 2,d x d ≤ a 2,d+1 a i,1 x 1 +a i,2 x 2 +…+ a i,j x j +…+a i,d x d ≤ a i,d+1 a n,1 x 1 +a n,2 x 2 +…+ a n,j x j +…+a n,d x d ≤ a n,d+1 … … 2 x x x 3 ≤ 6 Exemple : 1 x x 3 ≤ 4 4 x 1 + x 3 ≤ -5 - x 1 +2 x 2 + x 3 ≤ x 2 ≤ 0 Le système d’inégalités linéaires se note simplement A # x où A = { (2,-3,4,6), (0,-3,0,0), (1,0,-2,4), (0,4,1,-5), (-1,2,1,-1) }.

18 2 x x x 3 ≤ 6 Exemple : 1 x x 3 ≤ 4 4 x 1 + x 3 ≤ -5 - x 1 +2 x 2 + x 3 ≤ x 2 ≤ 0 Le système d’inégalités linéaires se note simplement A # x où A = { (2,-3,4,6), (0,-3,0,0), (1,0,-2,4), (0,4,1,-5), (-1,2,1,-1) }.

19 A est un ensemble de points. Le fait que le système d’inégalités linéaires A # x soit ou non réalisable a-t-il une interprétation géométrique sur A ? 2 x x x 3 ≤ 6 Exemple : 1 x x 3 ≤ 4 4 x 1 + x 3 ≤ -5 - x 1 +2 x 2 + x 3 ≤ x 2 ≤ 0 Le système d’inégalités linéaires se note simplement A # x où A = { (2,-3,4,6), (0,-3,0,0), (1,0,-2,4), (0,4,1,-5), (-1,2,1,-1) }. Peut-on caractériser géométriquement les ensembles A dont le système d’inégalités linéaires A # x est réalisable ?

20

21 2 Lemme de Farkas En Programmation Linéaire, les lemmes qui caractérisent les systèmes d’inégalités linéaires réalisables sont appelés lemmes de Farkas. Un système d’inégalités linéaires est réalisable si et seulement si aucune combinaison linéaire à coefficients positifs des inégalités n’est aberrante ( 0 ≤ -1 ). 2.1 Lemme de Farkas standard Peut-on caractériser géométriquement les ensembles A dont le système d’inégalités linéaires A # x est réalisable ?

22 2.2 Hauteur dans R d+1 On considère que la coordonnée verticale est la dernière: x d+1 On prend l’intersection de l’enveloppe convexe de A et de l’axe vertical Ox d+1. - Si l’intersection est vide, par convention la hauteur de A est +∞ - Sinon, c’est la borne inférieure des coordonnées x d+1 des points de l’intersection.

23 2.3 Lemme de Farkas géométrique Le système A # x (où A est une partie de R d+1 ) est réalisable ssi la hauteur de A est positive ( hauteur(A) ≥ 0 ). hauteur(A)<0 hauteur(A) ≥ 0 A # x non réalisableA # x réalisable hauteur(A) ≥ 0 A # x réalisable Exemples :

24 On sait caractériser géométriquement les ensembles A dont le système d’inégalités linéaires A # x est réalisable. Y a-t-il une relation géométrique entre l’ensemble A et l’ensemble des solutions ? nouvelle question 2.3 Lemme de Farkas géométrique Le système A # x (où A est une partie de R d+1 ) est réalisable ssi la hauteur de A est positive ( hauteur(A) ≥ 0 ).

25 3 Géométrie des solutions 3.1 Remarque préliminaire L’ensemble A est une partie de R d+1. L’ensemble des solutions de A # x est une partie de R d. Comment relier géométriquement une partie de R d+1 à une partie de R d ? Il faut plonger R d dans R d Quel plongement de R d dans R d+1 ?

26

27 L’espace affine R d.L’espace affine R d+1. L’espace R d se plonge naturellement dans l’hyperplan x d+1 =0 de R d+1. On utilisera un autre plongement: L’espace R d se plonge dans l’hyperplan x d+1 =-1 de R d+1. Pourquoi l’hyperplan x d+1 =-1 ? Parce que si on considère une inégalité linéaire a # x : a 1 x 1 +a 2 x 2 +…+ a j x j +…+a d x d ≤ a d+1 avec a Є R d+1 et x Є R d, elle se réécrit simplement a.(x,-1) ≤ Quel plongement de R d dans R d+1 ?

28 x Є R d est solution de l’inégalité linéaire a # x ssi le produit scalaire de a et du plongement de x ((x,-1) Є R d+1 ) est négatif. En plongeant R d dans l’hyperplan x d+1 =-1 de R d+1 on a l’équivalence Soit a Є R d Quel plongement de R d dans R d+1 ? 3.3 Propriété du plongement de R d dans R d+1

29 x Є R d est solution du système d’inégalités A # x ssi le plongement de x a des produits scalaires négatifs avec tous les points de A. Soit a Є R d+1. Soit A C R d Propriété du plongement de R d dans R d Quel plongement de R d dans R d+1 ?

30 x Є R d est solution du système d’inégalités A # x ssi le plongement de x a des produits scalaires négatifs avec tous les points de A.

31 x Є R d est solution du système d’inégalités A # x ssi le plongement de x a des produits scalaires négatifs avec tous les points de A. Soit A C R d+1.Soit A C R d+1 et son enveloppe convexe conique Soit A C R d+1 et le plongement des solutions du système d’inégalités linéaires A # x. et b une solution du système linéaire A # x. Le bord de l’ensemble des solutions est donné par les faces du cône de A.

32 3.4 Polarité conique Définition analytique Le cône polaire d’une partie A de R d+1 est l’ensemble des points de R d+1 ayant un produit scalaire négatif avec tous les points de A : cône polaire(A)={x Є R d+1 / forall y Є A, x.y ≤ 0} Cône A Cône polaire de A

33 3.5 Polarité et solutions L’ensemble des solutions du système d’inégalités A # x est donné par l’intersection de l’hyperplan x d+1 =-1 et du cône polaire de A. Cône polaire de A Cône convexe engendré par A

34 3.6 Solution optimale On cherche maintenant une solution du système d’inégalités A # x telle que le produit scalaire c.x soit maximal (c Є R d ). La formulation duale du programme linéaire affirme que la solution est donnée par la face du cône rencontrée par le rayon vertical passant par (c,0) (ou (c,-1) ). Cône polaire de A Cône convexe engendré par A

35 On cherche maintenant une solution du système d’inégalités A # x telle que le produit scalaire c.x soit maximal (c Є R d ). Solution optimale La formulation duale du programme linéaire affirme que la solution est donnée par la face du cône rencontrée par le rayon vertical passant par (c,0) (ou (c,-1) ). 3.6 Solution optimale Cône polaire de A Cône convexe engendré par A

36 3.7 Point de vue conique La recherche de la solution optimale consiste à déterminer la face du cône convexe engendré par A qui est touchée par le rayon vertical passant par (c,0). C’est un problème de lancer de rayon sur un cône. Si on s’intéresse à la solution optimale, en quoi consiste son calcul ?

37 3.7 Point de vue sphérique Si on assimile géométrie conique et sphérique… La programmation linéaire consiste à déterminer la face de l’enveloppe convexe (sphérique) de A’ touchée par le rayon dans la direction c. C’est un problème de lancer de rayon dans la sphère.

38 3.8 Conclusion Géométriquement, la programmation linéaire est un problème de lancer de rayon sur un cône convexe engendré par un ensemble de points ou de façon équivalente, un problème de lancer de rayon sur l’enveloppe convexe (sphérique) d’un ensemble de points de la sphère. Quelle relation entre le problème de lancer de rayon dans la sphère S d et le problème posé dans R d. La programmation linéaire est un problème de lancer de rayon posé dans la sphère S d (de R d+1 ). nouvelle question

39 B) Lancer de Rayon 4 Problèmes de Lancer de Rayon 5 Algorithmes de Lancer de Rayon

40 4 Problèmes de Lancer de Rayon 4.1 Lancer de Rayon dans S d Données :- Une partie finie A de la sphère S d - Un demi-cercle C vertical allant de False à True. Questions : Le point False est-il dans l’enveloppe convexe de A ? Sinon, trouver la face de l’enveloppe convexe de A rencontrée par C.

41 4 Problèmes de Lancer de Rayon 4.2 Lancer de Rayon dans R d Données :- Une partie finie A de l’espace affine R d - Une droite orientée D. Question : Trouver la face de l’enveloppe convexe de A rencontrée par D.

42 Quelle relation entre le problème de lancer de rayon dans la sphère S d et le problème posé dans R d ? Et l’inverse ? 4.3 De l’espace R d à la sphère S d Le problème dans R d se projette facilement dans S d.

43 Il faut avoir un plan de projection sur lequel se projettent tous les points de la partie de la sphère. Et l’inverse ? 4.4 De la sphère S d à l’espace R d ?

44 Il faut avoir un plan de projection sur lequel se projettent tous les points de la partie de la sphère. 4.4 De la sphère S d à l’espace R d ? autrement dit un plan qui sépare l’origine de l’ensemble A. Pour trouver un tel plan on peut faire un lancer de rayon sur l’ensemble A en tant que partie de R d+1 (un rayon partant de l’origine et dirigé par exemple vers le barycentre de A).

45 4.5 Synthèse Lancer de rayon dans S d Lancer de rayon dans R d Lancer de rayon dans R d+1 Réduction

46 5 Algorithmes de Lancer de Rayon 4 algorithmes de Lancer de Rayon dans R d - Simplex - QuickFace - SpherePush - Megiddo (d=2)

47 Données :une partie finie A de R d et une droite orientée D Résultat :le premier simplex à sommets dans A rencontré par D

48 5.1 Simplex Initialisation une (d-1)-face de l’enveloppe convexe de A Routine Pivot autour d’une (d-2)-arête (Gift-Wrapping)

49 5.2 QuickFace Initialisationun (d-1)-simplex de A qui coupe DRoutine calcul de la normale au (d-1)-simplex orienté vers D calcul du point extrémal dans cette direction calcul de la face entrante du d-simplex

50 5.2 QuickFace Quelques résultats expérimentaux (Stage recherche M1 –Christian Franco) Caractéristiques du problème (LP) QuickFace C-plex (points intérieurs) 2400 contraintes 100 variables 2.5 s15 s 2400 contraintes 200 variables 8.5 s156 s 2400 contraintes 300 variables 17 s702 s 2400 contraintes 400 variables 28,2 s1880 s Sensibilité exponentielle à la dimension ?

51 5.3 Megiddo (2D) Étape 1 On apparie les points de A (de façon quelconque)

52 5.3 Megiddo (2D) Étape 2 On reporte les cordes Étape 3On détermine une direction médiane (temps linéaire) On distingue 4 types de sommets (gauche et droite) On distingue 2 types de cordes

53 5.3 Megiddo (2D) Étape 3 De quel côté de D se trouve le point extrémal dans la direction médiane ? L’arête optimale (recherchée) ne peut pas être dans le domaine grisé La direction de l’arête optimale étant dans le domaine rose, elle ne peut avoir un sommet vert

54 Étape 4 On élimine les points verts (un quart des points) et on recommence 5.3 Megiddo (2D) (temps linéaire) …….

55 5.3 Megiddo (2D) L’algorithme de Megiddo est basé sur un appariement des points. Intérêt à faire des groupes de plus points ? (comme dans l’algorithme d’enveloppe convexe de Chan)

56 5.4 Sphere Push Initialisation une sphère contenant A Routine On exerce une pression selon la droite D 5.4 SpherePush

57 A chaque étape, SpherePush fournit un hyperplan extérieur à l’ensemble A qu’on pousse progressivement le long de D. Par dualité et en termes de programmation linéaire, SpherePush est donc un algorithme de points intérieurs. Peut-on comprendre par ce biais les algorithmes classiques de points intérieurs ?

58 5.5 Conclusion Lancer de Rayon dans S d Lancer de Rayon dans R d Lancer de Rayon dans R d+1 Réduction Les algorithmes de Programmation Linéaire peuvent s’interpréter géométriquement comme des algorithmes de Lancer de Rayon. Inversement, les algorithmes de Lancer de Rayon permettent de résoudre géométriquement des programmes linéaires. Devenir un escroc de la programmation linéaire, c’est facile…

59 Merci de votre attention…


Télécharger ppt "Programmation linéaire, polarité et lancer de rayons (la programmation linéaire autrement) Yan Gerard LAIC (Université d’Auvergne)"

Présentations similaires


Annonces Google