| Quintiq file version 2.0 | 
| #parent: #root | 
| Method CreateAllComponents () as owning LibOpt_Runs | 
| { | 
|   TextBody: | 
|   [* | 
|     original := this.Run( relget ); | 
|      | 
|     // Iterator | 
|     it := this.IteratorUntil( this.CreateRun(), 'Iterator1' ); | 
|     it.SetMaxLocalDuration( Duration::Seconds( 1 ) ); | 
|     it := this.IteratorUntil( this.CreateRun(), 'Iterator2' ); | 
|     it.SetMaxIterations( 10 ); | 
|     it := this.IteratorUntil( this.CreateRun(), 'Iterator3' ); | 
|     it.SetMaxIterations( 10 ); | 
|     it.SetMaxLocalDuration( Duration::Seconds( 1 ) ); | 
|     this.IteratorForEachLink( this.CreateRun(), 'IteratorForeach' ); | 
|      | 
|     // Switches | 
|     this.SwitchPriority( this.CreateRun(), 'SwitchPriority' ); | 
|     this.SwitchProbability( this.CreateRun(), 'SwitchProbability' ); | 
|     this.SwitchRoundRobin( this.CreateRun(), 'SwitchRoundRobin' ); | 
|      | 
|     // Selectors | 
|     neighborhood := construct( LibOpt_NeighborhoodCreatorTest ); | 
|     this.SelectorAnchor( this.CreateRun(), 'SelectorAnchor', this.AnchorSetAll(), this.AnchorPickerRandom(), & neighborhood ); | 
|      | 
|     // Suboptimizers | 
|     run := this.CreateRun(); | 
|     runcontextforutf := LibOpt_MyRunContextForUTF::Create( run ); | 
|     this.MPSuboptimizer( run, 'MP', runcontextforutf ); | 
|      | 
|     run := this.CreateRun(); | 
|     runcontextforutf := LibOpt_MyRunContextForUTF::Create( run ); | 
|     this.POASuboptimizer( run, 'POA', runcontextforutf ); | 
|      | 
|     return this.Run( relget ).Difference( original ); | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |