Quintiq file version 2.0
|
#parent: #root
|
Method SetMaxNrOfTrees (
|
GraphProgram program
|
)
|
{
|
Description: 'Calculate maximum number of trees allowed or needed for a graph program'
|
TextBody:
|
[*
|
upperbound := 1.0
|
graph := program.Graph( MEIO_Treeify::GetGraphName(this.MEIO_Engine().Product_MP().Name()), this );
|
|
// Calculate upperbound of number of tries by the product of ( # parents of each node )
|
traverse( graph, Nodes, n )
|
{
|
upperbound := upperbound * maxvalue( 1.0, n.Input( relsize ) );
|
}
|
|
// Take min value of theoretical upperbound and parameter value
|
cap := minvalue( upperbound,
|
this.MEIO_Parameters().MaxNrOfTreesPerGraph() );
|
|
this.MEIO_Engine().MaxNrOfTrees( [Number]cap );
|
*]
|
}
|