45
Introduction à l’Analyse Prescriptive M.-J. Huguet https://homepages.laas.fr/huguet 2018-2019 Organisation Intervenants : Marie-José Huguet Patrick Esquirol Mikael Capelle Mohamed Siala Evaluation : TP - Projet 2 Pré-requis : Logique, IA Graphes, Programmation Linéaire, Complexité, Méta-Heuristiques, Algorithmique

Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Introduction à l’Analyse Prescriptive

M.-J. Huguet

https://homepages.laas.fr/huguet

2018-2019

Organisation Intervenants : Marie-José Huguet Patrick Esquirol Mikael Capelle Mohamed Siala

Evaluation : TP - Projet

2

Pré-requis : Logique, IA Graphes, Programmation Linéaire, Complexité, Méta-Heuristiques, Algorithmique

Page 2: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Plan

1. Introduction

2. Optimisation sous Contraintes

3. Focus sur l’Optimisation Combinatoire

4. Du problème à la solution

5. Contexte des données massives

3

Section 1. Introduction

4

Page 3: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Des données Origines : Capteurs, Téléphones portables, Sites Web, ….

Types : Séries numériques, images, textes, vidéos, …

Accessibilité : De plus en plus de données « ouvertes » collectivités locales, gouvernement, …

Caractéristiques : Explosion de la quantité de données numériques produites Hétérogénéité des données Protection de la vie privée

5

Exploitation des données (1)

3 niveaux de « data analytics » Analyse descriptive (Descriptive Analytics) Extraire des connaissances à partir des données

Que s’est-il passé ?

o Pourquoi y-a-t-il un bouchon ?

Analyse prédictive (Predictive Analytics) Construire des modèles pour prévoir le futur

Que va-t-il se passer ?

o Quel sera le trafic dans 1 heure ?

Analyse prescriptive (Prescriptive Analytics) Assister la prise de décision

Comment optimiser ?

o Quel est le meilleur itinéraire si je pars à 8:30 ?6

Voir UF du tronc commun

Mineure AP

Page 4: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Exploitation des données (2)

Analyse descriptive : Production d’indicateurs Comment les interpréter ? Lesquels choisir ? Comment les exploiter ?

Analyse prédictive : Construire des modèles pour prévoir le futur Comment agir sur une tendance prévue ?

Analyse prescriptive : Produire des optimisations Aide à la décision, Simulation,

Expert métier

o Exemples : systèmes de tarification, planification des transports et de la distribution, planification financière, allocation de ressources, …

7

Analyse prescriptive Très nombreuses applications : Villes intelligentes, Environnement, … Entreprises secteur industriel et services

Optimisation / Décision / Planification Intelligence Artificielle

Recherche arborescente, méta-heuristiques

Programmation par Contraintes, Satisfiabilité booléenne (SAT)

Recherche Opérationnelle Optimisation combinatoire

Programmation mathématique

8

Page 5: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

En savoir plus ROADEF : Société Française de Recherche Opérationnelle et d’Aide à la

Décision (ROAEF) ROADEF : http://www.roadef.org

AFIA Association Française pour l'Intelligence Artificielle (AFIA)

AFIA : http://afia.asso.fr/

Chercheurs / Enseignants Chercheurs / Industriels

Stages, emplois,

Conférences, Formations, Ressources, ….

Journées conjointes ROADEF/AFIA Apprentissage et Optimisation combinatoire

9

En savoir plus Mais aussi : Association Française pour la programmation par Contraintes (AFPC)

o http://www.afpc-asso.org/

GdR RO / GdR IA (CNRS) : Recherche : différents groupes de travail

http://gdrro.lip6.fr/

http://www.gdria.fr/

10

Page 6: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Exemple Gestion des vélo en libre service Trouver un vélo / Trouver une place dans une station Modèle d’utilisation des vélos Capteurs sur les vélos

Prévisions météo

Calendrier

Dimensionnement des stations

Planification des acheminements

Calcul d’itinéraires

Aménagements cyclables

11http://data2b.net/

Exemple Optimisation des consommation énergétiques Prévision des besoins Sources énergétiques Météo

Planifier l’utilisation de l’énergie

12

Page 7: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Section 2. Optimisation sous Contraintes

13

Modélisation : Problème , , , : : ensemble des variables du problème : domaine des variables A chaque variable → : les valeurs pouvant être prises par

: contraintes du problème Relations entre les variables : restreindre les valeurs possibles

: → : fonction Objectif

