Multi-chip CT optimization method and system considering complex constraints, storage medium

By optimizing the resource allocation of the pick-and-place machine using a mixed integer programming model, the CT balance problem of the pick-and-place machine under complex constraints was solved, thereby improving production efficiency and equipment utilization.

CN120974780BActive Publication Date: 2025-12-12HEFEI ANXIN PRECISION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511493939.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-10-20
Publication Date
2025-12-12
Estimated Expiration
2045-10-20

AI Technical Summary

Technical Problem

Existing pick-and-place machines suffer from poor CT balancing accuracy and weak engineering adaptability when handling complex constraints, resulting in limited production line efficiency.

Method used

By combining mathematical modeling and dynamic equilibrium, a multi-dimensional constrained intelligent substrate splitting system is constructed through a mixed integer programming model to optimize the resource allocation of multiple chip mounters.

Benefits of technology

It achieves a balance between multiple CT machines, improves production efficiency, avoids equipment idleness and overload, and enhances the overall production capacity of the production line.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120974780B_ABST
    Figure CN120974780B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of patch machine mounting optimization, in particular to a multi-patch machine CT optimization method and system considering complex constraints, and a storage medium, the method comprising: dividing components and their mounting points into independent split units according to the attribute of whether the components are allowed to be assigned by multiple machines, each split unit corresponding to a component; generating a component machine score matrix, each row representing a split unit and each column representing a machine, the data corresponding to the row and column representing the fitness score of the split unit assigned to the corresponding machine; creating a target function min f =x1 f 1+x2 f 2+x3 f 3 considering all constraints based on a mixed integer programming model. This scheme comprehensively considers equipment configuration and substrate characteristics, analyzes various constraint conditions to ensure the practical feasibility of the assignment scheme, and realizes the quantitative expression and solution of the constraint conditions by integrating equipment configuration parameters, component characteristics and production rules in the mixed integer programming framework.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of patch machine mounting optimization, in particular to a multi-patch machine CT optimization method and system considering complex constraints, and a storage medium. BACKGROUND

[0002] SMT (Surface Mount Technology) production line is the core process platform for realizing miniaturization and high-density assembly of modern electronic products, usually including solder paste printer, patch machine, reflow soldering furnace and AOI detection equipment, and following the process flow of "printing-mounting-welding-detection" to complete the automatic assembly of electronic components. The level of this technology directly determines the assembly accuracy, production efficiency and reliability of electronic products, and is widely used in high-end manufacturing fields such as consumer electronics, automotive electronics, aerospace, etc.

[0003] As the core equipment of SMT production line, patch machine uses multi-axis motion system to drive the mounting head to pick up surface mount components (SMD) from the feeder (such as tape, tray or tray), and then uses visual positioning system (including flying camera and fixed camera) to identify and correct the component posture and Mark point of PCB board, and finally mounts the components to the preset pad position with high precision. The technical difficulty lies in meeting the requirements of high speed and high precision at the same time, and being able to adapt to the diversified mounting needs of 01005 ultra-miniature components to large BGA, QFP and other special-shaped components.

[0004] Because patch machine needs to perform a series of complex actions such as component picking, identification, positioning and mounting, its single machine capacity often becomes the bottleneck of the production line. In order to improve the overall efficiency, the mainstream production line usually configures multiple patch machines (usually 2 to 4) to work in parallel, and realizes distributed processing of mounting tasks through substrate splitting. The current common task allocation schemes mainly fall into three categories: one is the rule allocation method based on manual experience, that is, engineers formulate fixed splitting rules (such as grouping by package size) according to equipment models and component types; the second is simple load balancing, which allocates component quantity or estimated mounting time to preliminarily balance the load; the third is heuristic allocation, which uses specific rules and random processes to iteratively select better allocation schemes. Manual allocation method has the problems of strong subjectivity and poor engineering adaptability. Load balancing method is easy to cause imbalance of production line cycle time (CT) due to not fully considering the differences in equipment configuration (such as feeder type, nozzle configuration), component mounting complexity (such as precision components requiring special mounting head) and dynamic changes in production process (such as equipment failure, material shortage). Although heuristic can handle certain complex constraints, it usually has low calculation efficiency and relies on random processes, resulting in unstable solutions and poor repeatability. Therefore, the existing technology has certain defects in complex constraint handling, CT balancing accuracy and engineering adaptability, and a solution is needed that can solve the above problems at the same time. SUMMARY

[0005] In order to solve the problems in the prior art, the application provides a multi-paster CT optimization method and system considering complex constraints, a storage medium, and can construct an intelligent substrate splitting system integrating multi-dimensional constraints, and realizes global optimization of SMT production line resource configuration through a method combining mathematical modeling and dynamic balance.

