MATLAB: Fmincon and fminimax as optimisers


How well does fmincon work was as an optimiser for a bounded function with no inequality constraints compared to the fminimax. And why would one be better than the other.

Best Answer

  • fminimax() is for objective functions that return non-scalars and you want to minimize the maximum of the non-scalar values returned.
    fmincon() can only handle functions that return scalar values.
    You might think of using @(x) max(YourNonScalarFunction(x)) with fmincon, but max() is not a continuous function, and fmincon() is only designed for continuous functions.
    For the case of a function that returns a scalar and has the needed continuity, fmincon() would be expected to be more efficient.