Method, data processing device, computer program and computer-readable medium for allocating resources to machines of a production facility

TWI931445BActive Publication Date: 2026-07-11AT & S CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
TW111107749
Authority / Receiving Office
TW · TW
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-03-05
Filing Date
2022-03-03
Publication Date
2026-07-11
Estimated Expiration
2042-03-02

Smart Images

  • Figure IMG-2_DRAW_111107749-A0304-14-0001-1
    Figure IMG-2_DRAW_111107749-A0304-14-0001-1
  • Figure IMG-2_DRAW_111107749-A0304-14-0002-2
    Figure IMG-2_DRAW_111107749-A0304-14-0002-2
  • Figure IMG-2_DRAW_111107749-A0304-14-0002-3
    Figure IMG-2_DRAW_111107749-A0304-14-0002-3
Patent Text Reader

Abstract

This invention relates to a method for allocating resources to machines in a production facility. A method for allocating resources (104) to machines (102) in a production facility (100) includes: receiving predicted data (204) indicating planned demand (214) for resources (104) and demand deviations (216) for each resource (104); generating new demand (220) for each resource (104) from the planned demand (214) and demand deviations (216) in several iterations; and determining resource-machine combinations (106) in each iteration. Capacity is assigned to new demand (220) in the middle, wherein priority is determined for each resource (104) and each machine (102) based on a priority rule set (226; 226a, 226b, 226c, 226d, 226e), wherein the resource-machine combination (106) is determined by combining resources (104) and machines (102) according to priority; and a rollout plan (228) is generated to assign the resource-machine combination (106) to be rolled out to future time periods.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for allocating resources to machines in a production facility. Furthermore, this invention relates to data processing equipment and computer programs for performing said method. Prior Technology

[0002] Large-scale production facilities, such as those for printed circuit boards, can include many different machines used to manufacture different types of products. Allocating resources to these machines is a complex task, especially when the production facility includes machines of different generations with varying processing capacities. Typically, allocation should be completed within a reasonable timeframe and should strike a good balance between on-time delivery and low maintenance costs.

[0003] WO 2019 / 075174 A1 relates to a method for controlling the manufacturing process of semiconductor products in a factory. The process is controlled by a controller of a manufacturing execution system. A target profile is specified based on the factory's historical performance data. The target profile can be generated based on operator experience, the current state of the factory, and wafer production plans based on customer demand. The target profile is calculated using a simulator based on the current state of the factory.

[0004] US 2014 / 0143006 A1 relates to a system for manufacturing semiconductor products, the system including a list of products to be manufactured, a list of available semiconductor manufacturing tools, a product and tool matrix database, and a product and tool selection engine. The product and tool matrix database is configured to include performance and manufacturing information of the products to be manufactured and the available tools. The product and tool selection engine is configured to generate an enhanced match between the products to be manufactured and the available semiconductor manufacturing tools.

[0005] US 2014 / 0277677 A1 relates to a production processing system in which multiple processing tools for processing workpieces share equipment. The workpiece may be a silicon wafer used to manufacture semiconductor devices. A group controller generates a usage plan for the equipment based on at least a portion of production execution control information and sends it to a shared controller configured to control the processing timing of the equipment.

[0006] US 6,633,788 B1 relates to data processing methods and computer-based data processing systems used in providing programs for generating products. Summary of the Invention

[0007] The purpose of this invention is to improve the resource allocation of machinery in production facilities. In particular, the purpose of this invention is to improve on-time delivery, reduce maintenance costs caused by re-equipping machinery, and / or maximize capacity utilization.

[0008] These objectives are achieved by the subject matter of the independent claims. Further exemplary embodiments will be apparent from the dependent claims and the following description.

[0009] A first aspect of the invention relates to a method for allocating resources to machines in a production facility. As already mentioned, the production facility may produce circuit boards or more general component carriers for electronic and electrical components.

[0010] Resources can be viewed as resources needed during production. For example, resources can be human resources—such as operators or experts, materials, tools, or a combination of at least two of the examples mentioned.

[0011] The machines can be adapted for production, packaging, testing, automated optical inspection, etc. For example, in the case of a circuit board manufacturing facility, the machines may include electroplating, etching, drilling, and / or sawing machines. It is possible that each machine is adapted to use one resource at a time, thus preventing other resources from being used by the machine.

