Home > mpt > extras > auxiliary > mpt_greedyMerging.m

mpt_greedyMerging

PURPOSE ^

MPT_GREEDYMERGING Greedy merging of polyhedra

SYNOPSIS ^

function [PolyOut,details] = mpt_greedyMerging(PolyIn, Options)

DESCRIPTION ^

 MPT_GREEDYMERGING Greedy merging of polyhedra
===============================================================================

 Title:        greedyMerging.m                                                 
                                                                       
 Project:      merging of polyhedra
                                                             
 Inputs:       PolyIn: set of polytopes either 
                 as an array of polytopes using the MPT toolbox, or
                 or as a structure using the halfspaces description Hi*x <= Ki
               Options (optional):
                 multiple: 0: one loop
                           1: do multiple merging loops until no improvement (default)
                 trials:   0: one trial (default)
                          >0: do multiple trials. If a better solution is found,
                              reset the counter to zero
                 verbose:  0: verbosity off 
                           1: verbosity on (default)
                 union.lpsolver: LP solver used when computing the union
                           0: NAG Toolbox (default)
                           1: Matlab's linprog
                 union.tolerance: tolerance when computing the union
                           1e-6 (default)
                 union.reduce: reduce union to minimal representation
                           0: no (default)
                           1: yes

 Outputs:      PolyOut: set of merged polytopes either
                 as an array of polytopes using the MPT toolbox, or
                 or as a structure using the halfspaces description Hi*x <= Ki.
               The tool choses the same representation as for PolyIn

 Comments:     The algorithm tries to merge as many of the given polyhedra as 
               possible using a greedy approach. The algorithm cycles through 
               the regions and checks if any two regions form a convex union.
               If so, the algorithm combines them in one region, and continues
               checking the remaining regions.
               To improve the solution, multiple merging loops are enabled
               by default.
               To reduce the problem of getting stuck in local minima, several 
               trials can be used until the solution is not improved.

 Author:       Tobias Geyer
                                                                       
 History:      date        subject                                       
               2004.01.16  initial version based on mb_reducePWA by Mato Baotic
               2004.05.06  debugged, comments added

 Requires:     multi parametric toolbox MPT,
               mb_buildBClist
               cell2mpt, mpt2cell,
               mb_polyunion,
               facetinnercircle

 Contact:      Tobias Geyer
               Automatic Control Laboratory
               ETH Zentrum, 
               Zurich, Switzerland

               geyer@control.ee.ethz.ch

               Comments and bug reports are highly appreciated

===============================================================================

CROSS-REFERENCE INFORMATION ^

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