Method and system for scheduling manufacturing operations

The method optimizes scheduling by dynamically adjusting operations based on intermittent resource availability, enhancing resource utilization and reducing completion time in manufacturing environments.

GB2639946APending Publication Date: 2025-10-08SIEMENS INDUSTRY SOFTWARE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
GB2024004531
Authority / Receiving Office
GB · GB
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-28
Publication Date
2025-10-08

AI Technical Summary

Technical Problem

Existing scheduling methods for manufacturing operations fail to efficiently utilize primary and secondary resources due to intermittent availability, leading to suboptimal schedules and underutilization, particularly when modeled using Mixed Integer Linear Programming (MILP).

Method used

A method and system for scheduling operations on primary resources that depend on intermittent secondary resources, which involves obtaining availability data and dynamically adjusting operation scheduling to ensure seamless continuation across shifts or periods based on resource availability, minimizing make-span and maximizing resource utilization.

Benefits of technology

The method enhances resource utilization and reduces the overall completion time of operations by ensuring operations are assigned to available resources promptly, even if they extend beyond initial shifts, thereby optimizing resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0001_ABST
    Figure 00000000_0001_ABST
  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A computer-implemented method and system for scheduling operations 410 420 430 to be performed on a group of machines M1 M2 in a manufacturing environment is claimed. The execution depends on further resources with limited availability. The method comprises obtaining schedule data for the further resources indicating their availability; and scheduling each operation while minimising the time for completion of execution for all operations. The scheduling method comprises, for each operation; scheduling a machine from the group to execute the operation at a first time based on the schedule data and availability of the machine; and when the time to complete the operation exceeds the time available to operate the machine, schedule the machine to continue executing the operation at a second time. The further resources may comprise labour, tools, electricity, computational resources, power, time or physical space. The schedule data may comprise shift pattern data for worker or machine operators.
Need to check novelty before this filing date? Find Prior Art

Description

