[Coin-ipopt] IPOPT for QP problems
Andreas Waechter
andreasw at watson.ibm.com
Wed Aug 10 16:01:15 EDT 2005
> I double checked this and my Hessian is definitely not 100% dense. I
> use my own functions to implement the objective function and its
> derivatives. The 2nd derivative returns an element of a matrix from
> my quadratic objective. It has only a 597x597 dense submatrix out of
> a 2694x2694 total size. Since it is symmetric, it has 178503 non-zero
> entries out of 3630165 (~5% dense).
You must be telling Ipopt that your problem has 3630165 nonzeros, since
this is what the output below
> >> Number of nonzeros in Hessian : 3630165
says. You specify this number in your function EV_H (see section 5.3.5 in
README.IPOPT) as the return argument of NNZH, when EV_H is called with
TASK=0. It seems that here you return the wrong number (3630165 instead
of 178503) to Ipopt.
Andreas
>
> Is IPOPT doing something to the hessian to make things non-zero?
>
> Matt
>
> On Aug 10, 2005, at 2:04 PM, Andreas Waechter wrote:
>
> > Matt,
> >
> > The first thing that one notices is that your problem is dense. Is it
> > correct that the Hessian in your objective function is 100% dense
> > (look at
> > the Number of nonzeros in Hessian)? Also, on average, each constraint
> > gradient has 10% non-zero elements.
> >
> > Before looking into anything else, you should make sure that you are
> > telling the API the sparsity pattern of your problem correctly. If
> > your
> > problem is truely dense, then the usage of a sparse linear solver
> > (which
> > is that Ipopt is using) is not very efficient.
> >
> > Hope this helps,
> >
> > Andreas
> >
> > On Wed, 10 Aug 2005, Matthew Guthaus wrote:
> >
> >
> >> Hi,
> >>
> >> I'm using IPOPT to solve a simple equality constrained quadratic
> >> programming problem (I cannot find an adequate QP solver with API...
> >> Clp has one, but no API.). IPOPT works well on small problems,
> >> however, on medium problems I get the following error. Can anyone
> >> provide insight into the problem?
> >>
> >> Thanks,
> >>
> >> Matt
> >>
> >>
> >>
> >> Number of variables : 2694
> >> of which are fixed : 0
> >> Number of constraints : 597
> >> Number of lower bounds : 2694
> >> Number of upper bounds : 2694
> >> Number of nonzeros in Jacobian: 148230
> >> Number of nonzeros in Hessian : 3630165
> >>
> >> ITER ERR MU ||C|| ||D|| ALFA(X) #LS
> >> F Regu
> >> 0 .100E+03d .100E+00 .397E-02 .000E+00 .000E+00 0 0.92802159E
> >> +08 .000E+00
> >> Least square system singular while initializing equality multipliers.
> >> Setting multipliers to zero.
> >> Regularization parameter getting too large (a): 1.E+42
> >> 1 .265E+04d .100E+00 .397E-02 .000E+00 .000E+00- 0 0.92802159E
> >> +08 .000E+00
> >> Regularization parameter getting too large (a): 1.E+42
> >> solve_barrier: get_step_full returns IERR = 10
> >> mainloop: Error: solve_barrier ends with IERR = 10
> >>
> >> Number of iterations taken ............. 1
> >> Final value of objective function is.... 0.9280215934507787E+08
> >>
> >> Errors at final point (scaled) (unscaled)
> >> Final maximal constraint violation is... 0.250111E-03 0.250111E-03
> >> Final value for dual infeasibility is... 0.264759E+04 0.968047E+06
> >> Final value of complementarity error is. 0.100000E+03 0.100000E+03
> >>
> >> The objective function was evaluated 1 times.
> >> The constraints were evaluated 1 times.
> >>
> >> EXIT: Linear system becomes too ill-conditioned
> >>
> >> CPU seconds spent in IPOPT and function evaluations = 36.3400
> >>
> >> IPOPT returned IERR = 10
> >>
> >> _______________________________________________
> >> Coin-ipopt mailing list
> >> Coin-ipopt at list.coin-or.org
> >> http://list.coin-or.org/mailman/listinfo/coin-ipopt
> >>
> >>
> >
> >
>
> _______________________________________________
> Coin-ipopt mailing list
> Coin-ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-ipopt
>
More information about the Coin-ipopt
mailing list