Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I started experimenting with #2420
It's a modest improvement:
compared to #2418 (comment)
But it's a fairly large change, and I haven't added the quadratic, SOS, indicator support yet.
Another option is to use HiGHS instead:
resulting in
The speed difference: 26 sec (HiGHS) compared to 33 sec (this PR) 41 sec (master). Half of the difference is rewriting the names for uniqueness. The other parts are odds and ends (Julia I/O writing to
.gz
?). So I think we're not far away from a C implementation.For the memory: a bit misleading because
@time
doesn't measure the inner memory of HiGHS.If needed to decrease memory usage further, you could also do something:
My conclusion is that we're probably okay for now, and that we can revisit this if it becomes a problem in future.