As a prerequisite to the optimization run, the following profiles must be defined:
- Category Profile - Category profile defines the order categories which are used to read the demand and receipts for the given location products. These demands and receipts are then passed as input to the optimizer.
- Time Bucket Profile - You can define a profile consisting of a set of time units (such as years, months, weeks, and so on) that are used to generate time buckets for the PP Optimizer run. Time buckets are time durations in a bucketed format within which the planning is carried out.
- Parallel Processing Profile - You can choose to execute the PP Optimizer with a parallel processing profile by which the optimizer runs with multiple parallel processes to improve overall performance. You define a parallel processing profile which consists of settings for the optimizer to run in parallel tasks.
- Optimizer Profile - In this profile, you choose which optimization method you want to use during the optimization run (linear optimization or discrete optimization) and which constraints you want the algorithm to consider. This profile has several tabs with logically similar fields that the optimizer considers for its calculations.
You define the profiles in the Customizing following the menu path Advanced Planning → Production Planning Optimization → Basic Settings.
Category Profile
In the category profile, you can categorize your orders into demands (such as customer demands, forecast demands, demands from firmed planned orders, and so on) and receipts (such as receipts from firmed planned orders, production orders, purchase orders, and so on). For this purpose, you first must define category groups. A category group is a group of requirement and stock categories. Category groups are used in the planning area, for instance, to specify the categories from which orders are considered when reading a key figure from liveCache. For this purpose, you can also specify the quantity type for each category that you want the system to consider when it reads orders from this category for a key figure from liveCache. You can combine categories which are sent as inputs to the Production Planning Optimizer as demand, receipt, or stock. For example, you can create a category group for combining all the categories corresponding to the production-dependent demands.
In the category profile, you have to define one category group for each of the following:
- Customer demand
- Demand forecast
- Stock
- Confirmed production receipts
- Confirmed production demands
- Confirmed distribution receipts
- Confirmed distribution demands
Time Bucket Profile
The concept of bucket capacities in PPO involves dividing the planning horizon into discrete time intervals, commonly referred to as buckets. Each bucket represents a specific period, such as a day, week, or month, depending on the planning requirements of the organization. You can define a profile consisting of a set of time units (such as years, months, weeks, and so on) that are used to generate time buckets for the PP Optimizer run. Time buckets are time durations in a bucketed format within which the planning is carried out.

