12template<
typename ValueType,
bool RawMode>
26template<
typename ValueType>
37 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
create(
storm::Environment const& env, std::string
const& name)
const = 0;
38 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
createRaw(
storm::Environment const& env, std::string
const& name)
const = 0;
39 virtual std::unique_ptr<LpSolverFactory<ValueType>>
clone()
const = 0;
42template<
typename ValueType>
45 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
create(
storm::Environment const& env, std::string
const& name)
const override;
46 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
createRaw(
storm::Environment const& env, std::string
const& name)
const override;
47 virtual std::unique_ptr<LpSolverFactory<ValueType>>
clone()
const override;
50template<
typename ValueType>
53 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
create(
storm::Environment const& env, std::string
const& name)
const override;
54 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
createRaw(
storm::Environment const& env, std::string
const& name)
const override;
55 virtual std::unique_ptr<LpSolverFactory<ValueType>>
clone()
const override;
58template<
typename ValueType>
61 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
create(
storm::Environment const& env, std::string
const& name)
const override;
62 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
createRaw(
storm::Environment const& env, std::string
const& name)
const override;
63 virtual std::unique_ptr<LpSolverFactory<ValueType>>
clone()
const override;
66template<
typename ValueType>
69 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
create(
storm::Environment const& env, std::string
const& name)
const override;
70 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
createRaw(
storm::Environment const& env, std::string
const& name)
const override;
71 virtual std::unique_ptr<LpSolverFactory<ValueType>>
clone()
const override;
74 std::shared_ptr<storm::solver::GurobiEnvironment>
const& getOrCreateGurobiEnvironment(
storm::Environment const& env)
const;
76 mutable std::shared_ptr<storm::solver::GurobiEnvironment> environment;
79template<
typename ValueType>
82 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
create(
storm::Environment const& env, std::string
const& name)
const override;
83 virtual std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
createRaw(
storm::Environment const& env, std::string
const& name)
const override;
84 virtual std::unique_ptr<LpSolverFactory<ValueType>>
clone()
const override;
87template<
typename ValueType>
89 storm::Environment const& env, storm::solver::LpSolverTypeSelection solvType = storm::solver::LpSolverTypeSelection::FROMSETTINGS);
91template<
typename ValueType>
92std::unique_ptr<storm::solver::LpSolver<ValueType, false>>
getLpSolver(
93 storm::Environment const& env, std::string
const& name, storm::solver::LpSolverTypeSelection solvType = storm::solver::LpSolverTypeSelection::FROMSETTINGS);
95template<
typename ValueType>
96std::unique_ptr<storm::solver::LpSolver<ValueType, true>>
getRawLpSolver(
97 storm::Environment const& env, 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< storm::solver::LpSolver< ValueType, false > > create(storm::Environment const &env, 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(storm::Environment const &env, std::string const &name) const override
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, true > > createRaw(storm::Environment const &env, std::string const &name) const override
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, false > > create(storm::Environment const &env, 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(storm::Environment const &env, std::string const &name) const override
virtual std::unique_ptr< LpSolverFactory< ValueType > > clone() const override
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, false > > create(storm::Environment const &env, std::string const &name) const override
Creates a new linear equation solver instance with the given name.
virtual ~LpSolverFactory()=default
virtual std::unique_ptr< LpSolverFactory< ValueType > > clone() const =0
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, false > > create(storm::Environment const &env, std::string const &name) const =0
Creates a new linear equation solver instance with the given name.
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, true > > createRaw(storm::Environment const &env, std::string const &name) 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, false > > create(storm::Environment const &env, 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(storm::Environment const &env, std::string const &name) const override
virtual std::unique_ptr< LpSolverFactory< ValueType > > clone() const override
virtual std::unique_ptr< storm::solver::LpSolver< ValueType, false > > create(storm::Environment const &env, 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(storm::Environment const &env, std::string const &name) const override
virtual std::unique_ptr< storm::solver::SmtSolver > create(storm::expressions::ExpressionManager &manager) const
Creates a new SMT solver instance.
std::unique_ptr< LpSolverFactory< ValueType > > getLpSolverFactory(storm::Environment const &env, storm::solver::LpSolverTypeSelection solvType)
std::unique_ptr< storm::solver::LpSolver< ValueType, true > > getRawLpSolver(storm::Environment const &env, std::string const &name, storm::solver::LpSolverTypeSelection solvType)
std::unique_ptr< storm::solver::SmtSolver > getSmtSolver(storm::expressions::ExpressionManager &manager)
std::unique_ptr< storm::solver::LpSolver< ValueType > > getLpSolver(storm::Environment const &env, std::string const &name, storm::solver::LpSolverTypeSelection solvType)