Manufacturing Scheduling and Optimization (MSO) solution optimizes the use of manufacturing resource constraints and in return, creates a finite schedule for the shop floor to execute production activities. The primary users of MSO are the Inventory Part Planners and the scheduling results are referred by Shop Floor Employees (i.e., Production Supervisors, Machine Operators, etc.). Production Schedule defines the overall sequence of manufacturing activities execution. Therefore, MSO is designed to achieve the most optimized schedule sequence maintaining predefined business objectives of the manufacturing organization.
MSO solution uses IFS PSO (Planning, Scheduling and Optimization) as the scheduling and optimization engine. MSO creates an optimized schedule by scheduling activities within the most appropriate time intervals along the timeline while giving due consideration to the scheduling costs of the resources (planned to implement in upcoming releases) and other scheduling parameters, namely part characteristic based setup time constraints, resource share capabilities of machine and labor resources, shop order priorities, working calendars or resources and maintenance obstructive work task schedules, etc.
The planners can decide the desired level of scheduling and optimization acceptance quality from the schedule as well as the maximum time the MSO solution should spend searching for a scheduling result. These settings are defined per Site upon the MSO dataset activation. MSO is natively designed to remove or reduce the Number of Late Orders in either of the scheduling directions given in the shop order. This capability helps MSO to achieve timely demand fulfillment as much as possible.
The manual scheduling mode of MSO, is working on finding an optimized scheduling solution as soon as it gets a scheduling request from the planner and returns it as one time output. In automatic scheduling mode, it continuously performs the scheduling adapting to each and every change in demands, supplies, and production environment. The scheduling algorithms in MSO are focused on the most optimized solution. As soon as the solution is reached, which may not be the most optimized, the system checks if the waiting time target or acceptance quality target has been exceeded. If yes, then MSO will immediately return the scheduling result to the end user. Based on the scheduling mode that the planner uses for the site, the optimization process may either continue or stop. In the case of “Manual” scheduling mode in MSO, it stops searching for a more optimized solution while in the “Automatic” scheduling mode, it continues searching for a more optimized solution until it finds the best solution for the scheduling problem.
MSO creates finite schedules based on the manufacturing and shop order scheduling related data. Therefore, it is essential to set the data that affects the shop order schedule before using MSO.
Note: The user who initially activates the dataset is considered the owner of the dataset. Following dataset activation, only users with admin privileges and the dataset owner can activate, de-activate, or delete the dataset.
MSO is designed to consider work centers, labor classes, and manufacturing tools as scheduling constraints. The availability of these three constraints is considered in the scheduling output of MSO. If it is not necessary to strictly follow this rule for labor and tools, it can be exempted using the 'Constraint Exemptions' group on the Finite Scheduling Basic Data page.
If the Exempt Labor option is enabled, labor capacity will not be considered as a scheduling constraint for MSO.
i.e. If this is enabled Finite/Infinite capacity setting on each Manufacturing Labor Class: Person/Person group on the site will not be taken into consideration.
If the Exempt Tool option is enabled, tools will not be considered as scheduling constraints for MSO.
i.e. If this is enabled Finite/Infinite capacity setting on each Manufacturing Tool on the site will not be taken into consideration.
Furthermore, if labor is exempted, the operation will be scheduled by considering only the machine load. Also, if labor/tools are exempted, then no labor/tool related information will be available on the Smart Manufacturing Planning Board page.
Time Horizon (Days): Shop orders with the Need Date in between the current time and count end date, counting this number of days, are considered for the scheduling.
Note: Shop orders with Need Dates in the past are also considered, considering a ten times negative interval from the site date. (i.e., Scheduling time horizon start date= Site Date - 10*Time Horizon (Days))
Scheduling Start Time (Hours): The Ppanner can define the number of hours by which the scheduling starting time needs to be offset instead of scheduling the site immediately.
Generate Scheduling Information: When this option is enabled, scheduling service will update the necessary information or the reasons for the generated schedule and they will be shown in the Shop Order Scheduling Analysis page and 'MSO Scheduling Information' column given for the shop order operations.
IFS.ai based PSO configuration will be limited to 'Manual' mode in MSO.
These 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 commands given in Finite Scheduling Basic Data page as well as the IFS cloud Navigator.
This page shows a list of scheduling optimization jobs performed on IFS.ai configuration. During the scheduling optimization job execution 'Status Detail' column will show the latest status of the scheduling action.
This page shows a log of errors/warnings that appeared when scheduling on IFS.ai configuration.
MSO datasets are scheduling optimization datasets in IFS, created based on a PSO scheduling optimization configuration which is set on-prem or cloud.
These are the hard constraints that the MSO scheduling service follows while generating the scheduling result.
Scheduling rules in MSO are strictly following constraints when scheduling while achieving other business goals, such as:
MSO is natively designed to reduce the Number of Late Orders in either of the scheduling directions. This helps MSO to achieve timely demand fulfillment as much as possible.
The user can enable the automatic schedule adjustment based on the remaining time of the shop order operation. The remaining time is calculated based on the quantity remaining to report. This setting can be used to re-adjust started or partially reported shop orders.
The user can advise the scheduling service to consider the Project Activity Early Start and Project Activity Late Finish time range as a period to schedule for project activity connected shop order operations.
Operation blocks are considered as a hard constraint when scheduling with MSO.
After enabling MSO for the Site user will get a new group of columns called Finite Scheduling Configuration from Operation Block page header itself. With these columns user can define proceeding and succeeding blocks, set preferred resource for the block, define New Start and End times for the block and also can define a New Setup time.
In Manual MSO mode, user will get dedicated Finite Schedule button to execute selective scheduling for the operation block, which is accessible from the Operation Block page. Existing Finite Scheduling Configurations will be always considered for the full site schedule.
In Automatic MSO mode, each and every change that the user makes on the Operation Block page header will be applied immediately.
These are the Soft constraints that the scheduling service follows while generating the scheduling result. Optimization goals in MSO do not strictly follow rules when scheduling. They are the targets that scheduling engine try to achieve while strictly following standard scheduling aspects and scheduling rules.
By enabling this option, the scheduling service gives a higher opportunity to schedule past due shop orders based on the number of late days from the Need Date of each shop order in the dataset.
By enabling this option, the scheduling service considers the setup matrices in the finite schedule relevant to shop orders that are within the defined selection window time period.
- Refer to Activity Descriptions for Specify Scheduling Optimization Constraints and Modify Scheduling Optimization Constraints.
This option is available only for MSO automatic mode.
By enabling this option the scheduling service will maintain the existing start time allocation of shop orders at any event of modified Lot size or efficiency or any other parameter that affects the existing finite scheduled time allocation of a released, reserved or started shop order operation.
In such event of modifying Lot size or efficiency or any other time allocation affecting parameter Manufacturing Scheduling and Optimization (MSO) will try to extend or shrink shop order, starting from the time its original finite scheduled start time. In case if the finite scheduled start time has already passed, it will be scheduled to start from the current time.
Note: If extend is not possible due to some other commitments in the scheduled resource, firm shop orders can also get unscheduled. In such a situation, it should be manually managed or rescheduled by the user.
This feature is designed for users who are willing to maintain the least number of Work in Progress (WIP) items on the Shop floor while maintaining a fixed maximum limit of slack time in between shop orders in order structures and in-between single shop order operations.
When this option is enabled the scheduling service will try to minimize the slack time in between single shop order operations. Once the toggle switch is enabled Shop Order Lead Time Settings group will appear in Advanced settings tab in Finite scheduling basic Data page. In that group users can control the maximum slack time and compress level for single shop order operations and also for DOP relationships, project related relationships and batch balance related relationships of shop orders.
The 'Maximum slack' is given as a 24x7 time interval applying as a hard constraint when setting the maximum slack in shop order operations. Therefore, shop order operations may get unscheduled due to the calendar unavailability or due to the limited capacity on resources on specific time frame without any information on 'MSO scheduling information'. This is given in hours but users will able to see even in Days format in the given list of values. These columns also accept any positive number of hours based on the specific need in the business.
The 'Compress level' or the slack reduction power is to define the importance of reducing the WIP time interval. 'Standard' compress level will be applied as default. However users can set 'Low' or 'High' based on specific need in the business.
Note: This feature may affect the general optimization in MSO which is designed to reduce number of late shop orders. Shorter time intervals for 'Maximum Slack' time may result unexpected unscheduled shop order situations on shop floor.
Limitation : Shop order operations that are set as 'Parallel' will not be considered to optimize in compressed manner.
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 horizon. 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.
MSO is natively designed to reduce the Number of Late Orders in either of the Scheduling Directions. This helps MSO to achieve timely demand fulfillment as much as possible.
MSO will always focus on the scheduling direction given in the shop order header level. In case if there is a missmatch 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.
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. The MSO is designed to reduce the number of late shop orders but not the lateness of a specific order.
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 if 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.
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.
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.
Figure 3 - MSO Priority Scores
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 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:
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.
MSO does not use a number of resources to perform a single machine or tool operation. But for the labor operations schedule, MSO will do multiple person assignments into single shop order operation when it is possible to achieve a more optimized schedule by consuming higher number of person resources. This feature is useful when shop floor employees working in multiple shifts. As a result shop orders will be scheduled in reduced lead times by consuming higher number of person assignments for a single shop order operation.
For example: If the labor operation is 8 hours and both Alain and Alex are in same respective labor class and Alain works the morning shift (8.00 AM to 12.00 PM) while Alex works the evening shift (1.00 PM to 5.00 PM). In this situation, MSO will use both Alain and Alex to perform this 8 hours operation. Even if Alain starts it, Alex can finish it consuming a single day lead time without consuming two days.
However, if any shop order operation is partially reported, then the specific reported resource is appointed to do the remaining part of that operation.
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.
If there are any tools connected to the shop order operation, then the required tool instances quantity is also allocated for the full duration of the shop order operation (i.e., Setup time + Run time). Tools availability is planned based on their respective calendars.
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 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 if Concurrent Operations are 'Not Allowed' in the Work Center's Operation Reporting Settings, MSO will block the Resource share capability of specifc 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.
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.
MSO will consider validity periods given for all resource types. (i.e. Machine, Labor and Tools)
Preferred resource information is considered a preference when scheduling shop order operations.
Transport time is considered when scheduling with MSO scheduling service.
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.
Figure 5 - Operations 10 and 20 are scheduled parallel
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.
Refer to About Description for Operation Overlap.
A part's availability can be defined as Infinite, Finite (within a specific lead time), or Always Finite.
The parts with Infinite capacity do not interrupt the schedule. For parts with Finite Capacity, MSO checks for the required amount of inventory part as it is scheduling.
The required amount is comprised of an existing supply or a new supply within the part's lead time. After the part's lead time, MSO assumes the part has infinite availability.
For parts that have Always Finite capacity, the required amount needs to be available to schedule an operation.
As MSO schedules, it records the quantity and the date and time at which the material is consumed and produced.
Within the scheduling horizon MSO is capable of planning the finite material supplies coming from other shop orders for child semi-assembled parts and accounting for it when scheduling the shop orders of final assemblies. This mechanism provides vast advantages to users who are not using complex order structures like DOP and still able to plan finite material supplies that are coming from their own sub-assemblies.
Limitation: For all stocks, demands and supplies MSO will support up to 4 decimal points and maximum of 214748.3647 quantity of parts which can be handled in any unit of measure (UoM). It is not recommended to use finite capacity/always finite capacity flag in 'Inventory Part Planning Data' for each and every material in the Site.
Note: This feature is only for critical materials which has a real need of finite capacity consideration in finite schedule.
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.
Subset scheduling is a feature given for Manual MSO users. This feature helps planners to selectively schedule specific subset in a Site without considering other non-related constraints in the same manufacturing facility.
Note: This feature is recommended only for the manufacturers who are having fully independent production orders within a single manufacturing facility. Subset schedule helps to create a valid finite schedule using least amount of resources in the finite scheduling engine, saving time and unnecessary finite schedule actions. However, in case, if there is any single interconnection in the subset selection to some other activity/resource in the superset that may give incorrect finite scheduling result.
From Finite schedule Shop Order(s) assistant, users can access the subset Filters list in Manual MSO scheduling sites. Subset filtering can be done by filtering based on shop order related attributes like Need Date, Earliest Start Time, Planner, Part, Product Family, Operation Block, Work Center, Labor Class, Tool, Department or Production line basis and also Order Structure based attributes like DOP header, Batch Balance, Project or Project activity.
Smart Manufacturing Planning Board related default settings can be set from separate tab given in Finite Scheduling Basic Data page.
Refer to About Description for Smart Manufacturing Planning Board.
i.e., Shop Order Infinite Scheduler is generally triggered only for 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 number of instances will also trigger the 'Shop Order Infinite Scheduler' to maintain the track of up-to-date information respect to the shop order operation 'Scheduling status' information.