Margins
For every Vali, there is the option of adding a positive and a negative margin. These are always defined relative to the value of the Vali, as a percentage.
For a Vali which is not using any other Valis in its formula, the values including margin are called 'worst case' and are calculated as follows:
worstcase_plus = value * (1 + margin_plus / 100)
worstcase_minus = value * (1 - margin_minus / 100)
For Valis which do use other Valis in their formulas, the margins of these used Valis are taken into account for the worst-case calculation. Two methods of margin propagation are currently supported, as explained below.
The 'total margin' represents the resulting ratio of the worst case over the actual value. For a Vali which does not use any other Valis, the total margin is the same as the positive and negative margin defined. The calculation is as follows:
totalmargin_plus = (worstcase_plus / value - 1) * 100
totalmargin_minus = (worstcase_minus / value + 1) * 100
The margin calculation is fully compatible with the unit conversion, connected copies, modes and other Valispace features.
Margin propagation
Margin propagation between Valis that are using other Valis is done using the absolute worst-case propagation approach.
Absolute worst case propagation
The absolute worst-case propagation evaluates the formula with the worst-case values of all the Valis it uses and adds the margin of the Vali itself. For negative operations in the formula, such as subtraction and division, the worst negative value is used to achieve the absolute worst case. If the same Vali is used multiple times in the same formula, the different cases are evaluated and compared to avoid overly extreme calculations (e.g. using worst-case plus in the numerator and worst-case minus in the denominator).
As an example we can consider a simple substraction between two Valis as exemplified in the following Table:
Vali name | Formula | Value | Margin plus | Margin minus | Total Margin plus | Total Margin minus | Worst case plus | Worst case minus |
---|---|---|---|---|---|---|---|---|
a | 10 | 10 | 10% | 10% | 10% | -10% | 11 | 9 |
b | 5 | 5 | 20% | 0% | 20% | 0% | 6 | 5 |
c | a - b | 5 | 10% | 10% | 32% | -46% | (11 - 5) * 1.1 = 6.6 | (9 - 6) * 0.9 = 2.7 |
Note that the only margins you have control over are the Margin Plus and the Margin Minus. The rest is calculated by Valispace. Margins can be inserted either in the table view or on the info panel of a selected Vali. See also Figure Margins for Valis for a view in Valispace.