Info0804. Cours 6. Optimisation combinatoire : Applications et compléments



Documents pareils

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Deux stratégies parallèles de l'optimisation par colonie de fourmis

Jean-Philippe Préaux

Modélisation multi-agents - Agents réactifs

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris Mars 2003

Annexe 6. Notions d ordonnancement.

Conception de réseaux de télécommunications : optimisation et expérimentations

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Sommaire. Introduction Définition Historique Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application.

Initiation au HPC - Généralités

Système Immunitaire Artificiel Parallèle appliqué aux Flow Shop Hybride (FSH)

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle

Les colonies de fourmis : apprentissage coopératif pour le problème du voyageur de commerce

RenPar'14 Hammamet, Tunisie avril 2002

Cours de Master Recherche

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

ils entretiennent entre eux des flux, ils partagent des perceptions sur l environnement

Pourquoi l apprentissage?

Un modèle réactif pour l optimisation par colonies de fourmis : application à la satisfaction de contraintes

Big Data et Graphes : Quelques pistes de recherche

Rapport 2014 et demande pour Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

DES FOURMIS POUR LIVRER DU MAZOUT

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

THÈSE. présentée à l Université d Avignon et des Pays de Vaucluse pour obtenir le diplôme de DOCTORAT

Big Data et Graphes : Quelques pistes de recherche

Rencontre sur la thématique du Calcul Haute Performance - 13 juin Better Match, Faster Innovation

Programmation Par Contraintes

Quantification d incertitude et Tendances en HPC

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Méthaheuristiques pour l optimisation combinatoire et l affectation sous contraintes

Sommaire. Introduction. I. Notions de routage a) Technologies actuelles b) Avantages et désavantages

UNIVERSITÉ DU QUÉBEC À CHICOUTIMI UNIVERSITÉ DU QUÉBEC À MONTRÉAL

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

LE PROBLEME DU PLUS COURT CHEMIN

Séparation et Evaluation pour le problème d ordonnancement avec blocage.

Ordonnancement en temps réel d un jobshop par métaheuristique hybride : étude comparative

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

La programmation à mémoire adaptative ou l évolution des algorithmes évolutifs

Laboratoire d Automatique et Productique Université de Batna, Algérie

Hela Boukef. To cite this version: HAL Id: tel

LES PROBLEMES D'ORDONNANCEMENT

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Séminaire RGE REIMS 17 février 2011

Contrainte de flot pour RCPSP avec temps de transfert

L apprentissage automatique

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Stratégie de recherche adaptative en programmation par contrainte

Classement multicritère de stratégies d'ordonnancement dans le cadre d'une industrie semi-continue

Retour d expérience, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI

ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE

Problème à résoudre. min f(s) s.c. s S

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

Multiprogrammation parallèle générique des méthodes de décomposition de domaine

PLANIFICATION DU TRANSPORT DE CHARGES PARTIELLES D UN DÉPÔT : RÉPARTITION, LIVRAISON ET REVENU DE RETOUR

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

Architecture des ordinateurs

Journée Utiliateurs Nouvelles du Pôle ID (Informatique) Pierre Neyron, LIG/CNRS

Eléments d architecture des machines parallèles et distribuées

ITIL Gestion de la capacité

Calcul multi GPU et optimisation combinatoire

Questions fréquentes sur les tarifs et les licences Windows Server 2012

Aspects théoriques et algorithmiques du calcul réparti L agglomération

Plan. 1. La planification d un d 2. Méthodes et techniques de planification 3. Conclusion. D. Leclet

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

L apport du HPC pour l optimisation. Eric Jacquet-Lagrèze. FORUM TERATEC 28 juin 2011

Plus courts chemins, programmation dynamique

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Dimensionnement Introduction

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

Programmation parallèle et distribuée

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

Introduction à CUDA.

FIMA, 7 juillet 2005

Détermination de la taille des lots : cas d une production cyclique et d une demande dynamique

Programmation linéaire

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Calculs de probabilités

Création intuitive des éléments d un paysage

UML (Diagramme de classes) Unified Modeling Language

Chapitre 1 : Introduction aux bases de données

PLAN DE COURS. GPA750 Ordonnancement des systèmes de production aéronautique

Modélisation de bases de données : Le modèle relationnel

Recherche locale pour un problème d optimisation de tournées de véhicules avec gestion des stocks

Chapitre 5 : Flot maximal dans un graphe

