Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Strange behavior about search phase, need help

    Posted 03/13/12 01:27 AM

    Originally posted by: qtbgo


    Hi, I have a OPL CP model, I use it to solve a problem in the literature. It can solve all instances(about 200 instances) with perfect quality except one instance. For this instance, it even cannot find a feasible solution in 2 hours(and after 2 hours).
    I use the search phase as follows:

    execute {
    var f = cp.factory;
    cp.setSearchPhases( f.searchPhase(vt), f.searchPhase(vb));

    }

    Where vt and vb are arrays of interval variables.

    I check the log, and it shows:

    
    ! ---------------------------------------------------------------------------- ! Minimization problem - 160 variables, 3,163 constraints, 2 phases ! TimeMode             = ElapsedTime ! Initial process time : 0.00s (0.00s extraction + 0.00s propagation) !  . Log search space  : 1,040.1 (before), 1,040.1 (after) !  . Memory usage      : 2.7 MB (before), 3.1 MB (after) ! Using parallel search with 4 workers. ! ---------------------------------------------------------------------------- !          Best Branches  Non-fixed    W       Branch decision 1,000         31    2     on vb(48) 1,001         29    4     on vb(22) 1,001         15 3     on vb(49) 1,002         36    1     on vb(73) 2,001         15    3     on vb(24) 2,000         14    1     on vb(6) 2,001         14    4     on vb(67) 2,000         31    2     on vb(40) 3,000         14    1     on vb(68) 3,001         15    3     on vb(49) 3,001         14    4     on vb(52) 3,000         31    2     on vb(48) 4,000         21    2     on vb(49) 4,000         15    3     on vb(70) 4,001         14    4     on vb(40) 4,001         14    1     on vb(55) 5,000         14    4     on vb(73) 5,002         21    2     on vb(5) 5,001         14    1     on vb(40) 5,001         14    3     on vb(27) !          Best Branches  Non-fixed    W       Branch decision 6,001         14    1     on vb(21) 6,002         14    4     on vb(39) 6,001         21    2     on vb(4) 6,000         14    3     on vb(75) 7,000         14    1     on vt(55) 7,000         21    2     on vt(57) 7,000         14    4     on vt(49) 7,000         14    3     on vt(48) 8,000         14    1     on vb(68) 8,001         21    2     on vb(22) 8,000         14    3     on vb(22) 8,000         14    4     on vb(73) 9,001         14    3     on vb(31) 9,000         21    2     on vb(69) 9,000         14    4     on vb(31) 9,001         14    1     on vb(15) 10,002         14    2     on vb(49) 10,000         14    1     on vb(22) 10,001         14    3     on vb(69) 10,001         14    4     on vb(36) !          Best Branches  Non-fixed    W       Branch decision 11,001         14    4     on vb(40) 11,000         14    2     on vb(9) 11,000         14    1     on vb(69) 11,000         14    3     on vb(29) 12,000         14    3     on vb(80) 12,000         14    2     on vb(73) 12,000         14    4     on vb(55) 12,001         14    1     on vb(40) 13,001         14    4     on vb(28) 13,001         14    3     on vb(62) 13,000         14    2     on vb(73) 13,000         14    1     on vb(24) 14,001         14    4     on vb(41) 14,000         14    1     on vb(50) 14,001         14    3     on vb(56) 14,001         14    2     on vb(22) 15,000         14    4     on vb(40) 15,002         14    2     on vb(40) 15,000         14    3     on vb(5) 15,000         14    1     on vb(25) ......
    

    Please note that there are only a few vt in the log, Why? All other instances have a lot vt in the log. For example:
    
    ! ---------------------------------------------------------------------------- ! Minimization problem - 160 variables, 3,163 constraints, 2 phases ! TimeMode             = ElapsedTime ! Initial process time : 0.00s (0.00s extraction + 0.00s propagation) !  . Log search space  : 1,037.6 (before), 1,037.6 (after) !  . Memory usage      : 2.7 MB (before), 3.1 MB (after) ! Using parallel search with 4 workers. ! ---------------------------------------------------------------------------- !          Best Branches  Non-fixed W       Branch decision 1,002         42    2     on vb(18) 1,003          1    1     on vt(13) 1,055          1    4     on vt(17) 1,048          1    3     on vt(53) *        74,505      243 0.89s         4            - 74,505    2,000          6    3     on vb(68) 74,505    2,000         15    4     on vb(33) 74,505    2,000         43    2     on vb(24) 74,505    2,000         29    1     on vb(53) *        71,488    1,851 1.08s         2            - 71,488    3,000          6    3     on vb(76) 71,488    3,000         15    4     on vb(18) 71,488    3,002         43    2     on vt(16) 71,488    3,026          1    1     on vt(70) 71,488    4,000         32    4     on vb(76) 71,488    4,000         11    1     on vb(10) 71,488    4,000         19    3     on vb(21) 71,488    4,000          6    2     on vb(14) 71,488    5,001         11    1     on vb(10) 71,488    5,000         17    4     on vb(69)
    


    If I change search phase to: cp.setSearchPhases( f.searchPhase(vb), f.searchPhase(vt));}, it will solve out some feasible solutions, but the quality are too bad.

    can any one help me figure it out?

    Thank you very much. By the way, the model is being used to write a paper, so I cannot publish it here. But if you want to see the problem, I can send you through email.

    Sorry for my english and hope you can unstander me.
    #DecisionOptimization
    #OPLusingCPOptimizer


  • 2.  Re: Strange behavior about search phase, need help

    Posted 03/14/12 06:34 AM

    Originally posted by: qtbgo


    Problem solved. Thanks
    #DecisionOptimization
    #OPLusingCPOptimizer