[0006] In order to achieve the above-mentioned purpose, the first aspect of the application provides a multi-paster CT optimization method considering complex constraints, characterized in that the method comprises the following steps:

[0007] According to the attribute of whether the component is allowed to be allocated to multiple machines, the components and their mounting points are divided into independent splitting units, and each splitting unit corresponds to a component;

[0008] A component machine score matrix is generated, each row representing a splitting unit and each column representing a machine, and the data corresponding to the row and column representing the fitness score of the splitting unit allocated to the corresponding machine;

[0009] A target function min is created based on a mixed integer programming model considering all constraints f =x1 f 1+x2 f 2+x3 f 3, wherein the sub-target f 1: , the sub-target f 2: , the sub-target f 3: , height k represents the height of the component k, score ij represents the fitness score of the splitting unit i allocated to the machine j, p ij represents whether the splitting unit i is allocated to the machine j, q jk represents whether the machine j exists for the component k, x j represents the number of mounting points of the machine j, y j represents the sum of the slot positions required to be occupied by the feeder of all components allocated to the machine j, z i represents the number of the machine to which the splitting unit i is finally allocated, goalLoad j represents the expected load of the machine j.

[0010] The second aspect of the application provides a multi-patch machine CT optimization method considering complex constraints, characterized by comprising the following steps:

[0011] S1, according to the attribute of whether the element allows multi-machine distribution, the element and its mounting point are divided into independent split units, and each split unit corresponds to one element;

[0012] S2, generating an element machine score matrix, each row representing a split unit, each column representing a machine, and the data corresponding to the row and column representing the fitness score of the split unit assigned to the corresponding machine;

[0013] S3, obtaining computer CPU information, generating a proper number of computing tasks according to the number of CPU threads, all computing tasks running in parallel on independent threads, and each computing task generating a set of initial machine production capacity indexes according to the index of the corresponding task;

[0014] S4, each independent task creates a target function min f =x1 f 1+x2 f 2+x3 f 3 considering all constraints based on a mixed integer programming model, wherein the sub-target f 1: , the sub-target f 2: , the sub-target f 3: , height k represents the height of element k, score ij represents the fitness score of split unit i assigned to machine j, p ij represents whether split unit i is assigned to machine j, q jk represents whether machine j exists element k, x j represents the number of mounting points of machine j, y j represents the sum of slot positions required by the feeder of all elements assigned to machine j, z i represents the number of the machine to which split unit i is finally assigned;

[0015] S5, after the establishment of the model, the model is solved to obtain a specific distribution scheme, according to which the split substrates are generated, and each substrate is optimized using a single machine optimization algorithm to obtain the theoretical production CT of each substrate on the respective machine;

[0016] S6, based on the theoretical CT of the substrate and the load capacity of the machine, re-evaluate the production capacity of each machine, combine the preset expected production time proportion of each machine, and recalculate the expected load capacity of each machine;

[0017] S7, based on the latest evaluation result and the target, return to step S4 to update the model and re-run, so as to repeatedly execute steps S5 to S7, and realize multiple rounds of iterations until a termination condition is reached.

[0018] The third aspect of the present application provides a multi-paster CT optimization system considering complex constraints, comprising:

[0019] The splitting unit generation module is configured to divide the components and their mounting points into independent splitting units according to the attribute of whether the components allow multi-machine allocation, and each splitting unit corresponds to a component;

[0020] The fitness score configuration module is configured to generate a component-machine score matrix, each row representing a splitting unit, each column representing a machine, and the data corresponding to the row and column representing the fitness score of the splitting unit allocated to the corresponding machine;

[0021] The objective function creation module is configured to create an objective function min f =x1 f 1+x2 f 2+x3 f 3 based on the mixed integer programming model, wherein the sub-objective f 1: , the sub-objective f 2: , and the sub-objective f 3: , height k represents the height of the component k, score ij represents the fitness score of the splitting unit i allocated to the machine j, p ij represents whether the splitting unit i is allocated to the machine j, q jk represents whether the machine j exists for the component k, x j represents the number of mounting points of the machine j, y j represents the sum of the slot positions required to be occupied by the feeder of all components allocated to the machine j, z i represents the number of the machine to which the splitting unit i is finally allocated, goalLoad j represents the expected load of the machine j.

[0022] The fourth aspect of the present application provides a machine readable storage medium, which stores instructions for causing a machine to perform the steps of the above-mentioned multi-pick-and-place machine CT optimization method considering complex constraints.

[0023] The fifth aspect of the present application provides a processor for running a program, wherein the program is used to perform the above-mentioned multi-pick-and-place machine CT optimization method considering complex constraints when running.

