If the solution from your first solve is intended to be the starting point for your second solve, then there's no need for "warm_start.run". AMPL automatically makes the solution from any solve available to the next solve.
However for the algorithms implemented in Bonmin -- based mostly on the branch-and-bound principle -- a starting point is not likely to be of much value. These algorithms are not local-search methods that can "start from" a point and iterate to nearby better points. The only usefulness of an initial point may be to give an initial bound (upper for minimization, lower for maximization) on the optimum, which may result in a smaller search tree.
You may want to contact the Bonmin developers directly to ask how initial points are used in the AMPL interface to Bonmin. Contact information is given at https://projects.coin-or.org/Bonmin.
Bob Fourer
From: am...@googlegroups.com [mailto:am...@googlegroups.com]
On Behalf Of shau...@gmail.com
Sent: Friday, April 12, 2013 3:09 AM
To: am...@googlegroups.com
Subject: [AMPL 6895] Re: Solving a sequence of problems with initial values
Thank you for your reply.
I thought it would be good if I gave some background as to what I am trying to do. The first problem I am solving is a MINLP, I use Bonmin to solve this to get a solution which satisfies integer conditions. In this MINLP model I have a constraint on the integer variables to avoid certain trivial solutions. As soon as I have a feasible solution to this problem, I want to drop this constraint and proceed with solving the MINLP by using the feasible solution as an initial point. I am fairly confident that the feasible solution to the first problem is also feasible for the second problem.
I tried doing this: Created a script file called warm_start.run, with contents 'let x[1,1] :=1...let x[6,30] := 5.3' and then I let my .run file look something like
---------------------------------------------------------------
reset;
option solver '...';
option 'time_limit 60 ...'
model modelfile.mod;
data datafile.dat;
solve;
option solver '...';
option ...
include warm_start.run;
drop CONSTRAINT1;
solve;
------------------------------------------------------------------
I am changing the options from one solve to the next, and i am dropping a single constraint. Regardless of whether the "include warm_start.run;" is in the definition, the second solve call does not seem to start from the solution found in the previous solve.