Det Biovidenskabelige Fakultet - Københavns Universitetwww.life.ku.dkFaculty of Life Sciences

Software

[Home][Software]

 

MLHMP software

Multi-level hierarchic Markov processes

Updated version

This page describes and links to the MLHMP software in the current version. 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.

 

MLHMP software: Program window

 

General description

The MLHMP software may be regarded as a heavily improved and generalized upgrade of the old HIERARKI software for the DOS platform. On the other hand it has so many additional facilities that it has very little in common with the DOS program. The main purpose is to demonstrate the structure, parameter needs and optimization methods of hierarchic Markov processes. It may however also be used for real models. 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 ReaderGet 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

A script for the native windows installer is available. Just download and run the mlhmp.msi install file. It installs the software and all plugins automatically and creates a shortcut in the windows start menu.

 

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:

  1. Create a new directory.
  2. Download the mlhmp.jar file and save it in the new directory just created.
  3. Download the Limid.jar file (from esthauge.dk) and save it in the same directory.
  4. Create a script 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.

Plug-ins

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:

 
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.kvl.ihh.prodstyr.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 plugins.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.kvl.ihh.prodstyr.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 conference paper. plugins.steer.SteerModel plugins.jar
A small toy example of a dairy cow replacement model. It resembles the example described in Dina Notat No. 49. plugins.dairy.DairyCow plugins.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.

 

Writing your own plug-ins

If you want to write plug-ins yourself, you may consult the automatically generated JavaDoc documentation online or download it as a zip-file. 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.