[0024] Through the above technical solution, the technical solution of the present application comprehensively considers the equipment configuration and the substrate characteristics, analyzes various constraint conditions to ensure the actual feasibility of the allocation scheme, and integrates the equipment configuration parameters (such as the type / number of feeders, the configuration of suction nozzles, etc.), the component characteristics (such as the package size, the identification method, etc.) and the production rules (such as the manually customized allocation constraints, etc.) through the mixed integer programming framework, realizes the quantitative expression and solution of the constraint conditions, avoids the problems of the traditional method relying on manual experience or simple average allocation, not considering the differences in equipment configuration and component mounting complexity, and leading to poor multi-machine CT balancing effect, which seriously restricts the production efficiency of the production line.

[0025] Other features and advantages of the embodiments of the present application will be described in detail in the following specific implementation part. BRIEF DESCRIPTION OF DRAWINGS

[0026] The accompanying drawings are included to provide a further understanding of the embodiments of the present application, and constitute a part of the specification, and are used together with the following specific implementation to explain the embodiments of the present application, but do not constitute a limitation on the embodiments of the present application. In the drawings:

[0027] Figure 1 is a multi-pick-and-place machine CT optimization flowchart considering complex constraints according to the embodiments of the present application. DETAILED DESCRIPTION

[0028] The specific implementation of the embodiments of the present application will be described in detail below in combination with the drawings. It should be understood that the specific implementation described herein is only used to illustrate and explain the embodiments of the present application, and does not limit the embodiments of the present application.

[0029] The first aspect of the embodiments of the present application provides a pick-and-place machine suction nozzle initial allocation method, a multi-pick-and-place machine CT optimization method considering complex constraints, which comprises the following steps:

[0030] S1, according to the attribute of whether the component is allowed to be allocated by multiple machines, the component and its mounting point are divided into independent split units, and each split unit corresponds to a component;

[0031] First, traverse all the configuration parameters of the placement machines on the production line, calculate the key configuration attributes of the machines, including but not limited to: machine type (high-speed machine, general-purpose machine, etc.), feeding mode (tape feeder, automatic tray, etc.), camera configuration (flying camera, bottom mirror camera, etc.), suction nozzle exchange station configuration (whether there is an exchange station, the type and number of nozzles in the exchange station, etc.).

[0032] Then continue to traverse all the component data, calculate the key allocation attributes of each component, including: component feeding mode, identification camera type, size, whether to allow multi-machine allocation, manually set allocation machine constraints, etc.

[0033] Based on the sorted machine attributes and component attributes, calculate the component allocation related constraints, determine the union of machines that the component can finally be allocated to. Then, according to whether the component allows multi-machine allocation, divide the component and its mounting points into independent split units. The split unit will be the direct operation object in the subsequent splitting process. One type of component can have multiple split units, but each split unit corresponds to only one type of component. In this way, the conditions required for the execution of the splitting method are prepared.

[0034] S2, generate a component machine score matrix, each row represents a split unit, each column represents a machine, and the data corresponding to the row and column represents the adaptation score of the split unit allocated to the corresponding machine;

[0035] The adaptation score is mainly calculated based on the characteristics of each type of machine and the component. For example, high-speed machines are designed to achieve high-speed mounting, so small-size, large-batch, and fast-mounting components are more suitable for this machine type. The general-purpose machine is designed to achieve the mounting of more types of components, so large-size, special-type, and slow-mounting components are more suitable for mounting on the general-purpose machine.

[0036] S3, create a target function min f =x1 f 1+x2 f 2+x3 f 3 based on the mixed integer programming model considering all constraints f 1: , sub-target f 2: , sub-target f 3: , height k represents the height of component k, score ij represents the adaptation score of split unit i allocated to machine j, p ij represents whether split unit i is allocated to machine j, qjk denotes whether machine j exists element k, x j denotes the number of mounting points of machine j, y j denotes the sum of the number of slots required by the feeder of all elements allocated to machine j, z i denotes the number of machines to which the split unit i is finally allocated.

[0037] Further, the mixed integer programming model is established in step S3 for multi-machine allocation of mounting loads based on dynamic evaluation of machine production capacity in a complex constraint scenario, including the following steps:

[0038] S31, create decision variables

[0039] Create two-dimensional zero-one decision variables p ij denotes whether the split unit i is allocated to machine j, I denotes the number of split units, and J denotes the total number of machines. Since the hard constraint calculation of elements and machines has been completed in step S1, the value of the decision variable can be limited when initializing the decision variable, and this part of the hard constraint can be processed in advance.

