Class Mapqn_bnd_lr_mva
The constraints assembled below are the paper's: the population constraint
(1), the utilization bound (2), the MAP phase balance (3), the flow balance
(4), the generalized horizontal cut (12), the vertical-cut MVA relation (13)
in the linearized form (18)-(19) whose B(j,k,i) variables are the
E_i^{j,k} of Theorem 4, and the two auxiliary families QN <= N*UN and
sum_w QN >= N*UN.
-
Method Summary
Modifier and TypeMethodDescriptionstatic doublegetQueueLengthMVA(Mapqn_solution sol, int i, int k) static doublegetUtilizationMVA(Mapqn_solution sol, int i, int k) static Mapqn_solutionsolve(MVAVersionParameters params, int objectiveQueue, int objectiveLevel) static Mapqn_solutionsolve(MVAVersionParameters params, int objectiveQueue, int objectiveLevel, String sense) As above, optimizing in the requested direction.static Mapqn_solutionsolve(MVAVersionParameters params, int objectiveQueue, int objectiveLevel, String sense, String objectiveVar) As above, over a chosen variable family and optionally over the SUM of the levels.
-
Method Details
-
solve
public static Mapqn_solution solve(MVAVersionParameters params, int objectiveQueue, int objectiveLevel) -
solve
public static Mapqn_solution solve(MVAVersionParameters params, int objectiveQueue, int objectiveLevel, String sense) As above, optimizing in the requested direction. The LP is a relaxation containing the exact solution, so "max" is a valid upper bound on the utilization at that population level and "min" the matching lower bound.- Parameters:
sense- "min" or "max"
-
solve
public static Mapqn_solution solve(MVAVersionParameters params, int objectiveQueue, int objectiveLevel, String sense, String objectiveVar) As above, over a chosen variable family and optionally over the SUM of the levels.objectiveLevel == 0optimizes the aggregate sum_k X(queue, k), which is the quantity the paper's bounds are stated on: U_i(N) = sum_k U_i^k(N) is the utilization of station i, while U_i^k alone is its utilization while the MAP sits in phase k. Optimizing the K terms separately and adding them is also a bound but a strictly looser one, since the phases cannot all peak at once.- Parameters:
objectiveVar- "UN" or "QN", the variable family optimized over
-
getUtilizationMVA
-
getQueueLengthMVA
-