The present disclosure relates to methods and systems for scheduling operations in a manufacturing environment and, in particular, scheduling operations on machines where the execution is dependent on further resources with intermittent availability. BACKGROUND In modern manufacturing industries the complexity of manufacturing operations and workflows is constantly increasing. Among the foremost challenges encountered by manufacturers are determining schedules for performing manufacturing tasks. Scheduling is critical to managing production workflows, tracking progress, and adapting to changes in the manufacturing environment. To tackle these challenges effectively, manufacturers increasingly rely on software tools which automate the task of finding optimal schedules using data analysis and numerical methods. Optimal scheduling has also been studied extensively as a computational problem, where the problem is commonly referred to as job shop scheduling. In traditional job shop scheduling the objective is to determine an optimal schedule for processing a collection of jobs on a group of machines, which minimizes the total time to completion of all the jobs. Many variations of this problem exist based on differing assumptions relating to the capabilities of machines and characteristics relating to the jobs being processed, resource constraints and objective functions. Various methodologies, including mathematical optimization techniques such as linear programming, heuristic algorithms, and constraint programming have been employed to tackle job shop scheduling. However, in general these problems are difficult to solve as the best solution becomes progressively more computationally challenging to find as problem sizes increase. Historically, much of the focus of research in this area has been on improving algorithmic efficiency and the quality of solutions they yield in terms of optimality. Moreover, many researchers have focused on evaluating their algorithms using commonly encountered constraints and instances. Nevertheless, a prevalent challenge encountered in real-world scenarios pertains to the availability of primary resources for executing operations alongside insufficient secondary constraints to facilitate the entirety of the task. For instance, a situation may arise where a machine possesses the capacity to handle operations spanning ten hours, while the labor component is constrained to an eight hour availability. Consequently, both primary and secondary constraints experience underutilization. This issue becomes particularly salient when attempting to model the problem using Mixed Integer Linear Programming (MILP), where all constraints are considered from the outset, aiming for optimal or near-optimal solutions. However, such an approach may yield either infeasible solutions or suboptimal schedules characterized by diminished resource utilization. To further illustrate the aforementioned issue, consider a scenario in a factory which possesses two machines M, and Af2 and three distinct jobs or operations which need to be processed on either of those machines. These machines require labor from the same labor pool. Each operation may commence immediately and may be assigned to either machine. Furthermore, each operation requires five hours of processing time and necessitates the presence of a worker for the entire processing time, constituting a secondary constraint of labor. Additionally, the factory operates daily, encompassing six shifts, two of which are designated as off-shifts. Figure I depicts a schedule 100, showing the shift pattern of workers in the factory. The first and third working shifts I 10, in the first twenty-four hours, accommodate two workers each, while the second and fourth working shifts 120 are manned by a single worker. In this scenario, solving the job shop scheduling problem lies in orchestrating the scheduling of these operations on the machines Al । and A12 while concurrently allocating labor to facilitate their execution, with a prime objective of minimizing the overall time to complete the operations. Modelling this as a Mixed Integer Linear Programming problem and solving using a MILP solver yields the schedule depicted in Figure 2A. Each row in Figure 2A represents the schedule of operations on the machines A1| and respectively. The utilization of labor is depicted in Figure 2B. In a first and second shift, a first operation 210 is executed on between hours 0 and 5. A second operation 220 is executed on Al । between hours 12 and 17. A third operation 230 is executed on Al । between hours 24 and 29. Although the schedule is the optimal schedule, the make-span i.e. the total time for completing operations is very long, and primary and secondary constraints are underutilized. This is because the processing time of five hours for each operation is longer than the four-hour shift periods. As the number of workers is different from one shift to another, one of the workers in the first shift 240, from 0 to 4 hours, cannot process any operation on because there is not enough labor in the second shift 250, to finish the work between hours 4 and 5. This period therefore works as a virtual off-shift period for processing the second operation 220 and therefore work cannot start on machine in parallel with the first operation on Al । due to the unavailability of labor between hours 4 and 5 for the second operation. Consequently, M2 is not utilized, and a second worker is never used in the shifts where two workers are present. SUMMARY It is an object of the invention to provide a method for scheduling operations on a primary resource that depends on at least a secondary resource with intermittent availability. The foregoing and other objects are achieved by the features of the independent claims. Further implementation forms are apparent from the dependent claims, the description and the figures. According to a first aspect of the invention a computer-implemented method for scheduling one or more operations on a primary resource comprising a group of machines in a manufacturing environment is provided. The execution of the operations on the primary resource is dependent on one or more further resources with intermittent availability. The method comprises: obtaining schedule data for the one or more further resources, the schedule data comprising a schedule of availability for each of the one or more further resources; and scheduling each of the operations on the primary resource to minimise a time to completion for execution of the one or more operations. For each operation, scheduling the operation comprises: scheduling a machine from the group of machines to execute the operation from a first time, based on the schedule data and the availability of the machine; and when the time to complete the operation exceeds a time available on the machine, scheduling the machine to continue executing the operation from at least a second time, based on the schedule data. The method according to the first aspect minimizes a time to complete one or more operations on a primary resource, in the presence one or more further resources with intermittent availability. The improves resource utilisation as well as minimising the make-span of a set of operations in a manufacturing environment and is computationally efficient. According to a second aspect a of the invention, a production control system for controlling a primary resource comprising a group of machines in a manufacturing environment is provided. The execution of operations on the primary resource is dependent on one or more further resources with intermittent availability. The production control system comprises a processor; and a memory, storing instructions that when executed by the processor, cause the processor to: obtain schedule data for the one or more further resources, the schedule data comprising a schedule of availability for each of the one or more further resources; and schedule one or more operations on the primary resource to minimise a time to completion for execution of the one or more operations. The instructions cause the processor to: schedule a machine from the group of machines to execute the operation from a first time, based on the schedule data and the availability of the machine; and, when the time to complete the operation exceeds a time available on the machine, schedule the machine to continue executing the operation from at least a second time, based on the schedule data. In a first implementation form of the method according to the first aspect, when there are two or more operations, the scheduling of each of the second and subsequent operations is dependent on the scheduling of the preceding scheduled operation. In a second implementation form scheduling the machine to execute the operation from at least a second time comprises: scheduling the machine to suspend execution of the operation and subsequently resume the operation based on the schedule data. In a third implementation form the one or more operations are scheduled to maximize utilization of the further resources. In a fourth implementation form the one or more further resources comprise labour, tools, electricity, computational resources, power, time, or physical space. In a fifth implementation form the schedule data comprises shift pattern data for one or more workers. In a sixth implementation form the method further comprises outputting a schedule of execution of the one or more operations on the primary resource. In a seventh implementation form outputting the schedule of execution of the one or more operations, comprises generating a visual representation of the schedule. In an eighth implementation form scheduling each of the operations comprises scheduling time for setup, teardown, or another operational phase of the operation. These and other aspects of the invention will be apparent from the embodiment(s) described below. BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: Figures I shows a schedule of a worker shift pattern in a manufacturing environment, according to an example; Figures 2A and 2B shows a schedule of operations, according to an example; Figure 3 is a flow diagram of a method for scheduling operations in a manufacturing environment, according to an example. Figures 4A and 4B show a schedule of operations, according to an example; Figure 5 shows a schedule of operations, according to an example; Figure 6 illustrates an example of a data processing system in which embodiments of the present disclosure may be implemented. DETAILED DESCRIPTION Example embodiments are described below in sufficient detail to enable those of ordinary skill in the art to embody and implement the systems and processes herein described. It is important to understand that embodiments can be provided in many alternate forms and should not be construed as limited to the examples set forth herein. Accordingly, while embodiments can be modified in various ways and take on various alternative forms, specific embodiments thereof are shown in the drawings and described in detail below as examples. There is no intent to limit to the particular forms disclosed. On the contrary, all modifications, equivalents, and alternatives falling within the scope of the appended claims should be included. Elements of the example embodiments are consistently denoted by the same reference numerals throughout the drawings and detailed description where appropriate. The terminology used herein to describe embodiments is not intended to limit the scope. The articles “a,” “an,” and “the” are singular in that they have a single referent, however the use of the singular form in the present document should not preclude the presence of more than one referent In other words, elements referred to in the singular can number one or more, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and / or “including,” when used herein, specify the presence of stated features, items, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, items, steps, operations, elements, components, and / or groups thereof. Unless otherwise defined, all terms including technical and scientific terms used herein are to be interpreted as is customary in the art. It will be further understood that terms in common usage should also be interpreted as is customary in the relevant art and not in an idealized or overly formal sense unless expressly so defined herein. The method described herein identifies the best machine for executing each operation at any given decision juncture. The operation is allocated to the selected machine at the earliest time possible adhering to all constraints. One aspect of the present invention is that operations are promptly assigned to available resources even if the operation cannot be finished within the same shift, without the need for splitting the operation in advance. This enhances the utilization of resources, without the need for adding more constraints or changing the objective function. If an operation extends beyond the current shift, the method seamlessly transitions it to the subsequent shift. However, if there are inadequate resources available for processing, the operation is temporarily suspended until resources become available. Figure 3 shows a flow diagram of a computer-implemented method 300 for scheduling one or more operations on a primary resource, according to an example. The primary resource comprises a group of machines in a manufacturing environment. Each machine is assumed to be able to execute any of the operations. The execution of the operations on the primary resource is dependent on one or more further resources with intermittent availability. Examples of the further resources include labor, power, time, space or any other intermittent resources which may constrain operations in the manufacturing environment. The method 300 may be used in conjunction with other processes and systems in a manufacturing environment. The methods may be integrated seamlessly into a manufacturing infrastructure where data is read directly to production systems after scheduling. At block 310 schedule data is obtained for the one or more further resources. The schedule data comprises a schedule of availability for each of the one or more further resources. For example, when the further resource is labor, the schedule data may comprise the shift pattern of workers as depicted in Figure I. According to an example, the schedule data may be obtained from a data storage device. The data storage may be remote data storage accessed via a network. The data storage may also be local data storage. In other cases, the schedule data may be obtained indirectly, for example, from analysing data stored on a database. At block 320 one of the operations is selected. At block 330 a machine is scheduled to execute the operation from a first time, based on the schedule data and the availability of the machine. Any one of the machines may execute the operation and operations may be processed in any order. At block 340, in response to determining that the time to complete the operation exceeds the time available based on the schedule data, the machine is scheduled to continue executing the operation from at least a second time. An operation may be suspended on the machine and resumed the operation when the further resources are available to continue with the operation. Thus, an operation may run for a first time period on a machine, and subsequently be suspended until resources are available to continue with the operation during a second time period. If the operation has not completed after the second time period it may be suspended again, and resumed in a third time period and so on, until the operation is completed. At block 350 the method 300 comprises determining whether there are further operations to schedule. If there are no further operations, the method ends at block 360. Otherwise, the method returns to block 320 and selects one or the remaining operations. The method repeats steps 320 to 350 for each operation as required, until there are no further operations to schedule. Figure 4A shows an example of a schedule of operations 400 obtained using the method 300. Figure 4B shows a schedule of worker utilization in the shift periods for the schedule of operations in Figure 4A. In the example shown in Figures 4A and 4B three operations which each require five hours to execute, are scheduled on machines A4,, A12. Applying the method 300, a first operation 410 is selected and scheduled from a time, t = 0 to time, t = 5 on M,. The first operation 410 transitions from the first shift with two workers between time t = 0 to t = 4, to the second shift between t = 4 and t = 8, with one worker. The first operation 410 completes at t = 5. A second operation 420 is scheduled on the second machine / Vl2. The time required to complete the operation on A12 is five hours, which exceeds the time available based on the shift pattern. Applying the method 300, the second operation 420 starts on A12 at t = 0, the first available time for / Vl2, and is suspended from t = 4 until a worker becomes available. However, as soon as a worker is available at t = 5, the second operation 420 resumes on M2. The second operation 420 completes at t = 6. The third operation 430 is scheduled to begin on Al । at t = 6. For the time between t = 8 and t = 12 there are no workers available, and therefore the third operation 430 is suspended from t = 8 to t = 12. The third operation 430 resumes at t = 12 on / VI , and completes at t = 15. The method 300 ensures full utilization of labor for the shift periods where workers are available. Moreover, the make-span of the three operations depicted in Figures 4A and 4B is 15 hours. This is significantly less than the 29 hour make-span shown in Figures 2A and 2B, which results from applying an exact MILP solver. Figure 5 shows a further example of a schedule of operations 500 generated using the method 300. In the example shown in Figure 5, eight operations are scheduled on machines / VI । and M2. The first three operations 5 10, 520, 530 are scheduled similarly to the three operations in Figure 4A. The fourth operation 540 is scheduled from t = 12 to t = 17 on / Vl2. However, when the third operation 530 completes at t = 15 an additional worker becomes available between times t = 15 to t = 16, and therefore execution of the fifth operation 550 can commence on Al H The fifth operation 550 is suspended from t = 16 until the fourth operation 540 is completed on / Vl2, at which point a worker is again available, and work can continue on the fifth operation 550 between t = 17 and t = 20. However, as there is insufficient time in the shift to complete the fifth operation 550, the operation is suspended until t = 24. At t = 24, the sixth operation 560 commenced on A12. At t = 25 the fifth operation on M| completes, and therefore from t = 25 the seventh operation 570 can commence on M|. This seventh operation 570 is suspended at t = 28. When the sixth operation 560 completes at t = 29, the seventh operation 570 may continue to t = 31. The eighth operation 580 starts at t = 3 I and continues beyond the end of the last shift. It may be seen from Figure 5, similarly to the example of Figure 4A and Figure 4B, that the method 300 ensures full utilization of labor for the shift periods where workers are available. The make-span of the seven operations which are completed is also minimized. In the examples depicted in Figures 4A, 4B and Figure 5 all operations commence and finish on whole integer numbers of hours. It should be noted the methods and systems described herein may be used to schedule operations with any start times and are not limited to regular time periods in this sense. Furthermore, different operations may also require different processing times. Similarly, the examples depicted in Figures 4A, 4B and Figure 5 show examples of scheduling in the presence of one intermittent resource, namely, labor. However, in real-world contexts there may be more than one resource with intermittent availability and the methods described herein may also be applied in this context, where scheduling is determined on the basis of multiple resource constraints. Figure 6 illustrates an example of a data processing system in which an embodiment of the present disclosure may be implemented, for example a production control system configured to perform the methods of the embodiments of the present invention as described herein. The data processing system 600 comprises a processor 610 connected to a local system bus 620. The local system bus connects the processor to a main memory 630 and graphics display adaptor 640, which may be connected to a display 650. The data processing system may communicate with other systems via a wireless user interface adapter connected to the local system bus 620, or via a wired network, for example, to a local area network. Additional memory 660 may also be connected via the local system bus 620. A suitable adaptor, such as wireless user interface adapter 670, for other peripheral devices, such as a keyboard 680 and mouse 690, or other pointing device, allows the user to provide input to the data processing system. Other peripheral devices may include one or more I / O controllers such as USB controllers, Bluetooth controllers, and / or dedicated audio controllers (connected to speakers and / or microphones). It should also be appreciated that various peripherals may be connected to the USB controller (via various USB ports) including input devices (e.g., keyboard, mouse, touch screen, trackball, camera, microphone, scanners), output devices (e.g., printers, speakers), or any other type of device that is operative to provide inputs or receive outputs from the data processing system. Further it should be appreciated that many devices referred to as input devices or output devices may both provide inputs and receive outputs of communications with the data processing system. Further it should be appreciated that other peripheral hardware connected to the I / O controllers may include any type of device, machine, or component that is configured to communicate with a data processing system. An operating system included in the data processing system enables an output from the system to be displayed to the user on the display and the user to interact with the system. Examples of operating systems that may be used in a data processing system may include Microsoft WindowsTM, LinuxTM, UNIXTM, iOSTM, and AndroidTM operating systems. In addition, it should be appreciated that data processing system 900 may be implemented as in a networked environment, distributed system environment, virtual machines in a virtual machine architecture, and / or cloud environment. For example, the processor and associated components may correspond to a virtual machine executing in a virtual machine environment of one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper-V, Xen, and KVM. Those of ordinary skill in the art will appreciate that the hardware depicted for the data processing system 600 may vary for particular implementations. For example, the data processing system 600 in this example may correspond to a computer, workstation, and / or a server. However, it should be appreciated that alternative embodiments of a data processing system may be configured with corresponding or alternative components such as in the form of a mobile phone, tablet, controller board or any other system that is operative to process data and carry out functionality and features described herein associated with the operation of a data processing system, computer, processor, and / or a controller discussed herein. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure. The data processing system 600 may be connected to the network (not a part of data processing system 600), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet. The data processing system 600 can communicate over the network with one or more other data processing systems such as a server (also not part of the data processing system 600). However, an alternative data processing system may correspond to a plurality of data processing systems implemented as part of a distributed system in which processors associated with several data processing systems may be in communication by way of one or more network connections and may collectively perform tasks described as being performed by a single data processing system. Thus, it is to be understood that when referring to a data processing system, such a system may be implemented across several data processing systems organized in a distributed system in communication with each other via a network. The data processing system 600 is adapted to carry out the methods in accordance with the embodiments described herein. For example, the keyboard 680 and mouse 690 may function as a user input device for receiving information from the user, the processor 610 may be adapted to carry out the steps of the method and the display 650 adapted to display a particular view to the user. A computer product comprising instructions which, when run on a computer, such as the data processing system 600, may be provided to cause the computer to execute the steps of the methods of the embodiments of the present invention outlined above. The present disclosure is described with reference to flow charts and / or block diagrams of the method, devices and systems according to examples of the present disclosure. Although the flow diagrams described above show a specific order of execution, the order of execution may differ from that which is depicted. Blocks described in relation to one flow chart may be combined with those of another flow chart. In some examples, some blocks of the flow diagrams may not be necessary and / or additional blocks may be added. The present inventions can be embodied in other specific apparatus and / or methods. 5 The described embodiments are to be considered in all respects as illustrative and not restrictive. In particular, the scope of the invention is indicated by the appended claims rather than by the description and figures herein. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope. 10

