Quintiq file version 2.0
|
#parent: #root
|
Method InitConstraintsForShiftPatternOnePerPeriod (
|
CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm program,
|
const UnitPeriod up,
|
Real scalefactor_spisused_const,
|
Real scalefactor_rhs_const
|
) const
|
{
|
Description: 'Checks that each unit period has exactly one shift pattern planned.'
|
TextBody:
|
[*
|
constname := typeof( MPOneShiftPatternPerUnitPeriodConstraint );
|
|
scalefactor_spisused_const := this.ScaleConstraintTerm( typeof( MPShiftPatternIsUsedVariable ), constname );
|
|
scalefactor_rhs_const := this.ScaleConstraintRHS( constname, 1.0 );
|
|
// Constraint: one shift pattern per unit period
|
onespconstr := program.OneShiftPatternPerUnitPeriodConstraints().New( up );
|
onespconstr.Sense( "=" );
|
onespconstr.RHSValue( 1.0 * scalefactor_rhs_const );
|
|
traverse( up, Unit.UnitShiftPatternAllowed.ShiftPattern, sp )
|
{
|
onespconstr.NewTerm( 1.0 * scalefactor_spisused_const, program.ShiftPatternIsUsedVariables().Get( sp, up ) );
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|