Résoudre le problème , , , : Instancier chaque variable par une valeur tel que :

Toutes les contraintes sont respectées

La fonction soit minimisée / maximisée14

Page 8: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Classification (partielle) de problèmes ∅ : pas de contraintes Problèmes d’Optimisation

∅ : pas d’objectif Problèmes de Décision / Satisfaction de Contraintes

: domaines énumérables (discrets) Problèmes Combinatoires

linéaire, inéquations linéaires : Problèmes d’optimisation linéaire (Programmation Linéaire / PL)

: Problèmes d’optimisation linéaire en nombres entiers (PLNE)

0,1 : Problèmes d’optimisation linéaire en variables binaires

15

Focus sur problèmes combinatoires

Problèmes d’optimisation combinatoire

Types de problèmes Planifier, Ordonnancer, Allouer (Planning, Scheduling, Allocation)

Transporter (Routing,Transportation) Traveling Salesman Problem, Vehicle Routing Problem, …

Découpe et Empilement (Cutting, Packing) Knapsack, Bin packing, …

Objectifs usuels Temps, Argent, Quantité

Equilibrage, Qualité de service, sécurité, environnement, …

Robustesse, …

16

Page 9: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Complexité Quelques problèmes de complexité polynomiale :

Problèmes de programmation linéaire

Problèmes d’affectation / couplage maximal

Problèmes 2-SAT

Graphes : plus courts chemins, connexité, arbres couvrants, flot max, …

Beaucoup sont NP-difficiles : Graphes : Voyageur de Commerce, Coloriage, Clique, …

3-SAT,

….

17

Exemple (1) Problème de Voyageur de Commerce Traveling Salesman Problem (TSP) Trouver un circuit de cout minimal passant une fois et une seule par tous les

sommets d’un graphe Complexité : NP-difficile

Problème standard Matrice de distance connue

Contexte « dynamique » Le cout de chaque trajet dépend des horaires

Time-dependent Shortest Path

o Impact complexité (FIFO – non FIFO)

18

Page 10: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Explosion combinatoire Exemple : nombre de solutions d’un TSP ! possbilités Méthode « Brute Force »

19Univers : 14 E+09 ans

Processeur 3 GHz 3 instructions par nano seconde

10 villes 1/100s

15 villes 1 heure

19 villes 1 an

27 villes 8x âge Univers

Processeur plus rapide 1 instruction /temps de Planck (5.39 10 )s

10 villes -

15 villes -

19 villes -

27 villes -

35 villes 5/100s

40 villes 12h

50 villes 400x âge Univers

Et en pratique … Certaines instances de problèmes NP-difficiles peuvent être résolues

rapidement Impact du taux de contraintes

Transition de phase

Certains problèmes NP-difficile peuvent avoir des cas particuliers de complexité polynomiale

Certains problèmes NP-difficiles sont approximables en temps polynomial avec garantie de performances / qualité solution

Exploration intelligente de l’espace de recherche de solutions Maitriser l’explosion combinatoire méthodes exactes / complètes

Contourner l’explosion combinatoire méthodes approchées / incomplètes

20

Page 11: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Section 3. Focus Optimisation Combinatoire

21

Cadres de Modélisation Problème , , , : Hypothèse : domaines énumérables (discrets)

3 grands cadres de modélisation et de résolution SAT Satisfiabilité booléenne

PLNE Programmation Linéaire en Nombres Entiers (PLNE)

Contraintes Constraint Satisfaction Problem (CSP)

22

Page 12: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Modèle SAT (1)

Raisonnement logique (Cours 4IR-Info)

Problème N variables booléennes M clauses Une clause = disjonction de littéraux Problème = conjonction de clauses Pas de fonction objectif

Exemple :

23

Modèle SAT (2)

Solution Une clause est satisfaite : au moins 1 littéral est VRAI Le problème est satisfait : toutes les clauses sont satisfaites

Exemple :

est satisfait avec les affectations :

Exemple : n’est pas satisfiable

SAT : problème NP-Complet (Cours 3MIC-Info)

24

Page 13: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Modèle PLNE (1)

Cadre de la Prog Linéaire (Cours 3MIC-Info) avec variables entières

Programmation Linéaire en Nombres Entiers Variables entières Contraintes : combinaisons linéaires de variables Objectif : combinaison linéaire de variables

Solution : affectation des variables minimisant l’objectif

25

Contraintes d’intégrité

Modèle PLNE (2)

Prog Linéaire (var. continues) Complexité : problème « facile » Existence d’un algo polynomial

