Skip to content

xmskk/Model-Predictive-Perimeter-Control-with-multi-region-MFDs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Model-Predictive-Perimeter-Control-with-multi-region-MFDs

This is an implementation of 'Nikolas Geroliminis, Jack Haddad, and Mohsen Ramezani. Optimal perimeter control for two urban regions with macroscopic fundamental diagrams: A model predictive approach. IEEE Transactions on Intelligent Transportation Systems, 14(1): 348–359, 2013'

Usage

This is a model predictive perimeter control simulation with multi region MFDs.

It requires 'mpctools' and 'CasADi', both can be acquired here.

Use the function mppc(Nc) in the 'mppc.m' file to run the simulation.

'Nc' specifies the predcition horizon of the MPC.

'run.m' file is used to run the MPC from Nc value of 1 to 40 and report on the results (mainly focusing on Nc=20).


Setup

The setup is as follows.

The heterogenous urban network consists of two regions with the dynamics of a specified macroscopic fundamental diagram (MFD).

The dynamics of this network is described as bellow.

Here, 'n' is the accumulation, 'q' is the demand inflow, and 'u' is the perimeter control parameter. 'G' represents the MFD.

The demand inflow is as shown below.

Further constraints are decribed bellow.

The specific values are adopted from 'Nikolas Geroliminis, Jack Haddad, and Mohsen Ramezani. Optimal perimeter control for two urban regions with macroscopic fundamental diagrams: A model predictive approach. IEEE Transactions on Intelligent Transportation Systems, 14(1): 348–359, 2013' with some simplications.

Formulation

In order to find the perimeter control parameter that minimizes the total time spent (TTS) for a finite horizon, the following discrete-time economic non-linear MPC problem is formulated.

Results for Nc = 20

The following figures show the results of the simulation when the prediction horizon Nc is equal to 20.

Figure_1 Figure_3 Figure_4 Figure_5

TTS for different Nc values

The following figure shows the total time spent per simulation with different values of Nc (1 ~ 40).

Figure_6

Here, any results before Nc = 17 can be ignored as they result in a gridlock where maximum accumulation is reached and no outflow is possible.

As for Nc > 17, increasing the value of Nc significantly decreases the TTS.

However, after a certain point (around Nc > 30), having longer horizons does not reward more information for the MPC model, and therefore the curve flattens out.


Python variant

The same problem has been solved using Python as well.

For this, the do_mpc library was used.

The results from the Python code is as shown below.

mpc_results

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published