MLHMP software
Multi-level hierarchic Markov processes
Original version
This page describes and links to the MLHMP software in the 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. For the latest version, refer to http://www.prodstyr.ihh.kvl.dk/software/mlhmp.html.
![]()
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.The example used in the paper comes with the system as a plug-in.
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. In practice it has been tested under Microsoft Windows 95/98, OS/2 Warp 4.0 and Sun Solaris
- 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
The software is downloaded and installed directly from the web independently of platform. The only thing you need is a browser supporting Java applets (for instance Netscape Navigator 4.04 or higher or Microsoft Internet Explorer 4.0 or higher).During installation you will be prompted for a few options. You will be asked to grant the applet certain privileges that are considered high risk. In order to perform the installation you must grant those privileges. It is recommended that you let the applet install the recommended Java Runtime Environment (Java Virtual Machine or just Java VM) unless you have previously installed Java Runtime Environment version 1.2 on your computer (It must be version 1.2 - not 1.3 or higher). The standard version JVIEW in the Windows directory will not work!
The setup procedure will add MLHMP to the "Start" menu under windows, add a shortcut to MLHMP on your desktop, register files *.hmp and *.hma with MLHMP, and supply you with a few model examples stored in the subdirectory "Asci" (type *.hma for import) and "samples" (type *.hmp for opening). If you prefer to run the system manually, you may instead just download the mlhmp.jar file and invoke it from the command line.
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 are available for download:
Description Name Class or zip 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. MlhmpPlugins.StandardPlugin 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. MlhmpPlugins.SteerModel 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. MlhmpPlugins.GrassLand Included at download 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 Dina Research Report No. 96. mlhmp.ReducedSowModel Included at download The example from the paper mentioned. A hierarchic sow replacement model with 3 levels. Decisions at two levels. The model is generated as a batch job without any choices by the user. Be patient: Loading the model (when properly installed) may take a few minutes (depending on your computer). mlhmp.Spanien3 Included at download If the plug-in comes as a zip file, it must be unzipped in the install directory of MLHMP (by default this is "C:\Markov"). 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.