9template<
typename ValueType,
bool RawMode>
23template<
typename ValueType>
34 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
create(std::string
const& name)
const = 0;
35 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
createRaw(std::string
const& name)
const = 0;
36 virtual std::unique_ptr<LpSolverFactory<ValueType>>
clone()
const = 0;
39template<
typename ValueType>
42 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
create(std::string
const& name)
const override;
43 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
createRaw(std::string
const& name)
const override;
44 virtual std::unique_ptr<LpSolverFactory<ValueType>>
clone()
const override;
47template<
typename ValueType>
50 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
create(std::string
const& name)
const override;
51 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
createRaw(std::string
const& name)
const override;
52 virtual std::unique_ptr<LpSolverFactory<ValueType>>
clone()
const override;
55template<
typename ValueType>
59 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
create(std::string
const& name)
const override;
60 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
createRaw(std::string
const& name)
const override;
61 virtual std::unique_ptr<LpSolverFactory<ValueType>>
clone()
const override;
64 std::shared_ptr<storm::solver::GurobiEnvironment> environment;
67template<
typename ValueType>
70 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
create(std::string
const& name)
const override;
71 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
createRaw(std::string
const& name)
const override;
72 virtual std::unique_ptr<LpSolverFactory<ValueType>>
clone()
const override;
75template<
typename ValueType>
77 storm::solver::LpSolverTypeSelection solvType = storm::solver::LpSolverTypeSelection::FROMSETTINGS);
79template<
typename ValueType>
80std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
getLpSolver(
81 std::string
const& name, storm::solver::LpSolverTypeSelection solvType = storm::solver::LpSolverTypeSelection::FROMSETTINGS);
83template<
typename ValueType>
84std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
getRawLpSolver(
85 std::string
const& name, storm::solver::LpSolverTypeSelection solvType = storm::solver::LpSolverTypeSelection::FROMSETTINGS);
This class is responsible for managing a set of typed variables and all expressions using these varia...
An interface that captures the functionality of an LP solver.
An interface that captures the functionality of an SMT solver.
virtual std::unique_ptr< LpSolverFactory< ValueType > > clone() const override
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, true > > createRaw(std::string const &name) const override
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, false > > create(std::string const &name) const override
Creates a new linear equation solver instance with the given name.
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, false > > create(std::string const &name) const override
Creates a new linear equation solver instance with the given name.
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, true > > createRaw(std::string const &name) const override
virtual std::unique_ptr< LpSolverFactory< ValueType > > clone() const override
virtual ~LpSolverFactory()=default
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, true > > createRaw(std::string const &name) const =0
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, false > > create(std::string const &name) const =0
Creates a new linear equation solver instance with the given name.
virtual std::unique_ptr< LpSolverFactory< ValueType > > clone() const =0
virtual std::unique_ptr< storm::solver::SmtSolver > create(storm::expressions::ExpressionManager &manager) const
Creates a new SMT solver instance.
virtual std::unique_ptr< storm::solver::SmtSolver > create(storm::expressions::ExpressionManager &manager) const
Creates a new SMT solver instance.
virtual ~SmtSolverFactory()=default
virtual std::unique_ptr< LpSolverFactory< ValueType > > clone() const override
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, true > > createRaw(std::string const &name) const override
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, false > > create(std::string const &name) const override
Creates a new linear equation solver instance with the given name.
virtual std::unique_ptr< LpSolverFactory< ValueType > > clone() const override
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, true > > createRaw(std::string const &name) const override
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, false > > create(std::string const &name) const override
Creates a new linear equation solver instance with the given name.
virtual std::unique_ptr< storm::solver::SmtSolver > create(storm::expressions::ExpressionManager &manager) const
Creates a new SMT solver instance.
std::unique_ptr< storm::solver::LpSolver< ValueType > > getLpSolver(std::string const &name, storm::solver::LpSolverTypeSelection solvType)
std::unique_ptr< storm::solver::SmtSolver > getSmtSolver(storm::expressions::ExpressionManager &manager)
std::unique_ptr< LpSolverFactory< ValueType > > getLpSolverFactory(storm::solver::LpSolverTypeSelection solvType)
std::unique_ptr< storm::solver::LpSolver< ValueType, true > > getRawLpSolver(std::string const &name, storm::solver::LpSolverTypeSelection solvType)