public class AccessControlFiniteHor extends FiniteMDPEv<TandemQueues,Admit,TandemEvent>
Constructor and Description |
---|
AccessControlFiniteHor(States<TandemQueues> init,
double c1,
double c2,
double lambda,
double mu1,
double mu2,
int b1,
int b2,
int N)
Builds a AccessControlFiniteHor
|
Modifier and Type | Method and Description |
---|---|
Events<TandemEvent> |
activeEvents(TandemQueues i,
Admit a,
int t)
Set of events that are active from state i given that action a is taken.
|
Actions<Admit> |
feasibleActions(TandemQueues i,
int t)
Returns the actions available at this state i and at this stage
t .
|
double |
finalCost(TandemQueues i)
This method returns the cost incurred if the last stage ends
with the system at state i.
|
double |
immediateCost(TandemQueues i,
Admit a,
TandemEvent e,
int t)
Reward received when the current state is i, the action taken is a and
event e occurs.
|
static void |
main(java.lang.String[] args)
This method just tests the class.
|
double |
prob(TandemQueues i,
TandemEvent e,
int t)
Conditional probability.
|
double |
prob(TandemQueues i,
TandemQueues j,
Admit a,
TandemEvent e,
int t)
Conditional probability.
|
States<TandemQueues> |
reachable(TandemQueues i,
Admit a,
TandemEvent e,
int t)
Set of reachable states from state i given that action a is taken and
event e occurs.
|
immediateCost, prob, reachable
defaultFinalCost, getHorizon, getStates
debug, debug, debug, getDebugLevel, getOptimalPolicy, getOptimalValueFunction, getReporter, getSolver, isFinite, isSolved, operation, printSolution, printSolution, setDebugLevel, setReporter, setSolver, solve
public AccessControlFiniteHor(States<TandemQueues> init, double c1, double c2, double lambda, double mu1, double mu2, int b1, int b2, int N)
init
- Initial statec1
- Cost of refusing to admit an arriving customerc2
- Cost of losing a customer at the second stationb1
- Capacity of first stationb2
- Capacity of second stationlambda
- Arrival rate to the systemmu1
- Service rate of station 1mu2
- Service rate at station 2N
- Time Horizonpublic Events<TandemEvent> activeEvents(TandemQueues i, Admit a, int t)
FiniteMDPEv
activeEvents
in class FiniteMDPEv<TandemQueues,Admit,TandemEvent>
i
- current statea
- action takent
- current stagepublic States<TandemQueues> reachable(TandemQueues i, Admit a, TandemEvent e, int t)
FiniteMDPEv
reachable
in class FiniteMDPEv<TandemQueues,Admit,TandemEvent>
i
- current statea
- action takene
- event that occurst
- current stagepublic Actions<Admit> feasibleActions(TandemQueues i, int t)
FiniteMDP
feasibleActions
in class FiniteMDP<TandemQueues,Admit>
i
- Current Statet
- Time stagepublic double immediateCost(TandemQueues i, Admit a, TandemEvent e, int t)
FiniteMDPEv
immediateCost
in class FiniteMDPEv<TandemQueues,Admit,TandemEvent>
i
- current statea
- action takene
- event that occurst
- current stagepublic double prob(TandemQueues i, TandemQueues j, Admit a, TandemEvent e, int t)
FiniteMDPEv
prob
in class FiniteMDPEv<TandemQueues,Admit,TandemEvent>
i
- current statej
- state to reacha
- action taken (given)e
- event that occurs (given)t
- current stagepublic double prob(TandemQueues i, TandemEvent e, int t)
FiniteMDPEv
prob
in class FiniteMDPEv<TandemQueues,Admit,TandemEvent>
i
- current statee
- event that occurst
- current stagepublic double finalCost(TandemQueues i)
FiniteMDP
finalCost
in class FiniteMDP<TandemQueues,Admit>
i
- Ending stateFiniteMDP.finalCost(jmarkov.basic.State)
public static void main(java.lang.String[] args) throws SolverException
args
- Not usedSolverException