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:

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.