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:
where , , and . 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 , stored as is added and the problem is rewritten as:
where .
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.