Chip mounter mounting path optimization method based on virtual physical quantity adjustment tabu search algorithm
By using virtual physical quantity adjustment taboo search algorithm in the patch machine to optimize the mounting path, the blindness and low efficiency of array circuit board mounting path optimization in the existing technology is solved, and more efficient mounting path planning is achieved and improve production efficiency.
Patent Information
- Application Number
- CN202310830146.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-06
- Publication Date
- 2024-12-10
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing mounting path optimization methods are blind and greedy when assembling array circuit boards, and cannot adapt to the mounting point distribution rules, resulting in staggered and messy mounting paths and unbalanced path lengths, resulting in low production efficiency.
The taboo search algorithm based on virtual physical quantity adjustment is adopted, and the path optimization is performed through the virtual suction rod interval ratio and the virtual speed ratio, and the taboo search algorithm is combined to avoid local optimal solutions and balance the path lengths of each period.
The installation path length is effectively shortened and the installation production efficiency is improved. Experiments show that the maximum efficiency improvement compared with commercial software is 24.6%.
Smart Images

Figure CN119106653A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a method for optimizing a placement path of a chip placement machine, and belongs to the fields of electrical technology and electrical engineering. Background Art
[0002] The continuous development of high-tech in the electronics industry has greatly promoted the convenience and automation of production and life. Electronic products are designed by circuit boards plus various electronic components such as capacitors and resistors according to the designed circuit diagram. Various electrical appliances require various SMT patch processing technologies for processing. In the process of board-level packaging of electronic products, surface mount technology is the most mainstream core technology at present. The placement machine is a key equipment for surface mounting. Its function is to pick up electronic components and chips at high speed and high precision and then mount them on printed circuit boards. For the sake of simplicity, in the following text, "electronic components and chips" are collectively referred to as "components", and "pickup and placement" is referred to as "pickup and placement".
[0003] A mechanical structure of a chip mounter equipped with a beam-type chip mount carrier such as Figure 2 As shown. The feeder base is used to install feeders with different types, which can automatically supply components to the picking position during the picking process; the conveyor is responsible for the circuit board conveyance, and after the circuit board is conveyed to the stop pin position, the conveyor will clamp and fix the circuit board; the beam type chip carrier is driven by a motor to move along the fixed guide rail and the translation guide rail to achieve precise positioning in both horizontal and vertical directions; the suction rod on the chip carrier can move up and down along the Z axis, and the component picking and placement is achieved by vacuum extraction and release.
[0004] The placement process of the chip placement machine is as follows Figure 3 As shown in the figure, the chip carrier of the placement machine moves to the top of the feeder base and performs the picking action to complete the component picking; then the suction rod on the placement carrier carries the component to the top of the circuit board, and each suction rod performs the placement action at the corresponding placement point in turn to complete the component placement; and then the next pick-up cycle begins. The placement path optimization problem is an important optimization sub-problem in the entire placement optimization, which can significantly shorten the time consumption of surface placement optimization and improve the surface placement production efficiency.
[0005] When solving the placement path optimization problem, it is necessary to use physical quantities in the algorithm to measure the length of the patch carrier's moving path. The physical quantities include "adjacent suction rod intervals" and "X- and Y-direction movement speeds". Previous studies have used real physical quantities for searching. This search method can accurately measure the path length, but it has poor adaptability to array-type layout circuit boards. By proportionally adjusting the real physical quantities to obtain virtual physical quantities and using virtual physical quantities for path search in the algorithm, it is possible to establish a positional relationship mapping between each suction rod in the parallel placement head and the placement points on the circuit board, thereby effectively improving the global optimization capability of the placement path.
[0006] The main defects of the current research are: the search method of the existing mounting path optimization method is blind and greedy. When assembling circuit boards with array layouts, it is impossible to adapt to the distribution rules of mounting points, and it is easy to form staggered and messy mounting paths. At the same time, it is impossible to balance the path lengths in each cycle, resulting in poor optimization results for the mounting paths in the later picking and pasting cycles, and ultimately making the total picking and pasting path too long and the mounting production efficiency low.
[0007] This patent is based on the mounting path optimization method given in the patent No. 202010387811.7, and further provides a mounting path optimization method based on a virtual physical quantity adjustment taboo search algorithm. By introducing virtual physical quantities into the mounting path optimization process, the mounting path length can be effectively shortened. Summary of the invention
[0008] The purpose of the present invention is to solve the problem that the search method of the existing mounting path optimization method is blind and greedy. When assembling a circuit board with an array layout, it is impossible to adapt to the distribution law of the mounting points, and it is easy to form a staggered and messy mounting path. At the same time, it is impossible to balance the path length in each cycle, resulting in poor mounting path optimization results in the later picking and pasting cycle, and ultimately making the total picking and pasting path too long and the mounting production efficiency low. A mounting path optimization method for a chip placement machine based on a virtual physical quantity adjustment taboo search algorithm is proposed.
[0009] A method for optimizing the placement path of a placement machine based on a virtual physical quantity adjustment taboo search algorithm. The specific process is as follows:
[0010] Step 1: Obtain placement machine parameters, circuit board production data, and component allocation results;
[0011] Step 2: Execute the placement path optimization heuristic algorithm according to the real interval ratio and the real speed ratio to obtain the initial placement path and calculate the fitness function value;
[0012] Step 3, initializing a virtual interval ratio array, a virtual speed ratio array, and taboo search parameters;
[0013] Step 4: If the number of searches reaches the upper limit, go to step 8; if the number of searches does not reach the upper limit, go to step 5;
[0014] Step 5: Perform a neighbor search operation on the virtual interval ratio array and the virtual speed ratio array to obtain the current virtual interval ratio and virtual speed ratio;
[0015] Step 6: Execute the placement path optimization heuristic algorithm according to the current virtual interval ratio and virtual speed ratio to obtain the corresponding placement path as a candidate solution and update the optimal solution. If the number of generated candidate solutions exceeds the upper limit of one round of search, execute step 7, otherwise execute step 5;
[0016] Step 7: Update the current solution and taboo table according to the pros and cons of the candidate solution and the current optimal solution, and then proceed to step 4;
[0017] Step 8: Output the optimal picking and posting location path optimization result.
[0018] The beneficial effects of the present invention are:
[0019] The present invention discloses a method for optimizing the placement path of a chip placement machine based on virtual physical quantity adjustment of a taboo search algorithm. The method proposes a method for path search using virtual physical quantity. According to the virtual suction rod spacing ratio and the virtual chip carrier moving speed ratio, the placement path optimization search process is guided by the taboo search. A mapping of the position relationship between each suction rod in the parallel placement head and the placement point on the circuit board is established. The placement path of most circuit boards including array circuit boards can be reduced, and the path length in each cycle is balanced, so that the overall optimization effect is improved, and the placement production work efficiency is improved. Experiments show that the method provided by the present invention can greatly improve the production efficiency of the chip placement machine. Compared with commercial software, the maximum efficiency is improved by 24.6%.
[0020] Specifically, the present invention has the following two innovative features:
[0021] (1) It is proposed to adjust the virtual physical quantity to improve the search direction of the placement path optimization, avoiding the problems of poor adaptability to array layout circuit boards and inability to balance the optimization effects of the placement paths in the previous and next cycles when the path optimization is performed through real physical quantities, thus improving the algorithm's optimization ability;
[0022] (2) Aiming at the adjustment of virtual physical quantities, an optimization method based on the taboo search algorithm is proposed. With the help of the taboo search local neighborhood search mechanism and the corresponding taboo criterion, circuitous search can be avoided, and the local optimal solution can be jumped out, which has a stronger optimization ability. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 This is a flow chart of the method for optimizing the placement path of a placement machine of the present invention;
[0024] Figure 2 A schematic diagram of a chip mounter equipped with a beam-type chip mount carrier;
[0025] Figure 3 Flow chart of the pick-and-place process for the placement machine;
[0026] Figure 4 A schematic diagram of a mounting path for adjusting a taboo search algorithm using virtual physical quantities of the present invention is shown in an embodiment;
[0027] Figure 5 A schematic diagram of a mounting path using a real physical quantity heuristic algorithm in an embodiment;
[0028] Figure 6 It is a mounting path length convergence curve diagram of an embodiment of the present invention. DETAILED DESCRIPTION
[0029] Specific implementation method 1: The specific process of a placement machine placement path optimization method based on virtual physical quantity adjustment taboo search algorithm in this implementation method is as follows:
[0030] Step 1: Obtain placement machine parameters, circuit board production data, and component allocation results;
[0031] Step 2: Execute the placement path optimization heuristic algorithm according to the real interval ratio and the real speed ratio to obtain the initial placement path and calculate the fitness function value;
[0032] Step 3, initializing a virtual interval ratio array, a virtual speed ratio array, and taboo search parameters;
[0033] Step 4: If the number of searches reaches the upper limit, go to step 8; if the number of searches does not reach the upper limit, go to step 5;
[0034] Step 5: Perform a neighbor search operation on the virtual interval ratio array and the virtual speed ratio array to obtain the current virtual interval ratio and virtual speed ratio;
[0035] Step 6: Execute the placement path optimization heuristic algorithm according to the current virtual interval ratio and virtual speed ratio to obtain the corresponding placement path as a candidate solution and update the optimal solution. If the number of generated candidate solutions exceeds the upper limit of one round of search, execute step 7, otherwise execute step 5;
[0036] Step 7: Update the current solution and taboo table according to the pros and cons of the candidate solution and the current optimal solution, and then proceed to step 4;
[0037] Step 8: Output the optimal picking and posting location path optimization result.
[0038] Specific implementation method 2: This implementation method is different from the specific implementation method 1 in that: in step 1, the placement machine parameters, circuit board production data and component allocation results are obtained, and the specific process is as follows:
[0039] Step 11: Import the placement machine parameters;
[0040] The placement machine parameters include the total number of suction rods H, the index number of each suction rod in increasing order along the X-axis is h∈[1,…,H], and the suction rod interval is DI;
[0041] Step 12: Import circuit board production data;
[0042] The circuit board production data includes:
[0043] The total number of component types is C, and the index number of each component is c∈[1,…,C]. The number of mounting points of each component is stored in an array n with 1 row and C columns. For example, [8,10,12,15] means that the number of mounting points of the first type of component is 8, the number of mounting points of the second type of component is 10, the number of mounting points of the third type of component is 12, and the number of mounting points of the fourth type of component is 15;
[0044] The total number of mounting points is Q. The index number of each mounting point is q∈[1,…,Q]. The coordinates of the mounting points are stored in an array xyt with Q rows and 2 columns. For example, the X coordinate and Y coordinate of the qth mounting point are xyt(q,1) and xyt(q,2) respectively.
[0045] Step 13: Import component allocation results;
[0046] The total number of picking cycles is K, and the index number of each picking cycle is k∈[1,…,K];
[0047] The component allocation results are stored in a two-dimensional array PA with K rows and H columns, where the element PA(k,h) represents the type of component picked up by the h-th suction rod in the k-th picking cycle, that is, PA(k,h)∈[1,…,C].
[0048] The other steps and parameters are the same as those in the first embodiment.
[0049] Specific implementation method three: This implementation method is different from specific implementation methods one to two in that: in step two, the placement path optimization heuristic algorithm is executed according to the real interval ratio and the real speed ratio to obtain the initial placement path and calculate the fitness function value. The specific process is:
[0050] Step 21. The set of placement points to be allocated is M, the total number of placement points to be allocated is R, the index number of each placement point is r∈[1,…,R], the placement head number corresponding to each placement point is headnum, and the path search starting point star is calculated. The coordinates of the path search starting point are stored in the array star with K rows and 2 columns. For example, the X coordinate and Y coordinate of the kth path search starting point are star(k,1) and star(k,2) respectively.
[0051] The method for calculating the path search starting point is as follows:
[0052] Step 2: Take the real interval ratio as 1, that is, do not change the actual suction rod interval DI; store the virtual position of the placement point to be assigned corresponding to the suction rod No. 1 in the array xyt_1 with L rows and 2 columns. For example, the virtual X coordinate and Y coordinate of the rth placement point corresponding to the suction rod No. 1 are xyt_1(r,1) and xyt_1(r,2) respectively;
[0053] The calculation methods of xyt_1(r,1) and xyt_1(r,2) are as follows:
[0054] xyt_1(r,1)=xyt(r,1)-(headnum-1)*DI
[0055] xyt_1(r,2)=xyt(r,2)
[0056] Where * is a multiplication sign; xyt(r,1) is the virtual X coordinate of the rth placement point, and xyt(r,2) is the virtual Y coordinate of the rth placement point; L≤Q; xyt_1(r,1) represents the virtual X coordinate of the rth placement point corresponding to the No. 1 suction rod, and xyt_1(r,2) represents the virtual Y coordinate of the rth placement point corresponding to the No. 1 suction rod;
[0057] Step 212, traverse the set M of mounting points to be allocated, and obtain the coordinate L0 of the virtual mounting point on the rightmost lower side of the circuit board to be mounted;
[0058] The X coordinate of the virtual mounting point at the bottom right of the circuit board to be mounted is L0(1)=min(xyt_1(r,1)), and the Y coordinate of the virtual mounting point at the bottom right of the circuit board to be mounted is L0(2)=min(xyt_1(r,2));
[0059] Step 213: traverse the set of placement points to be assigned M, calculate the distance between any two placement points according to the Euler distance formula, and solve the actual placement point coordinate L1 closest to the virtual placement point coordinate L0. The coordinate L1 is the coordinate of the path search starting point star:
[0060] star(k,1)=L1(1)
[0061] star(k,2)=L1(2)
[0062] Wherein, L1(1) is the X coordinate of the actual placement point closest to the virtual placement point coordinate L0, and L1(2) is the Y coordinate of the actual placement point closest to the virtual placement point coordinate L0;
[0063] Taking points L1 and L0 as an example, the distance calculation method is:
[0064] Step 2: The coordinates of the starting point of the path search are used as the starting point coordinates of the heuristic path search algorithm. The output value of the heuristic path search algorithm is the shortest path planning result. The shortest path planning result is the shortest distance of a pick-up cycle (a shortest path planning result is obtained after one cycle, and a shortest path planning result corresponds to the shortest distance of a pick-up cycle). The shortest distance of each pick-up cycle is expressed as d k ;
[0065] The heuristic path search algorithm uses the patent number ZL202010387811.7 entitled "A SMT placement path planning method based on the nearest insertion method", and modifies the calculation formula of the Chebyshev distance in the SMT placement path planning method based on the nearest insertion method to D cheb (n i ,n j )=max(|x i -x j |,α|y i -y j |);
[0066] Where n i For mounted components, n j For mounting components, (x i ,y i ) is n i The coordinates of (x j ,y j ) is n j The coordinates of , α is the speed ratio, initialized to the real speed ratio, set to 1;
[0067] Remove the currently assigned placement point from the set M of placement points to be assigned. If the set M is empty, execute step 23; otherwise, execute step 21.
[0068] Patent 202010387811.7 mentions "D cheb (n i ,n j ) represents the mounted component n i and element n j The Chebyshev distance between the patch headers”, where n i The coordinates of (x i ,y i ), where n j The coordinates of (x j ,y j ), calculated as D cheb (n i ,n j )=max(|x i -x j |,|y i -y j |), the function max(a,b) is used to find the maximum value of the values a and b. This patent adjusts the formula for calculating the Chebyshev distance and modifies it to D cheb (n i ,n j )=max(|x i -x j |,α|y i -y j|), where α is the speed ratio, which is initialized here to the real speed ratio set to 1;
[0069] Step 2 and 3: The sum of the shortest distances of all picking cycles is used as the basis for evaluating the quality of the optimization results, which is called the fitness function
[0070] Step 24: The shortest path distance of the candidate solution is recorded as Dtotalbest, which is initialized to the fitness calculated in step 23; the global shortest distance is recorded as D_cost, which is initialized to the fitness calculated in step 23;
[0071] Step 25. Initialize a two-dimensional array PS with K rows and H columns whose elements are all zero to store the placement sorting results, where the element PS(k,s) represents the number of the suction rod for the sth placement in the kth picking cycle, that is, PS(k,s)∈[1,…,H].
[0072] The other steps and parameters are the same as those in the first or second embodiment.
[0073] Specific implementation method 4: This implementation method is different from any one of the specific implementation methods 1 to 3 in that: in step 3, the virtual interval ratio array, the virtual speed ratio array and the taboo search parameters are initialized. The specific process is as follows:
[0074] Step 31: Initialize the virtual interval ratio array and virtual speed ratio array:
[0075] The selectable virtual interval ratios (known constant value array) are stored in the array VirtualHd, and the number of selectable virtual interval ratios is recorded as numVH;
[0076] The selectable virtual speed ratios are stored in the array VirtualVY, and the number of selectable virtual speed ratios is recorded as numVY;
[0077] Where numVH = len(VirtualHd), numVY = len(VirtualVY);
[0078] The len(A) is used to obtain the length of array A;
[0079] Where VirtualHd = {1, 1 / 3, 1 / 2, 2 / 3, 4 / 3, 3 / 2, 5 / 3, 2}, VirtualVY = {1, 2000};
[0080] Step 32: Initialize the virtual interval ratio information chain and speed ratio information chain ps:
[0081] The information chain ps(1) stores the virtual interval ratio coding information of each picking-up period. The information chain index is the picking-up period number k. The fragment length corresponding to each picking-up period of the information chain is numVH. The fragment coding is initialized to an increasing sequence from 1 to numVH. For example, ps(1)(k,1) represents the first coding value of the kth picking-up period of the information chain ps(1).
[0082] The information chain ps(2) stores the virtual speed ratio encoding information of each pick-up cycle. The information chain index is the pick-up cycle number k. The length of the segment corresponding to each pick-up cycle of the information chain is numVY. The segment encoding is initialized to an increasing sequence from 1 to numVY.
[0083] Step 33: Initialize taboo search parameters:
[0084] The two-dimensional neighbor operation list is recorded as ActionList, the row direction is the picking cycle dimension, and the column direction is the information chain dimension. For example, the two-dimensional neighbor operation list of the picking cycle k and the first information chain can be expressed as ActionList(k,1);
[0085] The number of operations that can be performed in the two-dimensional neighbor operation list is recorded as a two-dimensional array nAction. For example, the number of operations that can be performed in the two-dimensional neighbor operation list of the first information chain in the picking cycle k is expressed as nAction(k,1); the number of times each neighbor operation in the two-dimensional neighbor operation list is disabled is recorded as TC, and the number of disabled times for updating is recorded as TL;
[0086] The length of the fragment corresponding to each pick-up period of the two information chains of virtual interval ratio and virtual speed ratio is recorded as numgc={numVH,numVY}, the sum of the length of the fragment corresponding to each pick-up period of the two information chains in one period is recorded as numgcs=numVH+numVY, and the total length of the fragment corresponding to each pick-up period of the two information chains in K periods is recorded as numgene=numgcs×K;
[0087] The roulette wheel selection probability array is stored in the 1-row, 3-column randRate array for information chain selection;
[0088] The best neighbor action list index is iActionBest, and iActionBest is initialized to an array with K rows and 2 columns and the value is 0;
[0089] The index of the best taboo neighbor action list is iActionBestTabu, which is initialized to an array of K rows and 2 columns with values of 0;
[0090] The search count variable that did not continue to improve is recorded as ImproveFlag, and the maximum search limit is recorded as NI;
[0091] The specific steps for initializing the taboo search parameters in step 3 are:
[0092] Step 331: For information chain cntpop∈{1,2} and picking cycle k, nAction(k,cntpop)=numgc(cntpop)-1;
[0093] nAction(k,cntpop) represents the number of operable items in the two-dimensional neighbor operation list of the pick-up period k and the cntpop-th information chain;
[0094] numgc(cntpop) indicates the length of the cntpop-th information chain;
[0095] Step 332: For the information chain cntpop∈{1,2}, the picking period k, the increasing sequence index j from 2 to numgc(cntpop), there is ActionList(k,cntpop)=(1,j);
[0096] ActionList(k,cntpop) is the two-dimensional neighbor operation list of the pick-up period k and the cntpop-th information chain;
[0097] Where (1,j) means initializing the two-dimensional neighbor operation list to the constant 1 and index j;
[0098] Step 333, for the information chain cntpop∈{1,2}, the picking period k, TC(k,cntpop) is initialized to an array of nAction(k,cntpop) with the values of row 1 and column 1 all being zero, and TL(k,cntpop) is initialized and calculated as follows:
[0099]
[0100] The ceil(x) function refers to the function of rounding down the output x; TC(k,cntpop) represents the number of times the two-dimensional neighbor operation of the cntpop-th information chain in the picking cycle k is disabled;
[0101] Step 334: For the information chain cntpop∈{1,2}, the randRate is initialized and calculated as follows:
[0102]
[0103] Where randRate represents the roulette wheel selection probability array, randRate(cntpop) represents the cntpop-th data in the roulette wheel selection probability array, and numgcs represents the sum of the lengths of the two information chains in one cycle;
[0104] Step 335: Initialize the search for unsustainable improvement count variable to ImproveFlag = 0, and the maximum search limit for the search for unsustainable improvement count variable is
[0105] The other steps and parameters are the same as those in Specific Embodiments 1 to 3.
[0106] Specific implementation method 5: This implementation method is different from any one of the specific implementation methods 1 to 4 in that: in step 4, if the number of searches reaches the upper limit, step 8 is executed; if the number of searches does not reach the upper limit, step 5 is executed; the specific process is:
[0107] Step 41: determine whether ImproveFlag is greater than NI, if so, go to step 8, otherwise go to step 42;
[0108] Step 42: The shortest path distance of the taboo table is recorded as DtotalbestTabu and initialized to infinity;
[0109] Step 43: Set the loop variable ni=1.
[0110] The other steps and parameters are the same as those in Specific Embodiments 1 to 4.
[0111] Specific implementation method 6: The difference between this implementation method and specific implementation methods 1 to 5 is that in step 5, a neighbor search operation is performed on the virtual interval ratio array and the virtual speed ratio array to obtain the current virtual interval ratio and virtual speed ratio. The specific process is:
[0112] Step 51: Randomly select a picking cycle cntcyc and calculate it as follows:
[0113] cntcyc = ceil(rand()×K)
[0114] Where rand() represents a random number between [0,1]; K represents K picking cycles;
[0115] Step 52: Select the information chain idxpop according to the roulette algorithm. The specific process is as follows:
[0116] Step 521: Randomly generate a number within [0,1] and save it in randpop, that is, randpop = rand();
[0117] Where randpop represents a number generated by rand();
[0118] Step 522, obtain the first numerical index idxpop in randRate that is larger than randpop;
[0119] Step 523, idxpop=idxpop-1;
[0120] Step 53: Perform a neighbor search operation to obtain the virtual interval ratio and virtual speed ratio, and obtain a new information chain newps. The specific process is as follows:
[0121] Step 531: Update the value of iAction. The calculation is as follows:
[0122] iAction=ceil(nAction(cntcyc,idxpop)×rand())
[0123] Where iAction represents the number of operations that can be performed at the position obtained by randomization of the two-dimensional neighbor operation list with the period cntcyc and the idxpop-th information chain; nAction(cntcyc,idxpop) represents the number of operations that can be performed at the two-dimensional neighbor operation list with the period cntcyc and the idxpop-th information chain;
[0124] Step 532: Let the new information chain newps = ps, and perform the exchange neighborhood operation, select two positions (iAction, 1) and (iAction, 2) in ActionList (cntcyc, idxpop) to perform the exchange operation on the new information chain newps;
[0125] Where ps represents the current information chain, ActionList(cntcyc,idxpop) represents the two-dimensional neighbor operation list, pick up the period cntcyc, the idxpop-th information chain; (iAction,1) represents the position iAction first data of the pick up period cntcyc, the idxpop-th information chain, (iAction,2) represents the position iAction second data of the pick up period cntcyc, the idxpop-th information chain;
[0126] Step 54: If the iAction position of TC (cntcyc, idxpop) is zero, then the taboo flag is recorded as TCflag = 0; otherwise, the taboo flag is recorded as TCflag = 1.
[0127] The other steps and parameters are the same as those in Specific Implementation Methods 1 to 5.
[0128] Specific implementation method 7: This implementation method is different from the specific implementation methods 1 to 6 in that: in step 6, the placement path optimization heuristic algorithm is executed according to the current virtual interval ratio and virtual speed ratio to obtain the corresponding placement path as a candidate solution and update the optimal solution. If the number of candidate solutions generated exceeds the upper limit of one round of search, step 7 is executed, otherwise step 5 is executed. The specific process is:
[0129] Step 61: Calculate the path search starting point star according to the new virtual interval ratio and virtual speed ratio obtained in step 53. The coordinates of the path search starting point star are stored in an array star with K rows and 2 columns. For example, the X coordinate and Y coordinate of the kth path search starting point are star(k,1) and star(k,2) respectively. The path search starting point calculation method is as follows:
[0130] Step 6.1. Calculate the kth virtual interval virtual_Intv as follows:
[0131] virtual_Intv=VirtualHd(newps(1)(k,1))×DI
[0132] Where newps(1)(k,1) represents the virtual interval information chain in the information chain;
[0133] Step 6-2: The virtual position of the placement point to be assigned corresponding to the suction rod No. 1 is stored in the array xyt_1 with the number of rows L≤Q and the number of columns 2. For example, the virtual X coordinate and Y coordinate of the rth placement point are xyt_1(r,1) and xyt_1(r,2) respectively. The calculation method is as follows:
[0134] xyt_1(r,1)=xyt(r,1)-(headnum-1)*virtual_Intv
[0135] xyt_1(r,2)=xyt(r,2)
[0136] Step 613, traverse the placement points M to be assigned, and obtain the coordinates L0 of the lower right virtual placement point, where the X coordinate of the lower right virtual placement point is L0(1)=min(xyt_1(r,1)), and the Y coordinate of the lower right virtual placement point is L0(2)=min(xyt_1(r,2));
[0137] Step 614: traverse the placement points M to be assigned, and find the actual placement point coordinate L1 closest to the virtual placement point coordinate L0. The coordinate of L1 is the coordinate of the path search starting point star:
[0138] star(k,1)=L1(1)
[0139] star(k,2)=L1(2)
[0140] Step 62: The coordinates of the starting point of the path search are used as the starting point coordinates of the heuristic path search algorithm. The output value of the heuristic path search algorithm is the shortest path planning result. The shortest path planning result is the shortest distance of a pick-up cycle (a shortest path planning result is obtained after one cycle, and a shortest path planning result corresponds to the shortest distance of a pick-up cycle). The shortest distance of each pick-up cycle is expressed as d k ;
[0141] The heuristic path search algorithm uses the method of patent number ZL202010387811.7 entitled "A method for planning the placement path of a placement machine based on the nearest insertion method", and modifies the calculation formula of the Chebyshev distance in the method for planning the placement path of a placement machine based on the nearest insertion method to D cheb (n i ,n j )=max(|x i -x j |,α|y i -y j |);
[0142] where n i For mounted components, n j For mounting components, (x i ,y i ) is n i The coordinates of (x j ,y j ) is n j The coordinates of , α is the speed ratio, α is set to newps(2)(k,1);
[0143] Remove the currently assigned placement point from the set M of placement points to be assigned. If the set M is empty, execute step 63; otherwise, execute step 61.
[0144] Where newps(2)(k,1) represents the first encoding value of the kth pick-up period of the second virtual speed ratio information chain newps obtained in step 53;
[0145] Step 6.3: The sum of the shortest distances of all picking cycles is used as the basis for evaluating the optimization results, which is called the fitness function.
[0146] Step 64: If the fitness calculated in step 63 is less than the shortest path Dtotalbest, then update the optimal solution Dtotalbest among the candidate solutions = fitness, update the optimal information chain psBest among the candidate solutions = newps, update the optimal neighbor operation list index iActionBest (cntcyc, idxpop) = iAction, update the optimal cycle index cntcycBest = cntcyc, and update the optimal information chain index idxpopBest = idxpop;
[0147] Step 65: If TCflag=1, update the information in the taboo list, otherwise do not update;
[0148] The process of updating the information in the taboo list is as follows:
[0149] If the fitness calculated in step 63 is less than the shortest path DtotalbestTabu in the taboo table, then update DtotalbestTabu=fitness, update the optimal information chain psBestTabu=newps in the taboo table, update the optimal neighbor operation list index iActionBestTabu(cntcyc,idxpop)=iAction in the taboo table, update the optimal cycle index cntcycBestTabu=cntcyc in the taboo table, and update the optimal information chain index idxpopBestTabu=idxpop in the taboo table;
[0150] Step 66: If ni>NI, then execute step 7, otherwise ni=ni+1, and execute step 5 instead.
[0151] The other steps and parameters are the same as those in Specific Embodiments 1 to 6.
[0152] Specific implementation method eight: This implementation method is different from specific implementation methods one to seven in that: in step seven, the current solution and the taboo table are updated according to the quality of the current optimal solution, and step four is executed instead. The specific process is:
[0153] Step 71, ImproveFlag = ImproveFlag + 1;
[0154] Step 72: If the optimal solution Dtotalbest among the candidate solutions is smaller than the value of D_cost, then the current solution is updated according to the optimal solution among the candidate solutions and step 73 is executed; otherwise, the current solution is updated according to the optimal solution that is not tabooed among the candidate solutions and step 74 is executed (otherwise, if the fitness calculated in step 63 is less than the fitness of the shortest path Dtotalbest, the current solution is updated and step 74 is executed);
[0155] Step 73: Update the global optimal path distance D_cost=Dtotalbest, update the information chain ps=psBest, update the taboo chain list, and update the search improvement flag ImproveFlag=0;
[0156] The specific process of updating the taboo linked list is as follows:
[0157] Traverse the positions from 1 to nAction(cntcycBest,idxpopBest) in TC(cntcycBest,idxpopBest), and the index is recorded as index;
[0158] When index = iActionBest (cntcycBest, idxpopBest), the following formula is executed:
[0159] TC(cntcycBest,idxpopBest)(index)=TL(cntcycBest,idxpopBest)
[0160] For the remaining positions, perform the following:
[0161] TC(cntcycBest,idxpopBest)(index)=max(TC(cntcycBest,idxpopBest)(index)-1,0)
[0162] In the above formula, max(x,y) means to find the larger value of x and y;
[0163] Among them, TC(cntcycBest,idxpopBest) represents the number of times the corresponding neighbor operation in the two-dimensional neighbor operation list of the pick-up period cntcycBest and the idxpopBest-th information chain is disabled, nAction(cntcycBest,idxpopBest) represents the number of operable neighbor operations in the two-dimensional neighbor operation list of the pick-up period cntcycBest and the idxpopBest-th information chain, iActionBest(cntcycBest,idxpopBest) represents the index of the optimal neighbor operation list in the pick-up period cntcycBest and the idxpopBest-th information chain, TC(cntcycBest,idxpopBest) represents the index of the optimal neighbor operation list in the pick-up period cntcycBest and the idxpopBest-th information chain, t,idxpopBest)(index) indicates the number of times the index-th neighbor operation in the two-dimensional neighbor operation list of the pick-up period cntcycBest and the idxpopBest-th information chain is disabled, TL(cntcycBest,idxpopBest) indicates the number of neighbors used for updating in the two-dimensional neighbor operation list of the pick-up period cntcycBest and the idxpopBest-th information chain, max(TC(cntcycBest,idxpopBest)(index)-1,0) indicates the larger number between TC(cntcycBest,idxpopBest)(index)-1 and 0 is obtained;
[0164] Step 74: Update the information chain ps=psBestTabu, and update the taboo chain list. The specific process of updating the taboo chain list is as follows:
[0165] Traverse the positions from 1 to nAction(cntcycBestTabu,idxpopBestTabu) in TC(cntcycBestTabu,idxpopBestTabu), and record the index as index;
[0166] When index = iActionBest (cntcycBestTabu, idxpopBestTabu), the following formula is executed:
[0167] TC(cntcycBestTabu,idxpopBestTabu)(index)=TL(cntcycBestTabu,idxpopBestTabu)
[0168] For the remaining positions, perform the following:
[0169] TC(cntcycBestTabu,idxpopBestTabu)(index)=max(TC(cntcycBestTabu,idxpopBestTabu)(index)-1,0)
[0170] Among them, TC(cntcycBestTabu,idxpopBestTabu) represents the number of times each neighbor operation in the two-dimensional neighbor operation list of the pick-up period cntcycBestTabu and the idxpopBestTabu information chain is disabled, nAction(cntcycBestTabu,idxpopBestTabu) represents the number of operable items in the two-dimensional neighbor operation list of the pick-up period cntcycBestTabu and the idxpopBestTabu information chain, iActionBest(cntcycBestTabu,idxpopBestTabu) represents the index of the best neighbor operation list in the pick-up period cntcycBestTabu and the idxpopBestTabu information chain, TC(cntcycBestTabu u,idxpopBestTabu)(index) indicates the number of times the indexth neighbor operation corresponding to the two-dimensional neighbor operation list of the pick-up period cntcycBestTabu and the idxpopBestTabu information chain is disabled, TL(cntcycBestTabu,idxpopBestTabu) indicates the number of neighbors for updating corresponding to the two-dimensional neighbor operation list of the pick-up period cntcycBestTabu and the idxpopBestTabu information chain, (TC(cntcycBestTabu,idxpopBestTabu)(index) indicates the number of times the indexth neighbor operation corresponding to the two-dimensional neighbor operation list of the pick-up period cntcycBestTabu and the idxpopBestTabu information chain is disabled;
[0171] Step 75: Go to step 41 (step 73 and step 74 are two parallel situations, so both step 73 and step 74 jump to step 75).
[0172] The other steps and parameters are the same as those in Specific Embodiments 1 to 7.
[0173] Specific implementation method 9: The difference between this implementation method and specific implementation methods 1 to 8 is that the step 8 outputs the optimal placement path optimization result, and the specific process is:
[0174] The placement machine updates the placement sorting result PS according to the placement point sequence of each picking and placement cycle output by the algorithm and carries out placement production.
[0175] The other steps and parameters are the same as those in Specific Embodiments 1 to 8.
[0176] The following examples are used to verify the beneficial effects of the present invention:
[0177] Embodiment 1:
[0178] The present embodiment provides a method for optimizing a mounting path based on a virtual physical quantity adjustment taboo search algorithm, which is specifically prepared according to the following steps:
[0179] The example considers the placement path optimization process of a six-suction rod beam placement carrier placement machine.
[0180] The circuit board production data that needs to be imported is listed in Table 1, which includes one type of components with a total of 78 mounting points.
[0181] Table 1 Circuit board production data
[0182]
[0183] A total of 13 pick-and-place cycles are required to complete the placement of all placement points.
[0184] The virtual interval ratio selection library is VirtualHd=[1 1 / 3 1 / 2 2 / 3 4 / 3 3 / 2 5 / 3 2]. The optimal "virtual interval ratio selection" information chain searched by the present invention is:
[0185] 8;3 2 4 1 5 6 7 8;3 2 4 1 5 6 7 8;4 1 2 3 5 6 7 8;2 3 6 4 8 1 7 5],The virtual interval ratio of each picking period is obtained by decoding ps(1):VirtualHd([4 2 1 3 5 6 7 8;1 4 8 3 5 6 7 2;5 2 3 4 1 6 7 8;5 2 1 3 4 6 78;4 1 3 2 5 6 7 8;3 2 4 1 5 6 7 8;4 2 1 3 5 6 7 8;3 2 4 1 5 6 7 8;6 3 4 1 5 87 2;3 1 2 7 4 6 5 8;3 2 4 1 5 6 7 8;4 1 2 3 5 6 7 8;2 3 6 4 8 1 7 5], 4 3 4 3 6 3 3 4 2]) = [2 / 3 1 4 / 3 4 / 3 2 / 3 1 / 2 2 / 3 1 / 2 3 / 2 1 / 2 1 / 2 2 / 3 1 / 3]:
[0186] The virtual speed ratio selection library is VirtualVY=
[12000] , and the optimal "virtual speed ratio selection" information chain searched by the present invention is: ps{2}=[2 1; 2 1; 2 1; 2 1; 2 1; 2 1; 2 1; 2 1; 2 1; 2 1; 2 1; 2 1; 2 1], and after decoding ps{2}, the virtual speed ratio of each picking period is VirtualVY([2 2 2 2 2 2 2 2 2 2 2 22]), that is, the virtual speed ratio of the format pasting period is 2000:
[0187] Using the above virtual interval ratio and virtual speed ratio, based on the nearest insertion method given by the patent number "ZL202010387811.7", the placement point allocation result PA and the placement sorting result PS are as follows:
[0188]
[0189] The placement path optimization results obtained by virtual physical quantity adjustment taboo search algorithm are as follows Figure 4 As shown in the figure, the optimal placement path length is Dtotalbest = 794 mm. The placement path optimization result obtained by the real physical quantity heuristic algorithm is as follows: Figure 5 As shown, the optimal mounting path length is D_cost = 1053 mm. In this embodiment, the present invention can achieve an improvement of the mounting path of 100%*(1053-794) / 1053 = 24.6%.
[0190] The present invention may also have many other embodiments. Without departing from the spirit and essence of the present invention, those skilled in the art may make various corresponding changes and modifications based on the present invention, but these corresponding changes and modifications should all fall within the scope of protection of the claims attached to the present invention.
Claims
1. A method for optimizing the placement path of a chip placement machine based on a virtual physical quantity adjustment taboo search algorithm, characterized in that: The specific process of the method is: Step 1: Obtain placement machine parameters, circuit board production data, and component allocation results; Step 2: Execute the placement path optimization heuristic algorithm according to the real interval ratio and the real speed ratio to obtain the initial placement path and calculate the fitness function value; Step 3, initializing a virtual interval ratio array, a virtual speed ratio array, and taboo search parameters; Step 4: If the number of searches reaches the upper limit, go to step 8; if the number of searches does not reach the upper limit, go to step 5; Step 5: Perform a neighbor search operation on the virtual interval ratio array and the virtual speed ratio array to obtain the current virtual interval ratio and virtual speed ratio; Step 6: Execute the placement path optimization heuristic algorithm according to the current virtual interval ratio and virtual speed ratio to obtain the corresponding placement path as a candidate solution and update the optimal solution. If the number of generated candidate solutions exceeds the upper limit of one round of search, execute step 7, otherwise execute step 5; Step 7: Update the current solution and taboo table according to the pros and cons of the candidate solution and the current optimal solution, and then proceed to step 4; Step 8: Output the optimal picking and posting location path optimization result.
2. According to claim 1, a method for optimizing the placement path of a placement machine based on a virtual physical quantity adjustment taboo search algorithm is characterized in that: In the step 1, the parameters of the placement machine, the circuit board production data and the component allocation results are obtained, and the specific process is as follows: Step 11: Import the placement machine parameters; The placement machine parameters include the total number of suction rods H, the index number of each suction rod in increasing order along the X-axis is h∈[1,…,H], and the suction rod interval is DI; Step 12: Import circuit board production data; The circuit board production data includes: The total number of component types is C, and the index number of each component is c∈[1,…,C]. The number of mounting points of each component is stored in an array n with 1 row and C columns. The total number of mounting points is Q, and the index number of each mounting point is q∈[1,…,Q]. The coordinates of the mounting points are stored in an array xyt with Q rows and 2 columns. The X coordinate and Y coordinate of the qth mounting point are xyt(q,1) and xyt(q,2) respectively. Step 13: Import component allocation results; The total number of picking cycles is K, and the index number of each picking cycle is k∈[1,…,K]; The component allocation results are stored in a two-dimensional array PA with K rows and H columns, where the element PA(k,h) represents the type of component picked up by the h-th suction rod in the k-th picking cycle, that is, PA(k,h)∈[1,…,C].
3. The method for optimizing the placement path of a chip placement machine based on a virtual physical quantity adjustment taboo search algorithm according to claim 2, characterized in that: In the step 2, the placement path optimization heuristic algorithm is executed according to the real interval ratio and the real speed ratio to obtain the initial placement path and calculate the fitness function value. The specific process is: Step 21: The set of placement points to be allocated is M, the total number of placement points to be allocated is R, the index number of each placement point is r∈[1,…,R], the placement head number corresponding to each placement point is headnum, the path search starting point star is calculated, and the coordinates of the path search starting point are stored in the array star with K rows and 2 columns. The X coordinate and Y coordinate of the kth path search starting point are star(k,1) and star(k,2) respectively; The method for calculating the path search starting point is as follows: Step 2: Take the real interval ratio as 1, that is, do not change the actual suction rod interval DI; store the virtual position of the placement point to be assigned corresponding to the suction rod No. 1 in the array xyt_1 with L rows and 2 columns, and the virtual X coordinate and Y coordinate of the rth placement point corresponding to the suction rod No. 1 are xyt_1(r,1) and xyt_1(r,2) respectively; The calculation methods of xyt_1(r,1) and xyt_1(r,2) are as follows: xyt_1(r,1)=xyt(r,1)-(headnum-1)*DI xyt_1(r,2)=xyt(r,2) Where * is a multiplication sign; xyt(r,1) is the virtual X coordinate of the rth placement point, and xyt(r,2) is the virtual Y coordinate of the rth placement point; L≤Q; xyt_1(r,1) represents the virtual X coordinate of the rth placement point corresponding to the No. 1 suction rod, and xyt_1(r,2) represents the virtual Y coordinate of the rth placement point corresponding to the No. 1 suction rod; Step 212, traverse the set M of mounting points to be allocated, and obtain the coordinate L0 of the virtual mounting point on the lower right side of the circuit board to be mounted; The X coordinate of the virtual mounting point at the bottom right of the circuit board to be mounted is L0(1)=min(xyt_1(r,1)), and the Y coordinate of the virtual mounting point at the bottom right of the circuit board to be mounted is L0(2)=min(xyt_1(r,2)); Step 213: traverse the set of placement points to be assigned M, calculate the distance between any two placement points according to the Euler distance formula, and solve the actual placement point coordinate L1 closest to the virtual placement point coordinate L0. The coordinate L1 is the coordinate of the path search starting point star: star(k,1)=L1 (1) star(k,2)=L1 (2) Wherein, L1(1) is the X coordinate of the actual placement point closest to the virtual placement point coordinate L0, and L1(2) is the Y coordinate of the actual placement point closest to the virtual placement point coordinate L0; Step 2: The coordinates of the starting point of the path search are used as the starting point coordinates of the heuristic path search algorithm. The output value of the heuristic path search algorithm is the shortest path planning result. The shortest path planning result is the shortest distance of a pick-up cycle. The shortest distance of each pick-up cycle is expressed as d k ; The heuristic path search algorithm uses the patent number ZL202010387811.7 entitled "A SMT placement path planning method based on the nearest insertion method", and modifies the calculation formula of the Chebyshev distance in the SMT placement path planning method based on the nearest insertion method to D cheb (n i ,n j )=max(|x i -x j |,α|y i -y j |); Where n i For mounted components, n j For mounting components, (x i ,y i ) is n i The coordinates of (x j ,y j ) is n j The coordinates of , α is the speed ratio, initialized to the real speed ratio, set to 1; Remove the currently assigned placement point from the set M of placement points to be assigned. If the set M is empty, execute step 23; otherwise, execute step 21. Step 2 and 3: The sum of the shortest distances of all picking cycles is used as the basis for evaluating the quality of the optimization results, which is called the fitness function Step 24: The shortest path distance of the candidate solution is recorded as Dtotalbest, which is initialized to the fitness calculated in step 23; the global shortest distance is recorded as D_cost, which is initialized to the fitness calculated in step 23; Step 25. Initialize a two-dimensional array PS with K rows and H columns whose elements are all zero to store the placement sorting results, where the element PS(k,s) represents the number of the suction rod for the sth placement in the kth picking cycle, that is, PS(k,s)∈[1,…,H].
4. The method for optimizing the placement path of a chip placement machine based on a virtual physical quantity adjustment taboo search algorithm according to claim 3, characterized in that: In step 3, the virtual interval ratio array, the virtual speed ratio array and the taboo search parameters are initialized. The specific process is as follows: Step 31: Initialize the virtual interval ratio array and virtual speed ratio array: The selectable virtual interval ratios are stored in the array VirtualHd, and the number of selectable virtual interval ratios is recorded as numVH; The selectable virtual speed ratios are stored in the array VirtualVY, and the number of selectable virtual speed ratios is recorded as numVY; Where numVH = len(VirtualHd), numVY = len(VirtualVY); The len(A) is used to obtain the length of array A; Where VirtualHd = {1, 1 / 3, 1 / 2, 2 / 3, 4 / 3, 3 / 2, 5 / 3, 2}, VirtualVY = {1, 2000}; Step 32: Initialize the virtual interval ratio information chain and speed ratio information chain ps: The information chain ps(1) stores the virtual interval ratio coding information of each picking-up period. The information chain index is the picking-up period number k. The fragment length corresponding to each picking-up period of the information chain is numVH. The fragment coding is initialized to an increasing sequence from 1 to numVH. ps(1)(k,1) represents the first coding value of the kth picking-up period of the information chain ps(1). The information chain ps(2) stores the virtual speed ratio encoding information of each pick-up cycle. The information chain index is the pick-up cycle number k. The length of the segment corresponding to each pick-up cycle of the information chain is numVY. The segment encoding is initialized to an increasing sequence from 1 to numVY. Step 33: Initialize taboo search parameters: The two-dimensional neighbor operation list is recorded as ActionList, the row direction is the picking cycle dimension, and the column direction is the information chain dimension. The two-dimensional neighbor operation list of the picking cycle k and the first information chain can be expressed as ActionList(k,1); The number of operations that can be performed in the two-dimensional neighbor operation list is recorded as a two-dimensional array nAction, and the number of operations that can be performed in the two-dimensional neighbor operation list of the first information chain in the picking period k is expressed as nAction(k,1); the number of times each neighbor operation in the two-dimensional neighbor operation list is disabled is recorded as TC, and the number of disabled times for updating is recorded as TL; The length of the fragment corresponding to each pick-up period of the two information chains of virtual interval ratio and virtual speed ratio is recorded as numgc={numVH,numVY}, the sum of the length of the fragment corresponding to each pick-up period of the two information chains in one period is recorded as numgcs=numVH+numVY, and the total length of the fragment corresponding to each pick-up period of the two information chains in K periods is recorded as numgene=numgcs×K; The roulette wheel selection probability array is stored in the 1-row, 3-column randRate array for information chain selection; The index of the best neighbor action list is iActionBest, which is initialized to an array with K rows and 2 columns and the value is 0; The index of the best taboo neighbor action list is iActionBestTabu, which is initialized to an array of K rows and 2 columns with values of 0; The search count variable that did not continue to improve is recorded as ImproveFlag, and the maximum search limit is recorded as NI; The specific steps for initializing the taboo search parameters in step 3 are: Step 331: For information chain cntpop∈{1,2} and picking cycle k, nAction(k,cntpop)=numgc(cntpop)-1; nAction(k,cntpop) represents the number of operable items in the two-dimensional neighbor operation list of the pick-up period k and the cntpop-th information chain; numgc(cntpop) indicates the length of the cntpop-th information chain; Step 332: For the information chain cntpop∈{1,2}, the picking period k, the increasing sequence index j from 2 to numgc(cntpop), there is ActionList(k,cntpop)=(1,j); ActionList(k,cntpop) is the two-dimensional neighbor operation list of the pick-up period k and the cntpop-th information chain; Where (1,j) means initializing the two-dimensional neighbor operation list to the constant 1 and index j; Step 333, for the information chain cntpop∈{1,2}, the picking period k, TC(k,cntpop) is initialized to an array of nAction(k,cntpop) with the values of row 1 and column 1 all being zero, and TL(k,cntpop) is initialized and calculated as follows: The ceil(x) function refers to the function of rounding down the output x; TC(k,cntpop) represents the number of times the two-dimensional neighbor operation of the cntpop-th information chain in the picking cycle k is disabled; Step 334: For the information chain cntpop∈{1,2}, the randRate is initialized and calculated as follows: Where randRate represents the roulette wheel selection probability array, randRate(cntpop) represents the cntpop-th data in the roulette wheel selection probability array, and numgcs represents the sum of the lengths of the two information chains in one cycle; Step 335: Initialize the search for unsustainable improvement count variable to ImproveFlag = 0, and the maximum search limit for the search for unsustainable improvement count variable is 5. The method for optimizing the placement path of a placement machine based on a virtual physical quantity adjustment taboo search algorithm according to claim 4, characterized in that: If the number of searches in step 4 reaches the upper limit, then go to step 8; if the number of searches does not reach the upper limit, then go to step 5; the specific process is: Step 41: determine whether ImproveFlag is greater than NI, if so, go to step 8, otherwise go to step 42; Step 42: The shortest path distance of the taboo table is recorded as DtotalbestTabu and initialized to infinity; Step 43: Set the loop variable ni=1.
6. The method for optimizing the placement path of a chip placement machine based on virtual physical quantity adjustment taboo search algorithm according to claim 5, characterized in that: In step 5, a neighbor search operation is performed on the virtual interval ratio array and the virtual speed ratio array to obtain the current virtual interval ratio and the virtual speed ratio. The specific process is as follows: Step 51: Randomly select a picking cycle cntcyc and calculate it as follows: cntcyc = ceil(rand()×K) Where rand() represents a random number between [0,1]; K represents K picking cycles; Step 52: Select the information chain idxpop according to the roulette algorithm. The specific process is as follows: Step 521: Randomly generate a number within [0,1] and save it in randpop, that is, randpop = rand(); Where randpop represents a number generated by rand(); Step 522, obtain the first numerical index idxpop in randRate that is larger than randpop; Step 523, idxpop=idxpop-1; Step 53: Perform a neighbor search operation to obtain the virtual interval ratio and virtual speed ratio, and obtain a new information chain newps. The specific process is as follows: Step 531: Update the value of iAction. The calculation is as follows: iAction=ceil(nAction(cntcyc,idxpop)×rand()) Where iAction represents the number of operations that can be performed at the position obtained by randomization of the two-dimensional neighbor operation list with the period cntcyc and the idxpop-th information chain; nAction(cntcyc,idxpop) represents the number of operations that can be performed at the two-dimensional neighbor operation list with the period cntcyc and the idxpop-th information chain; Step 532: Let the new information chain newps = ps, and perform the exchange neighborhood operation, select two positions (iAction, 1) and (iAction, 2) in ActionList (cntcyc, idxpop) to perform the exchange operation on the new information chain newps; Where ps represents the current information chain, ActionList(cntcyc,idxpop) represents the two-dimensional neighbor operation list, pick up the period cntcyc, the idxpop-th information chain; (iAction,1) represents the position iAction first data of the pick up period cntcyc, the idxpop-th information chain, (iAction,2) represents the position iAction second data of the pick up period cntcyc, the idxpop-th information chain; Step 54: If the iAction position of TC (cntcyc, idxpop) is zero, then set the taboo flag to TCflag = 0; Otherwise, the taboo flag is recorded as TCflag=1.
7. The method for optimizing placement path of a placement machine based on virtual physical quantity adjustment taboo search algorithm according to claim 6, characterized in that: In step 6, the placement path optimization heuristic algorithm is executed according to the current virtual interval ratio and virtual speed ratio to obtain the corresponding placement path as a candidate solution and update the optimal solution. If the number of generated candidate solutions exceeds the upper limit of one round of search, step 7 is executed, otherwise step 5 is executed. The specific process is as follows: Step 61: Calculate the path search starting point star according to the new virtual interval ratio and virtual speed ratio obtained in step 53. The coordinates of the path search starting point star are stored in an array star with K rows and 2 columns. The X coordinate and Y coordinate of the kth path search starting point are star(k,1) and star(k,2) respectively. The path search starting point calculation method is as follows: Step 6.
1. Calculate the kth virtual interval virtual_Intv as follows: virtual_Intv=VirtualHd(newps(1)(k,1))×DI Where newps(1)(k,1) represents the virtual interval information chain in the information chain; Step 6-2: The virtual position of the placement point to be assigned corresponding to the No. 1 suction rod is stored in the array xyt_1 with the number of rows L≤Q and the number of columns 2. The virtual X coordinate and Y coordinate of the rth placement point are xyt_1(r,1) and xyt_1(r,2) respectively. The calculation method is as follows: xyt_1(r,1)=xyt(r,1)-(headnum-1)*virtual_Intv xyt_1(r,2)=xyt(r,2) Step 613, traverse the placement points M to be assigned, and obtain the coordinates L0 of the lower right virtual placement point, where the X coordinate of the lower right virtual placement point is L0(1)=min(xyt_1(r,1)), and the Y coordinate of the lower right virtual placement point is L0(2)=min(xyt_1(r,2)); Step 614: traverse the placement points M to be assigned, and find the actual placement point coordinate L1 closest to the virtual placement point coordinate L0. The coordinate of L1 is the coordinate of the path search starting point star: star(k,1)=L1 (1) star(k,2)=L1 (2) Step 62: The coordinates of the starting point of the path search are used as the starting point coordinates of the heuristic path search algorithm. The output value of the heuristic path search algorithm is the shortest path planning result. The shortest path planning result is the shortest distance of a pick-up cycle. The shortest distance of each pick-up cycle is expressed as d k ; The heuristic path search algorithm uses the method of patent number ZL202010387811.7 entitled "A method for planning a placement path for a placement machine based on the nearest insertion method", and modifies the calculation formula of the Chebyshev distance in the method for planning a placement path for a placement machine based on the nearest insertion method to D cheb (n i ,n j )=max(|x i -x j |,α|y i -y j |); Where n i For mounted components, n j For mounting components, (x i ,y i ) is n i The coordinates of (x j ,y j ) is n j The coordinates of , α is the speed ratio, α is set to newps(2)(k,1); Remove the currently assigned placement point from the set M of placement points to be assigned. If the set M is empty, execute step 63; otherwise, execute step 61. Where newps(2)(k,1) represents the first encoding value of the kth pick-up period of the second virtual speed ratio information chain newps obtained in step 53; Step 6.3: The sum of the shortest distances of all picking cycles is used as the basis for evaluating the optimization results, which is called the fitness function. Step 64: If the fitness calculated in step 63 is less than the shortest path Dtotalbest, then update the optimal solution Dtotalbest among the candidate solutions = fitness, update the optimal information chain psBest among the candidate solutions = newps, update the optimal neighbor operation list index iActionBest (cntcyc, idxpop) = iAction, update the optimal cycle index cntcycBest = cntcyc, and update the optimal information chain index idxpopBest = idxpop; Step 65: If TCflag=1, update the information in the taboo list, otherwise do not update; The process of updating the information in the taboo list is as follows: If the fitness calculated in step 63 is less than the shortest path DtotalbestTabu in the taboo table, then update DtotalbestTabu=fitness, update the optimal information chain psBestTabu=newps in the taboo table, update the optimal neighbor operation list index iActionBestTabu(cntcyc,idxpop)=iAction in the taboo table, update the optimal cycle index cntcycBestTabu=cntcyc in the taboo table, and update the optimal information chain index idxpopBestTabu=idxpop in the taboo table; Step 66: If ni>NI, then execute step 7, otherwise ni=ni+1, and execute step 5 instead.
8. The method for optimizing the placement path of a chip placement machine based on virtual physical quantity adjustment taboo search algorithm according to claim 7, characterized in that: In step 7, the current solution and the taboo table are updated according to the quality of the current optimal solution, and step 4 is executed. The specific process is as follows: Step 71, ImproveFlag = ImproveFlag + 1; Step 72: If the optimal solution Dtotalbest among the candidate solutions is smaller than the value of D_cost, then the current solution is updated according to the optimal solution among the candidate solutions and step 73 is executed; otherwise, the current solution is updated according to the optimal solution among the candidate solutions that is not tabooed and step 74 is executed; Step 73: Update the global optimal path distance D_cost=Dtotalbest, update the information chain ps=psBest, update the taboo chain list, and update the search improvement flag ImproveFlag=0; The specific process of updating the taboo linked list is as follows: Traverse the positions from 1 to nAction(cntcycBest,idxpopBest) in TC(cntcycBest,idxpopBest), and the index is recorded as index; When index = iActionBest (cntcycBest, idxpopBest), the following formula is executed: TC(cntcycBest,idxpopBest)(index)=TL(cntcycBest,idxpopBest) For the remaining positions, perform the following: TC(cntcycBest,idxpopBest)(index)=max(TC(cntcycBest,idxpopBest)(index)-1,0) In the above formula, max(x,y) means to find the larger value of x and y; Among them, TC(cntcycBest,idxpopBest) represents the number of times the corresponding neighbor operation in the two-dimensional neighbor operation list of the pick-up period cntcycBest and the idxpopBest-th information chain is disabled, nAction(cntcycBest,idxpopBest) represents the number of operable neighbor operations in the two-dimensional neighbor operation list of the pick-up period cntcycBest and the idxpopBest-th information chain, iActionBest(cntcycBest,idxpopBest) represents the index of the optimal neighbor operation list in the pick-up period cntcycBest and the idxpopBest-th information chain, TC(cntcycBest,idxpopBest) represents the index of the optimal neighbor operation list in the pick-up period cntcycBest and the idxpopBest-th information chain, t,idxpopBest)(index) indicates the number of times the index-th neighbor operation in the two-dimensional neighbor operation list of the pick-up period cntcycBest and the idxpopBest-th information chain is disabled, TL(cntcycBest,idxpopBest) indicates the number of neighbors used for updating in the two-dimensional neighbor operation list of the pick-up period cntcycBest and the idxpopBest-th information chain, max(TC(cntcycBest,idxpopBest)(index)-1,0) indicates the larger number between TC(cntcycBest,idxpopBest)(index)-1 and 0 is obtained; Step 74: Update the information chain ps=psBestTabu, and update the taboo chain list. The specific process of updating the taboo chain list is as follows: Traverse the positions from 1 to nAction(cntcycBestTabu,idxpopBestTabu) in TC(cntcycBestTabu,idxpopBestTabu), and record the index as index; When index = iActionBest (cntcycBestTabu, idxpopBestTabu), the following formula is executed: TC(cntcycBestTabu,idxpopBestTabu)(index)=TL(cntcycBestTabu,idxpopBestTabu) For the remaining positions, perform the following: TC(cntcycBestTabu,idxpopBestTabu)(index)=max(TC(cntcycBestTabu,idxpopBestTabu)(index)-1,0) Among them, TC(cntcycBestTabu,idxpopBestTabu) represents the number of times each neighbor operation in the two-dimensional neighbor operation list of the pick-up period cntcycBestTabu and the idxpopBestTabu information chain is disabled, nAction(cntcycBestTabu,idxpopBestTabu) represents the number of operable items in the two-dimensional neighbor operation list of the pick-up period cntcycBestTabu and the idxpopBestTabu information chain, iActionBest(cntcycBestTabu,idxpopBestTabu) represents the index of the best neighbor operation list in the pick-up period cntcycBestTabu and the idxpopBestTabu information chain, TC(cntcycBestTabu u,idxpopBestTabu)(index) indicates the number of times the indexth neighbor operation corresponding to the two-dimensional neighbor operation list of the pick-up period cntcycBestTabu and the idxpopBestTabu information chain is disabled, TL(cntcycBestTabu,idxpopBestTabu) indicates the number of neighbors for updating corresponding to the two-dimensional neighbor operation list of the pick-up period cntcycBestTabu and the idxpopBestTabu information chain, (TC(cntcycBestTabu,idxpopBestTabu)(index) indicates the number of times the indexth neighbor operation corresponding to the two-dimensional neighbor operation list of the pick-up period cntcycBestTabu and the idxpopBestTabu information chain is disabled; Step 75: Go to step 41.
9. The method for optimizing placement path of a placement machine based on virtual physical quantity adjustment taboo search algorithm according to claim 8, characterized in that: The step eight outputs the optimal placement path optimization result, and the specific process is as follows: The placement machine updates the placement sorting result PS according to the placement point sequence of each picking and placement cycle output by the algorithm and carries out placement production.
Citation Information
Patent Citations
Chip mounter mounting path planning method based on nearest insertion method
CN111586992A
