Figuring out which Mixed-Integer Programming (MIP) solver to use can be difficult. You may be thinking, do I really need to scale or can I get by with open source solvers?
If you need scale, the idea of needing to purchase a workstation computer from the 2000’s to work with may be out of the question. You might be able to get by using your laptop (even if it's not a supercomputer), but it could still be a hassle to make things work efficiently. Below are some factors to consider to get you through the process of deciding which MIP solver to use and where to run it.
What is a MIP and how are they used?
MIP is often used for system analysis and optimization. Since the beginning, MIP has been a flexible and powerful method for solving large, complex problems.
The MIP space really took off from the birth of the supply chain space during and after WWII. With long lead times and complex transportation decisions, optimization was introduced as a quick way to scale up better decision making for how to keep the troops supply lines running for the war efforts.
Since then, optimization has rapidly taken root across nearly all industries and business problems. It is especially prevalent in the supply chain, retail, and CPG industries to compete in tight markets and make more informed decisions.
It’s vital to find the right person for the job.
In any algorithm setting, data is king. To leverage MIP technology, first and foremost you need solid data experts to pull and prep the data for use. Luckily this skillset, while competitive, is well known and understood. With some decent hunting for availability in almost every company out there you can find competent data experts who are ready to harvest, clean and transform your data to give you what you need.
However, finding someone that can create the formulations needed for the MIP solver is another story. In recent years, we have seen many of these skilled technologists getting pulled into Data Scientist roles, where their focus shifts from MIP formulations to some of our favorite buzz words like machine learning and artificial intelligence. The market has found that working in one predictive and prescriptive tech usually makes you well suited for the other. And with the tech giants eager to swallow all the skilled labor they can find, getting a talented MIP formulator can be a real challenge. That said, searching for people with keywords like Industrial Systems Engineering and Operations Research along with data scientists will often help you target the right people for the job.
What do you need in a MIP Solver?
If you have a complete understanding of your data and access to a skilled MIP formulation expert, you’re ready to discover which MIP solver to use. Here are things you need in a MIP solver:
Reliability: A solver needs to solve and frankly, this can be difficult because our goal is consistency. This means that we want reasonable results most of the time. Unfortunately, the reality is that all the solvers get stuck on particular problems, so our goal is actually to minimize how often that occurs. Solvers need a robust set of heuristics for generating new solutions, good parameter controls for cut generations, and solid decision management for the branch and bound enumeration.
Scalability: The types of problems that MIPs are used to solve are NP-complete, resulting in the solve times to be non-linear as our problems grow in size. With every order of magnitude of scale, the time to solve will increase significantly. It is non-trivial to control the state-space of 10M variables, with a large set of them having integer requirements. The solvers have to do an excellent job of optimizing the cpu, memory, and paging in addition to creating an algorithm that is performant as it searches. Additionally, we have found that throwing more hardware only takes you so far. That there is increasingly diminishing returns from solving with more cores due to the effort required to synchronize each core’s activities.
Accessibility: Your MIP solver should allow you to scale dynamically and easily. This is where Optilogic shines. Our community makes connecting with other experts in the optimization and simulation space easy, especially when you have real problems that need solutions quickly. At the click of a button you can change from a 2 to 16 core machine. Because our software is web-based you can work from nearly anywhere and on any platform. We provide the infrastructure needed to scale dynamically to your current solver’s needs. You no longer have to run solves in sequence while you wait through the queue on your company’s expensive high compute resources. The Optilogic Design Studio makes it easy to spin up 30 jobs (or 300!) with all your scenarios running in parallel, helping to move you through your project analysis faster. Once the build phase is complete, our solutions make it simple to get your colleagues and users into your model without needing to know everything you did.
Take the next step with Optilogic
With the power of Optilogic, you don’t need any additional hardware or software to build high-fidelity models. From prototyping to deployment, your end-to-end modeling needs are covered no matter the complexity of your model with the Optilogic Design Studio. Get started for free today. Create your free account here.