Prog. Linéaire en variables entières Complexité : problèmes NP-difficiles Réduction (complexité linéaire) de toute instance

SAT en une instance de PLNE en variables 0/1

Illustration

Programmation Linéaire en variables 0-1 Programmation Linéaire en variables mixtes

26

Page 14: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Modèle CSP (1)

Constraint Satisfaction Problem Variables quelconques à domaines finis

(discrets) (continus)

Contraintes : quelconques en intension ou en extension

Solution : instanciation des variables

Complexité NP Complet : généralisation SAT

27

Modèle CSP (2)

Exemple

Objectif Quelconque Problème de décision ou d’optimisation

28

Page 15: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Modèle CSP (3)

CP : Constraint Programming Méthodes et Outils pour Modélisation :

Spécifier un problème dans un langage déclaratif

Résolution : Comment résoudre un problème

Méthodes par défaut

(CP PPC = Programmation par Contraintes)

29Ref cours – P. Flener– Summer School ACP-RO, 2017

Bilan sur les cadres de modélisation

Nature des domaines SAT : booléen / PLNE : entiers / CSP : quelconques mais finis

Contraintes SAT : clauses / PLNE : combinaison linéaire / CSP : quelconques

Objectif SAT : non / PLNE : oui / CSP : (oui, non)

Solution : affectation de valeurs aux variables

Problèmes NP-Complet Equivalent en termes de complexité

Pour un problème donné modèles non équivalents dans les 3 formalismes

efficacité pratique des méthodes différentes

30

Etude de ces 3 cadres dans la suite de l’UF

Page 16: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Résolution (1)

Espace de recherche des solutions : Ensemble de solutions (alternatives) : produit cartésien des domaines Taille de l’ensemble des solutions : …

Ensemble de solutions admissibles : Une solution ← , ∈ et satisfaites

Taille de : dépend des contraintes (et des domaines)

Taille espace de recherche : explosion combinatoire

Différents buts : Une solution décision/satisfaction

Une solution optimale optimisation

Toutes les solutions

31

Résolution (2)

Problème de décision / problème d’optimisation Pb d’optimisation : Min sachant contraintes Pb de décision : existe-t-il solution s avec contrainte et ?

Problème de décision problème d’optimisation Résoudre pb de décision pour différentes valeur de k Exemple : pour la minimisation

S’il existe une solution pour une valeur k donnée

o Diminuer la valeur de k

Sinon

o Augmenter la valeur de k

Complexité problème optimisation = celle du problème de décision associé

32

Page 17: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Résolution (3)

Comment contenir l’explosion combinatoire ? Exploration intelligente de l’espace de recherche de solutions

Maitriser l’explosion combinatoire méthodes exactes / complètes

Contourner l’explosion combinatoire méthodes approchées / incomplètes

Méthode complète / incomplète (décision) fournit une solution si le pb est satisfiable et prouve l’absence de solution si le pb

est insatisfiable

Méthode exacte / approchée (optimisation) fournit une solution dont l’optimalité est prouvée

Méthode approchées / incomplètes Heuristique

Méta-heuristique33

Vues en 4e-IR Info

Résolution (4)

Base des méthodes exactes / complètes Recherche arborescentes Pour les 3 cadres de modélisation (SAT, PLNE, CSP)

But : Maitriser l’explosion combinatoire

Principes généraux Décomposition en sous problèmes

Elagages

34

Page 18: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Résolution (4)

Base des méthodes exactes/complètes Recherche arborescente (SAT, PLNE, CSP) But : Maitriser explosion combinatoire

Principe recherche arborescente Séparer (Branch) :

Structurer l’exploration

Décomposer en sous problèmes disjoints de taille restreinte

Heuristiques de choix de variables et de choix de valeur

Elaguer : (Bound) Calcul de bornes / Objectif

(Propagate/Filtering) Propager pour réduire les domaines

35

P

P1 P2

P11 P12 P13

Résolution (5)

Principe des méthodes arborescentes Si une solution est obtenue pour un sous problème Arrêt de la décomposition

Si , , - Problème de satisfaction a une solution ssi ou ont une solution

Si une solution est obtenue pour : arrêt ( non considéré)

Si , , , - Problème d’optimisation (min) Opt ,

36

P

P1 P2

P11 P12 P13

Page 19: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Résolution (6)

Composition d’une recherche arborescente : Méthode de décomposition Comment séparer en sous-problème ?

Stratégie d’exploration Comment parcourir les sous-problèmes ? (profondeur, largeur,..)

