New version of ODH|CPLEX has significant performance enhancements and new Python Interface for Data Scientists

ODH is a heuristic engine designed for finding good solutions to mixed integer programming models (MIPs). These are used to model scheduling, logistics, planning and investment problems across the full range of industrial and organisational activities. Petrochemicals, energy and metals have used MIP planning and investment models to run their businesses for decades. Increasing hardware and software capabilities have taken the models to shorter term scheduling and logistics problems and now the technology is used across all endeavours from agriculture to aerospace, from mining to manufacturing, from scheduling to strategy, from railways to retail.

Model size and complexity is growing as short term decisions, detail and more complex global operations need to be considered, supported by a growing availability of accurate data. Many stretch the MIP optimization software technology and hardware to the limit. ODH was born from the need to get good solutions to highly complex satellite scheduling models and now has a track record in scheduling, communications, supply chain and logistics.

It is particularly successful on models which naturally decompose into separate entities such as time-periods, production lines, manufacturing centers and the like. It principally works by splitting the entire problem into a sequence of smaller sub-models which can be solved simultaneously on separate processors or cores. It is effective at exploiting the 8 or 12 cores commonly available on modern servers.

ODH|CPLEX is an embedding of the ODH engine inside the world’s leading MIP optimizer, IBM CPLEX. It brings the advantage of ODH – finding good solutions to difficult models – to CPLEX which computes an improving best bound and closes the optimally gap to give solutions of proven quality.

The ODH technology works hand-in-glove with CPLEX from the ODH engine using CPLEX to solve the sub-models to exchanging solution and bound information with the main CPLEX solve of the full model. Since it runs in concurrent separate threads it needs at least 12 cores to run most effectively but may still bring benefits to 4 core configurations.

The ODH decomposition can be tailored to the model structure for improved performance and when used within a modelling system such as AIMMSTM, it can use the symbolic algebraic model structure to accelerate the optimization.

ODH and ODH|CPLEX have APIs for C, C++/Concert, Java and Python. The Python interface provides a convenient interactive environment as well as connecting it with the most popular data science development platform, which enables it to be embedded in tailored methods and co-work with CPLEX and IBMs CP optimizer.

Contact Optimization Direct to find out more about ODH|CPLEX.