Skip Headers

Oracle® OLAP DML Reference
10g Release 1 (10.1)

Part Number B10339-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Feedback

Go to previous page
Previous
Go to next page
Next
View PDF

MODOVERFLOW

The MODOVERFLOW option is used in testing whether any equation in a simultaneous block of a model has diverged. MODOVERFLOW determines how dissimilar the results of an equation must be in successive iterations for the equation to be considered to have diverged.


See:

Table 17-1, "Model Options" for descriptions of all of the options that control the solution of simultaneous blocks.

Data type

INTEGER

Syntax

MODOVERFLOW = {n|3}

Arguments

n

An integer value to use in testing for divergence. As Oracle OLAP calculates each equation in a simultaneous block, it constructs a comparison value that is based on the results of the equation for the current iteration and the previous iteration. When the comparison value meets a divergence test, the equation is considered to have diverged.

The comparison value that is tested is as follows.

(thisResult - prevResult) / (prevResult + MODGAMMA)

wherethisResult is the result of this iteration and prevResult is the result of the previous iteration

In the preceding calculation, MODGAMMA is an INTEGER option that controls the degree to which the comparison value represents the absolute amount of change between iterations versus the proportional change. The default value of MODGAMMA is 1.

In the divergence test, Oracle OLAP tests whether the comparison value is greater than 10 to the power of MODOVERFLOW. The calculation for this test is as follows.

Comparison value  >  10**MODOVERFLOW

For the equation to be considered to have diverged, the comparison value must meet the test described earlier. The default value of MODOVERFLOW is 3. With this default, the comparison value meets the test when it is greater than 1000.

Notes


Equation Divergence

When an equation diverges, an error occurs. The MODERROR option controls the action that Oracle OLAP takes when an error occurs.


Attaining Convergence

Even when the results of an equation change drastically between successive iterations in the early stages of a solution, the equation might eventually converge. Therefore, when an equation diverges, you can try increasing the value of MODOVERFLOW. You might thereby prevent the equation from meeting the divergence test in a situation where a successful solution can actually be attained.


Faster Divergence During Development

While you are developing a model, you can sometimes save time by using a small value for MODOVERFLOW. When Oracle OLAP is performing many iterations over a particular simultaneous block, a smaller value of MODOVERFLOW can cause rapid divergence of that block. When you set the MODOVERFLOW option to CONTINUE, execution of the model will continue when the divergence occurs, and you can concentrate on debugging the other blocks in the model. After you have debugged the model, you can use a larger value for MODOVERFLOW.

Examples

Example 17-26 Using the Default MODOVERFLOW Value

The following statements specify a trace for a model called income.est, limit a dimension, and run the model.

MODTRACE = YES
LIMIT division TO 'Camping'
income.est budget

These statements produce the following output.

(MOD= INCOME.EST) BLOCK 1: SIMULTANEOUS 
(MOD= INCOME.EST) ITERATION 1: EVALUATION
(MOD= INCOME.EST) selling = marketing * 3
(MOD= INCOME.EST) BUDGET (LINE SELLING MONTH 'JAN97' ITER 1) = 3
  ...
(MOD= INCOME.EST) BUDGET (LINE SELLING MONTH 'JAN97' ITER 2) = -997
   ...
(MOD= INCOME.EST) BUDGET (LINE SELLING MONTH 'JAN97' ITER 3) = 6.00902708124
   ...
(MOD= INCOME.EST) BUDGET (LINE SELLING MONTH 'JAN97' ITER 49) = 34.2715693388
   ...
(MOD= INCOME.EST) BUDGET (LINE SELLING MONTH 'JAN97' ITER 50) = -7.22300601861

In the trace, you can see the results that were calculated for the Selling line item in the first three iterations and the forty-ninth and fiftieth iterations over a block of simultaneous equations. The block failed to converge after 50 iterations.

The value of MODOVERFLOW is its default value of 3. This means that for an equation to meet the divergence test, its comparison value must be greater than 1000.

Example 17-27 Speeding Up the Divergence

The following statements change the MODOVERFLOW setting and run the income.est model.

MODOVERFLOW = 2
income.est budget

With MODOVERFLOW set to 2, any comparison value of more than 100 meets the test for divergence. In this example, the equation for Selling meets the test in the second iteration. In the second iteration, Oracle OLAP calculates the comparison value for Selling as follows.

(-997 - 3) / (3 + 1) = 250

Since this comparison value is greater than 100, the equation for Selling diverges in the second iteration.