public class EvaluationProcess
extends java.lang.Object
Constructor and Description |
---|
EvaluationProcess(OptionModelController optionModelController)
Instantiates a new evaluation process.
|
Modifier and Type | Method and Description |
---|---|
void |
addEvaluationProcessListener(EvaluationProcessListener epl)
Adds an EvaluationProcessÖistener to the current Evaluation Process.
|
void |
addEvaluationResult(Schedule schedule)
Adds a result
Schedule to the list of results. |
void |
addSubSchedules(Schedule resultSchedule,
java.util.HashMap<javax.swing.tree.DefaultMutableTreeNode,Schedule> subScheduleHash)
Adds/Reminds the sub results for the specified result schedule.
|
void |
addTechnicalSystemStateEvaluationVectorToGraphForCostsOverTime(java.util.Vector<TechnicalSystemStateEvaluation> tsseSeriesVector,
EvaluationGraph graph,
EvaluationGraphNode sourceNode,
AbstractEvaluationStrategy evalStrategy)
Adds the subsequent states as specified in the given vector to the graph for costs over time.
|
long |
getEndTime()
Returns the evaluation end time.
|
EnergyAmount |
getEnergyStorageLoadFromOptionModelCalculation(EnergyAmount storageLoadOld,
DomainInterfaceFlows domainInterfaceFlows,
long duration,
TechnicalSystemStateEvaluation initialTSSE,
TechnicalSystemStateEvaluation newTSSE)
Returns the energy storage load from the OptionModelCalculation, if defined.
|
ScheduleList |
getEvaluationResults()
Returns the evaluation results as Vector of TechnicalSystemStateEvaluation.
|
EvaluationSettings |
getEvaluationSettings()
Returns the current
EvaluationSettings . |
java.util.List<TechnicalSystemStateTime> |
getEvaluationStateList()
Returns the evaluation state list.
|
protected java.util.Vector<EvaluationThread> |
getEvaluationThreadsRunning()
Gets the evaluation threads running.
|
EvaluationTimeRangeReminder |
getEvaluationTimeRangeReminder()
Returns the
EvaluationTimeRangeReminder that contains CostFunctionDataSeries 's
and InputMeasurement 's for the current evaluation time range. |
java.lang.Double |
getGoodStorageLoadFromOptionModelCalculation(java.lang.Double storageLoadOld,
DomainInterfaceFlows domainInterfaceFlows,
long duration,
TechnicalSystemStateEvaluation initialTSSE,
TechnicalSystemStateEvaluation newTSSE)
Returns the energy storage load from the OptionModelCalculation, if defined.
|
EvaluationGraph |
getGraphForDeltaCosts()
Returns the graph for delta costs.
|
EvaluationGraph |
getGraphForStateVariability()
Returns the graph for state variability.
|
TechnicalSystemState |
getInitialTechnicalSystemState()
Gets the initial
TechnicalSystemState . |
TechnicalSystemStateEvaluation |
getInitialTechnicalSystemStateEvaluation()
Returns the initial
TechnicalSystemStateEvaluation derived from the graph for costs over time, where the
further evaluation has to start at. |
TechnicalSystemStateEvaluation |
getNextTechnicalSystemStateEvaluation(TechnicalSystemStateEvaluation tsseOld,
TechnicalSystemStateDeltaEvaluation tssDeltaEvaluation)
Applies, based on the specified old
TechnicalSystemStateDeltaEvaluation , the given
TechnicalSystemStateDeltaEvaluation and returns the resulting new TechnicalSystemStateEvaluation . |
int |
getNumberOfThreads()
Gets the number of threads.
|
ScheduleController |
getScheduleController()
Returns the ScheduleSontroller that is responsible for the result of the evaluation process.
|
long |
getStartTime()
Returns the evaluation start time.
|
java.util.HashMap<javax.swing.tree.DefaultMutableTreeNode,Schedule> |
getSubSchedules(Schedule resultSchedule)
Returns the sub schedules for the specified resultSchedule.
|
java.util.Vector<TechnicalSystemStateEvaluation> |
getTechnicalSystemStateEvaluationVector(TechnicalSystemState tssBluePrint,
long newGlobalTime,
long newStateTime,
java.util.List<java.lang.Long> changeEvents,
TechnicalSystemStateEvaluation startTSSE)
Creates and returns a system state vector that is a vector of
TechnicalSystemStateEvaluation over time. |
java.lang.String |
hasConfigurationErrors()
Checks, if the current configuration has errors.
|
boolean |
isReuseExistingResults()
Checks if a new execution of
EvaluationThread 's can reuse already existing results. |
boolean |
isRunning()
Checks if the Evaluation is running.
|
void |
removeEvaluationProcessListener(EvaluationProcessListener epl)
Removes an EvaluationProcessListener.
|
void |
removeEvaluationResult(Schedule schedule)
Removes the evaluation result.
|
void |
resetEvaluationProcess()
Reset evaluation process.
|
void |
resetEvaluationProcess(boolean completeReset)
Resets the current
EvaluationProcess . |
void |
resetEvaluationResults()
Resets the evaluation results.
|
void |
resetInitialTechnicalSystemStateEvaluation()
Resets the initial
TechnicalSystemStateEvaluation that were derived from the graph for costs over time. |
void |
setEvaluationThreadFinished(EvaluationThread etFinished)
Sets the evaluation thread finished.
|
void |
setGraphForDeltaCosts(EvaluationGraph newGraphForEvaluationByDeltaCosts)
Sets the graph for delta costs.
|
void |
setGraphForStateVariability(EvaluationGraph newGraphForStateVariability)
Sets the graph for state variability.
|
void |
setInitialTechnicalSystemState(TechnicalSystemState newInitialTSS)
Sets the initial technical system state.
|
void |
setInitialTechnicalSystemStateEvaluation(TechnicalSystemStateEvaluation newInitialTechnicalSystemStateEvaluation)
Sets the initial technical system state evaluation.
|
void |
setNumberOfThreads(int numberOfThreads)
Sets the number of threads.
|
void |
setReuseExistingResults(boolean reuseExistingResults)
Sets if a new execution of
EvaluationThread 's can reuse existing results. |
protected void |
setRunning(boolean running)
Sets the running.
|
void |
startEvaluation()
Starts the evaluation process by using the default strategy and
the number of threads that can be configured.
|
void |
startEvaluationByEvaluationClasses(java.util.Vector<EvaluationClass> evaluationClassVector)
Starts the evaluation process with the specified strategy classes.
|
void |
startEvaluationByStrategyClasses(java.util.Vector<java.lang.String> strategyClassVector)
Starts the evaluation process with the specified strategy classes.
|
void |
startEvaluationByStrategyIDs(java.util.Vector<java.lang.String> strategyIdVector)
Starts the evaluation process with the specified vector of strategy ID's.
|
void |
startEvaluationThread()
Starts an
EvaluationThread that uses the default evaluation strategy . |
void |
startEvaluationThread(java.lang.String strategyClassReference)
Starts an
EvaluationThread that uses the specified class of the type AbstractEvaluationStrategy . |
void |
stopEvaluation()
Stops the evaluation process.
|
boolean |
updateToValidStorageLoadsForStateIdentificationIfNeeded(TechnicalSystemStateDeltaEvaluation deltaStep)
Updates the storage loads for the state identification, if needed.
|
public EvaluationProcess(OptionModelController optionModelController)
optionModelController
- the option model controllerpublic void addEvaluationProcessListener(EvaluationProcessListener epl)
epl
- the new EvaluationProcessListenerpublic void removeEvaluationProcessListener(EvaluationProcessListener epl)
epl
- the EvaluationProcessListenerpublic boolean isReuseExistingResults()
EvaluationThread
's can reuse already existing results.public void setReuseExistingResults(boolean reuseExistingResults)
EvaluationThread
's can reuse existing results.reuseExistingResults
- the new reuse existing resultspublic int getNumberOfThreads()
public void setNumberOfThreads(int numberOfThreads)
numberOfThreads
- the new number of threadspublic boolean isRunning()
protected void setRunning(boolean running)
running
- the new runningprotected java.util.Vector<EvaluationThread> getEvaluationThreadsRunning()
public ScheduleController getScheduleController()
public ScheduleList getEvaluationResults()
public void addEvaluationResult(Schedule schedule)
Schedule
to the list of results.schedule
- the Schedule
to addpublic void removeEvaluationResult(Schedule schedule)
schedule
- the Schedule
to removepublic void resetEvaluationResults()
public void addSubSchedules(Schedule resultSchedule, java.util.HashMap<javax.swing.tree.DefaultMutableTreeNode,Schedule> subScheduleHash)
TechnicalSystemGroup
only!)resultSchedule
- the result schedulesubScheduleHash
- the sub schedule hashpublic java.util.HashMap<javax.swing.tree.DefaultMutableTreeNode,Schedule> getSubSchedules(Schedule resultSchedule)
TechnicalSystemGroup
only!)resultSchedule
- the result schedulepublic void resetEvaluationProcess()
public void resetEvaluationProcess(boolean completeReset)
EvaluationProcess
.completeReset
- the completelypublic void startEvaluationByStrategyIDs(java.util.Vector<java.lang.String> strategyIdVector)
strategyIdVector
- the vector of strategy ID'spublic void startEvaluationByEvaluationClasses(java.util.Vector<EvaluationClass> evaluationClassVector)
evaluationClassVector
- the vector of EvaluationClass
instancespublic void startEvaluationByStrategyClasses(java.util.Vector<java.lang.String> strategyClassVector)
strategyClassVector
- the strategy class vectorpublic void startEvaluation()
setNumberOfThreads(int)
,
getNumberOfThreads()
public void startEvaluationThread()
EvaluationThread
that uses the default evaluation strategy .public void startEvaluationThread(java.lang.String strategyClassReference)
EvaluationThread
that uses the specified class of the type AbstractEvaluationStrategy
.
If the class reference is null, the default evaluation strategy will be used.strategyClassReference
- the strategy class reference to be uses in a threadpublic void setEvaluationThreadFinished(EvaluationThread etFinished)
etFinished
- the new evaluation thread finishedpublic void stopEvaluation()
public EvaluationSettings getEvaluationSettings()
EvaluationSettings
.public java.util.List<TechnicalSystemStateTime> getEvaluationStateList()
public long getStartTime()
public long getEndTime()
public java.lang.String hasConfigurationErrors()
public EvaluationTimeRangeReminder getEvaluationTimeRangeReminder()
EvaluationTimeRangeReminder
that contains CostFunctionDataSeries
's
and InputMeasurement
's for the current evaluation time range.
In order to accelerate the evaluation, it is strongly recommended to use this method
for accessing InputMeasurement
's and CostFunctionDataSeries
's!public EvaluationGraph getGraphForStateVariability()
public void setGraphForStateVariability(EvaluationGraph newGraphForStateVariability)
newGraphForStateVariability
- the new graph for state variabilitypublic EvaluationGraph getGraphForDeltaCosts()
public void setGraphForDeltaCosts(EvaluationGraph newGraphForEvaluationByDeltaCosts)
newGraphForEvaluationByDeltaCosts
- the new graph for delta costspublic TechnicalSystemState getInitialTechnicalSystemState()
TechnicalSystemState
.public void setInitialTechnicalSystemState(TechnicalSystemState newInitialTSS)
public TechnicalSystemStateEvaluation getInitialTechnicalSystemStateEvaluation()
TechnicalSystemStateEvaluation
derived from the graph for costs over time, where the
further evaluation has to start at. This considers also the case that an initial TechnicalSystemState
was
configured whose state time (see TechnicalSystemState.getStateTime()
) is smaller than the duration of the
state (see State.getDuration()
).TechnicalSystemStateEvaluation
, where the further evaluation has to start at.public void setInitialTechnicalSystemStateEvaluation(TechnicalSystemStateEvaluation newInitialTechnicalSystemStateEvaluation)
newInitialTechnicalSystemStateEvaluation
- the new initial technical system state evaluationpublic void resetInitialTechnicalSystemStateEvaluation()
TechnicalSystemStateEvaluation
that were derived from the graph for costs over time.public java.util.Vector<TechnicalSystemStateEvaluation> getTechnicalSystemStateEvaluationVector(TechnicalSystemState tssBluePrint, long newGlobalTime, long newStateTime, java.util.List<java.lang.Long> changeEvents, TechnicalSystemStateEvaluation startTSSE)
TechnicalSystemStateEvaluation
over time.
This method considers changes of measurements in the specified time range and produces part steps, if required.tssBluePrint
- the blue print for the TechnicalSystemStateEvaluation
to producenewGlobalTime
- the new global timenewStateTime
- the new state timechangeEvents
- the change events for the partitioning of the system statesstartTSSE
- the start TSSETechnicalSystemStateEvaluation
public void addTechnicalSystemStateEvaluationVectorToGraphForCostsOverTime(java.util.Vector<TechnicalSystemStateEvaluation> tsseSeriesVector, EvaluationGraph graph, EvaluationGraphNode sourceNode, AbstractEvaluationStrategy evalStrategy)
tsseSeriesVector
- the TechnicalSystemStateEvaluation series vector to addsourceNode
- the source nodeevalStrategy
- the current evaluation strategypublic boolean updateToValidStorageLoadsForStateIdentificationIfNeeded(TechnicalSystemStateDeltaEvaluation deltaStep)
StorageLoadEnergy
of the new TechnicalSystemStateEvaluation
if the EnergyStorageInterface
's and the
corresponding loads are configured so.deltaStep
- the TechnicalSystemStateDeltaEvaluation
to use for the updateTechnicalSystemStateDeltaEvaluation.getTechnicalSystemStateEvaluation()
,
TechnicalSystemStateEvaluation.getParent()
,
EnergyStorageInterface.isStateIdentifier()
,
EnergyStorageInterface.getStateIdentifierPrecision()
,
TechnicalSystemState.getStorageLoads()
public TechnicalSystemStateEvaluation getNextTechnicalSystemStateEvaluation(TechnicalSystemStateEvaluation tsseOld, TechnicalSystemStateDeltaEvaluation tssDeltaEvaluation)
TechnicalSystemStateDeltaEvaluation
, the given
TechnicalSystemStateDeltaEvaluation
and returns the resulting new TechnicalSystemStateEvaluation
.null
, the method also returns null
.tsseOld
- the initial/old TechnicalSystemStateDeltaEvaluation
tssDeltaEvaluation
- the TechnicalSystemStateDeltaEvaluation
to applyTechnicalSystemStateEvaluation
public EnergyAmount getEnergyStorageLoadFromOptionModelCalculation(EnergyAmount storageLoadOld, DomainInterfaceFlows domainInterfaceFlows, long duration, TechnicalSystemStateEvaluation initialTSSE, TechnicalSystemStateEvaluation newTSSE)
storageLoadOld
- the storage load olddomainInterfaceFlows
- the domain interface flowsduration
- the durationinitialTSSE
- [contains further optional parameter that might be useful for specific storages and related calculations] newTSSE
- [contains further optional parameter that might be useful for specific storages and related calculations] public java.lang.Double getGoodStorageLoadFromOptionModelCalculation(java.lang.Double storageLoadOld, DomainInterfaceFlows domainInterfaceFlows, long duration, TechnicalSystemStateEvaluation initialTSSE, TechnicalSystemStateEvaluation newTSSE)
storageLoadOld
- the storage load olddomainInterfaceFlows
- the domain interface flowsduration
- the durationinitialTSSE
- [contains further optional parameter that might be useful for specific storages and related calculations] newTSSE
- [contains further optional parameter that might be useful for specific storages and related calculations]