[Ipopt-tickets] [Ipopt] #203: User-provided starting point is modified
Ipopt
coin-trac at coin-or.org
Wed Jun 19 21:57:58 EDT 2013
#203: User-provided starting point is modified
----------------------------+------------------------
Reporter: baiyang11 | Owner: ipopt-team
Type: clarification | Status: closed
Priority: normal | Component: Ipopt
Version: 3.9 | Severity: normal
Resolution: fixed | Keywords:
----------------------------+------------------------
Comment (by baiyang11):
Replying to [comment:1 stefan]:
> As an interior point solver, Ipopt needs to first move its iterates into
the interior of the feasible region before converging to an optimal point
at the boundary.
>
> That is the reason, why Ipopt moves the starting point away from the
variable bounds at the beginning.
> The [[http://www.coin-or.org/Ipopt/documentation/node44.html|bound_frac
and bound_push options]] can be used to control how much the initial point
is moved away from the bounds, so you can set these also to smaller
values. There also have been discussions on the [[http://list.coin-
or.org/pipermail/ipopt/|mailing list]] on this topic.
>
> In general, it is difficult to warmstart Ipopt (or other interior point
solvers) by providing a near-optimal solution. There has been research on
this topic, which may be helpful.
Thanks very much for your helpful answer. But I feel confused with 3 more
questions:
(1)You mentioned "Ipopt needs to first move its iterates into the interior
of the feasible region before converging to an optimal point at the
boundary". Since Ipopt moves the starting point I provided, does it mean
that the starting point I provided is not feasible for the problem?(I
belive I provide a near-optimal solution, which is feasible.) Does Ipopt
have any output information to indicate whether the user-provided starting
point is feasible or not? (I have not found any options to do that yet.)
(2)As you recommended, I set the bound_push to a smaller value(1e-4). I
found that algorithm needs less Iterations and less CPU secs to end with
"Optimal Solution Found". The solution is almost the same (objective
difference less than 0.001) with the solution in the default bound_push
situation. The objective and inf_pr in Iterate 0 is also better than that
in the default bound_push situation. Does it indicate that Ipopt is warm-
started by my starting point?
(3)I've tried another test. First, Ipopt solves the problem and gets the
optimal solution. Second, I provide the exact optimal solution as the
starting point for Ipopt to solve the same problem. I found that the
starting point is also moved at Iterate 0. Is there any explanation for
that?
I'am looking forward to your answer! Thanks very much!
--
Ticket URL: <https://projects.coin-or.org/ticket/203#comment:2>
Ipopt <http://projects.coin-or.org/Ipopt>
Interior-point optimizer for nonlinear programs.
More information about the Ipopt-tickets
mailing list