| Quintiq file version 2.0 | 
| #parent: #root | 
| MethodOverride UpdateRHSForPeriodTasksNotInScope ( | 
|   MPConstraint minconst, | 
|   MPConstraint maxconst, | 
|   const RunContextForCapacityPlanning runcontext, | 
|   const LibOpt_Scope scope, | 
|   const CapacityPlanningSuboptimizer subopt, | 
|   Real scalefactor_rhs_minconst, | 
|   Real scalefactor_rhs_maxconst | 
| ) const | 
| { | 
|   TextBody: | 
|   [* | 
|     //Update the RHS based on the trips outside the optimizer horizon | 
|     traverse( this, PeriodTask_MP.astype( PeriodTaskLaneLeg ), ptll ) | 
|     { | 
|       traverse( ptll, Trip.ProductInTrip, pit, | 
|                 not scope.Contains(  pit.ProductInTripInOptimizerRun() ) | 
|                 and ( pit.HasRegularProductForOptimizer() or pit.Product_MP().GetIsInOptimizerRun( runcontext.IsPostProcessing() ) ) ) | 
|       { | 
|         // The quantity of this product in trip that is outside the horizon | 
|         fixedquantity := pit.QuantityInProcessUOM(); | 
|         newrhsminconst := subopt.GetConstraintRHS( minconst, scalefactor_rhs_minconst ) - fixedquantity; | 
|         minconst.RHSValue( newrhsminconst * scalefactor_rhs_minconst ); | 
|        | 
|         newrhsmaxconst := subopt.GetConstraintRHS( maxconst, scalefactor_rhs_maxconst ) - fixedquantity; | 
|         maxconst.RHSValue( newrhsmaxconst * scalefactor_rhs_minconst ); | 
|       } | 
|     } | 
|      | 
|     traverse( this, ChildOfUnitDimension, childunitperiod ) | 
|     { | 
|       childunitperiod.UpdateRHSForPeriodTasksNotInScope( minconst, maxconst, runcontext, scope, subopt, scalefactor_rhs_minconst, scalefactor_rhs_maxconst ); | 
|     } | 
|   *] | 
| } |