I’m trying to do constrained optimization using IPointNewton
in Optim.jl, but running optimize(objective, dfc, θ0, IPNewton(), autodiff=:forward)
produces:
Initial guess is not an interior point
…and then the results are all NaN
s.
However, I’m pretty sure the initial point θ0
is fine:
- It lies within its boundaries:
all(θ0 .≥ θ_lo) == true
andall(θ0 .≤ θ_hi) == true
- Constraints also lie within boundaries at this point:
all(constr(θ0) .≥ constr_lo) == true
andall(constr(θ0) .≤ constr_hi) == true
- The objective function is well-defined at this point:
objective(θ0) == 124.83061652726853
Here, constr
returns a vector of two constraints like [c1, c2]
.
What else should I check?