void bdd_reorder ( int  method  ) 

Start dynamic reordering.

This function initiates dynamic reordering using the heuristic defined by method, which may be one of the following:

  • BDD_REORDER_WIN2
    Reordering using a sliding window of size 2. This algorithm swaps two adjacent variable blocks and if this results in more nodes then the two blocks are swapped back again. Otherwise the result is kept in the variable order. This is then repeated for all variable blocks.
  • BDD_REORDER_WIN2ITE
    The same as above but the process is repeated until no further progress is done. Usually a fast and efficient method.
  • BDD_REORDER_WIN3
    The same as above but with a window size of 3.
  • BDD_REORDER_WIN2ITE
    The same as above but with a window size of 3.
  • BDD_REORDER_SIFT
    Reordering where each block is moved through all possible positions. The best of these is then used as the new position. Potentially a very slow but good method.
  • BDD_REORDER_SIFTITE
    The same as above but the process is repeated until no further progress is done. Can be extremely slow.
  • BDD_REORDER_RANDOM
    Mostly used for debugging purpose, but may be usefull for others. Selects a random position for each variable.

See also:
bdd_autoreorder, bdd_reorder_verbose, bdd_addvarblock, bdd_clrvarblocks


Generated on Mon Jul 23 13:25:17 2007 for BuDDy by  doxygen 1.5.1