[0040] .

[0041] S32, create auxiliary variables

[0042] In order to facilitate the subsequent modeling process, a series of auxiliary variables are created.

[0043] Auxiliary variable 1: two-dimensional zero-one variable q jk denotes whether machine j exists element k

[0044]

[0045] where K denotes the total number of element types.

[0046] Whether a machine exists a certain type of element depends on whether the corresponding split unit is allocated, and the variable value is constrained by the following formula.

[0047]

[0048] where i k denotes that the element type corresponding to the split unit is k.

[0049] Auxiliary variable 2: one-dimensional integer variable x j denotes the final load number (mounting point number) of machine j

[0050] where c ount i represents the number of loads of the splitting unit i.

[0051] Auxiliary variable 3: one-dimensional integer variable y j represents the sum of the number of slots that the feeder assigned to the component k needs to occupy. .

[0052] where width k represents the number of slots that the feeder assigned to the component k occupies.

[0053] Auxiliary variable 4: one-dimensional integer variable z i represents the number of the machine to which the splitting unit i is finally assigned

[0054] .

[0055] S33, create constraints

[0056] Constraint 1, all splitting units should be assigned

[0057] .

[0058] This formula means that for any one splitting unit, it will always and only be assigned to one machine.

[0059] Constraint 2, the assignment order of the splitting units cannot violate the placement order constraint

[0060] The placement order constraint between the splitting units has been calculated in the nozzle interference checking step. Assuming that the splitting unit a must be completed before the splitting unit b, since the machine number is incremented according to the order of the machines in the production line, the number of the machine where a is located needs to be less than or equal to the number of the machine where b is located. With the help of auxiliary variables, the constraint can be expressed as the following formula: z a ≤ z b .

[0061] Constraint 3, the final number of slots occupied by the feeder of each machine cannot exceed the number of slots that the machine can provide

[0062] y j ≤ slotCount j

[0063] where slotCount jrepresents the number of slots that machine j can provide.

[0064] Constraint 4, alternative components need to be assigned to the same machine

[0065] Since pick-and-place machines usually support the function of alternative components, i.e. several feeders supply the same component, when the magazine of some feeders is empty, the machine can continue to suck components from the feeders of its alternative components, avoiding frequent downtime. Assuming that the split units a, b, c are alternative components to each other, this constraint can be expressed as follows: z a == z b == z c , == for computer language, means equal to.

[0066] S34, create objective function

[0067] The objective function is composed of three sub-goals, according to the order of magnitude and importance of the sub-goals, different weights are given, and the overall goal is to minimize the objective function: min f =100 f 1+ f 2- f 3.

[0068] Objective function 1: each machine reaches the expected load

[0069] The algorithm adjusts the expected load for each machine by dynamically evaluating the production capacity of each machine, and the objective function 1 is the main goal of the model distribution, which has the highest weight. It minimizes the absolute value of the difference between the actual load and the expected load to make the actual load reach or approach the expected load:

[0070] .

[0071] Linearize the absolute value term of the above formula:

[0072] .

[0073] Objective function 2: high-height components are preferentially placed on the back machine for placement

[0074] If the higher component is placed first, it will affect the safety height of all subsequent placement points, that is, the Z-axis of all subsequent placement points needs to be lifted higher to avoid interference with the already placed components, which will affect the production efficiency of the machine. In addition, the placement of the front machine needs to go through a longer plate transmission distance and be subjected to more bumps, combined with the high center of gravity of the high component, it is more likely to appear to fall. In summary, high components should be placed on the machine at the rear side of the production line for placement first, which is beneficial to production efficiency and quality.

[0075] .

[0076] wherein height k represents the height of component k, f2 j represents the highest height of components allocated to machine j, f2 represents the sum of the highest component heights allocated to each machine, combined with objective function 3 and the overall minimization target, components with high height can be placed on the machine at the rear side of the production line for placement first.

[0077] Objective function 3: Each type of component is allocated to the most suitable machine for placing the component of that type

[0078] Although different machines may be able to achieve the placement of a certain component, there may be differences in efficiency and accuracy. The component machine score matrix has been generated before, and objective function 3 is constructed using this matrix, which can achieve that each type of component is allocated to the most suitable machine for placing the component of that type.

[0079] ,

[0080] wherein score ij represents the degree of fit score of the split unit i allocated to machine j.