Méthode d’élagage (coupe) : Peut-on éliminer des parties de l’arborescence ?

Evaluation Nombre de nœuds explorés Profondeur / Hauteur

37

Résolution (7)

Exemple de méthodes Algorithme DPLL (vu en 4e année – Prog Logique) Instanciation progressive de variables (ordre de parcours)

Elagage de l’arborescence (simplifier les clauses)

Retour arrière chronologique en cas d’échec

Algorithme A* (vu en 4e année – IA) Recherche d’un chemin dans des graphes d’états

Recherche guidée par fonction d’évaluation

38

Page 20: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Logiciels

SAT https://satcompetition.org/

PLNE Cplex, Gurobi, FicoXpress (Artelys) , … Scip, OR-Tools (google), Coin-OR AMPL, …

CP https://en.wikipedia.org/wiki/Constraint_programming CP Optimizer, … Choco, Gecode, Oscar, Comet, MiniZinc

39

Section 4. Illustration méthodes arborescentes

40

Page 21: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Cadre SAT – Recherche arborescente (1)

SAT Variables Booléennes : , ∈ 1,

Contraintes sous forme de clauses

Décomposition Sélectionner une variable : SP1 : ← et SP2 : ←

Taille arborescence Profondeur max = nombre de variable

Taille max : ∑ 2 2

Stratégie de parcours En profondeur d’abord

41

Cadre SAT – Recherche arborescente (2)

Algo DPLL (Davis-Putnam-Logemann–Loveland) Choisir un littéral et lui affecter une valeur (true ou false)

Si test cohérence == true passer au littéral suivant

Sinon Retour arrière

Arrêt Toutes les variables sont instanciées (une solution)

Incohérence du problème

Pb satisfiable : toutes les variables sont affectées sans détecter d’incohérence

Pb insatisfiable : explorer toute l’arborescence

42

Page 22: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Cadre SAT – Recherche arborescente (3)

Retour arrière De manière chronologique

Après chaque affectation ← (resp. ← ) Réduire les clauses

Éliminer les clauses contenant (resp. )

Eliminer des clauses le contenant (resp. )

Choix du littéral stratégie de branchement Impact sur la taille de l’arborescence

43

Cadre SAT – Recherche arborescente (4)

Exemple : ∨ ∨ ∧ ∨ ∨ Développer l’arborescence obtenue par l’algorithme DPLL Cas 1 : choisir puis puis ; valeur true en premier

Cas 2 : choisir puis puis

44

Page 23: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Cadre SAT – Recherche arborescente (5)

Améliorations Apparition de clauses unaires : fixer la valeur des variables présentes dans

une clause unaire (Propagation unaire) Les variables des clauses unaires sont sélectionnées en priorité pour le

branchement

Effet en cascade de réduction de clauses

Elimination de littéraux purs Littéral n’ayant qu’une seule forme dans toutes les clauses

Fixer la valeur du littéral (dans la stratégie de branchement)

Effet en cascade

45

Cadre SAT – Recherche arborescente (6)

Approfondissement Heuristiques de branchement efficaces Structures de données pour propager les clauses unaires efficacement Backjumping (retour arrière non chronologique) Inférer une clause expliquant l’incohérence

Revenir sur une instanciation source de l’incohérence

Apprentissage de clauses La clause inférée peut être ajoutée à l’ensemble des clauses du problème pour ne

pas reproduire l’échec

Restart Stopper l’exploration et la relancer

Ajouter de l’aléatoire dans l’heuristique de branchement

46

Page 24: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Cadre CSP – Recherche arborescente (1)

CSP Variables à domaines finis

Décomposition Pour chaque variable prise successivement

Décomposer en fonction des valeurs de cette variable

Arrêt toutes les variables ont une valeur (une solution)

47

P

X1 a X1 b

X2 a X2 b X2 c

X1 X1

X2X2

X2

Cadre CSP – Recherche arborescente (2)

Taille de l’arborescence CSP

Variables

Domaines

Taille max des domaines :

Taille arborescence

Stratégie de parcours : Profondeur d’abord

48

Page 25: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Cadre CSP – Recherche arborescente (3)

Algorithme : Choisir une variable

Lui affecter une valeur : ← Si test cohérence == true

passer à la variable suivante

Sinon Retour arrière

Arrêt Toutes les variables sont instanciées (une solution)

Incohérence du problème

Mécanisme de retour-arrière Backtrack Affecter une autre valeur à la variable : ← ’ Revenir à la variable précédente (chronologique)

