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
Quintiq file version 2.0
#parent: #root
StaticMethod GetBigMProcessMinQty (
  const Operation operation,
  const UnitPeriod up,
  Real lowerbound,
  Real qtypto
) const as Real
{
  Description: 'compute bim for process min qty constraint'
  TextBody:
  [*
    param := 1; // allow up to param * max capacity per op, or actual usage if that is bigger
    maxcapacity := up.GetMaxQuantityForBIGM( operation, param ); // either available hours or quantity
    
    capusageperqty := operation.GetCapacityUsagePerQuantity( up );
    lwrval := lowerbound * capusageperqty
    
    usageforop := qtypto * capusageperqty; 
    
    bigM := Util::Ceil( maxvalue(  lwrval, maxcapacity, usageforop ) ); 
    
    return bigM;
  *]
  InterfaceProperties { Accessibility: 'Module' }
}