libérez votre innovation avec l extreme computing CEA/Philippe Stroppa

Electricité : caractéristiques et point de fonctionnement d un circuit

Programmation par contraintes. Laurent Beaudou

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Algorithmes d'apprentissage

UNIVERSITÉ DU QUÉBEC MÉMOIRE PRÉSENTÉ À L'UNIVERSITÉ DU QUÉBEC À CHICOUTIMI COMME EXIGENCE PARTIELLE DE LA MAÎTRISE EN INFORMATIQUE

Transcription:

Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014

Plan de la séance Différents problèmes d'optimisation académiques et industriels Problèmes de planification de personnel dans les transports Problèmes d'ordonnancement Optimisation et calcul HPC Métaheuristiques parallèles 2

Le problème de la planification du personnel dans les systèmes de transport 3

2 problèmes d'optimisation Offre de service Opérationnel Courses commerciales connues par les voyageurs 4

Problème de Graphicage Définition de l'offre de service Quels sont les points qui seront desservis? Découpage en services voiture Quelles sont les lignes qui seront empruntées par les véhicules? 5

Vehicle scheduling problem Différentes formulations Travelling Salesman Problem (TSP) Multiple Travelling Salesman Problem (MTSP) Vehicle Routing Problem (VRP) Capacitated Vehicle Routing Problem (CVRP) Vehicle Routing Problem with Time Windows(VRPTW) Vehicle Routing and Scheduling Problem (VSRP) + contraintes «industrielles» 6

Habillage Découpage en services agent De quelle façon assigner les personnels aux véhicules? 7

Approche de résolution habituelle Générer et affecter un coût à un ensemble initial (S) d horaires de personnel réalisables Formuler le problème de choisir dans S un sousensemble de coût minimum qui réalise toutes les tâches Couverture d ensemble (Set Covering Problem) ou Partitionnement d ensemble (Set Partitioning Problem) Résolution du SCP/SPP en utilisant un algorithme approprié (Branch and bound basé sur la PL) Utilisation de techniques de génération de colonnes pour déterminer S 8

Modélisation du problème d'habillage Modélisation sous forme de problèmes d'optimisation classiques de la recherche opérationnelle Vue concise de la structure sous-jacente des problèmes industriels Utilisation de méthodes d'optimisation existantes Différentes contraintes industrielles peuvent ensuite être ajoutées 3 problèmes Set Covering Problem (SCP) Set Partitioning Problem (SPP) Crew Scheduling Problem (CSP) 9

Set Covering Problem Ensemble fini X Ensemble S de sous-ensembles de X Trouver un sous-ensemble de S Qui couvre tous les éléments de X De cardinal minimum Solutions possibles s1, s2, s3, s4, s5 s2, s5, s6 Exemple : Formation d'un comité 10

Set Partitioning Problem Ensemble fini X Ensemble S de sous-ensembles de X Trouver un sous-ensemble de S Qui couvre tous les éléments de X De cardinal minimum Chaque élément ne doit être couvert qu'une seule fois Solutions possibles s 2, s 5, s 6 Exemple : Planification d'un mariage! 11

Modélisation mathématique du SCP et du SPP Minimiser n cjxj (1) Le coût de l'ensemble des colonnes i = 1,..., m (2) Chaque ligne doit être couverte : - Au moins une fois pour le SCP ( ) - Exactement une fois pour le SPP (=) j = 1,..., n (3) Une colonne peut être sélectionée (1) ou non (0) j= 1 Sous les contraintes n aijxj 1 j= 1 xj (0,1) c1 c2 c3 c4 c5 2 8 5 9 4 Ligne 1 1 1 1 0 0 Ligne 2 0 0 1 0 1 Ligne 3 0 1 0 1 0 Ligne 4 0 0 0 1 1 - {c1, c3, c4} est une solution réalisable du SCP mais pas du SPP - {c2, c5} est une solution réalisable du SCP et du SPP Exemple 12

SCP, SPP et planification de personnel Division des services voiture en morceaux de course Création de services agent couvrant plusieurs morceaux de course Set Covering ou Set Partitioning? Exemple : déplacement haut-le-pied (deadhead) permis ou non 13

