Enseignement spécialisé Optimisation. Projet sur les réseaux de distribution d eau

Documents pareils
La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Introduction à MATLAB R

TRANSLATION ET VECTEURS

Cours d algorithmique pour la classe de 2nde

Les structures de données. Rajae El Ouazzani

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Dimensionnement Introduction

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Matrice d accès. Master SEMS, Pierre Paradinas. October 16, 2013

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Programmation C. Apprendre à développer des programmes simples dans le langage C

Chapitre 6. Fonction réelle d une variable réelle

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Data loggers SOFREL LT/LT-US Solutions réseaux d eaux usées

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

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

Resolution limit in community detection

4.2 Unités d enseignement du M1

L ALGORITHMIQUE. Algorithme

Coup de Projecteur sur les Réseaux de Neurones

Les deux points les plus proches

EES : Engineering Equation Solver Fiche récapitulative - Marie-Sophie Cabot

3 Approximation de solutions d équations

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Rappels sur les suites - Algorithme

UNIVERSITE DES ANTILLES et DE LA GUYANE Campus de Fouillole BP Pointe-à-Pitre Cedex CONTRAT LE MASTER NOM DU DOMAINE STS

Corrigé des TD 1 à 5

Application 1- VBA : Test de comportements d'investissements

Programmes des classes préparatoires aux Grandes Ecoles

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Comprendre l Univers grâce aux messages de la lumière

Apprentissage statistique dans les graphes et les réseaux sociaux

La place de SAS dans l'informatique décisionnelle

Editoile Académie Mathieu Renault, formateur 9 rue Vauban Bordeaux Tél formation@editoile.fr

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Algorithmes de recherche d itinéraires en transport multimodal

de calibration Master 2: Calibration de modèles: présentation et simulation d

Compilation (INF 564)

Cours 1 : La compilation

Quantification Scalaire et Prédictive

Formation à la C F D Computational Fluid Dynamics. Formation à la CFD, Ph Parnaudeau

Manuel de validation Fascicule v4.25 : Thermique transitoire des structures volumiques

Cours Informatique Master STEP

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Travail d évaluation personnelle UV valeur C : IRE. Planification de réseaux : Simulateur IT-GURU Academic Edition

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

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

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

L analyse boursière avec Scilab

Cours d Analyse. Fonctions de plusieurs variables

Comment faire passer un message

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Qualité du logiciel: Méthodes de test

Département Informatique

DG-ADAJ: Une plateforme Desktop Grid

Organigramme / Algorigramme Dossier élève 1 SI

L objectif de ce cycle est de former des techniciens supérieurs spécialisés dans l administration et la gestion de bases de données et des réseaux.

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h


Algorithmes pour la planification de mouvements en robotique non-holonome

SEO Campus 2009 : Pagerank et optimisation

COMPTABILITE GENERALE ETAPE 2 : LE COMPTE

Séquence 3. Expressions algébriques Équations et inéquations. Sommaire

.NET - Classe de Log

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

Séminaire OPTIMA 16 avril Optimod Lyon, une coopération public/privée pour la mobilité urbaine et l innovation

Ordonnancement temps réel

Étude de la faisabilité de l auto-compression en A MOISEI, S KINZELIN, P TROUFLEAU, B BOYER, L LEMOINE, P HENROT

TRIGONOMETRIE Algorithme : mesure principale

Web Science. Master 1 IFI. Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

Travail personnel sur ordinateur

LES ESCALIERS. Du niveau du rez-de-chaussée à celui de l'étage ou à celui du sous-sol.

Hibernate vs. le Cloud Computing

1. GENERALITES OBJET DU MARCHE DUREE DU MARCHE REGLEMENTATION SECURITE ASTREINTE ET GESTION DES

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

Représentation d un entier en base b

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

3ème séance de Mécanique des fluides. Rappels sur les premières séances Aujourd hui : le modèle du fluide parfait. 2 Écoulements potentiels

Présentation du PL/SQL

Grégoire de Lassence. Copyright 2006, SAS Institute Inc. All rights reserved.

Puissances d un nombre relatif