49

BACKTRACK CHRONOLOGIQUE

Cadre CSP – Recherche arborescente (4)

Test de cohérence après instanciation Vérifier les contraintes liant aux variables précédentes

BACKWARD CHECKING

Retirer du domaine des variables reliées à la variable par une contrainte, toutes les valeurs ne satisfaisant pas la contrainte (Filtrage)

Si un domaine devient vide : incohérence FORWARD CHECKING

Autre : filtrage plus poussé (ex. arc-cohérence)

Impact important sur l’efficacité de la méthode

50

Page 26: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Cadre CSP – Recherche arborescente (5)

Stratégie de parcours (suite) Profondeur d’abord Ordre sur les variables Ordre sur les valeurs

Heuristiques d’instanciation statiques / dynamiques Heuristiques d’instanciation dédiées / génériques

Impact important sur l’efficacité de la méthode

51

Heuristique d’instanciation

Cadre CSP – Recherche arborescente (6)

Exemple

On recherche toutes les solutions de ce CSP Donner l’arborescence obtenu avec l’algo de Backtrack Chronologique

utilisant le Forward Checking Cas 1. Heuristique statique : ordre lexicographique sur les variables et les valeurs

Cas 2. Heuristique dynamique : Variable de plus petit domaine en priorité et ordre lexicographique sur les valeurs

52

Page 27: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Cadre CSP – Recherche arborescente (7)

Améliorations Techniques de propagation Compromis niveau de propagation / recherche

Heuristiques d’instanciation Heuristiques dédiées ou génériques

Backjumping Effectuer retour-arrière sur une variable cause de l’incohérence

Nogood recording Mémoriser les instanciations sources d’incohérence

Restart

53

Cadre PLNE– Recherche arborescente (1)

PLNE Variables entières Contraintes linéaires et Objectif linéaire

Recherche arborescente Nœud = un état du problème (espace de solutions) Arc = un changement d’état

Décomposition Séparation de l’espace des solutions

Evaluation des espaces de solutions Pour éliminer des espaces de solution

54

Branch and Bound

Page 28: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Cadre PLNE– Recherche arborescente (2)

On veut résoudre

Soit l’espace des solution Partitionner deux ensembles et

Alors l’optimum

Si alors ne pas poursuivre l’exploration de

55

Cadre PLNE– Recherche arborescente (3)

Evaluation Rôle clé dans un Branch and Bound

Principe pour un problème de maximisation Évaluation par borne supérieure: évaluation de la meilleure solution

possible

Quelle fonction d’évaluation ? Toute borne supérieure.

Par exemple la relaxation continue (obtention d’un PL)

56

Page 29: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Cadre PLNE– Recherche arborescente (4)

Développement de l’arborescence Obtention d’un nœud

Si = 1 solution alors la mémoriser si elle améliore la solution courante

Si = pas de solution admissible alors éliminer

Si < solution courante alors ne pas le mémoriser

Sinon mémoriser dans l’ensemble des nœuds dont il faut poursuivre l’exploration

Dans quel ordre poursuivre la décomposition ?

57

Cadre PLNE– Recherche arborescente (5)

Ordre d’exploration des nœuds Le dernier crée profondeur d’abord Privilégie l’obtention rapide d’une solution même de mauvaise qualité

Celui de meilleure évaluation largeur d’abord Limite la taille de l’arborescence

Séparation Choisir une variable et séparer par rapport à sa valeur non entière obtenue

lors de la résolution du PL Variable la plus contrainte, …

58

Page 30: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Cadre PLNE– Recherche arborescente (6)

Exemple

Evaluer le PL àchaque nœud

59

S z=17.67

x1=1.55; x2=4.03

S1z=15.67

x1=1; x2=3.67

S2z=17

x1=2; x2=3.75

S5z=13

x1=1; x2=3

S6Incohérence

X1<= 1 X1 >= 2

X3<= 3X2 <= 3

X2 >=4 S4Incohérence

S3z=15.2

x1=3.2; x2=3

X3>= 4

S7z=15

x1=3; x2=3

X1<= 3 X1 >= 4

S8Incohérence

Cadre PLNE– Recherche arborescente (7)

Améliorations du Branch & Bound Coupes Branch and Cut

Décomposition des contraintes Génération de colonnes

Branch and Price

60

Page 31: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Bilan méthodes arborescentes

Méthodes complètes / exactes Garantie d’optimalité Garantie d’absence de solutions