[0081] SMT production line is usually composed of multiple types of placement machines, and different devices have different configurations and functional characteristics. At the same time, the production line needs to process diversified substrates, and the types and layouts of components and devices are significantly different. Based on the above characteristics, when the complete substrate is split into multiple devices for mounting, multiple constraint conditions are faced, for example: if the device is not equipped with an automatic tray, the component that needs to use an automatic tray cannot be matched; if the device is not configured with a bottom mirror camera, the component that relies on the bottom mirror camera for identification cannot be matched. Therefore, the technical scheme of the present application comprehensively considers the device configuration and substrate characteristics, analyzes various constraint conditions to ensure the actual feasibility of the allocation scheme, and integrates device configuration parameters (such as feeder type / quantity, nozzle configuration, etc.), component characteristics (such as package size, identification method, etc.) and production rules (such as manual custom allocation constraints, etc.) through a mixed integer programming framework to realize the quantitative expression and solution of constraint conditions. Avoid the problem that the traditional method relies on manual experience or simple average allocation, and does not consider the device configuration difference and component mounting complexity, resulting in poor CT balancing effect of multiple machines, which seriously restricts the production efficiency of the production line.

[0082] In another embodiment of the present application, the designed splitting method is a composite optimization algorithm based on a multi-task parallel framework, with a mixed integer programming constraint solution model as the core, and a dynamic evaluation of multi-machine production capacity as the adjustment strategy. Specifically, the following processes are included before step S3:

[0083] (1) Obtain the CPU information of the computer, generate a reasonable number of computing tasks according to the number of CPU threads, and all computing tasks run in parallel on independent threads.

[0084] (2) Each computing task generates a set of initial machine production capacity indexes according to the index of the task. Since the index of the computing task is incremental, the generated initial machine production capacity indexes are also step-changed. For example, there are two machines on the production line, and the production capacity ratio of the two machines initialized by computing task 1 is 0.8 to 1, and the production capacity ratio of the two machines initialized by computing task 2 is 1 to 1, and the production capacity ratio of the two machines initialized by computing task 3 is 1.2 to 1. In this way, multiple computing tasks are combined to cover the common machine production capacity ratio interval, providing a solid foundation for the algorithm to find the optimal allocation scheme.

[0085] On the basis of ensuring the feasibility of the allocation result, a more optimal allocation effect is pursued to minimize the total consumption time of the multiple chip mounters. The total consumption time of the multiple chip mounters depends on the CT (cycle time) of the longest machine, which requires the CT of the multiple machines to be balanced to avoid the situation that some equipment is in high-load operation and some equipment is idle due to uneven load distribution. The technical scheme of the present application develops a dynamic balancing algorithm: based on the dynamic evaluation strategy of the production capacity of multiple machines, the CT deviation of multiple machines is controlled within 5%, and the maximum single machine load is reduced to less than 1.1 times of the theoretical optimal value. In some cases, it can support the user's demand for customizing the CT ratio.

[0086] In another embodiment of the present application, after step S3 is completed, the following steps are further included:

[0087] S4, after the model is established, the model is solved to obtain a specific allocation scheme. According to the allocation scheme, the split substrates are generated, and each substrate is optimized by using a single machine optimization algorithm to obtain the theoretical production CT of each substrate on the respective machine. Based on the theoretical CT of the substrate and the load capacity of the machine, the production capacity of each machine is re-evaluated. The higher the production capacity, the more mounting points the machine can complete in the same time. Production capacity = load capacity ÷ theoretical CT.

[0088] S5, based on the re-evaluated machine production capacity and the expected production time ratio of each machine set by the user, the expected load capacity of each machine is recalculated. Based on the latest evaluation results and the target, return to step S3 to update the model and re-run, and repeat steps S4 to S5, to achieve multiple iterations, continuously optimize the allocation result in the iteration process, and finally exit the loop when the CT reaches the expected allocation ratio, the algorithm reaches the set iteration number or the algorithm reaches the set execution time, and output the optimal allocation scheme.

[0089] S6, generate the substrate: based on the optimal allocation scheme solved by the algorithm, generate the split and optimized substrate for each machine. Then release the memory, threads and other resources applied during the algorithm execution process, and complete the execution of the entire algorithm.

[0090] Considering the complex and variable actual production scene, it may be necessary to manually control the assignable machines of some components or implement multi-machine allocation of the same component. The conventional automatic allocation function cannot meet the above-mentioned needs, so it is necessary to enhance the flexibility and adjustability of the algorithm, and support the configuration function of the custom component allocation strategy based on the automatic allocation function. The technical scheme of the present application constructs a custom allocation mechanism: supports three types of custom strategy configuration - component-device binding rule (such as dedicated component specified device), component multi-machine allocation (same component multi-device redundant mounting) and custom CT balance degree (control multi-machine CT ratio), to adapt to individual needs.

[0091] In the embodiment of the present application, before step S1 is performed, the following process is further included:

