public class BankWithEvents extends CTMDPEvA<examples.jmdp.BankQueues2,examples.jmdp.BankServers2,examples.jmdp.BankEvent>
Constructor and Description |
---|
BankWithEvents(States<examples.jmdp.BankQueues2> initial,
double clientMinuteCost,
double userMinuteCost,
double clientProbability,
double lambda,
double mu,
int maxCapacity,
int maxServers)
Builds a BankWithEvents
|
Modifier and Type | Method and Description |
---|---|
Events<examples.jmdp.BankEvent> |
activeEvents(examples.jmdp.BankQueues2 i)
Set of events that are active from state i given that action a is taken.
|
double |
continuousCost(examples.jmdp.BankQueues2 i,
examples.jmdp.BankServers2 a,
examples.jmdp.BankEvent e)
Reward obtained continuously in time during the sojourn time in state i
until an action a is taken and a transition is triggered.
|
Actions<examples.jmdp.BankServers2> |
feasibleAct(examples.jmdp.BankQueues2 i)
Returns the set of actions available at this state.
|
double |
lumpCost(examples.jmdp.BankQueues2 i,
examples.jmdp.BankServers2 a,
examples.jmdp.BankEvent e)
Reward instantaneously gained in the moment when action a is taken from
state i.
|
static void |
main(java.lang.String[] args)
This method just tests the class.
|
double |
rate(examples.jmdp.BankQueues2 i,
examples.jmdp.BankQueues2 j,
examples.jmdp.BankServers2 a,
examples.jmdp.BankEvent e)
Rate.
|
States<examples.jmdp.BankQueues2> |
reached(examples.jmdp.BankQueues2 i,
examples.jmdp.BankServers2 a,
examples.jmdp.BankEvent e)
Set of reachable states from state i given that action a is taken and
event e occurs.
|
continuousCost, feasibleActions, lumpCost, rate, reachable
getAllStates, getMaxRate, getSteadyStateProbabilities, setConverter, solve
getNumStates, getSolver
debug, debug, debug, getDebugLevel, getOptimalPolicy, getOptimalValueFunction, getReporter, isFinite, isSolved, operation, printSolution, printSolution, setDebugLevel, setReporter, setSolver, solve
public BankWithEvents(States<examples.jmdp.BankQueues2> initial, double clientMinuteCost, double userMinuteCost, double clientProbability, double lambda, double mu, int maxCapacity, int maxServers)
initial
- Initial state in the systemclientMinuteCost
- The cost that is charged to clients with commercial relation
with the bank per minute they stay in queueuserMinuteCost
- The cost that is charged to users with no commercial relation
with the bank per minute they stay in queueclientProbability
- Probability that the next client has a commercial relation
with the banklambda
- Arrival rate to the bankmu
- Service rate of tellersmaxCapacity
- Queues capacitymaxServers
- Maximum number of tellers available in the bankpublic Events<examples.jmdp.BankEvent> activeEvents(examples.jmdp.BankQueues2 i)
CTMDPEvA
activeEvents
in class CTMDPEvA<examples.jmdp.BankQueues2,examples.jmdp.BankServers2,examples.jmdp.BankEvent>
i
- current statepublic double lumpCost(examples.jmdp.BankQueues2 i, examples.jmdp.BankServers2 a, examples.jmdp.BankEvent e)
CTMDPEvA
public double continuousCost(examples.jmdp.BankQueues2 i, examples.jmdp.BankServers2 a, examples.jmdp.BankEvent e)
CTMDPEvA
continuousCost
in class CTMDPEvA<examples.jmdp.BankQueues2,examples.jmdp.BankServers2,examples.jmdp.BankEvent>
i
- current statea
- action takene
- event that occurspublic States<examples.jmdp.BankQueues2> reached(examples.jmdp.BankQueues2 i, examples.jmdp.BankServers2 a, examples.jmdp.BankEvent e)
CTMDPEvA
public double rate(examples.jmdp.BankQueues2 i, examples.jmdp.BankQueues2 j, examples.jmdp.BankServers2 a, examples.jmdp.BankEvent e)
CTMDPEvA
public Actions<examples.jmdp.BankServers2> feasibleAct(examples.jmdp.BankQueues2 i)
CTMDPEvA
feasibleAct
in class CTMDPEvA<examples.jmdp.BankQueues2,examples.jmdp.BankServers2,examples.jmdp.BankEvent>
i
- current statepublic static void main(java.lang.String[] args) throws SolverException
args
- Not usedSolverException