[0012] This method can be executed by a controller of a resource allocation system, which can be a component of a manufacturing execution system (MES). Additionally, the method can be executed as a separate program to simulate resource states. The manufacturing execution system can be a computerized system for tracking and recording the transformation from raw materials to finished products. The resource allocation system can be a potentially distributed computer system that can be adapted to execute the method. The resource allocation system may include one or more databases.

[0013] The method includes: receiving planned demand for an indicated resource and predicted demand deviations for each resource; generating new demand for each resource from the planned demand and demand deviations in several iterations; assigning capacity to the new demand in each iteration by determining resource-machine combinations, wherein priority is determined for each resource and each machine based on a set of priority rules, wherein the resource-machine combination is determined by combining resources and machines according to priority; and generating a rollout plan for resource-machine combinations to be rolled out to future time periods, wherein the rollout plan is generated from resource-machine combinations of different iterations and estimated rollout times for each resource-machine combination, such that the total number of resource-machine combinations to be rolled out is minimized.

[0014] Forecast data may include a list of items that assign planned demand and / or demand deviations to corresponding resources. For example, each planned demand may be derived from an order specifying expected production volume and / or expected delivery time for a particular type of product. It is also possible that planned demand and / or demand deviations are derived from historical data, market data, and / or customer data. Demand deviations can be viewed as negative and / or positive deviations from the corresponding planned demand. It is also possible that forecast data additionally includes historical planned demand and historical actual demand for each resource and / or product. For example, forecast data may be real-time data stored on a server.

[0015] It is possible that, in each iteration, one or more new requirements are generated for each planned requirement. New requirements can be generated automatically from forecast data. Here and below, "automatically" can mean "through a computer program".

[0016] For example, new demand can be a random value selected by a random generator from a range defined by adding and / or subtracting the corresponding demand deviation from the corresponding planned demand. New demand can be calculated using mathematical functions and / or selected from a lookup table.

[0017] As an example, forecast data can indicate a planned demand for a specific resource with n machine capacities over a specific time period, where a machine capacity of 1 indicates 100% capacity utilization of a machine. Forecast data can also indicate a demand deviation of positive / negative m. Therefore, a range of n plus / minus m can be used to generate new demand.

[0018] Demand deviations can be derived from the recorded data on the relevant resources—that is, historical data.

[0019] Typically, planned demand and / or new demand can be values ​​defined with respect to the capacity of a machine. For example, a planned demand of "1" and / or new demand could correspond to 100% capacity utilization of a machine.

[0020] Resource-machine combinations can be determined by selecting items from a list of possible resource-machine combinations, where each resource and each machine can be associated with a priority. This list can optionally define the availability status of each possible resource-machine combination, such as “immediately available,” “soon to be available,” or “potentially available.” Additionally or alternatively, the availability status can include an estimated rollout time for each possible resource-machine combination, which can be specified, for example, in hours, days, and / or months.

[0021] As another example, each resource-machine combination can be associated with one of the following availability levels: 1) online ready; 2) parameter ready, i.e., can be transitioned to online ready within a few days; 3) available, i.e., can be transitioned to online ready within a few weeks.

[0022] Launch time can be defined as the lead time required to equip a particular machine with specific resources—that is, to achieve a particular tool-machine combination.

[0023] Each resource-machine combination can be a combination of one resource and one machine. Each resource-machine combination within an iteration can be a unique combination.

[0024] Priorities for each resource and / or machine can be computed in each iteration by applying a set of priority rules to the corresponding items in a list of possible resource-machine combinations. To compute priorities, priority rules can be applied in a specific order. Typically, priority rules can be used to quantify the availability, scarcity, and / or urgency of resources and / or machines relative to a production facility. Compared to embodiments that, for example, randomly determine priorities based on Monte Carlo algorithms, such a set of priority rules makes it possible to generate priorities in a controlled and reproducible manner.

[0025] It is possible that resource-machine combinations are generated one after another in descending order, starting with the resources and machines with the highest priority. The result of the iteration can be a sorted list of resource-machine combinations. Each resource-machine combination in the sorted list can be associated with an identifier and, optionally, with further information defining the capacity utilization of the corresponding machine, the remaining capacity of the corresponding machine, and / or the remaining demand of the corresponding resource. Resource-machine combinations can be generated such that the remaining capacity of each machine and / or the remaining demand of each resource is reduced to a defined minimum, which may be, for example, zero.

