Basic Installation and Invocation
May 21, 2014 ยท View on GitHub
xadd-inference -- Implementation of Extended ADDs (XADDs) and XADD-based inference algorithms.
Copyright (C) 2010, Scott Sanner (ssanner [@] gmail.com) Karina Valdivia Delgado (karinaval [@] gmail.com)
License: MPL 1.1 (with exceptions for 3rd party software & data)
The Java interface to LPSolve
http://lpsolve.sourceforge.net/5.5/
is included for the user's convenience. LPSolve
uses an LGPL license:
http://lpsolve.sourceforge.net/5.5/LGPL.htm
Also includes a 2D Java plotting package in PlotPackage.jar available here:
http://homepage.mac.com/jhuwaldt/java/Packages/Plot/PlotPackage.html
Basic Installation and Invocation
xadd-inference/ provides the following subdirectories:
src All source code (.java files)
bin All binaries (.class files)
lib All 3rd party libraries (.jar files)
files All supplementary files
Always ensure that all .jar files in lib/ are included in your CLASSPATH for both Java compilation and at Java runtime.
We highly recommend that you use Eclipse for Java development:
http://www.eclipse.org/downloads/
In Eclipse the CLASSPATH libraries can be set via
Project -> Properties -> Java Build Path -> Libraries Tab
For running this code from a terminal, we provide two scripts
run For Windows/Cygwin and UNIX/Linux systems
run.bat For the Windows CMD prompt
You can pass up to 10 arguments to these scripts as required.
Using the XADD-based Continuous MDP Solver
**LPSolve and GraphViz should be installed on your system. See below for instructions on installing each.
For an example to start with, try running
./run camdp.CAMDP src/camdp/ex/discact/knapsackM.cmdp 2 false false
which runs value iteration on the problem
src/camdp/ex/discact/knapsackM.cmdp
for two iterations. Numerous other CMDP examples including those
with continuous actions can be found in
src/camdp/ex/
Installing LPSolve
LPSolve requires binaries appropriate for the user's system, e.g., Windows requires lpsolve55j.dll. To obtain these binaries, please consult:
http://lpsolve.sourceforge.net/5.5/distribution.htm http://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.0/
To verify it is installed correctly, run
lpsolve.LP
and ensure that there are no errors (LPSolve provides verbose output about it's solution, but these are not errors).
NOTE: Windows users simply need to copy 3 files "lp_solve.exe", "lpsolve55.dll" and "lpsolve55j.dll" to C:\Windows
GraphViz Visualization
To enable Java Graphviz visualization:
-
Download and install GraphViz v2.28 on your system:
Historical versions (2.28) are located here:
-
Make sure "dot" and "neato" (including ".exe" if running on Windows) are in your PATH, i.e., you can execute them from any home directory
Run graph.Graph.main() and verify that a cleanly formatted Java window displaying a graph appears. If so then other code which uses the Graph class should run properly.