mpt_solvemp

Purpose

A gateway function to solve parametric optimization problems (without errorchecks)

Syntax

R = mpt_solvemp(S)

Description

The main routine for fast calls to parametric optimization solvers. In fact, it is a subroutine of Opt as a part of solve method. The Opt class serves as general wrapper for preprocessing the data involved in optimization, including necessary error checks. Once the data are valid, then are passed to mpt_solvemp function that calls the appropriate parametric solver. It is assumed that MPLP/MPQP entering this function are of the form

../../../../fig/mpt/modules/solvers/mpt_solvemp42.png

where the matrices ../../../../fig/mpt/modules/solvers/mpt_solvemp1.png, ../../../../fig/mpt/modules/solvers/mpt_solvemp2.png, ../../../../fig/mpt/modules/solvers/mpt_solvemp3.png, ../../../../fig/mpt/modules/solvers/mpt_solvemp4.png ../../../../fig/mpt/modules/solvers/mpt_solvemp5.png, ../../../../fig/mpt/modules/solvers/mpt_solvemp6.png, ../../../../fig/mpt/modules/solvers/mpt_solvemp7.png, and vectors ../../../../fig/mpt/modules/solvers/mpt_solvemp8.png, ../../../../fig/mpt/modules/solvers/mpt_solvemp9.png, ../../../../fig/mpt/modules/solvers/mpt_solvemp10.png, ../../../../fig/mpt/modules/solvers/mpt_solvemp11.png, lb, ub are the problem data. Vector ../../../../fig/mpt/modules/solvers/mpt_solvemp12.png represents decision variables and ../../../../fig/mpt/modules/solvers/mpt_solvemp13.png are parameters. The PLCP must be given as:

../../../../fig/mpt/modules/solvers/mpt_solvemp43.png

where the matrices ../../../../fig/mpt/modules/solvers/mpt_solvemp14.png, ../../../../fig/mpt/modules/solvers/mpt_solvemp15.png, ../../../../fig/mpt/modules/solvers/mpt_solvemp16.png, and vectors ../../../../fig/mpt/modules/solvers/mpt_solvemp17.png,../../../../fig/mpt/modules/solvers/mpt_solvemp18.png are the problem data, then ../../../../fig/mpt/modules/solvers/mpt_solvemp19.png, ../../../../fig/mpt/modules/solvers/mpt_solvemp20.png are the decision variables and ../../../../fig/mpt/modules/solvers/mpt_solvemp21.png are the parameters. The routine mpt_solve processes data from any of the above optimization problems by passing it to the appropriated solver. Following solvers are supported: Note that this function must contain all properties of Opt class that have been properly validated in order to perform a correct call to given parametric solver. It is recommended to use Opt.solve method instead.

Input Arguments

Default: []

S

Object of the Opt class

Class: Opt

S.H

Quadratic part of the objective function.

Class: double

Default: []

S.f

Linear part of the objective function.

Class: double

S.pF

Linear part of the objective function for parameters.

Class: double

Default: []

S.A

Linear part of the inequality constraints ../../../../fig/mpt/modules/solvers/mpt_solvemp22.png.

Class: double

S.b

Right hand side of the inequality constraints ../../../../fig/mpt/modules/solvers/mpt_solvemp23.png.

Class: double

S.pB

Right hand side of the inequality constraints for parameters ../../../../fig/mpt/modules/solvers/mpt_solvemp24.png.

Class: double

S.Ae

Linear part of the equality constraints ../../../../fig/mpt/modules/solvers/mpt_solvemp25.png.

Class: double

Default: []

S.be

Right hand side of the equality constraints ../../../../fig/mpt/modules/solvers/mpt_solvemp26.png.

Class: double

Default: []

S.pE

Right hand side of the equality constraints for parameters ../../../../fig/mpt/modules/solvers/mpt_solvemp27.png.

Class: double

Default: []

S.lb

Lower bound for the decision variables ../../../../fig/mpt/modules/solvers/mpt_solvemp28.png.

Class: double

Default: []

S.ub

Upper bound for the decision variables ../../../../fig/mpt/modules/solvers/mpt_solvemp29.png.

Class: double

Default: []

S.Ath

Linear part of the inequality constraints ../../../../fig/mpt/modules/solvers/mpt_solvemp30.png.

Class: double

Default: []

S.bth

Right hand side of the inequality constraints ../../../../fig/mpt/modules/solvers/mpt_solvemp31.png.

Class: double

Default: []

S.M

Linear matrix involved in LCP.

Class: double

Default: []

S.q

Right hand side vector involved in LCP.

Class: double

Default: []

S.Q

Linear matrix involved in parametric formulation of LCP.

Class: double

Default: []

S.n

Number of decision variables.

Class: double

S.d

Number of parameters.

Class: double

S.m

Number of inequalities in ../../../../fig/mpt/modules/solvers/mpt_solvemp32.png.

Class: double

S.me

Number of equalities in ../../../../fig/mpt/modules/solvers/mpt_solvemp33.png.

Class: double

S.problem_type

A string specifying the problem to be solved

Class: char

Default: []

S.vartype

A string array reserved for MPMILP/MPMIQP.

Class: char

Default: ''

S.solver

S string specifying which solver should be called.

Class: char

Default: []

S.isParametric

Logical scalar indicating that the problem is parametric.

Class: double or logical

Default: 1

S.varOrder

Order of variables if the problem was processed by YALMIP first.

Class: double

Default: []

S.Internal

Internal property of Opt class.

Class: struct

Default: []

S.recover

Affine map for MPLP/MPQP problems after transformation to LCP.

Class: struct

S.recover.uX

Matrix of the affine map ../../../../fig/mpt/modules/solvers/mpt_solvemp34.png. The map is from the optimization variables involed in LCP ../../../../fig/mpt/modules/solvers/mpt_solvemp35.png and in the original LP/QP.

Class: double

Default: []

S.recover.uTh

Matrix of the affine map ../../../../fig/mpt/modules/solvers/mpt_solvemp36.png. The map is from the optimization variables involed in LCP ../../../../fig/mpt/modules/solvers/mpt_solvemp37.png and in the original LP/QP.

Class: double

Default: []

S.recover.lambdaX

Matrix of the affine map ../../../../fig/mpt/modules/solvers/mpt_solvemp38.png. The map is from the optimization variables involed in LCP ../../../../fig/mpt/modules/solvers/mpt_solvemp39.png and the Lagrangian multipliers in the original LP/QP.

Class: double

Default: []

S.recover.lambdaTh

Matrix of the affine map ../../../../fig/mpt/modules/solvers/mpt_solvemp40.png. The map is from the optimization variables involed in LCP ../../../../fig/mpt/modules/solvers/mpt_solvemp41.png and the Lagrangian multipliers in the original LP/QP.

Class: double

Default: []

Output Arguments

R

result structure

Class: struct

R.xopt

Optimal solution with the associated functions for optimizer, multipliers and the objective value.

Class: PolyUnion

R.exitflag

An integer value that informs if the result was feasible (1), or otherwise (different from 1)

Class: double

R.how

A string that informs if the result was feasible ('ok'), or if any problem appeared through optimization

Class: char

R.solveTime

Information about the time that elapsed during the computation in seconds.

Class: double

R.stats

Further details from the parametric solver.

Class: struct

See Also

mpt_solve


© 2010-2013 Martin Herceg: ETH Zurich, herceg@control.ee.ethz.ch