public abstract class AbstractGroupEvaluationStrategy extends AbstractEvaluationStrategy
TechnicalSystemGroup's. Consequently, it has to be extend in order
to create a customised evaluation strategy.evaluationStart, optionModelController| Constructor and Description |
|---|
AbstractGroupEvaluationStrategy(OptionModelController optionModelController)
Instantiates a new abstract group evaluation strategy.
|
| Modifier and Type | Method and Description |
|---|---|
Schedule |
addStateToResults(TechnicalSystemStateEvaluation tsStateEval)
Adds the specified, final TechnicalSystemStateEvaluation state to the result list of
the
EvaluationProcess and returns the created Schedule. |
abstract FlowsMeasuredGroupMember |
doNetworkCalculation(javax.swing.tree.DefaultMutableTreeNode currentParentNode,
java.util.List<TechnicalInterface> outerInterfaces,
FlowsMeasuredGroup fmGroup)
Will be invoked, if a network calculation is required.
|
void |
executeEvaluation()
Executes the customized evaluation process by calling the abstract
method
AbstractEvaluationStrategy.runEvaluation(). |
protected boolean |
executeSubEvaluationStrategies()
Executes all sub evaluation strategies and returns if they are finished.
|
protected EvaluationGraph |
getGraphForDeltaCosts()
Returns the graph for delta costs.
|
GroupCalculation |
getGroupCalculation()
Returns the current, local
GroupCalculation that belongs to the current group evaluation strategy. |
protected GroupController |
getGroupController()
Returns the
GroupController that manages the current TechnicalSystemGroup. |
java.lang.Object |
getOutNodeState(CalculationStepNode<?> calculationStepNode,
TechnicalSystemStateEvaluation tsse,
java.util.Vector<?> nextCalcStepNodes)
Has to return the out node state after calculations were executed and decisions were made.
|
java.lang.Object |
getOutNodeState(CalculationStepNode<?> calculationStepNode,
java.util.Vector<?> nextCalcStepNodes)
Returns the out node state for a single
CalculationStepNode within a sequential network calculation (DO NOT OVERWRITE!). |
abstract AbstractSequentialNetworkCalculation<?> |
getSequentialNetworkCalculation()
Can be used in order to define an individual sequential network calculation by an extended
AbstractSequentialNetworkCalculation
and thus a AbstractGroupTreeAction.GroupTreeTraversal within an extended AbstractGroupTreeAction. |
boolean |
isUsingSubStrategies()
Checks if the current evaluation strategy is using sub strategies.
|
abstract Schedule |
meetDecisionForScheduleList(javax.swing.tree.DefaultMutableTreeNode currentNode,
GroupTreeNodeObject gtno,
ScheduleList scheduleList)
Meet decision for group member that is a
ScheduleList. |
abstract TechnicalSystemStateDeltaEvaluation |
meetDecisionForTechnicalSystem(javax.swing.tree.DefaultMutableTreeNode currentNode,
GroupTreeNodeObject gtno,
java.util.Vector<TechnicalSystemStateDeltaEvaluation> deltaSteps)
Meet decision for a group member that is a
TechnicalSystem. |
protected void |
setGraphForDeltaCosts(EvaluationGraph newGraphForEvaluationByDeltaCosts)
Sets the graph for delta costs.
|
protected void |
setUsingSubStrategies(boolean usingSubStrategies)
Sets that sub strategies are used for the current evaluation strategy.
|
addStateToResults, calculateAndSetStateCosts, convertToTechnicalSystemStateEvaluation, copyEnergyAmount, copyEnergyFlowInWatt, copyStorageLoad, copyTechnicalSystemState, copyTechnicalSystemState, getAllDeltaEvaluationsStartingFromTechnicalSystemState, getAllDeltaEvaluationsStartingFromTechnicalSystemState, getAllDeltaEvaluationsStartingFromTechnicalSystemState, getAllPossibleSubsequentStatesByDefinition, getAllPossibleSubsequentStatesByDefinition, getCostFunctionHistory, getCostModel, getCustomToolBarElements, getDefaultSIPrefix, getDefaultTimeUnit, getEndTime, getEvaluationProcess, getEvaluationResults, getEvaluationSettings, getEvaluationThread, getEvaluationTimeRangeReminder, getFirstTechnicalSystemStateEvaluationWithEqualState, getGraphForStateVariability, getInitialTechnicalSystemStateEvaluation, getNextTechnicalSystemStateEvaluation, getNodeStateResolver, getOptionModelCalculation, getStartTime, getStateDurationFromTechnicalSystemState, getTechnicalInterfaceConfiguration, hasStateCostFunction, isAvailableOptionModelCalculation, isConstantStateSinceGlobalTime, isEnabledPrintToConsole, isRealTimeStrategyOrPartOfRealTimeStrategy, isStopEvaluation, print, printlnGlobalTime, printlnGlobalTime, recursivelyCreateEvaluationGraphForCostsOverTime, recursivelyCreateEvaluationGraphForCostsOverTime, resetInitialTechnicalSystemStateEvaluation, resetScheduleAndCalculationsStartingFrom, runEvaluation, setEnablePrintToConsole, setEvaluationThread, setGraphForStateVariability, setInitialTechnicalSystemStateEvaluation, stopEvaluationpublic AbstractGroupEvaluationStrategy(OptionModelController optionModelController)
optionModelController - the option model controllerprotected GroupController getGroupController()
GroupController that manages the current TechnicalSystemGroup.public GroupCalculation getGroupCalculation()
GroupCalculation that belongs to the current group evaluation strategy.public void executeEvaluation()
AbstractEvaluationStrategyAbstractEvaluationStrategy.runEvaluation(). This method contains also a try catch
block in order to prevent faulty configurations and blocking of further
executions and functions.executeEvaluation in class AbstractEvaluationStrategypublic abstract AbstractSequentialNetworkCalculation<?> getSequentialNetworkCalculation()
AbstractSequentialNetworkCalculation
and thus a AbstractGroupTreeAction.GroupTreeTraversal within an extended AbstractGroupTreeAction.null here!AbstractSequentialNetworkCalculationpublic final java.lang.Object getOutNodeState(CalculationStepNode<?> calculationStepNode, java.util.Vector<?> nextCalcStepNodes)
CalculationStepNode within a sequential network calculation (DO NOT OVERWRITE!).calculationStepNode - the calculation step nodenextCalcStepNodes - the vector of next calculation step nodespublic java.lang.Object getOutNodeState(CalculationStepNode<?> calculationStepNode, TechnicalSystemStateEvaluation tsse, java.util.Vector<?> nextCalcStepNodes)
calculationStepNode - the calculation step nodetsse - the TechnicalSystemStateEvaluation that represents the current system statenextCalcStepNodes - the next calculation step nodespublic abstract FlowsMeasuredGroupMember doNetworkCalculation(javax.swing.tree.DefaultMutableTreeNode currentParentNode, java.util.List<TechnicalInterface> outerInterfaces, FlowsMeasuredGroup fmGroup)
currentParentNode - the current parent node of the GroupTreeModelouterInterfaces - the outer interfacesfmGroup - the current FlowsMeasuredGroupFlowsMeasuredGroup for each TechnicalInterface summarised in one instance of FlowsMeasuredGroupMemberpublic abstract TechnicalSystemStateDeltaEvaluation meetDecisionForTechnicalSystem(javax.swing.tree.DefaultMutableTreeNode currentNode, GroupTreeNodeObject gtno, java.util.Vector<TechnicalSystemStateDeltaEvaluation> deltaSteps)
TechnicalSystem.currentNode - the current node of the GroupTreeModelgtno - the GroupTreeNodeObject of the current nodedeltaSteps - the delta stepspublic abstract Schedule meetDecisionForScheduleList(javax.swing.tree.DefaultMutableTreeNode currentNode, GroupTreeNodeObject gtno, ScheduleList scheduleList)
ScheduleList.currentNode - the current node of the GroupTreeModelgtno - the GroupTreeNodeObject of the current nodescheduleList - the ScheduleList from which one Schedule has to be selectedSchedule to usepublic Schedule addStateToResults(TechnicalSystemStateEvaluation tsStateEval)
AbstractEvaluationStrategyEvaluationProcess and returns the created Schedule.addStateToResults in class AbstractEvaluationStrategytsStateEval - the TechnicalSystemStateEvaluationScheduleEvaluationProcess.addEvaluationResult(Schedule)protected EvaluationGraph getGraphForDeltaCosts()
AbstractEvaluationStrategygetGraphForDeltaCosts in class AbstractEvaluationStrategyprotected void setGraphForDeltaCosts(EvaluationGraph newGraphForEvaluationByDeltaCosts)
AbstractEvaluationStrategysetGraphForDeltaCosts in class AbstractEvaluationStrategynewGraphForEvaluationByDeltaCosts - the new graph for delta costsprotected boolean executeSubEvaluationStrategies()
true .isUsingSubStrategies()public boolean isUsingSubStrategies()
protected void setUsingSubStrategies(boolean usingSubStrategies)
usingSubStrategies - the new using sub strategies