Genetic algorithms and other local search heuristic procedures are typically constructed for particular problem classes. I am not aware of any really successful algorithms that have been implemented to interface with AMPL for the purpose of solving general integer linear programs, though I would be happy to hear of some.
The branch-and-bound implementation in CPLEX is itself an amalgam of heuristics, though in a framework that guarantees eventual determination of an optimal solution. My first advice for trying to reduce solve times is to turn on search logging (directives mipdisplay and mipinterval) to get an idea why the procedure is taking so long. It may be that the optimal solution is being found rather quickly and then a long time is being taken to prove optimality definitively, for example, in which case relaxing one of CPLEX's stopping criteria may suffice. Other things that have worked for me include
-- experimenting with CPLEX's many algorithmic options
-- adding constraints ("cuts") to raise the computed bounds
-- adding constraints to remove redundant solutions ("symmetries")
-- breaking the problem into a series of simpler ones
Some study of integer programming and the branch-and-bound procedure is necessary to do these things effectively, though. It is good to keep in mind that integer programming is a fundamentally hard problem class and that consequently, despite considerable progress in recent years, any optimizer is bound to solve some problems slowly without special effort on the part of the modeler.
Bob Fourer
I actually posted a similar question in this group regarding
metaheuristic solvers for AMPL:
http://groups.google.com.ph/group/ampl/browse_thread/thread/a5b3284b0ad2a36f?pli=1
I ended up using the open-source MILP solver CBC which can be
interfaced with AMPL. I still wanted to experiment with metaheuristics
but I didn't have enough time however.
--
You received this message because you are subscribed to the Google Groups "AMPL Modeling Language" group.
To post to this group, send email to am...@googlegroups.com.
To unsubscribe from this group, send email to ampl+uns...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/ampl?hl=en.
I don't think COIN-OR has an AMPL clone. There is Zimpl (http://
zimpl.zib.de/), which is released under the GPL and implements a
subset of AMPL (but, AFAIK, not nearly all of AMPL).
/Paul
COIN-OR solvers can read AMPL files using the GLPK library. GLPK is
freely available and most linux distributions provide packages for
installing it. It works with most AMPL models but its functionality is
a strict subset of AMPL's.
ashutosh