chebyCenter

Purpose

Compute the Chebyshev centre of the Polyhedron.

Syntax

s = P.chebyCenter
s = P.chebyCenter(facet)
s = P.chebyCenter(facet,bound)
s = chebyCenter(P,facet,bound)

Description

Computes the Chebyshev centre of a polyhedron via solving the following optimization problem

../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/chebycenter7.png

where ../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/chebycenter1.png is the centre of the ball inscribed inside the H-representation of the polyhedron P and ../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/chebycenter2.png is the radius of the ball. The polyhedron is given as ../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/chebycenter3.png with ../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/chebycenter4.png inequalities and ../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/chebycenter5.png equalities. It is possible to compute the Chebyshev centre restricted to one or more facets of polyhedron by providing vector of indices facet. Note that the polyhedron must be in its minimal representation in order to have facets. If the facet indices are provided, the inequalities in the above optimization problem belonging to these indices change to equality constraints. It is also possible to upper bound the radius r by specifying bound input. In this case the constraint ../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/chebycenter6.png is added.

Input Arguments

P

Polyhedron in H-representation.

Class: Polyhedron

facet

Vector of indices specifying a subset of facets for computing the Chebyshev centre.

Class: double

Default: []

bound

Upper bound on the radius of the inscribed ball.

Class: double

Default: Inf

Output Arguments

s

Structure with outputs from the Chebyshev centre optimization problem.

Class: struct

s.exitflag

Informs if the optimization problem was terminated properly.

Class: double

s.x

Centre of the ball inscribed in polyhedron P.

Class: double

s.r

Radius of the ball inscribed in polyhedron P.

Class: double

Example(s)

Example 1

Chebyshev centre for 2D polyhedron.Define the polyhedron P 2D.
 P = ExamplePoly.randHrep; 
Compute the centre of the ball inscribed ball 
s = P.chebyCenter 
s = 

    exitflag: 1
           x: [2x1 double]
           r: 0.728566101748245

Construct the circle out of the result.
x = sdpvar(2,1); 

F = [norm(x-s.x)<=s.r]; 

 circle = YSet(x,F); 
 plot the sets 
 plot(P); hold on; plot(circle); 

../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/chebycenter_img_1.png


© 2010-2013 Colin Neil Jones: EPF Lausanne, colin.jones@epfl.ch

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