陈清红
2025-04-14 880f3c0257eeb8c37761d484258fdd102a369a19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Quintiq file version 2.0
#parent: #root
Method DoInitializeReactive (const LibOpt_Task task, Algorithm program) const as stream[Object]
{
  Description:
  [*
    Call the `InitializeReactive` method on your suboptimizer. The `InitializeReactive` method should any stream.
    This method (`DoInitializeReactive`) should not call the `InitializeReactive` reactively, but allow the user to create their reactive calls in `InitializeReactive`.
    
    To be overridden in the "LibOpt" library, when creating a new base suboptimizer type for a new solver type.
  *]
  IsAbstract: true
  TextBody:
  [*
    // To be overridden.
    // - Ideally, you would introduce an `IntializeReactive` method on the subclass of the suboptimizer, 
    //   which requires an algorithm of the correct type as input argument. 
    // - For example, for the `LibOpt_SuboptimizerMP` type, the `IntializeReactive` method has a `MathematicalProgram` as input argument.
    
    return stream[Object]::Success();
  *]
  InterfaceProperties { Accessibility: 'Module' }
}