[0092] (1) Before the algorithm runs, data preparation work needs to be completed, including collecting the configuration parameters of all devices on the production line, all substrate data to be split (if re-splitting is required, the same-named substrates allocated to each device must be merged first), and manually set optimization parameters, etc.

[0093] (2) Then, a substrate priori check is performed, the purpose of which is to identify whether there are fatal errors in the substrate that cannot be solved by optimization. Once such errors are found, the algorithm will directly report an error and terminate running, avoiding invalid calculations. For example, if neither of the two high-speed machines configured on the production line is equipped with a bottom mirror camera, and there is a large-size component in the substrate to be optimized that must be identified using a bottom mirror camera, the priori check will determine that it is a fatal error.

[0094] (3) After completing the priori check, the substrate data is merged. Since the substrate is split, the same-named substrates will be generated on multiple devices, and each will be responsible for mounting part of the components. Before re-allocating, the mounting data of these same-named substrates needs to be merged to restore the complete substrate data.

[0095] (4) Next, a suction nozzle interference check is performed. When the distance between two mounting points is too small and there is a height difference, if the higher component is mounted first and then the lower component is mounted, it may cause interference between the suction nozzle and the already mounted component, leading to problems such as mounting deviation, component damage, or device error. Therefore, the algorithm needs to detect all possible interference mounting points in the merged substrate data and extract the mounting order constraints accordingly. According to user settings, mounting order constraints are divided into two categories: one is point-level constraints, which only limit the mounting order between specific points that have interference risks; the other is component-level constraints, which have stricter requirements, requiring that all mounting points of a certain type of component must be completed before the mounting points of other types of components.

[0096] In summary, the technical scheme of the present application has the following beneficial effects: it does not rely on heuristic algorithms, and the solving efficiency and speed exceed that of traditional algorithms; the model is accurate, there is no random process, ensuring consistent results each time, and it is reproducible; the constraint conditions are fully considered, and it can directly determine whether there is a feasible solution; the objective function is diverse, and the target weight can be controlled to adjust the solving tendency; the constraints and objectives are expressed as formulas using mathematical modeling, which is thorough, clear, and has strong scalability; the algorithm framework of the present application, including algorithm acceleration methods, constraint solving methods, and optimization iteration methods, has strong scalability and can continue to add or modify constraint conditions and objective functions to improve the algorithm according to requirements.

[0097] In another embodiment of the present application, as shown in Figure 1 a multi-paster CT optimization method considering complex constraints, comprising the following steps:

[0098] S1, according to the attribute of whether the element allows multi-machine distribution, the element and its mounting point are divided into independent split units, each split unit corresponds to one element;

[0099] S2, generate element machine score matrix, each row represents a split unit, each column represents a machine, and the data corresponding to the row and column represents the fitness score of the split unit assigned to the corresponding machine;

[0100] S3, obtain computer CPU information, generate a reasonable number of computing tasks according to the number of CPU threads, all computing tasks run in parallel on independent threads, and each computing task generates a set of initial machine production capacity indexes according to the index of the corresponding task;

[0101] S4, each independent task creates a target function min f =x1 f 1+x2 f 2+x3 f 3 considering all constraints based on mixed integer programming model; f 1: , sub-target f 2: , sub-target f 3: , height k represents the height of element k, score ij represents the fitness score of split unit i assigned to machine j, p ij represents whether split unit i is assigned to machine j, q jk represents whether element k exists in machine j, x j represents the number of mounting points of machine j, y j represents the sum of slot positions required by the feeder of all elements assigned to machine j, z i represents the number of machines to which split unit i is finally assigned;

[0102] S5, after the establishment of the model, the model is solved to obtain a specific distribution scheme, according to the distribution scheme, a split substrate is generated, and each substrate is optimized using single machine optimization algorithm to obtain the theoretical production CT of each substrate on the respective machine;

[0103] S6, based on the theoretical CT of the substrate and the load capacity of the machine, re-evaluate the production capacity of each machine, combine the preset expected production time proportion of each machine, and recalculate the expected load capacity of each machine;

[0104] S7, based on the latest evaluation result and the target, return to step S4 to update the model and re-run, so as to repeatedly execute steps S5 to S7, and realize multiple rounds of iterations until a termination condition is reached.

[0105] Based on the same inventive concept, a second aspect of an embodiment of the present application provides a multi-CT optimization system of a multi-paster machine considering complex constraints, comprising:

[0106] The splitting unit generation module is configured to divide the components and their mounting points into independent splitting units according to the attribute of whether the components allow multi-machine allocation, and each splitting unit corresponds to one component;

