Hi I was using LINE to build a CQN model with multiple FCFS stations, a processor sharing station and an infinite server station (see example file).
I noticed a discreprancy between the results for SolverNC between class with jobs =49 and jobs=50, Both SolverMVA and SolverJMT do not exhibit such behavior:
NC results for
* Jobs = 49
Station JobClass QLen Util RespT ResidT Tput ___ __ ____ _ ____
Station11 class 15.211 0.96632 15.741 15.741 0.96632
Station21 class 0.93269 0.48316 0.9652 0.9652 0.96632
Station31 class 6.4241 0.77306 3.324 6.648 1.9326
Station12 class 15.211 0.96632 15.741 15.741 0.96632
Station22 class 0.93269 0.48316 0.9652 0.9652 0.96632
Station32 class 6.4241 0.77306 3.324 6.648 1.9326
IS1 class 1.9326 1.9326 1 2 1.9326
IS2 class 1.9326 1.9326 1 2 1.9326
Jobs = 50
Station JobClass QLen Util RespT ResidT Tput ___ __ __ __ _ _____
Station11 class 22392 28721 0.77964 0.77964 28721
Station21 class 0.3952 14360 1.376e-05 1.376e-05 28721
Station31 class 91907 22976 1.6 3.2001 57441
Station12 class 22392 28721 0.77964 0.77964 28721
Station22 class 0.3952 14360 1.376e-05 1.376e-05 28721
Station32 class 91907 22976 1.6 3.2001 57441
IS1 class 57441 57441 1 2 57441
IS2 class 57441 57441 1 2 57441
I also noticed that if there are multiple FCFS stations with different service rates, a processor sharing station and an infinite server station, the model does not have product form solutions. If one of the FCFS stations is changed to a PS station or the service rates are made same, the model then has product form solutions.
I'm currently not sure why either of these is happening so any information about this would be helpful.
Thank you.
Lavanya
Hi, many thanks for flagging this problem, a patch will be released in the next version. The current issue is that N=50 is a threshold in NC to switch to an approximate method, but your model is single class and in that case it can be solved efficiently also with an exact method.
So for the moment being can you run it as SolverNC(model,'exact').getAvgTable, that will solve the problem.
Last edit: Giuliano Casale 2021-10-11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I spotted a second independent issue, your model does have product form in all cases you mention so , you can find attached the patch to fix that. Network.m goes under src/lang/@Network, the other two files under src/api. They will also be included in a future patch.
Hi I was using LINE to build a CQN model with multiple FCFS stations, a processor sharing station and an infinite server station (see example file).
I noticed a discreprancy between the results for SolverNC between class with jobs =49 and jobs=50, Both SolverMVA and SolverJMT do not exhibit such behavior:
NC results for
* Jobs = 49
Station JobClass QLen Util RespT ResidT Tput
___ __ _ _ __ _ ____
Jobs = 50
Station JobClass QLen Util RespT ResidT Tput
___ __ __ __ _ _____
Station11 class 22392 28721 0.77964 0.77964 28721
Station21 class 0.3952 14360 1.376e-05 1.376e-05 28721
Station31 class 91907 22976 1.6 3.2001 57441
Station12 class 22392 28721 0.77964 0.77964 28721
Station22 class 0.3952 14360 1.376e-05 1.376e-05 28721
Station32 class 91907 22976 1.6 3.2001 57441
IS1 class 57441 57441 1 2 57441
IS2 class 57441 57441 1 2 57441
I also noticed that if there are multiple FCFS stations with different service rates, a processor sharing station and an infinite server station, the model does not have product form solutions. If one of the FCFS stations is changed to a PS station or the service rates are made same, the model then has product form solutions.
I'm currently not sure why either of these is happening so any information about this would be helpful.
Thank you.
Lavanya
Hi, many thanks for flagging this problem, a patch will be released in the next version. The current issue is that N=50 is a threshold in NC to switch to an approximate method, but your model is single class and in that case it can be solved efficiently also with an exact method.
So for the moment being can you run it as SolverNC(model,'exact').getAvgTable, that will solve the problem.
Last edit: Giuliano Casale 2021-10-11
I spotted a second independent issue, your model does have product form in all cases you mention so , you can find attached the patch to fix that. Network.m goes under src/lang/@Network, the other two files under src/api. They will also be included in a future patch.
Thank you!