0
$\begingroup$

Thanks for the amazing performance of Gurobi.

Actually we are using Gurobi Cloud (via its python binding - Gurobipy) for our optimization requirements.

Due to our higher number of optimization problems and their high complexity, we are executing concurrent optimization problems on Gurobi Cloud.

Now, we can achieve the execution of concurrent optimization problems via 2 approaches:

  • Approach #1: With Common Gurobi Environment across problems

  • Approach #2: With Distinct Gurobi Environment across problems

enter image description here

Doubts:

  • Which approach is recommended?
  • Could you highlight the pros & cons of both approaches (especially on speed & billing aspects) ?
  • Is this statement True: In approach #1 - same instance / machine is used on Gurobi Cloud, hence is slower but cheaper. Whereas in approach #2 - different instance / machine is used on Gurobi Cloud, hence is faster but costlier.
$\endgroup$

1 Answer 1

4
$\begingroup$

This is a very Gurobi-specific question and you should rather open a Support ticket on https://support.gurobi.com for this.

This is the official recommendation from the Gurobi Docs on environments:

In general, you should aim to create a single Gurobi environment in your program, even if you plan to work with multiple models. Reusing one environment is much more efficient than creating and destroying multiple environments. The one exception is if you are writing a multi-threaded program, since environments are not thread safe. In this case, you will need a separate environment for each of your threads.

$\endgroup$
1
  • $\begingroup$ Hi @mattmilten, If possible - could you elaborate on pros & cons of both approaches? $\endgroup$
    – pqrz
    Commented Dec 24, 2021 at 3:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.