Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod Create ( 
 | 
  Number focuslevel, 
 | 
  Boolean ispriorlevelsfixed, 
 | 
  Boolean isupdatescaling, 
 | 
  Boolean runpastfocuslevel, 
 | 
  LibOpt_Run run, 
 | 
  String name, 
 | 
  Boolean applyusersupplycorrection_carriedfwdinventory, 
 | 
  Boolean keeptotalavailablesupplyoverride, 
 | 
  Boolean useperiodtaskoperations, 
 | 
  Boolean isonlyplandemandsmartplanpispips, 
 | 
  Boolean isextraptqtylevel, 
 | 
  Boolean extraptqtylevel_doinventorybased, 
 | 
  Real extraptrylevel_goalslack, 
 | 
  Boolean applynoisethreshold, 
 | 
  Boolean usehierchicalcplexgoals, 
 | 
  Real smallestinttolerance, 
 | 
  Real smallestfeastolerance, 
 | 
  Boolean isfullplanformeta, 
 | 
  Boolean collapselevel, 
 | 
  Real collapselevelweight 
 | 
) as CapacityPlanningSuboptimizer 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    capplansubopt := run.Component( relnew, CapacityPlanningSuboptimizer,  
 | 
                                    Name := name,  
 | 
                                    FocusLevel := focuslevel,  
 | 
                                    IsPriorLevelsFixed := ispriorlevelsfixed,  
 | 
                                    IsAutoScalingEnabled := isupdatescaling,  
 | 
                                    RunPastFocusLevel := runpastfocuslevel,  
 | 
                                    Setting_Applyusersupplycorrection_CarriedFWDInventory := applyusersupplycorrection_carriedfwdinventory,  
 | 
                                    Setting_KeepTotAlavailableSupplyOverride := keeptotalavailablesupplyoverride,  
 | 
                                    GetPeriodsFromPeriodTaskOperation := useperiodtaskoperations,  
 | 
                                    IsOnlyPlanDemandForSmartPlanPISPIPs := isonlyplandemandsmartplanpispips,  
 | 
                                    IsExecutePTQtyLevelAfterFocusLevel := isextraptqtylevel,  
 | 
                                    IsExecutePTQtyDoInventoryBased := extraptqtylevel_doinventorybased,  
 | 
                                    IsExecutePTQTYRelativeGoalSlack := extraptrylevel_goalslack, 
 | 
                                    ApplyNoiseThreshold := applynoisethreshold,  
 | 
                                    UseHierarchicalCPLEXGoals := usehierchicalcplexgoals,  
 | 
                                    SmallestIntegralityTolerance :=  smallestinttolerance,  
 | 
                                    SmallestFeasibilityTolerance := smallestfeastolerance, 
 | 
                                    IsFullPlanMetaPriorFocus := isfullplanformeta,  
 | 
                                    OptionCollapseLevel := collapselevel, 
 | 
                                    OptionCollapseLevelWeight := collapselevelweight 
 | 
                                   );  
 | 
     
 | 
     
 | 
    mp := run.StartComponent().Optimization().astype(  Optimization ).MacroPlan();  
 | 
    capplansubopt.MacroPlan( relset, mp );  
 | 
     
 | 
    capplansubopt.IsLPFileExported( mp.Optimization().IsLPFileExported() );  
 | 
    capplansubopt.ThreadAParameter( 333 );  
 | 
    capplansubopt.ThreadBParameter( 667 );  
 | 
    capplansubopt.InitTimeThreadA( 0.0 );  
 | 
    capplansubopt.InitTimeThreadB( 0.0 ); 
 | 
    capplansubopt.InitTimeThreadC( 0.0 );   
 | 
     
 | 
    return capplansubopt; 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |