# Solvers: What are they and what role do they play in supply chain optimization?

##### Authors: A. Tamer Ünal and Z. Caner Taşkın

At its core, every supply chain planning and scheduling problem is essentially an optimization problem – as its solution lies in finding a way to optimize the flow and delivery of goods and services from supplier to customer.

But what exactly is an optimization problem? Fundamentally, every optimization problem consists of three components:

**Decision variables**: these are the values we want to calculate. For example, production quantities, inventory quantities, or transport shipment quantities.**Constraints**: these are the elements in the supply chain that limit or restrict the decision variables in some way. Some constraints are related to technical limitations. For example, the capacity of a machine may be a production constraint and the capacity of a truck or train may be a logistical constraint. There can also be managerial constraints. For example, a company may not want to invest more than a certain amount on a particular channel. There can be legal constraints and personnel constraints as well. Generally speaking, constraints act as limitations for the decision variables.**Objective functions**: these are the Key Performance Indicators (KPIs) that we would like to improve upon. For example, your company may want to minimize costs, maximize profits, or increase customer satisfaction.

*The role of solvers*

To determine the solution to these supply chain optimization problems, we must be able to calculate the values of the decision variables while taking constraints into account. This should give us the optimal performance. Mathematically speaking, we can model these optimization problems as mathematical problems. Theoretically, these problems can be solved by using standard techniques – which are called optimization techniques.

Solvers are generic applications designed to solve generic optimization problems by using standard techniques. For example, some of our models are called Mixed Integer Programming (MIP) models, which are frequently used to solve supply chain planning problems. There are solvers that implement certain well-known algorithms to solve these Mixed Integer Programming models. These solvers are called optimization solvers.

ICRON is solver independent, which is a unique feature among supply chain optimization software solutions. ICRON is capable of using different solvers – for example, CPLEX or Gurobi – as optimization solvers.

*Different types of solvers*

Some optimization problems are so complex that the standard optimization techniques, which are provided by these standard solvers, are not up to the task of generating solutions. In this instance, we need to have additional capabilities to define heuristics, which are non-optimal algorithms. Heuristics are able to quickly produce good (but not necessarily optimal) solutions for a problem. There are even heuristic solvers – such as LocalSolver – providing this kind of functionality as well.

ICRON has its own internal solvers that are able to handle detailed scheduling problems for the capacity and material calculations and to support algorithm modeling internally. There are also solvers that actually solve statistical models like R. If you have, for example, a regression model that you want to find the parameters of, then you can use the R system to generate the generic solution for that generic mathematical statistical model. But these solvers are typically employed either for standard mathematical problems without any specific detail regarding the supply chain or scheduling problems. ICRON utilizes these solvers to solve the underlying mathematical problems that occur, while solving the actual business problem within the supply chain and scheduling domain.

*The flexibility of the ICRON solution*

Is it unique to be able to interact with different solvers? Not really, as there are modeling applications for optimization – so called modelers like GAMS or AMPL – which can do this. ICRON is unique in that it provides access to all these different types of solvers: statistical solvers, optimization solvers, and heuristics engines.

Indeed, one of the key strengths of the ICRON system is its flexibility – it is designed to allow users to access and deploy any relevant solver that’s available on the market. With ICRON, the solver becomes an embedded part of the solution, as the system is not confined to a specific solver paradigm or solution type.

ICRON is flexible enough to be able to integrate any type of solver and utilize any paradigm to solve a given problem optimally. This is important because for S&OP you can use a MIP solver, for scheduling you need a scheduling engine, and if you are dealing with logistics problems, then you need a specialized solver for that.

ICRON has the power, speed, and flexibility to solve all of your company’s complex and challenging supply chain optimization problems – utilizing virtually any commercially available solver. In this way, ICRON is able to deliver total optimization across your supply chain, taking into account all of your unique decision variables, objective functions, and constraints and providing a 100%-fit solution for your business.