Quintiq file version 2.0
|
#parent: #root
|
StaticMethod MergeStreams (
|
CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm program,
|
CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm clone1,
|
CapacityPlanningSuboptimizer_CapacityPlanningAlgorithm clone2
|
)
|
{
|
TextBody:
|
[*
|
start := OS::PrecisionCounter();
|
|
program.Merge( clone1, MPMergeStrategy::SkipVariables() );
|
program.Merge( clone2, MPMergeStrategy::SkipVariables() );
|
|
end := OS::PrecisionCounter();
|
durationmerge := (end- start)/OS::PrecisionCounterFrequency();
|
program.StoreReal( 'type_B_constraints', clone1.RetrieveReal( 'type_B_constraints' ) ); // msg to show time needed for constraint init
|
program.StoreReal( 'type_C_constraints', clone2.RetrieveReal( 'type_C_constraints' ) ); // msg to show time needed for constraint init
|
program.StoreString( 'MergeDuration', 'Merge time program = ' + [String] durationmerge );
|
|
// type B constraint init sets the following on the clone - need to copy over
|
valueboundsp := clone1.RetrieveReal( 'collect_values_model_TotalStockingPointCapacityVariables' );
|
program.StoreReal( 'collect_values_model_TotalStockingPointCapacityVariables', valueboundsp );
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|