Bilan de stage. Bilan du stage «test de LocalSolver pour le placement des assemblages en piscine»



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

STAGE IREM 0- Premiers pas en Python

4.2 Unités d enseignement du M1

Plus courts chemins, programmation dynamique

Définitions. Numéro à préciser. (Durée : )

Chp. 4. Minimisation d une fonction d une variable

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

MAINTENANCE & INGÉNIERIE NUCLÉAIRE

Resolution limit in community detection

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

AVENIR EMPRUNTEUR. Etude Personnalisée. Caractéristiques du (des) prêt(s) Cotisations ASSURE 1 ASSURE 2. Votre conseiller

RESOLUTION OIV-VITI GUIDE D APPLICATION DU SYSTÈME HACCP (HAZARD ANALYSIS AND CRITICAL CONTROL POINTS) A LA VITICULTURE DE L OIV

Programmation Linéaire - Cours 1

Analyse des trajectoires acceptables en approche de virage assistance aux conducteurs

Transmission d informations sur le réseau électrique

SPF FIN. Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale. Version 1.1

Rappels sur les suites - Algorithme

chapitre 4 Nombres de Catalan

Intelligence Artificielle Planification

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

Quelques algorithmes simples dont l analyse n est pas si simple

Chapitre 3. Les distributions à deux variables

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Analyse financière par les ratios

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

TSM EVOLUTION > SYSTÈME DE DÉTECTION INCENDIE ADRESSABLE ET CONVENTIONNEL ADR


Un régime d assurance? Si oui, lequel?

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

BACCALAUREAT GENERAL MATHÉMATIQUES

BILAN 2014 ET PERSPECTIVES

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

CAC, DAX ou DJ : lequel choisir?

CORRECTION TP Multimètres - Mesures de résistances - I. Mesure directe de résistors avec ohmmètre - comparaison de deux instruments de mesure

Guide de l informatique Fichiers et dossiers

Manuel d utilisation du logiciel

Media planning TV et optimisation : du statique au (très) dynamique

I00 Éléments d architecture

Programmation Web. Madalina Croitoru IUT Montpellier

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

LIDAR LAUSANNE Nouvelles données altimétriques sur l agglomération lausannoise par technologie laser aéroporté et ses produits dérivés

Cours de Master Recherche

Distribution Uniforme Probabilité de Laplace Dénombrements Les Paris. Chapitre 2 Le calcul des probabilités

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Model checking temporisé

Excel avancé. Frédéric Gava (MCF)

Les deux points les plus proches

- Le Diagramme de Gantt. - Le Diagramme de Pert - La Méthode QQCQCCP - La Méthode MOSI - Cahier des charges fonctionnel

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

Architecture des Systèmes d Information Architecture des Systèmes d Information

Sertissage Aciers COMAP,

Cours 1 : Qu est-ce que la programmation?

Le chiffre est le signe, le nombre est la valeur.

Rapport d évaluation de la licence professionnelle

AUTRES ASPECTS DU GPS. Partie I : tolérance de Battement Partie II : tolérancement par frontières

Exercices de dénombrement

Caractéristiques des ondes

Stratégie de recherche adaptative en programmation par contrainte

Edition Détails de l offre de services «INDEP SFDC»

MES ÉCO-DÉPLACEMENTS LE QUIZZ

Cryptographie et fonctions à sens unique

Les besoins en eau de refroidissement des centrales thermiques de production d électricité. Alain VICAUD - EDF Division Production Nucléaire

Network musical jammin

Programmation linéaire

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

Chapitre 5 : Flot maximal dans un graphe

4D v11 SQL Release 5 (11.5) ADDENDUM

Initiation à la Programmation en Logique avec SISCtus Prolog

Représentation d un entier en base b

Mesurer les performances (CPU) sous Linux

Guide d accréditation. Syllabus Niveau Fondation Testeur Agile

Baccalauréat technique de la musique et de la danse Métropole septembre 2008

Le produit semi-direct

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

Guide du Compte d épargne libre d impôt

e-leasevision Votre solution de gestion complète de la LLD avec cotation en ligne intégrée

Les métiers à la. Division Production Nucléaire

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

La fonction exponentielle

Manipulation de données avec SAS Enterprise Guide et modélisation prédictive avec SAS Enterprise Miner

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Quelques Algorithmes simples

Distribution d électricité et réseaux souterrains

Votre patrimoine vous ouvre des portes. Notre Solution globale de crédit-patrimoine MC en est la clé.


Chapitre VI - Méthodes de factorisation

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

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

Jean-Philippe Préaux

Focus sur. métiers du numérique. métiers. les. Contexte régional. La piste. des

I. Introduction: L énergie consommée par les appareils de nos foyers est sous forme d énergie électrique, facilement transportable.

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

1- Enregistrer le nouveau planning

Transcription:

Bilan du stage «test de LocalSolver pour le placement des assemblages en piscine»

