Manufacturing Scheduling and Optimization (MSO)

Manufacturing Scheduling and Optimization (MSO) is a solution designed to generate finite production schedules by optimizing the use of manufacturing resource constraints. It enables efficient execution of shop floor activities by aligning production with business objectives. The primary users of MSO are inventory part planners, while shop floor employees, such as production supervisors and machine operators, refer to the generated schedules to guide execution. The production schedule defines the sequence of manufacturing activities, and MSO ensures this sequence is optimized to meet organizational goals.

MSO leverages the IFS PSO (Planning, Scheduling, and Optimization) engine to generate schedules. It considers a wide range of parameters, including:

Production planners can configure the desired optimization quality and maximum scheduling time per site during MSO dataset activation. These settings enable MSO to balance performance with scheduling precision. MSO supports both Make-to-Stock and Just-in-Time (JIT) production models within a single scheduling run. It can optimize schedules in either direction as defined by the shop order.

MSO is highly configurable and can be fine-tuned using MSO advanced parameters to meet specific business goals, such as minimizing late orders, reducing average tardiness, or improving earliness, etc.

MSO creates finite schedules based on the manufacturing and shop order scheduling related data. Therefore, it is essential to set data that affects the shop order schedule before using MSO.

MSO Scheduling Service Configuration

Configure MSO Advanced Parameters (For modification by PSO/MSO SMEs only)

MSO is highly configurable and can be fine-tuned to support a wide range of business objectives, such as minimizing the number of late orders, reducing average tardiness, or improving earliness. Subject matter experts (SMEs) can use the MSO Advanced Parameters page to create templates with refined parameter values. Once created, these templates can be activated and connected to the relevant sites. The refined parameters in the connected template then influence the scheduling behavior at each site. Site connections are managed on the Advanced Settings tab on the Finite Scheduling Basic Data page.

A standard template is provided out of the box, pre-configured with validated and tested parameters to ensure reliable performance across typical scheduling scenarios. This standard template is automatically assigned when a site is set up for MSO. It is strongly advised to use this standard template and its default values unless a specific business requirement justifies a customized scheduling approach.

On the MSO Advanced Parameters page, the MSO Model tab contains key parameters used to generate optimized production schedules in MSO. The PSO Profile tab contains PSO-specific parameters defined within the MSO profile, which directly impact the behavior and efficiency of the scheduling and optimization processes.

For more information, see the activity Configure MSO Advanced Parameters.

Set-up Finite Scheduling Basic Data

To run MSO on a site, it must be set up on the Finite Scheduling Basic Data page. The required settings must be configured, and the dataset must be activated. The user who initially activates the dataset is considered its owner. After activation, only the dataset owner and users with admin privileges can activate, deactivate, or delete the dataset. The sections below describe each group of settings in detail.

Scheduling Mode Settings

The settings related to scheduling mode are:

Scheduling Server Configuration Settings

The settings related to scheduling service configuration are:

Scheduling Rules Settings

Scheduling rules are hard constraints that the scheduling service follows while generating the scheduling result. Unlike optimization goals, such as aiming to complete the operations on a shop order before the need date, these rules are strictly followed.

The settings related to scheduling rules are:

Optimization Goals Settings

Optimization goals are soft constraints that the scheduling service considers when generating the scheduling result. The scheduling service is not required to follow these goals strictly. Instead, they serve as targets that the scheduling engine attempts to achieve while strictly adhering to standard scheduling aspects and scheduling rules.

The settings related to optimization goals are:

Constraint Exemptions Settings

MSO is designed to consider work centers, labor classes, and tools as scheduling constraints when generating the scheduling output, and to schedule shop orders of all types. However, it is possible to exempt labor, tools and/or specific shop orders types when these are not necessary to consider.

The settings related to constraint exemptions are:

Note: When scheduling is performed for a subset of shop orders, these constraint exemptions settings defined at the site level can be overridden. This allows the exemptions to be tailored to the specific needs of each subset.

Scheduling Controls Settings

The settings related to scheduling controls are:

Allow Reassignment when Drag and Drop in Smart Manufacturing Planning Board Settings

The settings related to allow reassignment when drag in drop in smart manufacturing planning board are:

MSO Scheduling Modes

 MSO provides two distinct scheduling modes to support different operational needs: manual and automatic.

 Manual Scheduling Mode

When a site is configured for manual scheduling mode, finite scheduling at the site is performed only when a planner explicitly requests it. This means a planner must manually initiate the scheduling process to generate an up-to-date finite shop order schedule. The following scheduling approaches are possible:

Automatic Scheduling Mode

When a site is configured for automatic scheduling mode, finite scheduling is performed automatically whenever required, for example when a new shop order is created. In this mode, the scheduling process cannot be triggered manually.

