lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hi,

I'm happy to announce version 0.03 of Rima, a symbolic math modelling package and binding to a number of linear programming [1] libraries.

Documentation starts at http://www.incremental.co.nz/projects/lua.html , development is hosted on google code at http://code.google.com/p/rima/ , and you can get the tarball from http://rima.googlecode.com/files/rima-0.03.tar.gz

If you're wanting to solve LPs from Lua, then as far as I know, Rima's your only choice (no-one has told me otherwise).  If you're not interested in LPs, then Rima's late-bound symbolic math is worth a look.  It might be pretty nifty, and at the very least it's a horribly complicated way of solving a simple problem.

Changes since the last version are a better syntax for array assignments:

table.key[{i=I}].value = i^2

or

assignment.meet_demand[{s=stores}] = rima.C(rima.sum{p=plants}(flow[p][s]), "==", s.demand)

and constraints are stored as part of a problem scope, rather than outside it, which makes problem more modular and which means you can name your constraints and put them in your own structures.  There's also an attempt at a rockspec in there, but it ain't right yet.

Coming up (this could take a while) I hope to move onto column-wise modelling and submodels, heading for some kind really nice composability system for models.

Any feedback would be much appreciated.


Cheers,
Geoff

[1] http://en.wikipedia.org/wiki/Linear_programming