|  | @ -28,6 +28,7 @@ namespace storm { | 
		
	
		
			
				|  |  |             template<typename ValueType, bool SingleObjectiveMode> |  |  |             template<typename ValueType, bool SingleObjectiveMode> | 
		
	
		
			
				|  |  |             void MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::initialize() { |  |  |             void MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::initialize() { | 
		
	
		
			
				|  |  |                 swInit.start(); |  |  |                 swInit.start(); | 
		
	
		
			
				|  |  |  |  |  |                 STORM_LOG_ASSERT(!SingleObjectiveMode || (this->objectives.size() == 1), "Enabled single objective mode but there are multiple objectives."); | 
		
	
		
			
				|  |  |                 std::vector<std::vector<uint64_t>> epochSteps; |  |  |                 std::vector<std::vector<uint64_t>> epochSteps; | 
		
	
		
			
				|  |  |                 initializeObjectives(epochSteps); |  |  |                 initializeObjectives(epochSteps); | 
		
	
		
			
				|  |  |                 initializePossibleEpochSteps(epochSteps); |  |  |                 initializePossibleEpochSteps(epochSteps); | 
		
	
	
		
			
				|  | @ -415,17 +416,16 @@ namespace storm { | 
		
	
		
			
				|  |  |             template<typename ValueType, bool SingleObjectiveMode> |  |  |             template<typename ValueType, bool SingleObjectiveMode> | 
		
	
		
			
				|  |  |             template<bool SO, typename std::enable_if<SO, int>::type> |  |  |             template<bool SO, typename std::enable_if<SO, int>::type> | 
		
	
		
			
				|  |  |             typename MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::SolutionType MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::getScaledSolution(SolutionType const& solution, ValueType const& scalingFactor) const { |  |  |             typename MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::SolutionType MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::getScaledSolution(SolutionType const& solution, ValueType const& scalingFactor) const { | 
		
	
		
			
				|  |  |                 //return solution * scalingFactor;
 |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                 return solution * scalingFactor; | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  |              |  |  |              | 
		
	
		
			
				|  |  |             template<typename ValueType, bool SingleObjectiveMode> |  |  |             template<typename ValueType, bool SingleObjectiveMode> | 
		
	
		
			
				|  |  |             template<bool SO, typename std::enable_if<!SO, int>::type> |  |  |             template<bool SO, typename std::enable_if<!SO, int>::type> | 
		
	
		
			
				|  |  |             typename MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::SolutionType MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::getScaledSolution(SolutionType const& solution, ValueType const& scalingFactor) const { |  |  |             typename MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::SolutionType MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::getScaledSolution(SolutionType const& solution, ValueType const& scalingFactor) const { | 
		
	
		
			
				|  |  |                 SolutionType res; |  |  |                 SolutionType res; | 
		
	
		
			
				|  |  |                 res.weightedValue = solution.weightedValue * scalingFactor; |  |  |  | 
		
	
		
			
				|  |  |                 res.objectiveValues.reserve(solution.objectiveValues.size()); |  |  |  | 
		
	
		
			
				|  |  |                 for (auto const& sol : solution.objectiveValues) { |  |  |  | 
		
	
		
			
				|  |  |                     res.objectiveValues.push_back(sol * scalingFactor); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                 res.reserve(solution.size()); | 
		
	
		
			
				|  |  |  |  |  |                 for (auto const& sol : solution) { | 
		
	
		
			
				|  |  |  |  |  |                     res.push_back(sol * scalingFactor); | 
		
	
		
			
				|  |  |                 } |  |  |                 } | 
		
	
		
			
				|  |  |                 return res; |  |  |                 return res; | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
	
		
			
				|  | @ -433,14 +433,13 @@ namespace storm { | 
		
	
		
			
				|  |  |             template<typename ValueType, bool SingleObjectiveMode> |  |  |             template<typename ValueType, bool SingleObjectiveMode> | 
		
	
		
			
				|  |  |             template<bool SO, typename std::enable_if<SO, int>::type> |  |  |             template<bool SO, typename std::enable_if<SO, int>::type> | 
		
	
		
			
				|  |  |             void MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::addScaledSolution(SolutionType& solution, SolutionType const& solutionToAdd, ValueType const& scalingFactor) const { |  |  |             void MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::addScaledSolution(SolutionType& solution, SolutionType const& solutionToAdd, ValueType const& scalingFactor) const { | 
		
	
		
			
				|  |  |                 // solution += solutionToAdd * scalingFactor;
 |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                 solution += solutionToAdd * scalingFactor; | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  |              |  |  |              | 
		
	
		
			
				|  |  |             template<typename ValueType, bool SingleObjectiveMode> |  |  |             template<typename ValueType, bool SingleObjectiveMode> | 
		
	
		
			
				|  |  |             template<bool SO, typename std::enable_if<!SO, int>::type> |  |  |             template<bool SO, typename std::enable_if<!SO, int>::type> | 
		
	
		
			
				|  |  |             void MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::addScaledSolution(SolutionType& solution, SolutionType const& solutionToAdd, ValueType const& scalingFactor) const { |  |  |             void MultiDimensionalRewardUnfolding<ValueType, SingleObjectiveMode>::addScaledSolution(SolutionType& solution, SolutionType const& solutionToAdd, ValueType const& scalingFactor) const { | 
		
	
		
			
				|  |  |                 solution.weightedValue += solutionToAdd.weightedValue * scalingFactor; |  |  |  | 
		
	
		
			
				|  |  |                 storm::utility::vector::addScaledVector(solution.objectiveValues,  solutionToAdd.objectiveValues, scalingFactor); |  |  |  | 
		
	
		
			
				|  |  |  |  |  |                 storm::utility::vector::addScaledVector(solution,  solutionToAdd, scalingFactor); | 
		
	
		
			
				|  |  |             } |  |  |             } | 
		
	
		
			
				|  |  |              |  |  |              | 
		
	
		
			
				|  |  |             template<typename ValueType, bool SingleObjectiveMode> |  |  |             template<typename ValueType, bool SingleObjectiveMode> | 
		
	
	
		
			
				|  | 
 |