11template<
typename ParametricType>
47 std::vector<Valuation>
getVerticesOfRegion(std::set<VariableType>
const& consideredVariables)
const;
71 std::set<VariableType>
const& consideredVariables)
const;
75 std::set<VariableType>
const& monDecrParameters)
const;
78 std::string
toString(
bool boundariesAsDouble =
false)
const;
88 bool lastSplitMonotone =
false;
89 uint_fast64_t splitThreshold;
93 std::set<VariableType> variables;
94 std::multimap<CoefficientType, VariableType> sortedOnDifference;
98template<
typename ParametricType>
storm::utility::parametric::CoefficientType< ParametricType >::type CoefficientType
std::set< VariableType > const & getVariables() const
Valuation getCenterPoint() const
Returns the center point of this region.
virtual ~ParameterRegion()=default
CoefficientType area() const
Returns the area of this region.
void setBoundParent(CoefficientType bound)
ParameterRegion(ParameterRegion< ParametricType > &&other)=default
std::string toString(bool boundariesAsDouble=false) const
storm::utility::parametric::Valuation< ParametricType > Valuation
Valuation const & getLowerBoundaries() const
CoefficientType getDifference(const std::string varName) const
storm::utility::parametric::VariableType< ParametricType >::type VariableType
Valuation getPoint(storm::solver::OptimizationDirection dir, storm::analysis::MonotonicityResult< VariableType > &monRes) const
ParameterRegion(ParameterRegion< ParametricType > const &other)=default
CoefficientType const & getLowerBoundary(VariableType const &variable) const
CoefficientType getBoundParent()
void split(Valuation const &splittingPoint, std::vector< ParameterRegion< ParametricType > > ®ionVector) const
Splits the region at the given point and inserts the resulting subregions at the end of the given vec...
bool isSubRegion(ParameterRegion< ParametricType > region)
CoefficientType const & getUpperBoundary(VariableType const &variable) const
ParameterRegion< ParametricType > & operator=(ParameterRegion< ParametricType > const &other)=default
Valuation getSomePoint() const
Returns some point that lies within this region.
void split(Valuation const &splittingPoint, std::vector< ParameterRegion< ParametricType > > ®ionVector, std::set< VariableType > const &consideredVariables) const
Valuation const & getUpperBoundaries() const
std::multimap< CoefficientType, VariableType > const & getVariablesSorted() const
std::vector< Valuation > getVerticesOfRegion(std::set< VariableType > const &consideredVariables) const
Returns a vector of all possible combinations of lower and upper bounds of the given variables.
std::ostream & operator<<(std::ostream &out, ParameterRegion< ParametricType > const ®ion)
std::map< typename VariableType< FunctionType >::type, typename CoefficientType< FunctionType >::type > Valuation