InfLinSolve
Purpose
Finds a linearly constrained minimax solution of a function of several variables with the use of any suitable TOMLAB solver. The decision variables may be binary or integer.
infLinSolve solves problems of the type:
Failed to parse (unknown function "\multicolumn"): {\displaystyle \begin{array}{cccccc} \min\limits_x & \multicolumn{5}{l}{\max Dx} \\\mbox{subject to} & x_L & \leq & x & \leq & x_U \\& b_L & \leq & Ax & \leq & b_U \\\end{array} }
where Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle $x,x_L,x_U \in \Rdim{n}$}
, Failed to parse (unknown function "\Rdim"): {\displaystyle $b_L,b_U \in \Rdim{m_1}$}
, Failed to parse (unknown function "\Rdim"): {\displaystyle $A \in\Rdim{m_1 \times n}$}
and Failed to parse (unknown function "\Rdim"): {\displaystyle $D \in \Rdim{m_2 \times n}$}
. The variables , the index subset of are restricted to be integers. The different objectives are stored in D row-wise.
Calling Syntax
Result=infLinSolve(Prob,PriLev)
Description of Inputs
Prob | Structure Prob. Prob must be defined. Best is to use Prob = lp/mipAssign(.....), if using the TQ format. Prob.QP.D matrix should then be set to the rows (Prob.QP.c ignored). | |
PriLev | Print level in infLinSolve. | |
= 0 Silent except for error messages. | ||
> 0 Print summary information about problem transformation. | ||
Calls PrintResult with specified PriLev. | ||
= 2 Standard output from PrintResult (default). | ||
Extra fields used in Prob: | ||
SolverInf | Name of the TOMLAB solver. Valid names are: cplex, minos, snopt, xa and more. SeeSolverList('lp'); or SolverList('mip'); | |
QP.D | The rows with the different objectives. | |
f_Low | Lower bound on the objective (optional). | |
f_Upp | Upper bound on the objective (optional). |
Description of Outputs
Result | Structure with results from optimization. Output depends on the solver used. | |
The fields x_k, f_k, x_0, xState, bState, v_k are transformed back to match the original problem. | ||
The output in Result.Prob is the result after infLinSolve transformed the problem, i.e. the altered Prob structure |
Description
The linear minimax problem is solved in infLinSolve by rewriting the problem as a linear optimization problem. One additional variable Failed to parse (unknown function "\MATHSET"): {\displaystyle $z\in \MATHSET{R}$} , stored as is added and the problem is rewritten as:
Failed to parse (unknown function "\multicolumn"): {\displaystyle \begin{array}{cccccc} \multicolumn{6}{l}{\min\limits_x z}\\ \\\mbox{subject to} & x_L & \leq & (x_1,x_2,\ldots,x_n)^T & \leq & x_U \\& -\infty & \leq & z & \leq & \infty \\& b_L & \leq & A x &\leq & b_U \\& -\infty & \leq & D x - z e & \leq & 0 \\ \end{array} }
where Failed to parse (unknown function "\Rdim"): {\displaystyle $e \in \Rdim{N},\; e(i)=1 \ \forall i$}
.
To handle cases where a row in D\*x is taken the absolute value of: minmax\|D * x\|, expand the problem with extra residuals with the opposite sign: \[D * x; -D * x\].
See Also
lpAssign.