Algorithmique et structures de données I

INFRASTRUCTURE FORMATIONS. «Ces formations m ont permis de clarifier ce que l on pouvait attendre de moi en tant que futur gestionnaire»

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

IBM Cognos Enterprise

Première partie : Les travaux d inventaire. Fiches Mr Cisternino : Les travaux d inventaire 1 / 24

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Vue d ensemble de Windows PowerShell

données en connaissance et en actions?

4 Exemples de problèmes MapReduce incrémentaux

Introduction à l algorithmique et à la programmation (Info 2)

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Transcription:

Enseignement spécialisé Optimisation Projet sur les réseaux de distribution d eau Kengy Barty, Pierre Carpentier et François Pacaud kengy.barty@edf.fr pierre.carpentier@ensta-paristech.fr f.pacaud@efficacity.com Année 2016/2017 Site du cours : cas.ensmp.fr/ petit/esoptimisation/ Projet : perso.ensta-paristech.fr/ pcarpent/tp Reseau/ENSMP/

Objectif et modalités du projet Prendre prétexte d un problème d ingénierie (lié à l hydraulique urbaine) pour faire apparaître un problème d optimisation, puis mettre en œuvre sur ce problème les différentes approches et les différents algorithmes présentés dans le cours d optimisation. Dans la vraie vie, il est rare d écrire une méthode d optimisation comme le gradient conjugué ou quasi-newton, car c est un travail de professionnel. Pour ce projet, vous êtes les professionnels... Travail en binôme. Langage de programmation : Scilab Contrôle continu pour l évaluation du projet. Comptes rendus à l issue des 1-ère et 2-ème séances. Rapport final à l issue de la dernière séance.

Schématique d un réseau de distribution d eau

Variables décrivant le réseau et notations Tailles du réseau. n arcs (canalisations du réseau), m nœuds : m r réservoirs, m d consommateurs (m = m r + m d ). Variables hydrauliques du réseau. flux aux nœuds : f = pressions aux nœuds : p = ( fr f d ( pr p d ) R m ) R m à calculer, connus. connues, à calculer. résistances des arcs : r R n connues. débits dans les arcs : q R n à calculer. (m + n) inconnues à déterminer.

Matrice d incidence et équations d équilibre du réseau Matrice d incidence nœuds arcs. 4 f 5 1 b a a b c d e f g e g c 3 d 2 A = Équations décrivant l état d équilibre. 1 1 0 0 0 0 0 0 0 1 1 0 0 0 +1 0 0 +1 1 0 1 0 +1 0 0 +1 1 0 0 0 +1 0 0 +1 +1 1 2 3 4 5 4 e b Noeud 4 : q b + q e q f = f 4. Aq f = 0. f 5 Arc f : p 4 p 5 = r f q f q f. A p + r q q = 0. (m + n) équations.

Problème d optimisation associé à l équilibre (1) En 1978, Collins et al 1 ont montré que ces équations d équilibre : Aq f = 0, A p + r q q = 0, sont en fait les conditions d optimalité du problème d optimisation : min (q R n, f r R mr ) 1 q, r q q + p r, f r, 3 sous la contrainte Aq f = 0. 1. M. Collins, L. Cooper, R. Helgason, J. Kennington and L. LeBlanc. Solving the pipe network analysis problem using optimization techniques. Management Science, Vol.24, No.7, pp 747-760, March 1978.

Problème d optimisation associé à l équilibre (2) Le problème initial précédent peut se simplifier : d une part en éliminant les variables de flux f r (qui peuvent être exprimées en fonction de q à l aide des contraintes) : 1 min q, r q q + pr, A r q, q R n 3 sous la contrainte A d q f d = 0, d autre part en écrivant la contrainte A d q f d = 0 sous la forme équivalente q = q (0) + Bq C, ce qui conduit au problème d optimisation équivalent sans contrainte suivant : min q C R n m d 1 q (0) +Bq C, r ( q (0) ) +Bq C q (0) +Bq C 3 ( + p r, A r q (0) ) +Bq C. C est ce problème que l on va résoudre (pour commencer... )!