It is possible to define intraday buckets for the PPO. For example, shift buckets over even smaller buckets can be created. However, you should consider that variables are required for each bucket and therefore the algorithmic complexity increases with the number of buckets. Demands and available resource capacities are considered according to this bucket definition and receipts are created and scheduled in these buckets.
You can read the definition of the time bucket profile as follows considering the definition of the preceding table:
- Three months will be planned (the current month and the next two months).
- The first monthly buckets (here: only the first month) will be divided into two weeks.
- The first weekly buckets (here: only the first week) will be divided into five days.
- The first days (here: two days) will be divided into shifts (subdaily buckets).
The following constraints apply to the definition of time bucket profiles:
- The smallest duration within a day for sub daily buckets is two hours.
- The total duration for sub daily buckets (that is, time duration multiplied by the number of repetitions) should not exceed 24 hours.
- If the total duration for the sub daily buckets is not 24 hours, an extra sub daily bucket with the remaining duration is added to maintain the 24-hour continuity.
- The duration for a time unit should not be greater than the next higher time unit.
Parallel Processing Profile
This is a configuration setting in which you define parameters such as server group, maximum number of parallel work processes and the minimum package size for the PP Optimizer to run multiple tasks in parallel. The package size for each of the parallel tasks is calculated depending on the number of objects to be processed and the available work processes. The minimum package size maintained in the parallel profile is the bare minimum that must be respected while calculating package size for each work processes. For each parallel processing profile, apart from the technical settings such as the maximum number of parallel processes or the minimum package size, you can specify the server group which the parallel profile uses. If the server group is not maintained in the parallel processing profile, then the system uses the default server group for parallelization.
Production Planning Optimizer Profile
You use the production planning optimizer profile to define the optimization methods and to activate the constraints you want the PP Optimizer to consider during its calculations.
On the General Constraints tab, you activate the constraints that you want the optimizer to consider independently from the chosen optimization methods, such as production capacity, or take the minimum PDS lot size or minimum transport lot size into account. On this tab page, you also define whether you want the optimizer to consider the safety stock. If you do, you can specify whether you want to consider the period length and if time-dependent safety stock must be read. Moreover, you can specify whether you want to consider the period length of the bucket to calculate the costs for the stock on hand. You can also set the condition if you want order splitting to occur for PP/DS orders based on the concept of different lot sizes. If you want to activate product substitution functionality for the PPO, you can select the Supersession Chain flag.
If required, on the Discrete Constraints tab, you can define the horizons within which the discrete constraints (such as minimum production lot size or transportation lot size, integral production lots, and so on) are to be considered. Consideration of discrete constraints in the PP Optimizer is performance intensive and makes it harder to find a good solution or even an optimal solution. Hence, production planners can restrict the horizon for each constraint individually. The optimizer then considers these discrete constraints for the discrete optimization method, such as integral (integer value) or minimum lot sizes for transportation or the production data structures (PDS). A prerequisite for being able to make settings on this tab page is that you have chosen the Discrete Optimization method in the header data.
On the Solution Methods tab, you define parameters pertaining to the algorithm used for solving the problem and performance-related parameters such as decomposition, maximum runtime, and the maximum number of improvements during discretization for the optimizer engine. You can also control, which algorithm is used as an LP solution procedure (primal simple, dual simplex, automatic algorithm selection, interior point method). For priority decomposition, you can select either a strict prioritization or a cost-based prioritization to specify whether you want the optimizer to use the demand priority or the costs priority as the determining factor when calculating the optimal solution. Strict prioritization should not be used together with the discrete optimization method.
On the Integration tab, you define parameters for the integration between PP optimization and Production Planning and Detailed Scheduling (PP/DS). You can specify that you want the optimizer to consider the dependent demand and distribution demand resulting from fixed orders as a hard constraint or a pseudo-hard constraint. You can also choose whether you want the optimizer to consider the stock of PDS input products or source location products that have not been selected. Furthermore, you can choose whether you want the optimizer to delete any order or choose the type of order that you do not want to delete.
The Automatic Cost Generation tab allows you to define the business goals based on which the optimizer generates all the relevant control costs. If you want to use the automatic cost generation function, you have to set the corresponding indicator in the header data of the transaction.
On the Extended Settings tab, you can specify the type of consistency check (if any) you want the algorithm to make and whether you want the log data for an optimization run to be stored. You can define whether you want the optimizer to take the time-based upper bound for stock as a soft constraint or a pseudo-hard constraint; which means, whether they can be violated with incurring penalty costs. You can also define how you want the optimizer to proceed if it cannot find a solution for a problem within the specified runtime. First, you can enter a runtime extension. If the optimizer cannot find a solution by the end of the extended runtime, other options are available (such as simplification of the problem).
The Production Planning Optimizer multiplies the factors that you assign on the Cost Multiplier tab for each parameter, with the costs defined in the corresponding cost maintenance (typically the master data). All the parameters defined in this profile represent multipliers of costs that are maintained elsewhere. Cost multipliers can be maintained for the following:
- PDS costs
- Production capacity increases costs
- Setup costs
- Procurement cost
- Transportation cost
- Storage cost
- Safety Stock penalty
- Late Delivery penalty
- Non Delivery penalty
- Quota arrangement violation cost
- Interchangeability cost
If you do not want the system to consider one of the cost aspects defined in the cost maintenance, you can enter the multiplier as 0 in the relevant field on the Cost Multiplier tab. If you want the PP Optimizer to consider the costs as they are already defined (in other words, no multiplier is assigned to the costs), you enter the value as 1 in the relevant fields. You can enter any appropriate weighting factor, which the algorithm applies to the costs defined in the costs maintenance. It is a best practice that you change the settings for testing to avoid the need to change each individual master data element. Changing values here can have a significant effect on the outcome of the optimization model. For example, if you reduce the cost multiplier for storage costs to zero, you switch off the just-in-time production. Since no storage costs are incurred, it is of no relevance to the system when production or procurement takes place.
Watch the Review the Production Planning Optimizer Profile simulation to learn how to review and maintain PP Optimizer Profiles and how to identify the differences between linear and discrete PP Optimizer Profiles. 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.



