Présentation stage G-SCOP
-
Upload
mohamad-el-achkar -
Category
Technology
-
view
843 -
download
0
description
Transcript of Présentation stage G-SCOP
“ 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.