[0026] Resources and machines can be prioritized automatically based on priority rule sets and / or predictive data.

[0027] Resource-machine combinations can be automatically determined based on priorities and / or forecast data.

[0028] It is possible that new requirements are generated in at least one hundred iterations or even at least one thousand iterations. In other words, the steps of generating new requirements and assigning capacity to them can each be performed at least one hundred or even at least one thousand times.

[0029] After determining the appropriate resource-machine mix to meet planned and / or new demands, a roll-out plan needs to be developed. Typically, a roll-out plan specifies which resources must be provided to which machines within a given future timeframe. This future timeframe can be a calendar week, month, etc. In simpler cases, the roll-out plan can be a schedule, such as a daily, weekly, and / or monthly schedule, assigning the resource-machine mix to be rolled out to a specific future timeframe. The resource-machine mix to be rolled out can be viewed as a mix that requires a certain amount of maintenance and / or service time before operation.

[0030] Launch plans can be automatically generated based on the results of different iterations and / or based on forecast data.

[0031] Launch plans can be generated regularly, for example, on a daily, weekly, and / or monthly basis, and already generated launch plans can be updated.

[0032] As an example, after the first round, a launch plan can be generated in the following format: week machine mold 2020ww51 8124 T159 2020ww51 8105 T62 This means that resources in the form of molds T159 and T62 (which can also be called tools) need to be prepared in calendar week 51, for example, by moving them from "parameter ready" to "online ready". In the second round, these two items will be marked as "online ready". As a result, they will not appear in the launch schedule generated in the second round because they have already been launched.

[0033] It is possible that the rollout plan includes at least two subsequent sequences over a time period, where each sequence can be generated based on one or more iterations. For example, the first sequence may include resource-machine combinations that can transition from "parameter-ready" to "online-ready," while the second sequence of the rollout plan may additionally include resource-machine combinations that are "available."

[0034] Specifically, the rollout plan is generated to minimize the total number of resource-machine combinations to be rolled out.

[0035] At least one alternative method can be used to set priorities, such as selecting a winner from several random priorities or manually defining fixed priorities. The method to be used can be selected based on the output results.

[0036] According to embodiments of the invention, the priority rule set includes a first priority rule for determining the priority of each resource based on whether it can be provided by an external supplier, such that resources that can be provided by an external supplier have a lower priority compared to resources that cannot. This means that the first priority rule can be used to distinguish between needs that the production facility must meet and needs that at least one external supplier—e.g., one or more other production facilities—may be able to meet. The first priority rule can be applied based on a supplier list specifying possible external suppliers for each resource. In this way, the total number of resource-machine combinations to be rolled out of the production facility can be significantly reduced. In particular, the first priority rule can be configured such that resources that can be provided by external suppliers are not considered when generating a rollout plan.

[0037] According to embodiments of the invention, machines in a production facility are assigned to different machine categories, wherein machines in lower machine categories have lower processing precision and / or are compatible with a smaller number of resources compared to machines in higher machine categories. Therefore, the priority rule set may include a second priority rule for determining the priority of each machine based on its machine category, such that machines in lower machine categories have higher priority compared to machines in higher machine categories. For example, machines in different machine categories may be machines from different generations, where machines in lower machine categories may be older machines, while machines in higher machine categories may be newer machines. In this case, newer machines may have higher processing precision and / or may be adapted to produce a wider range of products compared to older machines. It is also possible that machines in the highest machine category are adapted to produce relatively complex products and / or to take over production tasks from at least one of the remaining machine categories. Conversely, machines in the lowest machine category may only produce relatively simple products. At least two, or preferably at least three, different machine categories may exist for classifying the machines in the production facility. Each machine may be assigned to one or more machine categories. Using this embodiment, it is possible to significantly improve the allocation of resources for machines in very large production facilities that typically include many machines of different generations.

