9template<
typename ValueType,
bool RawMode>
12class GurobiEnvironment;
17namespace expressions {
18class ExpressionManager;
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...
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)