Constraint and variable number impact on solver efficiency
AnsweredHello,
I have an issue with a PCVRP with time windows problem,
I don't know how to get the solver to find a solution, should I remove constraints or remove variables,
Is it better to work with continuous variables or binary ones?
Thanks a lot if you can help,
Kind regards,
Set parameter Username Academic license - for non-commercial use only - expires 2023-06-19
Set parameter MIPFocus to value 1
Set parameter TimeLimit to value 500
Gurobi Optimizer version 9.5.1 build v9.5.1rc2 (win64) :
Thread count: 4 physical cores, 8 logical processors, using up to 8 threads
Optimize a model with 13957 rows, 36399 columns and 89775 nonzeros
Model fingerprint: 0x09045c2b
Model has 40748 general constraints
Variable types: 3320 continuous, 33079 integer (33079 binary)
Coefficient statistics:
Matrix range [1e+00, 5e+01]
Objective range [3e-01, 7e+02]
Bounds range [1e+00, 5e+01]
RHS range [1e+00, 4e+01]
GenCon rhs range [9e-02, 2e+02]
GenCon coe range [1e+00, 2e+02]
User MIP start did not produce a new incumbent solution
Presolve removed 55492 rows and 50568 columns (presolve time = 5s) ...
Presolve added 28664 rows and 0 columns
Presolve removed 0 rows and 3520 columns
Presolve time: 9.67s
Presolved: 42621 rows, 32879 columns, 588672 nonzeros
Variable types: 3282 continuous, 29597 integer (29597 binary)
Deterministic concurrent LP optimizer: primal and dual simplex Showing first log only... Root simplex log... Iteration Objective Primal Inf. Dual Inf. Time 0 2.4668364e+03 8.243933e+01 5.526298e+08 13s
Concurrent spin time: 0.01s
Solved with dual simplex
Root relaxation: objective 2.345982e+03, 5630 iterations, 1.37 seconds (0.49 work units)
Total elapsed time = 15.12s
Another try with MIP start
Nodes | Current Node | Objective Bounds | Work Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 2345.98194 0 381 - 2345.98194 - - 17s
0 0 2345.98194 0 442 - 2345.98194 - - 23s
0 0 2345.98194 0 446 - 2345.98194 - - 25s
0 0 2345.98194 0 380 - 2345.98194 - - 30s
0 0 2345.87257 0 392 - 2345.87257 - - 49s
0 0 2345.84329 0 402 - 2345.84329 - - 55s
0 0 2345.82442 0 419 - 2345.82442 - - 59s
0 0 2345.82305 0 423 - 2345.82305 - - 59s
0 0 2345.74781 0 466 - 2345.74781 - - 63s
0 0 2345.73412 0 475 - 2345.73412 - - 67s
0 0 2345.73412 0 456 - 2345.73412 - - 67s
0 0 2345.05997 0 483 - 2345.05997 - - 76s
0 0 2345.04634 0 468 - 2345.04634 - - 81s
0 0 2344.67232 0 471 - 2344.67232 - - 82s
0 0 2344.67232 0 473 - 2344.67232 - - 82s
0 0 2344.67150 0 488 - 2344.67150 - - 89s
0 0 2344.66805 0 502 - 2344.66805 - - 93s
0 0 2344.66805 0 505 - 2344.66805 - - 94s
0 0 2344.66627 0 432 - 2344.66627 - - 101s
0 2 2344.65929 0 424 - 2344.65929 - - 177s
36 42 2335.04567 10 394 - 2344.65647 - 107 180s
0
-
Official comment
This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum, or try Gurobot, our chatbot interface offering instant, expert-level support. -
Could you please edit your question and format it correctly? It's very hard to read in its current state.
Thanks,
Matthias0 -
Yes, thanks for your answer
0 -
Hi Théophile,
There isn't much we can help you with given the limited information you provided.
You should just try different approaches and see how they affect solver performance. There is likely no magic trick that works for all VRPs.Cheers,
Matthias0
Post is closed for comments.
Comments
4 comments