Hello - I am using "results = opt.solve(m, tee=True)" and I know that tee=True will show the solver output but I thought Tobias is asking for a logfile wherein details of the optimization models can be found (to check for weird numbers in matrix A). The solver output for my problem is as follows:
Changed value of parameter FeasibilityTol to 1e-09
Prev: 1e-06 Min: 1e-09 Max: 0.01 Default: 1e-06
Parameter MIPGapAbs unchanged
Value: 1e-10 Min: 0.0 Max: 1e+100 Default: 1e-10
Changed value of parameter Threads to 4
Prev: 0 Min: 0 Max: 1024 Default: 0
Changed value of parameter MIPGap to 1e-09
Prev: 0.0001 Min: 0.0 Max: 1e+100 Default: 0.0001
Changed value of parameter VarBranch to 3
Prev: -1 Min: -1 Max: 3 Default: -1
Changed value of parameter NodefileStart to 1.0
Prev: 1e+100 Min: 0.0 Max: 1e+100 Default: 1e+100
Changed value of parameter OptimalityTol to 1e-09
Prev: 1e-06 Min: 1e-09 Max: 0.01 Default: 1e-06
Changed value of parameter IntFeasTol to 1e-09
Prev: 1e-05 Min: 1e-09 Max: 0.1 Default: 1e-05
Optimize a model with 2106 rows, 2883 columns and 10783 nonzeros
Coefficient statistics:
Matrix range [2e-06, 1e+03]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+03]
RHS range [2e-03, 1e+00]
Presolve removed 1426 rows and 1542 columns
Presolve time: 0.04s
Presolved: 680 rows, 1341 columns, 5688 nonzeros
Variable types: 1123 continuous, 218 integer (218 binary)
Root relaxation: objective 0.000000e+00, 957 iterations, 0.03 seconds
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 0.0000000 0.00000 0.00% - 0s
Explored 0 nodes (961 simplex iterations) in 0.09 seconds
Thread count was 4 (of 12 available processors)
Optimal solution found (tolerance 1.00e-09)
Best objective 5.001140608609e-10, best bound 5.001140608609e-10, gap 0.0%
solution = []
Objective value = 5.00114060861e-10, Optimality status = optimal, Solution status = optimal, Solver run status = normal
I don't see anything unusual in this output.
An an update, I have verified (by using a loop) that the problem has two alterantive solutions with an objective value of one (i.e., when only one binary variables is one). The solver is able to find one of these solutions if I fix a large number of binary variables to zero.
One thing that is unclear to me is that if the problem is a due to numeric issues, then shouldn't it always behave like this? Like I mentioned in my first post, I have this issues for only one "special j" and not for others.