Search code examples
pythonparallel-processingsimulinkreinforcement-learning

A3C on simulink model


I am currently running seperately my deep reinforcement learning algorithms on my simulink model. They are connected by a TCP/IP connection. Python sends action to simulink, simulink send environment values to python.

git: https://github.com/qLience/eligibility_pump

My problem is that my RL algorithm often is stuck in a local minimum where the A3C algorithm would help i thought because we are running multiple at the same time and by sharing memory then avoiding getting stuck in a local minimum.

But how do i run multiple simulink models with my A3C algorithm from python? I have tried to use two algorithms on my simulink running on different TCP/IP ports but i cannot do it.

I have also thought about a shared memory on the RAM between simulink and python but i really do not know how to execute this.

If you have a better suggestion and guide to do this then I will be in dent :D!


Solution

  • You could use multithreading in python to run individual matlab engine for each of your A3C workers. In that case your env should a called using a matlab engine in the python.

    akhil