[Ipopt] Extract Objective Function Gradient in finalize_solution(...)

Hans Pirnay hans.pirnay at rwth-aachen.de
Fri Jan 18 10:19:43 EST 2013


yes, you're missing

#include "IpIpoptCalculatedQuantities.hpp"

If you get more errors of a similar kind, try to find the header file
corresponding to 'struct Foo' and include it.

On Fri, Jan 18, 2013 at 12:10 PM, Knut Heidemann
<heidemannknut at gmail.com> wrote:
> I tried the code snippet below and get the following error:
>
> In member function ‘virtual void
> WLCNLP::finalize_solution(Ipopt::SolverReturn, Ipopt::Index, const Number*,
> const Number*, const Number*, Ipopt::Index, const Number*, const Number*,
> Ipopt::Number, const Ipopt::IpoptData*, Ipopt::IpoptCalculatedQuantities*)’:
> error: invalid use of incomplete type ‘struct
> Ipopt::IpoptCalculatedQuantities’
> error: forward declaration of ‘struct Ipopt::IpoptCalculatedQuantities’
>
> Can this be due to further missing #includes or what kind of problem do I
> face here?
>
> Best,
> Knut.
>
> Am 17.01.2013 19:21, schrieb Hans Pirnay:
>
> this should work:
>
> SmartPtr<DenseVector> curr_grad = dynamic_cast<const
> DenseVector*>(GetRawPtr(ip_cq->curr_grad_f()));
> const double* grad_values = curr_grad->Values();
>
> You'll probably have to #include "IpDenseVector.hpp" and maybe some
> other dependencies.
>
> Hans
>
> On Thu, Jan 17, 2013 at 6:30 PM, Knut Heidemann <heidemannknut at gmail.com>
> wrote:
>
> Hi,
>
> I am trying to access the objective function gradient information after my
> problem has been solved.
> I assume that this is done in finalize_solution(...).
> Unfortunately, I do not manage to use "ip_cq" for this purpose. Can anybody
> tell me how the appropriate line of code would look like?
>
> Best regards,
> Knut Heidemann.
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>



More information about the Ipopt mailing list