Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
MultiObjectiveModelCheckerEnvironment.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
9
10namespace storm {
11
13 public:
14 enum class PrecisionType {
15 Absolute,
17 };
18
19 enum class EncodingType {
20 Auto,
21 Classic,
22 Flow
23 };
24
27
28 storm::modelchecker::multiobjective::MultiObjectiveMethod const& getMethod() const;
29 void setMethod(storm::modelchecker::multiobjective::MultiObjectiveMethod value);
30
31 bool isExportPlotSet() const;
32 boost::optional<std::string> getPlotPathUnderApproximation() const;
33 void setPlotPathUnderApproximation(std::string const& path);
35 boost::optional<std::string> getPlotPathOverApproximation() const;
36 void setPlotPathOverApproximation(std::string const& path);
38 boost::optional<std::string> getPlotPathParetoPoints() const;
39 void setPlotPathParetoPoints(std::string const& path);
41
42 storm::RationalNumber const& getPrecision() const;
43 void setPrecision(storm::RationalNumber const& value);
44 PrecisionType const& getPrecisionType() const;
45 void setPrecisionType(PrecisionType const& value);
46
47 EncodingType const& getEncodingType() const;
48 void setEncodingType(EncodingType const& value);
49
50 bool getUseIndicatorConstraints() const;
51 void setUseIndicatorConstraints(bool value);
52
53 bool getUseBsccOrderEncoding() const;
54 void setUseBsccOrderEncoding(bool value);
55
57 void setUseRedundantBsccConstraints(bool value);
58
65 bool isApproximationTradeoffSet() const;
66 storm::RationalNumber const& getApproximationTradeoff() const;
67 void setApproximationTradeoff(storm::RationalNumber const& value);
69
70 bool isMaxStepsSet() const;
71 uint64_t const& getMaxSteps() const;
72 void setMaxSteps(uint64_t const& value);
73 void unsetMaxSteps();
74
75 bool isSchedulerRestrictionSet() const;
79
80 bool isPrintResultsSet() const;
81 void setPrintResults(bool value);
82
84 void setLexicographicModelChecking(bool value);
85
86 private:
87 storm::modelchecker::multiobjective::MultiObjectiveMethod method;
88 boost::optional<std::string> plotPathUnderApprox, plotPathOverApprox, plotPathParetoPoints;
89 storm::RationalNumber precision;
90 PrecisionType precisionType;
91 EncodingType encodingType;
92 bool indicatorConstraints;
93 bool bsccOrderEncoding;
94 bool redundantBsccConstraints;
95 boost::optional<uint64_t> maxSteps;
96 boost::optional<storm::RationalNumber> approximationTradeoff;
97 boost::optional<storm::storage::SchedulerClass> schedulerRestriction;
98 bool printResults;
99 bool useLexicographicModelChecking;
100};
101} // namespace storm
storm::modelchecker::multiobjective::MultiObjectiveMethod const & getMethod() const
void setMethod(storm::modelchecker::multiobjective::MultiObjectiveMethod value)
bool isApproximationTradeoffSet() const
Configure approximation tradeoff between accuracy of weighted sum optimization vs.
void setSchedulerRestriction(storm::storage::SchedulerClass const &value)
storm::storage::SchedulerClass const & getSchedulerRestriction() const