PCB double-sided four-flying-probe test path optimization method
By optimizing the double-sided four-flying probe test path of the PCB board and combining the path optimization strategy of the inner and outer layers of the network, the efficiency and accuracy issues in the conductivity detection of high-density PCB boards are solved, and the dynamic adjustment of the probe path and cost reduction are achieved.
Patent Information
- Application Number
- CN202510738444.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-04
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2045-06-04
AI Technical Summary
In the existing technology, in the conductivity detection of high-density PCB boards, traditional test strategies have difficulty in achieving joint optimization within and between networks, resulting in long test times, high false detection rates, and failure to dynamically adjust matching results, making it difficult to meet the dual requirements of efficiency and accuracy.
A double-sided four-flying probe test path optimization method for PCB boards is adopted. The test point path within the network is optimized through a matching strategy. The test sequence between networks is optimized by combining the nearest insertion heuristic algorithm and the adaptive large-scale neighborhood search algorithm. A local search algorithm is introduced for iterative optimization to dynamically adjust the probe path and the position of the null instruction.
It achieves complete coverage of test points within the network and global optimization of test sequences between networks, reduces probe movement costs, improves test efficiency, and is suitable for path optimization of large-scale complex circuit boards.
Smart Images

Figure CN120629872A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of path optimization, and in particular to a method for optimizing a double-sided four-flying-probe test path on a PCB board. Background Art
[0002] As an integrated platform for electronic components, printed circuit boards (PCBs) play a core role in various electronic systems. With the continuous evolution of microelectronics technology, component layout density continues to increase, wiring spacing continues to decrease, and circuit board structures become increasingly complex, driving the rapid development of PCB manufacturing processes towards higher density. Therefore, in highly automated production environments, how to efficiently inspect high-density PCBs and reduce inspection costs has become a topic of great research and application value.
[0003] Currently, flying probe testing technology has become a key means of inspecting PCB electrical performance. It uses a set of precisely controlled probes to contact test points on the circuit board to verify conductivity and insulation. Continuity testing, used to confirm connectivity between nodes within a network, is the most frequently tested step in the entire testing process, with the largest number of test points and the highest frequency of operation, significantly impacting overall test efficiency.
[0004] In surface conductivity testing applications, double-sided four-flying probe test systems are widely used due to their high parallelism and strong adaptability. The core goal of path optimization is to plan an efficient path for the four probes to cover all test points, while minimizing the probe travel distance and reducing test time. However, with the continuous increase in PCB integration and the dramatic increase in the number of test points, traditional test strategies have become unable to meet the dual requirements of efficiency and accuracy, resulting in frequent problems such as long test times and high false positive rates.
[0005] Currently, a variety of efficient heuristic algorithms have been proposed for flying probe test path optimization in small and medium-sized scenarios (e.g., networks with less than 3,000 members), achieving certain results. However, most current research focuses on optimizing test point paths within a network or optimizing the test sequence between networks after preliminary test point matching. However, this layered, independent optimization approach fails to achieve joint optimization of paths between and within networks, limiting the overall optimization effect. Furthermore, after completing the initial matching and merging of test points, most existing methods do not dynamically adjust the matching results. Subsequent path optimization is often based on a fixed matching structure, making it difficult to further reduce the overall mobility cost. Summary of the Invention
[0006] In order to overcome the defects of the prior art, the present invention provides a method for optimizing a double-sided four-flying probe test path of a PCB board to solve the above-mentioned problems.
[0007] The technical solution adopted by the present invention to solve the technical problem is: a method for optimizing the test path of a double-sided four-flying probe test on a PCB board, comprising the following steps:
[0008] S1: Import double-sided PCB board data containing test networks and test points;
[0009] S2: Obtain an initial matching solution for each test network's internal test point through a matching strategy, optimize each initial matching solution, and obtain a path to the test point within the network.
[0010] S3: The initial test order between test networks is constructed by the nearest insertion heuristic algorithm. Then, a local search algorithm is introduced into the adaptive large-scale neighborhood search algorithm to iteratively optimize the initial test order to obtain the test order between networks.
[0011] S4: Combine the test point path within the network and the test sequence between networks to output the double-sided four-flying probe test path.
[0012] It is worth noting that, in step S2, the matching strategy includes:
[0013] S21: Obtaining a network type of a double-sided PCB board, where the network type includes a first type in which the number of test points on the front side is greater than the number of test points on the back side and a second type in which the number of test points on the front side is less than or equal to the number of test points on the back side;
[0014] S22: determining a matching method for the front and back sides of the double-sided PCB board according to the network type, wherein the matching method includes serial matching and parallel matching;
[0015] S23: Based on the area division mechanism, all test points of the same test network on the same test surface are divided into left test points and right test points according to their positions, and the left test points are assigned to one probe and the right test points are assigned to another probe to obtain a test point allocation method;
[0016] S24: Probes are allocated according to the test point allocation method, and according to the matching method selected for the current test surface of the current test network, the two probes on the same surface are matched with the nearest neighbor matching mechanism for test points, and the matching results are used as the probe test path to form an initial matching solution.
[0017] Preferably, in step S24, the nearest neighbor matching mechanism includes:
[0018] Each time, the nearest unmatched test point to the current test point is selected for matching;
[0019] The matching order is determined as follows: the first probe starts from the test point with the smallest X coordinate and moves to the middle coordinate within the current test surface of the current test network; the second probe starts from the middle coordinate and moves to the test point with the largest X coordinate;
[0020] In the matching process, the test point closest to the current test point is selected as the next test point according to the greedy strategy, where the distance between the two test points is d = max(|x i -x j |,|y i -y j |), (x i ,y i ) and (x j ,y j ) are the coordinates of the two test points.
[0021] Optionally, in step S2, a 2-opt hybrid genetic algorithm is used, the maximum number of iterations, crossover probability and mutation probability are set, and the initial matching scheme is used as the input of the algorithm to obtain the optimized test point path in the network corresponding to the initial matching scheme.
[0022] Specifically, in step S2, during the solution process using the 2-opt hybrid genetic algorithm, the empty instruction is replaced by the coordinate (-1, -1) to indicate that the probe corresponding to the empty instruction does not move in the current motion cycle.
[0023] It is worth noting that, in step S3, the step of constructing the initial test order between test networks by the most recently inserted heuristic algorithm includes:
[0024] A test network is randomly selected as the starting point. In each iteration, the test network closest to the current path is selected from the unvisited test networks and inserted into the optimal position in the path according to the minimum path increment principle. This process is repeated until all test networks are included in the path and the initial test order is obtained.
[0025] Preferably, in step S3, the step of introducing a local search algorithm into the adaptive large-scale neighborhood search algorithm to iteratively optimize the initial test sequence includes:
[0026] Initialization parameters, including a destruction operator weight value, a repair operator weight value, and a simulated annealing temperature;
[0027] Get the initial test order generated by the most recently inserted heuristic algorithm in the current iteration;
[0028] Adopting an operator adaptive strategy, in each iteration, a roulette wheel is used to select the destruction operator based on the weight value of each destruction operator, and a roulette wheel is used to select the repair operator based on the weight value of each repair operator;
[0029] Using the selected destruction operator and repair operator to perform destruction and repair operations on the initial test sequence to obtain a new test sequence;
[0030] Using a local search algorithm to perform local optimization of the test point paths in the random test network for the new test sequence, the processed test sequence is obtained;
[0031] Update the weight values of the destruction operator and the repair operator respectively;
[0032] After multiple iterations, the final optimized test sequence is output as the inter-network test sequence.
[0033] Specifically, in step S3, the destruction operator includes a random removal operator, a worst removal operator, and a maximum similarity deletion operator, and the repair operator includes a random repair operator, a greedy repair operator, and a maximum regret repair operator;
[0034] By formula Update the weight value of each destruction operator or each repair operator; where i represents the operator, j represents the iteration stage, and w i,j represents the weight of operator i at iteration stage j, w i,j+1 represents the weight of operator i at iteration stage j+1, n i Indicates the number of times operator i is selected, the value range of q is [0, 1], s i represents the cumulative score of operator i;
[0035] At the beginning of the operator adaptation strategy, the initial weight of each operator is set to 1; the formula for updating the probability of operator i being selected in the roulette wheel selection in iteration stage j is
[0036] Then, when performing the roulette wheel selection, a uniformly distributed random number r is generated. For i=1, if r≤h i , then select operator i; for 2≤i≤I, if h i-1 <r<h i , then select operator i, where I is the total number of operators, h i is the cumulative probability of operator i,
[0037] Optionally, in step S3, the score of operator i in each iteration is obtained by a preset scoring rule, and the sum of the scores of operator i in the current iteration and before the current iteration is calculated as the cumulative score s of operator i. i ;
[0038] The scoring rules include:
[0039] If the generated new test sequence is the current global optimal solution, the corresponding operator i is assigned a score of A;
[0040] If the generated new test sequence is better than the current solution but does not reach the global optimum, the corresponding operator i is assigned a score of B points;
[0041] If the generated new test sequence is worse than the current solution but is accepted by the simulated annealing criterion, the corresponding operator i is assigned a score of C;
[0042] Otherwise, assign a score value D to the corresponding operator i;
[0043] Among them, A>B>C>D.
[0044] It is worth noting that, in step S3, the steps of the local search algorithm include:
[0045] A variable neighborhood search algorithm framework is constructed, including a neighborhood structure P = {P1, P2, P3, P4}. Neighborhood P1 represents exchanging the positions of two groups of test points in a path. Neighborhood P2 represents inserting one group of test points in a path before another group of test points. Neighborhood P3 represents eliminating intersections by exchanging two edge pairs in the path. Neighborhood P4 represents extracting the test point group with the maximum moving cost on the path and reinserting it into the path with the minimum insertion cost. Two test points detected simultaneously by two probes are considered a test point group. In the test sequence, an edge is formed between two adjacent test points.
[0046] Randomly shuffle the order of neighbors in the neighborhood structure P = {P1, P2, P3, P4} to form a shuffled neighborhood structure;
[0047] The four neighborhoods are executed in the neighborhood order of the shuffled neighborhood structure to perform local optimization of the test point paths within the random test network for the new test order.
[0048] The beneficial effects of the present invention are: in the PCB board double-sided four flying probe test path optimization method, the test point path within the network is obtained for the inner layer problem of the two-layer double-sided four flying probe test path optimization algorithm, and the test sequence between networks is obtained for the outer layer problem of the two-layer double-sided four flying probe test path optimization algorithm, and finally the test point path within the network and the test sequence between networks are combined to obtain the double-sided four flying probe test path; this method not only realizes the complete coverage of test points within the network, but also combines the global optimization of the test sequence between networks and the dynamic adjustment of local paths to collaboratively optimize the probe path and the empty instruction position configuration; by introducing physical constraint modeling and efficient search strategies, it can be applicable to the test path optimization of large-scale complex circuit boards, improve test efficiency, and reduce probe movement costs. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] Figure 1Flowchart of a method for optimizing a double-sided four-flying probe test path on a PCB board according to one embodiment of the present invention;
[0050] Figure 2 A schematic diagram of a double-sided four-flying probe test path result outputted in step S4 in one embodiment of the present invention;
[0051] Figure 3 is a schematic diagram of the front portion of a test network according to an embodiment of the present invention;
[0052] Figure 4 is a schematic diagram of the reverse side of a test network in one embodiment of the present invention;
[0053] Figure 5 A schematic diagram of dividing test points in a test network according to an embodiment of the present invention;
[0054] Figure 6 A schematic diagram of a matching scheme for serial matching in one embodiment of the present invention;
[0055] Figure 7 A schematic diagram of a parallel matching scheme in one embodiment of the present invention;
[0056] Figure 8 Schematic diagram of the front and back of a test network in one embodiment of the present invention;
[0057] Figure 9 Based on Figure 8 Schematic diagram of the initial matching scheme obtained from the test network;
[0058] Figure 10 A schematic diagram of a 2-opt hybrid genetic algorithm according to an embodiment of the present invention;
[0059] Figure 11 A schematic diagram of optimizing an initial matching solution for a test point in a network according to an embodiment of the present invention;
[0060] Figure 12 Based on Figure 8 A schematic diagram of the test point path within the network obtained from the test network;
[0061] Figure 13 A schematic diagram of constructing an initial test sequence between networks using a most recently inserted heuristic algorithm in one embodiment of the present invention;
[0062] Figure 14 is a schematic diagram of a local search algorithm in one embodiment of the present invention;
[0063] Figure 15 Schematic diagram of unreasonable connections between networks before performing local search algorithm;
[0064] Figure 16 Schematic diagram of the connections between networks after performing the local search algorithm. DETAILED DESCRIPTION
[0065] The following is a further description of specific embodiments of the present invention in conjunction with the accompanying drawings. It should be noted that the description of these embodiments is intended to facilitate understanding of the present invention and does not constitute a limitation of the present invention. In addition, the technical features involved in the various embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
[0066] like Figure 1-16 As shown, a method for optimizing a double-sided four-flying-probe test path on a PCB board comprises the following steps:
[0067] S1: Import double-sided PCB board data containing test networks and test points;
[0068] S2: For the inner layer problem of the two-layer double-sided four-flying probe test path optimization algorithm, a matching strategy is used to obtain the initial matching scheme for the internal test points of each test network. Each initial matching scheme is optimized to reduce the probe movement cost within the network and obtain the test point path within the network.
[0069] S3: To address the outer layer problem of the two-layer double-sided four-flying-probe test path optimization algorithm, a nearest insertion heuristic algorithm is used to construct the initial test order between test networks. Then, a local search algorithm is introduced into the adaptive large-scale neighborhood search algorithm to iteratively optimize the initial test order to obtain the test order between networks.
[0070] S4: Combine the test point path within the network and the test sequence between networks to output the double-sided four-flying probe test path. A feasible result path consists of two parts: the test sequence between networks and the test point path within the network, such as Figure 2 As shown in the figure, the left figure shows the test sequence between networks, for example, net1->net2->net3->net4->net1, and the right figure is the test point path within the network. For example, in net4, the left probe is first positioned at point A and the right probe at point E. Electrical testing is performed to determine whether points A and E are connected. Then, the left probe moves to point B and the right probe moves to point D, and so on, until all test points are tested.
[0071] In the double-sided four-flying probe test path optimization method for PCB boards, the test point path within the network is obtained for the inner layer problem of the two-layer double-sided four-flying probe test path optimization algorithm, and the test sequence between networks is obtained for the outer layer problem of the two-layer double-sided four-flying probe test path optimization algorithm. Finally, the test point path within the network and the test sequence between networks are combined to obtain the double-sided four-flying probe test path; this method not only realizes the complete coverage of test points within the network, but also combines the global optimization of the test sequence between networks with the dynamic adjustment of local paths to collaboratively optimize the probe path and the empty instruction position configuration; by introducing physical constraint modeling and efficient search strategies, it can be applicable to the test path optimization of large-scale complex circuit boards, improve test efficiency, and reduce probe movement costs.
[0072] It is worth noting that, in step S2, the matching strategy includes:
[0073] S21: Obtaining a network type of a double-sided PCB board, where the network type includes a first type in which the number of test points on the front side is greater than the number of test points on the back side and a second type in which the number of test points on the front side is less than or equal to the number of test points on the back side;
[0074] S22: determining a matching method for the front and back sides of the double-sided PCB board according to the network type, wherein the matching method includes serial matching and parallel matching;
[0075] S23: Based on the area division mechanism, all test points of the same test network on the same test surface are divided into left test points and right test points according to their positions, and the left test points are assigned to one probe and the right test points are assigned to another probe to obtain a test point allocation method;
[0076] S24: Probes are allocated according to the test point allocation method, and according to the matching method selected for the current test surface of the current test network, the two probes on the same surface are matched with the nearest neighbor matching mechanism for test points, and the matching results are used as the probe test path to form an initial matching solution.
[0077] In a double-sided four-flying probe test, a test network on a double-sided PCB board may contain n test points, which may be distributed on the front and back of the double-sided PCB board. The flying probe tester is equipped with 4 probes and can simultaneously detect 6 groups of conductivity relationships. For example, if the 4 probes are at test points A, B, C, and D, the 6 groups of conductivity relationships AB, AC, AD, BC, BD, and CD can be detected simultaneously. Specifically, each test can choose to simultaneously detect the conductivity between 4 test points, or 3 test points or 2 test points can be selected for corresponding conductivity tests. Therefore, how to reasonably allocate these test points to each test to cover the conductivity relationships of all points while minimizing the number of tests and the probe movement distance is a test point matching problem.
[0078] The output file corresponding to the test point path in the network describes the distribution of probes in each test. Each line is an instruction. The four probes are the front left probe, the front right probe, the back left probe, and the back right probe. The output file is shown in the following table:
[0079] Serial number Front left probe Front right probe Rear left probe Rear right probe 1 A B C D 2 E F G 3 H I
[0080] The first row indicates that in one of the test tasks, four probes contacted test points A, B, C and D respectively, and the conductivity relationship between every two points of these four test points can be determined; the second row indicates that in one of the test tasks, three probes contacted test points E, F and G respectively, and the conductivity relationship between every two points of these three test points can be determined; the third row indicates that in one of the test tasks, two probes contacted test points H and I respectively, and the conductivity relationship between these two test points can be determined.
[0081] Therefore, the core of the test point matching problem lies in how to assign all test points in the test network to different test tasks to ensure that each point is tested, while minimizing the number of tests as much as possible and optimizing the probe's movement path to shorten the total test time.
[0082] During continuity testing, the basic transitivity theorem applies: if there's continuity between test point A and test point B, and between test point B and test point C, then there should also be continuity between test point A and test point C. Based on this principle, we can conclude that for a test network consisting of n test points, using only two probes, at least (n-1) pairs of points must be tested to cover all continuity relationships within the network. Based on this theorem, two probes on the same side (front or back) can be matched using two different matching methods: series matching and parallel matching.
[0083] Serial matching: In one movement cycle, only one probe moves to the next test point while the other remains stationary. Figure 3 In the front part of the test network, the two probes use serial matching. The matching scheme is shown in the following table:
[0084]
[0085] In this table, in test number 1, the two probes touched points A and E, respectively. In test number 2, only the right front probe moved to point C, while the left front probe remained in place. These two tests confirm that there is continuity between test points A, E, and C. This matching method can gradually verify the continuity relationship of all points within the same surface, but it requires a large number of tests.
[0086] Parallel matching: In one motion cycle, two probes on the same side (front or back) move to the next test point at the same time. Figure 4 In the reverse part of the test network, the two probes use parallel matching. The matching scheme is shown in the following table:
[0087]
[0088] In test number 1, the two probes touched test points F and I, respectively; in test number 2, the two probes moved simultaneously to test points G and H. These two tests confirmed that there was continuity between test points F and I, and between test points G and H, but not between test points F and G.
[0089] For a test network with N test points on one side, the number of tests varies depending on the matching method used: with serial matching, only one probe is moved at a time, resulting in a minimum of N-1 tests; with parallel matching, two probes are moved simultaneously, resulting in a minimum of N / 2 tests. Therefore, to reduce test times, for double-sided networks, parallel matching should be used on the side with the most test points, while serial matching should be used on the other side. Therefore, the matching method is determined based on the network type, as in step S22.
[0090] In order to solve the problem of probe collision in flying probe test, and to ensure it from the physical level, step S23 adopts a matching method based on area division. Specifically, for all test points on the same side (front or back) of the same test network, first sort them in ascending order according to the X coordinate, and divide the test points into two parts: the left half and the right half, as shown in the figure. Figure 5 As shown, the left side of the dashed line represents the left half, and the right side represents the right half. Furthermore, if the number of test points is odd, the extra test point is randomly assigned to the left or right side. This allows one probe to focus on the left test point, while the other probe focuses on the right test point. This ensures that the probe responsible for the left test point is always to the left of the probe responsible for the right test point, effectively preventing probe collisions during testing. Finally, the output of the initial matching solution includes both the matching method and the test point allocation method.
[0091] After determining the matching method and test point allocation scheme, the next step is to determine the matching solution. This involves assigning test points to each probe for testing. This solution must comprehensively consider collisions between probes and the distance between adjacent test points, arranging movements of similar step lengths together whenever possible to reduce waiting time caused by waiting for a larger step when a smaller step is needed. Due to the large number of possible solutions, the solution selection is optimized using heuristic methods to reduce computational complexity and improve matching efficiency.
[0092] It is worth noting that in serial matching, in order to ensure the completeness of the test, the matching scheme cannot be split arbitrarily, but the matching of the left and right probes must be exchanged as a whole, otherwise the conduction relationship of some test points may not be fully verified. Figure 6 In the case of serial matching, the test order of the right probe was adjusted separately. As a result, after 5 tests, it was confirmed that there was conductivity between test points A and test points C, and that there was conductivity between test points D, test points E, and test points F. However, the conductivity between test points A and test points D could not be guaranteed, and the conductivity between test points C and test points E could not be guaranteed, which affected the completeness of the test.
[0093] For parallel matching, the order can be adjusted freely, such as Figure 7 As shown, it is sufficient to ensure that the parallel matching covers all the test points on this side. This is because parallel matching is only used in double-sided networks. If the current side is parallel matched, then the other side must be serial matched. This is equivalent to connecting the test points of each parallel match to the central node, which can ensure that all conduction relationships are verified.
[0094] Therefore, when allocating test points in the left and right parts, a reasonable matching order is crucial for serial matching, which will directly affect the subsequent test order and path cost. For parallel matching, the matching order has greater flexibility.
[0095] Preferably, in step S24, the nearest neighbor matching mechanism includes:
[0096] Each time, the nearest unmatched test point to the current test point is selected for matching;
[0097] The matching order is determined as follows: the first probe starts from the test point with the smallest X coordinate and moves to the middle coordinate within the current test surface of the current test network; the second probe starts from the middle coordinate and moves to the test point with the largest X coordinate;
[0098] In the matching process, the test point closest to the current test point is selected as the next test point according to the greedy strategy, where the distance between the two test points is d = max(|x i -x j |,|y i -y j |), (x i ,y i ) and (x j ,y j ) are the coordinates of the two test points.
[0099] This matching mechanism can ensure that all test points in the network are covered and provide a preliminary matching solution while optimizing the number of detections. Figure 8 The test network shown in the figure, the initial matching scheme obtained by applying the nearest neighbor matching mechanism is as follows Figure 9 and the following table:
[0100]
[0101] Optionally, in step S2, a 2-opt hybrid genetic algorithm is used, the maximum number of iterations, crossover probability and mutation probability are set, the initial matching scheme is used as the input of the algorithm, and the optimized test point path in the network corresponding to the initial matching scheme is obtained to reduce the moving distance of a single probe.
[0102] The probe path optimization problem is similar to the traveling salesman problem, but without returning to the starting point. Instead, it's equivalent to finding an optimal Hamiltonian path between test points that minimizes the probe's overall travel distance. Furthermore, when adjusting the path order, similar to the generation of the probe test path in step S24, the serial matching solution can only be adjusted as a whole, while the parallel matching solution allows for flexible adjustment of the test order. Therefore, at this stage, the overall order of the serial matching solution is optimized, while the paths of each probe in the parallel matching solution are optimized to reduce the travel distance of each probe.
[0103] Since this problem belongs to the TSP variant with NP-hard complexity, it is difficult to find an exact solution in polynomial time. Therefore, a 2-opt hybrid genetic algorithm is used to solve it. The 2-opt hybrid genetic algorithm is a classic local path optimization method. Its basic idea is to replace the edge pairs in the path, such as Figure 10 As shown in the figure, the paths (B, E) and (C, F) are replaced with the paths (B, C) and (E, F), effectively reducing the path cost in a short period of time. Combining 2-opt with a genetic algorithm not only leverages the genetic algorithm's global search capabilities to avoid falling into local optima, but also leverages 2-opt's local optimization properties to accelerate convergence and improve solution quality.
[0104] In the 2-opt hybrid genetic algorithm, 2-opt search is embedded in the genetic algorithm framework as a local search operator to further optimize individual solutions. The pseudo code of the algorithm is as follows:
[0105]
[0106] When the 2-opt hybrid genetic algorithm is called, a greedy encoding algorithm is first used to generate an initial population of feasible matching solutions (as shown in line 1 of the pseudocode). The initial fitness of each solution in the initial population is calculated, reflecting the quality of the solution (as shown in line 2 of the pseudocode). Iterative evolution is performed, and the loop ends when the maximum number of iterations is reached (as shown in lines 4-18 of the pseudocode). The optimal solution is selected based on the shortest path and used for the next iteration (i.e., the next run) (as shown in lines 6 of the pseudocode). A crossover operation is performed using a multi-point crossover method (as shown in lines 7-9 of the pseudocode). A mutation operation is performed using the output of the crossover operation as input, adjusting the matching solution through permutation and insertion (as shown in lines 10-12 of the pseudocode). A 2-opt local search optimization is performed using the output of the mutation operation as input (as shown in line 13 of the pseudocode). The fitness of the new population is calculated (as shown in line 16 of the pseudocode). Based on the fitness, a decision is made whether to update the optimal solution (as shown in line 17 of the pseudocode). The movement cost is directly reflected in the fitness. The higher the fitness, the lower the total movement cost of the solution. In the actual code, there will be a global variable to store the optimal solution. If a new solution is found to be better, that is, the fitness is better, it will be replaced with the optimal solution. After the above algorithm solves the problem, for Figure 8 After path optimization, the initial matching solution corresponding to the test network can be obtained. Figure 11 The optimization results are shown, where needle 1 represents the front left probe, needle 2 represents the front right probe, needle 3 represents the back left probe, and needle 4 represents the back right probe.
[0107] For the calculation of population fitness, the pseudo code is as follows:
[0108]
[0109] When the algorithm for calculating the population fitness is called, the algorithm will traverse each solution in the population (as shown in the first line of the pseudocode), traverse each test point in the solution (as shown in the second line of the pseudocode), calculate the distance between the two test points in the solution (as shown in the third line of the pseudocode), end the traversal of the solution (as shown in the fourth line of the pseudocode), and take the inverse of the total distance to represent the fitness (as shown in the fifth line of the pseudocode).
[0110] For the 2-opt local search optimization using the output of the mutation operation as input, the pseudo code is as follows:
[0111]
[0112] When calling the 2-opt local search optimization algorithm, the loop variable is set and the loop begins (as shown in lines 1-3 of the pseudocode). The loop reverses any two test points on a feasible path. If the reversed path is better, the original path is replaced with the reversed path, and all loops are stopped, directly outputting the new path (as shown in lines 4-13 of the pseudocode).
[0113] Specifically, in step S2, during the solution process using the 2-opt hybrid genetic algorithm, the empty instruction is replaced by the coordinate (-1, -1) to indicate that the probe corresponding to the empty instruction does not move in the current motion cycle.
[0114] exist Figure 11 In the path optimization scheme on the right, it can be found that the number of negative tests is only 4, which is less than the 6 positive tests. In this scheme, the concept of empty instructions is used, which means that the probe does not move during this motion cycle. Therefore, in Figure 11 There will be two empty instructions in the negative test. By adjusting the position of the empty instructions, we can further arrange tests with similar step lengths, thereby reducing the overall movement cost.
[0115] Through analysis, it is found that the probe path optimization problem and the empty instruction location optimization problem are the same in terms of path representation and objective function value. Therefore, in the 2-opt hybrid genetic algorithm, the coordinate (-1, -1) is used to replace the empty instruction so that the length of all solutions is the same. Then all solutions are solved by the 2-opt hybrid genetic algorithm according to the same steps. After solving, Figure 8 The test point matching scheme corresponding to the test network is finally obtained Figure 12 The optimization result on the far right.
[0116] It is worth noting that, in step S3, Figure 13 As shown in Figure 2, the steps for constructing the initial test order between test networks using the most recently inserted heuristic algorithm include:
[0117] A test network is randomly selected as the starting point. In each iteration, the test network closest to the current path is selected from the unvisited test networks and inserted into the optimal position in the path according to the minimum path increment principle. This process is repeated until all test networks are included in the path and the initial test order is obtained.
[0118] In this embodiment, the minimum path increment principle is: among all the solutions formed when the selected test network is inserted into the path, the insertion position corresponding to the solution with the smallest path increment after insertion is selected as the optimal position for inserting the selected test network into the path.
[0119] In each iteration, a candidate set is used to store the test network of the current possible insertion path, and the size of the set is controlled by the dynamic parameter α. Compared with the strategy of fixing the value of α, the introduction of a dynamic reaction factor can adaptively adjust the search range according to the construction state of the current solution, improve the diversity and quality of the solution, and help generate a better initial test sequence. Let the set of possible α values be At the beginning of the algorithm, an element α in each set i The probability of selection P i Uniform distribution, that is: After K iterations, the probability of selection is P i Will be updated accordingly; * is the optimal path cost in K iterations, Use α for K iterations i The average path cost, Use α for K iterations j The average path cost, α i and α j Both The updated selection probability P i The calculation formula is:
[0120]
[0121] Finally, the pseudo code of the initial inter-network test order construction algorithm based on the nearest insertion heuristic is shown in the following table:
[0122]
[0123] When executing the algorithm, a test network v is randomly selected i and its closest test network v j Connect to form the initial subpath S (as shown in lines 1-2 of the pseudo code);
[0124] Initialize the unselected set C, that is, C=V\{v i , v j} (as shown in line 3 of the pseudocode);
[0125] Start the loop and loop until the unselected set is empty (as shown in line 4 of the pseudocode);
[0126] Select k networks closest to the current path S from the unselected set C as candidate networks v k , and calculate the incremental cost c(v k ) (as shown in line 5 of the pseudo code), where the distance is defined as the minimum distance between the candidate network and any test network in path S, c(v k)=c(i,k)+c(k,i+1)-c(i,i+1), k represents the candidate network to be inserted, i represents the network before the insertion position in the current path S, i+1 represents the network after the insertion position in the current path S, c(i,k) represents the distance between network i and network k, c(k,i+1) represents the distance between network k and network i+1, and c(i,i+1) represents the distance between network i and network i+1;
[0127] Determine the candidate network v from the incremental costs of all candidate networks k The minimum incremental cost c min and the maximum incremental cost c max (as shown in lines 6-7 of the pseudocode);
[0128] The parameter α is used to construct a restricted candidate set (RCL), that is, all the candidates that satisfy c(v k )≤c min +α·(c max -c min ) of the candidate network v k Incorporate into RCL (as shown in line 8 of the pseudocode);
[0129] Randomly select a candidate network v from RCL k , and insert the candidate network v into the k Insert into the existing path S, the insertion cost is defined as p(v k ) = p(i, k) + p(k, i+1) - p(i, i+1) (as shown in lines 10-11 of the pseudo code), where k represents the newly inserted candidate network, i represents the network before the insertion position in the existing path S, i+1 represents the network after the insertion position in the existing path S, p(i, k) represents the distance between network i and network k, p(k, i+1) represents the distance between network k and network i+1, and p(i, i+1) represents the distance between network i and network i+1;
[0130] Update the unselected set C and delete the inserted network from C (as shown in line 14 of the pseudo code);
[0131] Return the constructed initial inter-network test sequence S (as shown in line 12 of the pseudo code).
[0132] Specifically, in step S3, the step of introducing a local search algorithm into the adaptive large-scale neighborhood search algorithm to iteratively optimize the initial test sequence includes:
[0133] Initialization parameters, including a destruction operator weight value, a repair operator weight value, and a simulated annealing temperature;
[0134] Get the initial test order generated by the most recently inserted heuristic algorithm in the current iteration;
[0135] Adopting an operator adaptive strategy, in each iteration, a roulette wheel is used to select the destruction operator based on the weight value of each destruction operator, and a roulette wheel is used to select the repair operator based on the weight value of each repair operator;
[0136] Using the selected destruction operator and repair operator to perform destruction and repair operations on the initial test sequence to obtain a new test sequence;
[0137] Using a local search algorithm to perform local optimization of the test point paths in the random test network for the new test sequence, the processed test sequence is obtained;
[0138] Update the weight values of the destruction operator and the repair operator respectively;
[0139] After multiple iterations, the final optimized test sequence is output as the inter-network test sequence.
[0140] The pseudo code corresponding to step S3 is as follows:
[0141]
[0142] The number of main algorithm iterations represents the number of iterations of the insertion heuristic algorithm and the adaptive large-scale neighborhood search algorithm; the number of internal iterations represents the number of iterations of selecting the destruction operator and the repair operator, as well as the number of iterations of the local search algorithm. When executing the algorithm, the number of times the initial solution is used is recorded (as shown in the first line of the pseudo code); the second line selects the parameter α for constructing the initial solution. i , and initialize the parameter α (as shown in line 2 of the pseudocode); start the main algorithm iteration (as shown in line 3 of the pseudocode); construct the initial solution and build the initial test order between the test networks through the nearest insertion heuristic algorithm (as shown in line 4 of the pseudocode); set the optimal solution to be the initial solution if and only if it is the first loop (as shown in lines 5-7 of the pseudocode); start the inner loop (as shown in line 8 of the pseudocode); select the destruction operator and the repair operator according to the roulette wheel (as shown in line 9 of the pseudocode); destroy the solution (as shown in line 10 of the pseudocode); repair the solution (as shown in line 11 of the pseudocode); perform a local search for the solution (as shown in line 12 of the pseudocode); when the new solution is better than the optimal solution, replace the optimal solution (as shown in lines 13-15 of the pseudocode); when the number of times the initial solution is used reaches the set value, update the parameter α and regenerate the initial solution (as shown in lines 18-21 of the pseudocode); return the optimized test order between networks (as shown in line 23 of the pseudocode).
[0143] Optionally, in step S3, the destruction operator includes a random removal operator, a worst removal operator, and a maximum similarity deletion operator, and the repair operator includes a random repair operator, a greedy repair operator, and a maximum regret repair operator;
[0144] By formula Update the weight value of each destruction operator or each repair operator; where i represents the operator, j represents the iteration stage, and w i,j represents the weight of operator i at iteration stage j, w i,j+1 represents the weight of operator i at iteration stage j+1, n i Indicates the number of times operator i is selected, the value range of q is [0, 1], and q is set to 0.6 in this scheme; s i represents the cumulative score of operator i;
[0145] At the beginning of the operator adaptation strategy, the initial weight of each operator is set to 1; the formula for updating the probability of operator i being selected in the roulette wheel selection in iteration stage j is
[0146] Then, when performing the roulette wheel selection, a uniformly distributed random number r is generated. For i=1, if r≤h i , then select operator i; for 2≤i≤I, if h i-1 <r<h i , then select operator i, where I is the total number of operators. In this embodiment, the total number of operators is 3, h i is the cumulative probability of operator i,
[0147] In this example, the destruction operator uses a specific strategy to remove certain elements from the initial test sequence to prevent the algorithm from falling into local optima. For example, if the initial test sequence is {2, 4, 3, 1, 6, 5}, and the destruction operator removes the network {3, 6}, the initial sequence is updated to {2, 4, 1, 5}. The repair operator then inserts the network {3, 6} sequentially, forming a new inter-network test sequence.
[0148] In each iteration, this scheme selects one of three different destruction operators to remove a network from the current inter-network test order S.
[0149] The random removal operator selects networks from the current inter-network test order S according to a random rule and removes them. The number of networks removed at a time is determined by the removal rate; the number of networks removed = the total number of networks * the removal rate. The number of networks removed is dynamic and changes with the total number of networks. Because random removal does not rely on a fixed sorting rule, it effectively prevents the algorithm from falling into local optimality.
[0150] The worst removal operator removes the network that causes higher movement cost in the current solution, and the movement cost contribution of the network It is defined as the difference between the total movement cost before and after removal, that is, in represents the total movement cost before removing the network, represents the total moving cost after removing the network, This directly reflects the rationality of the network's current position. The larger the difference, the more unreasonable the network's position in the current network test sequence. The specific steps are as follows:
[0151] Calculate the network value;
[0152] according to The values sort the network from largest to smallest;
[0153] Remove from the current inter-network test sequence S The network with the largest value is added to the set of networks to be inserted W;
[0154] Repeat the above steps until the number of removed networks meets the set removal rate.
[0155] The core idea of the maximum similarity deletion operator is to improve the quality of the solution by removing networks that are highly similar to the network set W to be inserted; specifically, the operator continuously deletes the nodes that are most similar to the network in the network set W to be inserted until the preset removal rate is met. ab Defined as the inverse of the cost of moving between two networks Where dis represents the movement cost between two networks. The closer the distance, the higher the similarity. The operation steps are as follows:
[0156] When there is no element in the network set W to be inserted, a network is randomly selected from the current inter-network test sequence S and transferred to the network set W to be inserted;
[0157] Evaluate the similarity S between each network in the current inter-network test sequence S and the network in the network set W to be inserted ab ;
[0158] The network is divided into two groups according to the similarity value S ab Sort in descending order.
[0159] S ab The largest network removes the current solution and adds the network to the set of networks to be inserted W.
[0160] Repeat the above steps until the proportion of removed networks reaches the set removal rate.
[0161] In this embodiment, after the destruction operator operation, the network set W to be inserted consists of the deleted networks. In each iteration, this scheme selects one of the three different repair operators to reinsert the networks in the network set W to be inserted into the current inter-network test order S.
[0162] The random repair operator selects some networks from the set of networks to be inserted W according to a random rule and inserts them into the current inter-network test order S. The number of networks inserted each time is determined by the insertion rate; the number of insertions = the total number of networks in the set of networks to be inserted W * the insertion rate. The number of insertions is dynamic and changes with the total number of networks in the set of networks to be inserted W.
[0163] The greedy repair operator requires that each network in the network set W to be inserted be inserted into the position where the insertion cost is the lowest. Where i is the network to be inserted, i * and j * are two adjacent networks in the current inter-network test sequence S where the network i to be inserted will be inserted. Represents network i * To the network * The specific insertion steps are as follows:
[0164] Calculate and record the insertion cost of each network in the network set W that may be inserted in the current inter-network test sequence S;
[0165] Sort all candidate insertion combinations (i, P) by insertion cost, where i represents the network to be inserted and P represents the insertion position;
[0166] Insert the network with the lowest insertion cost into the corresponding position P to generate a new network test order;
[0167] Repeat the above steps until all networks in the network set W to be inserted are inserted.
[0168] The greedy repair operator typically prioritizes the network with the lowest current insertion cost. However, this can cause certain networks with high insertion costs to incur greater cumulative costs, or regret costs, in subsequent iterations. To address this, the maximum regret repair operator employs a regret optimization strategy, the core of which is to prioritize networks with the highest regret. Regret is defined as the cost difference between the optimal and suboptimal insertion locations for a network. A larger value indicates that delaying processing that network will result in a greater increase in total cost. The mathematical expression for regret is: RV = Δ i2 -Δ i1 ; where Δ i1 Refers to the insertion cost of network i at the optimal insertion position, Δ i2Refers to the insertion cost of network i at the suboptimal insertion position; the specific operation is as follows:
[0169] Calculate and record the regret value of each network in the network set W to be inserted;
[0170] Sort the candidate insertion combinations (i, P) from large to small according to the regret value, where i represents the network to be inserted and P represents the insertion position;
[0171] Select the network with the largest regret value and insert it into the corresponding position P to generate a new network test order;
[0172] Repeat the above steps until all networks in the set W have been inserted.
[0173] It is worth noting that in step S3, the score of operator i in each iteration is obtained by the preset scoring rule, and the sum of the scores of operator i in the current iteration and before the current iteration is calculated as the cumulative score s of operator i. i ;
[0174] The scoring rules include:
[0175] If the generated new test sequence is the current global optimal solution, the corresponding operator i is assigned a score of A;
[0176] If the generated new test sequence is better than the current solution but does not reach the global optimum, the corresponding operator i is assigned a score of B points;
[0177] If the generated new test sequence is worse than the current solution but is accepted by the simulated annealing criterion, the corresponding operator i is assigned a score of C;
[0178] Otherwise, if none of the above conditions are met, the corresponding operator i is assigned a score of D points to maintain the diversity of operators involved;
[0179] Wherein A>B>C>D. Specifically, A=1.5, B=1.2, C=0.8, D=0.1.
[0180] In this embodiment, a dynamic adaptive strategy is adopted in the adaptive large-scale neighborhood search algorithm. In each iteration, a roulette wheel method is used to select a destruction operator and a repair operator for neighborhood optimization based on the operator weight value. Operator combinations with excellent performance will be given greater weights, thereby increasing their probability of being selected in subsequent searches. In the initial stage, the weights of each operator are set to the same value; during the operation of the algorithm, the system will dynamically adjust the score of each operator according to its performance in the process of generating the test sequence, and calculate the cumulative score s of operator i based on the score value. i ; The scoring rules of this scheme include four levels.
[0181] This solution introduces the simulated annealing criterion into the adaptive large-scale neighborhood search algorithm as a mechanism for accepting inferior solutions to inter-network test sequences, thereby improving the convergence and global search capabilities of the adaptive large-scale neighborhood search algorithm. During the iterative process of the adaptive large-scale neighborhood search algorithm, the neighborhood solution acceptance strategy adopts the following rules: when the newly generated inter-network test sequence has a lower movement cost, the solution is directly accepted; when its movement cost is higher than or equal to the current solution, the inferior solution is accepted according to a certain probability to avoid falling into the local optimum. This acceptance probability is based on the simulated annealing criterion, and its calculation expression is:
[0182]
[0183] Among them, f(S new ) represents the movement cost of the newly generated test sequence, f(S cur ) represents the movement cost of the current test sequence; when f(S new ) is greater than or equal to f(S cur ), a random number r∈[0,1] is generated. If r<P, the newly generated test order is accepted. This mechanism can effectively enhance the algorithm's ability to escape and prevent the search process from falling into local optimality. At the same time, the temperature parameter T gradually decreases with the number of iterations according to the predetermined cooling schedule, that is, T(n+1)=λT(n), n={1,2,3,...,maxIter}; where n represents the number of iterations, maxIter represents the maximum number of iterations, and λ represents the temperature cooling coefficient, which is generally taken in the interval [0.8,0.99]. After multiple iterations, when the temperature parameter T drops to the preset minimum value or reaches the maximum number of iterations, the algorithm terminates.
[0184] Preferably, in step S3, Figure 14 As shown, the steps of the local search algorithm include:
[0185] A variable neighborhood search algorithm framework is constructed, including a neighborhood structure P = {P1, P2, P3, P4}. Neighborhood P1 represents exchanging the positions of two groups of test points in a path. Neighborhood P2 represents inserting one group of test points in a path before another group of test points. Neighborhood P3 represents eliminating intersections by exchanging two edge pairs in the path. Neighborhood P4 represents extracting the test point group with the maximum moving cost on the path and reinserting it into the path with the minimum insertion cost. Two test points detected simultaneously by two probes are considered a test point group. In a test sequence, an edge is formed between two adjacent test points. For example, in the test sequence abcd, the two possible edges are ab and bc.
[0186] Randomly shuffle the order of neighbors in the neighborhood structure P = {P1, P2, P3, P4} to form a shuffled neighborhood structure;
[0187] The four neighborhoods are executed in the neighborhood order of the shuffled neighborhood structure to perform local optimization of the test point paths within the random test network for the new test order.
[0188] After the destruction and repair operations are completed, although the test order between networks can be reconstructed, since the test start and end points within each network are determined in the inner algorithm, there may be some unreasonable connections in the overall path, such as Figure 15 The unreasonable connection between the networks shown in the figure is shown in the figure. To improve this problem, a local search algorithm is introduced to optimize the connection between networks on the test path within the network to adapt to the new test sequence between networks, thereby effectively reducing the mobile cost between the two networks. Through the local search algorithm, the following can be generated: Figure 16 The connections after the local search shown in Figure 3 further improve the overall quality of the solution and enhance the algorithm's search ability in the solution space.
[0189] The pseudo code corresponding to the local search algorithm is as follows:
[0190]
[0191] First, the order of the four neighborhoods in the neighborhood structure P is randomly shuffled to increase the diversity of the search process; then, each shuffled neighborhood is searched in turn, all changes in each neighborhood structure should be tried, and the obtained optimal solution S′ should be recorded and saved; if the path movement cost of the solution S′ is lower than the current solution S, then S is updated to S′, which is used as the new search starting point; otherwise, continue to try all transformations in the next neighborhood structure P.
[0192] The embodiments of the present invention are described in detail above with reference to the accompanying drawings, but the present invention is not limited to the described embodiments. It is apparent to those skilled in the art that various changes, modifications, substitutions, and variations to these embodiments may be made without departing from the principles and spirit of the present invention, and the changes still fall within the scope of protection of the present invention.
Claims
1. A method for optimizing the test path of a double-sided four-flying probe test on a PCB, characterized in that: The following steps are involved: S1: Import double-sided PCB board data containing test networks and test points; S2: Obtain an initial matching solution for each test network's internal test point through a matching strategy, optimize each initial matching solution, and obtain a path to the test point within the network. S3: The initial test order between test networks is constructed by the nearest insertion heuristic algorithm. Then, a local search algorithm is introduced into the adaptive large-scale neighborhood search algorithm to iteratively optimize the initial test order to obtain the test order between networks. S4: Combine the test point path within the network and the test sequence between networks to output the double-sided four-flying probe test path.
2. A PCB board double-sided four-flying probe test path optimization method according to claim 1, characterized in that: In step S2, the matching strategy includes: S21: Obtaining a network type of a double-sided PCB board, where the network type includes a first type in which the number of test points on the front side is greater than the number of test points on the back side and a second type in which the number of test points on the front side is less than or equal to the number of test points on the back side; S22: determining a matching method for the front and back sides of the double-sided PCB board according to the network type, wherein the matching method includes serial matching and parallel matching; S23: Based on the area division mechanism, all test points of the same test network on the same test surface are divided into left test points and right test points according to their positions, and the left test points are assigned to one probe and the right test points are assigned to another probe to obtain a test point allocation method; S24: Probes are allocated according to the test point allocation method, and according to the matching method selected for the current test surface of the current test network, the two probes on the same surface are matched with the nearest neighbor matching mechanism for test points, and the matching results are used as the probe test path to form an initial matching solution.
3. A PCB double-sided four-flying probe test path optimization method according to claim 1, characterized in that: In step S24, the nearest neighbor matching mechanism includes: Each time, the nearest unmatched test point to the current test point is selected for matching; The matching order is determined as follows: the first probe starts from the test point with the smallest X coordinate and moves to the middle coordinate within the current test surface of the current test network; the second probe starts from the middle coordinate and moves to the test point with the largest X coordinate; In the matching process, the test point closest to the current test point is selected as the next test point according to the greedy strategy, where the distance between the two test points is d = max(|x i -x j |,|y i -y j |), (x i ,y i ) and (x j ,y j ) are the coordinates of the two test points.
4. The method for optimizing a double-sided four-flying probe test path on a PCB according to claim 1, wherein: In step S2, a 2-opt hybrid genetic algorithm is used, the maximum number of iterations, crossover probability and mutation probability are set, and the initial matching scheme is used as the input of the algorithm to obtain the optimized test point path in the network corresponding to the initial matching scheme.
5. A PCB double-sided four-flying probe test path optimization method according to claim 4, characterized in that: In step S2, during the solution process using the 2-opt hybrid genetic algorithm, the empty instruction is replaced by the coordinate (-1, -1) to indicate that the probe corresponding to the empty instruction does not move in the current motion cycle.
6. A PCB double-sided four-flying probe test path optimization method according to claim 1, characterized in that: In step S3, the step of constructing the initial test order between test networks by the most recently inserted heuristic algorithm includes: A test network is randomly selected as the starting point. In each iteration, the test network closest to the current path is selected from the unvisited test networks and inserted into the optimal position in the path according to the minimum path increment principle. This process is repeated until all test networks are included in the path and the initial test order is obtained.
7. The method for optimizing a double-sided four-flying probe test path on a PCB according to claim 1, wherein: In step S3, the step of introducing a local search algorithm into the adaptive large-scale neighborhood search algorithm to iteratively optimize the initial test sequence includes: Initialization parameters, including a destruction operator weight value, a repair operator weight value, and a simulated annealing temperature; Get the initial test order generated by the most recently inserted heuristic algorithm in the current iteration; Adopting an operator adaptive strategy, in each iteration, a roulette wheel is used to select the destruction operator based on the weight value of each destruction operator, and a roulette wheel is used to select the repair operator based on the weight value of each repair operator; Using the selected destruction operator and repair operator to perform destruction and repair operations on the initial test sequence to obtain a new test sequence; Using a local search algorithm to perform local optimization of the test point paths in the random test network for the new test sequence, the processed test sequence is obtained; Update the weight values of the destruction operator and the repair operator respectively; After multiple iterations, the final optimized test sequence is output as the inter-network test sequence.
8. The method for optimizing a double-sided four-flying probe test path on a PCB according to claim 7, wherein: In step S3, the destruction operators include a random removal operator, a worst removal operator, and a maximum similarity deletion operator, and the repair operators include a random repair operator, a greedy repair operator, and a maximum regret repair operator; By formula Update the weight value of each destruction operator or each repair operator; Where i represents the operator, j represents the iteration stage, and w i,j represents the weight of operator i at iteration stage j, w i,j+1 represents the weight of operator i at iteration stage j+1, n i Indicates the number of times operator i is selected, the value range of q is [0, 1], s i represents the cumulative score of operator i; At the beginning of the operator adaptation strategy, the initial weight of each operator is set to 1; The formula for updating the probability of operator i being selected in the roulette wheel selection in iteration stage j is Then, when performing the roulette wheel selection, a uniformly distributed random number r is generated. For i=1, if r≤h i , then select operator i; for 2≤i≤I, if h i-1 <r<h i , then select operator i, where I is the total number of operators, h i is the cumulative probability of operator i, 9. A PCB double-sided four-flying probe test path optimization method according to claim 8, characterized in that: In step S3, the score of operator i in each iteration is obtained by the preset scoring rule, and the sum of the scores of operator i in the current iteration and the previous iteration is calculated as the cumulative score s of operator i. i ; The scoring rules include: If the generated new test sequence is the current global optimal solution, the corresponding operator i is assigned a score of A; If the generated new test sequence is better than the current solution but does not reach the global optimum, the corresponding operator i is assigned a score of B points; If the generated new test sequence is worse than the current solution but is accepted by the simulated annealing criterion, the corresponding operator i is assigned a score of C; Otherwise, assign a score value D to the corresponding operator i; Among them, A>B>C>D.
10. The method for optimizing a double-sided four-flying probe test path on a PCB according to claim 8, wherein: In step S3, the steps of the local search algorithm include: A variable neighborhood search algorithm framework is constructed, including a neighborhood structure P = {P1, P2, P3, P4}. Neighborhood P1 represents exchanging the positions of two groups of test points in a path. Neighborhood P2 represents inserting one group of test points in a path before another group of test points. Neighborhood P3 represents eliminating intersections by exchanging two edge pairs in the path. Neighborhood P4 represents extracting the test point group with the maximum moving cost on the path and reinserting it into the path with the minimum insertion cost. Two test points detected simultaneously by two probes are considered a test point group. In the test sequence, an edge is formed between two adjacent test points. Randomly shuffle the order of neighbors in the neighborhood structure P = {P1, P2, P3, P4} to form a shuffled neighborhood structure; The four neighborhoods are executed in the neighborhood order of the shuffled neighborhood structure to perform local optimization of the test point paths within the random test network for the new test order.
Citation Information
Patent Citations
Optimizing method based on four-needle flying-needle test path
CN101424723A
Clustering-based two-layer structure type flying probe testing machine path optimization method
CN117890766A
Circuit board testing method and device based on flying probe tester
CN119511041A
Method for inspecting printed assembly circuit board assembly using printed circuit board assembly inspection device
KR102382569B1
Article cradle for vehicle
KR102789077B1
Cited By
Method and system for optimizing laser cutting path of laser
CN120851147A
PCB circuit detection method for integrated circuit manufacturing
CN121410501A
