Class DESOptions

  • All Implemented Interfaces:

    
    public class DESOptions
    extends SolverOptions
                        

    Configuration options for Discrete Event Simulation (DES) solver.

    DESOptions extends the base solver options to provide DES-specific configuration parameters. DES uses the SSJ library for discrete-event simulation that generates sample paths of the queueing network state evolution over time.

    Key DES characteristics:

    • Discrete event simulation approach using SSJ library
    • Handles multiclass Jackson queueing networks
    • Supports steady-state analysis
    • Provides statistical estimates with confidence intervals
    • Uses event-count based stopping (samples = max service completions)
    • Default: 200,000 service completion events

    Default Configuration (based on benchmark analysis):

    samples     = 200,000   (good accuracy/speed balance, ~5% mean error)
    tranfilter  = "mser5"   (adaptive warmup detection)
    warmupfrac  = 0.20      (20% warmup for fixed filter)
    cimethod    = "obm"     (overlapping batch means)
    obmoverlap  = 0.50      (50% overlap)
    cnvgon      = false     (fixed event count)
    
    For heavy-tailed workloads (high SCV), consider increasing samples to 500,000+.
    Since:

    1.0

    • Constructor Detail

      • DESOptions

        DESOptions()
        Constructs a new DESOptions instance with default DES solver configuration.
    • Method Detail

      • setCnvgon

         DESOptions setCnvgon(boolean enabled)

        Sets whether convergence-based stopping is enabled.

        Parameters:
        enabled - true to enable convergence checking
        Returns:

        this options instance for method chaining

      • setCnvgtol

         DESOptions setCnvgtol(double tolerance)

        Sets the convergence tolerance.

        Parameters:
        tolerance - the relative precision threshold (e.g., 0.
        Returns:

        this options instance for method chaining

      • setCnvgbatch

         DESOptions setCnvgbatch(int minBatches)

        Sets the minimum number of batches before checking convergence.

        Parameters:
        minBatches - the minimum number of batches required
        Returns:

        this options instance for method chaining

      • setCnvgchk

         DESOptions setCnvgchk(int interval)

        Sets the number of events between convergence checks.

        Parameters:
        interval - the number of events (0 for auto-calculation)
        Returns:

        this options instance for method chaining

      • setTranfilter

         DESOptions setTranfilter(String method)

        Sets the transient filter method.

        Parameters:
        method - the transient filter method ("mser5", "fixed", or "none")
        Returns:

        this options instance for method chaining

      • setMserbatch

         DESOptions setMserbatch(int batchSize)

        Sets the MSER batch size.

        Parameters:
        batchSize - the batch size for MSER algorithm (must be >= 1)
        Returns:

        this options instance for method chaining

      • setWarmupfrac

         DESOptions setWarmupfrac(double fraction)

        Sets the warmup fraction for fixed transient filter.

        Parameters:
        fraction - the warmup fraction (0.0 to 1.
        Returns:

        this options instance for method chaining

      • setCimethod

         DESOptions setCimethod(String method)

        Sets the confidence interval computation method.

        Parameters:
        method - the CI method ("obm", "bm", or "none")
        Returns:

        this options instance for method chaining

      • setObmoverlap

         DESOptions setObmoverlap(double overlap)

        Sets the OBM overlap fraction.

        Parameters:
        overlap - the overlap fraction (0.0 to 1.
        Returns:

        this options instance for method chaining

      • setCiminbatch

         DESOptions setCiminbatch(int minSize)

        Sets the minimum batch size for CI computation.

        Parameters:
        minSize - the minimum batch size (must be >= 2)
        Returns:

        this options instance for method chaining

      • setCiminobs

         DESOptions setCiminobs(int minObs)

        Sets the minimum observations required for CI computation.

        Parameters:
        minObs - the minimum number of observations (must be >= 10)
        Returns:

        this options instance for method chaining

      • copy

         DESOptions copy()

        Creates a deep copy of this DESOptions object. Overrides the base class copy() to preserve DES-specific fields.

        Returns:

        a deep copy of this DESOptions object