Search program, search method, and information processing apparatus
A search program optimizes conductor patterns on circuit boards by dividing into local regions and combining results, significantly reducing computation time while achieving desired characteristics.
Patent Information
- Application Number
- JP2024057687
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-29
- Publication Date
- 2025-10-10
AI Technical Summary
Optimizing conductor patterns on circuit boards is time-consuming, and even optimized patterns may not achieve desired characteristics.
A search program and method that divide a circuit board into local regions, optimize each region independently, and combine results to find a desired pattern efficiently using electromagnetic field simulation and evolutionary algorithms.
Enables rapid search for a conductor pattern with improved characteristics by reducing the number of optimization calculations, achieving results in a fraction of the time required by traditional methods.
Smart Images

Figure 2025154593000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a search program, a search method, and an information processing device. [Background technology]
[0002] There is a demand for optimization of the conductor patterns of circuit boards (see, for example, Patent Documents 1 to 3). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2005 / 015449 [Patent Document 2] U.S. Patent Publication No. 2022 / 0215146 [Patent Document 3] U.S. Patent Publication No. 2012 / 0110540 Summary of the Invention [Problem to be solved by the invention]
[0004] However, optimizing the pattern takes time, and even if the pattern is optimized, there is a risk that the desired characteristics will not be obtained.
[0005] In one aspect, the present invention aims to provide a search program, a search method, and an information processing device that can search for a desired pattern in a short time. [Means for solving the problem]
[0006] In one aspect, the search program causes a computer to execute the following steps: a first process of preparing a basic structure in a predetermined region, the basic structure including a plurality of cells, which are units for placement / non-placement of objects; a second process of dividing the basic structure into a plurality of local regions, each including a plurality of cells; a third process of searching for placement / non-placement in the cells so that the characteristics of the predetermined region as a whole are improved when an initial structure, which is a combination pattern of placement / non-placement of the objects included in the local region among the basic structures, is set to a combination pattern of placement / non-placement of the objects different from the initial structure, and searching for an improved structure with improved characteristics; and a fourth process of creating a plurality of combinations of the initial structure and the improved structure in the predetermined region as training data by specifying either the initial structure or the improved structure for each of the plurality of local regions, and searching for placement / non-placement of the objects in the cells of the predetermined region using the plurality of training data. [Effects of the Invention]
[0007] A desired pattern can be searched for in a short time. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1A is a perspective view illustrating a portion of an analog circuit board used in a band-pass filter or the like, and FIG. 1B is a plan view of the analog circuit board. [Figure 2] FIG. 10 is a diagram illustrating characteristic values. [Figure 3] 1A is a block diagram illustrating an example of the overall configuration of an information processing device, and FIG. 1B is a block diagram illustrating an example of the hardware configuration of the information processing device. [Figure 4] 10 is a flowchart showing a process executed by an information processing device. [Figure 5] 10 is a flowchart showing a process executed by an information processing device. [Figure 6] FIG. 10 is a diagram illustrating division of a basic structure. [Figure 7]10(a) to 10(c) are diagrams for explaining the simulation results. [Figure 8] 10(a) to 10(c) are diagrams for explaining the simulation results. [Figure 9] 10(a) and 10(b) are diagrams for explaining the simulation results. [Figure 10] 10(a) to 10(c) are diagrams for explaining the simulation results. [Figure 11] 10(a) to 10(c) are diagrams for explaining the simulation results. DETAILED DESCRIPTION OF THE INVENTION
[0009] Prior to describing the embodiments, an overview of circuit board optimization will be provided. FIG. 1(a) is a perspective view illustrating a portion of an analog circuit board used in a band-pass filter or the like. FIG. 1(b) is a plan view of the analog circuit board. As illustrated in FIGS. 1(a) and 1(b), a first conductor 201 and a second conductor 202 are connected to both ends of a surface pattern 200. When a voltage is applied between the first conductor 201 and the second conductor 202, a current flows from the first conductor 201 through the surface pattern 200 toward the second conductor 202, or a current flows from the second conductor 202 through the surface pattern 200 toward the first conductor 201.
[0010] In a circuit board, changes in resistance due to the pattern shape (length, width) of the surface pattern 200 and changes in capacitance due to the state between patterns affect the frequency characteristics. Therefore, optimizing the pattern shape of the surface pattern 200 is desirable. For example, if the surface pattern 200 has a pattern in which conductors are formed in the entire area of the predetermined area assigned to it (e.g., solid color), good frequency characteristics may not be obtained. Therefore, the surface pattern 200 has a pattern shape in which, in the predetermined area, areas with conductors are mixed with areas without conductors. By searching for the optimal arrangement of the areas with conductors and areas without conductors, good characteristic values (e.g., frequency characteristics: cost value) can be obtained. An example of good characteristic values is shown in FIG. 2.
[0011] For example, the design of the surface pattern 200 is performed by a person with specialized skills. However, training of such people is necessary. Furthermore, labor shortages are also a problem. Therefore, for example, optimization using the optimization calculation (Particle Swarm Optimization) built into an electromagnetic field simulator can be considered. Specifically, optimization calculations that simulate the frequency characteristics of one type of pattern shape are performed for 10,000 different pattern shapes, and the optimization calculations are repeated 10,000 times to search for a surface pattern with optimal frequency characteristics. However, since each optimization calculation requires approximately 20 seconds, it would take approximately two days to perform 10,000 optimization calculations.
[0012] Therefore, in the following embodiment, an example will be described in which even a person without specialized skills can search for a desired pattern in a short time. [Example]
[0013] Fig. 3(a) is a block diagram illustrating an example of the overall configuration of an information processing device 100. As illustrated in Fig. 3(a), the information processing device 100 includes a pattern information storage unit 10, a basic structure creation unit 20, a division unit 30, a local region search unit 40, a global search unit 50, an output unit 60, and the like.
[0014] Fig. 3(b) is a block diagram illustrating an example of a hardware configuration of the information processing device 100. As illustrated in Fig. 3(b), the information processing device 100 includes a CPU 101, a RAM 102, a storage device 103, an input device 104, a display device 105, and the like.
[0015] The CPU (Central Processing Unit) 101 is a central processing unit. The CPU 101 includes one or more cores. The RAM (Random Access Memory) 102 is a volatile memory that temporarily stores programs executed by the CPU 101, data processed by the CPU 101, and the like. The storage device 103 is a non-volatile storage device. Examples of the storage device 103 that can be used include a read-only memory (ROM), a solid-state drive (SSD) such as a flash memory, and a hard disk driven by a hard disk drive. The storage device 103 stores a work plan development program. The input device 104 is an input device such as a keyboard or a mouse. The display device 105 is a display device such as an LCD (Liquid Crystal Display). The CPU 101 executes the work plan development program to realize the various components shown in FIG. 3(a). Each component shown in FIG. 3(a) may also be implemented using hardware such as a dedicated circuit.
[0016] The pattern information storage unit 10 stores information about the surface pattern 200, which is the target of optimization and is described in FIGS. 1(a) and 1(b). As illustrated in FIGS. 1(a) and 1(b), the surface pattern 200 has a predetermined area in which a conductor can be arranged. This predetermined area is a collection of multiple cells (arrangement units). A conductor can be arranged in each cell. As an example, the predetermined area has 22 × 22 cells. For example, if the predetermined area has a rectangular shape, the predetermined area has 22 × 22 rectangular cells. A conductor can be arranged in these cells. Alternatively, a conductor may not be arranged in the cells. In this way, by combining arrangement and non-arrangement of a conductor in each cell, the surface pattern 200 has a conductor pattern.
[0017] 4 and 5 are flowcharts showing the processes executed by the information processing device 100. Each process executed by the information processing device 100 will be described below with reference to FIGS.
[0018] First, the basic structure creation unit 20 creates a plurality of initial training data (step S1). For example, the basic structure creation unit 20 randomly creates the initial training data. In this case, in each initial training data, the arrangement and non-arrangement in each cell of the surface pattern 200 are randomly combined. Alternatively, the initial training data may be a plurality of initial training data prepared by the user.
[0019] Next, the basic structure creating unit 20 calculates characteristic values for each initial teaching data using electromagnetic field simulation (step S2). As a result, a combination of the structure (pattern) of the surface pattern 200 and the characteristic values can be used as initial teaching data.
[0020] Next, the basic structure creation unit 20 creates an optimal structure or an average structure using an algorithm or the like, and determines a basic structure for global optimization (step S3). For example, the basic structure creation unit 20 may perform optimization a small number of times using an optimization calculation built into the electromagnetic field simulator, or may perform optimization by applying an evolutionary algorithm or the like. In this case, the basic structure creation unit 20 selects the data with the highest characteristic value from the obtained results as the basic structure. Alternatively, the basic structure creation unit 20 may select the average pattern of each initial training data as the basic structure.
[0021] Next, the dividing unit 30 divides the basic structure determined in step S3 (step S4). In the example of Fig. 6, the surface pattern 200 is divided into nine local regions. Each local region has a plurality of cells.
[0022] Next, the local region searching unit 40 creates training data for each local region obtained in step S4 (step S5). For example, the local region searching unit 40 creates 10 pieces of training data by randomly changing the arrangement and non-arrangement of each cell only in the target local region based on the basic structure. Specifically, in the basic structure, 10 different pieces of data are created for local region 1. In this case, the basic structure is left unchanged for local regions 2 to 9, and the 10 different pieces of data for local region 1 alone are used as 10 pieces of training data. This is done similarly for the other local regions 2 to 9. As an example, in the example of FIG. 6, 9 local regions are obtained, so a total of 90 pieces of training data (local regions) are created.
[0023] Next, the local region searching unit 40 calculates characteristic values for each piece of training data of the target local region by electromagnetic field simulation (step S6). As a result, a combination of the structure (pattern) of the surface pattern 200 and the characteristic values can be used as training data.
[0024] Next, the local region search unit 40 performs optimization using each teacher data of the target local region, and extracts a recommended structure with good characteristic values (step S7). The optimization in this case is not particularly limited, but may be performed using, for example, an optimization calculation built into the electromagnetic field simulator, or an evolutionary algorithm.
[0025] Next, the local region searching unit 40 determines whether step S7 has been performed a predetermined number of times (step S8). Alternatively, in step S8, it may determine whether a predetermined condition is satisfied. For example, it may determine whether the recommended structure obtained in step S7 satisfies a predetermined characteristic value.
[0026] If the determination in step S8 is "No," the local region searching unit 40 adds the recommended structure result extracted in step S7 to the training data group of the target local region (step S9). After that, the process is executed again from step S6.
[0027] If the determination in step S8 is "Yes," the local region searching unit 40 extracts an improved structure for the target local region (step S10). For example, the local region searching unit 40 extracts the teacher data with the best characteristic value from the teacher data group for the target local region as the improved structure (optimal structure).
[0028] The above steps S6 to S10 are executed for each local region individually, thereby extracting an improved structure for each local region.
[0029] Up to this point, the basic structure and the improved structures for each of the nine local regions have been obtained. Since the basic structure includes nine local regions, nine basic structures (local regions) and nine improved structures (local regions) have been obtained. Next, the comprehensive search unit 50 creates a new model by assigning "1" or "0" to whether to use the basic structure or the improved structure for each region (step S11). Here, "0" indicates that the basic structure is used, and "1" indicates that the improved structure is used. If "1" indicates that the improved structure is used, data in which each local region is only "1" and data in which each local region is only "0" have already been obtained.
[0030] Next, the comprehensive search unit 50 adds a desired number of randomly generated structures (step S12). Here, for each local region, the result obtained in step S11 of whether to use the basic structure "0" or the improved structure "1" is added to the training data.
[0031] Next, the full search unit 50 calculates the characteristics of the training data obtained in step S12 by electromagnetic field simulation (step S13).
[0032] Next, the total search unit 50 sets the combination of the teacher data and the characteristics as the total optimization teacher data (step S14).
[0033] Next, the global search unit 50 performs optimization using the global optimization teacher data obtained in step S14 (step S15). The optimization in this case is not particularly limited, but may be performed using, for example, an optimization calculation built into the electromagnetic field simulator, or an evolutionary algorithm.
[0034] Next, the full search unit 50 extracts the data with the highest characteristic value from the results obtained in step S15 as a recommended structure (step S16).
[0035] Next, the full search unit 50 calculates characteristic values by electromagnetic field simulation for the results obtained in step S16 (step S17).
[0036] Next, the full search unit 50 determines whether step S16 has been performed a predetermined number of times (step S18). Alternatively, in step S18, it may determine whether a predetermined condition is satisfied. For example, it may determine whether the recommended structure obtained in step S17 satisfies a predetermined characteristic value.
[0037] If the determination in step S18 is "No," the full search section 50 sets the recommended structure extracted in step S6 as the basic structure (step S19), and then the process is executed again from step S4.
[0038] If the determination in step S18 is "Yes," the output section 60 extracts and outputs the optimum structure from the data with the highest characteristic value among the results obtained by repeating steps S11 to S19 (step S20).
[0039] According to this embodiment, when a cell pattern different from the basic structure is used for each of the multiple local regions, a search for placement / non-placement in cells is performed to improve the overall characteristics of the placement region of the surface pattern 200, and an improved structure with improved characteristics is searched for. Furthermore, by specifying either an initial structure or an improved structure that is the same as the basic structure for each of the multiple local regions, multiple combinations of the initial structure and the improved structure in the placement region of the surface pattern 200 are created as training data, and the multiple training data are used to search for placement / non-placement of conductors in the cells of the surface pattern. In this way, a desired pattern with good characteristics can be searched for in a shorter time than when overall optimization is repeated using optimization calculations built into the electromagnetic field simulation.
[0040] It is possible to use the improved structure as the structure of each local region. However, even if each local region is an optimized improved structure, it does not necessarily mean that the entire region including multiple local regions has optimal characteristics. In this respect, in this embodiment, the optimal characteristics are searched for overall by using a combination of the improved structure, which is a candidate for the optimal structure, and the basic structure.
[0041] 7(a) to 7(c) are diagrams showing the simulation results for creating a basic structure. FIG. 7(a) is a diagram showing the relationship between the number of simulations and the cost value. FIG. 7(b) is a diagram showing the obtained basic structure. FIG. 7(c) is a diagram showing the obtained characteristic values. In the example of FIG. 7(a), FMDA was used for optimization. FMDA is a method in which the QA part of FMQA (Factorization Machine with Quantum Annealing) is replaced with DA (Digital Annealer). 100 pieces of initial training data were used. As the simulation was repeated, the cost value decreased, indicating that good results were obtained. A basic structure with a cost value of 77.98 was obtained after 1,000 simulations. Note that FIG. 7(a) also shows the results of 10,000 simulations repeated without using local regions as in this embodiment.
[0042] Figure 8(a) shows the case where only the patterns of local region 1 and local region 7 are optimized, while the other local regions remain in their basic structure. Figure 8(b) shows the optimization results when only the pattern of local region 1 is optimized. The minimum value (Min value) of the cost value of local region 1 was 64.70. Figure 8(c) shows the optimization results when only the pattern of local region 7 is optimized. The minimum value (Min value) of the cost value of local region 7 was 69.62.
[0043] Figures 9(a) and 9(b) show the results of global optimization. Figures 10(a) to 10(c) show the positions of the improved structures in each local region. Figure 10(a) shows the case where the improved structure "1" is used only in local regions 1, 3, and 8, and the basic structure "0" is used in the other local regions. Figure 10(b) shows the case where the improved structure "1" is used only in local region 1, and the basic structure "0" is used in the other local regions. Figure 10(c) shows the case where the improved structure "1" is used only in local regions 1 and 8, and the basic structure "0" is used in the other local regions. As shown in Figure 9(a), it can be seen that good cost values are obtained as a result of global optimization.
[0044] Figures 11(a) to 11(c) show the results obtained by repeating steps S11 to S19 in Figure 5. As shown in Figure 11(a), the cost value was significantly improved in the second cycle. Ultimately, the cost value was reduced to 12.08, less than one-sixth of the cost value of the basic structure (77.98).
[0045] When the optimization calculation built into the electromagnetic field simulation was used without dividing the area into local regions, 10,000 optimizations were required to obtain a cost value of 29.
[0046] In contrast, in the method according to this embodiment, the number of FMDA runs to create the basic structure was 1,000, until the same cost value was obtained. The number of local regions was set to 9, the number of training data was set to 20, and 5 cycles were performed, with 900 optimization runs to create the local structure. Furthermore, during global optimization, 10 training data were added, and 10 more cycles were performed, for a total of 20 runs. After three cycles of global optimization, the number of runs was reduced to 5,760.
[0047] Although the embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications and variations are possible within the scope of the gist of the present invention as described in the claims. (Appendix 1) On the computer, A first process of preparing a basic structure including a plurality of cells, which are units for placing or not placing objects, in a predetermined region; a second process of dividing the basic structure into a plurality of local regions each including a plurality of cells; a third process for searching for arrangements and non-arrangements in the cells so that the characteristics of the predetermined region as a whole are improved when an initial structure, which is a combination pattern of arrangements and non-arrangements of the objects included in the local region among the basic structures, is changed to a combination pattern of arrangements and non-arrangements of the objects different from the initial structure, for each of the plurality of local regions, and searching for an improved structure with improved characteristics; and a fourth process of creating a plurality of combinations of the initial structure and the improved structure in the specified region as training data by specifying either the initial structure or the improved structure for each of the plurality of local regions, and searching for the placement / non-placement of the object in the cell of the specified region using the plurality of training data. (Appendix 2) The search program according to claim 1, further comprising: executing the third process and the fourth process using the result obtained in the fourth process as the basic structure. (Appendix 3) The search program described in Appendix 1, characterized in that when preparing the basic structure in the first process, a plurality of training data specifying the placement or non-placement of the object in the cell of the specified area is prepared, and the basic structure is searched for using a specified algorithm using the plurality of training data so that the characteristics are good. (Appendix 4) the object is a conductor, 2. The search program according to claim 1, wherein the characteristic of the predetermined region is a frequency characteristic. (Appendix 5) The computer A first process of preparing a basic structure including a plurality of cells, which are units for placing or not placing objects, in a predetermined region; a second process of dividing the basic structure into a plurality of local regions each including a plurality of cells; a third process for searching for arrangements and non-arrangements in the cells so that the characteristics of the predetermined region as a whole are improved when an initial structure, which is a combination pattern of arrangements and non-arrangements of the objects included in the local region among the basic structures, is changed to a combination pattern of arrangements and non-arrangements of the objects different from the initial structure, for each of the plurality of local regions, and searching for an improved structure with improved characteristics; and a fourth process of creating a plurality of combinations of the initial structure and the improved structure in the specified region as training data by specifying either the initial structure or the improved structure for each of the plurality of local regions, and searching for placement / non-placement of the object in the cell of the specified region using the plurality of training data. (Appendix 6) The search method according to claim 5, further comprising performing the third process and the fourth process using the result obtained in the fourth process as the basic structure. (Appendix 7) The search method described in Appendix 5, characterized in that when preparing the basic structure in the first process, a plurality of training data specifying the placement or non-placement of the object in the cell of the specified area is prepared, and the plurality of training data is used to search for the basic structure using a specified algorithm so that the characteristics are good. (Appendix 8) the object is a conductor, 6. The search method according to claim 5, wherein the characteristic of the predetermined region is a frequency characteristic. (Appendix 9) a basic structure creating unit that creates a basic structure including a plurality of cells, which are units for arranging or not arranging objects, in a predetermined region; a division unit that divides the basic structure into a plurality of local regions each including a plurality of cells; a local region searching unit that searches for placement / non-placement in the cells so that the characteristics of the predetermined region as a whole are improved when an initial structure, which is a combination pattern of placement / non-placement of the objects included in the local region among the basic structures, is changed to a combination pattern of placement / non-placement of the objects different from the initial structure, for each of the plurality of local regions, and searches for an improved structure with the improved characteristics; and a global search unit that creates multiple combinations of the initial structure and the improved structure in the specified region as training data by specifying either the initial structure or the improved structure for each of the multiple local regions, and searches for the placement / non-placement of the object in the cell of the specified region using the multiple training data. (Appendix 10) The information processing device according to claim 9, wherein the local region search unit searches for the improved structure using the result of the search by the overall search unit as the basic structure. (Appendix 11) The information processing device described in Appendix 9 is characterized in that, when preparing the basic structure, the basic structure creation unit prepares a plurality of training data specifying the placement or non-placement of the object in the cell of the specified area, and uses the plurality of training data to search for the basic structure using a specified algorithm so that the characteristics are good. (Appendix 12) the object is a conductor, 10. The information processing device according to claim 9, wherein the characteristic of the predetermined region is a frequency characteristic. [Explanation of symbols]
[0048] 10 Pattern information storage section 20 Basic Structure Creation Department 30 Division 40 Local area search unit 50 General search section 60 Output section 100 Information processing device 101 CPU 102 RAM 103 Storage device 104 Input Device 105 Display device
Claims
1. On the computer, a first process of preparing a basic structure including a plurality of cells, which are units for arranging or not arranging an object, in a predetermined region; a second process of dividing the basic structure into a plurality of local regions each including a plurality of cells; a third process for searching for arrangements and non-arrangements in the cells so that characteristics of the predetermined region as a whole are improved when an initial structure, which is a combination pattern of arrangements and non-arrangements of the objects included in the local region among the basic structures, is changed to a combination pattern of arrangements and non-arrangements of the objects different from the initial structure, for each of the plurality of local regions, and searching for an improved structure with improved characteristics; a fourth process of creating multiple combinations of the initial structure and the improved structure in the specified region as training data by specifying either the initial structure or the improved structure for each of the multiple local regions, and searching for the placement / non-placement of the object in the cell of the specified region using the multiple training data.
2. 2. The search program according to claim 1, further executing the third process and the fourth process using a result obtained in the fourth process as the basic structure.
3. The search program described in claim 1, characterized in that when preparing the basic structure in the first process, multiple pieces of training data specifying the placement or non-placement of the object in the cell of the specified area are prepared, and the multiple pieces of training data are used to search for the basic structure using a specified algorithm so that the characteristics are good.
4. the object is a conductor, 2. The search program according to claim 1, wherein the characteristic of the predetermined region is a frequency characteristic.
5. The computer a first process of preparing a basic structure including a plurality of cells, which are units for arranging or not arranging an object, in a predetermined region; a second process of dividing the basic structure into a plurality of local regions each including a plurality of cells; a third process for searching for arrangements and non-arrangements in the cells so that characteristics of the predetermined region as a whole are improved when an initial structure, which is a combination pattern of arrangements and non-arrangements of the objects included in the local region among the basic structures, is changed to a combination pattern of arrangements and non-arrangements of the objects different from the initial structure, for each of the plurality of local regions, and searching for an improved structure with improved characteristics; a fourth process of creating multiple combinations of the initial structure and the improved structure in the specified region as training data by specifying either the initial structure or the improved structure for each of the multiple local regions, and searching for the placement / non-placement of the object in the cell of the specified region using the multiple training data.
6. a basic structure creating unit that creates a basic structure including a plurality of cells, which are units for arranging or not arranging objects, in a predetermined region; a division unit that divides the basic structure into a plurality of local regions each including a plurality of cells; a local region searching unit that, for each of the plurality of local regions, when an initial structure, which is a combination pattern of arrangements and non-arrangements of the objects included in the local region among the basic structures, is set to a combination pattern of arrangements and non-arrangements of the objects different from the initial structure, searches for arrangements and non-arrangements in the cells so that characteristics of the predetermined region as a whole are improved, and searches for an improved structure with improved characteristics; and a global search unit that creates multiple combinations of the initial structure and the improved structure in the specified region as training data by specifying either the initial structure or the improved structure for each of the multiple local regions, and searches for the placement / non-placement of the object in the cell of the specified region using the multiple training data.
Citation Information
Patent Citations
Method of optimizing parameters of electronic components on printed circuit boards
US20120110540A1
Method for recognizing analog circuit structure
US20220215146A1
Method and device for electromagnetic field analysis of circuit board, and circuit board and its design method
WO2005015449A1