Optimisation & systèmes électriques
olivier.teytaud@inria.fr
I. La question la plus importante de l'univers
II. Exemples à...
L'énergie c'est trop cool!
Les 30 glorieuses
● Plein emploi
● Croissance
● Baby boom
s'arrêtent au choc pétrolier.
Corréla...
La pollution c'est compliqué: les
chiffres de nextbigfuture
Ces chiffres sont là pour être contestés.
Et le nombre de mort...
Coûts
● Coûts économiques
● Coûts écologiques
● Air
● CO2 (et assimilés)
● Eau
● Stockage déchets
● ...
● Toute autre “ext...
L'énergie c'est cher!
Desertec = centaines de milliards d'euros pour
mettre des renouvelables en Afrique.
Ca vaut la peine...
L'énergie ça pollue
Changement climatique: oui c'est important...
mais on ne fait rien. (changera ?)
Pollution de l'air: t...
Pollution CO2 et équation de Kaya
CO2 =
Population
x
(PIB / person)
x
( énergie/PIB )
x
( CO2/énergie )
Pollution CO2 et équation de Kaya
CO2 =
Population
x
(PIB / person)
x
( énergie/PIB )
x
( CO2/énergie )
Le génocide
n'est ...
Pollution CO2 et équation de Kaya
CO2 =
Population
x
(PIB / person)
x
( énergie/PIB )
x
( CO2/énergie )
Le génocide
n'est ...
Pollution CO2 et équation de Kaya
CO2 =
Population
x
(PIB / person)
x
( énergie/PIB )
x
( CO2/énergie )
Le génocide
n'est ...
Pollution CO2 et équation de Kaya
CO2 =
Population
x
(PIB / person)
x
( énergie/PIB )
x
( CO2/énergie )
Le génocide
n'est ...
L'électricité c'est compliqué
Trop de production ==> on casse tout.
Pas assez de production ==> on casse tout.
==> équilib...
Payer des gens à ne rien faire ?
Équilibre prod./demande + éolien non allumable
=
Besoin de centrales pour moments sans ve...
L'énergie c'est politique
En France en général l'optimisation académique
d'investissements est bien perçue.
Parfois on cro...
L'énergie c'est polémique
Incluez le nucléaire ==> faites vous injurier.
Le charbon déchaîne moins les passions
(pourtant ...
Optimisation & énergie
I. La question la plus importante de l'univers
II. Exemples à suivre ou ne pas suivre
III. Le probl...
Danemark
Eoliennes offshore (faible prof).
33.2% de la conso. dom.
Besoin de
● connections, pour “éponger” la variabilité
...
Chine
Pollution de l'air
Pollution des eaux.
Pourtant:
● Immense producteur de panneaux
photovoltaiques (écologie à la pro...
France
● Plein de nucléaire
● Exportations
● On achète
du charbon et
du renouvelable
à l'Allemagne
● Chauffage
électrique
...
France
Plein de nucléaire.
Peu de CO2 par habitant
(aussi grâce au format des villes).
Risque-t-on un Fukushima à côté de ...
Allemagne
==> arrêt progressif
du nucléaire
==> échanges avec la France (comme Belgique)
==> 9.6 t CO2 par an et par hab. ...
Là !
Kerguélen: soyons fous ?
Grande surface.
Vent 35 km/h en continu,
150 km/h courant,
parfois 200 km/h.
Idéal pour éoliennes...
Groënland: encore plus fou ?
Couvrir les côtes d'éoliennes ?
Connecter aux Amériques et à l'Europe ?
(décalage des heures ...
Scandinavie
En France on n'a plus
la place pour mettre
de l'hydroélectrique;
en Scandinavie on peut.
On tire des câbles ?
...
Desertec / Medgrid
Asie (pas pour demain!)
Les connections sont importantes,
la bonne entente aussi.
● Si mon thermique est moins polluant que le
tien,
● Et si tes é...
Optimisation & énergie
I. La question la plus importante de l'univers
II. Exemples à suivre ou ne pas suivre
III. Le probl...
On ne sait pas
La météo.
Le photovoltaïque dans 30 ans.
L'économie d'énergie dans 30 ans.
La prise de conscience écologiqu...
On ne sait pas
La météo <== on sait estimer la probabilité de
telle ou telle météo.
Le photovoltaïque dans 30 ans <== alor...
Probabilités et autres incertitudes
Quand on a des probabilités, on peut discuter:
● La solution la meilleure en moyenne ?...
Plusieurs scénarios: le PV décolle,
ou le stockage s'améliore ?
● Demain = aujourd'hui ? (pas très réaliste...)
● La solut...
Et si on s'autorise des solutions
stochastiques ?
●Optimiser Wald ou Savage en autorisant des
stratégies stochastiques amé...
Optimisation & énergie
I. La question la plus importante de l'univers
II. Exemples à suivre ou ne pas suivre
III. Le probl...
L'investissement et la gestion
Gère les
centrales
Décide des achats
(centrales, réseaux)
Décision stratégique
puis décisions tactiques
Big
decision
Dec. Dec. Dec. Dec. Dec. Dec.
… ...
Ou décision stratégique puis
décisions tactiques
Big
decision
Dec. Dec. Dec. Dec. Dec. Dec.
… ...
Big
decision
Dec. Dec. D...
Décisions tactiques
● Regardons déjà la partie tactique.
● Les centrales sont là, comment les gère-t-on ?
Pour chaque pas de temps, pour
chaque centrale, décider puissance
Version simple
Courbe de
demande
électrique
Ici, on ne regarde pas
les prix de construction;
les centrales sont
déjà là, o...
Version simple
Row 1 Row 2 Row 3 Row 4
0
2
4
6
8
10
12
Column 1
Column 2
Column 3
Coût marginal
quasi nul
Courbe de
demand...
Version simple
Coût marginal
quasi-nul
Coût marginal
faible
Version simple
Coût marginal
quasi-nul
Coût marginal
faible
Coût marginal
fort
Version simple
Coût marginal
quasi-nul
Coût marginal
faible
Coût marginal
fort
Coût marginal
Super fort
Version simple (si on pénalise le
charbon...)
Coût marginal
quasi-nul
Coût marginal
faible
Coût marginal
géant
Coût margin...
Alors comment on fait ?
● Version très très très simplifiée ( tri, N log(N) ):
● Je connais la demande (courbe rouge)
● J'...
Malheureusement c'est (encore)
plus compliqué que ça!
● Tout ça est stochastique
● Pannes
● Météo
● Consommation
● …
● Et ...
Information cachée
● Intensité de l'impact du réchauffement
climatique ? (impact sur pénalisation CO2)
● Stockages, mainte...
Optimiser des décisions
10h: j'allume certaines centrales, je les règle
10h15: j'observe météo et consommation
10h30: je r...
Optimiser des décisions
= ...j'agis, j'observe, j'agis, j'observe...
= je joue, mon adversaire joue,
je joue, mon adversai...
Outline
● Complexity and ATM
● Complexity and games (incl. planning)
● Bounded horizon games
Complexity and alternating
Turing machines
● Turing machine (TM)= abstract computer
● Non-deterministic Turing Machine (NT...
Complexity and alternating
Turing machines
● Turing machine (TM)= abstract computer
● Non-deterministic Turing Machine (NT...
Complexity and alternating
Turing machines
● Turing machine (TM)= abstract computer
● Non-deterministic Turing Machine (NT...
Complexity and alternating
Turing machines
● Turing machine (TM)= abstract computer
● Non-deterministic Turing Machine (NT...
Non-determinism
Alternation
Outline
● Complexity and ATM
● Complexity and games (incl.
planning)
● Bounded horizon games
State of the art
EXPTIME-complete in the general
fully-observable case
EXPTIME-complete fully
observable games
- Chess (for some nxn generalization)
- Go (with no superko) (!!)
- Draughts (inte...
PSPACE-complete fully
observable games (poly. horizon)
- Amazons
- Hex
- Go-moku
- Connect-6
- Qubic
- Reversi
- Tic-Tac-T...
EXPSPACE-complete
unobservable games ( H a s s l u n & J o n n s s o n )
The two-player unobservable
case is
EXPSPACE-comp...
EXPSPACE-complete
unobservable games ( H a s s l u n & J o n n s s o n )
The two-player unobservable case is
EXPSPACE-comp...
EXPSPACE-complete
unobservable games ( H a s s l u n & J o n n s s o n )
The two-player unobservable case is
EXPSPACE-comp...
EXPSPACE-complete
unobservable games ( H a s s l u n & J o n n s s o n )
The two-player unobservable case is
EXPSPACE-comp...
EXPSPACE-complete
unobservable games ( H a s s l u n & J o n n s s o n )
The two-player unobservable case is
EXPSPACE-comp...
EXPSPACE-complete
unobservable games ( H a s s l u n & J o n n s s o n )
Encoding a Turing machine with a tape of size N
a...
EXPSPACE-complete
unobservable games ( H a s s l u n & J o n n s s o n )
Encoding a Turing machine with a tape of size N
a...
EXPSPACE-complete
unobservable games ( H a s s l u n & J o n n s s o n )
Encoding a Turing machine with a tape of size N
a...
2EXPTIME-complete PO games
The two-player PO case is
2EXP-complete
(games in succinct form).
Hummm ?
Do you know a PO game in which you can
ensure a win with probability 1 ?
Another formalization
==> beaucoup plus satisfaisant
c
Madani et al.
1 player + random = undecidable.
c
Madani et al.
1 player + random = undecidable.
==> answers a (related) question by
Papadimitriou and Tsitsiklis.
Proof ?
B...
Consequence
1 player + random = undecidable
==> 2 players = undecidable.
c
P r o o f o f “ u n d e c i d a b i l i t y w i t h 1 p l a y e r
a g a i n s t r a n d o m ” = = > “ u n d e c i d a b i ...
A random node to be rewritten
A random node to be rewritten
A random node to be rewritten
Rewritten as follows:
● Player 1 chooses a in [[0,N-1]]
● Player 2 chooses b in [[0,N-1]]
● ...
Important remark
Existence of a strategy for winning with
proba 0.5 = also undecidable for the
restriction to games in whi...
So what ?
We have seen that
unbounded horizon
+ partial observability
+ natural criterion (not sure win)
==> undecidabilit...
3 algorithmes
● Model Predictive Control
● Stochastic Dynamic Programming
● Direct Policy Search
S'ils sont en complexité ...
● Anticipative solutions:
● Maximum over strategic decisions
● Of pessimistic forecasts (e.g. quantile)
● Of optimized dec...
● Anticipative solutions:
● Maximum over strategic decisions
● Of pessimistic forecasts (e.g. quantile)
● Of optimized dec...
How to solve, simple case, binary
stock, one day
It is
December
30th
and I have
water
I do not use
I use water
(cost = 0)
...
How to solve, simple case, binary
stock, one day
It is
December
30th
and I have
water:
Future
Cost = 0
I do not use
I use ...
How to solve, simple case, binary
stock, 3 days, no random process
1 1
2
32
2 2
2
3
2 3
3
3
3
3
4
1
How to solve, simple case, binary
stock, 3 days, no random process
2
2
2
1 1
2
32
2 2
2
3
2 3
3
3
3
3
4
1
How to solve, simple case, binary
stock, 3 days, no random process
4
5
7
3
4
6
2
2
2
1 1
2
32
2 2
2
3
2 3
3
3
3
3
4
1
This was deterministic
● How to add a random process ?
● Just multiply nodes :-)
How to solve, simple case, binary
stock, 3 days, random parts
4
5
7
3
4
6
2
2
2
1 1 2
322 2
2
3 2 3
3
3
33
41
4
5
7
3
4
6
...
Markov solution: ok you have understood
stochastic dynamic programming (Bellman)
Representation as a Markov decision proce...
Markov solution: ok you have understood
stochastic dynamic programming (Bellman)
Representation as a Markov decision proce...
Overfitting
● Representation as a Markov process (a tree):
How do you actually make decisions when the random values
are n...
Direct Policy Search
● Requires a parametric controller
● Principle: optimize the parameters on
simulations
● Unusual in l...
Stochastic Control
System
Controller
with
memory
commands
State
Cost
State
Random values
Random
process
Optimize the contr...
Stochastic Control
System
Controller
with
memory
commands
State
Cost
State
Random values
Random
process
Optimize the contr...
Décision stratégique
Bonne décision
= décision minimisant les coûts
Mais comment calculer les coûts ?
Décision stratégique
Bonne décision
= décision minimisant les coûts
Mais comment calculer les coûts ? Dépendent de:
● La m...
Décision stratégique
Simule le cas où on ne
construit rien de neuf
Décision stratégique
Simule le cas où on ne
construit rien de neuf
Simule la construction
de connections
Europe-Afrique
Décision stratégique
Simule le cas où on ne
construit rien de neuf
Simule la construction
de connections
Europe-Afrique
Si...
Décision stratégique
Simule le cas où on ne
construit rien de neuf
Simule la construction
de connections
Europe-Afrique
Si...
Stratégie, version simple
● Chacun des esclaves dépense 10h de calcul pour simuler
son cas
● On prend l'esclave qui a les ...
Stratégie, version simple
● Chacun des esclaves dépense 10h de calcul pour simuler
son cas
● On prend l'esclave qui a les ...
Stratégie, version simple
● Chacun des esclaves dépense 10h de calcul pour simuler
son cas
● On prend l'esclave qui a les ...
Stratégie, version simple
● Chacun des esclaves dépense 10h de calcul pour simuler
son cas
● On prend l'esclave qui a les ...
Disons que les esclaves renvoient
des réponses constantes
Dans le continu
Nombre d'appel aux esclaves
log(distanceàl'optim...
Disons que les esclaves renvoient
des réponses constantes
Dans le continu
Nombre d'appel aux esclaves
log(distanceàl'optim...
Disons que les esclaves renvoient
des réponses constantes
Dans le continu
Nombre d'appel aux esclaves
log(distanceàl'optim...
Et si les esclaves sont
stochastiques ?
Dans le continu
Log( Nombre d'appel aux esclaves )
log(distanceàl'optimum)
Pente =...
Et si les esclaves sont
stochastiques
Dans le continu
Log( Nombre d'appel aux esclaves )
log(distanceàl'optimum)
Pente = -...
Résumé
● 3 algorithmes pour les problèmes “avec temps”:
– Programmation dynamique stochastique
– Recherche directe de poli...
Conclusion
● Nos algos: un mélange de SDP/DPS/MPC
(fréquent)
● Est-il utile de faire plein de maths pour travailler
sur ça...
Conclusion
● Nos algos: un mélange de SDP/DPS/MPC
(fréquent)
● Est-il utile de faire plein de maths pour travailler
sur ça...
Prochain SlideShare
Chargement dans…5
×

Séminaire Sieste: optimisation et transport de l'électricité

243 vues

Publié le

optimisation des systèmes électriques de grande taille (~ un pays ou un continent)

Publié dans : Ingénierie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
243
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
3
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Séminaire Sieste: optimisation et transport de l'électricité

  1. 1. Optimisation & systèmes électriques olivier.teytaud@inria.fr I. La question la plus importante de l'univers II. Exemples à suivre ou ne pas suivre III. Le problème: ce qu'on ne sait pas IV. Alors, comment on fait ?
  2. 2. L'énergie c'est trop cool! Les 30 glorieuses ● Plein emploi ● Croissance ● Baby boom s'arrêtent au choc pétrolier. Corrélations éco/énergie.
  3. 3. La pollution c'est compliqué: les chiffres de nextbigfuture Ces chiffres sont là pour être contestés. Et le nombre de morts n'est pas forcément le seul critère. Le charbon est plus radioactif que le nucléaire.
  4. 4. Coûts ● Coûts économiques ● Coûts écologiques ● Air ● CO2 (et assimilés) ● Eau ● Stockage déchets ● ... ● Toute autre “externalité” ● Mortalité de maintenance ● Défaillance
  5. 5. L'énergie c'est cher! Desertec = centaines de milliards d'euros pour mettre des renouvelables en Afrique. Ca vaut la peine de bien réfléchir à ce qu'on fait.
  6. 6. L'énergie ça pollue Changement climatique: oui c'est important... mais on ne fait rien. (changera ?) Pollution de l'air: tue plus que sida + paludisme ? Le charbon = pas cher + encore abondant. Nucléaire: demandez aux japonais
  7. 7. Pollution CO2 et équation de Kaya CO2 = Population x (PIB / person) x ( énergie/PIB ) x ( CO2/énergie )
  8. 8. Pollution CO2 et équation de Kaya CO2 = Population x (PIB / person) x ( énergie/PIB ) x ( CO2/énergie ) Le génocide n'est pas une solution acceptable
  9. 9. Pollution CO2 et équation de Kaya CO2 = Population x (PIB / person) x ( énergie/PIB ) x ( CO2/énergie ) Le génocide n'est pas une solution acceptable Ici peut-être ?
  10. 10. Pollution CO2 et équation de Kaya CO2 = Population x (PIB / person) x ( énergie/PIB ) x ( CO2/énergie ) Le génocide n'est pas une solution acceptable Ici peut-être ? Ou là ? (certaines formes de télétravail)
  11. 11. Pollution CO2 et équation de Kaya CO2 = Population x (PIB / person) x ( énergie/PIB ) x ( CO2/énergie ) Le génocide n'est pas une solution acceptable Ici peut-être ? Ou là ? Ici la question est plus technique.
  12. 12. L'électricité c'est compliqué Trop de production ==> on casse tout. Pas assez de production ==> on casse tout. ==> équilibre instantané. ==> mais certaines centrales font ce qu'elles veulent (éoliennes) ou sont lentes à la réaction (certains nucléaires) ou coûtent cher à manipuler. Comparer centrales seulement du point de vue du prix au MWh = dire n'importe quoi.
  13. 13. Payer des gens à ne rien faire ? Équilibre prod./demande + éolien non allumable = Besoin de centrales pour moments sans vent. Au prix de marché, ces centrales sont déficitaires. ==> Marché de capacité ? ==> Payer les centrales même si elles ne travaillent pas ==> modèle économique complexe dans contexte dérégulé
  14. 14. L'énergie c'est politique En France en général l'optimisation académique d'investissements est bien perçue. Parfois on croise des militants 100% marché ==> opt. acad. inv. = ingérence. (on n'a pas l'impression que nos travaux soient communistes...)
  15. 15. L'énergie c'est polémique Incluez le nucléaire ==> faites vous injurier. Le charbon déchaîne moins les passions (pourtant qu'est-ce que ça tue, et qu'est-ce que c'est radioactif).
  16. 16. Optimisation & énergie I. La question la plus importante de l'univers II. Exemples à suivre ou ne pas suivre III. Le problème: ce qu'on ne sait pas IV. Alors, comment on fait ?
  17. 17. Danemark Eoliennes offshore (faible prof). 33.2% de la conso. dom. Besoin de ● connections, pour “éponger” la variabilité ● ou de centrales thermiques pour compléter. ==> parfois prix négatifs ! ==> 8.4 t CO2 per person (France 6.1, Usa 17.2) Stockage: ajouter des véhicules électriques ?
  18. 18. Chine Pollution de l'air Pollution des eaux. Pourtant: ● Immense producteur de panneaux photovoltaiques (écologie à la production ?) ● Plein d'éolien ● Grandes connections électriques HVDC ==> tuer des bébés chinois plutôt que des bébés européens ? Analyses “tout compris”
  19. 19. France ● Plein de nucléaire ● Exportations ● On achète du charbon et du renouvelable à l'Allemagne ● Chauffage électrique (grosses pointes = imports chers)
  20. 20. France Plein de nucléaire. Peu de CO2 par habitant (aussi grâce au format des villes). Risque-t-on un Fukushima à côté de Paris ? Risque terroriste ?
  21. 21. Allemagne ==> arrêt progressif du nucléaire ==> échanges avec la France (comme Belgique) ==> 9.6 t CO2 par an et par hab. (> France)
  22. 22. Là !
  23. 23. Kerguélen: soyons fous ? Grande surface. Vent 35 km/h en continu, 150 km/h courant, parfois 200 km/h. Idéal pour éoliennes. Mais rien aux alentours pour consommer. Fabriquer du carburant de synthèse ? Réserve naturelle.
  24. 24. Groënland: encore plus fou ? Couvrir les côtes d'éoliennes ? Connecter aux Amériques et à l'Europe ? (décalage des heures de pointe) ==> faut un gros bâteau pour porter les câbles
  25. 25. Scandinavie En France on n'a plus la place pour mettre de l'hydroélectrique; en Scandinavie on peut. On tire des câbles ? Le stockage hydro est pratique pour “lisser” les renouvelables. Ou stockage dihydrogène ?
  26. 26. Desertec / Medgrid
  27. 27. Asie (pas pour demain!)
  28. 28. Les connections sont importantes, la bonne entente aussi. ● Si mon thermique est moins polluant que le tien, ● Et si tes éoliennes ont besoin de contrepartie thermique, ● Tu peux acheter mon électricité. ● Mais si tu démontes tes usines, ● Je peux te vendre l'électricité 10x plus cher. ==> importance d'une bonne entente. (cf Chili/Argentine)
  29. 29. Optimisation & énergie I. La question la plus importante de l'univers II. Exemples à suivre ou ne pas suivre III. Le problème (technique): ce qu'on ne sait pas IV. Alors, comment on fait ?
  30. 30. On ne sait pas La météo. Le photovoltaïque dans 30 ans. L'économie d'énergie dans 30 ans. La prise de conscience écologique dans 30 ans. …
  31. 31. On ne sait pas La météo <== on sait estimer la probabilité de telle ou telle météo. Le photovoltaïque dans 30 ans <== alors là par contre on ne sait pas grand chose. L'économie d'énergie dans 30 ans. La prise de conscience écologique dans 30 ans <== on prend les paris ? …
  32. 32. Probabilités et autres incertitudes Quand on a des probabilités, on peut discuter: ● La solution la meilleure en moyenne ? ● La solution la meilleure avec proba 95% ? Mais décider face à des aléas sans probas ?
  33. 33. Plusieurs scénarios: le PV décolle, ou le stockage s'améliore ? ● Demain = aujourd'hui ? (pas très réaliste...) ● La solution au pire cas ? (Wald) ● Pire cas = tout cassé par guerre nucléaire ==> autant se contenter de pédaliers ● Pas très satisfaisant ● Le regret ? (Savage) ● Dieu = omniscient ==> décision parfaite ● Regret = pire perte par rapport à Dieu choix= argmin max coût(choix,cas) – coûtDieu(cas) choix cas
  34. 34. Et si on s'autorise des solutions stochastiques ? ●Optimiser Wald ou Savage en autorisant des stratégies stochastiques améliore le critère ● Un peu comme dans pierre/feuille/ciseaux (au pire cas sur l'adversaire, je joue aléatoire) ● Vous vous voyez proposer aux japonais de construire une centrale nucléaire avec probabilité 73% ? choix= argmin max coût(choix,cas) – coûtDieu(cas) choix cas
  35. 35. Optimisation & énergie I. La question la plus importante de l'univers II. Exemples à suivre ou ne pas suivre III. Le problème: ce qu'on ne sait pas IV. Alors, comment on fait ?
  36. 36. L'investissement et la gestion Gère les centrales Décide des achats (centrales, réseaux)
  37. 37. Décision stratégique puis décisions tactiques Big decision Dec. Dec. Dec. Dec. Dec. Dec. … ...
  38. 38. Ou décision stratégique puis décisions tactiques Big decision Dec. Dec. Dec. Dec. Dec. Dec. … ... Big decision Dec. Dec. Dec. Dec. Dec. Dec. Big decision Dec. Dec. Dec. Dec. Dec. Dec.
  39. 39. Décisions tactiques ● Regardons déjà la partie tactique. ● Les centrales sont là, comment les gère-t-on ?
  40. 40. Pour chaque pas de temps, pour chaque centrale, décider puissance
  41. 41. Version simple Courbe de demande électrique Ici, on ne regarde pas les prix de construction; les centrales sont déjà là, on regarde le coût d'utilisation (coût marginal + démarrage...).
  42. 42. Version simple Row 1 Row 2 Row 3 Row 4 0 2 4 6 8 10 12 Column 1 Column 2 Column 3 Coût marginal quasi nul Courbe de demande électrique USINE MAREMOTRICE
  43. 43. Version simple Coût marginal quasi-nul Coût marginal faible
  44. 44. Version simple Coût marginal quasi-nul Coût marginal faible Coût marginal fort
  45. 45. Version simple Coût marginal quasi-nul Coût marginal faible Coût marginal fort Coût marginal Super fort
  46. 46. Version simple (si on pénalise le charbon...) Coût marginal quasi-nul Coût marginal faible Coût marginal géant Coût marginal Super fort
  47. 47. Alors comment on fait ? ● Version très très très simplifiée ( tri, N log(N) ): ● Je connais la demande (courbe rouge) ● J'allume “pile” pour la satisfaire, dans l'ordre des coûts croissants ==> chaque pas de temps géré séparément ● Version moins simplifiée (non séparée) ● Je prends en compte les coûts d'allumage ● J'ajoute plein de trucs (oui je saute les détails) ● J'écris f(x) = coût total si décision x ● Je cherche “argmin f”, le x qui minimise f(x)
  48. 48. Malheureusement c'est (encore) plus compliqué que ça! ● Tout ça est stochastique ● Pannes ● Météo ● Consommation ● … ● Et il y a des stockages (actions supplémentaires possibles) ● Et je peux demander à des entreprises de consommer moins (arrangements économiques)
  49. 49. Information cachée ● Intensité de l'impact du réchauffement climatique ? (impact sur pénalisation CO2) ● Stockages, maintenances adversariaux ● Décisions politiques (interdiction nucléaire ?)
  50. 50. Optimiser des décisions 10h: j'allume certaines centrales, je les règle 10h15: j'observe météo et consommation 10h30: je rerègle mes centrales 10h45: j'observe météo et consommation 11h00: je rerègle mes centrales 11h15: j'observe = ...j'agis, j'observe, j'agis, j'observe... Et au bout de 72h j'observe mes coûts.
  51. 51. Optimiser des décisions = ...j'agis, j'observe, j'agis, j'observe... = je joue, mon adversaire joue, je joue, mon adversaire joue, Et en fin de partie, je vois combien j'ai gagné. ==> mêmes outils que pour les jeux! ==> et info cachée
  52. 52. Outline ● Complexity and ATM ● Complexity and games (incl. planning) ● Bounded horizon games
  53. 53. Complexity and alternating Turing machines ● Turing machine (TM)= abstract computer ● Non-deterministic Turing Machine (NTM) = TM with “for all” states (i.e. several transitions, accepts if all transitions accept) ● Co-NTM: TM with “exists” states (i.e. several transitions, accepts if at least one transition accepts) ● ATM: TM with both “exists” and “for all” states.
  54. 54. Complexity and alternating Turing machines ● Turing machine (TM)= abstract computer ● Non-deterministic Turing Machine (NTM) = TM with “exists” states (i.e. several transitions, accepts if at least one accepts) ● Co-NTM: TM with “exists” states (i.e. several transitions, accepts if at least one transition accepts) ● ATM: TM with both “exists” and “for all” states.
  55. 55. Complexity and alternating Turing machines ● Turing machine (TM)= abstract computer ● Non-deterministic Turing Machine (NTM) = TM with “exists” states (i.e. several transitions, accepts if at least one accepts) ● Co-NTM: TM with “for all” states (i.e. several transitions, accepts if all lead to accept) ● ATM: TM with both “exists” and “for all” states.
  56. 56. Complexity and alternating Turing machines ● Turing machine (TM)= abstract computer ● Non-deterministic Turing Machine (NTM) = TM with “exists” states (i.e. several transitions, accepts if at least one accepts) ● Co-NTM: TM with “for all” states (i.e. several transitions, accepts if all lead to accept) ● ATM: TM with both “exists” and “for all” states.
  57. 57. Non-determinism
  58. 58. Alternation
  59. 59. Outline ● Complexity and ATM ● Complexity and games (incl. planning) ● Bounded horizon games
  60. 60. State of the art EXPTIME-complete in the general fully-observable case
  61. 61. EXPTIME-complete fully observable games - Chess (for some nxn generalization) - Go (with no superko) (!!) - Draughts (international or english) - Chinese checkers - Shogi
  62. 62. PSPACE-complete fully observable games (poly. horizon) - Amazons - Hex - Go-moku - Connect-6 - Qubic - Reversi - Tic-Tac-Toe Many games with filling of each cell once and only once
  63. 63. EXPSPACE-complete unobservable games ( H a s s l u n & J o n n s s o n ) The two-player unobservable case is EXPSPACE-complete (games in succinct form).
  64. 64. EXPSPACE-complete unobservable games ( H a s s l u n & J o n n s s o n ) The two-player unobservable case is EXPSPACE-complete (games in succinct form). PROOF: (I) First note that strategies are just sequences of actions (no observability!) (II) It is in EXPSPACE=NEXPSPACE, because of the following algorithm: (a) Non-deterministically choose the sequence of Actions (b) Check the result against all possible strategies (III) We have to check the hardness only.
  65. 65. EXPSPACE-complete unobservable games ( H a s s l u n & J o n n s s o n ) The two-player unobservable case is EXPSPACE-complete (games in succinct form). PROOF: (I) First note that strategies are just sequences of actions (no observability!) (II) It is in EXPSPACE=NEXPSPACE, because of the following algorithm: (a) Non-deterministically choose the sequence of actions (b) Check the result against all possible strategies (III) We have to check the hardness only.
  66. 66. EXPSPACE-complete unobservable games ( H a s s l u n & J o n n s s o n ) The two-player unobservable case is EXPSPACE-complete (games in succinct form). PROOF: (I) First note that strategies are just sequences of actions (no observability!) (II) It is in EXPSPACE=NEXPSPACE, because of the following algorithm: (a) Non-deterministically choose the sequence of actions (b) Check the result against all possible strategies (III) We have to check the hardness only.
  67. 67. EXPSPACE-complete unobservable games ( H a s s l u n & J o n n s s o n ) The two-player unobservable case is EXPSPACE-complete (games in succinct form). PROOF of the hardness: Reduction to: is my TM with exponential tape going to halt ? Consider a TM with tape of size N=2n . We must find a game - with size n ( n= log2(N) ) - such that the first player has a winning strategy for player 1 iff the TM halts.
  68. 68. EXPSPACE-complete unobservable games ( H a s s l u n & J o n n s s o n ) Encoding a Turing machine with a tape of size N as a game with state O(log(N)) Player 1 chooses the sequence of configurations of the tape (N=4): x(0,1),x(0,2),x(0,3),x(0,4) ==> initial state x(1,1),x(1,2),x(1,3),x(1,4) x(2,1),x(2,2),x(2,3),x(2,4) x(3,1),x(3,2),x(3,3),x(3,4) .....................................
  69. 69. EXPSPACE-complete unobservable games ( H a s s l u n & J o n n s s o n ) Encoding a Turing machine with a tape of size N as a game with state O(log(N)) Player 1 chooses the sequence of configurations of the tape (N=4): x(0,1),x(0,2),x(0,3),x(0,4) ==> initial state x(1,1),x(1,2),x(1,3),x(1,4) x(2,1),x(2,2),x(2,3),x(2,4) x(3,1),x(3,2),x(3,3),x(3,4) ..................................... x(N,1), x(N,2), x(N,3), x(N,4) Wins by final state !
  70. 70. EXPSPACE-complete unobservable games ( H a s s l u n & J o n n s s o n ) Encoding a Turing machine with a tape of size N as a game with state O(log(N)) Player 1 chooses the sequence of configurations of the tape (N=4): x(0,1),x(0,2),x(0,3),x(0,4) ==> initial state x(1,1),x(1,2),x(1,3),x(1,4) x(2,1),x(2,2),x(2,3),x(2,4) x(3,1),x(3,2),x(3,3),x(3,4) ..................................... x(N,1), x(N,2), x(N,3), x(N,4) Wins by final state ! Except if P2 finds an illegal transition! ==> P2 can check the consistency of one 3-uple per line ==> requests space log(N) ( = position of the 3-uple)
  71. 71. 2EXPTIME-complete PO games The two-player PO case is 2EXP-complete (games in succinct form).
  72. 72. Hummm ? Do you know a PO game in which you can ensure a win with probability 1 ?
  73. 73. Another formalization ==> beaucoup plus satisfaisant c
  74. 74. Madani et al. 1 player + random = undecidable. c
  75. 75. Madani et al. 1 player + random = undecidable. ==> answers a (related) question by Papadimitriou and Tsitsiklis. Proof ? Based on the emptiness problem for probabilistic finite automata (see Paz 71): Given a probabilistic finite automaton, is there a word accepted with proba at least c ? ==> undecidable
  76. 76. Consequence 1 player + random = undecidable ==> 2 players = undecidable. c
  77. 77. P r o o f o f “ u n d e c i d a b i l i t y w i t h 1 p l a y e r a g a i n s t r a n d o m ” = = > “ u n d e c i d a b i l i t y w i t h 2 p l a y e r s ” How to simulate 1 player + random with 2 players ?
  78. 78. A random node to be rewritten
  79. 79. A random node to be rewritten
  80. 80. A random node to be rewritten Rewritten as follows: ● Player 1 chooses a in [[0,N-1]] ● Player 2 chooses b in [[0,N-1]] ● c=(a+b) modulo N ● Go to tc Each player can force the game to be equivalent to the initial one (by playing uniformly) ==> the proba of winning for player 1 (in case of perfect play) is the same as for for the initial game ==> undecidability!
  81. 81. Important remark Existence of a strategy for winning with proba 0.5 = also undecidable for the restriction to games in which the proba is >0.6 or <0.4 ==> not just a subtle precision trouble.
  82. 82. So what ? We have seen that unbounded horizon + partial observability + natural criterion (not sure win) ==> undecidability contrarily to what is expected from usual definitions. What about bounded horizon ? ● Clearly decidable ● Complexity ? ● Algorithms ?
  83. 83. 3 algorithmes ● Model Predictive Control ● Stochastic Dynamic Programming ● Direct Policy Search S'ils sont en complexité inférieure à la borne, c'est qu'il y a un truc louche (e.g., probas massacrées).
  84. 84. ● Anticipative solutions: ● Maximum over strategic decisions ● Of pessimistic forecasts (e.g. quantile) ● Of optimized decisions, given forecasts & strategic decisions ● Pros/Cons ● In real life you can not guess November rains in January ==> at least test on real case ● Not so optimistic, convenient, simple MODEL PREDICTIVE CONTROL
  85. 85. ● Anticipative solutions: ● Maximum over strategic decisions ● Of pessimistic forecasts (e.g. quantile) ● Of optimized decisions, given forecasts & strategic decisions ● Pros/Cons ● In real life you can not guess November rains in January ==> at least test on real case ● Not so optimistic, convenient, simple MODEL PREDICTIVE CONTROL 1) done model predictive Control.
  86. 86. How to solve, simple case, binary stock, one day It is December 30th and I have water I do not use I use water (cost = 0) No more water, december 31st I have water, december 31st
  87. 87. How to solve, simple case, binary stock, one day It is December 30th and I have water: Future Cost = 0 I do not use I use water (cost = 0) No more water, december 31st I have water, december 31st
  88. 88. How to solve, simple case, binary stock, 3 days, no random process 1 1 2 32 2 2 2 3 2 3 3 3 3 3 4 1
  89. 89. How to solve, simple case, binary stock, 3 days, no random process 2 2 2 1 1 2 32 2 2 2 3 2 3 3 3 3 3 4 1
  90. 90. How to solve, simple case, binary stock, 3 days, no random process 4 5 7 3 4 6 2 2 2 1 1 2 32 2 2 2 3 2 3 3 3 3 3 4 1
  91. 91. This was deterministic ● How to add a random process ? ● Just multiply nodes :-)
  92. 92. How to solve, simple case, binary stock, 3 days, random parts 4 5 7 3 4 6 2 2 2 1 1 2 322 2 2 3 2 3 3 3 33 41 4 5 7 3 4 6 2 2 2 1 1 2 322 2 2 3 2 3 3 3 33 41 4 5 7 3 4 6 2 2 2 1 1 2 322 2 2 3 2 3 3 3 33 41 Probability 1/3 Probability 2/3 états correspondant à des transitions aléatoires ==> moyennes pondérées
  93. 93. Markov solution: ok you have understood stochastic dynamic programming (Bellman) Representation as a Markov decision process:
  94. 94. Markov solution: ok you have understood stochastic dynamic programming (Bellman) Representation as a Markov decision process: 2) done stochastic dynamic programming
  95. 95. Overfitting ● Representation as a Markov process (a tree): How do you actually make decisions when the random values are not exactly those observed ? (heuristics...) ● Check on random realizations which have not been used for building the tree. ● Does it work correctly ? ● Overfitting = when it works only on scenarios used in the optimization process.
  96. 96. Direct Policy Search ● Requires a parametric controller ● Principle: optimize the parameters on simulations ● Unusual in large scale Power Systems (we will see why) ● Usual in other areas (finance, evolutionary robotics)
  97. 97. Stochastic Control System Controller with memory commands State Cost State Random values Random process Optimize the controller thanks to a simulator: ● Command = Controller(w,state,forecasts) ● Simulate( w ) = stochastic loss with parameter w ● w* = argmin [Simulate(w)]
  98. 98. Stochastic Control System Controller with memory commands State Cost State Random values Random process Optimize the controller thanks to a simulator: ● Command = Controller(w,state,forecasts) ● Simulate( w ) = stochastic loss with parameter w ● w* = argmin [Simulate(w)] 3) done Direct policy search.
  99. 99. Décision stratégique Bonne décision = décision minimisant les coûts Mais comment calculer les coûts ?
  100. 100. Décision stratégique Bonne décision = décision minimisant les coûts Mais comment calculer les coûts ? Dépendent de: ● La météo (modèle aléatoire) ==> moyenne ● La politique (les pénalisations) ● … et les décisions tactiques!
  101. 101. Décision stratégique Simule le cas où on ne construit rien de neuf
  102. 102. Décision stratégique Simule le cas où on ne construit rien de neuf Simule la construction de connections Europe-Afrique
  103. 103. Décision stratégique Simule le cas où on ne construit rien de neuf Simule la construction de connections Europe-Afrique Simule la construction de connections Europe-Groënland-Amérique
  104. 104. Décision stratégique Simule le cas où on ne construit rien de neuf Simule la construction de connections Europe-Afrique Simule la construction de connections Europe-Groënland-AmériqueCentrales nucléaires partout
  105. 105. Stratégie, version simple ● Chacun des esclaves dépense 10h de calcul pour simuler son cas ● On prend l'esclave qui a les meilleurs résultats
  106. 106. Stratégie, version simple ● Chacun des esclaves dépense 10h de calcul pour simuler son cas ● On prend l'esclave qui a les meilleurs résultats ==> ça se parallélise bien ==> évidemment si on a une infinité de cas c'est plus compliqué, or en général c'est le cas (continu)
  107. 107. Stratégie, version simple ● Chacun des esclaves dépense 10h de calcul pour simuler son cas ● On prend l'esclave qui a les meilleurs résultats ==> ça se parallélise bien ==> évidemment si on a une infinité de cas c'est plus compliqué, or en général c'est le cas (continu) Exemple: ● f(x) se calcule en 12h, boîte noire ● On veut calculer “ argmin f ”
  108. 108. Stratégie, version simple ● Chacun des esclaves dépense 10h de calcul pour simuler son cas ● On prend l'esclave qui a les meilleurs résultats ==> ça se parallélise bien ==> évidemment si on a une infinité de cas c'est plus compliqué, or en général c'est le cas (continu) Exemple: ● f(x) se calcule en 12h, boîte noire ● On veut calculer “ argmin f ” Descentes de gradient, différences ffinies, algorithmes évolutionnaires, Quasi-newton... Pas de détails ici!
  109. 109. Disons que les esclaves renvoient des réponses constantes Dans le continu Nombre d'appel aux esclaves log(distanceàl'optimum) Pente = - C / d
  110. 110. Disons que les esclaves renvoient des réponses constantes Dans le continu Nombre d'appel aux esclaves log(distanceàl'optimum) Pente = - C / d Parallélisme linéaire jusqu'à d, logarithmique au delà (preuve à base de VC-dimension)
  111. 111. Disons que les esclaves renvoient des réponses constantes Dans le continu Nombre d'appel aux esclaves log(distanceàl'optimum) Pente = - C / d Parallélisme linéaire jusqu'à d, logarithmique au delà (preuve à base de VC-dimension)Parallélisme linéaire: Vitesse multipliée par le nombre de processeurs
  112. 112. Et si les esclaves sont stochastiques ? Dans le continu Log( Nombre d'appel aux esclaves ) log(distanceàl'optimum) Pente = - 1/2
  113. 113. Et si les esclaves sont stochastiques Dans le continu Log( Nombre d'appel aux esclaves ) log(distanceàl'optimum) Pente = - 1/2 Très parallèle
  114. 114. Résumé ● 3 algorithmes pour les problèmes “avec temps”: – Programmation dynamique stochastique – Recherche directe de police – Contrôle par modèle prédictif bien voir que SDP ==> Markov ● Décidabilité / complexité (observation partielle): – Stratégie garantissant “Proba=1”: 2EXPTIME complet – Unobservable ==> PSPACE complet – Fully observable ==> EXPTIME complet – Stratégie garantissant “Proba > c”: indécidable ● Phantom-Go est il décidable ?
  115. 115. Conclusion ● Nos algos: un mélange de SDP/DPS/MPC (fréquent) ● Est-il utile de faire plein de maths pour travailler sur ça ? ● – – – ● olivier.teytaud@inria.fr
  116. 116. Conclusion ● Nos algos: un mélange de SDP/DPS/MPC (fréquent) ● Est-il utile de faire plein de maths pour travailler sur ça ? ● Définitivement oui: – Trop d'approximations dans beaucoup de travaux – Concept d'erreur de modèle (convexité, markovianité, ...) – Compréhension de la contrainte de Markovianité ● Les grandes décisions dans l'énergie sont politiques ==> rôle des scientifiques ? olivier.teytaud@inria.fr

×