Below are key aspects of automatic scheduling mode:

 Limitation: Automatic scheduling mode is not available for users on the IFS.ai-based platform services.

Automatic Schedule Generation

This is the time interval to trigger and adjust the schedule based on site time automatically, even if no changes are detected in even in MSO Automatic mode.

This can be registered as a new database task schedule on Send Scheduling Optimization Dataset updates method for the specific Dataset ID named as 'MFG_site name_Static' or 'MFG_site name_Reactive'. From this database task, advanced users can add a live schedule update interval for MSO dataset. The PSO recommended values are 59 minutes interval for MSO Automatic and Daily 11.59PM for MSO Manual mode.

A number of users can update any manufacturing-related data on a manufacturing site at any moment. The automatic mode of MSO collects all these change-related transactions to send them to the scheduling server as a bulk. After a certain time interval, MSO transfers this bulk information to the server. This can be described as the time interval it takes to collect change transactions before transferring that information to the scheduling server. This is given in the 'Start Interval' column on the Scheduling Optimization Configuration page, as a common field applicable for all scheduling optimization configurations. The default value is 10 seconds. This can be changed based on the functional requirement, considering the change adaption speed requirement in a specific manufacturing organization.

Platform Services IFS.ai Based PSO Configuration (This is not applicable for on-prem or cloud installed PSO configuration Users)

The IFS.ai based PSO configuration is only possible to use for sites with manual mode.

 IFS.ai configuration users get the benefit of consumption based payment mechanism even in MSO finite scheduling solution. Therefore, users must have a number of dedicated tokens on hand to do a finite schedule or to do a simulation in MSO. IFS.ai tokens will be consumed automatically based on the use of each service.

Below given pages are dedicated for IFS.ai based MSO/PSO configuration users. These pages are accessible from the navigation commands on Finite Scheduling Basic Data page as and directly from the navigator.

Finite Scheduling with MSO

Shop Order Status

MSO is designed to re-schedule Planned status shop orders without any preference for the existing schedule time frame. All planned shop orders are considered as non-firm orders which are not confirmed by the demand source so they can be rescheduled within the scheduling window. Shop order header level Status is considered as key aspect when filtering orders for rescheduling.

Note: On the Site page Manufacturing Sub menu, the Create Shop Orders in Planned Status toggle must be enabled in an MSO scheduling site.

Scheduling Direction

MSO supports both Make-to-Stock and Just-in-Time (JIT) production models within a single scheduling run. It can optimize schedules in either direction as defined by the shop order. MSO will always focus on the scheduling direction given in the shop order header level. In case there is a mismatch in between the shop order header and shop order operation, Operation level scheduling direction information also will be replaced by shop order header level scheduling direction information.

In forward scheduling, the user expects to start production and execute the demand fulfillment promptly. Forward scheduling is scheduling the first operation as soon as possible, followed by the second operation right after the completion of the first one, and so on until the final operation. With capacity constraint scheduling, forward scheduling means selecting the earliest possible timing as soon as materials and resources are available. Forward scheduling ensures that the schedule is realistic with respect to all constraints. It's important to note that forward scheduling doesn't guarantee the completion of scheduled orders within the stipulated timeframe. It might also lead to unnecessary early starts.  

In this direction, the MSO schedule gives the highest opportunity for setting the EPST (Earliest Possible Start Time) of shop order operations. If the EPST has already passed at the time of schedule generation, then the priority is given to the current time to schedule those orders as early as possible.

Forward scheduling

Figure 1 - Forward scheduling starts from the current date or EPST with the first operation

In backward scheduling, the user expects to start production and execute the demand fulfillment as late as possible. This is also called Just in Time (JIT) manufacturing. Backward scheduling is based on the Need Date. The work must be completed before a certain date and time. To ensure that the work is scheduled prior to that date and time, the last task ending on the Need Date is scheduled first, then you can proceed with the second to last, and so on, until reaching the first operation. Backward scheduling ensures the timely completion of the order and avoids starting the order too early. This approach is most commonly used in food, dairy manufacturing or similar industries where the finished product has an expiration date.

In this direction, the MSO schedule gives the highest opportunity for the LPST (Latest Possible Start Time) of shop order operations. If the LPST has already passed at the time of scheduling execution, the shop order to which that particular operation belongs must become tardy. Therefore, those shop orders may not get the primary opportunity over the other future need-dated orders.

BackwardScheduling

Figure 2 - Backward scheduling starts from the Need Date of the last operation

However, for past due shop orders, the user can give some higher opportunity in the schedule, by enabling the Prioritize Past Due Shop Orders option under the Optimization Goals on the Finite Scheduling Basic Data page. This feature gives a higher opportunity to schedule based on the Lateness of past-due shop orders.

