Class LDESWarmStartExample

java.lang.Object
jline.examples.java.advanced.LDESWarmStartExample

public class LDESWarmStartExample extends Object
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 Details

    • LDESWarmStartExample

      public LDESWarmStartExample()
  • Method Details

    • buildModel

      public static Network buildModel(int njobs)
      Closed near-balanced tandem: Think(Exp,1) -> Queue1(Exp,1.0) -> Queue2(Exp,0.98).
    • main

      public static void main(String[] args)