[Coin-discuss] AMPL driver for COIN

Robert Fourer 4er at iems.northwestern.edu
Thu Mar 9 19:00:19 EST 2006


There are some conventions that have developed in implementations of AMPL
drivers, which would be worth considering for a COIN driver.  In the default
case, the output should be just a several-line status report that is passed
back to AMPL at the front of the solution file and echoed to the user:

   ampl: option solver loqo;
   ampl: solve;
   LOQO 6.07: optimal solution (16 QP iterations, 16 evaluations)
   primal objective 514521.7101
     dual objective 514521.7153
   ampl:

Requests for output during optimization can be conveyed through AMPL options,
while examination of results is best done within the AMPL environment itself.  

The solver's non-default options should be supported as much as possible by the
AMPL driver.  Simple options are typically passed through an AMPL option whose
name is formed from "_options" appended to the solver name, as in 

   ampl: option loqo_options 'minlocfil outlev 2';

Options that require potentially a number assigned to each variable or each
constraint are handled by defining new AMPL suffixes.  For example
Trans["ABC","DEFG"].priority might be the MIP branching priority for the
variable Trans["ABC","DEFG"], set by an assignment statement prior to solving.


By default AMPL passes the current values of the variables to the solver, and
they should be used by the solver where appropriate.  There is also a mechanism
for passing variables' statuses between AMPL and solvers, for example in the
case of a simplex method that can be passed a starting basis and can return an
optimal one.

I would also be interested in finding a way to make the AMPL/COIN solvers
available through NEOS, for people who want to try them out without downloading
or installing anything.  That is perhaps a different subject, though. 

Bob Fourer
4er at iems.northwestern.edu


P.S.: Independently of this I am working with Kipp Martin and Jun Ma to try to
develop a single standard for representation of optimization problem instances.
The library for using the standard will be open source contributed to COIN.
When such a standard is adopted by many developers of modeling language systems
(not just AMPL), there should be considerably fewer drivers that need to be
written.


> -----Original Message-----
> From: coin-discuss-bounces at list.coin-or.org [mailto:coin-discuss-
> bounces at list.coin-or.org] On Behalf Of Kendall Bailey
> Sent: Wednesday, March 08, 2006 11:05 AM
> To: coin-discuss at list.coin-or.org
> Subject: [Coin-discuss] AMPL driver for COIN
> 
> Is there a driver to use COIN solvers with AMPL?  I haven't found one.
>  If none exists, is there interest in having one?  I'm working on
> building one.  It's functional already, but lacks configurability.  It
> will link with the Clp, Cbc, Sym, Vol and Glpk subclasses of the
> OsiSolverInterface.  What specific features would people want?  Should
> I post to the individual solver discussion lists as well?
> 
> Thanks for any feedback.
> 
> Kendall
> 
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss





More information about the Coin-discuss mailing list