Cannot find feasible solution and programm killed after a long time
AnsweredHere I have MILP model with 1857 rows, 2336 columns and 9792 nonzeros and I run this lp file in a machine in the following platform Intel Core i58250U CPU @ 1.60GHz × 8 , 8.00 G RAM, 64 bit Linux 18.04 system. But Gurobi returns no solution and killed the process after a long time.
Is there any option to resolve this issue I mean to get a feasible solution without taking high capacity system? Thanks in advance.
gurobi> x=read("4th.lp")
Read LP format model from file 4th.lp
Reading time = 0.01 seconds
: 1857 rows, 2336 columns, 9792 nonzeros
gurobi> x.optimize()
Gurobi Optimizer version 9.0.1 build v9.0.1rc0 (linux64)
Optimize a model with 1857 rows, 2336 columns and 9792 nonzeros
Model fingerprint: 0xd1baccf9
Variable types: 0 continuous, 2336 integer (2336 binary)
Coefficient statistics:
Matrix range [1e+00, 4e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+00, 6e+00]
Presolve removed 769 rows and 446 columns
Presolve time: 0.02s
Presolved: 1088 rows, 1890 columns, 7238 nonzeros
Variable types: 0 continuous, 1890 integer (1890 binary)
Found heuristic solution: objective 61.0000000
Root relaxation: objective 4.779487e+00, 2105 iterations, 0.07 seconds

Hi Susanta,
Are you just looking for a feasible solution? Gurobi finds a heuristic solution to this problem very early:
Found heuristic solution: objective 61.0000000
You could try setting the SolutionLimit parameter to 1. When you do this, Gurobi will terminate as soon as it finds the first solution to the problem.
Have you monitored your machine's memory usage while Gurobi is running? It could be that Gurobi runs out of memory while solving.
Thanks,
Eli
0 
Thanks Eli for your reply.
Yes Gurobi runs out of memory while solving the problem. So if I set SolutionLimit parameter to 1, then it will not return the best optimized solution. Am I right?
0 
Hi Susanta,
If you set SolutionLimit to 1, Gurobi will terminate after the first feasible solution is found. If you want to run as long as possible to get the best solution so far, you should use the SolFiles parameter. This way, Gurobi will save every solution to disk and the last one will then be the best so far.
To reduce memory usage (which is likely the reason for the crash), you might want to reduce the Threads parameter.
Cheers,
Matthias1 
Thanks Matthias for your details explanation. The SolFiles parameter will be very helpfull for me. Thanks
0
Please sign in to leave a comment.
Comments
4 comments