陈清红
2025-04-14 880f3c0257eeb8c37761d484258fdd102a369a19
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Quintiq file version 2.0
#parent: #root
StaticMethod Update (
  StrategyLevels strategylevels,
  Boolean isbatchedittimelimit,
  Number timelimit,
  Boolean isbatcheditgap,
  Boolean useabsolutegap,
  Real absolutegap,
  Real relativegap,
  Boolean isbatcheditrelativegoalslack,
  Real relativegoalslack,
  Boolean isbatcheditsolversettinggroup,
  String groupname,
  Boolean isbatchedithierarchicalsettings,
  Boolean usehierarchicalabstol,
  Boolean usehierarchicalreltol,
  Real hierarchicalabstol,
  Real hierarchicalreltol
)
{
  Description: 'Batch edit update method'
  TextBody:
  [*
    // Batch edit update method
    // Traverse the set of strategy levels
    traverse( strategylevels, Elements, strategylevel )
    {
      // Get back the strategy level's value if the batch edit check boxes are not checked, instead of from UI.
      if( not isbatchedittimelimit )
      {
        timelimit := strategylevel.TimeLimit();
      }
    
      if( not isbatcheditgap )
      {
        absolutegap := strategylevel.AbsoluteGap();
        useabsolutegap := strategylevel.UseAbsoluteGap();
        relativegap := strategylevel.RelativeGap();
      }
    
      if( not isbatcheditsolversettinggroup )
      {
        groupname := strategylevel.SolverSettingGroupName();
      }
    
      if( not isbatcheditrelativegoalslack )
      {
        relativegoalslack := strategylevel.RelativeGoalSlack();
      }
      
      if ( not isbatchedithierarchicalsettings ) 
      {
        usehierarchicalabstol := strategylevel.UseHierarchicalSolverAbsTolerance(); 
        usehierarchicalreltol := strategylevel.UseHierarchicalSolverRelTolerance(); 
        hierarchicalabstol := strategylevel.HierarchicalSolverAbsTolerance(); 
        hierarchicalreltol := strategylevel.HierarchicalSolverRelTolerance(); 
      }
    
      // Update strategy level
      strategylevel.Update( timelimit,
                            useabsolutegap,
                            absolutegap,
                            relativegap,
                            relativegoalslack,
                            groupname, 
                            usehierarchicalabstol, 
                            usehierarchicalreltol, 
                            hierarchicalabstol, 
                            hierarchicalreltol );
    
                                                    
    }
  *]
}