LP for feasibility problem results in primal infeasibility at even moderate problem size #3853
Unanswered
AnanthHari
asked this question in
Linear Solver questions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
OR-Tools Version: v9.6
Language: Python 3.9.16
Solver: GLOP
OS: macOS 13.4
Hi, I was looking for simplex implementations for linear programming and I came across OR-Tools. I'm trying to see how the runtime/no. of iterations scales as problem size increases for simple feasibility LP problems, i.e., objective is a constant.
In the following program, for all odd values of n such that
n >= 3
, the problem is feasible with the following solution:x[0] = 0 and x[i] = 1
, for all otheri
.To reproduce the result, name the following program to be
glop.py
and run it aspython glop.py 2197
(the full run script is attached):We expect the solver to return a trivial feasible (and therefore, optimal) solution. The expected behavior is observed for every valid odd number
n
less than 2197, using the GLOP solver without dual simplex invoked.At
n = 2197
, the solver returns aPRIMAL_INFEASIBLE
status, with the status of the "unscaled solution" beingIMPRECISE
. This is with the default parameters.The following table outlines the fate of running the script with various options.
tolerance=1e-2
implies settingsolution_feasibility_tolerance
,primal_feasibility_tolerance
, anddual_feasibility_tolerance
to1e-2
.PRESOLVE_OFF
implies resettingMPSolverParameters.PRESOLVE
.tolerance=1e-2
PRESOLVE_OFF
use_dual_simplex:True
n=2197
n=2197
n=2077
n=2001
needing SIGKILLn=2001
The full run script, all LP models, and all log files are attached. Simply uncomment the appropriate option in the script before running.
glop_infeasibility.tar.gz
Beta Was this translation helpful? Give feedback.
All reactions