[Coin-announce] Rima 0.04: Yet Another Modelling Language

Geoff Leyland geoff_leyland at fastmail.fm
Fri Oct 29 02:41:59 EDT 2010


I'm happy to announce version 0.04 of Rima, a symbolic math modelling package for Lua[1] binding to CLP, CBC and lpsolve.

Rima has a number of nice features:

- unlike most of the bindings to procedural languages that I'm aware of, models are symbolic and functional rather than imperative
- Rima allows very rich interaction with data structures - dynamic objects and duck typing for math modelling
- models are very easily encapsulated and extended
- there's strong and flexible separation between models and data.  All data is late bound, and functions and expressions are just data
- you can compose models from parts

The main change since 0.03 is the ability to work with submodels.  This is explained in http://rima.incremental.co.nz/knapsack_2.html , but briefly, any valid rima model can be used as a submodel in a larger model, and gets its own namespace in that larger model.  This means you can construct models from parts, rather than monolithically, and you can reuse model parts.

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-latest.tar.gz

I'll be talking about Rima at INFORMS in Austin on Sunday morning.

Rima is very close to getting reviewed to become part of COIN.  Any feedback would be much appreciated.


[1] http://www.lua.org

More information about the Coin-announce mailing list