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, stopEvaluation
public 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()
AbstractEvaluationStrategy
AbstractEvaluationStrategy.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 AbstractEvaluationStrategy
public abstract AbstractSequentialNetworkCalculation<?> getSequentialNetworkCalculation()
AbstractSequentialNetworkCalculation
and thus a AbstractGroupTreeAction.GroupTreeTraversal
within an extended AbstractGroupTreeAction
.null
here!AbstractSequentialNetworkCalculation
public 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 GroupTreeModel
outerInterfaces
- the outer interfacesfmGroup
- the current FlowsMeasuredGroupFlowsMeasuredGroup
for each TechnicalInterface
summarised in one instance of FlowsMeasuredGroupMember
public abstract TechnicalSystemStateDeltaEvaluation meetDecisionForTechnicalSystem(javax.swing.tree.DefaultMutableTreeNode currentNode, GroupTreeNodeObject gtno, java.util.Vector<TechnicalSystemStateDeltaEvaluation> deltaSteps)
TechnicalSystem
.currentNode
- the current node of the GroupTreeModel
gtno
- 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 GroupTreeModel
gtno
- the GroupTreeNodeObject of the current nodescheduleList
- the ScheduleList
from which one Schedule has to be selectedSchedule
to usepublic Schedule addStateToResults(TechnicalSystemStateEvaluation tsStateEval)
AbstractEvaluationStrategy
EvaluationProcess
and returns the created Schedule
.addStateToResults
in class AbstractEvaluationStrategy
tsStateEval
- the TechnicalSystemStateEvaluationSchedule
EvaluationProcess.addEvaluationResult(Schedule)
protected EvaluationGraph getGraphForDeltaCosts()
AbstractEvaluationStrategy
getGraphForDeltaCosts
in class AbstractEvaluationStrategy
protected void setGraphForDeltaCosts(EvaluationGraph newGraphForEvaluationByDeltaCosts)
AbstractEvaluationStrategy
setGraphForDeltaCosts
in class AbstractEvaluationStrategy
newGraphForEvaluationByDeltaCosts
- the new graph for delta costsprotected boolean executeSubEvaluationStrategies()
true
.isUsingSubStrategies()
public boolean isUsingSubStrategies()
protected void setUsingSubStrategies(boolean usingSubStrategies)
usingSubStrategies
- the new using sub strategies