[0038] According to embodiments of the invention, the number of available machines is determined for each resource. A priority rule set includes a third priority rule for determining the priority of each resource based on the number of available machines for that resource, such that resources with a lower number of available machines have a higher priority compared to resources with a higher number of available machines. Available machines can be machines that are actually using and / or potentially using the corresponding resource. In other words, the priority of a resource can depend on its compatibility with the machines in the production facility, i.e., on the number of machines that are actually combined with and / or potentially combined with the resource.

[0039] According to embodiments of the invention, the number of available resources is determined for each machine. Therefore, the priority rule set may include a fourth priority rule for determining the priority of each machine based on the number of available resources available for that machine, such that a machine with a lower number of available resources has a higher priority compared to a machine with a higher number of available resources. Available resources can be resources that are actually combined with the machine and / or may potentially be combined with it. For example, a production facility may include machines that can only be combined with a specific resource—e.g., a specific tool—or with a relatively small number of different resources. Using this embodiment, the capacity utilization of such specialized machines can be improved.

[0040] According to embodiments of the invention, the priority rule set includes a fifth priority rule for determining the priority of each resource based on planned demand and / or new demand for that resource, such that resources with lower planned demand and / or new demand have higher priority than resources with higher planned demand and / or new demand. In the event of a conflict between resources with lower demand and resources with higher demand, it is advantageous to allocate capacity to the lower demand resource first, as this reduces the total number of resource-machine combinations to be deployed.

[0041] It is possible that the priority rules, as described above and below, are applied in a predefined order to determine the appropriate priorities for resources and machines.

[0042] According to embodiments of the present invention, priority rules, namely the first priority rule, the second priority rule, the third priority rule, the fourth priority rule, and the fifth priority rule, can be applied one after another, starting from the first priority rule, according to the priority rule ordinal number. It is also possible to apply the fourth priority rule before the third priority rule.

[0043] Typically, the order in which priority rules are applied can vary depending on the use case. For example, an alternative use case could be improving the delivery of a specific product.

[0044] According to embodiments of the invention, the new demand for each resource is generated by randomly selecting values ​​from a range of demands defined by the planned demand and demand deviations of the resource. As mentioned above, the new demand can be generated at least partially from probability distributions, which can be determined based on historical demand variations relative to the corresponding resource. Demand deviations can be calculated based on historical demand and / or historical output, and can be included in the forecast data. Alternatively, demand deviations can be predefined values ​​and / or can be provided in the forecast data along with planned demand. In this way, the number of resource-machine combinations that could potentially be used to generate rollout plans can be significantly increased. Therefore, the degrees of freedom for optimizing allocation are increased.

[0045] According to embodiments of the present invention, demand deviations are calculated based on historical planned demand and historical actual demand relative to historical planned demand. Demand deviations can be updated regularly on a daily, weekly, and / or monthly basis, for example, based on corresponding historical planned demand and / or actual demand. For example, the demand deviation for each resource can be calculated based on the difference between historical planned demand and historical actual demand for the resource over one or more past time periods. In this way, demand deviations can be determined with high accuracy.

[0046] According to embodiments of the invention, the resource-machine combination in the current iteration is determined based on the resource-machine combination from previous iterations. It is possible that the resource-machine combination obtained from previous iterations may have some availability state, such as, for example, "immediately available," "soon to be available," "potentially available," "online ready," "parameters ready," or "available." In subsequent iterations, the resource-machine combination may be determined and / or updated based on the corresponding availability state of the resource-machine combination from previous iterations.

[0047] According to embodiments of the invention, each resource is a specific tool in a machine used to produce a particular type of product. Such a tool can be an electroplating, etching, drilling, and / or sawing tool. In particular, the tool can be used to produce circuit boards.

[0048] According to an embodiment of the invention, each machine is a laser drilling machine adapted for drilling holes in printed circuit boards. In this case, the resource can be a laser drilling tool, which can vary from product to product. It is possible that each laser drilling machine can only use one laser drilling tool at a time.

[0049] A second aspect of the invention relates to a data processing apparatus comprising means for performing a method according to an embodiment of the first aspect of the invention. The data processing apparatus may be a computer, such as a resource allocation system and / or a controller of a manufacturing execution system, including a processor for executing a computer program and a memory for storing the computer program. The method can be performed by executing the computer program. It must be understood that features of the method as described above and below can also be features of the data processing apparatus as described above and below, and vice versa.