But du projet Écrire des méthodes génériques d optimisation (recherche linéaire, gradient conjugué, quasi-newton, Newton) qui ne communiquent avec le problème que par l intermédiaire d un oracle associé à : F : q C 1 q (0) + Bq C, r ( q (0) ) + Bq C q (0) ( + Bq C + p r, A r q (0) ) + Bq C. 3 Oracle Fonction qui pour tout q C calcule F (q C ), F (q C ), 2 F (q C ) : Algorithme d optimisation [F,G,H] = Oracle(qc,ind). Fonction qui minimise F en partant d un point initial q ini : [Fopt,qopt,Gopt] = Minimise(Oracle,qini). Recherche linéaire Fonction qui assure la décroissance de F dans une direction d.

L algorithme du gradient à pas fixe function [Fopt,qopt,Gopt]=Gradient_F(Oracle,qini) iter = 5000 ; tol = 0.000001 ; alpha = 0.0005; qc = qini; for k = 1:iter end [F,G] = Oracle(qc,ind); if norm(g) <= tol then kstar = k; break end qc = qc - (alpha*g); logg = [ logg ; log10(norm(g)) ]; Cout = [ Cout ; F ]; Fopt = F; qopt = x; Gopt = G; Visualg(logG,Cout); endfunction

Enchaînement des tâches : Moniteur Skel.sce // Donnees du probleme exec( Probleme_R.sce ); exec( Structures_R.sce ); // Fonction de visualisation du deroulement de l algorithme exec( Visualg.sci ); // Fonctions de verification des resultats exec( HydrauliqueP.sci ); exec( Verification.sci ); // Oracle et algorithme d optimisation exec( Oracle.sci ); exec( Gradient_F.sci ); // Optimisation qini = 0.1 * rand(n-md,1); [Fopt,qopt,Gopt] = Gradient_F(Oracle,qini); // Verification des resultats [q,z,f,p] = HydrauliqueP(qopt); Verification(q,z,f,p);

Variables disponibles dans l environnement Scilab Description de la variable Nom math. Variable info. Espace Nombre total d arcs n n N Nombre total de nœuds m m N Nombre de nœuds de demande m d md N Nombre de nœuds réservoir m r mr N Flux aux nœuds de demande f d fd M(m d, 1) Pressions aux nœuds réservoir p r pr M(m r, 1) Résistances des arcs r r M(n, 1) Vecteur initial des débits q (0) q0 M(n, 1) Matrice d incidence nœuds-arcs A A M(m, n) Sous-matrice demande de A A d Ad M(m d, n) Sous-matrice réservoir de A A r Ar M(m r, n) Sous-matrice arbre de A d A d,t AdT M(m d, m d ) Sous matrice coarbre de A d A d,c AdC M(m d, n m d ) Matrice inverse de A d,t AdI M(m d, m d ) Matrice d incidence arcs-cycles B B M(n, n m d ) Attention : en Scilab, les variables sont globales!

Programmation du projet 1 05 mai (15h30 18h15) écriture de l oracle et d un algorithme de gradient 2 10 mai (15h30 18h15) recherche linéaire et méthodes de type gradient 3 16 mai (08h30 12h30) méthodes de type Newton 4 17 mai (15h30 18h15) formulation duale du problème et résolution

Programme de travail de cette première séance 1 Lire attentivement le document descriptif du TP... 2 Récupérer les documents et les codes Scilab du TP : http://perso.ensta-paristech.fr/ pcarpent/tp Reseau/ENSMP/ 3 Calculer analytiquement le gradient de la fonction : F : R n m d R q C 1 q (0) + Bq C, r ( q (0) ) + Bq C q (0) + Bq C + 3 ( p r, A r q (0) ) + Bq C. 4 Écrire l oracle codant la fonction et son gradient (en Scilab). 5 Tester cet oracle avec la fonction optim de Scilab. 6 Mettre en œuvre l algorithme du gradient à pas fixe. Pour la séance du 10 mai : avoir un oracle en état de marche!!!

Ce projet...

Le vrai problème...