S-graph

The S-graph framework is an approach to solving batch process scheduling problems in chemical plants. S-graph is suited for the problems with a non-intermediate storage (NIS) policy, which often appears in chemical productions, but it is also capable of solving problems with an unlimited intermediate storage (UIS) policy.

Overview
The S-graph representation exploits problem-specific knowledge to develop efficient scheduling algorithms. In the scheduling problem, there are products, and a set of tasks, which have to be performed to produce a product. There are dependencies between the tasks, and every task has a set of needed equipment that can perform the task. Different processing times can be set for the same task in different equipment types. It is possible to have more pieces of equipment of the same type, or define changeover times between two tasks performed on a single piece of equipment.

There are two types of the scheduling problems that can be handled:
 * The number of product batches to produce is set, and the goal is to minimize the makespan (processing time).
 * Every product has an associated revenue, and a time horizon for production is set. The objective is to maximize the revenue in this fixed time horizon. S-graph framework also contains combinatoric algorithms to solve both of these problems.