SlideShare a Scribd company logo
1 of 35
離散および連続的動作空間における深
層強化学習を用いたスマートエネル
ギーシステムの最適化
○日置 智之1, 武石 将知1, Malla Dinesh 3 , 坂本克好
1 ,2, 山口 浩一1 ,2, 曽我部 東馬1 ,2
-PERC
1電気通信大学基盤理工学専攻
3株式会社グリッド
2電気通信大学i-PERC
Example:Branch and Bound
数学厳密解を中心とした方法 → 植物の模倣
Tree search
Background: 1代目最適化手法: (1950〜1980)
引用元:https://www.youtube.com/watch?v=j028fsZZZI4
Ant Colony
Particle Swarm
Generic Algorithm
Cell
引用元:https://www.youtube.com/watch?v=t021mqSSS15
ヒューリスティック近似解計算手法: →
Background: 2代目最適化手法(1980〜)
下等生物・動物模倣
Background: 3代目最適化手法(2017年〜)
深層強化学習手法 (Deep Neural Network)
最強人工知能AlphaZeroの誕生: 深層強化学習の大成功
Monte-Carlo tree search
CNN
Deep
Neural
Network
Monte-Carlo tree search
CNN
Deep
Neural
Network
強化学習
深層学習深層学習
Nature ,518, 529–533 (26 February 2015)
smart grid smart city
大規模インフラシステムの最適化
深層強化学習を駆動した研究@曽我部研
𝑀𝑎𝑥: 𝑓 𝑥, 𝑦, 𝑧, … . ∞
𝑠𝑏: … … … . .
Local vs Global
複雑&動的
非線形
≠
スマートグリッドにおける最適化の特徴と挑戦点:
不安定
探索コスト
スマートグリッドにおける電気系統表現
電気系統表現 電気系統表現
売る 買う売る/
放電
売る
買う/
充電
action_1
action_2
action_3
action_4
観測
状態
Q: どんな行動を取る
最も高い報酬に繋ぐ行動を取る ← 強化学習
スマートグリッドと深層強化学習の融合
買う
売る
充電
放電
スマートグリッド‘self-play’ シミュレータ:
Benchmarkテスト: 離散動作型深層強化学習
GRID
(Electric company)
PV Battery Building load
sell Buy
Sell
/Discharge
Buy
/Charge
sell売る
売る 買う/
充電 売る/
放電
買う
𝑆𝑡+1
𝑄 𝑠𝑡+1, 𝑎1
𝒂 𝟏 =充電・放電
𝒂 𝟐 = 買電
𝒂 𝟑 = 売電
𝑄 𝑠𝑡+1, 𝑎2
𝑄 𝑠𝑡+1, 𝑎3
𝜽 𝒕+𝟏 = 𝜽 𝒕 + 𝜶{𝒓𝒕 + 𝜸𝒎𝒂𝒙 𝑸 𝒔 𝒕+𝟏, 𝒂 𝒕+𝟏 − 𝑸 𝒔 𝒕, 𝒂 𝒕 }
𝝏𝑬
𝝏𝜽
𝑫𝒆𝒆𝒑 𝑸 𝒏𝒆𝒖𝒓𝒂𝒍𝒏𝒆𝒕𝒘𝒐𝒓𝒌(𝑫𝑸𝑵) : 離散行動
1
2
3
Gaussian distribution
𝑎1
𝑎2
𝑎3
𝜽 𝑷,𝒕+𝟏 = 𝜽 𝑷,𝒕 + 𝜶{𝒓𝒕+𝟏 + 𝜸𝑽 𝑺𝒕+𝟏 − 𝜸𝑽 𝑺𝒕 }𝜵𝒍𝒐𝒈𝝅 (𝒂 𝒕|𝒔 𝒕, 𝜽 𝑷)
売る値段
買う値段
充電量・放電量
𝑫𝒆𝒆𝒑 𝑨𝒄𝒕𝒐𝒓 𝑪𝒓𝒊𝒕𝒊𝒄 (𝑫𝑨𝑪):連続行動
𝑪𝒓𝒊𝒕𝒊𝒄 𝑨𝒄𝒕𝒐𝒓
𝑻𝑫 − 𝒆𝒓𝒓𝒐𝒓
𝟎. 𝟏𝟐$/𝒘𝒉
𝟎. 𝟑𝟐$/𝒘𝒉
𝟑𝟏𝟗𝒘
深層強化学習アルゴリズム: 離散 と 連続動作空間
深層強化学習
Deep Q-learning (DQN)
Benchmark ファイト: MILP vs DQN
Mixed integral linear
programing (MILP)
MILP DQN
第2世代・代表的最適化手法 第3世代最適化手法
混合整数線形計画
𝑃𝑏𝑎𝑡𝑡𝐸 ≤ 𝑃𝑏𝑎𝑡𝑡𝑒𝑟𝑦_𝑚𝑎𝑥
s.t.
Action: 𝑎𝑖 = 0,1
𝑃𝑏𝑢𝑦, 𝑃𝑠𝑒𝑙𝑙, 𝑃𝑏𝑎𝑡𝐸, …
𝒊𝒇 𝒔. 𝒕. = 𝒕𝒓𝒖𝒆
𝑒𝑙𝑠𝑒
𝑅 = −100
𝑅 = 𝑓(𝑥)
MILP DQN
𝑃𝑏𝑎𝑡𝑡𝑒𝑟𝑦_𝑚𝑖𝑛 ≤ 𝑃𝑏𝑎𝑡𝑡𝐸
Variables:
𝑎 𝑏𝑢𝑦/𝑠𝑒𝑙𝑙 = 0,1
𝑎 𝑐ℎ𝑎𝑟𝑔𝑒/𝑑𝑖𝑠𝑐ℎ𝑎𝑟𝑔𝑒 = 0,1
𝑃𝑏𝑢𝑦 ∶ 𝑊
𝑃𝑠𝑒𝑙𝑙 : 𝑊
𝑃𝑏𝑎𝑡𝑡𝐸 : 𝑊ℎ
𝑃𝑏𝑎𝑡𝑡𝐷 : 𝑊
𝑃𝑏𝑎𝑡𝑡𝐶 : 𝑊
𝑭 𝒙 =
𝒊=𝟏
𝒏
𝑪 𝒔𝒆𝒍𝒍 𝑷 𝒔𝒆𝒍𝒍 ∗ 𝒂 𝒔𝒆𝒍𝒍 − 𝑪 𝒃𝒖𝒚 𝑷 𝒃𝒖𝒚 ∗ 𝒂 𝒃𝒖𝒚
Reward:
State:
Maximize object function
Benchmark ファイト: 条件設定
公平性: 同一目的関数&同一制約条件
Case1:時刻別電気購入と売却単価、発電量と消費量
時刻別太陽光発電量と負荷消費量
電気購入価格
電気販売価格
最も単純な方法:バッテリーを使用しない
バッテリーを使用しない方法による利益
収入= 𝑷 𝒔𝒐𝒍𝒂𝒓 ∗ 𝑪 𝒔𝒆𝒍𝒍 = 𝟗𝟓𝟏. 𝟕(円)
𝑃𝑠𝑜𝑙𝑎𝑟:太陽光発電量
𝑪 𝒔𝒆𝒍𝒍:
電気販売値段
支出= 𝑷𝒍𝒐𝒂𝒅 ∗ 𝑪 𝒃𝒖𝒚 = 𝟏𝟎𝟔𝟕. 𝟑. 𝟕(円)
𝑃𝑙𝑜𝑎𝑑:負荷消費量
𝑪 𝒃𝒖𝒚:
電気購入値段
利益= 𝟗𝟓𝟏. 𝟕 − 𝟏𝟎𝟔𝟕. 𝟑 = −𝟏𝟏𝟓(円)
賢い方法:バッテリーの充放電を活用する
(条件:1日終了時にバッテリーの初期容量に戻る)
Case1の試合結果:
MILP方法による利益=74円 DQN方法による利益=78円
𝑷 𝑫𝑸𝑵 − 𝑷 𝑴𝑰𝑳𝑷 = 𝟒(𝑱𝑷𝒀)
バッテリーの充放電曲線
目的関数:利益 𝒙 =
𝒊=𝟏
𝒏
売電価格 ∗ 売電量 − 買電価格 ∗ 買電量
MILP法対DQN法:区域毎に得た利益の比較
-120
-100
-80
-60
-40
-20
0
20
40
60
80
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 15.5 16 16.5 17 17.5 18 18.5 19 19.5 20 20.5 21 21.5 22 22.5 23 23.5 24
Profit(JPY)
Profit_MILP
Profit_DQN
Time(hour)
Sell
Buy
電気購⼊価格
� = −107.59
� = −105.9 � = −499.74
� = −450.39 �
= −37.0
�
= −70.3
�
= 2.5032
� = 703.7
� = 709.9
�
= 6.8212
𝜹 = 𝑷 𝑫𝑸𝑵 − 𝑷 𝑴𝑰𝑳𝑷 ≅ 𝟒(𝑱𝑷𝒀)
-120
-100
-80
-60
-40
-20
0
20
40
60
80
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 15.5 16 16.5 17 17.5 18 18.5 19 19.5 20 20.5 21 21.5 22 22.5 23 23.5 24
Profit(JPY)
Profit_MILP
Profit_DQN
Time(hour)
Sell
Buy
電気購⼊価格
� = 49.3508� = −1.6956
�
= −4.318
� = −6.2
勝者:DQN法
-120
-100
-80
-60
-40
-20
0
20
40
60
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 15.5 16 16.5 17 17.5 18 18.5 19 19.5 20 20.5 21 21.5 22 22.5 23 23.5 24
Profit(JPY)
Profit_MILP
Profit_DQN
Time(hour)
Sell
Buy
電気購⼊価格
� = 49.8692
� = −1.6956
�
= −4.318
� = −6.2
� = � − �
𝜹 = 𝑷 𝑫𝑸𝑵 − 𝑷 𝑴𝑰𝑳𝑷 ≅ 𝟒(𝑱𝑷𝒀)
Case2:季節別に消費量を変える(春・夏)
http://www.tepco.co.jp/e-rates/individual/menu/home/images/home06-j_il01.gif
東京電力の公開データを使用(春・夏)
消費量のみを
変化させる(他
の条件は同じ)
春
夏
バッテリーの充放電を利用した方法の利益比較(夏)
MILP方法による利益=79.2円 DQN方法による利益=79.3円
𝑷 𝑫𝑸𝑵 − 𝑷 𝑴𝑰𝑳𝑷 = 𝟎. 𝟏(𝑱𝑷𝒀)
バッテリーの充放電曲線
目的関数:利益 𝒙 =
𝒊=𝟏
𝒏
売電価格 ∗ 売電量 − 買電価格 ∗ 買電量
MILP法対DQN法:区域毎に得た利益の差額(夏)
-120
-100
-80
-60
-40
-20
0
20
40
60
80
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 15.5 16 16.5 17 17.5 18 18.5 19 19.5 20 20.5 21 21.5 22 22.5 23 23.5 24
Profit(JPY)
Profit_MILP
Profit_DQN
Time(hour)
Sell
Buy
電気購⼊価格
� = 67.977
� = −43.61
� = � − �
� = −0.3768
�
= −3.979
� = −24.614
バッテリーの充放電を利用した方法の利益比較(春)
MILP方法による利益=399円 DQN方法による利益=409円
𝑷 𝑫𝑸𝑵 − 𝑷 𝑴𝑰𝑳𝑷 = 𝟏𝟎(𝑱𝑷𝒀)
バッテリーの充放電曲線
目的関数:利益 𝒙 =
𝒊=𝟏
𝒏
売電価格 ∗ 売電量 − 買電価格 ∗ 買電量
MILP法対DQN法:区域毎に得た利益の差額(春)
-120
-100
-80
-60
-40
-20
0
20
40
60
80
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 15.5 16 16.5 17 17.5 18 18.5 19 19.5 20 20.5 21 21.5 22 22.5 23 23.5 24
Profit(JPY)
Profit_MILP
Profit_DQN
Time(hour)
Sell
Buy
電気購⼊価格
� = � − �
� = −1.3188
� = −34.84
� = 55.645
� = −33.26
� = 23.841
0
500
1000
1500
2000
2500
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Power(W)
Time(hour)
2Peak PV
Case3:天候を考慮した太陽光発電量を変える
http://www.tepco.co.jp/e-rates/individual/menu/home/images/home06-j_il01.gif
東京電力の公開データを使用(春・夏)
PVと消費量を変化させる
(売買価格は同じ)
春
夏
MILP法対DQN法: 太陽光発電量を変える(春)
-120
-100
-80
-60
-40
-20
0
20
40
60
80
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 15.5 16 16.5 17 17.5 18 18.5 19 19.5 20 20.5 21 21.5 22 22.5 23 23.5 24
Profit(JPY)
Profit_MILP
Profit_DQN
Time(hour)
Sell
Buy
電気購⼊価格
� = −16.99
� = −3.11 � = −403.46
� = −346.18 �
= −35
�
= −69.2
�
= 323.95
� = 624.34
� = 672.39
�
= 298.78
MILP方法による利益=530円 DQN方法による利益=550円𝜹 = 𝑷 𝑫𝑸𝑵 − 𝑷 𝑴𝑰𝑳𝑷 ≅ 𝟐𝟎(𝑱𝑷𝒀)
MILP法対DQN法: 太陽光発電量を変える(夏)
MILP方法による利益=191円 DQN方法による利益=202円
-120
-100
-80
-60
-40
-20
0
20
40
60
80
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 15.5 16 16.5 17 17.5 18 18.5 19 19.5 20 20.5 21 21.5 22 22.5 23 23.5 24
Profit(JPY)
Profit_MILP
Profit_DQN
Time(hour)
Sell
Buy
電気購⼊価格
� = 11.57
� = 13.64 � = −569
� = −508.5 �
= −44
�
= −86.6
�
= 243.3
� = 542.2
� = 546.7
�
= 243.3
𝜹 = 𝑷 𝑫𝑸𝑵 − 𝑷 𝑴𝑰𝑳𝑷 ≅ 𝟏𝟏(𝑱𝑷𝒀)
MILP法対DQN法: 太陽光発電量を変える(冬)
MILP方法による利益=179円 DQN方法による利益=183円
-120
-100
-80
-60
-40
-20
0
20
40
60
80
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 15.5 16 16.5 17 17.5 18 18.5 19 19.5 20 20.5 21 21.5 22 22.5 23 23.5 24
Profit(JPY)
Profit_MILP
Profit_DQN
Time(hour)
Sell
Buy
電気購⼊価格
� = −49.77
� = −47.89 � = −536.1
� = −490.2 �
= −37
�
= −62.4
�
= 155.1
� = 630.5
� = 644.5
�
= 155.1
𝜹 = 𝑷 𝑫𝑸𝑵 − 𝑷 𝑴𝑰𝑳𝑷 ≅ 𝟒(𝑱𝑷𝒀)
Case4:電力量料金単価を変える
http://www.tepco.co.jp/e-rates/individual/menu/home/images/home06-j_il01.gif
発電量
消費量
グラフの金額は1kWh
あたりの電力量料金
単価 (東京電力の実
際の料金設定を参考)
MILP法対DQN法: 電力量料金単価を変える
-120
-100
-80
-60
-40
-20
0
20
40
60
80
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 15.5 16 16.5 17 17.5 18 18.5 19 19.5 20 20.5 21 21.5 22 22.5 23 23.5 24
Profit(JPY)
Profit_MILP
Profit_DQN
Time(hour)
Sell
Buy
電気購⼊価格
� = −108.35
� = −105.9 � = −561
� = −518.28 �
= −37
�
= −63.3
�
= 139.68
� = 553.35
� = 709.9
�
= −3.2
MILP方法による利益=2.8円 DQN方法による利益=3.1円
𝜹 = 𝑷 𝑫𝑸𝑵 − 𝑷 𝑴𝑰𝑳𝑷 ≅ 𝟎. 𝟑(𝑱𝑷𝒀)
MILP DQN
MILP vs DQNの ’試合’ 結果まとめ
win
win
win
win
win
win
win
win
1 : 7
Algorithm Profit[JPY] Demand_春 Demand_夏 Demand_冬 Price_default Price_東電 Price_flip PV(天気)_晴れ PV(天気)_晴れ+雨
MILP 74
DQN 78
MILP 79.2
DQN 79.3
MILP 399
DQN 409
MILP 530
DQN 550
MILP 191
DQN 202
MILP 179
DQN 183
MILP 2.78
DQN 3.11
MILP 3
DQN -173 ◯◯ ◯
◯ ◯
◯ ◯
◯ ◯
◯
◯
◯
◯
◯
◯
◯
◯ ◯
◯ ◯
◯ ◯
◯ ◯
※Price_flip
負けた試合:
𝜹 = 𝑷 𝑫𝑸𝑵 − 𝑷 𝑴𝑰𝑳𝑷 = −𝟏𝟕𝟑 − 𝟑 = −𝟏𝟕𝟔(𝑱𝑷𝒀)