Le problème de Crew Scheduling N tâches effectuées par k personnels Début et fin d'une journée N-1 Tâches de travail au même dépôt N k 0 i Temps de travail maximum T 2 1 Arc de transition De coût cij S'il est possible pour un personnel de réaliser i puis j Temps Trouver les chemins de personnel N+1 j Personnel 1 0 1 2 N+1 Personnel 2 0 i j N-1 Personnel 3 0 k N N+1 N+1 De coût total minimum De sorte que chaque tâche soit réalisée une seule fois Et que le temps de travail impliqué dans chaque chemin ne dépasse pas le temps de travail T 14

Modélisation mathématique du CSP Minimiser cij xij (1) Le coût de l'ensemble des arcs de transition j = 1,..., N (2) Le nombre d'arcs quittant une tâche est égal au nombre d'arcs entrant dans la tâche i = 1,...,N (3) Un arc quitte chaque tâche (4) K arcs originaires de 0 (dépôt) sont utilisés (K tâches sont choisies pour être la première tâche sur un chemin) i, j Sous les contraintes xjk = xij = 1 k xij i j x0 j = K j (Contraintes de limite de temps) (5) xij (0,1) i, j (6) Chaque arc peut être utilisé au maximum une fois (les chemins sont arc disjoints) 15

Relaxation lagrangienne pour le CSP Minimiser cij xij + N ui (1 i= 1 i, j xij ) (1) Introduction des multiplicateurs u et relaxation i de l équation 3 (un arc quitte chaque tâche) j Sous les contraintes xjk = k xij j = 1,..., N (2) Il doit y avoir K chemins d arcs disjoints contraints par la limite de temps T (4) La fonction objectif est de minimiser le coût (lagrangien) total de ces K chemins i x0 j = K j (Contraintes de limite de temps) (5) xij (0,1) i, j (6) Difficulté du problème : nécessité d avoir des chemins d arcs disjoints - Solution : relaxer l équation 6 16

Relaxation lagrangienne pour le CSP Minimiser N cij xij + ui (1 i= 1 i, j xij ) j Sous les contraintes xjk = k xij j = 1,..., N i Problème relaxé : Trouver les k chemins contraints par la limite de temps, de coût (lagrangien) minimum, parmi N chemins Solution du problème relaxé : Borne inférieure de la solution du CSP original Optimisation de subgradient : Permet de trouver les bons ui x0 j = K j (Contraintes de limite de temps) x 0 j (0,1) j = 1,..., N xij 0 entier i 0, j On permet aux arcs (et donc aux tâches) d apparaître dans plusieurs chemins, sauf ceux qui démarrent au dépôt 17

Méthode par séparation et évaluation (Branch and bound) Si la procédure d'optimisation de subgradient trouve une solution réalisable On a trouvé la solution optimale du problème original Sinon i.e. si, dans la meilleure solution, il reste des tâches de degrés entrant/sortant différents de 1 i.e. si certaines tâches sont utilisées plusieurs fois ou pas du tout une procédure de séparation-évaluation est nécessaire pour trouver la solution optimale À partir de la solution associée à la meilleure borne inférieure, interdire successivement les arcs associés à des tâches de degrés entrant/sortant > 1 18

Méthode par séparation et évaluation (Branch and bound) 19

Problème d'ordonnancement industriel : Production d'aluminium 20

Le processus industriel de production d'aluminium 21

Le processus de coulée Coulée de l'aluminium sur une machine à couler horizontale 22

Considérations du problème Déterminer l ordre de passage de n commandes en considérant plusieurs contraintes technologiques et administratives Date de livraison à respecter pour chaque commande Deux types de réglages: Changement du moule pour des produits de dimension différente Drainage des fours pour des produits d alliage différent Objectifs multiples à minimiser Pertes de temps à la machine à couler Retard total pour l ensemble des commandes Perte de capacité de transport 23

Exemple de problème 24

Single Machine Scheduling Problem Une machine est toujours disponible durant la période d'ordonnancement La machine traite les jobs un à la fois Le temps de traitement de chaque job sur la machine est connu et ne dépend pas des jobs précédents Le temps de traitement inclut le temps de setup et le temps sur machine 25

Objectifs classiques à optimiser 26

Implémentation logicielle 27

Variantes Plusieurs machines parallèles Atelier sériel (flowshop) 28

Variantes Atelier à cheminements multiples (job shop) 29

Optimisation et calcul HPC 30

