Class RoutingProbabilitiesParametricAnalysis
java.lang.Object
common.definitions.parametric.ParametricAnalysisDefinition
common.definitions.parametric.RoutingProbabilitiesParametricAnalysis
- All Implemented Interfaces:
ParametricAnalysis
Title: RoutingProbabilitiesParametricAnalysis
Description: this class is used to describe a parametric analysis where the
varied parameter is the value of routing probabilities of a class inside a station. It
adds the classKey, stationKey, and destinationStationKey fields, used
to keep the key of the Job-Class and the key of the station whose routing
probabilities will be varied, and a boolean value singleClass used to
choose the type of routing probability growth (single or all class).
- Author:
- Xinyu gao Date: 11-Aug-2023
-
Nested Class Summary
Nested classes/interfaces inherited from interface ParametricAnalysis
ParametricAnalysis.ValuesTable -
Field Summary
Fields inherited from class ParametricAnalysisDefinition
classDef, finalValue, FROM_PROPERTY, initialValue, IS_SINGLE_CLASS_PROPERTY, numberOfSteps, originalValues, possibleValues, REFERENCE_CLASS_PROPERTY, REFERENCE_DEST_STATION_PROPERTY, REFERENCE_STATION_PROPERTY, SERVER_TYPE_PROPERTY, simDef, stationDef, STEPS_PROPERTY, TO_PROPERTY, type, TYPE_PROPERTY -
Constructor Summary
ConstructorsConstructorDescriptionRoutingProbabilitiesParametricAnalysis(ClassDefinition cd, StationDefinition sd, SimulationDefinition simd) -
Method Summary
Modifier and TypeMethodDescriptionvoidchangeModel(int step) Changes the model preparing it for the next stepintcheckCorrectness(boolean autocorrect) Checks if the PA model is still coherent with simulation model definition.voidFinds the set of possible values of the parameter on which the simulation may be iterated on.Gets the destination station key whose routing probability will be variedGets name of the destination station whose routing probability will be variedObject[]Gets the names of destination stationsReturns the values assumed by the varying parameterGets a TreeMap containing for each property its value.Gets the class key of the job class whose routign probability will be increased.Get the reference class nameGets the station key whose routing probability will be variedGets name of the source station whose routing probability will be variedObject[][]Gets the routing probability tableObject[][]getType()Gets the type of parametric analysisbooleanReturns true if only the routign probability of one class will be increasedvoidnormalizeRoutingProbabilities(Object stationKey, Object classKey, Map<Object, Double> values, Object changedStationKey, double newProbability) Redistributes the routing probabilities from the source station to stations other than the destination stationvoidRestore the original values of routing probabilitiesstatic doubleroundDecimals(double value) Gets the decimals retained to four decimal placesintGets the maximum number of steps compatible with the model definition and the type of parametric analysis.voidSets default final valuevoidSets the default initial ValuevoidSets the destination station whose routing probability will be variedvoidsetProperty(String propertyName, String value) Sets the value for the specified property.voidsetReferenceClass(Object classKey) Sets the class whose routing probability will be increased.voidsetReferenceStation(Object stationKey) Sets the source station whose routing probability will be variedvoidsetSingleClass(boolean isSingleClass) Sets the type of population increase.Methods inherited from class ParametricAnalysisDefinition
getFinalValue, getInitialValue, getNumberOfSteps, getParallelism, setFinalValue, setInitialValue, setNumberOfSteps
-
Constructor Details
-
RoutingProbabilitiesParametricAnalysis
public RoutingProbabilitiesParametricAnalysis(ClassDefinition cd, StationDefinition sd, SimulationDefinition simd)
-
-
Method Details
-
isSingleClass
public boolean isSingleClass()Returns true if only the routign probability of one class will be increased- Returns:
- true if only the routign probability of one class will be increased
-
setSingleClass
public void setSingleClass(boolean isSingleClass) Sets the type of population increase. IfisSingleClassparam is true only the routign probability of one class will be increased- Parameters:
isSingleClass-
-
setDefaultInitialValue
public void setDefaultInitialValue()Sets the default initial Value -
setDefaultFinalValue
public void setDefaultFinalValue()Sets default final value -
getReferenceClass
Gets the class key of the job class whose routign probability will be increased. If the simulation is not single class, thenullvalue will be returned- Specified by:
getReferenceClassin classParametricAnalysisDefinition- Returns:
- the key of the class whose routign probability will be increased if the
parametric analysis is single class,
nullotherwise.
-
getReferenceClassName
Get the reference class name- Specified by:
getReferenceClassNamein classParametricAnalysisDefinition- Returns:
- the name of the class
-
getProperties
Gets a TreeMap containing for each property its value. The supported properties are defined as constants inside this class.- Specified by:
getPropertiesin classParametricAnalysisDefinition- Returns:
- a TreeMap containing the value for each property
-
setProperty
Sets the value for the specified property. The supported properties are:
- FROM_PROPERTY
- TO_PROPERTY
- STEPS_PROPERTY
- IS_SINGLE_CLASS_PROPERTY
- REFERENCE_STATION_PROPERTY
- REFERENCE_CLASS_PROPERTY
- REFERENCE_DEST_STATION_PROPERTY- Specified by:
setPropertyin classParametricAnalysisDefinition- Parameters:
propertyName- the name of the property to be setvalue- the value to be set
-
setReferenceClass
Sets the class whose routing probability will be increased. IfsingleClassvalue is not true nothing will be done- Parameters:
classKey- the key of the class whose routing probability will be increased
-
getReferenceStation
Gets the station key whose routing probability will be varied- Returns:
- the key of the station whose service times will be varied
-
getReferenceStationName
Gets name of the source station whose routing probability will be varied- Returns:
- the key of the source station whose routing probability will be varied
-
setReferenceStation
Sets the source station whose routing probability will be varied- Parameters:
stationKey- the source station whose routing probability will be varied
-
getDestinationStationKey
Gets the destination station key whose routing probability will be varied- Returns:
- the key of the destination station whose service times will be varied
-
setDestinationStationKey
Sets the destination station whose routing probability will be varied- Parameters:
key- the destination station whose routing probability will be varied
-
getDestinationStationName
Gets name of the destination station whose routing probability will be varied- Returns:
- the key of the destination station whose routing probability will be varied
-
getType
Gets the type of parametric analysis- Specified by:
getTypein classParametricAnalysisDefinition- Returns:
- the type of parametric analysis
-
roundDecimals
public static double roundDecimals(double value) Gets the decimals retained to four decimal places- Returns:
- the decimals retained to four decimal places
-
normalizeRoutingProbabilities
-
changeModel
public void changeModel(int step) Changes the model preparing it for the next step- Specified by:
changeModelin classParametricAnalysisDefinition
-
getDestStationNames
Gets the names of destination stations- Returns:
- the names of destination stations
-
getTableData
-
getRoutingProbabilityTable
Gets the routing probability table- Returns:
- the table that contains different routing probabilities
-
searchForAvailableSteps
public int searchForAvailableSteps()Gets the maximum number of steps compatible with the model definition and the type of parametric analysis.- Specified by:
searchForAvailableStepsin classParametricAnalysisDefinition- Returns:
- the maximum number of steps
-
createValuesSet
public void createValuesSet()Finds the set of possible values of the parameter on which the simulation may be iterated on.- Specified by:
createValuesSetin classParametricAnalysisDefinition
-
restoreOriginalValues
public void restoreOriginalValues()Restore the original values of routing probabilities- Specified by:
restoreOriginalValuesin classParametricAnalysisDefinition
-
checkCorrectness
public int checkCorrectness(boolean autocorrect) Checks if the PA model is still coherent with simulation model definition. If theautocorrectvariable is set to true, if the PA model is no more valid but it can be corrected it will be changed.- Specified by:
checkCorrectnessin classParametricAnalysisDefinition- Parameters:
autocorrect- if true the PA model will be autocorrected- Returns:
- 0 - If the PA model is still valid
1 - If the PA model is no more valid, but it will be corrected
2 - If the PA model can be no more used
-
getParameterValues
Returns the values assumed by the varying parameter- Specified by:
getParameterValuesin classParametricAnalysisDefinition- Returns:
- a Vector containing the values assumed by the varying parameter
-