More Related Content

More from Tomoyuki Hioki

【論文紹介】Seq2Seq (NIPS 2014)
【論文紹介】Seq2Seq (NIPS 2014)【論文紹介】Seq2Seq (NIPS 2014)
【論文紹介】Seq2Seq (NIPS 2014)Tomoyuki Hioki
 
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)Tomoyuki Hioki
 
【論文紹介】Deep Reinforcement Learning for Solving the Vehicle Routing Problem

【論文紹介】Deep Reinforcement Learning for Solving the Vehicle Routing Problem
【論文紹介】Deep Reinforcement Learning for Solving the Vehicle Routing Problem

【論文紹介】Deep Reinforcement Learning for Solving the Vehicle Routing Problem
Tomoyuki Hioki
 

More from Tomoyuki Hioki (10)

【論文紹介】Seq2Seq (NIPS 2014)
【論文紹介】Seq2Seq (NIPS 2014)【論文紹介】Seq2Seq (NIPS 2014)
【論文紹介】Seq2Seq (NIPS 2014)
 
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
[論文紹介] LSTM (LONG SHORT-TERM MEMORY)
 
【論文紹介】Deep Reinforcement Learning for Solving the Vehicle Routing Problem

【論文紹介】Deep Reinforcement Learning for Solving the Vehicle Routing Problem
【論文紹介】Deep Reinforcement Learning for Solving the Vehicle Routing Problem

【論文紹介】Deep Reinforcement Learning for Solving the Vehicle Routing Problem

 
Prml1.2.5~1.2.6
Prml1.2.5~1.2.6Prml1.2.5~1.2.6
Prml1.2.5~1.2.6
 
Prml1.2.4
Prml1.2.4Prml1.2.4
Prml1.2.4
 
Prml1.2.3
Prml1.2.3Prml1.2.3
Prml1.2.3
 
Prml1.2.1~1.2.2
Prml1.2.1~1.2.2Prml1.2.1~1.2.2
Prml1.2.1~1.2.2
 
PRML1.1
PRML1.1PRML1.1
PRML1.1
 
PRML1.2
PRML1.2PRML1.2
PRML1.2
 
PRML1.1
PRML1.1PRML1.1
PRML1.1
 

Smart Grid Optimization by Deep Reinforcement Learning over Discrete and Continuous Action Space