Optimisation et calcul HPC Architectures parallèles actuelles Clusters, SMPs, processeurs multi-coeur, GPUs, hybrides Offrent des ressources de calcul imposantes Le problème est de les utiliser efficacement! Stratégies de parallélisation des méthodes arborescentes Maître-esclave, décomposition de domaine Stratégies de parallélisation des métaheuristiques Accélération du processus de recherche de solutions Amélioration de la recherche par la concurrence Problématiques Performance, portabilité et reproductibilité sur une architecture cible Architectures hybrides méthodes hybrides 31

Hybridation technologique 32

Hybridation technologique 33

Métaheuristiques parallèles Conception Implémentation 34

Métaheuristiques parallèles Métaheuristiques : stratégies efficaces pouvant demander beaucoup de ressources Temps de calcul Mémoire Les 2 contributions principales du parallélisme aux métaheuristiques : Accélérer le processus de recherche de solutions Améliorer la recherche par des activités concurrentes 35

Stratégies de parallélisation des métaheuristiques Processus de recherche simple Parallélisation interne Décomposition de domaine Processus de recherche multiples Processus indépendants Processus coopératifs Approches hybrides 36

La coopération entre processus de recherche Résolution d un problème par un groupe d agents coopérant Nouvelle forme d apprentissage Parallélisme naturel 3 questions importantes Quelle information doit être partagée? À quel moment doit-elle être partagée? Entre quels processus doit-elle être partagée? 37

Parallélisation des algorithmes génétiques Parallélisation maître-esclave sur une population unique Paralélisation de grain fin sur une population unique Population sur le processeur maître Appel aux esclaves pour appliquer les opérateurs génétiques Répartition des individus sur les processeurs Parallélisation de gros grain sur des population multiples (modèle en îles) Une population par processeur Migration d'individus 38

Parallélisation de l OCF Niveau Colonie Interaction (indépendant/coopératif) Échange d information (phéromone/solutions) Coordination et schéma d échange Niveau Fourmi Construction des solutions Gestion de la phéromone Gestion de la liste de candidats Recherche locale 39

Études de cas 40

Résolution exacte du CSP sur CPU/GPU 41

Architecture GPU GPU Architecture massivement parallèle Prix raisonnable CUDA (Compute Unified Device Architecture) Challenges Conception Programmation 42

Relaxation lagrangienne pour le CSP Problème relaxé Relaxation lagrangienne pour le CSP - Construction du problème - Définition des arcs fixés - Résolution du problème relaxé - Optimisation de subgradient Branch and Bound Calcul des plus courts chemins contraints bloc i : plus court chemin à partir de i thread : sommet du graphe 43

Résultats expérimentaux Code C++ CUDA 4.0 Problèmes tests 50 à 500 tâches OR-Library (benchmarks publics de la communauté scientifique) Nœud de calcul GPU sur Clovis GPU Tesla C2050 Architecture Fermi 448 unités de calcul 44

Résultats expérimentaux 180 Temps CPU Temps d'exécution (s) 160 155 Temps CPU+GPU 140 120 100 93 84 80 60 53 43 40 20 20 0 0 0 50 0 0 100 2 1 150 2 1 200 4 1 250 4 15 20 1 300 350 400 450 500 Nombre de tâches 45

Optimisation par Colonie de Fourmis sur CPU/GPU 46

Optimisation par Colonie de Fourmis Inspiré des comportements collectifs des insectes sociaux Construction des solutions Règle de transition Informations heuristique Phéromone Mise à jour de la phéromone Intensification Évaporation Initialisation des traces de phéromone Pour un nombre de cycles donné faire Pour chaque fourmi k faire - Positionnement de la fourmi k sur une ville choisie aléatoirement - Construction de la tournée par la règle de transition - Calcul de la longueur de la tournée Mise à jour de la meilleure tournée Mise à jour des traces de phéromone 47

Optimisation par Colonie de Fourmis sur GPU 48

Résultats expérimentaux 50 41,02 Accélérations 40 30 20 10 0 35,39 31,68 13,58 5,74 5,35 eil51 8,62 kroa100 16,77 11,9 d198 20,8 19,72 23,14 20,34 14,76 lin318 rat783 fl1577 d2103 Problèmes 49

Conclusion et perspectives Calcul HPC potentiel pour méthodes exactes et approchées Intégration aux solutions logicielles commerciales Beaucoup de travail reste à faire, conceptuel et technique GPU performance vs. effort de recherche et développement? Mais, que nous réserve le futur du HPC? 50

La semaine prochaine Pas de semaine prochaine, c'est terminé 51