# Get feasible solution from Couenne after time limit (JuMP)

**URL:** <https://discourse.julialang.org/t/get-feasible-solution-from-couenne-after-time-limit-jump/90999>\
**Category:** Optimization (Mathematical)\
**Tags:** jump, couenne\
**Created:** [November 29, 2022, 2:54pm UTC](https://discourse.julialang.org/t/get-feasible-solution-from-couenne-after-time-limit-jump/90999 "2022-11-29T14:54:32Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Luca](https://avatars.discourse-cdn.com/v4/letter/l/51bf81/32.png) [@Luca](https://discourse.julialang.org/u/Luca)\
**Post date:** [November 29, 2022, 2:54pm UTC](https://discourse.julialang.org/t/get-feasible-solution-from-couenne-after-time-limit-jump/90999/1 "2022-11-29T14:54:32Z")

</div>

Dear all,

I am solving a non-convex MINLP model with couenne with a time limit, let’s say 20 seconds. After 20 seconds, I obtain the following output:

```julia
Couenne 0.5.8 -- an Open-Source solver for Mixed Integer Nonlinear Optimization
Mailing list: couenne@list.coin-or.org
Instructions: http://www.coin-or.org/Couenne
couenne: 
ANALYSIS TEST: NLP0012I 
              Num Status Obj It time Location
NLP0014I 1 OPT 20 52 5.882371
NLP0014I 2 OPT 507.45347 4 0.462479
Couenne: new cutoff value 5.0745346562e+02 (8.04239 seconds)
Loaded instance "/var/folders/bb/nwhjpt2x3zg3v6c121fh1x180000gq/T/jl_uGV38x/model.nl"
Constraints: 1
Variables: 41 (40 integer)
Auxiliaries: 615 (613 integer)

Coin0506I Presolve 233 (-505) rows, 177 (-479) columns and 776 (-1946) elements
Clp0000I Optimal - objective value -9.99e+12
Clp0032I Optimal objective -9.99e+12 - 0 iterations time 0.002, Presolve 0.00
Clp0000I Optimal - objective value -9.99e+12
NLP Heuristic: time limit reached.
Clp0000I Optimal - objective value -9.99e+12
Optimality Based BT: 0 improved bounds
Probing: 0 improved bounds
NLP Heuristic: Couenne: new cutoff value 5.3793103438e+01 (19.9272 seconds)
solution found, obj. 53.7931
Cbc0012I Integer solution of 53.793103 found by Couenne Rounding NLP after 100 iterations and 0 nodes (11.88 seconds)
Cbc0031I 40 added rows had average density of 2
Cbc0013I At root node, 40 cuts changed objective from -9.99e+12 to -9.99e+12 in 2 passes
Cbc0014I Cut generator 0 (Couenne convexifier cuts) - 40 row cuts average 2.0 elements, 484 column cuts (484 active)
Cbc0010I After 0 nodes, 1 on tree, 53.793103 best solution, best possible -9.99e+12 (11.88 seconds)
Optimality Based BT: 0 improved bounds
Cbc0020I Exiting on maximum time
Cbc0005I Partial search - best objective 53.793103 (best possible -9.99e+12), took 100 iterations and 1 nodes (12.07 seconds)
Cbc0035I Maximum depth 0, 0 variables fixed on reduced cost
Clp1001I Initial range of elements is 1 to 507.46347
Clp1003I Final range of elements is 0.15811388 to 6.3245553
Clp0022I Absolute values of scaled rhs range from 1 to 1.024e+08, minimum gap 1e+100
Clp0020I Absolute values of scaled objective range from 9.99e+17 to 9.99e+17
Clp0021I Absolute values of scaled bounds range from 5.0797144e-16 to 2.3449428e+36, minimum gap 1e-05
Clp0006I 0 Obj -9.99e+12 Primal inf 2.3611832e+21 (41) Dual inf 6.3245553e+10 (1)
Clp0006I 1 Obj -9.99e+12 Primal inf 1.7561684e-05 (40)
Clp0017I Looking optimal with tolerance of 1e-07
Clp0006I 1 Obj -9.99e+12 Primal inf 1.7561684e-05 (40)
Clp0001I Primal infeasible - objective value -9.99e+12

 	"Not finished"

Linearization cuts added at root node: 738
Linearization cuts added in total: 738 (separation time: 0.004031s)
Total solve time: 12.0817s (12.0817s in branch-and-bound)
Lower bound: -inf
Upper bound: 53.7931 (gap: 100.00%)
Branch-and-bound nodes: 1
Performance of FBBT: 0.006745s, 6 runs. fix: 0 shrnk: 0 ubd: 139.333 2ubd: 1.16667 infeas: 0
Performance of OBBT: 0.114768s, 2 runs. fix: 0 shrnk: 0 ubd: 0 2ubd: 1 infeas: 0

```

From the output, it’s clear that Couenne obtain a local solution, whose value is 53.793103. I would ask you how can I get that value and the corresponding solution.

Thanks very much for all your help.

---

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [November 29, 2022, 7:48pm UTC](https://discourse.julialang.org/t/get-feasible-solution-from-couenne-after-time-limit-jump/90999/2 "2022-11-29T19:48:40Z")

</div>

This is probably the same issue as [Couenne reports problem as optimal on time-limit · Issue #160 · jump-dev/AmplNLWriter.jl · GitHub](https://github.com/jump-dev/AmplNLWriter.jl/issues/160). See also

[Julia/JuMP - Couenne: How to get intermediate or best feasible solutions when TIME\_LIMIT has been reached? - Stack Overflow](https://stackoverflow.com/questions/74225064/julia-jump-couenne-how-to-get-intermediate-or-best-feasible-solutions-when-ti).

I think this is an upstream problem in Couenne. The bad news is that it’s unlikely to get fixed anytime soon.

I’d suggest you try a different MINLP solver, like [GitHub - lanl-ansi/Juniper.jl: A JuMP-based Nonlinear Integer Program Solver](https://github.com/lanl-ansi/Juniper.jl).
