Installing Rima

Rima is open source, licensed under the MIT Licence. You can download the latest version of Rima here, or visit Rima's project page on GitHub.

In order to get Rima running, first you'll need Lua, and a linear program solver.

Prerequisites

Lua

You'll need to have Lua 5.1 installed and working (which should be easy). Instructions and binaries are here. Building Lua from source is very easy (possibly easier than using a package manager), but there probably is a package for your platform:

You might want to get LuaJIT instead, which is considerably faster on x86 platforms. It's available here

Solvers

If you want to solve any optimisation problems (you could just play with Rima's late-bound symbolic maths stuff, but I don't think it'll keep you amused for long), you'll need to install one of the solvers.

lpsolve is probably easier to get running - it compiles to one shared library. The download contains makefiles, build scripts and project files for most platforms. You'll need version 5.5.

The COIN solvers take a bit more work, and build several shared libraries. I think the right way to install them is to check out the latest stable version of CBC from COIN's Subversion server and proceed from there. I took a bit of a more tortuous route, and use the COIN trunk.

Rima also solves nonlinear problems if you have ipopt installed.

Building and installing Rima

There's a makefile in the distribution which, at this stage, I'm afraid you'll almost certainly have to modify yourself. It works for me on OS X, and I'd appreciate it if you let me know what works on your setup.

If you have CLP, CBC and lpsolve installed, ideally, you'll just have to:

make
make test
sudo make install

If you have ipopt installed then you'll need to build it separately:

make ipopt

Building

Unfortunately your solvers might not be where the makefile expects them, and you'll have to edit the makefile, modifying the lines

COIN_PREFIX=/usr/local

and

LPSOLVE_PREFIX=/usr/local

or alternatively, make COIN_PREFIX=/path/to/coin.

If you don't have all the solvers (or any), just make the ones you want: make clp cbc COIN_PREFIX=/path/to/coin

Testing

To test Rima, you'll need the Lua Filesystem library from here. Then run make test.

Installing

sudo make install should install Rima and any solver bindings you've built to the appropriate locations (where Lua can find them).

Making Documentation

To build the documentation (make doc), you'll need to install markdown.lua first.