This submission comprises the LPSAT LCNF solver and planning problem compiler. There are two subdirectories of src. The ipp directory contains a modified version of the IPP compiler (tweaked to compile metric planning problems rather than plain planning problems and to produce LCNF rather than CNF statements), some example domains, and some utilities for printing the solution (which are integrated into the core executable). The rel_sat directory a modified version of the RelSAT solver which, among other things, calls the Cassowary linear constraint solver embedded in the cassowary subdirectory. (Of these, only Cassowary is called as a purely external library.) What follows is the standard warning to those who would compile the LPSAT source code. Good luck! ----------------------------------------------------------------- Here is the code as it stands. It's not in the very best of conditions as it hasn't had any care and feeding for a couple of years, but you can give a shot at it. I've attached a compiled, gzipped copy of the binary to this file and a tarred, gzipped copy of the source. Warning: the source is not in the best of shape to be distributed. To (make a start on) making it, you'll need to run make in the rel_sat directory (hopefully the lib-cassowary.a in cassowary/c++ will be fine; otherwise, you'll need to make that and possibly creader in that directory as well) then in the ipp directory. That will make the lpsat executable in the ipp directory. You might also have to hand-make the files in ipp/print_solution and ipp/stats (g++ -c stats.cc, etc.). Tacked on is this response from the person I sent that message to: From: To: Steve Wolfman Subject: Re: LPSAT source steve, after some pain I've managed to recompile lpsat, but in order so to do I've had to correct what is apparently a syntax error, which puzzles me: in directory lpsat/source/rel_sat/cassowary/c++ in file ClLinearExpression.h at row 45 typedef map ClVarToCoeffMap; must be substituted by typedef map ClVarToCoeffMap; ...and analogously two rows below. Does this sound reasonable?