LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
saveBufferCapacity.m
1function [simDoc, section] = saveBufferCapacity(self, simDoc, section, ind)
2% [SIMDOC, SECTION] = SAVEBUFFERCAPACITY(SIMDOC, SECTION, NODEIDX)
3%
4% LINE uses Kendall notation where cap = K = total system capacity
5% (queue + in-service jobs). JMT's "size" parameter also represents
6% total capacity K.
7
8% Copyright (c) 2012-2026, Imperial College London
9% All rights reserved.
10
11sn = self.getStruct;
12sizeNode = simDoc.createElement('parameter');
13sizeNode.setAttribute('classPath', 'java.lang.Integer');
14sizeNode.setAttribute('name', 'size');
15valueNode = simDoc.createElement('value');
16ist = sn.nodeToStation(ind);
17if ~sn.isstation(ind) || isinf(sn.cap(ist))
18 valueNode.appendChild(simDoc.createTextNode(int2str(-1)));
19else
20 if sn.cap(ist) == sum(sn.njobs)
21 valueNode.appendChild(simDoc.createTextNode(int2str(-1)));
22 else
23 nservers = sn.nservers(ist);
24 if isinf(nservers)
25 % Infinite servers (delay node) - no buffer needed
26 valueNode.appendChild(simDoc.createTextNode(int2str(-1)));
27 else
28 % Send LINE's total capacity K directly to JMT
29 valueNode.appendChild(simDoc.createTextNode(int2str(sn.cap(ist))));
30 end
31 end
32end
33
34sizeNode.appendChild(valueNode);
35section.appendChild(sizeNode);
36end