The manual scheduling option is not allowed for MSO sites. In case an operation is set as manual scheduling in operation level that also will be replaced with shop order header level scheduling direction with the finite scheduling action.

Scheduling Statuses

The Scheduling Status column is given in the shop order Operations​ overview to show existing scheduling status of each shop order operation. MSO Scheduling Information column is also enabled there to provide some extended information about the latest schedule action done by MSO.

Shop Order Priorities

Priority category in shop order is the key input to define the priority of shop orders when scheduling in MSO. In Shop Order Priorities Overview, the user can define MSO Priority Score for each priority category. This priority score value can be defined as a number ranging from 0 to 10 based on business requirements. Shop orders with higher scores receive higher scheduling priority and push towards the EPST, or the Need Date based on the respective scheduling direction for each shop order. On the other hand, shop orders with lower scores receive less scheduling priority.  

The Standard or medium priority score is set at 5. If there is no priority category defined in Shop Order, it is considered as MSO priority score 5 and gets a similar opportunity when scheduling.

MSOPriorityscore

Figure 3 - MSO Priority Scores

Intraday Planning

MSO seamlessly integrates with the IFS Intraday Planning concept. MSO will schedule the corresponding orders on the same day as the demand. For an optimum result, set the Scheduling Horizon to a shorter time period on the Finite Scheduling Basic Data page.

Machine & Labor Operations Scheduling

Machine Operations and Labor Operations are equally treated respectively when allocating resources in MSO.

Natively the MSO architecture considers both machine and labor operations with similar opportunities when allocating shop order operations. If a certain shop order operation has both machine and labor hours defined, the scheduling service considers it as a single booking that needs to be scheduled together, consuming the same time frame.

If machine hours and labor hours are not equal in a shop order operation, then MSO always considers the operation (i.e., machine or labor) that requires the largest hours load to set a base duration and allocate it in full capacity (i.e., 100% capacity). The resource requiring the lower hours load allocates for the same duration at a partial capacity (i.e., less than 100%) booking based on the Load difference. This approach is considered for both Setup & Run operations and is calculated as separate transactions.

Example:

AboutMSOimg1

Figure 4 - Machine or Labor: Largest time consuming constraint centric scheduling

When alternative resources are available, e.g., two or more resources in a work center, the preference is given based on the resource efficiency. If there is a requirement to load a single resource, the Preferred Resource column can be set in the shop order operation. Otherwise, MSO provides the most suitable position in the timeline and makes a schedule result using a combination of resources based on their availability in respective work time calendars or HR schedules considering the scheduling direction given in the shop order.

Labor Crew Size: When booking with partial capacity due to different times in machine and labor or due to resource share or due to crew sizes given with decimals, MSO will not consider the exact number given in crew size (i.e. Setup crew size or Run crew size) to schedule the number of people. Instead, it will create the schedule considering the least number of people required considering man hours per each operation neglecting the number of crew or crew size given in the shop order operation.

If the Use HR schedule flag is enabled for persons in the Manufacturing Labor Class, specific HR schedules are also considered by MSO including the employee deviation days.

Tools Consideration

When scheduling a shop order operation using a connected tool group, the required quantity of individual tools or equipment within that tool group will be allocated for the entire duration of the operation, including both setup and run time. The capacity of a tool group is determined by the calendar connected with the tool group, the individual tools or equipment it contains, and their validity periods. Note that this also applies to tool groups where the Capacity Calculation Base setting is set to Group. Calendars connected to an individual tool or equipment on the Resource Details page are not taken into account.

MSO does not consider whether specific tools or equipment have already been assigned to a shop order operation. It also does not update the assigned tools or equipment based on actual allocations during scheduling.

Furthermore, it does not consider scenarios in which a tool or equipment is already allocated to another object, such as a work order task. As a result, MSO can allocate the same tool or equipment to a shop order operation during the same time period in which it is already allocated to a work order task, even though the tool or equipment has finite capacity.

MSO also does not consider any external setup or teardown time for a tool during the scheduling.

Schedule with Infinite Resources

Infinite work center resources are considered as a single resource with unlimited capacity.

If there are more than one infinite resource available to choose from (e.g., Infinite work center has 10 work center resources available), then MSO gives priority to the primary resource when scheduling the operations. The functional thinking on this approach is that if a particular resource has infinite capacity, then there is no use in distributing loads on multiple infinite capacity machines. Using a single machine may help to reduce the carbon footprint, energy, etc. This limited load distribution mechanism is natively supported in MSO when scheduling the operations.

If there is a partial operation report being done, then the same reported resource is planned to do the remaining part of the specific operation.

Infinite capacity persons and tools are also considered in similar design thinking, using this limited load distribution mechanism.

Resource Share

