chenqinghong
2024-05-07 3ec06a830367465068963156dcc1d8e522571c13
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
Quintiq file version 2.0
#parent: #root
Method SynchronizeAllConstraintScaleType #extension
{
  TextBody:
  [*
    type := ScaleTypeMP::GetStringConstraintType();
    
    this.SynchronizeScale( typeof( MPFulfillmentTargetFromSDQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPDemandFulfillmentInPISPIPConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPBalanceConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPPositiveInventoryConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPDefinePosInvPastLastConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPCarriedForwardInventoryConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMetaLimitMaxInventoryPastHorizonConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPLowerBoundLastPeriodInventoryConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );    
    this.SynchronizeScale( typeof( MPOperationDependentDemandQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPOperationInputLotSizeOverConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPOperationInputLotSizeUnderConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTargetInventoryLevelConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPDependentDemandInPISPIPConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTripDependentDemandQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPCampaignPeriodCapacityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTransitionPeriodCapacityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPCapacitySmoothingConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPTotalCapacitySmoothingSlackConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPCapacityUsageConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPLinkedSalesDemandConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaxCampaignQuantityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaxInventoryLevelConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaxProcessQuantityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaxSupplyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaxUnitCapacityQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaxUnitSecondaryCapacityQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaxUsageUnitCapacityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMinCampaignQuantityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMinInventoryLevelConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMinSupplyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMinUnitCapacityQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMinUsageUnitCapacityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMinUnitSecondaryCapacityQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMinUsageUnitCapacityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPPartialOperationDependentDemandQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPPTLotSizeUnderConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPPTLotSizeOverConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPPTQtyCampaignsTotalConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPRelativeDurationConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPOperationDependentDemandPeriodQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPOperationInputGroupDependentDemandQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPOperationInputGroupLowerBoundConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPOperationInputGroupUpperBoundConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPOperationInputSetLowerBoundConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPOperationInputSetUpperBoundConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPServiceLevelFromSDQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPServiceLevelFromTargetConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPSPInPeriodInventoryLevelConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPSPInPeriodOverloadConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPSPInPeriodOverloadMetaConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPSPRestrictedCapacityForOutOfScopeConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPSupplyTargetConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalBlendingConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalCampaignConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalCampaignTransitionOutputConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalFulfillmentConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalLotSizeConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalMaximumInventoryLevelConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalMinimumInventoryLevelConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalMaximumSupplyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalMinimumSupplyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalMinUnitCapacityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalMinUnitSecondaryCapacityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalPostponementPenaltyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalProcessMaximumQuantityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalSalesDemandPriorityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalFulfillmentTargetConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalServiceLevelConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalSlackConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalSlackUserSupplyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalStockingPointCapacityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalStockingPointCapacityMetaConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalSupplyTargetConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalTargetInvLevelConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalUnitCapacityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalUnitSecondaryCapacityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTripLotSizeUnderConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTripLotSizeOverConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPUserTotalSupplyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPLinkedAggregatedSalesDemandConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPSumOfDisaggregatedSalesDemandConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaxUnitCapacityTimeConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPMinUnitCapacityTimeConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPBlendingRecipeIngredientMaxConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );        
    this.SynchronizeScale( typeof( MPBlendingRecipeIngredientMinConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );        
    this.SynchronizeScale( typeof( MPFreezeGoalLevelConstraint ).ShortName(),Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPGoalConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );    
    this.SynchronizeScale( typeof( MPGoalLevelBoundForMetaConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );    
    this.SynchronizeScale( typeof( MPUpperBoundForTotalLotSizeMetaConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );    
    this.SynchronizeScale( typeof( MPUpperBoundForTotalSPIPCapacityMetaConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );  
    this.SynchronizeScale( typeof( MPUpperBoundForTotalBlendingMetaConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );      
    this.SynchronizeScale( typeof( MPProcessMinQtyEnforceQuantityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );   
    this.SynchronizeScale( typeof( MPProcessMinQtyBIGMQuantityConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );    
    this.SynchronizeScale( typeof( MPProcessMinQtyBIGMTimeConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );    
      
    this.SynchronizeScale( typeof( MPDifferenceInDemandDaysConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );        
    this.SynchronizeScale( typeof( MPMaxInvInDemandDaysConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );         
    this.SynchronizeScale( typeof( MPMinInvInDemandDaysConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );         
    this.SynchronizeScale( typeof( MPOverallDifferenceInDemandDaysConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );    
    this.SynchronizeScale( typeof( MPOverallMaxInvInDemandDaysConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );        
    this.SynchronizeScale( typeof( MPOverallMinInvInDemandDaysConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );        
    this.SynchronizeScale( typeof( MPTotalInventoryMixBalancingConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPUnitPeriodNrOfToolChangeConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    
    this.SynchronizeScale( typeof( MPOneShiftPatternPerUnitPeriodConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPFirstPeriodStartOfPlanningConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPFirstPeriodShiftOnUnitConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPFirstPeriodShiftNotUsedConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPFirstPeriodShiftAlreadyUsedConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type ); 
    this.SynchronizeScale( typeof( MPMinShiftPatternDurationConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPTotalShiftPatternChangesConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type ); 
    this.SynchronizeScale( typeof( MPTotalShiftPatternChangesPenaltyConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    
    this.SynchronizeScale( typeof( MPUnitPeriodToolIsUsedConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type ); 
    
    this.SynchronizeScale( typeof( MPDriverSalesConstraint ).ShortName(), Optimization::ScalingTypeNameMonetary(), type );   
    this.SynchronizeScale( typeof( MPDriverVolumeConstraint ).ShortName(), Optimization::ScalingTypeNameMonetary(), type );  
    this.SynchronizeScale( typeof( MPDriverOneTimeConstraint ).ShortName(), Optimization::ScalingTypeNameMonetary(), type );  
    this.SynchronizeScale( typeof( MPDriverLotConstraint ).ShortName(), Optimization::ScalingTypeNameMonetary(), type );  
    this.SynchronizeScale( typeof( MPDriverTimeConstraint ).ShortName(), Optimization::ScalingTypeNameTimeAccount(), type );
    this.SynchronizeScale( typeof( MPDriverInventoryHoldingConstraint ).ShortName(), Optimization::ScalingTypeNameInventoryHolding(), type );
    this.SynchronizeScale( typeof( MPDriverInventory_HoldingConstraint ).ShortName(), Optimization::ScalingTypeNameInventoryHolding(), type );
    this.SynchronizeScale( typeof( MPDriverInventoryValueConstraint ).ShortName(), Optimization::ScalingTypeNameInventoryHolding(), type );
    this.SynchronizeScale( typeof( MPDriverChangeoverConstraint ).ShortName(), Optimization::ScalingTypeNameMonetary(), type );
    this.SynchronizeScale( typeof( MPDriverStaffingConstraint ).ShortName(), Optimization::ScalingTypeNameMonetary(), type );
    
    this.SynchronizeScale( typeof( MPBalanceShelfLifeConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPCumulativeProductionConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPCumulativeDemandConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPCumulativeWasteConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPCumulativeWasteUpperBoundByProductionConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPDelayedDisaggregatedSalesDemandQtyShelfLifeSumConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPDelayedSalesDemandQtyShelfLifeSumConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPDemandSlackShelfLifeSumConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPDependentDemandInPISPIPShelfLifeConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPDependentDemandInPISPIPShelfLifeSumConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPDisAggregatedSalesDemandQtyShelfLifeSumConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPExpiredForAgeConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPExpiredConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPInvQtyShelfLifeSumConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPInventoryQtyBlockedConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPWasteConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPInvQtyShelfLifeSumConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPInventoryQtyBlockedLowerBoundConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    
    this.SynchronizeScale( typeof( MPTotalExpiredQtyConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPPISPTotalExpiryConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    
    this.SynchronizeScale( typeof( MPNewSupplyMaturedConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPCumulativeDemandMaturationConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPSalesDemandQtyShelfLifeSumConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPBalanceMaturationConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaturationSlackConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    
    //Campaign related scale factors
    this.SynchronizeScale( typeof( MPDurationOfCampaignElementTypeStartConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPDurationOfCampaignElementTypeMidConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPDurationOfCampaignElementTypeEndConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPDurationOfCampaignElementTypeMidUnitPeriodConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPDurationOfCampaignUnitSubPeriodConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPNrOfCampaignElementsWithinUnitSubPeriodConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPIsFirstCampaignElementTypeConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPIsMultiPeriodsFirstCampaignElementTypeFirstPeriodConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPIsLastCampaignElementTypeConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPCompatibleWithPrevOptCampaignUnitSubPeriodLastElementConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPMaxCampaignElementTypeQtyWithinConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaxCampaignElementTypeQtyWithinLastConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaxCampaignElementTypeQtyMultiPeriodsConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMaxCampaignElementTypeDurationWithinConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPMaxCampaignElementTypeDurationMultiPeriodConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPMinCampaignElementTypeQtyWithinConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMinCampaignElementTypeQtyMultiPeriodsConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPMinCampaignElementTypeDurationWithinConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPMinCampaignElementTypeDurationMultiPeriodConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPCalcElementTypePeriodOverloadedStartConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPCalcElementTypePeriodOverloadedMidConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPCalcElementTypePeriodOverloadedEndConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPCalcElementTypePeriodUnderloadedStartConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPCalcElementTypePeriodUnderloadedMidConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPCalcElementTypePeriodUnderloadedEndConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPOneCampaignCombiPerOptSubUnitPeriodConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPCalcDurationOfElementTypeStartConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPCalcDurationOfElementTypeMidConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPCalcDurationOfElementTypeEndConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPCalcDurationOfOptCampaignUnitSubPeriodConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPCalcTotalUnitPeriodCampaignUtilizationSlackConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPTotalCampaignSequencingCombiSlackConstraint ).ShortName(), Optimization::ScalingTypeNameNone(), type );
    this.SynchronizeScale( typeof( MPTotalCampaignMaxQtyOverConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalCampaignMinQtyUnderConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPTotalCampaignMinDurUnderConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    this.SynchronizeScale( typeof( MPTotalCampaignMaxDurOverConstraint ).ShortName(), Optimization::ScalingTypeNameTime(), type );
    
    this.SynchronizeScale( typeof( MPTotalCO2EmissionConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    
    this.SynchronizeScale( typeof( MPBoundMinInventoryViolationPriorToHorizonConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
    this.SynchronizeScale( typeof( MPBoundMaxInventoryViolationPriorToHorizonConstraint ).ShortName(), Optimization::ScalingTypeNameMass(), type );
  *]
}