OMPR Extension to Xpress Solver #451
bmdahl1
started this conversation in
Show and tell
Replies: 1 comment
-
Great work! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I'm a big fan of the OMPR syntax for developing MIP models, and I also have access to a FICO Xpress license (full, not community). FICO recently in the last few years extended the functionality of their Xpress optimizer by including an R package
xpress
to be able to run optimization models directly in R. Unfortunately, it only includes syntax for developing the model in add row + add column ('m not sure the formal name for that setup) syntax which I'm not that familiar with (all my experience is using algebraic modeling languages).However, I saw Dirk's post (https://x.com/dirk_sch/status/1489965247171543045?s=20) about how it's not that difficult to extend OMPR to other solvers, so I thought I'd give it a try myself and try to create an OMPR extension to be able to run the Xpress algorithm. As such, I've created the
ompr.xpress
package and have started using OMPR to solve models with Xpress in R.So far, the main issue I've run into is that FICO makes changes to the
xpress
package that breaks code from previous versions. As such, I can't guarantee the package will work for versions earlier than Xpress 9.4 (pretty much the most recent version). I had originally developed the package while using Xpress 8.13, and had to make a number of revisions to the package once I upgraded my Xpress version.In my experience, the main benefit to using Xpress instead of an open source alternative is that it offers a much richer set of features. In my use I primarily take advantage of the ability to warm start with a pre-loaded solution, perform sensitivity analysis on a MIP problem by fixing integers after the initial solve, perform infeasibility analysis that can often point in the direction of the constraint causing infeasible solutions, and solve large problems in a few seconds that open source solvers can't find solutions to at all (at least in reasonable timeframe).
I initially created this package primarily for individual use, but please feel free to offer feedback on how it can be improved in any way, especially if it can increase it's utility to the open-source world.
(https://github.com/bmdahl1/ompr.xpress)
Beta Was this translation helpful? Give feedback.
All reactions