14template<
typename StateType,
typename ValueType>
17template<
typename StateType,
typename ValueType>
59 std::pair<ValueType, ValueType>
const& values);
61 void setBoundsForRowGroup(StateType
const& rowGroup, std::pair<ValueType, ValueType>
const& values);
64 ValueType
const& newLowerValue);
67 ValueType
const& newUpperValue);
70 std::vector<std::pair<ValueType, ValueType>> boundsPerState;
71 std::vector<std::pair<ValueType, ValueType>> boundsPerAction;
void setLowerBoundForRowGroup(StateType const &group, ValueType const &value)
ValueType const & getLowerBoundForRowGroup(StateType const &rowGroup) const
ValueType getDifferenceOfStateBounds(StateType const &state, ExplorationInformation< StateType, ValueType > const &explorationInformation) const
void setBoundsForState(StateType const &state, ExplorationInformation< StateType, ValueType > const &explorationInformation, std::pair< ValueType, ValueType > const &values)
std::pair< ValueType, ValueType > getBoundsForState(StateType const &state, ExplorationInformation< StateType, ValueType > const &explorationInformation) const
void setBoundsForAction(ActionType const &action, std::pair< ValueType, ValueType > const &values)
ValueType const & getUpperBoundForRowGroup(StateType const &rowGroup) const
std::pair< ValueType, ValueType > const & getBoundsForAction(ActionType const &action) const
bool setLowerBoundOfStateIfGreaterThanOld(StateType const &state, ExplorationInformation< StateType, ValueType > const &explorationInformation, ValueType const &newLowerValue)
void initializeBoundsForNextState(std::pair< ValueType, ValueType > const &vals=std::pair< ValueType, ValueType >(storm::utility::zero< ValueType >(), storm::utility::one< ValueType >()))
ValueType getLowerBoundForState(StateType const &state, ExplorationInformation< StateType, ValueType > const &explorationInformation) const
bool setUpperBoundOfStateIfLessThanOld(StateType const &state, ExplorationInformation< StateType, ValueType > const &explorationInformation, ValueType const &newUpperValue)
ValueType const & getBoundForAction(storm::OptimizationDirection const &direction, ActionType const &action) const
void setBoundsForRowGroup(StateType const &rowGroup, std::pair< ValueType, ValueType > const &values)
void initializeBoundsForNextAction(std::pair< ValueType, ValueType > const &vals=std::pair< ValueType, ValueType >(storm::utility::zero< ValueType >(), storm::utility::one< ValueType >()))
ValueType getUpperBoundForState(StateType const &state, ExplorationInformation< StateType, ValueType > const &explorationInformation) const
ValueType const & getLowerBoundForAction(ActionType const &action) const
void setUpperBoundForState(StateType const &state, ExplorationInformation< StateType, ValueType > const &explorationInformation, ValueType const &value)
ValueType const & getUpperBoundForAction(ActionType const &action) const
void setLowerBoundForState(StateType const &state, ExplorationInformation< StateType, ValueType > const &explorationInformation, ValueType const &value)
void setUpperBoundForRowGroup(StateType const &group, ValueType const &value)
solver::OptimizationDirection OptimizationDirection