Closed sloaneross closed 2 years ago
Could you give me a way to recreate the issue?
How many Constraints and Decision Variables are in your model? Also, are you using any non-ANSI compatible characters in your naming? I ask because of the error message you posted.
I'm not sure I can provide a way to recreate the issue, what I can say is we are running this on a very large model and giving each decision a descriptive (i.e. long) name. I'm going to try shortening the names and see if that helps.
We have close to 800,000,000 variables total and we do not get this error when we run our model in a smaller timeframe. This may be the ticket!
Wow, that's a big problem. Let me know if the name shortening resolves the issue.
I shortened our decision names to the string representation of an index + variable type (we have 8 types of variables), to try to minimize the string length while keeping everything unique. This yielded the same error with our 'small' problem ( > 142,000,000 variables).
-- this gives the same ANSI error as before at ~ 8GB of ram use. Using DotMemory I can see that the majority of the memory is coming from unmanaged sources during the for loop of addConstraints. If that helps any.
I made a new version of Flips for myself using the unnamed version of 'MakeConstraint' and I get an out of memory error still, so I think we can conclusively scratch that off.
Is there any way you can get me an example problem that reproduces this behavior? It won't be possible to diagnose otherwise. I'm betting this is a problem with Google OR Tools and not Flips since Gurobi works.
I'm going to close this since I do not believe this is a problem with Flips but with the OR Tools library. I recommend raising an issue with them. If you are able to provide some code which reproduces the error, I would be happy to look into it further.
When running a particularly large problem I get a "Out of Memory" output when ram use hits 10GB. On Mac I get:
This only happens on CBC or GLOP, Gurobi works just fine, which makes me think it's something in the OR tools setup. No idea where to start debugging though.