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
Quintiq file version 2.0
#parent: #root
Method RestoreSetCPLEXBoundFlags (
  CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm program,
  const RunContextForCapacityPlanning runcontext
)
{
  TextBody:
  [*
    if ( runcontext.IsMetaIteration() ) 
    {
      traverse( this, MacroPlan.StrategyMacroPlan.StrategyLevelMacroPlan, level ) 
      {
        setvaluereal := guard( program.RetrieveReal( 'collect_values_model_SetCPLEXBoundFromPlan' + [String] level.Level() ), 0.0 ); 
        setbound := ifexpr(  setvaluereal > 0.5, true, false ); 
        assert( level.IsLevelSkippedByMetaOptimizer( this.GetRunContextMeta() ) = setbound, ' expecting matching values for fixing KPI bounds' ); 
        bound := guard( program.RetrieveReal( 'collect_values_model_TotalBoundFromPlan' ), 0.0 ); 
        level.TotalBoundFromPlan( bound );                     
      }
    }
  *]
  InterfaceProperties { Accessibility: 'Module' }
}