Claims

I. A computer-implemented method for scheduling one or more operations on a primary resource comprising a group of machines in a manufacturing environment, wherein the execution of the operations on the primary resource is dependent on one or more further resources with intermittent availability, the method comprising:obtaining schedule data for the one or more further resources, the schedule data comprising a schedule of availability for each of the one or more further resources; andscheduling each of the operations on the primary resource to minimise a time to completion for execution of the one or more operations;wherein for each operation, scheduling the operation comprises:scheduling a machine from the group of machines to execute the operation from a first time, based on the schedule data and the availability of the machine; andwhen the time to complete the operation exceeds a time available on the machine,scheduling the machine to continue executing the operation from at least a second time, based on the schedule data.

2. The method of claim I, wherein, when there are two or more operations, the scheduling of each of the second and subsequent operations is dependent on the scheduling of the preceding scheduled operation.

3. The method of claim I, wherein scheduling the machine to execute the operation from at least a second time comprises:scheduling the machine to suspend execution of the operation and subsequently resume the operation based on the schedule data.

4. The method of claim I, wherein the one or more operations are scheduled to maximize utilization of the further resources.

5. The method of claim I, wherein the one or more further resources comprise: labour, tools, electricity, computational resources, power, time, or physical space.

6. The method of claim 5, wherein the schedule data comprises shift pattern data for one or more workers.