[0050] A third aspect of the invention relates to a computer program comprising instructions that, when executed by a computer, cause the computer to perform a method according to an embodiment of the first aspect of the invention.

[0051] A fourth aspect of the invention relates to a computer-readable medium having the computer program stored thereon. The computer program may be stored in and / or executed by one or more computing devices, including resource allocation systems and / or manufacturing execution systems.

[0052] Computer-readable media can be hard disks, USB (Universal Serial Bus) storage devices, RAM (Random Access Memory), ROM (Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory), or flash memory. Computer-readable media can also be data communication networks, such as the Internet, which allow the download of program code. Typically, computer-readable media can be volatile or non-volatile.

[0053] These and other aspects of the invention will be apparent from the embodiments described below, and will be elucidated with reference to the embodiments described below. Simple Explanation of the Diagram

[0054] [Figure 1] schematically shows the production facilities. [Figure 2] schematically illustrates a resource allocation system adapted for allocating resources to a machine in a method according to an embodiment of the invention. [Figure 3] shows a flowchart of a method according to an embodiment of the present invention. Implementation

[0055] The graphic symbols used in the diagrams and their meanings are listed in a summary form in the graphic symbol list. In principle, the same graphic symbols are used for the same parts of the diagram.

[0056] Figure 1 illustrates a production facility 100 with multiple machines 102. In this example, the production facility 100 produces circuit boards, and the machines 102 are laser drilling machines used to drill holes through the circuit boards. However, any other type of production facility and / or machine is possible. Machines 102 can be combined with different resources 104, which in this example are different laser drilling tools 104. Depending on the number of machines 102 and tools 104, there can be many possible tool-machine combinations 106, for example, more than 1,000 or even more than 10,000. Depending on the requirements of each tool 104, the tool-machine combination 106 should be determined such that the requirements can be met on time with reasonable maintenance costs. Therefore, the task of determining the most suitable tool-machine combination 106 can be very complex, making it impossible for humans to perform this task within a reasonable timeframe.

[0057] Each machine 102 can be assigned to one of several machine categories A, B, C, and D. In this example, machine category A includes the newest machines and / or machines capable of producing the widest range of products, while machine category D includes the oldest machines and / or machines capable of producing the smallest range of products. However, it is also possible that all machines 102 in production facility 100 are of the same type and / or generation.

[0058] Figure 2 illustrates a resource allocation system 200 for automatically allocating tool 104 to machine 102 in production facility 100. For example, resource allocation system 200 may be a maintenance execution system or a component of a maintenance execution system. In this example, resource allocation system 200 includes a database 202 containing predictive data 204. Database 202 may be a relational database and / or may be stored on a central server 206, such as an SQL server.

[0059] The resource allocation system 200 also includes a computer 208 for processing the forecast data 204. The computer 208 can be connected to the central server 206 via a data communication network.

[0060] For example, forecast data 204 may include schedule 212, which assigns the planned demand 214 and demand deviation 216 of tool 104 to future time periods, such as calendar weeks, months, etc.

[0061] Demand deviation 216 can be derived from historical planned demand and / or historical actual demand using the corresponding tool 104. Historical planned demand and / or historical actual demand can also be stored in the central server 206 and / or can be part of the forecast data 204.

[0062] Computer 208 may include a requirement generator 218 configured to generate new requirements 220 for each tool 104 from corresponding planned requirements 214 and corresponding requirement deviations 216 in several iterations. The resulting new requirements 220 may be stored in a requirement archive 222, which may be stored on a central server 206.

[0063] It is possible that the new demand 220 for each tool 104 is generated by randomly selecting a value from a demand range 223 defined by the planned demand 214 and demand deviation 216 relative to tool 104. Alternatively, the new demand 220 can be a fixed value, which may correspond to the corresponding planned demand 214.

[0064] The tool allocator 224 of computer 208 can receive new requirements 220 from the requirements archive 222 and / or directly from the requirements generator 218. The tool allocator 224 can be configured to assign capacity to the new requirements 220 in each iteration. To do this, the tool allocator 224 can determine the appropriate tool-machine combination 106 based on a list of possible machines and possible tools of production facility 100.