[0107] The fitness score configuration module is configured to generate a component-machine score matrix, each row representing a splitting unit, each column representing a machine, and the data corresponding to the row and column representing the fitness score of the splitting unit allocated to the corresponding machine;

[0108] The objective function creation module is configured to create an objective function min f =x1 f 1+x2 f 2+x3 f 3 based on a mixed integer programming model considering all constraints, f 1: , sub-target f 2: , sub-target f 3: , height k represents the height of component k, score ij represents the fitness score of splitting unit i allocated to machine j, p ij represents whether splitting unit i is allocated to machine j, q jk represents whether machine j has component k, x j represents the number of mounting points of machine j, y j represents the sum of the slot positions required by the feeders of all components allocated to machine j, z i represents the number of the machine to which splitting unit i is finally allocated.

[0109] A third aspect of the embodiments of the present application provides a machine readable storage medium, having stored thereon instructions for causing a machine to perform the steps of the above-mentioned method for CT optimization of multi-patch machine considering complex constraints.

[0110] A fourth aspect of the embodiments of the present application provides a processor for running a program, wherein the program is used to perform the above-mentioned method for CT optimization of multi-patch machine considering complex constraints when being run.

[0111] It is worth mentioning that the scheme of the present application is designed based on a mixed integer programming model, and in addition, a rule method, a heuristic or other solutions based on expert experience can also be used.

[0112] It is also necessary to mention that the term “comprising” or “including” or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or equipment.

[0113] The above is only an embodiment of the present application and is not intended to limit the present application. The present application can have various changes and modifications for those skilled in the art. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application shall be included in the scope of claims of the present application.

Claims

1. A multi-chip bonder (CT) optimization method considering complex constraints, characterized in that, The method comprises the following steps: According to the attribute of whether the element allows multi-machine distribution, the element and its mounting points are divided into independent split units, and each split unit corresponds to an element; Generate an element machine score matrix, each row represents a split unit, each column represents a machine, and the data corresponding to the row and column represents the fitness score of the split unit assigned to the corresponding machine; Based on the mixed integer programming model, the objective function min f = x1 f 1 + x2 f 2 + x3 f 3 is created considering all constraints, wherein the sub-objective f 1: , the sub-objective f 2: , and the sub-objective f 3: , height k represents the height of the component k, score ij represents the fitness score of the split unit i assigned to the machine j, p ij represents whether the split unit i is assigned to the machine j, q jk represents whether the component k exists in the machine j, x j represents the number of mounting points of the machine j, y j represents the sum of the slot positions required by the feeders of all components assigned to the machine j, z i represents the number of the machine to which the split unit i is finally assigned, goalLoad j represents the expected load of the machine j, J represents the total number of machines, I represents the number of split units, and K represents the total number of component types, f2 j represents the highest height of the components assigned to the machine j.

2. The method of claim 1, wherein, The all constraints include: All splitting units should be assigned, formula is: ; The assignment order of the splitting units cannot violate the mounting order constraint, which is given by: z a ≤ z b , which means that the splitting unit a must be mounted before the splitting unit b, z a 、 z b , which respectively means that the splitting unit a、b the final assigned machine number; The final feeder occupancy slot number of each machine cannot exceed the number of slots that the machine can provide, the formula is: y j ≤ slotCount j , slotCount j represents the number of slots that machine j can provide; the alternative element needs to be allocated to the same machine, the formula is: z a == z b == z c ; z c represents the number of slots that the machine can provide c The final allocated machine number of the split unit 3. The method of claim 1, wherein, After creating the objective function, the distribution scheme is obtained by solving, and the split substrate is generated according to the distribution scheme. Each substrate is optimized by using a single machine optimization algorithm to obtain the theoretical production CT of each substrate on the respective machine.

4. The method of claim 3, wherein, The method further comprises: Based on the theoretical production CT and the load capacity of the machine, the production capacity of the machine is re-evaluated: production capacity = load capacity ÷ theoretical CT; Based on the re-evaluated production capacity of the machine and the pre-set expected production time ratio of each machine, the expected load capacity of each machine is recalculated; Based on the latest evaluated expected load capacity and target, the objective function considering all constraints is re-executed based on the mixed integer programming model, and iteration is performed until the exit condition is met.

5. The method of claim 1, wherein, Before executing the objective function created based on the mixed integer programming model considering all constraints, the method further comprises: Obtain computer CPU information, generate a reasonable number of computing tasks according to the number of CPU threads, and all computing tasks run in parallel on independent threads; Each computing task generates a set of initial machine production capacity indexes according to the index of the task, and the initial machine production capacity indexes change in steps, so that multiple computing tasks combined together cover the common machine production capacity ratio interval.

