Class RandomEnvironmentModel

java.lang.Object
jline.examples.java.advanced.RandomEnvironmentModel

public class RandomEnvironmentModel extends Object
Examples of models evolving in a random environment
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Matrix
    fesRateCurve(double muQuay, double muStack, int N)
    `renv_container_terminal.m`: Norton flow-equivalent rates, the throughput of the isolated internal subnetwork (quay cranes -> stacking cranes, both processor sharing) at n = 1..N containers, with the rest of the terminal short-circuited by a near-instantaneous delay.
    static void
    main(String[] args)
    Main method for testing and demonstrating random environment examples.
    static Network
    `renv_map_fallback.m` / `example_mapqn2renv.m`: Think -> FCFS queue with MMPP(2) service, one closed class of five.
    Complex random environment model with 4 stages and 3 stations.
    static Network
    renv_genqn(double rateDelay, double rateQueue, int N)
    `renv_genqn.m`: a Delay and a PS Queue in a cycle, one closed class of N jobs.
    Random environment model with circular transition structure.
    Basic random environment model with 2 stages and 2 stations.
    static Network
    terminalFESModel(double stageRate, Matrix fesRate)
    `renv_container_terminal.m`: the same hour-stage with the internal terminal handling collapsed into one closed load-dependent FES, serving at mu(n) when n containers are inside it.
    static Network
    terminalModel(double stageRate, double craneRate, int nCranes, int N)
    `renv_container_terminal.m`: one hour-stage network, N carriers cycling yard-Delay -> quay-crane Queue.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RandomEnvironmentModel

      public RandomEnvironmentModel()
  • Method Details

    • renv_twostages_repairmen

      public static Environment renv_twostages_repairmen()
      Basic random environment model with 2 stages and 2 stations.

      Features: - Environment with 2 stages: Stage1 (UP), Stage2 (DOWN) - Each stage has different service rates for the queueing network - Exponential transitions between environment stages - Single closed class with 1 job - Fluid solver for each environment stage - Corresponds to renv_twostages_repairmen.m in LINE

      Returns:
      configured environment model
    • renv_fourstages_repairmen

      public static Environment renv_fourstages_repairmen()
      Complex random environment model with 4 stages and 3 stations.

      Features: - Environment with 4 stages: UP, DOWN, FAST, SLOW - Varying service rates across stages and stations - Coxian transitions between environment stages (SCV=0.5) - Single closed class with 30 jobs - Higher iteration tolerance and more complex dynamics - Corresponds to renv_fourstages_repairmen.m in LINE

      Returns:
      configured complex environment model
    • renv_threestages_repairmen

      public static Environment renv_threestages_repairmen()
      Random environment model with circular transition structure.

      Features: - Environment with 3 stages: UP, DOWN, FAST - Circular transition pattern between stages - Erlang transitions with varying orders based on stage indices - Single closed class with 2 jobs - Demonstrates circular environment dynamics - Corresponds to renv_threestages_repairmen.m in LINE

      Returns:
      configured environment model
    • renv_genqn

      public static Network renv_genqn(double rateDelay, double rateQueue, int N)
      `renv_genqn.m`: a Delay and a PS Queue in a cycle, one closed class of N jobs. The reference exposes it as a FUNCTION rather than a script, and it is the stage generator the repairmen environments above are built from, so it is published here under its own name as well.
      Parameters:
      rateDelay - service rate of the Delay station
      rateQueue - service rate of the PS Queue
      N - closed population
      Returns:
      the configured two-station closed network
    • mmppClosed

      public static Network mmppClosed(String name)
      `renv_map_fallback.m` / `example_mapqn2renv.m`: Think -> FCFS queue with MMPP(2) service, one closed class of five.

      The MMPP is the whole point of the model: MVA and NC have no native non-renewal service, so the solver replaces the modulating chain by a random environment and solves the stages instead.

      Parameters:
      name - the model name the reference gives it
      Returns:
      the configured closed network with MMPP(2) service
    • terminalModel

      public static Network terminalModel(double stageRate, double craneRate, int nCranes, int N)
      `renv_container_terminal.m`: one hour-stage network, N carriers cycling yard-Delay -> quay-crane Queue.
      Parameters:
      stageRate - per-token yard completion rate of this hour
      craneRate - moves per hour served by one crane
      nCranes - quay cranes (servers of the FCFS station)
      N - straddle carriers circulating (the closed tokens)
      Returns:
      the configured hour-stage network
    • terminalFESModel

      public static Network terminalFESModel(double stageRate, Matrix fesRate)
      `renv_container_terminal.m`: the same hour-stage with the internal terminal handling collapsed into one closed load-dependent FES, serving at mu(n) when n containers are inside it.
      Parameters:
      stageRate - per-token yard completion rate of this hour
      fesRate - the Norton rate curve mu(1..N); its length is the population
      Returns:
      the configured hour-stage network with a load-dependent FES
    • fesRateCurve

      public static Matrix fesRateCurve(double muQuay, double muStack, int N)
      `renv_container_terminal.m`: Norton flow-equivalent rates, the throughput of the isolated internal subnetwork (quay cranes -> stacking cranes, both processor sharing) at n = 1..N containers, with the rest of the terminal short-circuited by a near-instantaneous delay.
      Parameters:
      muQuay - quay-crane service rate
      muStack - stacking-crane service rate
      N - largest population the curve is needed at
      Returns:
      the row vector mu(1..N)
    • main

      public static void main(String[] args)
      Main method for testing and demonstrating random environment examples.

      Currently contains commented code for running environment solvers and printing average performance tables.

      Parameters:
      args - command line arguments (not used)