[0065] Instead of determining the tool-machine combination 106 by randomly combining items from a list, the tool allocator 224 can determine the priority of each item—that is, each possible machine and each possible tool—by applying a set of priority rules 226, and can combine them according to their respective priorities. For example, the tool allocator 224 can determine the tool-machine combination 106 by selecting items in descending order, starting with the item with the highest priority. The priorities of the remaining items can be recalculated based on the priority rules 226 after each selection step. The priority rules 226 are described in more detail below.

[0066] The result of a single iteration can be a table in the following format (for clarity, only the first three rows of the table are shown): In this example, the resources are tooling LC and T20, also referred to as tools above, which can be combined with machines 112 and 8166. Each tool-machine combination can have a unique combination number (“CombinationNo”) and can be associated with the following: load (“Load”), which indicates the capacity utilization of the corresponding machine; remaining capacity value (“CapacityRemain”), which indicates the remaining capacity of the corresponding machine; and / or unassigned demand value (“UnAssignDemand”), which indicates the remaining demand of the corresponding tool.

[0067] The calculation procedure can start with a remaining capacity value of 1 for each machine, meaning both machines have 100% initial capacity. In this example, the initial demand for mold LC corresponds to a capacity of 1.953, while the initial demand for mold T20 corresponds to a capacity of 9.408.

[0068] Referring to row 1 of the table above, the mold LC is combined with machine 8166 and uses its entire capacity (see the "Load" column). Therefore, the remaining capacity of machine 8166 changes to 0 (see the "CapacityRemain" column) and the initial demand of the mold LC decreases by 1. The remaining demand of the mold LC (which can also be referred to as the "demand gap") is calculated using 1.953 - 1 = 0.953 (see the "UnAssignDemand" column).

[0069] Following this first assignment, the "CapacityRemain" for machine 8166 and the "UnAssignDemand" for mold LC are updated for all combinations—that is, machine 8166 with other molds and / or mold LC with other machines. Then, the corresponding priorities of the combinations are recalculated according to the priority rules, and the combinations in row 2 are determined for the next assignment.

[0070] Referring to row 2 of the table above, the remaining demand of mold LC, 0.953, is now assigned to machine 112. Therefore, the remaining capacity of machine 112 changes to 1 - 0.953 = 0.047, and the remaining demand of mold LC decreases to 0.

[0071] Referring to row 3 of the table above, the remaining capacity of machine 112 is now assigned to mold T20. Therefore, the remaining capacity of machine 112 changes to 0 and the remaining demand of mold T20 changes to 9.408 - 0.047 = 9.361.

[0072] The calculation algorithm can iterate through all machines and dies until the remaining capacity of each machine or the remaining demand of each die is fully allocated—that is, reduced to 0. The result of a single iteration, as shown in the table above, can be a table with 200 to 250 rows.

[0073] It is possible that the table in the current iteration is generated based on the table in the previous iteration.

[0074] Tool allocator 224 can also be configured to generate rollout plan 228, which specifies which tool-machine combination 106 needs to be rolled out in which future time period. To do this, tool allocator 224 can determine a corresponding rollout time for each tool-machine combination 106. In this context, "rollout time" can refer to the availability status of each tool-machine combination 106, such as "immediately available," "soon to be available," or "potentially available."

[0075] Specifically, the tool allocator 224 can be configured to generate a rollout plan 228 such that the total number of tool-machine combinations 106 to be rolled out—i.e., the total maintenance workload over a future time period—is as low as possible. This is achieved by combining tool-machine combinations 106 from different iterations, taking into account their respective estimated rollout times and / or availability status.

[0076] The resulting launch plan 228 can be stored in the launch plan archive 230, which can be stored on the central server 206.

[0077] Database 202 may additionally include further information 232 about production facility 100, which may be additionally used by tool allocator 224 to generate rollout plan 228. Such further information may include unloading information indicating which of tools 104 are potentially available at external suppliers to meet corresponding needs 212 and / or 220, a list of possible and / or actually available tool-machine combinations 106, and / or the current status of each tool 104.

[0078] Priority rule 226 is described in more detail below.

[0079] For example, the priority rule set may include first priority rule 226a, second priority rule 226b, third priority rule 226c, fourth priority rule 226d, and fifth priority rule 226e. The five priority rules 226a to 226e can be applied one after another in hierarchical order, starting with the first priority rule 226a and ending with the fifth priority rule 226e.

