Closed Shuvomoy closed 1 year ago
@Shuvomoy @blegat I suspect the issue is not with Alpine, and rather is in Gurobi's presolve while solving linear programs (in your case) within Alpine's OBBT presolve. This seems to be an issue which we have observed on many other QCQPs. Here is the output below with "Presolve" => 0
while invoking the Gurobi solver and other settings of Alpine as you showed above. Also tested with CPLEX, with both it's presolve turned on and off. In both settings, Alpine+CPLEX seems to converge without any issue.
PROBLEM STATISTICS
Objective sense = Max
# Variables = 10
# Bin-Int Variables = 0
# Constraints = 11
# NL Constraints = 10
# Linear Constraints = 1
# Detected convex constraints = 0
# Detected nonlinear terms = 11
# Variables involved in nonlinear terms = 10
# Potential variables for partitioning = 10
SUB-SOLVERS USED BY ALPINE
NLP local solver = Ipopt
MIP solver = Gurobi
ALPINE CONFIGURATION
Maximum iterations (upper-bounding MIPs) = 99
Relative global optimality gap = 0.01%
Discretization ratio = 10
Bound-tightening presolve = true
Maximum iterations (OBBT) = 25
PRESOLVE
Doing local search
Local solver returns a feasible point with value 23.9792
Starting bound-tightening
Actual iterations (OBBT): 9
Post-presolve optimality gap: 0.569%
Completed presolve in 0.57s
UPPER-BOUNDING ITERATIONS
====================================================================================================
| Iter | Incumbent | Best Incumbent | Upper Bound | Gap (%) | Time
| 1 | 23.9792 | 23.9792 | 24.009 | 0.124 | 0.59s
| 2 | 24.0 | 24.0 | 24.009 | 0.038 | 0.65s
| finish | 24.0 | 24.0 | 24.0021 | 0.009 | 0.77s
====================================================================================================
*** Alpine ended with status OPTIMAL ***
Of course, Alpine can also be run without it's OBBT presolve turned on (setting as "presolve_bt" => false
). By doing so, it converges fine with Gurobi's presolve on. Do let me know if in case you observe more issues.
Okay I see thanks @harshangrjn !
I am trying to solve a bilinear optimization problem using Alpine. If I try Gurobi's bilinear solver it works fine, but Alpine does not.
Gurobi code
Gurobi output is:
While solving the same problem using Alpoine, I am getting
There are currently 0 solution(s) in the model.
Alpine code:
The output is:
(updated the issue as suggested by @blegat )