メインコンテンツへスキップ

LP barrier method "false" solve

回答済み

コメント

3件のコメント

  • Riley Clement
    • Gurobi Staff

    Hi Anibal,

    I'm using both simplex and barrier to solve it (Method=0 I think?)

    Method=0 will solve with primal simplex only, so you must be using Method=0.  From the tiny snippet of the logfile I expect it would be better to just use barrier, i.e. set Method=2

    It said it was solved but then kept going.

    When using multiple algorithms to solve the LP (concurrent LP) the algorithms in parallel on separate threads; the fastest one wins the race. However, to keep the behavior deterministic, it needs to continue with the losing threads for a little while longer until the threads reach a “sync point” in the code.  Often this time is negligible but sometimes - especially in the presence of numerical issues - it can take some time for all threads to stop.  In the logfile you will see this reported as “Concurrent spin time”.

    Additionally, why did the solver drop variables from the basis?

    This is also an indication of numerical issues. 

    For now I would set Method=2, and review our Guidelines for Numerical Issues.

    - Riley

     

    0
  • Anibal Baradei
    • Gurobi-versary
    • Conversationalist
    • First Question

    Dear Mr. Clement,

    Thank you for your fast response. From now on I will stick to just barrier then.

    I have an important question regarding this case. The current run has been going for a LONG time, as can be seen in the image, and it is still going due to the phenomenon you just explained. What would happen if I use an interrupt command to stop it? (I know I can interrupt the algorithm with Ctrl+C) 

    Would that create a solution in the model object similar to when a real solution is found, since it said it found one with barrier? The code I'm running has a follow up command to get the solution from the model: model.solution. Said command would return an error if the model object has no sol. I don't want to lose all the time spent but at the same time I don't know how long it will keep going and it does not seem to be converging to anything yet:

    Thank you very much for your time, I will keep it running in the meantime until I have some guidance.

    Best regards,

    Anibal Baradei

    0
  • Riley Clement
    • Gurobi Staff

    Hi Anibal,

    Generally Ctrl+C causes the optimization to stop, and the solution is retained.  However I'm also not sure it will have this effect (the solver may just continue) for the same reasons it is already not stopping.

    - Riley

    0

サインインしてコメントを残してください。