Class PNTimeSeriesSimulator
- java.lang.Object
-
- org.processmining.plugins.stochasticpetrinet.simulator.PNSimulator
-
- org.processmining.plugins.stochasticpetrinet.simulator.PNTimeSeriesSimulator
-
public class PNTimeSeriesSimulator extends PNSimulator
A stochastic Petri net simulator that replaces each timed transition's distribution with a time series predictor.- Author:
- Andreas Rogge-Solti
-
-
Field Summary
Fields Modifier and Type Field Description static intCACHE_SIZESprotected TimeSeriesConfigurationconfig-
Fields inherited from class org.processmining.plugins.stochasticpetrinet.simulator.PNSimulator
arrivalDistribution, cachedDurations, CONCEPT_INSTANCE, CONCEPT_NAME, CONCEPT_SIMULATED, lastFiringTime, LIFECYCLE_TRANSITION, LOCATION_ROOM, logProbabilityOfCurrentTrace, oneMarking, random, SIMULATED_LOG_PROBABILITY, TIME_TIMESTAMP, TRANSITION_COMPLETE, transitionRemainingTimes, useOnlyPastTrainingData
-
-
Constructor Summary
Constructors Constructor Description PNTimeSeriesSimulator(TimeSeriesConfiguration config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Double>getTransitionProbabilities(java.util.Date currentTime, int systemLoad, java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> conflictingTransitions, EfficientStochasticNetSemanticsImpl semantics)org.processmining.framework.util.Pair<java.lang.Integer,java.lang.Double>pickTransitionAccordingToWeights(java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> transitions, java.util.Date currentTime, org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,org.processmining.models.graphbased.directed.petrinet.elements.Transition> semantics)protected doublesampleDurationForTransition(double positiveConstraint, long startOfTransition, TimedTransition timedT, StochasticNet.TimeUnit unitFactor, LimitedTreeMap<java.lang.Integer,java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,org.apache.commons.math3.distribution.RealDistribution>> cachedDurations, boolean useOnlyPastTrainingData)-
Methods inherited from class org.processmining.plugins.stochasticpetrinet.simulator.PNSimulator
addAllDifferentTracesToLog, createSimulatedEvent, createTrace, getEndPlaces, getLogProbabilityOfLastTrace, getNextArrivalDate, getOnlyImmediateTransitions, getReturnObject, getTransitionRemainingTime, getTransitionWithIndex, insertEvent, isFinal, isOneBounded, pickTransition, pickTransitionAccordingToWeights, setUseOnlyPastTrainingData, simulate, simulate, simulate, simulateOneTrace, transitionsContainTimingInfo, updateTransitionMemoriesAfterFiring
-
-
-
-
Field Detail
-
config
protected TimeSeriesConfiguration config
-
CACHE_SIZES
public static final int CACHE_SIZES
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PNTimeSeriesSimulator
public PNTimeSeriesSimulator(TimeSeriesConfiguration config)
-
-
Method Detail
-
getTransitionProbabilities
public java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Double> getTransitionProbabilities(java.util.Date currentTime, int systemLoad, java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> conflictingTransitions, EfficientStochasticNetSemanticsImpl semantics)- Parameters:
currentTime- the time of predictionsystemLoad- the current system loadconflictingTransitions-semantics-- Returns:
-
sampleDurationForTransition
protected double sampleDurationForTransition(double positiveConstraint, long startOfTransition, TimedTransition timedT, StochasticNet.TimeUnit unitFactor, LimitedTreeMap<java.lang.Integer,java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,org.apache.commons.math3.distribution.RealDistribution>> cachedDurations, boolean useOnlyPastTrainingData)- Overrides:
sampleDurationForTransitionin classPNSimulator- Parameters:
positiveConstraint- a possible constraint for sampling a value from the distribution of the transitionstartOfTransition- long the current time (or better: the last observed event's time)timedT-TimedTransitionthat captures information about the duration distribution from which the sample should be taken.- Returns:
-
pickTransitionAccordingToWeights
public org.processmining.framework.util.Pair<java.lang.Integer,java.lang.Double> pickTransitionAccordingToWeights(java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> transitions, java.util.Date currentTime, org.processmining.models.semantics.Semantics<org.processmining.models.semantics.petrinet.Marking,org.processmining.models.graphbased.directed.petrinet.elements.Transition> semantics)
-
-