GMDPtoolbox

Matlab tools for Graph-based Markov Decision Processes

Download GMDPtoolbox

From the MatlabCentral page or Project Forge Files page download the file gmdptoolbox.zip.
Unzip the file and go to the created directory.
On Linux system execute the following system commands:
    unzip gmdptoolbox.zip
    cd gmdptoolbox

GMDPtoolbox relies on graphViz4Matlab toolbox to display graphs. Download this toolbox, from MatlabCentral in the gmdptoolbox directory.
Unzip the file.
On Linux system execute the following system command:
    unzip graphViz4Matlab_03Mar2010.zip

To use the toolbox in a MATLAB session, add the gmdptoolbox directory and subdirectories to search path. Execute the following MATLAB commands:
    >> GMDPtoolbox_path = pwd;
    >> addpath(genpath(GMDPtoolbox_path))

In this MATLAB session, it is then possible to use all the GMDPtoolbox functions.

To access the PDF user documentation, open the file doc/ReferenceManual.pdf with an appropriate software.

Quick start

To quickly learn how to use the toolbox, open the file doc/QuickStart.pdf with an appropriate software.

FAQ

If you not have found below the answer at your question or to suggest a feature, add a request on the
Bugs and Feature request of the project.


* Why can I not visualize a graph with a function should open a figure window ?

First, be sure to have added the path to graphViz4Matlab toolbox directory and sub-directories in search paths of your MATLAB session (see above procedure).

Second, check if you are allowed to write files in the current directory when the function is called. A temporary file has to be written before displaying the graph in a MATLAB figure window.

Third, check the installation of graphViz4Matlab toolbox. in MATLAB, add the toolbox directory and sub-directories to search paths. Try to execute the following command: 'demos/graphViz4MatlabDEMO1'. A MATLAB figure window must open.

Finally, be sure that graphviz is installed and accessible. Test the dot command, try to execute in a system window 'dot -V'. The version should be displayed: 'dot - graphviz version 2.38.0 (20140413.2041)'.


* What is the 'parfor' instruction in gmdp_policy_iteration_MF function ?

When the MATLAB Parallel Computing Toolbox is available, execute loop iterations in parallel.


* I do not have the MATLAB Parallel toolbox ?

Change 'parfor' in 'for' in the code of the 2 resolution functions: gmdp_linear_programming and gmdp_policy_iteration_MF.


* The following functions gmdp_eval_policy_value, gmdp_eval_policy_value_site _contribution, gmdp_eval_policy_state_time do not handle a GMDP with 1 site ?

This is a limit case for a GMDP. These functions test the size of the variables created by gmdp_simulate_policy. One of the dimension is the number of site, so the variables are seen in 2 dimensions.
Just comment the dimension test at the beginning of the function, it then run well.


* Error with graphViz4Matlab: "There is no DisplayName property on the Rectangle class. Error in graphViz4MatlabNode/drawNode" ?

The error was find with the following call:
>>value_site = gmdp_eval_policy_value_site_contribution(GMDP, discount, sim_reward);
Error using rectangle
There is no DisplayName property on the Rectangle class.
Error in graphViz4MatlabNode/drawNode (line 193)
obj.rechandle = rectangle(...

To avoid it, edit the file graphViz4Matlab_03Mar2010/util/graphViz4MatlabNode.m
and remove the line 201:
'DisplayName' ,obj.label ,....