Michael Bynum
Michael Bynum
The reason this is not accounted for is because I never use non-mutable parameters, so I never think about these edge cases. I don't think we can run the bounds...
Looks great to me!
See these methods on the persistent interface to Gurobi: https://github.com/Pyomo/pyomo/blob/be93e575f9b3075f9427411f00c574025d560cc2/pyomo/contrib/appsi/solvers/gurobi.py#L1152 https://github.com/Pyomo/pyomo/blob/be93e575f9b3075f9427411f00c574025d560cc2/pyomo/contrib/appsi/solvers/gurobi.py#L1240 https://github.com/Pyomo/pyomo/blob/be93e575f9b3075f9427411f00c574025d560cc2/pyomo/contrib/appsi/solvers/gurobi.py#L1256
We are trying to fix this. There's a subtle buffering issue.
@Zhanwei-Liu , to be clear, are you solving the same problem multiple times in a single Python process, or are you running multiple Python processes?
A couple things to check: - Ensure you are using one of Gurobi's deterministic methods (see https://www.gurobi.com/documentation/current/refman/method.html#parameter:Method and https://www.gurobi.com/documentation/current/refman/threads.html#parameter:Threads) - Make sure you are not using any unordered data types...
Okay, I *think* tests will pass now. The GiNaC interface is only tested under "singletest" because it takes a while to install GiNaC.
@dallan-keylogic - Thanks! Should be fixed now. Please let me know if my fix did not actually fix the problem. Let me get back to you on installation.
@dallan-keylogic, I don't have any better installation instructions than what is here: https://www.ginac.de/Download.html. Once you have GiNaC installed, you need to make sure the libraries and header files for both...
@jsiirola, should `sympyify_expression` convert mutable parameters to sympy symbols like it does for variables? I think this is what is causing @dallan-keylogic's error (not 100% sure).