Home > mpt > extras > auxiliary > mpt_mplp_ver6.m

# mpt_mplp_ver6

## PURPOSE

MPT_MPLP Explicitly solves the given linear program (LP)

## SYNOPSIS

function [Pn,Fi,Gi,activeConstraints, Phard,details]=mpt_mplp_ver6(Matrices,Options)

## DESCRIPTION

```MPT_MPLP Explicitly solves the given linear program (LP)

[Pn,Fi,Gi,activeConstraints,Phard,details]=mpt_mplp(Matrices,Options)

---------------------------------------------------------------------------
DESCRIPTION
---------------------------------------------------------------------------
Multiparametric linear programming

Solves the problem
V(x) = min (H + Dx)' U
U
s.t.   G U <= W + E x
bndA*x <= bndb

As a solution we get 'nR' regions
Pn(i)={x : H x <= K}

with the optimal control law
U = Fi{i} x + Gi{i}

and the corresponding cost function expression
V(x) = Bi{i} x + Ci{i}

---------------------------------------------------------------------------
INPUT
---------------------------------------------------------------------------
Matrices - a struct with all the parameters which are needed.
See description above for explanation.
Matrices.H=H;
Matrices.G=G;
Matrices.W=W;
Matrices.E=E;
Matrices.D=D;
Matrices.bndA=bndA;     Limits on exploration space, i.e. bndA*x<=bndb
Matrices.bndb
Matrices.constraintInfo;

Options.verbose      - level of verbosity
Options.lpsolver     - which LP solver to use (help mpt_solveLP)
Options.max_iter     - maximum number of iterations of the algorithm
Options.step_size    - length of step over a facet (default: 1e-?)
Options.f_perturb    - Perturbation of the optimization direction

Note: If Options is missing or some of the fields are not defined, the default
values from mptOptions will be used

---------------------------------------------------------------------------
OUTPUT
---------------------------------------------------------------------------
Pn,Fi,Gi           - for region Pn(i).H*x <= Pn(i).K computed input is
U=Fi{i}*x+Gi{i}
activeConstraints  - Cell Array which stores the active constraints
of the optimizer in each region.
Phard              - Defines the feasible state space partition (i.e. union of
all regions) as Phard.H*x<=Phard.K
details            - a structure with the following fields:
nRegions  number of regions
Pn        polyhedral partition
Fi,Gi     optimizer matrices: u(x) = Fi * x + Gi
Bi,Ci     value function matrices: J(x) = Bi * x + Ci
nHard     number of hard constraints
Phard     polytope given by hard constraints
nb        number of constraints for each region
LISTa     list of active constraints
parition indexed by the border numbers
adjacencyInfo.tSetList      List of infeasible boundaries of each region.```

## CROSS-REFERENCE INFORMATION

This function calls:
• length LENGTH Returns number of regions over which the explicit control law is defined
• plot PLOT Plots regions of the explicit controller
• bounding_box BOUNDING_BOX Compute a bounding box for a given polytope
• chebyball CHEBYBALL Computes center and radius of the largest ball inscribed in a polytope
• dimension DIMENSION Returns dimension of the given polytope
• double DOUBLE Function used to access internal properties of the given polytope
• end END Returns the last element in a given polytope array
• intersect INTERSECT Intersection of 2 polytopes or polytope arrays
• isfulldim ISFULLDIM Checks if a polytope is full dimensional
• isinside ISINSIDE Checks if a given point lies in the interior of a given polytope
• length LENGTH Returns number of elements in a polytope array
• nconstr NCONSTR Returns number of constraints that form an H-representation of a polytope
• plot PLOT Plots polytopes in 2D or 3D
• polytope POLYTOPE Default constructor for the POLYTOPE object
• projection PROJECTION Projection of a polytope or a polytope array
• reduce REDUCE Reduces the polytope by removing redundant inequalities
• size SIZE Returns size of the given polytope object
• mpt_error MPT_ERROR Function called if MPT toolbox is not initialized
• mpt_solveLPi MPT_SOLVELPi Interface to various LP solvers (version without errorchecks)
• mpt_solveLPs MPT_SOLVELPS Interface to various LP solvers ("safe" version)
• mpt_statusbar Status bar function
• mpt_solveQP MPT_SOLVEQP Interface to various QP solvers
This function is called by:
• mpt_mplp MPT_MPLP Explicitly solves the given linear program (LP)

Generated on Thu 30-Mar-2006 10:26:47 by m2html © 2003