haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
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
Quintiq file version 2.0
#parent: #root
Method SetInitialCPLEXParameters (
  MathematicalProgram program,
  const RunContextForCapacityPlanning runcontext
) const
{
  TextBody:
  [*
    // in this method we do a couple of cplex settings that make the optimizer run better or ensure defaults. 
    // But a user can override, by specifying different settings in strategy solver setting
    
    // settings shared among single level and multi-level cplex (as global param): 
    program.ResetParameters(); 
    program.AddRealParameter( 2008, 1e-6 ); // default value. We set this to make sure they are not set to 0 (hierarchical cplex). For specific levels they are set as in strategy. 
    program.AddRealParameter( 2009, 1e-4 ); // default value
    
    if ( runcontext.IsMetaIteration() ) 
    {
      program.AddNumberParameter( 1001, 2 ); // use switch 2 for advanced start for meta iterations ( unless explicitly set to different value on strategy solver setting)
    }
    if ( this.UseHierarchicalCPLEXGoals() ) 
    {
      program.AddNumberParameter( 1600, 2 ); // verbose output logging to MPAlgorithm.log for each level 
    }
  *]
  InterfaceProperties { Accessibility: 'Module' }
}