irafhy
Interval arithmetic based Reachability Analysis Framework for Hybrid Automaton
CSPSolver.h
Go to the documentation of this file.
1 #ifndef UTILITY_SOLVER_CSP_SOLVER_H
2 #define UTILITY_SOLVER_CSP_SOLVER_H
3 
4 #include <vector>
5 #include <queue>
9 
10 namespace irafhy
11 {
12  class CSPSolver
13  {
14  private:
21  static Eigen::MatrixXd extremeVerticesEnumeration(const Eigen::MatrixXd& A, const Eigen::VectorXd& b);
22 
23  public:
30  static std::vector<IntervalHull> exactBoundarySolve(const IntervalHull& intervalHull, double epsilon);
37  static std::vector<IntervalHull> branchPruneSolve(const IntervalHull& intervalHull, double epsilon);
44  static std::vector<IntervalHull> branchPruneSolve(const Constraints& constraints, double epsilon);
51  static std::vector<IntervalHull> branchPruneSolve(const Polytope& polytope, double epsilon);
52  };
53 } // namespace irafhy
54 #endif //UTILITY_SOLVER_CSP_SOLVER_H
static Eigen::MatrixXd extremeVerticesEnumeration(const Eigen::MatrixXd &A, const Eigen::VectorXd &b)
enumerate the extreme vertices of the convex hull which defined by the given linear system Ax<=b ...
Definition: CSPSolver.cpp:5
Definition: intervalHull.h:12
Definition: condition.cpp:3
Definition: CSPSolver.h:12
static std::vector< IntervalHull > exactBoundarySolve(const IntervalHull &intervalHull, double epsilon)
get the boundary interval hulls in specified precision
Definition: CSPSolver.cpp:67
static std::vector< IntervalHull > branchPruneSolve(const IntervalHull &intervalHull, double epsilon)
get the boundary interval hulls of the given interval hull in specified precision using branch and pr...
Definition: CSPSolver.cpp:173
Definition: polytope.h:14
Definition: constraints.h:10