This afternoon I started writing a parser for AMPL from example files oil.mod and oil.dat. Funky features of the specifications include wildcard shorthands like

(X,*) := A B C

which evaluates to (X,A) (X,B) (X,C) and so on for sets. In any case, there are layers of evaluations before numerical figures for parameters in the actual objective function and constraints can be reached and this evaluation is needed to construct the A and G matrices for cvxopt.

Now I am thinking of looking over my efforts to learn and then implement the parsers using flex and bison for which I found an excellent seeming tutorial.

So I have been preparing the Red Hat 4.4.6-4 Operon 1900 MHz machine that runs http://www.cvxcloudopt.com. Numpy and Scipy python libraries work with linear algebra packages ATLAS or BLAS+LAPACK. The compilation is not trivial because basic compiler flags like -m64 and -fPIC are not set in the default. I was going to write steps to these installs but found that Marco Budisic had already done so.

Incidentally, a performance benchmark had shown that numpy performs comparably to C++/BLAS and python/BLAS.

I will proceed after this step to installing cvxopt, scipy, numpy and then prepare to transfer the django application to the server to begin recoding the cloud process management with a web front end.