[Ipopt-tickets] [Ipopt] #105: LeastSquareMultipliers::CalculateMultipliers breaks ProvidesInertia() covenant

Ipopt coin-trac at coin-or.org
Fri Jul 31 07:55:26 EDT 2009


#105: LeastSquareMultipliers::CalculateMultipliers breaks ProvidesInertia()
covenant
------------------------------+---------------------------------------------
Reporter:  jhogg41            |       Owner:  ipopt-team
    Type:  defect             |      Status:  new       
Priority:  normal             |   Component:  Ipopt     
 Version:  3.6 (C++ Version)  |    Severity:  minor     
Keywords:                     |  
------------------------------+---------------------------------------------
 == Problem ==
 Solve() and !MultiSolve() should not be called with check_NegEVals=true
 unless !ProvidesInertia() returns true.

 In version 3.7, LeastSquareMultipliers::!CalculateMultipliers() invokes
 the following call to Solve():
 {{{
 retval = augsyssolver_->Solve(GetRawPtr(zeroW), 0.0, NULL, 1.0, NULL,
                                   1.0, GetRawPtr(J_c), NULL, 0.,
                                   GetRawPtr(J_d), NULL, 0., *rhs_x,
 *rhs_s,
                                   *rhs_c, *rhs_d, *sol_x, *sol_s,
                                   y_c, y_d, true, numberOfEVals);

 }}}

 without checking !ProvidesInertia() first.

  == Suggested solution ==
 Change "true" to augsyssolver_->!ProvidesInertia() ?

-- 
Ticket URL: <https://projects.coin-or.org/Ipopt/ticket/105>
Ipopt <http://projects.coin-or.org/Ipopt>
Interior-point optimizer for nonlinear programs.



More information about the Ipopt-tickets mailing list