ampl / mp

An open-source library for mathematical programming
https://mp.ampl.com
Other
229 stars 42 forks source link

CBC error when time limit is reached #236

Closed 4er4er4er closed 7 months ago

4er4er4er commented 7 months ago

When CBC hits a time limit set with lim:time, it displays an error message:

ampl: model sched1.mod data sched.dat let least_assign := 14;
ampl: option solver "..\cbc";
ampl: option cbc_options 'lim:time=10 int:logLevel=1';
ampl: solve;
cbc 2.10.10:   lim:time = 10
  int:logLevel = 1
Welcome to the CBC MILP Solver 
Version: 2.10.10 
Build Date: Apr 18 2023 

command line - Cbc_C_Interface -logLevel 1 -log 0 -solve -quit (default  Call failed: 'Cbc_solve(lp())' with code 1
ampl: 

AMPL's timing parameters show that the time limit was reached, but all zeros were returned for the variables:

ampl: display _solve_time, _solve_elapsed_time;
_solve_time = 10
_solve_elapsed_time = 10.063

ampl: display Work;
Work [*] :=
  1 0    14 0    27 0    40 0    53 0    66 0    79 0    92 0   105 0   118 0
  2 0    15 0    28 0    41 0    54 0    67 0    80 0    93 0   106 0   119 0
  3 0    16 0    29 0    42 0    55 0    68 0    81 0    94 0   107 0   120 0
  4 0    17 0    30 0    43 0    56 0    69 0    82 0    95 0   108 0   121 0
  5 0    18 0    31 0    44 0    57 0    70 0    83 0    96 0   109 0   122 0
  6 0    19 0    32 0    45 0    58 0    71 0    84 0    97 0   110 0   123 0
  7 0    20 0    33 0    46 0    59 0    72 0    85 0    98 0   111 0   124 0
  8 0    21 0    34 0    47 0    60 0    73 0    86 0    99 0   112 0   125 0
  9 0    22 0    35 0    48 0    61 0    74 0    87 0   100 0   113 0   126 0
 10 0    23 0    36 0    49 0    62 0    75 0    88 0   101 0   114 0
 11 0    24 0    37 0    50 0    63 0    76 0    89 0   102 0   115 0
 12 0    25 0    38 0    51 0    64 0    77 0    90 0   103 0   116 0
 13 0    26 0    39 0    52 0    65 0    78 0    91 0   104 0   117 0
;

Based on other tests with this problem, I believe that no solution is being returned, even though a feasible solution has been found. (When the time limit is removed, a solution is found in about 18 seconds.)

mapgccv commented 7 months ago

Fixed by commit above