MATLAB: What do the fields in the output structure of fmincon mean

convexfminconinterior-pointMATLABnonlinear optimizationOptimization Toolboxoutputquality

When we solve an optimization problem and obtain the output structure, it has fields such as funcCount, constrviolation, stepsize, firstorderopt etc.
According to the documentation, funcCount means function evaluations.
1. What is the difference between iterations and funcCount?
According to the documentation, constrviolations means maximum of constraint functions.
2. What does it mean to say maximum of constraint functions? In my problem, output.constrviolations = 0.1956. What does this mean?
3. How do I use these values to analyze quality of solution?

Best Answer

  1. Iterations and Function Counts
  2. Nonlinear constraint violations are the maximum of your nonlinear inequality constraint functions c(x), your nonlinear equality constraint functions |ceq(x)|, and your linear constraints A*x-b and |Aeq*x - beq|. The meaning of your positive value is that some of your constraints are not satisfied at the returned solution x.
  3. That is up to you. You know that the constraints are not satisfied. Does that matter to you? If this problem is the same as that posted in another thread, then your output function stopped the optimization before fmincon reached what it considers to be a good solution.
Alan Weiss
MATLAB mathematical toolbox documentation