Bilan du stage «test de LocalSolver pour le placement des assemblages en piscine» PLAN Le problème des permutations de grappes Le problème du placement des assemblages en piscine Lien entre permutations et placement Présentation de LocalSolver Résultats du stage Modélisation du problème Résultats numériques Comparaison avec une heuristique «maison» Liens entre permutations et placement Choix final de la méthode Discussion libre

Permutation des grappes Construire une séquence de permutations élémentaires des grappes lors de l arrêt d une tranche nucléaire Permutation élémentaire = déplacement d une grappe d un assemblage cédant à un assemblage recevant Un assemblage

Permutation des grappes Construire une séquence de permutations élémentaires des grappes lors de l arrêt d une tranche nucléaire Permutation élémentaire = déplacement d une grappe d un assemblage cédant à un assemblage recevant Une grappe Commande Source Bouchon Instrumentation

Permutation des grappes Construire une séquence de permutations élémentaires des grappes lors de l arrêt d une tranche nucléaire

Permutation des grappes Construire une séquence de permutations élémentaires des grappes lors de l arrêt d une tranche nucléaire Selon leur type, les grappes sont situées à des endroits spécifiques du cœur Soit en un pour un Soit de manière indifférenciée (grappes banalisées)

Permutation des grappes Construire une séquence de permutations élémentaires des grappes lors de l arrêt d une tranche nucléaire Les assemblages sont retirés puis replacés en cœur lors de chaque arrêt de tranche nucléaire Un tiers (ou un quart) des assemblages (les plus anciens) restent en piscine pour refroidissement, en attente de retraitement Deux tiers (ou trois quart) des assemblages retourneront en cœur pour une nouvelle campagne de production Un tiers (ou un quart) d assemblages neufs préalablement disposés en piscine vont entrer en cœur pour leur première campagne de production

Placement des assemblages en piscine Construire une séquence de permutations élémentaires des grappes lors de l arrêt d une tranche nucléaire Une solution est une suite ordonnée de lots de permutation A chaque lot est associé un outil Dans un lot, les permutations élémentaires sont totalement ordonnées pour le robot, Cet ordre total est une mise en œuvre de l ordre partiel déduit des contraintes de précédence Marge de manœuvre Le problème du placement des assemblages en piscine consiste à déterminer dans quelle alvéole disponible de la piscine sera positionné chacun des assemblages déchargés du cœur : Pour minimiser le temps total de trajet du robot de manutention Distance de Tchebychev : dist(x, y) = max ( x 1 y 1, x 2 y 2,.., x n y n ) En tenant compte des permutations élémentaires à effectuer En tenant compte du positionnement des assemblages neufs En tenant compte des alvéoles déjà occupées en piscine (assemblages, adaptateurs, étuis)

Lien entre permutations et placement Construire une solution au problème du placement Le «véritable» problème est en fait le problème complet «permutations + placement» De bonne permutations dépendent du placement en piscine (cf. ordre partiel) Un bon placement dépend des permutations et de leur ordre Problème complet trop complexe pour un traitement frontal : Permutations : TSP avec contraintes de précédence et sommets optionnels Placement : QAP problème d affectation quadratique Décomposition D abord construction de la gamme de permutations Ensuite placement des assemblages en piscine Comment placer des assemblages en piscine sans aucune idée des permutations à mettre en œuvre?

Présentation LocalSolver

Résultats du stage Modélisation QAP : placer M objets dans N boîtes (N M) de telle manière que : Chaque boîte contient au plus un objet Chaque objet est placé dans un boîte et une seule On cherche à minimiser la somme des coûts des placements relatifs des couples d objets (i, j) fonction de la distance Di,j Formellement

Résultats du stage Modélisation Volumétrie : Jusqu à 320 assemblages Matrice F = 320 x 320 ~100 000 Jusqu à 1000 alvéoles Matrice D = 1000 x 1000 ~1000 000 Soit ~100 milliards de termes dans la fonction objectif. En fait le robot effectue un trajet constitué de quelques centaines de déplacement élémentaires ~350 déplacements élémentaires Soit 350 millions de termes (300 fois moins!) message «Out of memory»

Résultats du stage Modélisation Travail sur la modélisation : Astuce : le trajet du robot peut être vu comme deux trajets : - un trajet sur les abscisses - un trajet sur les ordonnées Chaque déplacement du robot entre 2 alvéoles a 1000 999 possibilités (il peut se faire entre tout couple d alvéoles a priori) Si la piscine est de taille 30 35 alors : - Chaque déplacement du robot entre 2 abscisses a 30 29 possibilités, soit 870 - Chaque déplacement du robot entre 2 ordonnées a 35 34 possibilités, soit 1190 Par ailleurs le temps de déplacement entre 2 alvéoles se calcule simplement en fonction du temps de déplacement sur les abscisses et du temps de déplacement sur les ordonnées Taille : on passe de 350 déplacements 999 000 couples d alvéoles (=349 650 000) à : 350 déplacements en abscisse 870 (=304 500) + 350 déplacements en ordonnée 1190 (=416 500) = 721 000 expressions, i.e. une réduction par un facteur 485. 2 ème astuce : pour chaque assemblage A on définit ci-dessus les expressions Abs(A) et Ord(A), resp. l abscisse et l ordonnée de l alvéole où est placé A. On peut se contenter d affecter à A une valeur, le code de l alvéole où il sera placé, à condition de récupérer de manière simple l abscisse et l ordonnée de l alvéole à partir de son code

Résultats du stage Modélisation Travail sur la modélisation : 2 ème astuce suite : on définit 2 fonctions utilisateurs CalculeAbs(P) et CalculeOrd(P) pour chaque alvéole P, et on utilise l appel CalculeAbs(Alveole(P)) et CalculeOrd(Alveole(P)) à la place des expressions Abs(A) et Ord(A). Les deux fonctions CalculeAbs et CalculeOrd sont représentées une seule fois en interne et leur calcul est très simple, code d une alvéole = 100 Abs(P) + Ord(P) D où Abs(codeP) = codep div 100 et Ord(codeP) = codep modulo 100 Avec Alveole(a) = 101 xa1_1 + + 130 xa1_30 + 201 xa2_1 + + 230 xa2_30 + + 3501 xa35_1 + + 3530 xa35_30 On divise globalement encore par 2 le nombre d expressions, et on trouve un peu plus vite des solutions un peu meilleure par rapport à la modélisation précédente Pour trouver cette astuce il faut connaître (un peu) le fonctionnement du solveur (arbre syntaxique). Pas choquant car pareil pour Cplex, Xpress, etc. mais à savoir.

Résultats du stage Le langage Exemple d énoncé extrait de la première modélisation : + données Langage souple et puissant grâce à la définition des fonctions utilisateurs

Résultats du stage Le langage un énoncé complet :

Résultats du stage Le langage un énoncé complet :

Résultats du stage Le langage un énoncé complet :

Résultats du stage Résultats sur 3 jeux de données Temps d exécution en secondes Coût des solutions en secondes (temps de trajet du robot) Temps (en sec.) Cout (temps de trajet en sec.) Tranche1 30 639 60 633 90 628 120 628 300 628 3600 617 Tranche2 30 2488 60 2453 90 2425 120 2425 300 2373 3600 2342 Tranche3 30 2578 60 2498 90 2455 120 2436 300 2408 3600 2378

Résultats du stage Tranche 3 Solution en 1 sec.

Résultats du stage Tranche 3 Solution en 1 sec.

Résultats du stage Tranche 3 Solution en 30 sec.

Résultats du stage Tranche 3 Solution en 600 sec.

Résultats du stage Tranche 3 Solution en 3600 sec.

Test d une méthode alternative Qualité des solutions fournies par LocalSolver, est-on loin de l optimum? Test de méthodes heuristiques Placement glouton aléatoire. Idée : placer l assemblage recevant près du cédant Descente locale. Idée : permutation des positions de groupes de 3 et 2 assemblages Coût des solutions en secondes (temps de trajet du robot) Placement initial : coût 2744, en 63 sec.

Test d une méthode alternative Placement initial : 63 sec., coût = 2744

Test d une méthode alternative Qualité des solutions fournies par LocalSolver, est-on loin de l optimum? Descente : le «3-Opt» et le «2-Opt» permettent de gagner quelques pourcents, entre 200 et 300 secondes pour FLA3 en un temps de l ordre de 4 à 5 mn, puis plus d amélioration L amélioration porte sur le compromis temps de trajet à vide / temps de trajet à plein en augmentant le premier au bénéfice du second Avec l enchaînement placement initial + amélioration locale, on obtient des solutions du même ordre que LocalSolver (ou un peu moins bien) L analyse des solutions montrait qu il avait encore des trajets à vide «longs» Dus aux assemblages neufs Et pourtant déjà plus ou moins pris en compte au moment de la construction des permutations Cf. lien permutations / placement, peut-on améliorer l ordre des permutations? construction heuristique d un chemin hamiltonien passant par toutes les permutations d un lot, de coût minimum, et tenant compte des contraintes de précédence (assemblages dégrappés et regrappés dans le même lot) heuristique constructive (on choisit la permutation la plus proche sans circuit) + amélioration «4-Opt» + «3-Opt» Idée : on construit le chemin hamiltonien après le placement initial puis ensuite on fait la descente

Test d une méthode alternative Qualité des solutions fournies par LocalSolver, est-on loin de l optimum? Recherche de circuit hamiltonien : amélioration substantielle de l ordre de 40% à 50%, voire un peu plus Possible aussi sans doute d enchaîner 3 résolution de problèmes avec LocalSolver Placement initial (testé de fait) Circuit hamiltonien (?) Amélioration (testé de fait) Plus lourd qu enchaîner des heuristiques (générer 3 énoncés) Compte tenu de la qualité des solutions obtenues, sans doute très peu à gagner dans le meilleurs des cas, si LS fait mieux que les heuristiques

Test d une méthode alternative Placement final : 263 sec., coût = 1277

Test d une méthode alternative Placement final : 263 sec., coût = 1277 Lot 1

Test d une méthode alternative Placement final : 263 sec., coût = 1277 Lot 2

Test d une méthode alternative Placement final : 263 sec., coût = 1277 Lot 3