1#ifndef ZONOOPT_EMPTYSET_HPP_
2#define ZONOOPT_EMPTYSET_HPP_
43 std::string
print()
const override;
47 return std::make_unique<EmptySet>(this->
n);
50 std::unique_ptr<Zono>
to_zono_approx()
const override {
throw std::runtime_error(
"to_zono_approx: EmptySet"); }
54 const Eigen::SparseMatrix<zono_float>&,
const Eigen::Vector<zono_float, -1>&,
zono_float,
59 std::shared_ptr<OptSolution>* solution,
63 std::shared_ptr<OptSolution>* solution,
67 std::shared_ptr<OptSolution>*
sol,
77 std::shared_ptr<OptSolution>*
sol,
81 void make_default_solution(std::shared_ptr<OptSolution>*
sol)
const;
Constrained zonotope class for ZonoOpt library.
Zonotope class for ZonoOpt library.
Box (i.e., interval vector) class.
Definition Box.hpp:25
Constrained zonotope class.
Definition ConZono.hpp:32
void set(const Eigen::SparseMatrix< zono_float > &G, const Eigen::Vector< zono_float, -1 > &c, const Eigen::SparseMatrix< zono_float > &A, const Eigen::Vector< zono_float, -1 > &b, bool zero_one_form=false)
Reset constrained zonotope object with the given parameters.
Definition ConZono.cpp:22
Empty Set class.
Definition EmptySet.hpp:26
bool do_contains_point(const Eigen::Vector< zono_float, -1 > &, const SolverSettings &, std::shared_ptr< OptSolution > *sol, const WarmStartParams &) const override
Definition EmptySet.cpp:66
std::unique_ptr< HybZono > do_complement(zono_float delta_m, bool, const SolverSettings &, std::shared_ptr< OptSolution > *sol, int, int) override
Definition EmptySet.cpp:90
std::unique_ptr< ConZono > constraint_reduction() const override
Execute constraint reduction algorithm from Scott et. al. 2016.
Definition EmptySet.hpp:45
bool do_is_empty(const SolverSettings &, std::shared_ptr< OptSolution > *sol, const WarmStartParams &) const override
Definition EmptySet.cpp:84
HybZono * clone() const override
Clone method for polymorphic behavior.
Definition EmptySet.cpp:28
zono_float do_support(const Eigen::Vector< zono_float, -1 > &, const SolverSettings &, std::shared_ptr< OptSolution > *solution, const WarmStartParams &) override
Definition EmptySet.cpp:58
Eigen::Vector< zono_float, -1 > do_project_point(const Eigen::Vector< zono_float, -1 > &, const SolverSettings &, std::shared_ptr< OptSolution > *solution, const WarmStartParams &) const override
Definition EmptySet.cpp:50
std::unique_ptr< Zono > to_zono_approx() const override
Compute outer approximation of constrained zonotope as zonotope using SVD.
Definition EmptySet.hpp:50
Box do_bounding_box(const SolverSettings &, std::shared_ptr< OptSolution > *sol, const WarmStartParams &) override
Definition EmptySet.cpp:74
Eigen::Vector< zono_float, -1 > do_optimize_over(const Eigen::SparseMatrix< zono_float > &, const Eigen::Vector< zono_float, -1 > &, zono_float, const SolverSettings &, std::shared_ptr< OptSolution > *solution, const WarmStartParams &) const override
Definition EmptySet.cpp:41
std::string print() const override
Returns set information as a string.
Definition EmptySet.cpp:33
EmptySet()=default
Default constructor for EmptySet class.
Hybrid zonotope class.
Definition HybZono.hpp:43
int n
set dimension
Definition HybZono.hpp:731
#define zono_float
Defines the floating-point type used in ZonoOpt.
Definition ZonoOpt.hpp:45
Definition ZonoOpt.hpp:58
Abstract base for all solver settings.
Definition SolverDataStructures.hpp:35
Warm start parameters for optimization routines in ZonoOpt library.
Definition ADMM.hpp:49