-
Notifications
You must be signed in to change notification settings - Fork 6
/
README.txt
111 lines (65 loc) · 3.2 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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:
http://www.graphviz.org/
Historical versions (2.28) are located here:
http://www.graphviz.org/pub/graphviz/stable/
- 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.