[0080] The first priority rule 226a can be configured to determine the priority of each tool 104 based on unloading information (see above), such that tools 104 that can be supplied by external vendors have a lower priority than tools 104 that are only available at the production facility 100.

[0081] The second priority rule 226b can be configured to determine the priority of each machine 102 based on machine categories A, B, C, and D. Specifically, the priorities can be determined such that machine category D has the highest priority and machine category A has the lowest priority. Machine category B can have a lower priority than machine category C.

[0082] Tool allocator 224 can be configured to determine the number of available machines 102 for each tool 104 based on further information 232 and / or prediction data 204. A third priority rule 226c can then be used to determine the priority of tools 104 according to the corresponding number of available machines 102. Specifically, the third priority rule 226c can determine priorities such that tools 104 with a lower number of available machines 102 have a higher priority than tools 104 with a higher number of available machines 102.

[0083] Additionally or alternatively, the tool allocator 224 can be configured to determine the number of available tools 104 for each machine 102 based on further information 232 and / or prediction data 204. A fourth priority rule 226d can then be used to determine the priority of machines 102 according to the corresponding number of available tools 104. Specifically, the fourth priority rule 226d can determine priorities such that machines 102 with a lower number of available tools 104 have a higher priority than machines 102 with a higher number of available tools 104.

[0084] The fifth priority rule 226e can be configured to determine the priority of each tool 104 based on its corresponding planned requirements 214 and / or new requirements 220. In particular, priorities can be determined such that tools 104 with lower requirements 214 and / or 220 have a higher priority than tools 104 with higher requirements 214 and / or 220.

[0085] It is important to note that the type, number, and / or order of priority rules 226 may vary depending on the use case.

[0086] Figure 3 shows a flowchart of a method for allocating tool 104 to machine 102 of production facility 100. This method can be performed by computer 208 of resource allocation system 200.

[0087] In step 310, forecast data 204 is received at computer 208, which indicates the planned demand 214 and demand deviation 216 of tool 104.

[0088] In step 320, the computer 208 generates new requirements 220 for tool 104 from planned requirements 214 and requirements deviations 216 in several iterations.

[0089] In step 330, capacity is assigned to new demand 220 in each iteration by determining tool-machine combination 106 by computer 208. To do this, a priority is determined for each tool 104 and each machine 102 based on priority rule set 226—namely, 226a-226e—and tool-machine combination 106 is determined by combining tools 104 and machines 102 according to priority.

[0090] In step 340, computer 208 generates a rollout plan 228 from the different iterations of resource-machine combinations 106 and the estimated rollout time for each resource-machine combination 106, which assigns the resource-machine combinations 106 to be rolled out to future time periods. The rollout plan 228 is generated to minimize the total number of resource-machine combinations 106 to be rolled out.

[0091] Although the invention has been illustrated and described in detail in the drawings and the foregoing description, such illustrations and descriptions are to be considered illustrative or exemplary, not restrictive; the invention is not limited to the disclosed embodiments. Other variations of the disclosed embodiments can be understood and implemented by those skilled in the art through practice of the claimed invention, based on a study of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single processor or controller or other unit may perform the functions of several items recited in the claims. The sole fact that certain measures are recited in mutually identical dependent claims does not indicate that a combination of these measures cannot be used advantageously. No stylistic references in the claims should be interpreted as limiting the scope.

[0092] 100: Production facilities 102: Machine 104: Resources and Tools 106: Resource-Machine Combination, Tool-Machine Combination 200: Resource Allocation System 202: Database 204: Forecast Data 206: Central Server 208: Computer 212:Schedule 214: Planned Requirements 216: Demand Deviation 218: Demand Generator 220: New Demands 222: Requirements Archive 223: Scope of Demand 224: Tool Distributor 226: Priority Rules 226a: First Priority Rule 226b: Second Priority Rule 226c: Third Priority Rule 226d: Fourth Priority Rule 226e: Fifth Priority Rule 228: Launch Plan 230: Launch Plan Archive 232: Further Information AD: Machine Category

Claims

