I am attempting to control the derivative increment of some variables during optimization.
But whenever I set the derivative increment in the Variables Data Editor, I find that OSLO overrides it during optimization. How can I force OSLO to use my intended values?
Synopsis
Calculation of the derivative increment during optimization
Solution
OSLO allows users to control the derivative increment in a number of ways during optimization:
- Adaptive: OSLO will calculate the derivative increment to be 0.001*(the current value of the variable)
- Calculation by Type: OSLO will calculate an appropriate derivative increment based on the variable type
- User entered value: OSLO will use the number entered by the user in the Increment cell in the Variable Data Editor.
OSLO changes the way derivative increments are calculated depending on a combination of different inputs. These include:
- Two items in the Optimization Conditions dialog:
- Default derivative increment (0 = adaptive) = value
- Choose derivative increment according to variable type = Off/On
- One parameter in the iterate(ITE) command:
- Recalculate derivative increments = Yes/No
- The user-entered value of the derivative increment in the Variables Data Editor
- The user-entered value in the Increment cell
The logic of how the derivative increments are calculated is outlined in the following table:
Optimization Conditions: |
Optimization Conditions: |
Variable Editor: |
Iterate Parameter: |
Resulting Increment Value |
Notes |
Default Increment |
Choose Increment by Type |
Increment Value |
Recalculate Increments |
* |
* |
>0 |
No |
incr value |
1 |
* |
* |
<0 |
* |
abs(incr value) |
1, 4 |
<>0 |
Off |
>0 |
Yes |
abs(default incr value) |
1 |
<>0 |
On |
>0 |
Yes |
calc by type |
2 |
0 |
* |
>0 |
Yes |
0.001*(variable value) |
3 |
0 |
* |
0 |
* |
0.001*(variable value) |
3 |
* Represents any value |
(1) This results in a static value for the derivative increment throughout the optimization |
(2) This results in the derivative increment being recalculated throughout the optimization. In reality, the derivative increment will not change that much because the dependent parameters (i.e. apertures, ..etc.) are not changing significantly. |
(3) This results in the derivative increment being recalculated based on the current variable value throughout the optimization (adaptive). Note that if a variable starts off as small, the derivative increment will be constrained to be small as well. |
(4) A negative Increment Value in the Variable Editor acts as an override of "Recalculate Increments" |