haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
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
Quintiq file version 2.0
#parent: #root
Method Continue (
  GraphProgram program
) as Boolean
{
  Description: 'Determine if graph algorithm should be rerun'
  TextBody:
  [*
    // Check if all edges in the graph have been utilized or not
    // Continue if not, or if we still are allowed to create new trees
    
    graph := program.Graph( MEIO_Treeify::GetGraphName(this.MEIO_Engine().Product_MP().Name()), this );
    utilized := program.EdgeValueSet( MEIO_Treeify::GetEdgeValueSetUtilized() );
    
    all_utilized := forall( graph,
                            Edges,
                            e,
                            utilized.Get( e ) = 1.0 );
    
    value := not all_utilized
             and this.MEIO_Engine().CurrentRun() < this.MEIO_Engine().MaxNrOfTrees();
    
    return value;
  *]
}