1. A method for allocating resources (104) to machines (102) in a production facility (100), the method comprising: Receive forecast data (204) indicating the planned demand (214) and demand deviation (216) of the resource (104), wherein the demand deviation is calculated based on historical demand and / or historical output, and / or is a predefined value; generate new demand (220) for each resource (104) from the planned demand (214) and demand deviation (216) of the resource (104) in several iterations; Capacity is assigned to the new demand (220) in each iteration by determining resource-machine combinations (106), wherein a priority is determined for each resource (104) and each machine (102) based on a priority rule set (226; 226a, 226b, 226c, 226d, 226e), wherein the resource-machine combination (106) is determined by combining the resources (104) and the machines (102) according to the priority; and a rollout plan (228) is generated to assign the resource-machine combinations (106) to future time periods, wherein the rollout plan (228) is generated from the resource-machine combinations (106) of different iterations and the estimated rollout time for each resource-machine combination (106), such that the total number of resource-machine combinations (106) to be rolled out is minimized.

2. The method according to request item 1, wherein, The priority rule set (226; 226a, 226b, 226c, 226d, 226e) includes a first priority rule (226; 226a) for determining the priority of each resource (104) based on whether the resource (104) can be provided by an external supplier, such that resources (104) that can be provided by an external supplier have a lower priority than resources (104) that cannot be provided by an external supplier.

3. The method according to request item 1 or 2, wherein, The machines (102) of the production facility (100) are assigned to different machine categories (A, B, C, D), wherein machines (102) of lower machine categories (A, B, C, D) have lower processing precision and / or are compatible with a lower number of resources (104) compared to machines (102) of higher machine categories (A, B, C, D); wherein the priority rule set (226; 226a, 226b, 226c, 226d, 226e) includes a second priority rule (226, 226b) for determining the priority of each machine (102) depending on the machine category (A, B, C, D) of the machine (102), such that machines (102) of lower machine categories (A, B, C, D) have higher priority compared to machines (102) of higher machine categories (A, B, C, D).

4. The method according to request item 1 or 2, wherein, For each resource (104), the number of available machines (102) is determined; wherein the priority rule set (226; 226a, 226b, 226c, 226d, 226e) includes a third priority rule (226, 226c) for determining the priority of each resource (104) based on the number of available machines (102) for the resource (104), such that a resource (104) with a lower number of available machines (102) has a higher priority than a resource (104) with a higher number of available machines (102).

5. The method according to request item 1 or 2, wherein, For each machine (102), the number of available resources (104) is determined; wherein the priority rule set (226; 226a, 226b, 226c, 226d, 226e) includes a fourth priority rule (226, 226d) for determining the priority of each machine (102) based on the number of available resources (104) for the machine (102), such that a machine (102) with a lower number of available resources (104) has a higher priority than a machine (102) with a higher number of available resources (104).

6. The method according to request item 1 or 2, wherein, The priority rule set (226; 226a, 226b, 226c, 226d, 226e) includes a fifth priority rule (226, 226e) for determining the priority of each resource (104) based on the planned demand (214) and / or new demand (220) for the resource (104), such that resources (104) with lower planned demand (214) and / or new demand (220) have higher priority than resources (104) with higher planned demand (214) and / or new demand (220).

7. The method according to request item 1 or 2, wherein, The new demand (220) for each resource (104) is generated by randomly selecting a value from a demand range (223) defined by the planned demand (214) and the demand deviation (216) of the resource (104).

8. The method according to request item 1 or 2, wherein, The demand deviation (216) is calculated from the historical planned demand and the historical actual demand relative to the historical planned demand.

9. The method according to request item 1 or 2, wherein, The resource-machine combination (106) in the current iteration is determined based on the resource-machine combination (106) from the previous iteration.

10. The method according to request item 1 or 2, wherein, Each resource (104) is a specific tool to be used by at least one of the machines (102); and / or wherein, Each machine (102) is a laser drilling machine adapted for drilling holes in circuit boards.

11. A data processing apparatus (208) comprising means (218, 224) for performing the method according to any one of claims 1 to 10.

12. A computer program comprising instructions that, when executed by a computer (208), cause the computer (208) to perform the method described in any one of claims 1 to 10.

13. A computer-readable medium comprising instructions that, when executed by a computer (208), cause the computer (208) to perform the method described according to any one of claims 1 to 10.