I believe the better approach would be to set the timelimit using a Couenne option if possible. E.g., assuming the option name is ‘timelimit’,
# persistent option
opt.options[‘timelimit’] = 1
opt.solve(instance)
# or one-time option
opt.solve(instance, options={‘timelimit’: 1})
The ‘timelimit’ keyword for the solve() method is at best implemented by killing the child solver process, which likely won’t result in any candidate solution being stored unless the solver has special signal handling (and I’m not sure what signal we send to the child process).
Gabe