Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SchedulerTrackingHelper.h
Go to the documentation of this file.
1#pragma once
2#include <memory>
3#include <vector>
4
7
8namespace storm::solver::helper {
9
13template<typename ValueType, typename SolutionType = ValueType>
15 public:
20
35 bool computeScheduler(std::vector<SolutionType>& operandIn, std::vector<ValueType> const& offsets, storm::OptimizationDirection const& dir,
36 std::vector<uint64_t>& schedulerStorage, bool robust, std::vector<SolutionType>* operandOut = nullptr) const;
37
38 private:
42 template<storm::OptimizationDirection Dir, storm::OptimizationDirection RobustDir>
43 bool computeScheduler(std::vector<SolutionType>& operandIn, std::vector<ValueType> const& offsets, std::vector<uint64_t>& schedulerStorage,
44 std::vector<SolutionType>* operandOut) const;
45
46 private:
47 std::shared_ptr<ValueIterationOperator<ValueType, false, SolutionType>> viOperator;
48};
49
50} // namespace storm::solver::helper
Helper class to extract optimal scheduler choices from a MinMax equation system solution.
bool computeScheduler(std::vector< SolutionType > &operandIn, std::vector< ValueType > const &offsets, storm::OptimizationDirection const &dir, std::vector< uint64_t > &schedulerStorage, bool robust, std::vector< SolutionType > *operandOut=nullptr) const
Computes the optimal choices from the given solution.
This class represents the Value Iteration Operator (also known as Bellman operator).