MLHMP software - version 2.0
Multi-level hierarchic Markov processes
Updated version
This page describes and links to the MLHMP software in the current version 2.0. The current version is subject to changes without notice. For
the original version described in
the paper "A general software system for Markov decision
processes in herd management applications" published in Computers and
Electronics in Agriculture 38, 199-215, refer
to http://www.prodstyr.ihh.kvl.dk/software/mlhmp-org/mlhmp.html.
Version 1 can still be found at
http://www.prodstyr.ihh.kvl.dk/software/mlhmp1/mlhmp.html.
General description
Originally, the main purpose was to demonstrate the structure, parameter needs and optimization
methods of hierarchic Markov processes, but very soon it was realized that it
was also a very powerful tool for
real models. Over the years, numerous optimization models have been developed by
use of MLHMP. For further information about the system, you should consult the
paper "A general software system for Markov decision
processes in herd management applications" published in Computers and
Electronics in Agriculture 38, 199-215.
Features
- Full graphical user interface
- Supports multi-level hierarchic models
-
Supports actions defined at all levels thus integrating decisions on multiple
time scales
-
All stages, states and actions may be labeled by explanatory text strings
-
Entirely programmed in Java thus supporting multiple platforms.
-
Visible editing of models
-
Hierarchic optimization under 3 criteria of optimality
-
Value iteration
-
Supports probabilistic simulation under user defined policies
-
Supports calculation of additional technical or economic values by definition of
supplementary parameters
-
Powerful plug-in facility for real world applications
-
No built-in restrictions on model size (but in practice model size is limited
by system performance)
-
Saving of models to disk files for later use
-
An XML specification language for saving models in readable format.
-
Documentation available in PDF-format
User manual
The user manual
is available in PDF format which may be read by the free Adobe
Acrobat Reader.
Availability and disclaimer
The MLHMP software is free and may be downloaded by anyone. It is delivered
as it is without warranties of any kind.
Downloading and installing the software
Microsoft Windows
Scripts for the native windows installer are available. The software system is
provided in four versions (32/64 bits and with/without a Java Runtime
Environment (JRE) bundled with the application). Just download and run
the relevant MSI install file, which installs the
software and all plugins automatically and creates a shortcut in the windows
start menu:
If you download a version without JRE, you must first make sure that you have
Java installed on your system. The JRE must be at least version 1.6. For
the 64 bit version, it is recommended also to use a 64 bit JRE (otherwise you
will not be able to utilize the extended memory capacity of a 64 bit system).
If you download a version with the JRE bundled, a separate JRE exclusively
for MLHMP will be installed on your system. Those versions, therefore, take up
much more space on your hard disk.
Other platforms
The updated version of MLHMP is installed manually. You must make sure that you
have Java installed on your system. If that is not the case you can download it
from Sun's website. At least the Java Runtime
Environment (JRE) must be installed on your system. It is not necessary
to install the Software Development Kit (SDK).
Having verified the presence of Java on your system, the recommended install
procedure is as follows:
- Create a new directory.
- Download the MLHMP2.0.jar file and save it in
the new directory just created.
- Optionally, download the plugins2.0.jar
file and save it in the same directory.
- Download the Alien.zip file containing
necessary external libraries. Extract the contents of the zip file into the
same directory as the other files.
- Download the Limid.jar
file (from esthauge.dk) and save it in
the same directory.
- Create a script for launching the MLHMP software.
Samples
Currently, the following samples are available as examples of working models.
Download the desired model, save it to disk, and open in the MLHMP software:
- sow.hmp:
- A sow replacement model with 3 levels.
- simple-sow.hmp:
- A very simple sow replacement model with 2 levels.
The MLHMP software has a facility for installing and removing plug-ins, which
are Java classes extending an abstract ModelProvider
class. The purpose of a plug-in is to generate an entire model for a specific
purpose. When MLHMP is downloaded and installed it may already be equipped with
some plug-ins. It is also possible to download additional plug-ins from this homepage. For information on how to install and remove
plug-ins, reference is
made to the manual. Currently, the following plug-ins (and several others) are
included at download or available for separate download:
Description |
Name |
Class, zip or JAR file |
A plug-in only serving as example. Since the
source
code is available, it may be used as a template for writing your own
plug-ins. |
dk.ku.life.iph.mlhmp.plugins.StandardPlugin |
Included at
download |
A model for optimization of ley lengths of grass lands
in northern Norway. The model has 2 levels and around 75,000 states. It
uses Baysian updating of ley yield potentials. The model is generated after a dialog with the user, who may
modify many basic parameters. A separate menu is installed when the
plug-in is invoked. The menu is as an interface for entering yield and
damage observations from fields. The model has been presented in a
conference paper
as well as in a
journal paper. |
plugins.grass.GrassLand |
plugins2.0.jar |
A realistic sow replacement model using Baysian
updating in a three-level hierarchical Markov process with decisions at
two levels. The model is generated after a dialog with the user, who may
modify many basic parameters. A separate menu is installed when the
plug-in is invoked. The menu is as an interface for reading sow records
from a herd and afterwards to show the results for individual sows. This
is a good example of a realistic model that runs fast even on small
computers. The model has been presented in two journal papers:
Biological
model and
Optimization model |
dk.ku.life.iph.mlhmp.plugins.sows.ReducedSowModel |
Included at
download |
A model for simultaneous optimization of feeding level and slaughtering policy of organic steers.
The model has 4 levels and almost 500,000 states. It requires around 500
MB RAM. The model is generated after a dialog with the user, who may
modify many basic parameters. The model has been presented in a
journal paper.
A later paper
further illyustrates the model. |
plugins.steer.SteerModel |
plugins2.0.jar |
A beef heifer model for optimal
weaning, feeding and insemination of beef heifers under Polish conditions. |
plugins.beef.BeefHeiferModel |
beef.zip |
A small toy example of a dairy cow replacement model.
It resembles the example described in Dina
Notat No. 49. |
plugins.dairy.DairyCow |
plugins2.0.jar |
If the plug-in comes as a zip file or a jar file, it must be saved on the
hard disk. The file must be included in the class path of Java. If the plug-in
comes as a single class file it must be saved in a directory which is included
in the Java class path. The class path is typically specified in the
script used for launching. The name appearing in the
table above is the name to be specified when installing the plug-in.
Under Microsoft Windows a plug-in coming as a zip file can be unzipped to the
UserPlugins directory (see the manual for
further details). Writing your own plug-ins
If you want to write plug-ins yourself, you may consult the automatically
generated JavaDoc documentation online
(also installed locally by the Windows installer). It has to be un-zipped in an
empty directory, and afterwards you can load the index.html file in a browser.
As a further service you may use the sample code for
StandardPlugin.java
as a template for writing your own plug-in. The corresponding compiled class
file is included with the software at download, but it has to be installed as a
plug-in as described in the manual through the "Edit"/"Installed plugins" menu item.
|