Mécanismes similaires dans les différents formalismes Heuristiques de branchement Stratégie de parcours

Spécificité en optimisation Estimation/Borne pour élaguer des parties de l’espace de recherche

61

Exercice – Recherche arborescente (1)

Développer un Branch and Bound Application : problème de voyageur de commerce (TSP) à 5 villes

Partir de A Séparation : Choisir arc de plus petit cout

Evaluation somme des n arcs de plus petits couts

62

A B C D EA X 1 7 3 14B 3 X 6 9 1C 6 14 X 3 7D 2 3 5 X 9E 15 7 11 2 X

Page 32: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Exercice – Recherche arborescente (2)

Lien avec Algorithme A* (cours 4IR) Recherche dans des graphes d’états Etat initial

Etats Finaux

Opérateurs de changement d’état

But : découvrir un chemin de l’état initial vers un état final à cout minimal

Recherche ordonnée Utilisation d’une fonction heuristique sur les nœuds

Fonction d’évaluation

63

Exercice – Recherche arborescente (3)

Algorithme A* Recherche ordonnée « de type A » La fonction heuristique au nœud x dépend de 2 sous fonctions

g(x) = Cout réel de l’état initial vers x

h(x) =Cout estimé de x vers un état final

Recherche ordonnée A* Le cout estimé h(x) est un minorant du cout réel

64

Page 33: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Exercice – Recherche arborescente (4)

Dérouler l’algorithme A* sur le problème de TSP précédent

Etat initial : une ville X

Etats Finaux : toute séquence X*X

Changement d’état : ajouter une ville dans la séquence

Fonctions d’évaluation g(X*Y) = cout depuis X jusqu’à Y

h(X*Y) = estimation du trajet restant depuis Y

o Nb arcs restants * cout minimal des arcs possibles restants

o Somme des p arcs de plus petits couts s’il manque p arcs

65

Section 4. Du problème à la solution

66

Page 34: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Différentes étapes (1)1. Etude du problème

Entrées, Sorties, Relations

Complexité théorique

Construire un modèle

Déterminer une méthode de résolution adaptée

2. Conception de l’algorithme Propriétés (complexité, terminaison,

correction)

Retour en 1 si besoin

3. Développement de l’algo Propriétés (terminaison, correction)

Est-ce que le code fonctionne et produit les résultats attendus ?

Ex : vérificateur solution 67

Méthodes et outils : Complexité des algorithmes et des

problèmes (3MIC)Preuve de programmes (non vu dans la

formation)

Attention : un test peut montrer l’absence d’une propriétéLe test ne peut pas prouver la terminaison et la

correction (sauf si on peut énumérer toutes les entrées et

les tester toutes ….)

Différentes étapes (2)4. Préparation évaluation expérimentale

Conception de l’expérimentation : indicateurs, jeux de test, protocole, …

Mise en place d’un environnement de tests : infrastructure, scripts,

5. Réalisation de l’expérimentation Lancer l’exécution des scripts et collecter les résultats

Analyser les résultats

Retour étapes 1, 2 ou 3 si besoin

6. Amélioration de l’algorithme / du code Optimisation du code / de l’algorithme

Retour étape 5 si besoin

68

Focus sur évaluation expérimentale

Page 35: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Evaluation expérimentale : Evaluation des performances

Métrique de performance : critères à évaluer (durée d’exécution, qualité des solution, occupation mémoire, occupation bande passante, ….)

Indicateurs de performance : quantité mesurée pour évaluer une métrique Ex : temps CPU pour évaluer la durée d’exécution

Paramètres : élément qui a un impact sur la valeur d’un indicateur Paramètres de l’algorithme

Paramètres de l’instance (taille, caractéristique, …)

Paramètres de l’environnement (Processeur, Compilateur, OS, …)

69

Métriques et Indicateurs de performance Principales métriques

Qualité de la solution

Durée de l’exécution

Consommation mémoire

Dépendance entre ces métriques Consommation Bande Passante (algo répartis)

Calcul d’indicateurs de qualité Qualité solution :

Ecart (%) à la solution optimale ou à la meilleure solution connue

% d’exécution ayant atteint l’optimum (ou la meilleure solution connue)

Durée d’exécution : Nombre d’opérations caractéristiques

Temps CPU

70

Page 36: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Qualité d’une solution Ecart (%) à la solution optimale ou à la meilleure solution connue Soit une instance d’un problème de minimisation , , ,

représente la valeur optimale (minimale)

