Solve minimax constraint problem

`fminimax`

seeks a point that minimizes the maximum of a set of
objective functions.

The problem includes any type of constraint. In detail, `fminimax`

seeks the minimum of a problem specified by

$$\underset{x}{\mathrm{min}}\underset{i}{\mathrm{max}}{F}_{i}(x)\text{suchthat}\{\begin{array}{c}c(x)\le 0\\ ceq(x)=0\\ A\cdot x\le b\\ Aeq\cdot x=beq\\ lb\le x\le ub\end{array}$$

where *b* and *beq* are vectors,
*A* and *Aeq* are matrices, and
*c*(*x*), *ceq*(*x*),
and *F*(*x*) are functions that return vectors.
*F*(*x*), *c*(*x*), and
*ceq*(*x*) can be nonlinear functions.

*x*, *lb*, and *ub* can be passed as
vectors or matrices; see Matrix Arguments.

You can also solve max-min problems with `fminimax`

, using the
identity

$$\underset{x}{\mathrm{max}}\underset{i}{\mathrm{min}}{F}_{i}(x)=-\underset{x}{\mathrm{min}}\underset{i}{\mathrm{max}}\left(-{F}_{i}(x)\right).$$

You can solve problems of the form

$$\underset{x}{\mathrm{min}}\underset{i}{\mathrm{max}}\left|{F}_{i}(x)\right|$$

by using the `AbsoluteMaxObjectiveCount`

option; see Solve Minimax Problem Using Absolute Value of One Objective.

starts at `x`

= fminimax(`fun`

,`x0`

)`x0`

and finds a minimax solution `x`

to the
functions described in `fun`

.

Passing Extra Parameters explains how to pass extra parameters to the objective functions and nonlinear constraint functions, if necessary.

solves the minimax problem subject to the bounds
`x`

= fminimax(`fun`

,`x0`

,`A`

,`b`

,`Aeq`

,`beq`

,`lb`

,`ub`

)`lb `

≤` x `

≤` ub`

.
If no equalities exist, set `Aeq = []`

and `beq = []`

. If
`x(i)`

is unbounded below, set `lb(i) = –Inf`

; if
`x(i)`

is unbounded above, set `ub(i) = Inf`

.

If the specified input bounds for a problem are inconsistent, the output
`x`

is `x0`

and the output `fval`

is `[]`

.

solves the minimax problem for `x`

= fminimax(`problem`

)`problem`

, where `problem`

is a structure described in `problem`

. Create
the `problem`

structure by exporting a problem from the Optimization app,
as described in Exporting Your Work.

`fminimax`

solves a minimax problem by converting it into a goal
attainment problem, and then solving the converted goal attainment problem using
`fgoalattain`

. The conversion sets all goals to 0 and all weights to 1.
See Equation 1 in
Multiobjective Optimization Algorithms.