# Eli Towle

Gurobi Staff
• Total activity 1090
• Last activity
• Member since
• Following 0 users
• Followed by 1 user
• Subscriptions 427

Recent activity by Eli Towle
• Pyomo does not include any integration to Gurobi's general constraint methods like Model.addGenConstrExp(). If you use Pyomo's persistent Gurobi interface, you can access the underlying gurobipy Mo...

• I'm not aware of a way to suppress these messages in Pyomo. You can do this using Gurobi's native Python API by following the instructions in the article How do I suppress all console output from G...

• Since your code uses process-based parallelism (not thread-based parallelism) and you do not directly interact with the Gurobi environment, you shouldn't run into any issues related to thread safety.

• By default, Python executes the Python code within a process using a single thread (the Gurobi shared library launches additional solver threads during solve time). In order for multiple user threa...

• What exactly do you mean by interact? Directly or indirectly accessing or manipulating the environment data structure (in Python, the Env object). Can each process that creates an environment ha...

• Each model is tied to a specific environment. However, environments and models are two very different data structures: The environment defines the configuration and start/end of a Gurobi session. ...

• You create a separate environment for each model in each parallel process, so the environments are only ever accessed by a single thread. That will work fine. Given that Pyomo doesn't give you dire...

• The Gurobi environment is created in step a).

• You can just call $$\texttt{opt.set_instance(model)}$$ to set up the next solve. With this approach, any Gurobi parameters you set on Pyomo's $$\texttt{GurobiPersistent}$$ object (e.g., \(\texttt{o...

• You don't need to delete the Pyomo model object, as it is independent of Gurobi's model and environment objects. It should suffice to call Model.dispose() on the Gurobi Model object that Pyomo crea...