Home » » Optimizing production schedules with AIMMS

Optimizing production schedules with AIMMS

Afbeelding

Optimizing production schedules is not easy, but possible with the right tools and knowledge. In this article Johan den Breejen and Sander van Lokven describe why AIMMS is a perfect match for this challenge. AIMMS combined with the experience of Districon gets the job done: optimized solutions that really work in practice

Optimizing production schedules: in theory not so easy, in practice very hard

It is always fascinating to walk into a production hall, experiencing the overwhelming noise and the incredible speed at which products are created. As long as the belts keep running, of course.

Almost as fascinating as watching the products being created is trying to make a decent schedule for this creation process. A good schedule satisfies customer demands, minimizes changeovers and working capital, keeps machines and employees occupied  and does not break down as a result of small disruptions. Well, easier said than done.

By trying to fit the reality in a mathematical model the computer can help to optimize the schedule. Ideally you put all data, objectives, restrictions and variables in the computer and press “SOLVE”. Then you wait a couple of minutes, get some coffee on the way while the optimal result rolls out.

This approach works well for limited amounts of products and machines. However, theory says that “the complexity of the model grows exponentially with the size of the problem”. So, solving these kind of problems become much harder when the production hall slightly grows, or when slightly more end products and packaging sizes are introduced. In reality it is even more difficult, because facilities tend to grow over time, introducing exceptions and bypasses, which are very important but hard to grasp in a model.

AIMMS very applicable: strong calculation (best in class solvers) + intuitive visualization (Gantt charts and more)

Optimizing production schedules can be done very well within the AIMMS platform. AIMMS contains all necessary components to make a successful application that can be used in (for instance) production environments. Two parts are especially important for production scheduling, namely the calculation and the visualization.

AIMMS has access to multiple solvers, including commercial best in class solvers as CPLEX and Gurobi. AIMMS connects all relevant constraints and objectives to the desired solver. This allows the developer to create any kind of optimization model, including production scheduling, without worrying about the connection to the solver. In this way it is guaranteed that the best solvers are used to do the calculations. 

The user interacts with the model via the user interface. This user interface is custom made, making sure the right information is shown and the right tools are given to the user. Very useful to include in the user interface is the interactive Gantt Chart. It gives a nice total overview over the facility, but also all necessary details per machine. There is a lot of customization possible, like coloring different jobs differently and showing the right details when hovering over tasks. If necessary, jobs can be created, removed and rearranged via a very easy drag and drop mechanism.

Besides the Gantt Chart, all kind of reports and analytics can be shown to support decision making and communication with other departments. For instance, an overview of cost and capacity KPIs for management and another overview to show availability of inventory and orders to the sales department.

Understanding the process + being creative: gets the job done

The design of the model has to be chosen carefully. For a decent size model or larger, it is not enough to just put all data in and wait for the result. This takes way too long, because there are just too many options. Therefore, the model needs guidance.

At first you might want to revise the relevance of the constraints and work on simplifications. You can also try to improve the effectiveness of the best in class solvers by tweaking their settings.

However, this is not enough in most cases. Therefore, two other options come into play:

  • One way is splitting the whole optimization in a couple of steps. To do this properly without running into suboptimal solutions, very good knowledge of the process is essential. 
  • The alternative is to custom fit specific algorithms and heuristics to situations where the mentioned solvers do not comply.

Together with a creative mind you can get incredible results: optimized solutions that really work in practice.

Want to know more? Districon has proven to be very successful by combining all this with extensive experience and knowledge of AIMMS. A good example of this can be found here