public abstract class Distributor
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
chosenAssignmentMechanism |
protected java.lang.String |
chosenQueue |
protected java.lang.Integer |
currentResourceIndex |
protected int |
increment |
protected boolean |
isLateBinding |
protected boolean |
isMixedAssignmentMechanismLog |
protected boolean |
isResourceBehaviourFluid |
protected int |
maxWorklistSize |
protected int |
probability |
protected double |
probabilityOfRandomQueue |
protected java.util.HashMap<java.lang.Integer,java.lang.String> |
resourceNameIndex |
protected java.util.HashMap<java.lang.String,java.lang.String> |
retainFamiliar |
protected java.util.HashMap<java.lang.String,java.lang.String> |
separationOfDuties |
protected java.lang.String |
taskA |
protected java.lang.String |
taskB |
protected int |
totalNumberResources |
protected java.util.HashMap<java.lang.String,java.lang.String> |
traceCaseHandling |
protected float |
workingTimeReductionRate |
| Constructor and Description |
|---|
Distributor(java.lang.String taskA,
java.lang.String taskB,
float workingTimeReductionRate,
int maxWorklistSize,
int totalNumberResources,
double probabilityOfRandomQueue,
boolean isLateBinding,
boolean isResourceBehaviourFluid,
int increment,
int probability,
java.lang.String chosenAssignmentMechanism,
boolean isMixedAssignmentMechanismLog,
java.lang.String chosenQueue) |
| Modifier and Type | Method and Description |
|---|---|
protected Resource |
assignResource(java.lang.String activity,
java.util.HashMap<java.lang.String,Resource> resourceList,
Event writtenEvent,
java.util.HashMap<java.lang.Integer,Event> activeWorkItems) |
Event |
buildFirstEvent(java.util.HashMap<java.lang.Integer,Event> activeWorkItems,
java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> shortTrace,
java.util.TreeMap<java.lang.Integer,java.util.Date> caseIDDatesAscending,
Event firstEvent) |
protected abstract Event |
chooseNextWorkItem(Resource theResource,
java.util.HashMap<java.lang.Integer,Event> activeWorkItems) |
Event |
findEarliestEvent(java.util.HashMap<java.lang.Integer,Event> accessibleActiveWI) |
protected java.util.Date |
generateAssignmentTS(long scheduleTS,
long earliestAvailableTS,
long assignmentDuration) |
java.util.TreeMap<java.lang.Integer,java.util.Date> |
generateCaseStartDatesCyclic(java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> shortTrace,
int logTimeSpan,
java.util.Date initialDate,
int noOfTracesPerWeek,
int noOfWeek) |
java.util.TreeMap<java.lang.Integer,java.util.Date> |
generateCaseStartDatesDisturbance(java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> shortTrace,
int logTimeSpan,
java.util.Date startDate,
int noOfTracesPerWeek,
int noOfWeek) |
java.util.TreeMap<java.lang.Integer,java.util.Date> |
generateCaseStartDatesGradual(java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> shortTrace,
int logTimeSpan,
java.util.Date startDate,
int noOfTracesPerWeek,
int noOfWeek) |
protected Resource |
getCaseHandlingResource(Event writtenEvent,
java.util.HashMap<Resource,java.util.Date> availableResource) |
protected Resource |
getEarliestAvailableResource(java.util.HashMap<Resource,java.util.Date> availableResource) |
java.util.ArrayList<java.lang.String> |
getPartOfResultLine() |
protected Resource |
getRetainFamiliarResource(java.util.HashMap<Resource,java.util.Date> availableResource,
Event writtenEvent) |
protected Resource |
getSeparationOfDutiesResource(java.util.HashMap<Resource,java.util.Date> availableResource,
Event writtenEvent) |
protected Resource |
getShortestQueueResource(java.util.HashMap<java.lang.Integer,Event> activeWorkItems,
java.util.HashMap<Resource,java.util.Date> availableResource,
java.util.HashSet<java.lang.String> availableResourcesName) |
java.util.HashMap<java.lang.String,Resource> |
initiateResourceProfile(java.util.HashMap<java.lang.String,Resource> resourceList,
java.util.Date startDate) |
java.util.HashMap<java.lang.Integer,Event> |
populateCaseStartEvents(java.util.TreeMap<java.lang.Integer,java.util.Date> caseIDDatesAscending,
java.util.HashMap<java.lang.Integer,Event> activeWorkItems) |
protected abstract void |
populateNextEvents(java.util.HashMap<java.lang.Integer,Event> activeWorkItems,
Event writtenEvent,
java.util.HashMap<java.lang.String,Resource> resourceList,
org.uncommons.maths.random.DiscreteUniformGenerator scheduleAssignRandom,
java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> shortTrace,
java.util.Date startDate,
java.io.BufferedWriter bw2,
java.text.SimpleDateFormat sdf) |
protected abstract void |
startTheWorkItem(java.util.HashMap<java.lang.Integer,Event> activeWorkItems,
Event toStartEvent,
java.util.HashMap<java.lang.String,Resource> resourceList) |
Event |
writeEventLine(Event pickEarliestEvent,
java.io.BufferedWriter bw,
java.text.SimpleDateFormat sdf) |
protected java.util.HashMap<java.lang.Integer,java.lang.String> resourceNameIndex
protected java.lang.Integer currentResourceIndex
protected java.util.HashMap<java.lang.String,java.lang.String> traceCaseHandling
protected java.util.HashMap<java.lang.String,java.lang.String> retainFamiliar
protected java.util.HashMap<java.lang.String,java.lang.String> separationOfDuties
protected java.lang.String taskA
protected java.lang.String taskB
protected float workingTimeReductionRate
protected int maxWorklistSize
protected int totalNumberResources
protected double probabilityOfRandomQueue
protected boolean isLateBinding
protected boolean isResourceBehaviourFluid
protected int increment
protected int probability
protected java.lang.String chosenAssignmentMechanism
protected boolean isMixedAssignmentMechanismLog
protected java.lang.String chosenQueue
public Distributor(java.lang.String taskA,
java.lang.String taskB,
float workingTimeReductionRate,
int maxWorklistSize,
int totalNumberResources,
double probabilityOfRandomQueue,
boolean isLateBinding,
boolean isResourceBehaviourFluid,
int increment,
int probability,
java.lang.String chosenAssignmentMechanism,
boolean isMixedAssignmentMechanismLog,
java.lang.String chosenQueue)
public java.util.ArrayList<java.lang.String> getPartOfResultLine()
protected java.util.Date generateAssignmentTS(long scheduleTS,
long earliestAvailableTS,
long assignmentDuration)
public java.util.HashMap<java.lang.Integer,Event> populateCaseStartEvents(java.util.TreeMap<java.lang.Integer,java.util.Date> caseIDDatesAscending, java.util.HashMap<java.lang.Integer,Event> activeWorkItems)
public Event writeEventLine(Event pickEarliestEvent, java.io.BufferedWriter bw, java.text.SimpleDateFormat sdf) throws java.io.IOException
java.io.IOExceptionpublic Event findEarliestEvent(java.util.HashMap<java.lang.Integer,Event> accessibleActiveWI)
public Event buildFirstEvent(java.util.HashMap<java.lang.Integer,Event> activeWorkItems, java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> shortTrace, java.util.TreeMap<java.lang.Integer,java.util.Date> caseIDDatesAscending, Event firstEvent)
protected Resource assignResource(java.lang.String activity, java.util.HashMap<java.lang.String,Resource> resourceList, Event writtenEvent, java.util.HashMap<java.lang.Integer,Event> activeWorkItems)
protected Resource getCaseHandlingResource(Event writtenEvent, java.util.HashMap<Resource,java.util.Date> availableResource)
protected Resource getShortestQueueResource(java.util.HashMap<java.lang.Integer,Event> activeWorkItems, java.util.HashMap<Resource,java.util.Date> availableResource, java.util.HashSet<java.lang.String> availableResourcesName)
protected Resource getEarliestAvailableResource(java.util.HashMap<Resource,java.util.Date> availableResource)
protected Resource getRetainFamiliarResource(java.util.HashMap<Resource,java.util.Date> availableResource, Event writtenEvent)
protected Resource getSeparationOfDutiesResource(java.util.HashMap<Resource,java.util.Date> availableResource, Event writtenEvent)
public java.util.TreeMap<java.lang.Integer,java.util.Date> generateCaseStartDatesCyclic(java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> shortTrace,
int logTimeSpan,
java.util.Date initialDate,
int noOfTracesPerWeek,
int noOfWeek)
public java.util.TreeMap<java.lang.Integer,java.util.Date> generateCaseStartDatesDisturbance(java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> shortTrace,
int logTimeSpan,
java.util.Date startDate,
int noOfTracesPerWeek,
int noOfWeek)
public java.util.TreeMap<java.lang.Integer,java.util.Date> generateCaseStartDatesGradual(java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> shortTrace,
int logTimeSpan,
java.util.Date startDate,
int noOfTracesPerWeek,
int noOfWeek)
public java.util.HashMap<java.lang.String,Resource> initiateResourceProfile(java.util.HashMap<java.lang.String,Resource> resourceList, java.util.Date startDate)
protected abstract void populateNextEvents(java.util.HashMap<java.lang.Integer,Event> activeWorkItems, Event writtenEvent, java.util.HashMap<java.lang.String,Resource> resourceList, org.uncommons.maths.random.DiscreteUniformGenerator scheduleAssignRandom, java.util.HashMap<java.lang.Integer,java.util.ArrayList<java.lang.String>> shortTrace, java.util.Date startDate, java.io.BufferedWriter bw2, java.text.SimpleDateFormat sdf) throws java.io.IOException
java.io.IOExceptionprotected abstract Event chooseNextWorkItem(Resource theResource, java.util.HashMap<java.lang.Integer,Event> activeWorkItems)