représente la valeur trouvée par une méthode

o C’est une borne supérieure de l’optimum (en minimisation)

o 100 / = écart (%) à la solution optimale

o L’écart à l’optimum est toujours positif

représente la meilleure valeur trouvée (référence …)

o 100 / = écart (%) à meilleure solution

o L’écart peut être positif ou négatif

représente une borne inférieure de l’optimum

o 100 / = écart (%) à une borne inférieure

71

Durée d’exécution Compter les opérations caractéristiques

Identification des opérations les plus fréquentes

Ajout d’un compteur

Indépendant / langage ou de l’OS mais pas toujours représentatif de la durée réelle

Mesurer le temps écoulé Temps réel : non fiable (impact de la charge)

Temps CPU : moyennement fiable

Bien analyser les résultats Impact de la charge en mémoire sur le temps

Quelques outils : time, gprof, getrusage()

72

Page 37: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Constitution d’un jeu de tests (1) Jeux de tests et nature des expérimentations

Programme correct

Evaluation des performances sur des cas réels Peut-on se comparer à des résultats antérieurs ?

Evaluation des performances dans le pire cas

Evaluation du passage à l’échelleo Jeux de tests aléatoires

Comparaison avec d’autres approches Jeux de tests existant (littérature)

Privilégier des jeux de tests homogènes (ou décomposables en classes homogènes) pour l’analyse des résultats

Privilégier des jeux de tests variés pour des résultats plus généraux73

Constitution d’un jeu de tests (2) Caractériser la difficulté d’une instance de test

Taille (ex : nb sommets et arcs d’un graphe)

Structure (ex: densité d’un graphe)

Taux de contraintes (Décision) Transition de phase

Caractéristique Espace des solutions (Optimisation) : paysage de recherche

Eliminer instances spécifiques (trop faciles ou trop difficiles)

Avoir des instances de difficulté variable74

Image– Cours C. Solnon – INSA Lyon, 2016

0

200

400

600

800

1000

1200

0 20 40 60 80 100 120

Page 38: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Analyse des résultats Techniques d’Analyse de données

Méthodes statistiques : Tests et analyses descriptives : pour valider ou invalider un hypothèse

Méthodes d’analyse exploratoire et de visualisation

Générer des données (résultats) faciles à analyser Mêmes jeux de tests pour toutes les expérimentations

Constitution de classes homogènes de jeux de test

Collecter et mémoriser toutes les données (résultats) pertinents

Normaliser les sorties des programmes

75

Cours Analyse Exploratoire et Visualisation de Données (5-SDBD)

Différents outils d’analyse

Campagne d’expérimentations (1) Conseils : Ne pas coder les paramètres de la méthode en dur

Lire dans un fichier ou passage d’arguments en ligne de commande

Utiliser un langage de script pour décrire les expérimentations Mémoriser tous les scripts (nature, date)

Organiser les expérimentations Plusieurs exécutions (scripts) indépendants

Organiser le stockage des résultats

Prévoir un script de lecture des résultats

o Tableaux de données brutes

76

Page 39: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Campagne d’expérimentations (2) But : obtenir des résultats intéressants et nouveaux

Caractéristiques Reproductibilité

Conserver toutes les spécificités (instances, paramètres, processeur, OS, ….)

Minimiser les dépendances …

Efficacité Automatiser le processus de lancement des expérimentations

Automatiser le processus d’analyse de données

Ne pas lancer d’expérimentations inutiles (cout en temps CPU et en temps de cerveau)

Mise à disposition du code avec machine virtuelle

77Ref. Section 4 :

Cours Christine Solnon – INSA Lyon (2016)C. McGeoch – A guide to experimental algorithmics, (2012, Cambridge Univ Press)

Section 5. Contexte des données massives

78

Page 40: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Impact des données (1) Problèmes déterministes Les données du modèle de décision/optimisation sont connues avant la

résolution

Décider en présence de données imprécises Certaines données sont obtenues à partir d’une analyse prédictive : au

moment de la prise de décision des données sont estimées Construction d’un modèle (prédictif) de ces données

Certaines données sont difficilement mesurables

La prise de décision s’effectue avec des données estimées (pour le calcul) L’application de la décision s’effectue sur des données différentes

79

Impact des données (2) Exemple : Ordonnancement sur 1 ressource

Problèmes : activités, date de fin de l’activité . ∑

Instance avec 4 activités de durée estimées : 23, 24, 25, 27

Ordonner par durée croissante. Solution obtenue : ∑ 241