6. The method according to any one of claims 1 to 5, characterized in that, Before the step of dividing the element and its mounting points into independent split units according to the attribute of whether the element allows multi-machine distribution, the method further comprises the following steps: Prepare data, including the configuration parameters of all machines on the production line, all substrates to be split, and manually set optimization parameters; Check the substrate to determine whether the substrate has fatal errors; After splitting the substrate, combine the data of all substrates with the same name to restore the complete original substrate data; After completing the substrate data merging, perform nozzle interference checking on all mounting points, calculate all possible interference conditions, and record the mounting sequence constraints; Based on the key configuration attributes of the machine and the key distribution attributes of each element, calculate the element distribution related constraints to determine the union of machines to which the element can be distributed.

7. The method of claim 6, wherein, The mounting sequence constraints include: considering the mounting sequence between interference points, element-level mounting sequence constraints.

8. A multi-chip bonder (CT) optimization method considering complex constraints, characterized in that, The method comprises the following steps: S1, according to the attribute of whether the element allows multi-machine distribution, the element and its mounting points are divided into independent split units, and each split unit corresponds to an element; S2, generate an element machine score matrix, each row represents a split unit, each column represents a machine, and the data corresponding to the row and column represents the fitness score of the split unit assigned to the corresponding machine; S3, obtaining computer CPU information, generating a reasonable number of computing tasks according to the number of CPU threads, all computing tasks running in parallel on independent threads, and each computing task generating a set of initial machine production capacity indexes according to the index of the corresponding task; S4, each independent task creates a target function min considering all constraints based on a mixed integer programming model f = x1 f 1 + x2 f 2 + x3 f 3, where the sub-target f 1: , the sub-target f 2: , the sub-target f 3: , height k represents the height of component k, score ij represents the fitness score of splitting unit i assigned to machine j, p ij represents whether splitting unit i is assigned to machine j, q jk represents whether component k exists in machine j, x j represents the number of mounting points of machine j, y j represents the sum of the number of slots required by the feeders of all components assigned to machine j, z i represents the number of the machine to which splitting unit i is finally assigned, goalLoad j represents the expected load of machine j, J represents the total number of machines, I represents the number of splitting units, and K represents the total number of component types, f2 j represents the highest height of the components assigned to machine j; S5, after the model is established, the model is solved to obtain a specific allocation scheme, a split substrate is generated according to the allocation scheme, each substrate is optimized by using a single machine optimization algorithm, and a theoretical production CT of each substrate on the respective machine is obtained; S6, based on the theoretical CT of the substrate and the load capacity of the machine, the production capacity of each machine is re-evaluated, and the expected load capacity of each machine is recalculated in combination with the preset expected production time proportion of each machine; S7, based on the latest evaluation result and the target, return to step S4 to update the model and re-run, so as to repeatedly execute steps S5 to S7, and realize multiple iterations until a termination condition is reached.

9. A multi-chip bonder (CT) optimization system considering complex constraints, characterized by, Comprising: A splitting unit generation module configured to divide components and their mounting points into independent splitting units according to the attribute of whether the components are allowed to be allocated to multiple machines, each splitting unit corresponding to a component; An adaptation score configuration module configured to generate a component-machine score matrix, each row representing a splitting unit and each column representing a machine, and the data corresponding to the row and column representing the adaptation score of the splitting unit allocated to the corresponding machine; An objective function creation module configured to create an objective function min f = x1 f 1 + x2 f 2 + x3 f 3 based on the mixed integer programming model considering all constraints f 1: , sub-objective f 2: , sub-objective f 3: , height k represents the height of element k, score ij represents the fitness score of the split unit i assigned to machine j, p ij represents whether the split unit i is assigned to machine j, q jk represents whether machine j exists element k, x j represents the number of mounting points of machine j, y j represents the sum of the slot positions required by the feeders of all elements assigned to machine j, z i represents the number of machines to which the split unit i is finally assigned, goalLoad j represents the expected load of machine j, J represents the total number of machines, I represents the number of split units, and K represents the total number of element types, f2 j represents the highest height of the elements assigned to machine j.

10. A machine-readable storage medium having instructions stored thereon for causing a machine to perform the steps of the multi-paster machine CT optimization method considering complex constraints according to any one of claims 1-8.

11. A processor, comprising: A program for running, wherein the program is used to execute the multi-paster machine CT optimization method considering complex constraints according to any one of claims 1-8 when the program is run.

Citation Information

Patent Citations

  • Feeder arrangement optimization method and system considering complex constraints, and storage medium

    CN118647197A

  • Method, device and system for evaluating virtual avatar in virtual reality rehabilitation scene

    CN118919017A