Open lassepe opened 9 months ago
NLsolve returns a wrong solution without any warning for a slightly modified version of the README example (infeasible by construction):
using NLsolve function f!(F, x) F[1]=3*x[1]^2+2*x[1]*x[2]+2*x[2]^2+x[3]+3*x[4]-6 F[2]=2*x[1]^2+x[1]+x[2]^2+3*x[3]+2*x[4]-2 F[3]=3*x[1]^2+x[1]*x[2]+2*x[2]^2+2*x[3]+3*x[4]-1 F[4]=x[1]^2+3*x[2]^2+2*x[3]+3*x[4]-3 end r = mcpsolve(f!, [0., 0., 0., 0.], [-1, Inf, Inf, Inf], [1.25, 0., 0., 0.5], reformulation = :smooth, autodiff = :forward)
I would expect NLsolve to return "infeasible" or "not converged". Instead, the output is this:
Results of Nonlinear Solver Algorithm * Algorithm: Trust-region with dogleg and autoscaling * Starting Point: [1.25, 0.0, 0.0, 0.5] * Zero: [0.0, 0.0, 0.0, 1.0] * Inf-norm of residuals: 0.000000 * Iterations: 3 * Convergence: true * |x - x'| < 0.0e+00: false * |f(x)| < 1.0e-08: true * Function Calls (f): 4 * Jacobian Calls (df/dx): 4
NLsolve returns a wrong solution without any warning for a slightly modified version of the README example (infeasible by construction):
I would expect NLsolve to return "infeasible" or "not converged". Instead, the output is this: