Skip to content

#1159 CIF/BDD: Added BDD variable indices to the variable ordering debug output

Added the BDD variable indices as extra column to the variable ordering debug output. To see the difference in debug output I have included a before and after below.

Before:

    CIF variables and location pointers:
        Nr     Kind               Type       Name              Group  BDD vars  CIF values  BDD values  Values used
        -----  -----------------  ---------  ----------------  -----  --------  ----------  ----------  -----------
        1      location pointer   n/a        INOUT             0      2 * 2     3 * 2       4 * 2       75%
        2      discrete variable  int[0..4]  INOUT.nextId      1      3 * 2     5 * 2       8 * 2       ~63%
        3      discrete variable  int[0..4]  INOUT.curId       2      3 * 2     5 * 2       8 * 2       ~63%
        4      discrete variable  int[0..4]  INOUT.lastExitId  3      3 * 2     5 * 2       8 * 2       ~63%
        5      discrete variable  int[0..5]  INOUT.cnt         4      3 * 2     6 * 2       8 * 2       75%
        6      location pointer   n/a        DISP              5      1 * 2     2 * 2       2 * 2       100%
        7      discrete variable  int[0..4]  DISP.curId        6      3 * 2     5 * 2       8 * 2       ~63%
        8      location pointer   n/a        OP1               7      1 * 2     2 * 2       2 * 2       100%
        9      discrete variable  int[0..4]  OP1.curId         8      3 * 2     5 * 2       8 * 2       ~63%
        10     location pointer   n/a        OP2               9      1 * 2     2 * 2       2 * 2       100%
        11     discrete variable  int[0..4]  OP2.curId         10     3 * 2     5 * 2       8 * 2       ~63%
        12     location pointer   n/a        CHK               11     2 * 2     4 * 2       4 * 2       100%
        13     discrete variable  int[0..4]  CHK.curId         12     3 * 2     5 * 2       8 * 2       ~63%
        14     location pointer   n/a        DONE              13     1 * 2     2 * 2       2 * 2       100%
        15     discrete variable  int[0..4]  DONE.curId        14     3 * 2     5 * 2       8 * 2       ~63%
        -----  -----------------  ---------  ----------------  -----  --------  ----------  ----------  -----------
        Total                                                  15     70        122         176         ~69%

After:

CIF variables and location pointers:
        Nr     Kind               Type       Name              Group  BDD vars  CIF values  BDD values  Values used  BDD variable indices
        -----  -----------------  ---------  ----------------  -----  --------  ----------  ----------  -----------  --------------------
        1      location pointer   n/a        INOUT             0      2 * 2     3 * 2       4 * 2       75%          0..3
        2      discrete variable  int[0..4]  INOUT.nextId      1      3 * 2     5 * 2       8 * 2       ~63%         4..9
        3      discrete variable  int[0..4]  INOUT.curId       2      3 * 2     5 * 2       8 * 2       ~63%         10..15
        4      discrete variable  int[0..4]  INOUT.lastExitId  3      3 * 2     5 * 2       8 * 2       ~63%         16..21
        5      discrete variable  int[0..5]  INOUT.cnt         4      3 * 2     6 * 2       8 * 2       75%          22..27
        6      location pointer   n/a        DISP              5      1 * 2     2 * 2       2 * 2       100%         28..29
        7      discrete variable  int[0..4]  DISP.curId        6      3 * 2     5 * 2       8 * 2       ~63%         30..35
        8      location pointer   n/a        OP1               7      1 * 2     2 * 2       2 * 2       100%         36..37
        9      discrete variable  int[0..4]  OP1.curId         8      3 * 2     5 * 2       8 * 2       ~63%         38..43
        10     location pointer   n/a        OP2               9      1 * 2     2 * 2       2 * 2       100%         44..45
        11     discrete variable  int[0..4]  OP2.curId         10     3 * 2     5 * 2       8 * 2       ~63%         46..51
        12     location pointer   n/a        CHK               11     2 * 2     4 * 2       4 * 2       100%         52..55
        13     discrete variable  int[0..4]  CHK.curId         12     3 * 2     5 * 2       8 * 2       ~63%         56..61
        14     location pointer   n/a        DONE              13     1 * 2     2 * 2       2 * 2       100%         62..63
        15     discrete variable  int[0..4]  DONE.curId        14     3 * 2     5 * 2       8 * 2       ~63%         64..69
        -----  -----------------  ---------  ----------------  -----  --------  ----------  ----------  -----------  --------------------
        Total                                                  15     70        122         176         ~69%         0..69

Addresses #1159 (closed)

Edited by Dennis Hendriks

Merge request reports

Loading