Using LSTM network in Nonlinear MPC design?

Hello everyone,
I would like to identify a system that has three inputs [u_1(k) u_2(k) y(k-1)] and single output as y(k) using LSTM time series estimation. I have a couple of questions regarding the implementation of this model in nonlinear MPC.
Based on the documentation of NMPC, I need to define a function for a state called StateFcn and an output called OutputFcn. As my model is based on the LSTM network, I was wondering how I can do that? Unfortunately, I couldn't find any example when I dig more into it. It worth mentioning that I am using GT-suit co-simulation as a virtual test machine, and I am going to implement this LSTM-based MPC to that.
Thank you in advance for your help.

3 件のコメント

Ze Liu
Ze Liu 2022 年 12 月 25 日
Hi Armin
Have you solved this problem? If so, can you please share the solution?
You can contact me via email:mrliuze@163.com
Thank you very much!
Dun-Ren Liu
Dun-Ren Liu 2022 年 12 月 26 日
I face the same problem.can you please share the solution?
thanks~
MD RAHAT
MD RAHAT 2023 年 9 月 14 日
I am having exactly same problem. Can you please guide me a little if you have found the solution to it

サインインしてコメントする。

回答 (1 件)

Niccolò Dal Santo
Niccolò Dal Santo 2021 年 7 月 30 日

0 投票

Hi Armin,
If I understand correctly you'd want train an LSTM for a time series with feedback. You can follow this example which shows how do that:
You should define your inputs as a three-elements vector ([u_1(k) u_2(k) y(k)], hence numFeatures = 3), one response and train your LSTM accordingly.
For further reading, here is an example for training an LSTM with more than one input feature: https://www.mathworks.com/help/deeplearning/ug/sequence-to-sequence-regression-using-deep-learning.html
Hope this helps.
Cheers,
Niccolò

1 件のコメント

Armin Norouzi
Armin Norouzi 2021 年 8 月 17 日
Thank you for your response. I modeled my system using LSTM, and my main problem is how to use this model inside nlmpc mode. I understand that this model predicts sequence output for given sequence input. However, in nlmpc, I need to provide x(k+1) = f(u(k)) model, i.e., for given inputs in the previous time step, a model needs to be capable of estimating the next time step output. I would appreciate it if you could share your thoughts about this matter.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeDeep Learning Toolbox についてさらに検索

質問済み:

2021 年 6 月 11 日

コメント済み:

2023 年 9 月 14 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by