Package jasima.shopSim.core
Class DynamicJobSource
- java.lang.Object
-
- jasima.core.simulation.SimComponentBase
-
- jasima.shopSim.core.JobSource
-
- jasima.shopSim.core.DynamicJobSource
-
- All Implemented Interfaces:
SimComponent,SimLifecycleListener,SimOperations,Notifier<SimComponent,SimComponent.SimComponentEvent>,NotifierListener<Simulation,Simulation.SimLifecycleEvent>,ValueStore,Cloneable
public class DynamicJobSource extends JobSource
This class can be used to create a stream of jobs characterized by various random distributions. To use it, at least "interArrivalTimes" and "route" have to be set.Optionally jobs' due dates and weights can be specified using "dueDateFactors" (default: constant 1.0) and "jobWeights" (default: constant 1.0).
Instead of creating jobs following a fixed route, routes for a job shop can also be created using this class. To do so, instead of specifying "route" the two properties machIdx (machine order), procTimes (processing times) and optionally numOps (number of operations, default: number of machines in shop) have to be set. A route created this way will create a random route with no machine being revisited.
- Author:
- Torsten Hildebrandt
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jasima.core.simulation.SimComponent
SimComponent.ProduceResultsEvent, SimComponent.SimComponentEvent, SimComponent.SimComponentLifeCycleMessage
-
Nested classes/interfaces inherited from interface jasima.core.simulation.SimLifecycleListener
SimLifecycleListener.DoneListener, SimLifecycleListener.OtherListener, SimLifecycleListener.ResetStatsListener, SimLifecycleListener.ResultsListener, SimLifecycleListener.SimEndListener, SimLifecycleListener.SimInitialized, SimLifecycleListener.SimStartListener
-
Nested classes/interfaces inherited from interface jasima.core.simulation.util.SimOperations
SimOperations.SimEventType
-
-
Field Summary
-
Fields inherited from class jasima.shopSim.core.JobSource
ARRIVE_PRIO, index, jobsStarted, stopArrivals
-
Fields inherited from class jasima.core.simulation.SimComponentBase
sim
-
Fields inherited from interface jasima.core.simulation.SimComponent
NAME_SEPARATOR
-
-
Constructor Summary
Constructors Constructor Description DynamicJobSource()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JobcreateNextJob()protected Operation[]createRoute()DblSequencegetArrivalProcess()DblSequencegetDueDateFactors()DblSequencegetJobWeights()IntSequencegetMachIdx()IntSequencegetNumOps()DblSequencegetProcTimes()RoutegetRoute()protected Operation[]getRouteForJob()voidinit()protected static voidinit(DblSequence dblStream, String streamName, RandomFactory fact)voidsetArrivalProcess(DblSequence arrivalProcess)voidsetDueDateFactors(DblSequence dueDateFactors)voidsetJobWeights(DblSequence jobWeights)voidsetMachIdx(IntSequence machIdx)voidsetNumOps(IntSequence numOps)voidsetProcTimes(DblSequence procTimes)voidsetRoute(Route route)-
Methods inherited from class jasima.shopSim.core.JobSource
clone, getShop, newJobInstance, setShop
-
Methods inherited from class jasima.core.simulation.SimComponentBase
getHierarchicalName, getName, getParent, getSim, isInitialized, notifierImpl, setInitialized, setName, setNameInternal, setParent, setSim, toString, valueStoreImpl
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jasima.core.util.observer.Notifier
addListener, addListener, addListener, fire, fire, getListener, numListener, removeCurrentListener, removeListener
-
Methods inherited from interface jasima.core.simulation.SimComponent
addChild, addComponent, addResult, containsChild, done, getByHierarchicalName, getChild, getChildByName, getChildren, handleOther, inform, isValidName, numChildren, produceResults, removeChild, removeChildren, resetStats, simEnd, simStart
-
Methods inherited from interface jasima.core.simulation.util.SimOperations
activateEntity, currentPrio, end, getRootComponent, initRndGen, initRndGen, isEndRequested, isTraceEnabled, schedule, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleAt, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, scheduleIn, schedulePeriodically, schedulePeriodically, scheduleProcess, scheduleProcess, simTime, simTimeAbs, simTimeToInstant, toSimTime, toSimTime, toSimTime, trace
-
Methods inherited from interface jasima.core.util.ValueStore
valueStoreContains, valueStoreGet, valueStoreGet, valueStoreGetAllKeys, valueStoreGetNumKeys, valueStorePut, valueStoreRemove, valueStoreUpdate
-
-
-
-
Method Detail
-
init
public void init()
- Specified by:
initin interfaceSimComponent- Specified by:
initin interfaceSimLifecycleListener- Overrides:
initin classJobSource
-
init
protected static void init(DblSequence dblStream, String streamName, RandomFactory fact)
-
createNextJob
public Job createNextJob()
- Specified by:
createNextJobin classJobSource
-
getRouteForJob
protected Operation[] getRouteForJob()
-
createRoute
protected Operation[] createRoute()
-
setDueDateFactors
public void setDueDateFactors(DblSequence dueDateFactors)
-
getDueDateFactors
public DblSequence getDueDateFactors()
-
setJobWeights
public void setJobWeights(DblSequence jobWeights)
-
getJobWeights
public DblSequence getJobWeights()
-
getRoute
public Route getRoute()
-
setRoute
public void setRoute(Route route)
-
setMachIdx
public void setMachIdx(IntSequence machIdx)
-
getMachIdx
public IntSequence getMachIdx()
-
setProcTimes
public void setProcTimes(DblSequence procTimes)
-
getProcTimes
public DblSequence getProcTimes()
-
setNumOps
public void setNumOps(IntSequence numOps)
-
getNumOps
public IntSequence getNumOps()
-
getArrivalProcess
public DblSequence getArrivalProcess()
-
setArrivalProcess
public void setArrivalProcess(DblSequence arrivalProcess)
-
-