Upload
mohamad-el-achkar
View
841
Download
0
Embed Size (px)
DESCRIPTION
Stage de master en management spécialité génie industriel de l'INP Grenoble en 2010 au laboratoire G-SCOP. Gestion d'énergie pour les bâtiments intelligents (G-SCOP - Schneider Electric - Orange Labs). Développement de méthodes heuristiques pour accélérer la convergence des algorithmes d'optimisation pour la gestion de l'énergie dans les bâtiments. Transcription des programmes (java) de Glpk vers Cplex.
Citation preview
“ Heuristiques pour la gestion d'énergie dans les bâtiments intelligents ”
*Contexte du stage
*Description du problème
*MDA et projeteur vers CPLEX
*Validation du projeteur CPLEX
*Validation du service photovoltaïque
*Conclusion et perspectives
*Gestion de la consommation
d’électricité
*Utilisation de ressources
renouvelables
*Réduction des émissions de
gaz à effet de serre
*Appareils intelligents et
communicants
Il faut assurer:
*L’éfficacité énergétique des composants: meilleurs
rendements possibles.
*La conception efficace du système: éviter les
surdimensionnements, confort de l’usager.
*Le pilotage optimal du système: logiques de
contrôle/commande pour la gestion de l’intermittence
des sources d’énergie.
Travail existant:
* Structuration du problème de gestion de flux
énergétiques,
*Modèles mathématiques et informatiques décrivant les
services et le problème d’optimisation,
*Solveur intégré pour résoudre le problème d’optimisation,
Tâches demandées:
*Valider l’intégralité du prototype d’optimisation anticipative,
*Intégrer un autre solveur au système informatique existant en développant un projeteur de problèmes adapté,
*Comparer les résultats avec l’ancien solveur,
*Intégration du service photovoltaïque et analyse multicritère.
*Services fournisseurs d’énergie: Ex. Réseau EDF, Solaire
*Services à l’usager:
*Services Permanents: Ex. Chauffage
*Services Temporaires: Ex. Machine à laver, Four électrique
*Services Non supervisés: Ex. Eclairage, Ordinateur
Couche Anticipative
• Objectif: générer le plan d’affectation des ressources
en fonction des prédictions disponibles
• Flexibilité: basée sur les degrés de liberté offerts par
l’utilisateur
• Contrainte: l’énergie affectée moyenne
Couche réactive
• Objectif: adapter le plan d’affectation des ressources
pour faire face aux événements imprévus
• Flexibilité: basée sur les degrés de liberté offerts par le
fonctionnement des équipements
• Contrainte: puissance consommée maximale
Couche locale
• Objectif: suivre la consigne de la couche d’anticipation
et de la couche réactive en utilisant le contrôle
embarqué
• Flexibilité: régulation locale
• Contrainte: capacité de l’équipement
*Modèles de comportement des services
*Contraintes de conservation d’énergie
*Contraintes de satisfaction de l’usager (température,
date de début et date de fin)
*Fonction objective (compromis entre coût et satisfaction)
Formulation type programmation linéaire à variables
mixtes (MILP)
*Elaboration des modèles issus du logique métier des systèmes
indépendamment aux plateformes d’exécution,
*Transformation vers des modèles dépendants des
plateformes,
*Quatres niveaux de modélisation:
1. Modèle d'exigence (CIM) - Computation Independent Model
2. Modèle d'analyse abstraite (PIM) - Platform Independent
Model
3. Modèle de de conception concrète (PSM) - Platform
Specific Model
4. Code
+ getContinuousVariableValue()
+ getIntegerVariableValue()
+ getConstraintValue()
+ getObjective()
+ getStatus()
«interf ace »
+ Solution
solverRepresentation
name
index
lowerBound
upperBound
value
# Variable()
+ getName()
+ getIndex()
+ setSolverRepresentation()
+ getSolverRepresentation()
+ getLowerBound()
+ setValue()
+ getValue()
+ setLowerBound()
+ getUpperBound()
+ setUpperBound()
+ isRegistered()
+ getType()
+ CONSTANT
+ DOMAIN
«enumeration »
+ TYPE
+ Variable
# problemName
# problemType
# optimizationType
constraintCoeff icients
continuousVariables
integerVariables
constraints
objective
numberOf Variables
numberOf Constraints
+ MIPproblem()
+ createContinuousVariable()
+ createBinaryVariable()
+ createIntegerVariable()
+ createEqualityConstraint()
+ createGreaterEqualConstraint()
+ createLowerEqualConstraint()
+ setConstraintCoef f icient()
+ addObjectiveCoef ficient()
+ createSemiContinuousVariable()
+ solve()
+ solve()
+ getContinuousVariables()
+ getIntegerVariables()
+ getVariable()
+ getConstraints()
+ getConstraint()
+ getObjective()
+ getConstraintMatrixElements()
+ MIXED_INTEGER_PROGRAMING
+ LINEAR_PROGRAMMING
«enumeration »
+ PROBLEM_TYPE
+ MINIMIZATION
+ MAXIMIZATION
«enumeration »
+ OPTIMIZATION_TYPE
+ M IPproblem
constraintIndex
variableIndex
value
+ ConstraintCoef ficient()
+ getConstraintIndex()
+ getVariableIndex()
+ getValue()
+ ConstraintCoefficient
name
type
bound
index
solverRepresentation
# Constraint()
+ getName()
+ getIndex()
+ setSolverRepresentation()
+ getSolverRepresentation()
+ getType()
+ getBound()
+ LOWER_EQUAL
+ EQUAL
+ GREATER_EQUAL
«enumeration »
+ TYPE
+ Constraint
+ EqualityConstraint()
+ EqualityConstraint
+ GreaterEqualConstraint()
+ GreaterEqualConstraint
+ LowerEqualConstraint()
+ Low erEqualConstraint
- solver
+ GLPKproblem()
+ solve()
- _addVariable()
- _addConstraint()
+ GLPKproblem
solver
continuousVariables
integerVariables
constraints
problemType
+ GLPKsolution()
+ getContinuousVariableValue()
+ getIntegerVariableValue()
+ getConstraintValue()
+ getObjective()
+ getStatus()
+ GLPKsolution
+ CPLEXproblem()
+ solve()
- f indConstraintCoef f icients()
+ CPLEXproblem
iloCplex
continuousVariables
integerVariables
constraints
problemType
+ CPLEXsolution()
+ getObjective()
+ getStatus()
+ getConstraintValue()
+ getContinuousVariableValue()
+ getIntegerVariableValue()
+ CPLEXsolution
*Création d’un modèle CPLEX vide ;
*Parcourir les variables (entières et réelles) du problème qui sont générées à partir du métamodèle et les ajouter au modèle CPLEX ;
*Parcourir les coefficients qui multiplient les variables de chaque contrainte du problème ;
*Former les expressions numériques qui représentent ces contraintes et les ajouter au modèle ;
*Former la fonction objectif de la même façon que les contraintes ;
*Entrer le type d’optimisation (maximisation/minimisation).
0
2
4
6
8
0 2 4 6 8 10 12 14 16 18 20 22
Température de l'air à l'extérieur (°C)
0
50
100
150
200
250
300
350
400
0 2 4 6 8 10 12 14 16 18 20 22
Radiation solaire (W/m2)
0
0.2
0.4
0.6
0.8
1
0 2 4 6 8 10 12 14 16 18 20 22
Coût d'électricité (€/kWh)
0
500
1000
1500
2000
2500
3000
3500
4000
0 2 4 6 8 10 12 14 16 18 20 22
Puissance disponible(W)
Température préférée : 294 K (21°C)
Puissance maximale : 1000 W
Ecart toléré : 288 K – 303 K Constante de temps : 1000 s
Température initiale : 294 K (21°C)
Gain : 0.03 K/W
Température en absence : 298 K (16°C)
Priorité : 1
•Service Chauffage :
Température préférée : 279 K (6°C)
Constante de temps : 56000 s
Ecart toléré : 280 K – 275 K Gain : -0.6 K/W
Température initiale : 279 K (7°C) Priorité : 1
Puissance maximale : 150 W
•Service Réfrigérateur
Température préférée : 265K (-8°C)
Constante de temps : 70000 s
Ecart toléré : 258 K – 268 K Gain : -0.36 K/W
Température initiale : 268 K (-5°C)
Priorité : 1
Puissance maximale : 200 W
•Service Congélateur
Date de fin préférée : 18h Puissance maximale : 2000 W
Ecart toléré : 13h – 21h Priorité : 1
Durée : 1.5h
•Service Machine à laver
• Charges non contrôlées
Puissance moyenne : 700 W
*Résultats expérimentaux:
851 contraintes
107 variables entières
413 variables réelles
Temps d’exécution: 0.09 sec
ScénarioModèle Basique
Fenêtre 4h
Modèle confort
Fenêtre 4h
5T 0.02 s 3.2 s
6T 0.02 s 14 s
7T 7.44 s 16 s
8T 15 s 145 s
9T 782 s 2574 s
10T >8000 s >7000s
*Coût d’électricité constant pendant toute la journée
*Formulation mathématique et intération du service
photovoltaïque dans le code
*Même scénario (sans le service congélateur)
*Résultats expérimentaux:
850 contraintes
107 variables entières
388 variables réelles
Temps d’exécution: 0.06 sec
Timed service: 8-16-23
Ponderation for dissatisfaction: 1
Timed service: 8-16-23
Ponderation for dissatisfaction: 0,001
Contribution:
*Validation de l’intégralité du prototype d’optimisation anticipative,
*Intégration du solveur CPLEX au système informatique existant en développant un projeteur de problèmes adapté,
*Amélioration remarquable des résultats par rapport au solveur GLPK,
*Intégration du service photovoltaïque et analyse multicritère par agrégation.