Resource share given in the Resource Share column in Shop Order Operation is considered by MSO when scheduling. This resource capacity share is applied to the resource capacity balance that results from the allocation of labor & machine capacity as described in the section above on Machine & Labor Operations Scheduling.

In case Concurrent Operations are 'Not Allowed' in the Work Center's Operation Reporting Settings, MSO will block the Resource share capability of specific work center.

Decimal values given in labor Setup & labor Run crew size columns are also considered to set partial capacity booking during scheduling in MSO. This resource capacity share is applied to the resource capacity balance that result from the allocation of labor & machine capacity as described in the Machine & Labor Operations Scheduling section above.

Efficiencies

Efficiency given in shop order operations is considered when scheduling with MSO.

The operation efficiency affects only the run time, not the setup time. When the operation efficiency is set to less than 100% (default value), the remaining run time for the machine and labor is increased. This results in an increased value for the remaining manufacturing hours, which could affect the scheduled start and/or stop date of the operation. When you change the operation efficiency, the change also affects the standard cost of the operation. Changing the operation efficiency can be done on specific operations, if there are running-in periods for a while, they temporarily affect the performance of the operation.

Efficiency given in work center resource is considered.

Resource efficiency affects both run time and setup time. If the resource efficiency is less than 100% (default value), the operation is scheduled during a longer time period, because the set up and run time increase. Only scheduling is affected (start and finish date on the operation), not remaining manufacturing hours. Changing resource efficiency can be done if different machines (resources) operate in the same work center with different capabilities.

Resource Validity Periods

MSO will consider validity periods given for all resource types. (i.e. Machine, Labor and Tools)

Preferred Resource

Preferred resource information is considered a preference when scheduling shop order operations.

Transport Time

Transport time is considered when scheduling with MSO scheduling service.

Parallel Operations

 If two operations are parallel, it means that they can be done totally independently of each other. The MSO scheduling logic tries to schedule them so that their output reaches the succeeding operation simultaneously.

parrelelops

Figure 5 - Operations 10 and 20 are scheduled parallel

Operation Overlap

Operation Overlap is considered when scheduling with MSO scheduling service.

When both machine times and labor times are given in shop order operation, MSO will consider overlaps of machine time and labor time individually and will consider the highest time consuming operation overlap percentage as common percentage for both machine and labor times of a single shop order operation.

For more information, see about Operation Overlap.

Material Availability

A part's availability, or scheduled capacity, can be defined as one of the following:

Parts with infinite capacity do not constrain or interrupt the scheduling process within MSO.

A shop order operation that requires a part with finite capacity or always finite capacity can only be scheduled by MSO when the required quantity of the part is available. The required quantity can be covered either by available inventory or by supplies that become available. Supplies dated in the past are not considered. The difference between parts with finite and always finite capacity is that, for finite capacity, the availability constraint applies only within the purchasing or manufacturing lead time. For parts with always finite capacity, the availability is always limited.

As MSO schedules, it records the quantity and the date and time at which the material is consumed and produced.

Within the scheduling window, MSO can plan finite material supplies generated by shop orders for child or semi‑assembled parts, and account for those supplies when scheduling shop orders that require them as materials. This provides significant benefits for users who do not use complex order structures, such as DOP, while still allowing finite material planning based on child and semi‑assemblies.

Limitation: MSO supports up to 4 decimal places and a maximum quantity of 214748.3647 units for all stocks, demands and supplies, regardless of the unit of measure (UoM).

Note: It is not recommended to apply finite capacity or always finite capacity for all the parts at a site. It should only be used for critical materials which have a real need of finite capacity consideration.

Machine Maintenance

Obstructive maintenance tasks for manufacturing resource objects are considered when scheduling with the MSO scheduling service. MSO considers the actual work task as a hard constraint that is booked for a defined time period from Planned Start to Planned Finish in the work task. Remaining available time is used for the scheduling of shop order operations.

Note: Maintenance Import is not a necessary work task to consider for MSO finite scheduling since this directly refers to the work tasks from maintenance management. Manually created maintenance tasks such as Resource Breaks are not considered for the MSO finite schedule.

Smart Manufacturing Planning Board

Smart Manufacturing Planning Board related default settings can be set from separate tab given in Finite Scheduling Basic Data page.

For more information, see the about Smart Manufacturing Planning Board.

Misc. Information

i.e., Shop Order Infinite Scheduler is generally triggered only by changes related to shop order operation machine related parameters. However, when MSO is activated, changes related to Machine Resource share, Setup & Run Labor Class, Setup & Run Labor time, Setup & Run Labor crew size, Setup & Run Labor qualification profile, Manufacturing Tools and the number of instances will also trigger the Shop Order Infinite Scheduler to keep the shop order operation scheduling status up to date.