InfLinSolve

From TomWiki
Jump to navigationJump to search

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.