Skip to main content

Verification without DStart




  • Maliheh Aramon
    Gurobi Staff Gurobi Staff

    Hi Alexander, 

    To warm start an LP in the Gurobi Optimizer using a start vector, you need to set both PStart for every variable and DStart for every constraint.

    I can think of two alternatives that you can try:

    1. Convert your hard LP into a MIP by adding a dummy binary/integer variable and then use the solution of your simple LP as a MIP start for the hard LP converted into a MIP.

    2. You mentioned that your hard LP has two sets of constraints:

    • Start solving your hard LP with one set of constraints which is common with the simple LP (I assume that this set of constraints is easy to satisfy). 
    • After calling the optimize() method on the model above, modify the model by adding the second set of constraints and call the optimize() method again. 

    Using this strategy, the Gurobi Optimizer will automatically use the information of the first run to warm start the second run. This strategy does not depend on the solution of the simple LP. It just might help to decrease the runtime.

    Best regards,


  • Alexander Haberman
    First Comment

    Thank you very much Maliheh!

    Your first suggestion worked great except that when I turned the hard LP into an MIP I got that the runtime of the MIP was faster than the original LP even without the start. Further, even when the objectives of the MIP with and without the start coincided, it seems like the start slightly slowed down the MIP problem. Do you have any idea why this might be happening?


Please sign in to leave a comment.