-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Couenne reports problem as optimal on time-limit #160
Comments
Can you upload the |
Oscar, .nl file is here |
So I can reproduce this. But it looks like a bug in Couenne, not in AmplNLWriter. From the log, Couenne finds a solution with cost using JuMP, AmplNLWriter, Couenne_jll
model = read_from_file("/Users/Oscar/Downloads/Couenne_problem2.nl")
set_optimizer(model, () -> AmplNLWriter.Optimizer(Couenne_jll.amplexe))
julia> optimize!(model)
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: Reformulating problem: 0.2 seconds
NLP0012I
Num Status Obj It time Location
NLP0014I 1 OPT -0.4723512 54 0.29538
NLP0014I 2 OPT -0.45892851 25 0.01802
Couenne: new cutoff value -4.5892851204e-01 (60.027 seconds)
Loaded instance "/var/folders/bg/dzq_hhvx1dxgy6gb5510pxj80000gn/T/jl_tkWbpT/model.nl"
Constraints: 14
Variables: 1310 (1291 integer)
Auxiliaries: 10 (4 integer)
Clp0000I Optimal - objective value -3687.1319
Clp0032I Optimal objective -3687.13193 - 0 iterations time 0.002
Clp0000I Optimal - objective value -3687.1319
Cbc0004I Integer solution of -3687.1319 found after 0 iterations and 0 nodes (0.00 seconds)
Cbc0001I Search completed - best objective -3687.131929999996, took 0 iterations and 0 nodes (0.00 seconds)
Cbc0035I Maximum depth 0, 0 variables fixed on reduced cost
Clp0000I Optimal - objective value -3687.1319
"Finished"
Linearization cuts added at root node: 0
Linearization cuts added in total: 0 (separation time: 0s)
Total solve time: 0.010356s (0.010356s in branch-and-bound)
Lower bound: -3687.13
Upper bound: -3687.13 (gap: 0.00%)
Branch-and-bound nodes: 0
Performance of FBBT: 0.041106s, 1 runs. fix: 0 shrnk: 154.008 ubd: 0 2ubd: 0 infeas: 0
julia> solution_summary(model)
* Solver : AmplNLWriter
* Status
Termination status : LOCALLY_SOLVED
Primal status : FEASIBLE_POINT
Dual status : NO_SOLUTION
Message from the solver:
"couenne: Optimal"
* Candidate solution
Objective value : 0.00000e+00
Dual objective value : 0.00000e+00
* Work counters
Solve time (sec) : 6.09340e+01
shell> cat /var/folders/bg/dzq_hhvx1dxgy6gb5510pxj80000gn/T/jl_tkWbpT/model.sol
couenne: Optimal
Options
3
1
1
0
14
0
1310
1310
0
0
100
100
100
100
0
0
0
0
... lots more 0 omitted ...
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
objno 0 3 If I let it run without the time limit, I get: julia> solution_summary(model)
* Solver : AmplNLWriter
* Status
Termination status : LOCALLY_SOLVED
Primal status : FEASIBLE_POINT
Dual status : NO_SOLUTION
Message from the solver:
"couenne: Optimal"
* Candidate solution
Objective value : 4.58901e-01
Dual objective value : 4.58901e-01
* Work counters
Solve time (sec) : 1.16955e+02 Also, from what I could tell the only nonlinearity is a bilinear term |
@odow Thank you for investigating this issue. I agree with you that this is a bug of couenne software. You are correct that x*y is the only nonlinear constraint. Couenne seems to have hard time handling this. I am trying to utilize open-source MINLP solvers and don't have license from Gurobi. |
I will report this bug to gitbucket couenne. |
@odow I also reported another couenne bug in coin-or/Couenne#67 |
Closing because this is not a bug in AmplNLWriter. Note that you shouldn't expect the Couenne issue to be fixed promptly (if at all). If you want to try other MINLP solvers, give SCIP.jl, Alpine.jl, or Juniper.jl a go. |
@odow Thank you for all the great help! |
In AmplNLWriter.Optimizer(Couenne_jll.amplexe)), both primal_status and termination_status show solutions are found. But both objective and decision variables are empty.
The issue was reported here https://stackoverflow.com/questions/74225064/julia-jump-couenne-how-to-get-intermediate-or-best-feasible-solutions-when-ti
Attaching couenne.opt file,
Couenne_model.lp.txt
and lp file below
couenne.opt.txt
The text was updated successfully, but these errors were encountered: