Understanding the Combination of PP and DS Optimization

Objective

After completing this lesson, you will be able to explain the DS Optimization Profile for PPO.

DS Optimization Profile for PPO

The Production Planning Optimizer (PPO) does a bucket-based planning, where orders are created towards the start of the bucket. PPO considers the available capacity and suggests a feasible plan on a bucket basis. However, to arrive at a feasible time-continuous plan, a subsequent detailed scheduling step must be carried out that reflects the properties of the PPO result.

What does this mean? First, compare two planning results obtained by either a PPO run or a DS Optimizer run.

The figure illustrates the example that is explained in the following paragraph.

Assume that there are two buckets to be planned and there exists a constraint that limits the maximum stock of each product at the end of the first bucket. The PPO result plans orders for each bucket, reflecting the maximum stock constraint. The orders are created at the beginning of each bucket. There are three distinctive properties of the planning result:

  1. All orders are scheduled at the start of either bucket.
  2. The orders within each bucket respect the overall bucket capacity, but the orders are scheduled in parallel.
  3. The maximum stock constraint is respected.

If you would run the same scenario using the DS Optimizer, the result would look completely different. All orders would be scheduled back-to-back after each other time-continuous finite. This is because the DS Optimizer does not have a notion of bucket and therefore cannot consider any maximum stock constraint at the end of the (first) bucket. Since the DS Optimizer also does not have a notion of storage costs, orders are typically scheduled too early.

How can you then create a time-continuous finite plan respecting the properties of the PP Optimizer result? For this purpose, you can integrate DS optimization into the PPO run. A time-continuous feasible plan is achieved by keeping the most critical operations within the bucket in which the corresponding order was originally planned by PPO, whereas non critical operations could be optionally allowed to start before the bucket in which the order was planned by PPO.

The figure illustrates the example that is explained in the following paragraph.

If the DS Optimizer is run as part of a PP Optimizer run, some information is passed to the DS Optimizer differently, compared to when it was run separately. Essentially, two information is changed in the DS Optimizer call:

  • Order Information

    For the orders selected by DS Optimizer, the start of the validity of the order (which was initially inherited from the PDS start validity) is changed to the start time of the bucket in which the order start time lies. This is to ensure that during rescheduling by the DS Optimizer, the orders do not start before the bucket in which they were planned.

  • Activity Information

    The activity Information is modified, to ensure that the critical operations are not rescheduled before the bucket in which the corresponding order was planned, whereas non critical operations can be rescheduled before the bucket. Only the critical operations should consider the changed validity period of the order.

The idea behind the integration of the DS Optimizer with the PP Optimizer is to ensure that the operations which are planned by PPO are not rescheduled by DS Optimizer before the start of the bucket in which they were planned by PPO. To make this possible, as explained above, the validity of the order is changed temporarily to bucket start. Also, at individual activity level, it is specified whether such activity should respect the new validity.

Now, it has been decided that every activity of an order should respect the modified order validity (for instance, the bucket start), then the later operations may be pushed out of the bucket into later buckets because the earlier operations of the order can be scheduled earliest at the start of the bucket. So, for example, we have operation 10 and 20 with finish to start relationship, then operation 10 might be scheduled in the bucket in which PPO has planned the order, but operation 20 might get scheduled to the next bucket.

To minimize the impact of this behavior, an option is provided to the user to maintain which activities on which resources should respect the bucket start. For example, if operation 10 is not a critical resource and if you are fine with it being scheduled earlier than the bucket start, then you can select the option accordingly for the field Respect Bucket Start for so that the non critical operations can be scheduled before the bucket start and the critical operation could still respect the bucket start. The non critical operations could then be scheduled as early as Start of Optimized Schedule.

The following figure illustrates this concept.

The figure illustrates the concept of PPO integration with DS optimization. As a first step, master data and transactional data are selected as an input for the PPO. The data is transformed into a model, that is solved as an LP or MIP using a solver (Gurobi optimization). The result is transferred back to the application as a bucket-optimized plan. This (intermediate) result is than sent to the DS optimizer with order validity dates changed to reflect the PPO planned buckets and the option to allow violation of validity start dates for non-critical operations only. The DS optimizer creates a time-continuous finite result and returns it to the application.

As previously stated, the PPO is specifically designed for bucket-based planning, meaning it does not handle sequencing. To obtain a finite sequence-optimized production plan, you can perform a DS optimization run after the PPO optimization run. However, it is important to note that the DS Optimizer considers the production plan generated by the PPO, including the allocation of quantities to resources and buckets, and does not relocate orders from one bucket to another once they have been created. To address this, a special optimization profile SAP_PPO is available.

More information on how the DS Optimizer profile must be configured to provide reasonable results, when used as part of a PP Optimizer run is provided in SAP Note 3086357.

The S/4HANA Manufacturing for Planning & Scheduling – Production Planning Optimizer video shows an integrated application of PPO and DS Optimizer.

Another situation in which it can be beneficial to combine a PPO run with DS optimization is illustrated in the following example.

The figure illustrates the example that is explained in the following paragraph.

Assume that there are requirements for six products P1 to P6 in the fourth bucket. For products P5 and P6, there already exist orders in the first and third bucket. Running this scenario with the PPO can create orders for P1, P2, and P3 in the second bucket, and an order for P4 in the third bucket, because P4 can have higher storage costs compared to the other products. Running the same scenario with the DS Optimizer can reschedule the existing orders to earlier buckets and schedule the new orders without considering storage costs.

Running both optimizers together yield a different result.

The figure illustrates the example that is explained in the following paragraph.

If the DS Optimizer is run as part of a PPO run, orders are rescheduled time-continuous finite while respecting the bucket assignment of the PPO result. Thus, the DS Optimizer result is much closer to the original PPO result. It keeps the key properties of the PPO result, while translating it from bucket-finite to time-continuous finite.

What is the impact of this concept to your system example? Watch the Run the Production Planning Optimizer with Detailed Scheduling simulation to learn how to run the PPO with and without detailed scheduling, review the planning result in the product planning table, and compare the results of two optimization runs. By completing this simulation, you can experience the look and feel of the solution and explore the supported business processes. The simulations serve as an entry point for the exercises that you can complete by yourself in the SAP Practice System, in which you can explore the features and functions in greater depth. Even though the simulations in this course are labeled exercises, they are not as comprehensive as the end-to-end exercises offered through SAP Practice Systems. They are merely intended to provide initial hands-on practice before attempting the end-to-end exercises.

You must have noticed that the planning result of the PPO run with DS optimization is now (exactly) time-continuous finite, because the DS Optimizer planning step has removed any inaccuracy from linear optimization (bucket-utilization slightly above 100%).