A method for optimizing the test path of a double-sided four-flying probe on a PCB board
By optimizing the double-sided four-flying probe test path on the PCB board and combining it with the path optimization strategy for the inner and outer layers of the network, the efficiency and cost issues in the testing of high-density PCB boards were solved, and efficient and low-cost continuity testing was achieved.
Patent Information
- Application Number
- CN202510738444.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-04
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2045-06-04
AI Technical Summary
In the continuity testing of high-density PCBs, existing technologies and traditional testing strategies struggle to achieve joint optimization within and between networks, resulting in long testing times, high false positive rates, and failure to effectively reduce probe movement costs.
A double-sided four-flying probe test path optimization method is adopted for PCB boards. The test point path within the network is optimized by matching strategy, and the test order between networks is optimized by combining the nearest insertion heuristic algorithm and adaptive large-scale neighborhood search algorithm, and the probe path and empty command position are dynamically adjusted.
It improves testing efficiency, reduces probe movement costs, is suitable for test path optimization of large-scale complex circuit boards, and achieves global optimization of test point completeness coverage within the network and test order between networks.
Smart Images

Figure CN120629872B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of path optimization technology, and in particular to a method for optimizing the test path of a double-sided four-flying probe on a PCB board. Background Technology
[0002] Printed circuit boards (PCBs), as the integrated platform for electronic components, play a core role in various electronic systems. With the continuous evolution of microelectronics technology, component layout density is constantly increasing, wiring spacing is shrinking, and circuit board structures are becoming 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 significant research and application value.
[0003] Currently, flying probe testing technology has become a key method for testing the electrical performance of PCBs. It uses a set of precisely controllable probes to contact test points on the circuit board to verify conductivity and insulation. Among these tests, conductivity testing is used to confirm the connectivity between nodes within the same network. This is the part with the most test points and the highest frequency of operation in the entire testing process, which seriously affects the overall testing efficiency.
[0004] In surface continuity testing applications, double-sided four-probe testing systems are widely used due to their high parallelism and strong adaptability. The core objective of path optimization is to plan an efficient path for the four probes covering all test points, while minimizing 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 testing strategies can no longer meet the dual requirements of efficiency and accuracy, leading to frequent problems such as long test times and high false positive rates.
[0005] Currently, in small-to-medium scale scenarios (e.g., networks smaller than 3000), various efficient heuristic algorithms for flying probe test path optimization have been proposed, achieving some results. However, most current research focuses primarily on optimizing test point paths within the network or optimizing the test order between networks after initial test point matching. This hierarchical, independent optimization approach fails to achieve joint optimization of paths between and within networks, limiting the overall optimization effect. Furthermore, most existing methods do not dynamically adjust the matching results after initial test point matching and merging; subsequent path optimization is often based on a fixed matching structure, making it difficult to further reduce overall movement costs. Summary of the Invention
[0006] To overcome the shortcomings of existing technologies, this invention provides an optimized method for double-sided four-flying probe testing on PCB boards to solve the aforementioned problems.
[0007] The technical solution adopted by this invention to solve its technical problem is: a method for optimizing the test path of a double-sided four-flying probe on a PCB board, comprising the following steps:
[0008] S1: Import double-sided PCB data containing test networks and test points;
[0009] S2: Obtain the initial matching scheme for the internal test points of each test network through the matching strategy, optimize each initial matching scheme, and obtain the test point path within the network;
[0010] S3: Construct the initial test order between test networks using the nearest insertion heuristic algorithm, and then introduce a local search algorithm 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 with the test order 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: Obtain the network type of the double-sided PCB board, where the network type includes the first type where the number of test points on the front side is greater than the number of test points on the back side, and the second type where 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: Determine the matching method for the front and back sides of the double-sided PCB board according to the network type, where the matching method includes serial matching and parallel matching;
[0015] S23: Based on the region partitioning 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. The left test points are assigned to one probe and the right test points are assigned to another probe to obtain the test point allocation method.
[0016] S24: Assign probes according to the test point allocation method, and according to the matching method selected for the current test surface of the current test network, use the nearest neighbor matching mechanism to match test points for two probes on the same surface, and use the matching results as probe test paths to form an initial matching scheme.
[0017] Preferably, in step S24, the nearest neighbor matching mechanism includes:
[0018] Each time, select the nearest unmatched test point 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 towards the middle coordinate within the current test surface of the current test network; the second probe starts from the middle coordinate and moves towards the test point with the largest X coordinate.
[0020] During the matching process, each time a greedy strategy is used, the test point closest to the current test point is selected as the next test point, where the distance between 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, with the maximum number of iterations, crossover probability, and mutation probability set. The initial matching scheme is used as the input to the algorithm to obtain the optimized network test point path corresponding to the initial matching scheme.
[0022] Specifically, in step S2, during the solution process using the 2-opt hybrid genetic algorithm, the coordinates (-1, -1) are used to replace the empty command, indicating that the probe corresponding to the empty command does not move within the current motion cycle.
[0023] It is worth noting that in step S3, the step of constructing the initial test order among the test networks using the nearest insertion heuristic algorithm includes:
[0024] Randomly select a test network as the starting point. In each iteration, select the test network that is closest to the current path from the unvisited test networks and insert it into the optimal position in the path according to the principle of minimum path increment. Repeat this process until all test networks are included in the path to obtain the initial test order.
[0025] Preferably, in step S3, the step of introducing a local search algorithm to iteratively optimize the initial test order in the adaptive large-scale neighborhood search algorithm includes:
[0026] Initialize parameters, including destruction operator weight value, repair operator weight value, and simulated annealing temperature;
[0027] Obtain the initial test order generated by the most recently inserted heuristic algorithm in the current iteration;
[0028] An operator adaptive strategy is adopted. In each iteration, the destruction operator is selected by roulette wheel based on the weight value of each destruction operator, and the repair operator is selected by roulette wheel based on the weight value of each repair operator.
[0029] The initial test sequence is disrupted and repaired using selected destruction and repair operators to obtain a new test sequence.
[0030] The new test order is obtained by using a local search algorithm to locally optimize the test point paths within the random test network.
[0031] The weight values of the destruction operator and the repair operator are updated separately;
[0032] After multiple iterations, the final optimized test order is output as the test order between networks.
[0033] Specifically, in step S3, the destruction operator includes a random removal operator, a worst-case 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] Through formula Update the weight values of each destruction operator or each repair operator; where i represents the operator, j represents the iteration stage, and w... i,j w represents the weight of operator i at iteration stage j. i,j+1 This represents the weight of operator i at iteration stage j+1, n i Let q represent the number of times operator i is selected, and let q take values in the range [0, 1]. i This represents the cumulative score of operator i;
[0035] At the start of the operator adaptive 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 during iteration phase j is as follows:
[0036] Then, when performing the roulette wheel selection, a uniformly distributed random number r is generated. For i = 1, if r ≤ h i If h, then choose 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 Let be the cumulative probability of operator i.
[0037] Optionally, in step S3, the score of operator i in each iteration is obtained according to 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 order is the current global optimal solution, assign a score value A to the corresponding operator i.
[0040] If the generated new test order is better than the current solution but does not reach the global optimum, assign a score value B to the corresponding operator i.
[0041] If the generated new test order is worse than the current solution but is accepted by the simulated annealing criterion, assign a score value C to the corresponding operator i.
[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 swapping the positions of two sets of test points in the path; neighborhood P2 represents inserting one set of test points into the path before inserting another set of test points; neighborhood P3 represents eliminating intersections by swapping two pairs of edges in the path; and neighborhood P4 represents extracting the test point set with the maximum movement cost on the path and re-inserting it into the path with the minimum insertion cost. Two test points detected simultaneously by two probes are considered as one test point set. In the testing order, an edge is formed between two adjacent test points.
[0046] The neighborhood order in the neighborhood structure P = {P1, P2, P3, P4} is randomly shuffled to form a shuffled neighborhood structure.
[0047] The four neighborhoods are executed in the order of the shuffled neighborhood structure to perform local optimization of the test point paths within the randomized test network for the new test order.
[0048] The beneficial effects of this invention are as follows: 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 order 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 order between networks are combined to obtain the double-sided four-flying probe test path. This method not only achieves complete coverage of test points within the network, but also combines global optimization of the test order between networks with dynamic adjustment of local paths to collaboratively optimize probe paths and empty command position configurations. By introducing physical constraint modeling and efficient search strategies, it can be applied to test path optimization of large-scale complex circuit boards, improving test efficiency and reducing probe movement costs. Attached Figure Description
[0049] Figure 1This is a flowchart of a method for optimizing the test path of a double-sided four-flying probe on a PCB board in one embodiment of the present invention;
[0050] Figure 2 This is a schematic diagram of the double-sided four-flying probe test path results output in step S4 of one embodiment of the present invention;
[0051] Figure 3 This is a schematic diagram of the front portion of the test network in one embodiment of the present invention;
[0052] Figure 4 This is a schematic diagram of the reverse side of the test network in one embodiment of the present invention;
[0053] Figure 5 This is a schematic diagram illustrating the division of test points in a test network according to one embodiment of the present invention;
[0054] Figure 6 This is a schematic diagram of a serial matching scheme in one embodiment of the present invention;
[0055] Figure 7 This is a schematic diagram of a parallel matching scheme in one embodiment of the present invention;
[0056] Figure 8 This is a schematic diagram of the front and back sides of a test network in one embodiment of the present invention;
[0057] Figure 9 According to Figure 8 A schematic diagram of the initial matching scheme obtained from the test network;
[0058] Figure 10 This is a schematic diagram illustrating the 2-opt hybrid genetic algorithm in one embodiment of the present invention;
[0059] Figure 11 This is a schematic diagram illustrating the optimization of the initial matching scheme for test points within the network in one embodiment of the present invention;
[0060] Figure 12 According to Figure 8 A schematic diagram of the test point paths within the network obtained from the test network;
[0061] Figure 13 This is a schematic diagram illustrating the construction of the initial test order between networks using the nearest insertion heuristic algorithm in one embodiment of the present invention;
[0062] Figure 14 This is a schematic diagram of a local search algorithm in one embodiment of the present invention;
[0063] Figure 15 A schematic diagram illustrating the unreasonable connections between networks before implementing the local search algorithm;
[0064] Figure 16 This is a schematic diagram of the connections between networks after performing a local search algorithm. Detailed Implementation
[0065] The specific embodiments of the present invention will be further described below with reference to the accompanying drawings. It should be noted that these descriptions are for the purpose of aiding understanding the present invention, but do not constitute a limitation thereof. Furthermore, the technical features involved in the various embodiments of the present invention described below can 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 the test path of a double-sided four-flying probe on a PCB board includes the following steps:
[0067] S1: Import double-sided PCB 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, the initial matching scheme of the test points inside the network corresponding to each test network is obtained through the matching strategy. Each initial matching scheme is optimized to reduce the movement cost of the probe inside the network and obtain the test point path inside the network.
[0069] S3: For the outer layer problem of the two-layer double-sided four-flying-needle test path optimization algorithm, 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 and obtain the test order between networks.
[0070] S4: Combines the test point path within the network and the test order between networks to output a double-sided four-flying probe test path. A feasible result path consists of two parts: the test order between networks and the test point path within the network, such as... Figure 2 As shown, the left-hand diagram illustrates the testing sequence between networks, such as net1->net2->net3->net4->net1. The right-hand diagram shows 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 tests are used to determine whether points A and E are connected. Then, the left probe moves to point B, the right probe moves to point D, and so on, until all test points have been tested.
[0071] In the proposed PCB board double-sided four-flying probe test path optimization method, the inner layer problem of the two-layer double-sided four-flying probe test path optimization algorithm is addressed to obtain the test point path within the network, and the outer layer problem of the two-layer double-sided four-flying probe test path optimization algorithm is addressed to obtain the test order between networks. Finally, the test point path within the network and the test order between networks are combined to obtain the double-sided four-flying probe test path. This method not only achieves complete coverage of test points within the network, but also combines global optimization of the test order between networks with dynamic adjustment of local paths to collaboratively optimize probe paths and empty command position configurations. By introducing physical constraint modeling and efficient search strategies, it can be applied to test path optimization of large-scale complex circuit boards, improving test efficiency and reducing probe movement costs.
[0072] It is worth noting that in step S2, the matching strategy includes:
[0073] S21: Obtain the network type of the double-sided PCB board, where the network type includes the first type where the number of test points on the front side is greater than the number of test points on the back side, and the second type where 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: Determine the matching method for the front and back sides of the double-sided PCB board according to the network type, where the matching method includes serial matching and parallel matching;
[0075] S23: Based on the region partitioning 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. The left test points are assigned to one probe and the right test points are assigned to another probe to obtain the test point allocation method.
[0076] S24: Assign probes according to the test point allocation method, and according to the matching method selected for the current test surface of the current test network, use the nearest neighbor matching mechanism to match test points for two probes on the same surface, and use the matching results as probe test paths to form an initial matching scheme.
[0077] In double-sided four-flying probe testing, a test network on a double-sided PCB may contain n test points, which may be distributed on both the front and back sides of the PCB. The flying probe tester is equipped with four probes, capable of simultaneously detecting six continuity relationships. For example, if the four probes are positioned at test points A, B, C, and D, then the six continuity relationships AB, AC, AD, BC, BD, and CD can be detected simultaneously. Specifically, each test can choose to simultaneously detect the continuity between all four test points, or it can select three or two test points for the corresponding continuity test. Therefore, how to rationally allocate these test points to each test to cover the continuity relationships of all points while minimizing the number of tests and probe travel distance is a test point matching problem.
[0078] The output file corresponding to the test point path within the network describes the probe allocation in each test. Each line represents one instruction, with the four probes being the front left probe, front right probe, back left probe, and back right probe. The output file is shown in the table below:
[0079] Serial Number Front left probe Front right probe Reverse left probe Right probe on the reverse side 1 A B C D 2 E F G 3 H I
[0080] The first line indicates that in one test task, four probes contact test points A, B, C, and D respectively, and the continuity between any two of these four test points can be determined. The second line indicates that in one test task, three probes contact test points E, F, and G respectively, and the continuity between any two of these three test points can be determined. The third line indicates that in one test task, two probes contact test points H and I respectively, and the continuity 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, ensuring that each point is tested, while minimizing the number of tests and optimizing the probe's movement path to shorten the total test time.
[0082] In continuity testing, the basic transitivity theorem can be applied: if test point A is connected to test point B, and test point B is connected to test point C, then test point A and test point C should also be connected. Based on this principle, the following conclusion can be drawn: for a test network containing n test points, if only two probes are used for testing, at least (n-1) pairs of points need to be tested to cover all continuity relationships within the network. Based on the above theorem, two probes on the same side (front or back) can use two matching methods: serial matching and parallel matching.
[0083] Serial matching: Within one motion cycle, only one probe moves to the next test point, while the other remains stationary. For example, for... Figure 3 For the front part of the test network, the two probes are matched in a serial manner, and the matching scheme is shown in the table below:
[0084]
[0085] For this table, in test number 1, the two probes contact points A and E respectively; in test number 2, only the right probe on the front side moves to point C, while the left probe on the front side remains in place. These two tests confirm that there is continuity between test points A, E, and C. This matching method can progressively verify the continuity relationship of all points on the same surface, but requires a large number of tests.
[0086] Parallel matching: Within one motion cycle, two probes on the same side (front or back) move simultaneously to the next test point. For example, for Figure 4 In the reverse part of the test network, the two probes are matched in parallel, and the matching scheme is shown in the table below:
[0087]
[0088] In test number 1, the two probes contact test point F and test point I respectively; in test number 2, the two probes move simultaneously to test point G and test point H. These two tests confirm continuity between test point F and test point I, and between test point G and test point H, but do not confirm continuity between test point F and test point G.
[0089] For a test network with N test points, the number of tests varies depending on the matching method: serial matching moves only one probe at a time, requiring at least N-1 tests; parallel matching moves two probes simultaneously, requiring at least N / 2 tests. Therefore, to reduce the number of tests, for a two-sided network, parallel matching should be used on the side with more test points, and serial matching on the other side. Thus, the matching method is determined based on the network type in step S22.
[0090] To address the collision issue in flying probe testing and ensure safety at the physical level, step S23 employs a region-based matching method. Specifically, for all test points on the same face (front or back) of the same test network, they are first sorted in ascending order of their X-coordinates, and then divided into two parts: a left half and a right half, as shown below. 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 either the left or right side. This allows one probe to be dedicated to the left test points, while another probe handles the right test points, ensuring that the probe responsible for the left test points is always to the left of the probe responsible for the right test points, effectively preventing probe collisions during testing. Finally, the output initial matching scheme includes the matching method and the test point allocation method.
[0091] After obtaining the matching method and test point allocation method, the next step is to determine the matching scheme, that is, how to allocate test points to each probe for testing. The matching scheme needs to comprehensively consider the collision between probes and the distance between two adjacent test points, and arrange movements with similar step sizes together as much as possible to reduce the waiting time caused by small steps waiting for large steps. Since the number of possible schemes is extremely large, a heuristic method is used to optimize the scheme determination to reduce computational complexity and improve matching efficiency.
[0092] It is important to note that in serial matching, to ensure test completeness, the matching scheme cannot be arbitrarily split; instead, the matching of the left and right probes must be swapped as a whole. Otherwise, the continuity of some test points may not be fully verified. For example, as... Figure 6 In the case of serial matching, the test order of the right probe was adjusted separately. After 5 tests, it can be determined that there is continuity between test points A and C, and between test points D, E and F. However, it cannot be guaranteed that there is continuity between test points A and D, or between test points C and E. This affects the completeness of the test.
[0093] For parallel matching, the order can be freely adjusted, such as... Figure 7 As shown, it is sufficient to ensure that parallel matching covers all test points on the surface. This is because parallel matching is only used in two-sided networks. If the current surface is parallel matching, then the other surface must be serial matching. This means that the test points of each parallel matching are connected to the central node, which can ensure that all conduction relationships are verified.
[0094] Therefore, when allocating test points to the left and right parts, a reasonable matching order is crucial for serial matching, as it 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, select the nearest unmatched test point 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 towards the middle coordinate within the current test surface of the current test network; the second probe starts from the middle coordinate and moves towards the test point with the largest X coordinate.
[0098] During the matching process, each time a greedy strategy is used, the test point closest to the current test point is selected as the next test point, where the distance between 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 ensures coverage of all test points in the network and provides an initial matching scheme while optimizing the number of detections. For a network such as... Figure 8 The test network shown has an initial matching scheme obtained by applying the nearest neighbor matching mechanism, as follows: Figure 9 And as shown in the table below:
[0100]
[0101] Optionally, in step S2, a 2-opt hybrid genetic algorithm is used, with the maximum number of iterations, crossover probability, and mutation probability set. The initial matching scheme is used as the input to the algorithm to obtain the optimized test point path within the network corresponding to the initial matching scheme, thereby reducing the movement distance of a single probe.
[0102] The probe path optimization problem is similar to the Traveling Salesman Problem, but it doesn't require returning to the starting point. It's essentially about finding a better Hamiltonian path between test points to minimize the overall probe travel distance. Similarly, when adjusting the path order, as with generating the probe test path in step S24, the serial matching scheme can only be adjusted as a whole, while the parallel matching scheme can freely adjust the detection order. Therefore, in this stage, the overall order of the serial matching scheme is optimized, and the path of each probe in the parallel matching scheme is optimized to reduce the travel distance of a single probe.
[0103] Since this problem is an NP-hard variant of the TSP (Tracking Path of Success) problem, 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 edge pairs in the path, such as... Figure 10 As shown, replacing (B,E) and (C,F) in the original path with paths (B,C) and (E,F) effectively reduces path costs in a short time. Combining 2-opt with a genetic algorithm not only utilizes the global search capability of the genetic algorithm to avoid getting trapped in local optima, but also leverages the local optimization characteristics of 2-opt to accelerate convergence and improve the quality of the solution.
[0104] In the 2-opt hybrid genetic algorithm, 2-opt search is embedded as a local search operator within the genetic algorithm framework for further optimization of individual solutions. The pseudocode of the algorithm is shown in the table below:
[0105]
[0106] When calling the 2-opt hybrid genetic algorithm, a greedy encoding algorithm is first used to generate an initial solution population consisting of multiple feasible matching schemes (as shown in line 1 of the pseudocode). The initial fitness of each solution in the initial solution population is calculated; the initial fitness reflects the quality of the scheme (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 scheme is selected based on the shortest path and provided for the next iteration (as shown in line 6 of the pseudocode). Crossover is performed using a multi-point crossover method (as shown in lines 7-9 of the pseudocode). The output of the crossover operation is used as input to perform a mutation operation, adjusting the matching scheme through rearrangement and insertion (as shown in lines 10-12 of the pseudocode). The output of the mutation operation is used as input to perform 2-opt local search optimization (as shown in line 13 of the pseudocode). The new population fitness is calculated (as shown in line 16 of the pseudocode). The optimal scheme is updated based on the fitness (as shown in line 17 of the pseudocode). Movement cost is directly reflected in fitness; higher fitness indicates lower total movement cost. In actual code, a global variable stores the optimal solution. If a better solution (i.e., one with higher fitness) is found during a run of the algorithm, this solution is replaced with the optimal one. After solving the problem using the above algorithm, for... Figure 8 After path optimization, the initial matching scheme corresponding to the test network can obtain... Figure 11 The optimization results shown are as follows, 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] The pseudocode for calculating population fitness is shown in the table below:
[0108]
[0109] When the algorithm for calculating the fitness of the population is invoked, the algorithm will traverse every solution in the population (as shown in line 1 of the pseudocode), traverse every test point in the solution (as shown in line 2 of the pseudocode), calculate the distance between two test points in the solution (as shown in line 3 of the pseudocode), end the traversal of the solution (as shown in line 4 of the pseudocode), and take the reciprocal of the total distance to represent the fitness (as shown in line 5 of the pseudocode).
[0110] For optimization using the output of the mutation operation as input, a 2-opt local search is employed, and the pseudocode is shown in the table below:
[0111]
[0112] When calling the 2-opt local search optimization algorithm, first set the loop variable and start the loop (as shown in lines 1-3 of the pseudocode). The loop reverses any two test points on the feasible path. If the reversed path is better, replace the original path with the reversed path, stop all loops, and directly output 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 coordinates (-1, -1) are used to replace the empty command, indicating that the probe corresponding to the empty command does not move within the current motion cycle.
[0114] exist Figure 11 In the path optimization scheme on the right, it can be observed that the number of reverse tests is only 4, fewer than the 6 tests for the front. This scheme uses the concept of an empty command, meaning the probe does not move during this motion cycle. Therefore, in Figure 11 The negative test will include two empty commands. By adjusting the position of the empty commands, tests with similar step sizes can be further arranged, thereby reducing the overall movement cost.
[0115] Analysis revealed that the probe path optimization problem and the empty instruction position optimization problem are identical in terms of path representation and objective function value. Therefore, in the 2-opt hybrid genetic algorithm, the coordinates (-1, -1) are used to replace the empty instruction, ensuring that all solutions have the same length. Then, all solutions are solved using the same steps through the 2-opt hybrid genetic algorithm. After solving, Figure 8 The test point matching scheme corresponding to the test network was finally obtained. Figure 12 The optimization result on the far right.
[0116] It is worth noting that in step S3, as Figure 13 As shown, the steps for constructing the initial test order among test networks using the most recent insertion heuristic include:
[0117] Randomly select a test network as the starting point. In each iteration, select the test network that is closest to the current path from the unvisited test networks and insert it into the optimal position in the path according to the principle of minimum path increment. Repeat this process until all test networks are included in the path to obtain the initial test order.
[0118] In this embodiment, the minimum path increment principle is: among all the schemes formed when the selected test network is inserted into the path, the insertion position corresponding to the scheme 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 possible insertion paths, and the size of the set is controlled by a dynamic parameter α. Compared to a strategy with a fixed value for α, introducing a dynamic response factor can adaptively adjust the search range according to the current solution's construction state, improving the diversity and quality of solutions and helping to generate a better initial test order. Let the set of possible α values be... At the start of the algorithm, an element α in each set... i The probability of choice P i Uniform distribution, that is: After K iterations, the selection probability P i It will be updated accordingly; remember f * Let $ be the cost of the optimal path in K iterations. Using α in K iterations i The average path cost, Using α in K iterations j Average path cost, α i and α j All The elements in the selection; the updated selection probability P i The calculation formula is:
[0120]
[0121] Finally, the pseudocode for the algorithm based on the recent insertion heuristic for constructing the initial inter-network test order is shown in the table below:
[0122]
[0123] When executing this algorithm, a test network v is randomly selected. i and its most recent test network v j Connect them to form the initial sub-path S (as shown in lines 1-2 of the pseudocode);
[0124] Initialize the unselected set C, i.e., 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 from the unselected set C that are closest to the current path S as candidate networks v k And calculate the incremental cost c(v) of each candidate network inserted into the current path S. k (As shown in line 5 of the pseudocode), where 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), where k represents the candidate network to be inserted, i represents the network preceding the insertion position in the current path S, i+1 represents the network following 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 candidate network v from the incremental costs of all candidate networks. k Minimum incremental cost c min and maximum incremental cost c max (As shown in lines 6-7 of the pseudocode);
[0128] Construct a restricted candidate set (RCL) using parameter α, that is, all candidates that satisfy c(v) k )≤c min +α·(c max -c min Candidate network v k Include it in RCL (as shown in line 8 of the pseudocode);
[0129] Randomly select a candidate network v from RCL. k And in a manner with minimum insertion cost, the candidate network v k Inserting into an 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 pseudocode), where k represents the newly inserted candidate network, i represents the network preceding the insertion position in the existing path S, i+1 represents the network following 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 remove the inserted networks from C (as shown in line 14 of the pseudocode);
[0131] Return the initial network test order S constructed (as shown in line 12 of the pseudocode).
[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 order includes:
[0133] Initialize parameters, including destruction operator weight value, repair operator weight value, and simulated annealing temperature;
[0134] Obtain the initial test order generated by the most recently inserted heuristic algorithm in the current iteration;
[0135] An operator adaptive strategy is adopted. In each iteration, the destruction operator is selected by roulette wheel based on the weight value of each destruction operator, and the repair operator is selected by roulette wheel based on the weight value of each repair operator.
[0136] The initial test sequence is disrupted and repaired using selected destruction and repair operators to obtain a new test sequence.
[0137] The new test order is obtained by using a local search algorithm to locally optimize the test point paths within the random test network.
[0138] The weight values of the destruction operator and the repair operator are updated separately;
[0139] After multiple iterations, the final optimized test order is output as the test order between networks.
[0140] The pseudocode corresponding to step S3 is shown in the table below:
[0141]
[0142] The main algorithm iteration count represents the number of iterations for the insertion heuristic algorithm and the adaptive large-scale neighborhood search algorithm; the internal iteration count represents the number of iterations for selecting the destruction operator and the repair operator, as well as the number of iterations for the local search algorithm. When executing the algorithm, the number of times the initial solution is used is recorded (as shown in line 1 of the pseudocode); line 2 selects the parameter α for constructing the initial solution. i The algorithm initializes the parameter α (as shown in line 2 of the pseudocode); it begins the main algorithm iteration (as shown in line 3 of the pseudocode); it constructs the initial solution and establishes the initial test order between test networks using the nearest insertion heuristic algorithm (as shown in line 4 of the pseudocode); it sets the optimal solution as the initial solution if and only if it is the first iteration (as shown in lines 5-7 of the pseudocode); it begins the inner loop (as shown in line 8 of the pseudocode); it selects the destruction operator and the repair operator according to the roulette wheel (as shown in line 9 of the pseudocode); it destroys the solution (as shown in line 10 of the pseudocode); it repairs the solution (as shown in line 11 of the pseudocode); it performs a local search on the solution (as shown in line 12 of the pseudocode); when the new solution is better than the optimal solution, it replaces 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, it updates the parameter α and regenerates the initial solution (as shown in lines 18-21 of the pseudocode); it returns 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-case 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] Through formula Update the weight values of each destruction operator or each repair operator; where i represents the operator, j represents the iteration stage, and w... i,j w represents the weight of operator i at iteration stage j. i,j+1 This represents the weight of operator i at iteration stage j+1, n i q represents the number of times operator i is selected, and the value range of q is [0, 1]. In this scheme, q is set to 0.6; s i This represents the cumulative score of operator i;
[0145] At the start of the operator adaptive 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 during iteration phase j is as follows:
[0146] Then, when performing the roulette wheel selection, a uniformly distributed random number r is generated. For i = 1, if r ≤ h i If h, then choose operator i; for 2≤i≤i, if h i-1 <r<h i Then operator i is selected, where I is the total number of operators. In this embodiment, the total number of operators is 3, h i Let be the cumulative probability of operator i.
[0147] In this embodiment, the disruption operator removes certain elements from the initial test order using a specific strategy to avoid the algorithm getting trapped in local optima. Assuming the initial test order is {2,4,3,1,6,5}, if network {3,6} is removed using the disruption operator, the initial order is updated to {2,4,1,5}. Then, according to the repair operator, networks {3,6} are inserted sequentially to form a new inter-network test order.
[0148] In each iteration, this scheme selects one of three different destruction operators to remove a network from the current network test order S.
[0149] The random removal operator selects a subset of networks from the current network testing order S according to random rules. The number of networks removed each time is determined by the removal rate; the number of networks removed = total number of networks * removal rate; the number of networks removed is dynamic and changes with the total number of networks; since random removal does not depend on a fixed sorting rule, it can effectively avoid the algorithm getting trapped in local optima.
[0150] The worst-case removal operator removes network elements from the current solution that result in high movement costs; the network's movement cost contribution. Defined as the difference in total movement cost before and after removal, i.e. in This represents the total cost of moving before removing the network. This represents the total mobility 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 testing order. The specific operation steps are as follows:
[0151] Calculate the network value;
[0152] according to The values are sorted from largest to smallest in the network.
[0153] Remove from the current inter-network test order S The network with the largest value is added to the set W of networks to be inserted.
[0154] Repeat the above steps until the number of networks removed 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 with high similarity to the set of networks to be inserted, W. Specifically, this operator continuously deletes the node with the highest similarity to the network in the set of networks to be inserted, W, until a preset removal rate is met. Here, the similarity S between two networks a and b is... ab Defined as the reciprocal of the mobility cost 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 are no elements in the network set W to be inserted, a network is randomly selected from the current network test order S and transferred to the network set W to be inserted.
[0157] Evaluate the similarity S between each network in the current inter-network testing order S and the networks in the set W to be inserted. ab ;
[0158] The network is ranked according to similarity value S. ab Sort in descending order.
[0159] S ab The largest network is removed from the current solution and added 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 set of networks to be inserted W consists of the deleted networks. In each iteration, this scheme selects one of three different repair operators to re-insert the networks in the set of networks to be inserted W into the current network inter-test order S.
[0162] The random repair operator selects a subset of networks from the set of networks to be inserted into the current network test order S according to random rules. The number of networks inserted each time is determined by the insertion rate; the number of networks inserted = the total number of networks in the set of networks to be inserted W * the insertion rate; the number of networks inserted 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 inserting each network in the set W of networks to be inserted into the position that minimizes the insertion cost. Insertion cost. Where i is the network to be inserted, i * and j * These are two adjacent networks in the current network testing order S that will be into which network i is to be inserted. Represents network i * To network j * The moving distance; the specific insertion steps are as follows:
[0164] Calculate and record the insertion cost of each network in the set W of networks to be inserted at the possible insertion positions in the current network test order S;
[0165] Sort all candidate insertion combinations (i, P) in ascending order of 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, and generate a new network test order;
[0167] Repeat the above steps until all networks in the set W to be inserted have been inserted.
[0168] Greedy repair operators typically prioritize networks with the lowest insertion cost. However, this can lead to higher cumulative costs (regret costs) for some high-insertion-cost networks in subsequent iterations. To address this, the maximum regret repair operator employs a regret optimization strategy, prioritizing the processing of networks with the highest regret values. Regret value is defined as the cost difference between the optimal and second-best insertion positions of a network. A larger regret value indicates that delaying the processing of that network will result in a greater increase in total cost. The mathematical expression for regret value is: RV = Δ i2 -Δ i1 ;where Δ i1 This refers to the insertion cost Δ of network i at the optimal insertion position. i2This refers 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 set W to be inserted;
[0170] Sort the candidate insertion combinations (i, P) in descending order of 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 set W have been inserted.
[0173] It is worth noting that in step S3, the score of operator i in each iteration is obtained according to 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 ;
[0174] The scoring rules include:
[0175] If the generated new test order is the current global optimal solution, assign a score value A to the corresponding operator i.
[0176] If the generated new test order is better than the current solution but does not reach the global optimum, assign a score value B to the corresponding operator i.
[0177] If the generated new test order is worse than the current solution but is accepted by the simulated annealing criterion, assign a score value C to the corresponding operator i.
[0178] Otherwise, if none of the above conditions are met, assign a score value D to the corresponding operator i in order to maintain the diversity of operator participation;
[0179] Where A > B > C > D. Specifically, A = 1.5, B = 1.2, C = 0.8, and D = 0.1.
[0180] In this embodiment, the adaptive large-scale neighborhood search algorithm employs a dynamic adaptive strategy. In each iteration, based on the operator weights, a roulette wheel method is used to select one disruptive operator and one repair operator for neighborhood optimization. High-performance operator combinations are assigned greater weights, increasing their probability of being selected in subsequent searches. Initially, all operator weights are set to the same value. During algorithm execution, the system dynamically adjusts the scores of each operator based on their performance during the generation of the test order, and calculates the cumulative score s of operator i using these scores. i The scoring rules for this scheme include four levels.
[0181] This scheme introduces simulated annealing as a mechanism for accepting inferior solutions in the adaptive large-scale neighborhood search algorithm (ALS) to improve the convergence and global search capability of the algorithm. During the iteration process of the ALS, the neighborhood solution acceptance strategy follows these rules: when a newly generated inter-network test order has a lower movement cost, the solution is accepted directly; when its movement cost is higher than or equal to the current solution, the inferior solution is accepted with a certain probability to avoid getting trapped in local optima. This acceptance probability is based on the simulated annealing criterion, and its calculation expression is as follows:
[0182]
[0183] Where, f(S) new ) represents the movement cost of the newly generated test order, f(S) cur ) represents the movement cost of the current test order; when f(S) new ) is greater than or equal to f(S) cur When 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 getting stuck in local optima. At the same time, the temperature parameter T gradually decreases with the number of iterations according to the predetermined cooling progress, 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 cooling coefficient of temperature, which is generally taken in the range [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, as 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 swapping the positions of two test point groups in the path; neighborhood P2 represents inserting one test point group in the path before another test point group; neighborhood P3 represents eliminating intersections by swapping two edge pairs in the path; and neighborhood P4 represents extracting the test point group with the maximum movement cost on the path and re-inserting it into the path with the minimum insertion cost. Two test points detected simultaneously by two probes are considered as one test point group. In the testing order, an edge is formed between two adjacent test points. For example, in the testing order abcd, the two possible edges are ab and bc.
[0186] The neighborhood order in the neighborhood structure P = {P1, P2, P3, P4} is randomly shuffled to form a shuffled neighborhood structure.
[0187] The four neighborhoods are executed in the order of the shuffled neighborhood structure to perform local optimization of the test point paths within the randomized test network for the new test order.
[0188] After the destruction and repair operations are completed, although the test order between networks is reconstructed, the start and end points of the tests within each network are determined in the inner algorithm, which may lead to locally unreasonable connections in the overall path, such as... Figure 15 The diagram illustrates unreasonable connections between networks. To improve this issue, a local search algorithm is introduced to optimize inter-network connections within the network's internal test paths, adapting to the new inter-network test order and effectively reducing movement costs between the two networks. The local search algorithm can generate connections such as... Figure 16 The connections shown after the local search further improve the overall quality of the solution and enhance the algorithm's search capability in the solution space.
[0189] The pseudocode for 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 sequentially, and all changes in each neighborhood structure should be tried. The optimal solution S′ obtained is recorded and saved. If the path movement cost of solution S′ is lower than that of the current solution S, S is updated to S′, which is used as the new search starting point. Otherwise, all changes in the next neighborhood structure P are tried.
[0192] The embodiments of the present invention have been described in detail above with reference to the accompanying drawings, but the present invention is not limited to the described embodiments. For those skilled in the art, various changes, modifications, substitutions, and variations can be made to these embodiments without departing from the principles and spirit of the present invention, and these variations still fall within the protection scope of the present invention.
Claims
1. A method for optimizing the test path of a double-sided four-flying probe on a PCB board, characterized in that, Includes the following steps: S1: Import double-sided PCB data containing test networks and test points; S2: Obtain the initial matching scheme for the internal test points of each test network through the matching strategy, optimize each initial matching scheme, and obtain the test point path within the network; The matching strategy includes: S21: Obtain the network type of the double-sided PCB board, where the network type includes the first type where the number of test points on the front side is greater than the number of test points on the back side, and the second type where 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: Determine the matching method for the front and back sides of the double-sided PCB board according to the network type, where the matching method includes serial matching and parallel matching; S23: Based on the region partitioning 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. The left test points are assigned to one probe and the right test points are assigned to another probe to obtain the test point allocation method. S24: Assign probes according to the test point allocation method, and according to the matching method selected for the current test surface of the current test network, use the nearest neighbor matching mechanism to match test points for two probes on the same surface respectively, and use the matching results as probe test paths to form an initial matching scheme. S3: Construct the initial test order between test networks using the nearest insertion heuristic algorithm, and then introduce a local search algorithm into the adaptive large-scale neighborhood search algorithm to iteratively optimize the initial test order to obtain the test order between networks; The steps for constructing the initial test order among test networks using the most recent insertion heuristic include: Randomly select a test network as the starting point. In each iteration, select the test network that is closest to the current path from the unvisited test networks and insert it into the optimal position in the path according to the principle of minimum path increment. Repeat this process until all test networks are included in the path to obtain the initial test order. The steps involved in iteratively optimizing the initial test order by introducing a local search algorithm into the adaptive large-scale neighborhood search algorithm include: Initialize parameters, including destruction operator weight value, repair operator weight value, and simulated annealing temperature; Obtain the initial test order generated by the most recently inserted heuristic algorithm in the current iteration; An operator adaptive strategy is adopted. In each iteration, the destruction operator is selected by roulette wheel based on the weight value of each destruction operator, and the repair operator is selected by roulette wheel based on the weight value of each repair operator. The initial test sequence is disrupted and repaired using selected destruction and repair operators to obtain a new test sequence. The new test order is obtained by using a local search algorithm to locally optimize the test point paths within the random test network. The weight values of the destruction operator and the repair operator are updated separately; After multiple iterations, the final optimized test order is output as the test order between networks; S4: Combine the test point path within the network with the test order between networks to output the double-sided four-flying probe test path.
2. The method for optimizing the test path of a double-sided four-flying probe on a PCB board according to claim 1, characterized in that: In step S24, the nearest neighbor matching mechanism includes: Each time, select the nearest unmatched test point for matching; The matching order is determined as follows: the first probe starts from the test point with the smallest X coordinate and moves towards the middle coordinate within the current test surface of the current test network; the second probe starts from the middle coordinate and moves towards the test point with the largest X coordinate. During the matching process, each time a greedy strategy is used, the test point closest to the current test point is selected as the next test point, where the distance between the two test points is... , and These are the coordinates of the two test points.
3. The method for optimizing the test path of a double-sided four-flying probe on a PCB board according to claim 1, characterized in that: In step S2, a 2-opt hybrid genetic algorithm is used, with the maximum number of iterations, crossover probability, and mutation probability set. The initial matching scheme is used as the input to the algorithm to obtain the optimized network test point path corresponding to the initial matching scheme.
4. The method for optimizing the test path of a double-sided four-flying probe on a PCB board according to claim 3, characterized in that: In step S2, during the solution process using the 2-opt hybrid genetic algorithm, the coordinates (-1, -1) are used to replace the empty command, indicating that the probe corresponding to the empty command does not move within the current motion cycle.
5. The method for optimizing the test path of a double-sided four-flying probe on a PCB board according to claim 1, characterized in that: In step S3, the destruction operator includes a random removal operator, a worst-case 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; Through formula Update the weight values of each destruction operator or each repair operator; where Represents an operator. Indicates the iteration phase. Indicating the iterative phase Time operator The weight, Indicating the iterative phase Time operator The weight, Operator The number of times it was selected. The range of values is , Operator The cumulative score; At the start of the operator adaptive policy, the initial weight of each operator is set to 1; during the iteration phase... The update of the operator in the roulette selection The formula for the probability of being selected is: ; Then, when performing the roulette wheel selection, a uniformly distributed random number r is generated. Then select operator ;like Then select operator Where I is the total number of operators, For operators The cumulative probability, .
6. The method for optimizing the test path of a double-sided four-flying probe on a PCB board according to claim 5, characterized in that: In step S3, the operator in each iteration is obtained according to a preset scoring rule. The score is calculated for the current iteration and the operators before the current iteration. The sum of scores is used as an operator Cumulative score ; The scoring rules include: If the generated new test order is the current globally optimal solution, then the corresponding operator... Assign a score of A. If the generated new test order is better than the current solution but does not reach the global optimum, then it is the corresponding operator. Assign a score of B. If the generated new test order is worse than the current solution but is accepted by the simulated annealing criterion, it is the corresponding operator. Assign a score of C. Otherwise, it is the corresponding operator. Assign a score of D. in .
7. The method for optimizing the test path of a double-sided four-flying probe on a PCB board according to claim 5, characterized in that: In step S3, the steps of the local search algorithm include: Constructing including neighborhood structure A variable neighborhood search algorithm framework, neighborhood This indicates swapping the positions of two test point groups within the path, and their neighborhoods. This indicates that a set of test points in the path is inserted before another set of test points, in the neighborhood. This indicates that intersections are eliminated by swapping two pairs of edges in the path, and the neighborhood is considered. This represents the test point group with the maximum movement cost on the extracted path, which is then re-inserted into the path with the minimum insertion cost. Two test points detected simultaneously by two probes constitute a test point group. In the testing sequence, an edge is formed between adjacent test points. Neighborhood Structure The order of the neighborhoods in the data is randomly shuffled to form a shuffled neighborhood structure. The four neighborhoods are executed in the order of the shuffled neighborhood structure to perform local optimization of the test point paths within the randomized 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