# Deterministic Iterative Steady-State Solver

*Deterministic iterative steady-state solver*

The deterministic iterative steady-state solver (diss) solves for instant-of-time variables with using uniformization and successive over-relaxation (SOR)^{[1]}. diss should be used for the steady-state solution when there is at least one deterministic action in the model. Solution is restricted to models in which there is no more than one deterministic action enabled in each process state. The state-space generator can be used to detect states in which more than one deterministic action is enabled. The solution algorithm is similar to that used by iss, but uniformization is used to compensate for the deterministic action. You must select the acceleration factor. diss calculates the mean and variance of each performability variable. The means and variances are given in textual format in an output file. <xr id="fig:dissSolver" /> shows the editor for the deterministic iterative steady-state solver and its available options and adjustable parameters.

<figure id="fig:dissSolver">

The options are as follows:

- The Weight is a double-precision float representing the acceleration factor. 1.0 is the default. A value of 1.0 reduces the SOR method to Gauss-Seidel. Values between 1.0 and 2.0 may accelerate convergence. Values between 0.0 and 1.0 are less subject to divergence.

- The Error Tolerance is a short integer representing a negative power of 10 (i.e. error tolerance) for truncation of infinite series during calculation of the Poisson probabilities. 11 is the default value. Increasing the error tolerance may increase the solution time. The solution time can be reduced if more error can be tolerated.

- The Max Iterations is an unsigned long representing the maximum number of iterations that will be performed before the solver terminates. 300,000 is the default.

- The Verbosity () sets a trace level of intermediate output. The default is no intermediate output. If , then the accuracy is printed after every iterations.

- If Detect Steady State is selected, the solver detects the steady state before it detects the right truncation point, if possible
^{[1]}. It can reduce the solution time, but you should compare the results obtained with and without this option to make sure that steady state has not been falsely detected.

- If Detect Steady State is selected, the solver detects the steady state before it detects the right truncation point, if possible

- If Save C matrix in file is selected, the solver saves rows of the matrix in a file instead of keeping them in memory. Saved rows are read back at appropriate times. This option should be used when the solver complains about a shortage of memory while solving a model with a large state space.

- If Save P matrix in file is selected, the solver saves rows of the matrix in a file instead of keeping them in memory. Saved rows are read back at appropriate times. This option should be used when the solver complains about a shortage of memory while solving a model with a large state space.

The output file contains the means and variances of the performability variables. It also contains the following information:

- The index of deterministic action considered, which is an index into an internal data structure of the deterministic action that is being processed. The number itself is not useful, only the fact that progress is being made.

- The left truncation point, which is the number of iterations below which uniformization does not collect results.

- The right truncation point, which is the number of iterations above which uniformization does not collect results.

- The number of iterations required for convergence.

- The maximum difference, which is the maximum difference between the cells in the and zero vectors, which represents the error. The truncation error is not reported, but is bounded by the specified error tolerance.

**Pitfalls and Hints**

- The diss solver suffers from the fill-in problem, albeit to a lesser extent than the dss solver. For every marking in which a deterministic action is enabled, the transition probabilities to all the markings that can be reached during the deterministic time are computed. Depending on the model, this results in a considerable number of fill-ins if a high percentage of the markings enable a deterministic action. One example that leads to many fill-ins is a single buffer with a deterministic server; the deterministic action is enabled in all markings that represent at least one job in the buffer. Consequently, considerable fill-ins will occur.

- The instant-of-time steady-state measure is not necessarily defined for models with deterministic actions, because periodic behavior may exist. The outcome of diss can in that case be interpreted as the time-averaged interval-of-time steady-state measure. However, that interpretation is valid when only rate rewards are considered (i.e., no measures with impulse reward are defined). Furthermore, the variance and distribution that are derived do not have any meaning for the interval-of-time variables.

- diss cannot solve for deterministic actions with delay values that are marking-dependent. If the specified model contains a marking-dependent deterministic action, the obtained results should be discarded.

## References

- ↑
^{1.0}^{1.1}B. P. Shah. Analytic solution of stochastic activity networks with exponential and deterministic activities. Master’s thesis, University of Arizona, 1993.