Skip to content

Commit

Permalink
#1360 Fixed WORHP
Browse files Browse the repository at this point in the history
  • Loading branch information
jaeandersson committed Mar 17, 2015
1 parent 1c0ee6d commit 9a8b47f
Showing 1 changed file with 25 additions and 17 deletions.
42 changes: 25 additions & 17 deletions casadi/interfaces/worhp/worhp_interface.cpp
Expand Up @@ -489,14 +489,21 @@ namespace casadi {
}

// Pass inputs to WORHP data structures
x0.getArray(worhp_o_.X, worhp_o_.n);
lbx.getArray(worhp_o_.XL, worhp_o_.n);
ubx.getArray(worhp_o_.XU, worhp_o_.n);
lam_x0.getArray(worhp_o_.Lambda, worhp_o_.n);
casadi_assert(x0.nnz()==worhp_o_.n);
x0.getNZ(worhp_o_.X);
casadi_assert(lbx.nnz()==worhp_o_.n);
lbx.getNZ(worhp_o_.XL);
casadi_assert(ubx.nnz()==worhp_o_.n);
ubx.getNZ(worhp_o_.XU);
casadi_assert(lam_x0.nnz()==worhp_o_.n);
lam_x0.getNZ(worhp_o_.Lambda);
if (worhp_o_.m>0) {
lam_g0.getArray(worhp_o_.Mu, worhp_o_.m);
lbg.getArray(worhp_o_.GL, worhp_o_.m);
ubg.getArray(worhp_o_.GU, worhp_o_.m);
casadi_assert(lam_g0.nnz()==worhp_o_.m);
lam_g0.getNZ(worhp_o_.Mu);
casadi_assert(lbg.nnz()==worhp_o_.m);
lbg.getNZ(worhp_o_.GL);
casadi_assert(ubg.nnz()==worhp_o_.m);
ubg.getNNZ(worhp_o_.GU);
}

