lazhen
2025-01-07 b3987122cbbc46c5c59d3173f37fca3170b6dc5a
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
Quintiq file version 2.0
#parent: #root
Method CapacityPlanningAlgorithmInitConstraints_ParallelTypeB (
  CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm program,
  const constcontent ProductInStockingPointInPeriodPlannings pispipssmartplan,
  const LibOpt_Task task,
  const constcontent ProductInStockingPointInPeriodPlannings pispipsinrun,
  const constcontent ProductInStockingPointInPeriodPlanningLeafs leafpispipsinrun,
  const constcontent ProductInStockingPoint_MPs pispsinrun,
  const constcontent ProductInTrips pitinrun
) const
{
  TextBody:
  [*
    start := OS::PrecisionCounter(); 
    runcontext := this.GetRunContextConst(); 
    rcm := this.GetRunContextMeta(); 
    
    thread := 1; 
    this.InitConstraintsForOperationDependentDemands( program, runcontext, task.Scope(), thread );
    // type C this.InitConstraintsForUnitPeriods( program, runcontext, task.Scope() );
    this.InitConstraintsForStockingPointInPeriods( program, runcontext, rcm, task.Scope(), leafpispipsinrun );
    this.InitConstraintsForPISPIPs_TYPEB( program, pispipssmartplan, runcontext, task.Scope(), leafpispipsinrun, pispipsinrun, pispsinrun, pitinrun );
    this.InitConstraintsForGoals_TypeB( program, runcontext, task.Scope(), pispsinrun ); 
    
    this.FilterCPLEXNoiseInitialization( program, runcontext );
    
    end := OS::PrecisionCounter(); 
    durationtypeb := (end-start) / OS::PrecisionCounterFrequency(); 
    program.StoreReal( 'type_B_constraints', durationtypeb );
  *]
  InterfaceProperties { Accessibility: 'Module' }
}