LINE Solver
MATLAB API documentation
Loading...
Searching...
No Matches
json_classcap_droprule.m
1function model = json_classcap_droprule()
2% Open 2-class network with per-class capacity, drop rules, and load-dependence.
3model = Network('ClassCap_DropRule');
4
5source = Source(model, 'Source');
6queue = Queue(model, 'Queue', SchedStrategy.PS);
7sink = Sink(model, 'Sink');
8
9queue.setNumberOfServers(2);
10queue.setCapacity(20);
11
12class1 = OpenClass(model, 'Class1');
13class2 = OpenClass(model, 'Class2');
14
15source.setArrival(class1, Exp(1));
16source.setArrival(class2, Exp(0.5));
17queue.setService(class1, Exp(3));
18queue.setService(class2, Exp(2));
19
20% Per-class capacity
21queue.classCap(class1.index) = 8;
22queue.classCap(class2.index) = 15;
23
24% Per-class drop rules. WAITQ is not usable here: no solver honours "wait
25% upstream" for an open class at a plain finite capacity (CTMC drops the
26% arrival, JMT blocks at the source and ignores the cap), so refreshCapacity
27% rejects that combination. BAS is the honoured blocking policy.
28queue.setDropRule(class1, DropStrategy.DROP);
29queue.setDropRule(class2, DropStrategy.BAS);
30
31% Load-dependent scaling
32queue.setLoadDependence([1.0, 0.9, 0.8, 0.7]);
33
34P = model.initRoutingMatrix();
35P{class1} = Network.serialRouting(source, queue, sink);
36P{class2} = Network.serialRouting(source, queue, sink);
37model.link(P);
38end
Definition Station.m:245