// Replace infinite bounds with worhp_p_.Infty
Expand Down Expand Up @@ -532,16 +539,17 @@ namespace casadi {
if (!callback_.isNull()) {
double time1 = clock();
// Copy outputs
if (!output(NLP_SOLVER_X).isEmpty())
output(NLP_SOLVER_X).setArray(worhp_o_.X, worhp_o_.n);
if (!output(NLP_SOLVER_X).isEmpty()) {
output(NLP_SOLVER_X).setNZ(worhp_o_.X);
}
if (!output(NLP_SOLVER_F).isEmpty())
output(NLP_SOLVER_F).set(worhp_o_.F);
if (!output(NLP_SOLVER_G).isEmpty())
output(NLP_SOLVER_G).setArray(worhp_o_.G, worhp_o_.m);
output(NLP_SOLVER_G).setNZ(worhp_o_.G);
if (!output(NLP_SOLVER_LAM_X).isEmpty())
output(NLP_SOLVER_LAM_X).setArray(worhp_o_.Lambda, worhp_o_.n);
output(NLP_SOLVER_LAM_X).setNZ(worhp_o_.Lambda);
if (!output(NLP_SOLVER_LAM_G).isEmpty())
output(NLP_SOLVER_LAM_G).setArray(worhp_o_.Mu, worhp_o_.m);
output(NLP_SOLVER_LAM_G).setNZ(worhp_o_.Mu);

Dictionary iteration;
iteration["iter"] = worhp_w_.MajorIter;
Expand Down Expand Up @@ -603,11 +611,11 @@ namespace casadi {
t_mainloop_ += (time2-time1)/CLOCKS_PER_SEC;

// Copy outputs
output(NLP_SOLVER_X).setArray(worhp_o_.X, worhp_o_.n, SP_DENSE);
output(NLP_SOLVER_X).set(worhp_o_.X);
output(NLP_SOLVER_F).set(worhp_o_.F);
output(NLP_SOLVER_G).setArray(worhp_o_.G, worhp_o_.m, SP_DENSE);
output(NLP_SOLVER_LAM_X).setArray(worhp_o_.Lambda, worhp_o_.n);
output(NLP_SOLVER_LAM_G).setArray(worhp_o_.Mu, worhp_o_.m, SP_DENSE);
output(NLP_SOLVER_G).set(worhp_o_.G);
output(NLP_SOLVER_LAM_X).setNZ(worhp_o_.Lambda);
output(NLP_SOLVER_LAM_G).set(worhp_o_.Mu);

StatusMsg(&worhp_o_, &worhp_w_, &worhp_p_, &worhp_c_);

Expand Down Expand Up @@ -864,7 +872,7 @@ namespace casadi {
gradF_.evaluate();

// Get the result
gradF_.output().get(grad_f, SP_DENSE);
gradF_.output().get(grad_f);

// Scale
for (int i=0; i<nx_; ++i) {
Expand Down

2 comments on commit 9a8b47f

@casadibot
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found BROKEN by full.
Here's the log file for step 'all':

[  1%] Built target casadi_tinyxml
[  5%] Built target casadi_qpoases
[ 17%] Built target casadi_csparse
[ 29%] Built target casadi_sundials
[ 30%] Built target casadi_runtime_embedded
[ 32%] Built target profilereport
[ 47%] Built target casadi_dsdp
Scanning dependencies of target casadi
[ 47%] Building CXX object casadi/core/CMakeFiles/casadi.dir/__/__/casadi_meta.cpp.o
Linking CXX shared library ../../lib/libcasadi.so
[ 73%] Built target casadi
Linking CXX shared library ../../../lib/libcasadi_linearsolver_lapacklu.so
Linking CXX shared library ../../../lib/libcasadi_sundials_common.so
Linking CXX shared library ../../../lib/libcasadi_linearsolver_lapackqr.so
Scanning dependencies of target casadi_qcqpsolver_socp
[ 73%] Building CXX object casadi/solvers/CMakeFiles/casadi_qcqpsolver_socp.dir/qcqp_to_socp.cpp.o
[ 73%] Built target casadi_sundials_common
[ 73%] Built target casadi_linearsolver_lapacklu
[ 73%] Built target casadi_linearsolver_lapackqr
Linking CXX shared library ../../../lib/libcasadi_implicitfunction_kinsol.so
Linking CXX shared library ../../../lib/libcasadi_nlpsolver_ipopt.so
Linking CXX shared library ../../../lib/libcasadi_qpsolver_qpoases.so
[ 74%] [ 74%] [ 74%] Built target casadi_implicitfunction_kinsol
Built target casadi_qpsolver_qpoases
Built target casadi_nlpsolver_ipopt
[ 74%] Building CXX object casadi/solvers/CMakeFiles/casadi_qcqpsolver_socp.dir/qcqp_to_socp_meta.cpp.o
Linking CXX shared library ../../../lib/libcasadi_nlpsolver_knitro.so
Linking CXX shared library ../../../lib/libcasadi_linearsolver_csparsecholesky.so
[ 75%] Built target casadi_linearsolver_csparsecholesky
Linking CXX shared library ../../../lib/libcasadi_qpsolver_cplex.so
[ 76%] Built target casadi_nlpsolver_knitro
Linking CXX shared library ../../../lib/libcasadi_linearsolver_csparse.so
[ 76%] Built target casadi_linearsolver_csparse
Linking CXX shared library ../../../lib/libcasadi_sdpsolver_dsdp.so
[ 76%] Built target casadi_sdpsolver_dsdp
Linking CXX shared library ../../../lib/libcasadi_qpsolver_ooqp.so
[ 76%] Built target casadi_qpsolver_cplex
Scanning dependencies of target casadi_nlpsolver_worhp
[ 76%] Building CXX object casadi/interfaces/worhp/CMakeFiles/casadi_nlpsolver_worhp.dir/worhp_interface.cpp.o
[ 78%] Built target casadi_qpsolver_ooqp
Linking CXX shared library ../../../lib/libcasadi_nlpsolver_snopt.so
[ 78%] Built target casadi_nlpsolver_snopt
Linking CXX shared library ../../../lib/libcasadi_dplesolver_slicot.so
[ 78%] Built target casadi_dplesolver_slicot
Scanning dependencies of target casadi_xmlfile_tinyxml
[ 79%] Building CXX object casadi/interfaces/tinyxml/CMakeFiles/casadi_xmlfile_tinyxml.dir/tinyxml_interface.cpp.o
/home/casadibot/slaves/linuxbot/full/source/casadi/interfaces/worhp/worhp_interface.cpp: In member function ‘virtual void casadi::WorhpInterface::evaluate()’:
/home/casadibot/slaves/linuxbot/full/source/casadi/interfaces/worhp/worhp_interface.cpp:506:11: error: ‘const DMatrix’ has no member named ‘getNNZ’
       ubg.getNNZ(worhp_o_.GU);
           ^
[ 79%] Building CXX object casadi/interfaces/tinyxml/CMakeFiles/casadi_xmlfile_tinyxml.dir/tinyxml_interface_meta.cpp.o
make[2]: *** [casadi/interfaces/worhp/CMakeFiles/casadi_nlpsolver_worhp.dir/worhp_interface.cpp.o] Error 1
make[1]: *** [casadi/interfaces/worhp/CMakeFiles/casadi_nlpsolver_worhp.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Linking CXX shared library ../../lib/libcasadi_qcqpsolver_socp.so
[ 79%] Built target casadi_qcqpsolver_socp
Linking CXX shared library ../../../lib/libcasadi_xmlfile_tinyxml.so
[ 79%] Built target casadi_xmlfile_tinyxml
make: *** [all] Error 2

@casadibot
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found BROKEN by quick.
Here's the log file for step 'all':

[  0%] Built target casadi_tinyxml
[  3%] Built target casadi_qpoases
[ 16%] Built target casadi_csparse
[ 28%] Built target casadi_sundials
[ 28%] Built target casadi_runtime_embedded
[ 29%] Built target profilereport
[ 44%] Built target casadi_dsdp
Scanning dependencies of target casadi
[ 44%] Building CXX object casadi/core/CMakeFiles/casadi.dir/__/__/casadi_meta.cpp.o
Linking CXX shared library ../../lib/libcasadi.so
[ 70%] Built target casadi
Linking CXX shared library ../../lib/libcasadi_sdqpsolver_sdp.so
Linking CXX shared library ../../../lib/libcasadi_linearsolver_lapacklu.so
Linking CXX shared library ../../../lib/libcasadi_sundials_common.so
Linking CXX shared library ../../../lib/libcasadi_linearsolver_lapackqr.so
[ 71%] [ 73%] Built target casadi_sdqpsolver_sdp
Built target casadi_sundials_common
[ 74%] Built target casadi_linearsolver_lapackqr
Linking CXX shared library ../../../lib/libcasadi_implicitfunction_kinsol.so
Linking CXX shared library ../../../lib/libcasadi_nlpsolver_ipopt.so
Linking CXX shared library ../../../lib/libcasadi_qpsolver_qpoases.so
[ 74%] Built target casadi_implicitfunction_kinsol
Linking CXX shared library ../../../lib/libcasadi_nlpsolver_knitro.so
[ 75%] Built target casadi_qpsolver_qpoases
Linking CXX shared library ../../../lib/libcasadi_qpsolver_cplex.so
[ 75%] Built target casadi_linearsolver_lapacklu
[ 75%] Built target casadi_nlpsolver_ipopt
[ 76%] Built target casadi_nlpsolver_knitro
Linking CXX shared library ../../../lib/libcasadi_linearsolver_csparse.so
Linking CXX shared library ../../../lib/libcasadi_linearsolver_csparsecholesky.so
Linking CXX shared library ../../../lib/libcasadi_sdpsolver_dsdp.so
[ 76%] Built target casadi_linearsolver_csparse
[ 78%] Built target casadi_linearsolver_csparsecholesky
Linking CXX shared library ../../../lib/libcasadi_qpsolver_ooqp.so
Scanning dependencies of target casadi_nlpsolver_worhp
[ 79%] [ 79%] Built target casadi_sdpsolver_dsdp
Building CXX object casadi/interfaces/worhp/CMakeFiles/casadi_nlpsolver_worhp.dir/worhp_interface.cpp.o
Linking CXX shared library ../../../lib/libcasadi_nlpsolver_snopt.so
[ 80%] Built target casadi_qpsolver_ooqp
[ 80%] Built target casadi_qpsolver_cplex
Linking CXX shared library ../../../lib/libcasadi_dplesolver_slicot.so
[ 82%] Built target casadi_nlpsolver_snopt
Scanning dependencies of target casadi_xmlfile_tinyxml
[ 83%] Building CXX object casadi/interfaces/tinyxml/CMakeFiles/casadi_xmlfile_tinyxml.dir/tinyxml_interface.cpp.o
Scanning dependencies of target casadi_integrators
[ 83%] [ 83%] Built target casadi_dplesolver_slicot
Building CXX object casadi/solvers/CMakeFiles/casadi_integrators.dir/fixed_step_integrator.cpp.o
Scanning dependencies of target casadi_integrator_oldcollocation
[ 83%] Building CXX object casadi/solvers/CMakeFiles/casadi_integrator_oldcollocation.dir/old_collocation_integrator.cpp.o
/home/casadibot/slaves/linuxbot/quick/source/casadi/interfaces/worhp/worhp_interface.cpp: In member function ‘virtual void casadi::WorhpInterface::evaluate()’:
/home/casadibot/slaves/linuxbot/quick/source/casadi/interfaces/worhp/worhp_interface.cpp:506:11: error: ‘const DMatrix’ has no member named ‘getNNZ’
       ubg.getNNZ(worhp_o_.GU);
           ^
make[2]: *** [casadi/interfaces/worhp/CMakeFiles/casadi_nlpsolver_worhp.dir/worhp_interface.cpp.o] Error 1
make[1]: *** [casadi/interfaces/worhp/CMakeFiles/casadi_nlpsolver_worhp.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 83%] Building CXX object casadi/solvers/CMakeFiles/casadi_integrator_oldcollocation.dir/old_collocation_integrator_meta.cpp.o
[ 83%] Building CXX object casadi/interfaces/tinyxml/CMakeFiles/casadi_xmlfile_tinyxml.dir/tinyxml_interface_meta.cpp.o
[ 83%] Building CXX object casadi/solvers/CMakeFiles/casadi_integrators.dir/implicit_fixed_step_integrator.cpp.o
Linking CXX shared library ../../../lib/libcasadi_xmlfile_tinyxml.so
[ 83%] Built target casadi_xmlfile_tinyxml
Linking CXX shared library ../../lib/libcasadi_integrators.so
Linking CXX shared library ../../lib/libcasadi_integrator_oldcollocation.so
[ 83%] Built target casadi_integrators
[ 83%] Built target casadi_integrator_oldcollocation
make: *** [all] Error 2

Please sign in to comment.