| 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' } | 
| } |