This is the first in a series of postings which challenge the common conception that linear programming solvers are in general not a good fit when dealing with industrial size factory planning processes that typically consider thousands of manufacturing orders and complex multi-step routings. These findings are the result of our five year engagement with such problems in real life business environments. Here, we take a systematic approach in order to analyze the need for using formal optimization, the challenges that arise in this process and the ways to overcome them.


Factory planning is a general term used to describe a variety of problems in various industries. In make-to-stock environments it is used to describe the planning of stock orders typically driven by demand forecasts. In such environments it is usually implied that a single manufacturing site is considered at a time, meaning that if the company operates more than one factory, it deploys an equal number of factory planning solutions. This is because sourcing decisions have already been taken in the more aggregate master planning solution based on long term agreements with suppliers and customers.

On the other hand, in a make-to-order or configure-to-order environment, factory planning usually refers to the planning of real customer orders. In this case, sourcing decisions often need to be taken as late as possible, when the full details of the customer order are known. In order to do that, the factory planning solution may be covering more than one actual manufacturing sites. Actually, in complex manufacturing environments with many intervening and competing relationships between sites, it is not uncommon to apply one factory planning solution across the complete organization. This is typically encountered in the metals industry.

Factory planning solutions also differ significantly in the level of detail of the modelled manufacturing processes.  This is a company specific characteristic that depends on the complexity of the considered manufacturing processes as well as on the existence and particular characteristics of the underlying scheduling systems that drive the actual production on the shop floor. Typically, the level of detail in the factory planning solution increases with the complexity of the manufacturing process and decreases with the presence of complex scheduling systems.

A factory planning solution is responsible for preparing a plan that can be used in order to drive production at the manufacturing floor. This is usually achieved in two steps. In the first step, an automated solution algorithm is used in order to prepare a first draft of the plan. In the second step, the planners make manual adjustments to the plan in order to improve it. The relative importance of these two steps has been the issue of many debates and people have varying opinions depending on their role and responsibilities. Our experience indicates that in complex manufacturing environments, although the importance of manual adjustments cannot be underestimated, it is absolutely critical that a good quality plan can be derived automatically.

Most factory planning tools available today consist of solution algorithms that rely on heuristics. Heuristics are simple algorithms that are meant to provide good, but not necessarily optimal solutions to difficult problems.

Actually, a heuristic should have the following two key abilities:

  • feasibility, meaning the ability to find solutions that are implementable without a lot of changes
  • good quality, meaning being able to find solutions of acceptable quality

In addition to these key abilities, a heuristic is typically complemented by certain interesting characteristics that make it attractive:

  • simplicity, meaning that a heuristic usually follows a simple, easy to grasp search logic, which is reminiscent of simple instructions fora treasure hunt game (“go straight, find the tree, go left,..”)
  • configurability, meaning that a heuristic usually offers a lot of options for changing the search rules, allowing for endless variations of trial and error tests
  • speed, meaning that it usually takes some minutes for a heuristic to come up with a solution

Although important, these characteristics only make sense if a heuristic is able to deliver its two key abilities.

In the following post, we will focus our attention on ways to identify that a heuristic is under performing. We will also see how its characteristics mentioned above also make this process more challenging.