Home > mpt > @polytope > bounding_box.m

bounding_box

PURPOSE ^

BOUNDING_BOX Compute a bounding box for a given polytope

SYNOPSIS ^

function [R,l,u,lv,uv]=bounding_box(P,Options,lookahead,A,b)

DESCRIPTION ^

BOUNDING_BOX Compute a bounding box for a given polytope

 [R,l,u,lv,uv]=bounding_box(P,Options,lookahead,A,b)

 ---------------------------------------------------------------------------
 DESCRIPTION
 ---------------------------------------------------------------------------
 Given a polytope P={x: H*x<=K}, compute the bounding box. A bounding box
 is the smallest hypercube which contains the given polytope.
 
 The algorithm uses LP to compute maximal hyperrectangle containing a 
 polytope

 ---------------------------------------------------------------------------
 INPUT
 ---------------------------------------------------------------------------
 P                     - polytope
 Options.lpsolver      - LP solver to use (see help mpt_solveLP)
 Options.noPolyOutput  - if set to 1, the bounding box will NOT be returned as
                         a polytope object
                         (Default: 0)
 Options.Voutput       - if set to 1, first output will be a matrix consisting
                         of the lower and upper vertices, i.e. E = [l u]
                         (Default: 0)
 Options.bboxvertices  - if set to 1, computes vertices of the bounding box and
                         returns them as first output argument. You must use
                         Options.Voutput=1 in order to use this option
                         (Default: 0)
 lookahead         - specify at which future iteration to compute the box, if
                     the dynamics given by (A,b) are applied. Set 0 by default.
 A,b               - System dynamics  x(k+1)=Ax+b, only needed if lookahead > 0;

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

 ---------------------------------------------------------------------------
 OUTPUT
 ---------------------------------------------------------------------------
 R                 - Bounding Box Polytope (if Options.noPolyOutput=0)
                   - Vertices of the bounding box (if Options.bboxvertices=1)
 "l,u"             - The two extreme vertices of the hypercube R, i.e. "l" is 
              the vertex which minimizes the LP objective "x" (smallest
              state) and "u" is the vertex which minimizes the LP 
              objective "-x" (largest state).
 "lv,uv"           - extreme points if the original polytope
                     LV(i,:) is the argmin(x_i), x \in P 
                     UV(i,:) is the argmax(x_i), x \in P 

 see also ENVELOPE, HULL, UNION

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Thu 30-Mar-2006 10:26:47 by m2html © 2003