Class Solver_mam_reneging
solver_mam_retrial: the MAP/M/s+G queue
whose waiting jobs abandon after a generally distributed patience, solved as
the multi-regime Markov fluid queue of O. Gursoy, K. A. Mehr and N. Akar,
"The MAP/M/s + G Call Center Model with Generally Distributed Patience Times".
THE FLUID IS THE VIRTUAL WAITING TIME. The background chain is (busy
servers, MAP phase), s+1 blocks of MAP phases; the last block has drift +1
and stands for the work an admitted arrival adds, every other block drift -1.
The patience CDF is quantized into mapmsg_quantization regimes spanning
[0, T], T the 1-1e-4 quantile of the patience; an arrival that finds virtual
wait in regime k balks with the patience CDF at the regime's representative
wait (midpoint, T for the tail [T, inf)), which is the abandonment of a FCFS
queue since the virtual wait IS the wait that arrival would see.
MATLAB solves the fluid queue with the MAPMsG library's MRMFQSolver;
this port solves the same queue with Mfq_multiregime (Kankaya and Akar,
the method MRMFQSolver implements) and reads the per-regime state masses off
its distribution function. The two agree to round-off: on M/M/3+M,
MAP/M/3+M and M/M/4+Erlang-2 the native-python MRMFQ port and this
construction coincide to 1e-14.
The struct field read is sn.impatienceProc, the (D0,D1) pair
MATLAB also exposes as sn.patienceProc. Network.refreshImpatience fills
it for a Markovian patience only, so a Det, Gamma, Lognormal, Pareto, Uniform
or Weibull patience reaches no regime grid and is refused by name.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classWhatmam_reneging_applicablereturns: indices, or why the shape is not met. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDefault regime count, MATLABconvertPatienceToRegimes. -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanTrue when some station-class pair declares RENEGING impatience, with or without a patience law the struct can carry.static booleanTrue when some station-class pair declares RENEGING impatience together with a patience law.static MatrixCellpatienceProc(NetworkStruct sn, int ist, int r) The (D0,D1) patience law at (station ist, class r), or null when none is carried.Is this model the MAP/M/s+G shape the analyzer solves? Mirrors MATLABmam_reneging_applicable; the error messages are its own.static MAMResultsolver_mam_reneging(NetworkStruct sn, SolverOptions options, Solver_mam_reneging.RenegingInfo info) Solve the MAP/M/s+G queue.
-
Field Details
-
DEFAULT_QUANTIZATION
public static final int DEFAULT_QUANTIZATIONDefault regime count, MATLABconvertPatienceToRegimes.- See Also:
-
-
Method Details
-
patienceProc
The (D0,D1) patience law at (station ist, class r), or null when none is carried. -
hasRenegingPatience
True when some station-class pair declares RENEGING impatience together with a patience law. Mirrors MATLABmam_has_reneging_patience. -
declaresReneging
True when some station-class pair declares RENEGING impatience, with or without a patience law the struct can carry. A RENEGING pair whose law is not Markovian has no impatienceProc entry, and the gates must still see it: read off hasRenegingPatience alone, such a model would fall through to dec.source and be solved with the patience ignored. -
renegingApplicable
Is this model the MAP/M/s+G shape the analyzer solves? Mirrors MATLABmam_reneging_applicable; the error messages are its own. -
solver_mam_reneging
public static MAMResult solver_mam_reneging(NetworkStruct sn, SolverOptions options, Solver_mam_reneging.RenegingInfo info) Solve the MAP/M/s+G queue.
-