Package jline.examples.java.advanced
Class LDESWarmStartExample
java.lang.Object
jline.examples.java.advanced.LDESWarmStartExample
Demo of the LDES warm-start feature: an auxiliary solver is passed to SolverLDES
as an argument, its steady-state distribution is computed, and that distribution
decides the initial state of the simulation. Because the simulation then starts in
(approximately) steady state, the initialization bias vanishes and no warmup
samples are discarded, so a target accuracy is reached with fewer simulated events
than a cold-started run.
Auxiliary-solver dispatch inside SolverLDES.initFromSolver:
- SolverCTMC: the exact stationary distribution over the aggregate state space is
computed and the initial state is its mode (most probable aggregate state);
- any other solver (e.g. SolverMVA): the steady-state mean queue lengths are
rounded to an integer placement that conserves the closed populations.
The benchmark model is a closed near-balanced tandem, Think(Exp,1) -> Queue1(Exp,1.0)
-> Queue2(Exp,0.98). Near-balanced closed networks mix slowly: the split of jobs
between the two queues drifts on a long time scale, so the bias of the default
cold start (all jobs at the reference station) persists beyond what the MSER-5
transient filter can remove.
Part A (sample efficiency, N=40): model small enough for SolverCTMC, comparing the
cold start against warm starts from the CTMC stationary-distribution mode and from
the rounded MVA mean queue lengths.
Part B (wall-clock speedup, N=100): the auxiliary solver is exact MVA
(milliseconds), so the reduction in required samples translates directly into a
wall-clock speedup, auxiliary solver time included.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic NetworkbuildModel(int njobs) Closed near-balanced tandem: Think(Exp,1) -> Queue1(Exp,1.0) -> Queue2(Exp,0.98).static void
-
Constructor Details
-
LDESWarmStartExample
public LDESWarmStartExample()
-
-
Method Details
-
buildModel
Closed near-balanced tandem: Think(Exp,1) -> Queue1(Exp,1.0) -> Queue2(Exp,0.98). -
main
-