Variation : 26 (+3); Solution ∑ 253 (+12)

Meilleure solution ∑ 250

80Adaptation cours – Christian Artigues– LAAS-CNRS, Master2 Recherche Opérationnelle, 2017

Page 41: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Exemples Taux de compression d’une image satellite variable

Présence ou non de nuages dans l’image compression différente

Temps de transfert satellite – sol dépend de la taille de l’image

Comment planifier les transferts ? Besoin d’anticiper un planning au sol (qualité de service, ….)

Données historique et Prévisions météorologiques

Plan d’acquisitions

Durée de trajet variable selon les horaires la circulation est plus ou moins fluide temps de trajets différents

Comment planifier l’organisation des trajets d’une flotte de véhicules ? Besoin d’anticiper un planning (fenêtre de collecte/livraison, temps de travail, …)

Données : historique des temps de trajets par tronçons,

capteurs sur les voies81

Approches de résolution (1) Retarder la prise de décision pour augmenter la fiabilité des données Décision « en ligne »

Parfois des besoins d’anticipation

Partage de la prise de décision Hors ligne : anticipation (données estimées/prévisionnelles)

En Ligne : adaptation (données mesurées)

Modifier la solution à partir des données réelles Pas toujours possible (ex : durée de trajet connue après sa réalisation)

82

Page 42: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Approches de résolution (2) Décision par horizon glissant

Contexte : décisions à appliquer dans la durée

Déterminer une solution pour un horizon de temps

Relancer la résolution par pas de temps pour intégrer de nouvelles données

Ex : plus court chemin par horizon glissant

83Adaptation cours – Christian Artigues, LAAS-CNRS – Master2 Recherche Opérationnelle, 2017

Approches de résolution (3) Optimisation Stochastique Les données varient selon des lois de probabilités Problème posé :

Déterminer des lois de probabilité représentant la variabilité des données

Prise de décision Données incertaines : variables aléatoires avec loi de probabilité

Minimisation de l’Espérance ( ) de la fonction objectif Hypothèses :

Lois de probabilités indépendantes

Composition de lois de probabilité

Passage à l’échelle

84

Page 43: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Exemple Ordonnancement sur 1 ressource Modélisation des durées des activités par des variables aléatoires

Objectif :Min ∑

Ordre des activités : plus petite durée espérée : 1 | 2 | 3 | 5

23,5; 24; 24,5; 25

Solution : ∑ 240

85

Approches de résolution (4) Optimisation Robuste Contexte : obtenir la décision la moins pire si le pire scénario se produit

Prise de décision : Modélisation de la variabilité des données :

Ensemble de scénarios et valeur des données pour chaque scénario

Données variant dans un intervalle de valeurs possibles

Objectif : minimiser la fonction objectif du pire scénario (minimax)

Passage à l’échelle : nombre de scénario

Le pire cas peut être sans intérêt pratique le plus mauvais taux de compression (jamais de nuages)

Autre objectif minimax et regret (absolu ou relatif)

86

Page 44: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Exemple Ordonnancement sur 1 ressource Modélisation des durées des activités par des intervalles

Scénario : Les combinaisons des valeurs bornes

Pire des cas : durée maximale de chaque activité 24, 27, 29, 45

Solution : ordre 1 | 2 | 3 | 4; ∑ 280

87

Illustration : Optimisation trajets Modèles prédictifs et optimisation Capteurs fournissant des informations de trafic (débit de véhicules, nombre

de véhicules) à intervalles réguliers Estimation de la vitesse pour chaque intervalle de temps

Modèles prédictifs : Vitesse prévisible chaque jour (régression linéaire, k-NN, …)

Regrouper les jours similaires (clustering) Vitesse médiane prévisible

Décision Optimiser les trajets des véhicules avec des durées de trajets dépendent des

horaires

Conséquence sur le problème d’optimisation Propriété FIFO et Plus court chemin

88

Page 45: Introduction à l’Analyse Prescriptive · Plan 1. Introduction 2. Optimisation sous Contraintes 3. Focus sur l’Optimisation Combinatoire 4. Du problème à la solution 5. Contexte

Conclusion

Analyse prescriptive Optimisation de la prise de décision Approche opérationnelle de la décision Interactions entre différents paramètres influençant la prise de décision

Processus complexes Différents formalismes de modélisation et d’analyse des modèles

Optimisation « hors ligne », « en ligne », processus centralisé / distribué, …

Différents outils de résolution

Analyse et interprétation des résultats obtenus

89

90