Decision Optimization

Decision Optimization

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


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
  • 1.  Optimal is found but execution continue

    Posted 12/06/08 07:22 PM

    Originally posted by: SystemAdmin


    [deborah said:]

    Hi,

    I wrote a model using the approach MP.  I solved it using CPLEX 11.1.0

    CPLEX returns the optimal solution after 470.16 sec of running, but setting a time limit of 30 sec, I get the optimal!!!

    Why does CPLEX continue in the search although long time before it found the optimal solution?

    Can I set some parameter that can speed the search?

    I've tried to different data file, but I have worse performance...

    Could you help me?

    Thank you

    Deborah

    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 2.  Re: Optimal is found but execution continue

    Posted 12/08/08 10:03 AM

    Originally posted by: SystemAdmin


    [jin82873053 said:]

    you may make a .ops file to change the parameter.
    it is not difficult.
    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 3.  Re: Optimal is found but execution continue

    Posted 12/08/08 12:13 PM

    Originally posted by: SystemAdmin


    [Didier Vidal said:]

    Why does CPLEX continue in the search although long time before it found the optimal solution?

    That's difficult to tell for sure without looking at the CPLEX log. But the very likely answer is that CPLEX uses the time between 30s and 470s to prove that the solution found is optimal.

    Didier.
    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 4.  Re: Optimal is found but execution continue

    Posted 12/08/08 01:14 PM

    Originally posted by: SystemAdmin


    [deborah said:]

    Thanks for your response.

    I've tried to change the parameters of CPLEX. I have to run my model on a set of several .DAT, for each I have to set the same parameter.

    I changed the following:

    - Time limit = 7200 (becouse for some instance it is necessary)
    - MIP emphasis = 1

    Could you recommend me witch parameter I have to set for a better result?

    A small part of the log file is:

    [hr]
    Elapsed time = 348.13 sec. (tree size =  1.28 MB, solutions = 4)
    195100  2793      480.2059    43      513.0000      429.9818  4975607   16.18%
    195200  2737    infeasible            513.0000      430.2108  4976570   16.14%
    195300  2703      472.0286    61      513.0000      430.5000  4978508   16.08%
    195400  2678    infeasible            513.0000      430.6639  4980115   16.05%
    195500  2661    infeasible            513.0000      430.7211  4981833   16.04%
    195600  2640    infeasible            513.0000      431.0690  4983260   15.97%
    195700  2638        cutoff            513.0000      431.0847  4984667   15.97%
    195800  2625    infeasible            513.0000      431.0972  4986108   15.97%
    195900  2607      469.5540    32      513.0000      431.1818  4988298   15.95%
    196000  2583      431.3425    52      513.0000      431.3425  4990094   15.92%
    Elapsed time = 349.43 sec. (tree size =  1.20 MB, solutions = 4)
    196100  2567      485.3206    42      513.0000      431.3758  4991347   15.91%
    196200  2537    infeasible            513.0000      431.5248  4993175   15.88%
    196300  2507      437.5091    41      513.0000      431.6897  4994596   15.85%
    196400  2512      495.0000    26      513.0000      431.6897  4996040   15.85%
    196500  2502      431.6897    44      513.0000      431.6897  4997279   15.85%
    196600  2468      495.0000    32      513.0000      432.0000  4998449   15.79%
    196700  2436    infeasible            513.0000      432.0000  4999734   15.79%
    196800  2431        cutoff            513.0000      432.0000  5002137   15.79%
    196900  2400    infeasible            513.0000      432.0000  5003551   15.79%
    197000  2370    infeasible            513.0000      432.0000  5005126   15.79%
    Elapsed time = 350.61 sec. (tree size =  1.14 MB, solutions = 4)
    197100  2348    infeasible            513.0000      432.0000  5006629   15.79%
    197200  2323    infeasible            513.0000      432.0000  5008377   15.79%
    197300  2287    infeasible            513.0000      432.1607  5009848   15.76%
    197400  2269    infeasible            513.0000      432.3158  5012150   15.73%
    197500  2238    infeasible            513.0000      432.4286  5013540   15.71%
    197600  2215    infeasible            513.0000      432.5979  5015144   15.67%
    197700  2189      446.0549    53      513.0000      432.6716  5017137   15.66%
    197800  2161      462.6923    28      513.0000      432.6716  5019266   15.66%
    197900  2125    infeasible            513.0000      432.7018  5020910   15.65%
    198000  2094    infeasible            513.0000      432.9851  5022546   15.60%
    Elapsed time = 351.94 sec. (tree size =  1.05 MB, solutions = 4)
    198100  2063    infeasible            513.0000      433.4625  5024412   15.50%
    198200  2026    infeasible            513.0000      433.7143  5025850   15.46%
    198300  1986      468.1832    45      513.0000      433.9518  5027622   15.41%
    198400  1950    infeasible            513.0000      434.1429  5029221   15.37%
    198500  1919      492.0000    40      513.0000      434.2993  5030429   15.34%
    198600  1919      489.0000    20      513.0000      434.3448  5031839   15.33%
    198700  1904    infeasible            513.0000      434.5081  5033239   15.30%
    198800  1882      481.8557    43      513.0000      434.7761  5035291   15.25%
    198900  1849    infeasible            513.0000      435.0000  5036215   15.20%
    199000  1813    infeasible            513.0000      435.0000  5038075   15.20%
    Elapsed time = 353.12 sec. (tree size =  0.96 MB, solutions = 4)
    199100  1805      446.2555    50      513.0000      435.0000  5040031   15.20%
    199200  1803      444.4747    53      513.0000      435.0000  5041833   15.20%
    199300  1762      485.2027    49      513.0000      435.0000  5043087   15.20%
    199400  1740    infeasible            513.0000      435.0217  5044534   15.20%
    199500  1722    infeasible            513.0000      435.1031  5046260   15.18%
    199600  1708    infeasible            513.0000      435.6758  5047871   15.07%
    199700  1701    infeasible            513.0000      435.7964  5049166   15.05%
    199800  1680      492.9944    36      513.0000      435.9074  5051079   15.03%
    199900  1653      499.9584    54      513.0000      436.1538  5051997   14.98%
    200000  1628      503.4813    50      513.0000      436.1538  5053619   14.98%
    Elapsed time = 354.36 sec. (tree size =  0.90 MB, solutions = 4)
    200100  1598      492.4106    51      513.0000      436.4141  5054890   14.93%
    200200  1580    infeasible            513.0000      436.5423  5056240   14.90%
    200300  1568    infeasible            513.0000      436.5423  5058133   14.90%
    200400  1531      500.8522    51      513.0000      436.6893  5059357   14.88%
    200500  1494    infeasible            513.0000      436.8339  5061084   14.85%
    200600  1474    infeasible            513.0000      437.0567  5062769   14.80%
    200700  1463      478.5682    43      513.0000      437.4231  5064544   14.73%
    200800  1422    infeasible            513.0000      437.5385  5065850   14.71%
    200900  1408      495.0000    30      513.0000      437.6757  5067686   14.68%
    201000  1370    infeasible            513.0000      437.9688  5069089   14.63%
    Elapsed time = 355.56 sec. (tree size =  0.82 MB, solutions = 4)
    201100  1348    infeasible            513.0000      438.0000  5070614   14.62%
    201200  1310      453.4098    36      513.0000      438.0000  5071913   14.62%
    201300  1257    infeasible            513.0000      438.6315  5073454   14.50%
    201400  1223    infeasible            513.0000      438.7522  5074421   14.47%
    201500  1195      465.5847    40      513.0000      439.2613  5075642   14.37%
    201600  1155      481.9168    59      513.0000      439.7143  5077239   14.29%
    201700  1119    infeasible            513.0000      439.8057  5079117   14.27%
    201800  1091    infeasible            513.0000      440.3258  5080391   14.17%
    201900  1076      492.4933    49      513.0000      440.9633  5081925   14.04%
    202000  1047      445.1639    51      513.0000      441.0000  5083214   14.04%
    Elapsed time = 356.70 sec. (tree size =  0.72 MB, solutions = 4)
    202100  1028    infeasible            513.0000      441.1484  5084869   14.01%
    202200   999    infeasible            513.0000      441.3529  5086380   13.97%
    202300   968      467.9025    56      513.0000      441.9337  5088104   13.85%
    202400   951    infeasible            513.0000      442.3132  5089447   13.78%
    202500   927    infeasible            513.0000      442.7775  5090795   13.69%
    202600   907    infeasible            513.0000      443.4374  5092233   13.56%
    202700   881    infeasible            513.0000      444.0000  5093499   13.45%
    202800   842    infeasible            513.0000      444.0000  5095045   13.45%
    202900   793      449.9592    59      513.0000      444.3462  5096283   13.38%
    203000   769      467.9174    50      513.0000      445.0435  5097481   13.25%
    Elapsed time = 357.83 sec. (tree size =  0.63 MB, solutions = 4)
    203100   731      480.0000    42      513.0000      445.5613  5098692   13.15%
    203200   717      474.6166    56      513.0000      445.7395  5099892   13.11%
    203300   686      485.0665    30      513.0000      446.2805  5101373   13.01%
    203400   653      464.1925    42      513.0000      447.0000  5102677   12.87%
    203500   619    infeasible            513.0000      447.9375  5103858   12.68%
    203600   566    infeasible            513.0000      448.8228  5104644   12.51%
    203700   543    infeasible            513.0000      449.8101  5105817   12.32%
    203800   517    infeasible            513.0000      449.9592  5107109   12.29%
    203900   479      507.0000     9      513.0000      450.9000  5108147   12.11%
    204000   447      493.1624    38      513.0000      451.6500  5109158   11.96%
    Elapsed time = 358.82 sec. (tree size =  0.53 MB, solutions = 4)
    204100   414    infeasible            513.0000      452.4564  5110551   11.80%
    204200   375    infeasible            513.0000      453.8479  5111715   11.53%
    204300   336    infeasible            513.0000      456.0000  5113053   11.11%
    204400   284    infeasible            513.0000      456.3191  5113899   11.05%
    204500   233        cutoff            513.0000      459.1935  5114896   10.49%
    204600   196    infeasible            513.0000      462.0000  5116194    9.94%
    204700   161    infeasible            513.0000      464.1236  5117224    9.53%
    204800    98    infeasible            513.0000      468.0000  5118225    8.77%
    204900    79    infeasible            513.0000      473.0000  5119580    7.80%
    205000    37      507.7143    57      513.0000      477.0000  5120650    7.02%
    Elapsed time = 359.75 sec. (tree size =  0.40 MB, solutions = 4)
    205100     0    infeasible            513.0000      501.0000  5121521    2.34%

    Clique cuts applied:  34
    Implied bound cuts applied:  305
    Mixed integer rounding cuts applied:  9
    Zero-half cuts applied:  9
    Gomory fractional cuts applied:  10

    [hr]

    For this instance I have solution after 359.75 sec, but if I set time limit = 30 sec, I have the same solution.
    Thank you

    Deborah
    #DecisionOptimization
    #OPLusingCPLEXOptimizer


  • 5.  Re: Optimal is found but execution continue

    Posted 12/08/08 01:58 PM

    Originally posted by: SystemAdmin


    [Didier Vidal said:]

    First, here is how to read the log.

    A line such as

    195100  2793      480.2059    43      513.0000      429.9818  4975607  16.18%


    Means that the lower bound proved by CPLEX is 16.18% better than the best feasible solution found. In the rest of this log, CPLEX seems to make cuts that increase this lower bound until an optimality proof is reach, that the best feasible solution actually has the best possible objective in your problem and data.

    If you need to find an optimal solution, then you need to wait for this proof. There's a tool in CPLEX called 'tuning tool'. You can try to use it on multiple instances of your problem to see if it can find better settings for your problem than CPLEX defaults.

    If you don't need to find optimality, and if 16% from optimal is enough for your application, then you can set the EpGap parameter. It defines a stop criteria regarding this percentage.

    Didier.
    #DecisionOptimization
    #OPLusingCPLEXOptimizer