InfLinSolve: Difference between revisions
(→Inputs) |
|||
Line 25: | Line 25: | ||
{| class="wikitable" | {| class="wikitable" | ||
|-valign="top" | |-valign="top" | ||
!''Prob''||colspan="2"|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). | |||
|- valign="top" | |- valign="top" | ||
|''PriLev''||Print level in ''infLinSolve''. | |''PriLev''||Print level in ''infLinSolve''. |
Revision as of 10:10, 20 July 2011
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 (unknown function "\MATHSET"): {\displaystyle x,x_L,x_U \in \MATHSET{R}^{n}}
, Failed to parse (unknown function "\MATHSET"): {\displaystyle b_L,b_U \in \MATHSET{R}^{m_1}}
, Failed to parse (unknown function "\MATHSET"): {\displaystyle A \in \MATHSET{R}^{m_1 \times n}}
and Failed to parse (unknown function "\MATHSET"): {\displaystyle D \in \MATHSET{R}^{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)
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). |
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 "\MATHSET"): {\displaystyle $e \in \MATHSET{R}^{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.