| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 | | Quintiq file version 2.0 |  | #parent: #root |  | Method GetSuggestedScalingFactor ( |  |   Real factor |  | ) declarative as Real |  | { |  |   Description: 'Calculate the suggested scaling factor for test instance' |  |   TextBody: |  |   [* |  |     // soh yee Mar-17-2015 (grouped existing logic) |  |      |  |     upperbound := 1e7; |  |      |  |     // Get the larget MaxVariableValue |  |     maxvarvalue := max( this, AlgorithmRunLevel, level, abs( level.MaxVariableValue() ) ) |  |      |  |     if( maxvarvalue > upperbound ) |  |     { |  |       maxvariablevaluefactor := maxvarvalue / factor; |  |       adjustmentneed := maxvalue( maxvariablevaluefactor / upperbound, 1 );       // Scale the value |  |      |  |       factor := AlgorithmRun::GetClosestNumberInPower( adjustmentneed, 10 );      // Make it stays as power of 10. e.g: 1, 10, 100, 1000 |  |     } |  |      |  |     return factor; |  |   *] |  | } | 
 |