@mohamed82008, digging into the issue of the Ipopt being different I found my hunch was correct and the starting point was the source of the discrepancy. I had presumed the default starting value for variables in Nonconvex was 0.0, however it appears to be the variables lower bound, unless it is unbounded in which case it is 0.0.
I tried updating the same starting point used in the other models (all variables start at 0.0, except vm which is set to 1.0). This change broke the implementation and Ipopt would not converge. I presume due to the point discussed here, https://github.com/JuliaNonconvex/Nonconvex.jl/issues/140
Using starting values of 1.0 for all variables seemed to be a reasonable compromise as the solver converged in a similar number of iterations to what is expected.
@mohamed82008, digging into the issue of the Ipopt being different I found my hunch was correct and the starting point was the source of the discrepancy. I had presumed the default starting value for variables in Nonconvex was
0.0
, however it appears to be the variables lower bound, unless it is unbounded in which case it is 0.0.I tried updating the same starting point used in the other models (all variables start at 0.0, except
vm
which is set to 1.0). This change broke the implementation and Ipopt would not converge. I presume due to the point discussed here, https://github.com/JuliaNonconvex/Nonconvex.jl/issues/140Using starting values of 1.0 for all variables seemed to be a reasonable compromise as the solver converged in a similar number of iterations to what is expected.
CC @odow