| Quintiq file version 2.0 | 
| #parent: #root | 
| Method Modify ( | 
|   GraphProgram program | 
| ) | 
| { | 
|   TextBody: | 
|   [* | 
|     // Create new Shortest Path algorithm after edge value set "weights" have been updated | 
|      | 
|     debuginfo( 'EXECUTE GRAPH ALGORITHM', | 
|                'Graph:', MEIO_Treeify::GetGraphName(this.MEIO_Engine().Product_MP().Name()) ); | 
|      | 
|     graph := program.Graph( MEIO_Treeify::GetGraphName(this.MEIO_Engine().Product_MP().Name()), this ); | 
|      | 
|     program.RemoveAllAlgorithms(); | 
|      | 
|     weights := program.EdgeValueSet( MEIO_Treeify::GetEdgeValueSetWeights() ); | 
|     root := select( graph, Nodes, node, node.Name() = MEIO_Treeify::GetArtificialRootName() ); | 
|     sp := program.NewShortestPathAlgorithm( MEIO_Treeify::GetShortestPathName(), graph, weights ); | 
|      | 
|     // Add configurations from all non-root nodes to root node | 
|     traverse( graph, Nodes, node, root <> node ) | 
|     { | 
|       sp.AddConfiguration( root, node, 1 ); | 
|     } | 
|   *] | 
| } |