7. The method of claim I, further comprising outputting a schedule of execution of the one or more operations on the primary resource.

8. The method of claim 7, wherein outputting the schedule of execution of the one or more operations, comprises generating a visual representation of the schedule.

9. The method of claim I, wherein scheduling each of the operations comprises scheduling time for setup, teardown, or another operational phase of the operation.

10. A production control system for controlling a primary resource comprising a group of machines in a manufacturing environment, wherein the execution of operations on the primary resource is dependent on one or more further resources with intermittent availability, the production control system comprising:a processor; anda memory, storing instructions that when executed by the processor, cause the processor to:obtain schedule data for the one or more further resources, the schedule data comprising a schedule of availability for each of the one or more further resources; andschedule one or more operations on the primary resource to minimise a time to completion for execution of the one or more operations;wherein for each operation, the instructions cause the processor to:schedule a machine from the group of machines to execute the operation from a first time, based on the schedule data and the availability of the machine; andwhen the time to complete the operation exceeds a time available on the machine,schedule the machine to continue executing the operation from at least a second time, based on the schedule data.I I. The system of claim 10, wherein, when there are two or more operations, the scheduling of each of the second and subsequent operations is dependent on the scheduling of the preceding scheduled operation.

12. The system of claim 10, wherein, to schedule a machine to execute an operation from at least a second time, the instructions cause the processor to:schedule the machine to suspend execution of the operation and subsequently resume the operation based on the schedule data.

13. The system of claim 10, wherein the instructions cause the processor to output a schedule of execution of the one or more operations on the primary resource.

14. The system of claim 13, wherein the instructions cause the processor to generate a visual representation of the schedule of execution of the one or more operations.