Microfluidic biochip flow path planning method considering flow port number constraint

CN115186620BActive Publication Date: 2026-09-18FUZHOU UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210833874.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-14
Publication Date
2026-09-18
Estimated Expiration
2042-07-14

AI Technical Summary

Technical Problem

虽然该芯片相比于传统的实验室平台操作存在着优势,但通常需要构建复杂交错的流路径来支持样本/试剂的运输,也需要大量的流端口来推动液体的有序流动

Benefits of technology

[0038] Compared with existing technologies, this invention has the following advantages: by considering the conflicts between parallel tasks and the connection relationships between components, the quality of the layout solution is further optimized; finally, an optimized routing algorithm based on A* pathfinding is used to plan the required flow paths, effectively reducing the total length of flow channels and the number of intersections, generating a chip architecture with high execution efficiency. Under the condition of strictly satisfying the given constraints on the number of flow ports, this invention greatly avoids conflicts between various liquid transport tasks, while also optimizing the total length of flow channels and the number of intersections, reducing the chip construction cost.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115186620B_ABST
    Figure CN115186620B_ABST
Patent Text Reader

Abstract

The application provides a micro-fluidic biochip flow path planning method under a flow port number constraint, and under the constraint condition of a given maximum flow port number, first, binding and scheduling of operations are realized by using a list scheduling algorithm, scheduling is adjusted through a time window, so that the given flow port number constraint is met; then, a genetic algorithm based on sequence pair representation is used to obtain layout design of the chip, by considering conflicts between parallel tasks and connection relationships between components, quality of the layout solution is further optimized; finally, an optimized routing algorithm based on A* routing is used to plan required flow paths, so as to effectively reduce the total length of flow channels and the number of intersection points, and a chip architecture with high execution efficiency is generated. Under the constraint condition of strictly meeting the given flow port number constraint, conflicts of various liquid transportation tasks are greatly avoided, meanwhile, the total length of flow channels and the number of intersection points are optimized, and the construction cost of the chip is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of automated design technology for microfluidic biochips, and in particular to a flow path planning method for microfluidic biochips considering the constraint of the number of flow ports. Background Technology

[0002] As an emerging chip technology, continuous microfluidic biochips have attracted widespread attention due to their ability to execute various biochemical reactions in parallel and automatically on a coin-sized chip platform. While these chips offer advantages over traditional laboratory platforms, they typically require the construction of complex, interwoven flow paths to support sample / reagent transport and a large number of flow ports to drive the orderly flow of liquids. Each flow port requires an external pressure pump for operation, and the increasing number of flow ports raises the manufacturing cost of biochips, hindering their further development. Summary of the Invention

[0003] In view of this, the purpose of the present invention is to provide a microfluidic biochip flow path planning method considering the constraint of the number of flow ports, which can obtain a high-level integrated scheme that minimizes the biochemical reaction time and a flow layer architecture integrated design solution that minimizes the number of flow ports, the number of conflicting tasks, the number of intersections and the total length of flow channels.

[0004] To achieve the above objectives, the present invention adopts the following technical solution: a microfluidic biochip flow path planning method considering the constraint of the number of flow ports, comprising the following steps:

[0005] Step 1: High-level integrated design phase; A list scheduling algorithm is used to bind and schedule each biochemical reaction operation in sequence according to its priority value; The priority of the operation is calculated based on two factors: critical factor and movement factor. Then, the current operation is bound to a corresponding component, and the execution interval of the operation is determined according to the time window to meet the constraint of the given number of flow ports. Finally, it is determined whether waste liquid needs to be removed to meet the given component volume constraint.

[0006] Step 2: Component layout design stage; Sequence pairs are used to represent the positional relationship of components, and the positions of components and ports are iteratively calculated according to a genetic algorithm; After each crossover and mutation operation, the fitness value of the offspring individuals will be determined by the estimated wiring distance between components and the conflict of parallel tasks; Individuals with higher fitness values ​​will be retained for the next generation of inheritance;

[0007] Step 3: Routing phase of flow channels; First, construct an obstacle avoidance generation graph that treats components as obstacles as the routing graph for subsequent processes. Then, based on this generation graph, use the A* algorithm to sequentially plan all flow paths required in the scheduling scheme. Flow paths are selected in the net of the generation graph. If a line segment is selected and used by any path, it is retained in the final routing graph, and finally a complete flow channel network is generated.

[0008] In a preferred embodiment, the priority calculation of the operation specifically involves modeling a biochemical reaction as a directed acyclic sequence graph. , where each vertex Represents an operation and associates it with a parameter. To represent the corresponding execution time; each edge Define the dependencies between operations; each operation needs to have its own priority value calculated separately. ;

[0009] Operation priority is calculated based on two factors: critical factor and movement factor We define The maximum weighted path from the current operation to the sink in the sequence graph is represented as:

[0010] (1)

[0011] in It is the vertex The set of all paths to the sink. These are the edges in the path, and max(~) is a function that finds the maximum value. Represents the fixed transport time between user-defined components; Parameter It is calculated using the pre-sequence scheduling algorithm and the post-sequence scheduling algorithm; where, and These represent the scheduling times based on ASAP and ALAP, respectively; the larger the difference between them, the more flexible the executable range of this operation; therefore, it is represented as:

[0012]

[0013] Then by and The weighted sum is used to determine the operation. priority value for:

[0014] in and These are two weighting factors, set according to the actual situation; when the maximum weighted path is more important, [the weighting factor will be adjusted accordingly]. Set it to a larger value; however, when more operational flexibility is required, set it to... Set to a larger value; and As values ​​distributed proportionally in the formula, their sum is 1.

[0015] In a preferred embodiment, the time window retrieval method: when a transportation task is executed, a time window is used to record the precise execution time period of the transportation task; a time window Represents the transportation task from a certain point in time. Start to time point End, the span of the time window That is, the execution time of the task; define a counter. To record the driver requirements of the stream port within any time period and initialize... Whenever a transport task is performed, a flow port demand is generated during this time period. Increase by 1, and release only after the transport mission is completed. The value before the transport task is performed; however, if the transport operation involves moving fluid from within a component to a flow channel for storage, or moving fluid stored in the flow channel to the next component, then since the fluid does not completely traverse a section of the flow channel, only transporting half the length of the channel, the transport time should be... .

[0016] In a preferred embodiment, the sequence pair is represented as follows: each sequence pair consists of n elements representing a list of components, c k , 1≤k≤n, where k represents the component number; for each sequence pair, it is converted into the corresponding component layout solution in polynomial time, and the corresponding conversion rules are as follows:

[0017]

[0018] c i Let c represent the i-th component. j This represents the j-th component, for example, The sequence is a pair, and the corresponding component position relationship is derived from this sequence pair; after the position relationship of the components is derived, the layout position of the components is further calculated.

[0019] Based on this positional relationship, we construct two directed acyclic graphs (DAGs) for left-right and up-down positional relationships, respectively, i.e., horizontal constraint graphs. and vertical constraint diagram ; Its structure is as follows:

[0020] ,in Corresponding to a component, It is the source point of the left boundary. It is the sink point of the right boundary;

[0021] ;

[0022] Node weight = node The width of the corresponding component i, and , The weight of the edges is 0.

[0023] In a preferred embodiment, a component placement algorithm based on a genetic algorithm is used; firstly, a population of N individuals is randomly generated; each individual... Transform into the positions of n components, where These are sequence pairs representing component positions. It is a representation of the direction of each component, i.e. Or rotate A binary vector; for each evolutionary iteration, including the genetic operator of item number, Each parent is selected, recombined, and mutated with a certain probability, and then replaces the parent to become the next generation; the algorithm ends when the fitness value of the best individual no longer changes.

[0024] In a preferred embodiment, the quality assessment value of the component layout solution is calculated as follows: Component layout result The quality assessment is judged by an objective function.

[0025]

[0026] in Indicates chip area, It is a port. and Manhattan distance between them It is a wire mesh Connection priority; Connection priority Defined as port and The number of transport tasks is directly proportional to the efficiency of the biochemical reaction; the more transport tasks, the higher the connection priority. If the port... and If a transportation task between two points is executed simultaneously with other transportation tasks, a maximum value will be set to exclude this outcome; therefore, Defined as

[0027]

[0028] in, It is the port during scheduling. and The total number of transportation tasks between them It is a port. and The p-th transportation task between Is with The number of transportation tasks with overlapping execution time periods. and It is a weighting factor; if there are time-parallel transportation tasks that cause conflicts, The value will increase, making the value It gets bigger.

[0029] In a preferred embodiment, the crossover operator of the genetic algorithm: when considering two selected parent individuals... and Perform a crossover operation; and The first sequence is set as the primary sequence pair, and the second sequence is set as the secondary sequence pair; the sequence pairs are crossovered and recombinated to form offspring. and During crossover and recombination, a region is first randomly selected as the crossover matching region, and the subsequences in the matching region are placed at the beginning of the offspring; After removing duplicate elements from the subsequence of the matching region in the first sequence, it becomes... Subsequences; The remaining elements are filled in the order of the same elements in the sequence; other child sequences are generated in the same way.

[0030] In a preferred embodiment, the mutation operator of the genetic algorithm is: selecting the parent generation. Perform the mutation operation; select with equal probability. The first or second sequence is used to randomly select two elements from the sequence and swap their positions to produce offspring. Alternatively, a component can be randomly selected to change its orientation and generate offspring. .

[0031] In a preferred embodiment, the obstacle avoidance graph is constructed as follows: First, starting from the four corner points of the component, the input / output ports of the component, and the flow port, lines are drawn in four orthogonal directions. The line ends when it touches the boundary of the chip. Finally, the line segments inside the component are deleted. The boundaries of the component and the boundaries of the chip are wired. The nodes of the graph are composed of all the intersections of the lines, and the line segments between the nodes form the edges.

[0032] In a preferred embodiment, the flow path planning based on the A* algorithm involves first initializing and generating each edge in the graph. weight When the edge is 0 When constructing the flow path for the k-th transportation task, it is placed into a set. The task is marked; based on the start time of all transportation tasks, they are sorted in non-decreasing order, and an improved A* algorithm is used to find a wiring path for each transportation task; the A* algorithm is a heuristic path exploration algorithm that introduces a new edge weight calculation method based on the idea of ​​avoiding conflicts and reusing paths.

[0033] Before constructing the flow path, define a set. Specify tasks in the scheduling scheme The corresponding parallel task set is used, and the weight value of each wiring edge is calculated.

[0034] (7)

[0035] in This is a user-defined constant. Through the weight settings in the above formula, when a channel is performing a transportation task, other concurrent transportation tasks that choose this path again will be penalized with a high weight. Conversely, when a path has been used but is now idle, a low weight allows subsequent transportation tasks to prioritize this type of channel for path sharing between different tasks. After evaluating the weights of different channels, the A* path search algorithm is used to establish an effective flow path for the task. During this process, the routing cost of the current search edge for the task is comprehensively considered.

[0036]

[0037] in Representing an edge From the source port To the starting point Path length, To start from the finish line To the target port The estimated path length; when using A* pathfinding, prioritize the selection of... Edges with smaller values.

[0038] Compared with existing technologies, this invention has the following advantages: by considering the conflicts between parallel tasks and the connection relationships between components, the quality of the layout solution is further optimized; finally, an optimized routing algorithm based on A* pathfinding is used to plan the required flow paths, effectively reducing the total length of flow channels and the number of intersections, generating a chip architecture with high execution efficiency. Under the condition of strictly satisfying the given constraints on the number of flow ports, this invention greatly avoids conflicts between various liquid transport tasks, while also optimizing the total length of flow channels and the number of intersections, reducing the chip construction cost. Attached Figure Description

[0039] Figure 1 This is a sequence diagram of a preferred embodiment of the present invention;

[0040] Figure 2 This is an explanatory diagram of the cross operation in a preferred embodiment of the present invention;

[0041] Figure 3 This is a schematic diagram of the flow layer channel network of a continuous microfluidic biochip according to a preferred embodiment of the present invention;

[0042] Figure 4 This is a preferred embodiment of the obstacle avoidance generation diagram of the present invention. Detailed Implementation

[0043] The present invention will be further described below with reference to the accompanying drawings and embodiments.

[0044] It should be noted that the following detailed descriptions are illustrative and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.

[0045] It should be noted that the terminology used herein is for the purpose of describing particular implementations only and is not intended to limit the exemplary implementations according to this application; as used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise; furthermore, it should be understood that when the terms “comprising” and / or “including” are used in this specification, they indicate the presence of features, steps, operations, devices, components and / or combinations thereof.

[0046] A method for flow path planning and design of continuous microfluidic biochips considering the constraint of the number of flow ports, specifically including the following steps:

[0047] Step 1: High-level integrated design phase: A list scheduling algorithm is used to bind and schedule each biochemical reaction operation sequentially according to its priority. The priority of the operation is calculated based on two factors: a critical factor and a movement factor. Then, the current operation is bound to a corresponding component, and the execution interval of the operation is determined according to the time window to meet the constraint of the given number of flow ports. Finally, it is determined whether waste liquid needs to be removed to meet the given component volume constraint.

[0048] Step 2: Component Layout Design Phase: Sequence pairs are used to represent the positional relationships of components, and the positions of components and ports are iteratively calculated using a genetic algorithm. After each crossover and mutation operation, the fitness value of the offspring individuals is determined by a combination of the estimated wiring distance between components and the conflict of parallel tasks. Individuals with higher fitness values ​​are retained for the next generation of genetic inheritance.

[0049] Step 3: Routing Phase of Flow Channels: First, a routing graph is constructed that treats components as obstacles, serving as the routing graph for subsequent processes. Then, based on this generated graph, the A* algorithm is used to sequentially plan all flow paths required in the scheduling scheme. Flow paths are selected from the nets in the generated graph. If a line segment is selected and used by any path, it is retained in the final routing graph, ultimately generating a complete flow channel network.

[0050] 1. Calculation of operation priority:

[0051] When we model a biochemical reaction as a directed acyclic sequence graph ,like Figure 1 , where each vertex Represents an operation and associates it with a parameter. This represents the corresponding execution time. Each edge The dependencies between operations are defined. Each operation needs to have its own priority value calculated. Operational priority is calculated based on two factors: critical factors. and movement factor We define The maximum weighted path from the current operation to the sink in the sequence graph is denoted as: (1)

[0052] in yes The set of all paths to the sink. These are the edges in the path, and max(~) is a function that finds the maximum value. Represents a fixed transport time between user-defined components. Parameter It can be calculated using the As-Soon-As-Possible (ASAP) and As-Last-As-Possible (ALAP) scheduling algorithms, reflecting the flexibility of whether each operation can be scheduled at different times. and These represent the scheduling times based on ASAP and ALAP, respectively. The larger the difference between and , the more flexible the executable range of this operation. Therefore, it is represented as .

[0053]

[0054] Then by and The weighted sum is used to determine the operation. priority value for

[0055] in and These are two weighting factors, which can be set according to the actual situation. When the maximum weighted path is more important, [the weighting factor will be adjusted accordingly]. Set it to a larger value; however, when more operational flexibility is required, set it to... Set to a larger value. and As values ​​distributed proportionally in the formula, their sum is 1.

[0056] 2. Component binding strategy:

[0057] For the current operation We need to consider how to choose the most suitable component to execute it. Usually, we directly choose... The component that matches the required component type and has the earliest preparation time, i.e. The component with the smallest value For each component Each has its corresponding preparation time. To represent components Available time points. However, if at least one operation's parent operation's output liquid is still inside a component and has not been discharged, in this case, if there is a component type that performs the parent operation and is the same as the required component type, we will select the component that performs the parent operation with the earliest preparation time and directly bind the operation to it, thus saving fluid transportation time.

[0058] 3. Time window retrieval method:

[0059] Since the number of stream ports required by the chip depends on the maximum number of parallel transport tasks at the same time, we employ a time window-based method for scheduling transport tasks. When executing a transport task, we use a time window to record the precise execution time period of the transport task. A time window... This represents the transportation task from a certain point in time. Start to time point End, the span of the time window This refers to the task's execution time. According to this definition, only transport tasks with overlapping time windows will affect the scheduling of the flow port. Therefore, time window analysis can eliminate flow port conflicts. We define a counter. To record the driver requirements of the stream port within any time period and initialize... Whenever a transport task is performed, a flow port demand is generated during this time period. Increase by 1, and release only after the transport mission is completed. The values ​​prior to the execution of the transport task. However, if the transport operation involves moving fluid from within a component to a flow channel for storage, or moving fluid stored in the flow channel to the next component, then since the fluid has not completely traversed a section of the flow channel, only half the channel length has been transported. Therefore, the transport time should be... .

[0060] 4. Sequence pair representation:

[0061] Each sequence pair consists of n elements representing a list of components, c k, 1 ≤ k ≤ n, where k represents the component number, which provides an encoding scheme for the position of a given component. For each sequence pair, it can be converted into a corresponding component layout solution in polynomial time, and the corresponding conversion rules are as follows.

[0062]

[0063] c i Let c represent the i-th component. j This represents the j-th component, for example, Given a sequence pair, we can deduce the corresponding component position relationships. For example, component 1 is to the left of component 3, and component 1 is above component 4. Therefore, after determining the component position relationships, we can further calculate the component layout positions.

[0064] Based on this positional relationship, we construct two directed acyclic graphs (DAGs) for left-right and up-down positional relationships, respectively, i.e., horizontal constraint graphs. and vertical constraint diagram . The structure is as follows.

[0065] ,in Corresponding to a component, It is the source point of the left boundary. It is the sink point of the right boundary;

[0066] ;

[0067] Node weight = node The width of the corresponding component i, and , The weight of the edges is 0.

[0068] Similarly, a similar vertical constraint diagram can be constructed using the method described above.

[0069] 5. Component layout algorithm based on genetic algorithm:

[0070] This invention proposes a component placement algorithm based on a genetic algorithm, based on sequence pair representation. The algorithm first randomly generates a population of N individuals. Each independent individual... All can be converted into the positions of n components, where These are sequence pairs representing component positions. It is a representation of the direction of each component ( Or rotate A binary vector. For each evolutionary iteration (including the genetic operator at item number), Each parent is selected, recombined, and mutated with a certain probability, and then replaces its parent to become the next generation. The algorithm terminates when the fitness value of the best individual no longer changes.

[0071] 6. Calculation of the quality assessment value of the component layout solution:

[0072] This invention considers the connectivity between flow ports and components in the objective function of component layout solution quality. (Port) It can be an input port or an output port of a component. It can be an output port or a component entry point. Based on this design concept, the component layout will look like this: The quality assessment is judged by an objective function.

[0073]

[0074] in Indicates chip area, It is a port. and Manhattan distance between them It is a wire mesh Connection priority. Defined as port and The number of transport tasks between them is directly proportional to improve the efficiency of biochemical reactions; the more transport tasks, the higher the connection priority. Furthermore, to reduce transport conflicts between flow channels, if the port... and If a transportation task between two points is executed simultaneously with other transportation tasks, a maximum value will be set to minimize this outcome. Therefore, Defined as

[0075]

[0076] in, It is the port during scheduling. and The total number of transportation tasks between them It is a port. and The p-th transportation task between Is with The number of transportation tasks with overlapping execution time periods. and It is a weighting factor. It can be seen that if time-parallel transportation tasks conflict, The value will increase, making the value It gets bigger.

[0077] 7. Crossover operator in genetic algorithms:

[0078] The performance of genetic algorithms largely depends on the effectiveness of the crossover operator, which provides the main exploration mechanism during the search process. When two selected parent individuals... and Perform a crossover operation. We will and The first sequence is designated as the primary sequence pair, and the second sequence is designated as the secondary sequence pair. After crossover and recombination of the sequence pairs, offspring are formed. and During crossover and recombination, a region is first randomly selected as the crossover matching region, and the subsequences within that region are placed at the beginning of the offspring. After removing duplicate elements from the subsequence of the matching region in the first sequence, it becomes... Subsequences. The remaining elements are filled in the order of the identical elements in the sequence. Other child sequences are generated in the same way.

[0079] For example, in Figure 2 In the sequence, the randomly generated cross-matching region extends from the second element to the fourth element, which is the range of the main sequence pairs. Similarly, the crossover region in the subsequence pair at the corresponding position is The intersection area in component direction O is The next step is to place the elements in the intersection region at the starting position of the child generation. and The main sequence pairs begin with Similarly, the initial subsequence pairs are... The component direction starts from The second step is to swap the vertical positions of the elements in the intersection area, that is, to swap the intersection areas in the main sequence pair, the sub-sequence pair, and the component direction, and place them in the subsequent positions of the children. If there are any duplicate elements in the main and sub-sequence pairs that were determined in the first step, then delete the duplicate elements in this step. The result of the main sequence pair is then... Subsequence pairs Component direction The final, third step is to... and Unused elements are placed at the end in their original order, ultimately generating the main sequence pairs of the offspring. Subsequence pairs Component direction Thus, the offspring... and Generation complete.

[0080] 8. Mutation operators in genetic algorithms:

[0081] Selecting the parent generation Perform the mutation operation. Select with equal probability. The first or second sequence is used to randomly select two elements from the sequence and swap their positions to produce offspring. Alternatively, you can randomly select a component and change its orientation to generate offspring. For example, in Figure 2 In, selected The first sequence is mutated by swapping the positions of elements 2 and 3, resulting in the offspring.

[0082]

[0083] 9. Construction of the tropospheric channel network:

[0084] like Figure 3 As shown, components are connected via flow channels to form a flow layer transport network to execute various biochemical reactions. When a biochemical reaction is performed on the chip, samples and reagents need to be directionally transferred between components through the flow channels. This requires first finding a directional path and opening the corresponding valve in the path, then injecting gas pressure from the flow port to drive the reaction. If there is already gas pressure or liquid in the path, it must be purged from the chip first, otherwise the accumulated pressure will damage the chip. Therefore, each flow path is a complete channel path that starts at the input port and ends at the output port. If two flow paths share a channel segment, they cannot perform transport tasks in the same time interval, otherwise a conflict will occur, and the liquids from the two transport operations will contaminate each other, causing the task to fail.

[0085] 10. Structure of the obstacle bypass generation graph:

[0086] This invention constructs a generation graph that treats components as obstacles as a routing graph for subsequent processes. The construction method is as follows: First, starting from the four corner points of the component, the component's input / output ports, and the stream port, lines are drawn in four orthogonal directions. The process ends when a line touches the chip's boundary. Finally, line segments inside the component are deleted. The boundaries of the component and the chip can also be used for routing. Nodes in the graph consist of all the intersections of the lines, and the line segments between nodes form edges. Figure 4The generated obstacle avoidance graph is displayed, with the circled areas representing the starting points for all necessary routing lines. Based on this generated graph, all flow paths required for the scheduling scheme are constructed. Flow paths are selected within the mesh of the generated graph; if a line segment is selected and used by any path, it is retained in the final routing graph, ultimately generating a complete flow path network.

[0087] 11. Flow path planning based on the A* algorithm:

[0088] First, initialize and generate each edge in the graph. weight When the edge is 0 When constructing the flow path for the k-th transportation task, it is placed into a set. We then label all the transportation tasks. Next, we sort them in non-decreasing order based on their start times and use an improved A* algorithm to find a routing path for each task. The A* algorithm is a heuristic pathfinding algorithm. Its advantage lies in its departure from the blind search of traditional pathfinding algorithms. By introducing a heuristic function, it evaluates each edge, making route planning more directional towards the target point, thus improving algorithm efficiency. Simultaneously, based on the ideas of conflict avoidance and path reuse, we introduce a new method for calculating edge weights.

[0089] Before constructing the flow path, we define a set. Specify tasks in the scheduling scheme The corresponding parallel task set is used, and the weight value of each wiring edge is calculated.

[0090] (7)

[0091] in This is a user-defined constant. Through the weight settings in the above formula, when a channel is currently performing a transport task, other concurrent transport tasks that choose this path again will be penalized with a high weight, thus avoiding selecting this channel and preventing conflicts. Conversely, when a path has been used but is now idle, a low weight allows subsequent transport tasks to prioritize this type of channel for path sharing between different tasks, reducing the total length of the flow path. After evaluating the weights of different channels, we use the A* path search algorithm to establish an effective flow path for the task. In this process, the routing cost of the current search edge for the task is comprehensively considered.

[0092]

[0093] in Representing an edge From the source port To the starting point Path length, To start from the finish line To the target port The estimated path length. When using A* pathfinding, prioritize... Edges with smaller values.

Claims

1. A flow path planning method for microfluidic biochips considering the constraint of the number of flow ports, characterized in that... Includes the following steps: Step 1: High-level integrated design phase; A list scheduling algorithm is used to bind and schedule each biochemical reaction operation in sequence according to its priority value; The priority of the operation is calculated based on two factors: critical factor and movement factor. Then, the current operation is bound to a corresponding component, and the execution interval of the operation is determined according to the time window to meet the constraint of the given number of flow ports. Finally, it is determined whether waste liquid needs to be removed to meet the given component volume constraint. Step 2: Component layout design stage; Sequence pairs are used to represent the positional relationship of components, and the positions of components and ports are iteratively calculated according to a genetic algorithm; After each crossover and mutation operation, the fitness value of the offspring individuals will be determined by the estimated wiring distance between components and the conflict of parallel tasks; Individuals with higher fitness values ​​will be retained for the next generation of inheritance; Step 3: Routing phase of flow channels; First, construct an obstacle avoidance generation graph that treats components as obstacles as the routing graph for subsequent processes. Then, based on this generation graph, use the A* algorithm to sequentially plan all flow paths required in the scheduling scheme. Flow paths are selected in the net of the generation graph. If a line segment is selected and used by any path, it is retained in the final routing graph, and finally a complete flow channel network is generated.

2. The microfluidic biochip flow path planning method considering the constraint of the number of flow ports according to claim 1, characterized in that, The priority calculation of operations is specifically as follows: a biochemical reaction is modeled as a directed acyclic sequence diagram. , where each vertex Represents an operation and associates it with a parameter. To represent the corresponding execution time; each edge Define the dependencies between operations; each operation needs to have its own priority value calculated separately. ; Operation priority is calculated based on two factors: critical factor and movement factor We define The maximum weighted path from the current operation to the sink in the sequence graph is represented as: in It is the vertex The set of all paths to the sink. These are the edges in the path, and max(~) is a function that finds the maximum value. Represents the fixed transport time between user-defined components; Parameter It is calculated using the pre-sequence scheduling algorithm and the post-sequence scheduling algorithm; where, and These represent the scheduling times based on ASAP and ALAP, respectively; the larger the difference between them, the more flexible the executable range of this operation; therefore, it is represented as: Then by and The weighted sum is used to determine the operation. priority value for: in and These are two weighting factors, set according to the actual situation; when the maximum weighted path is more important, [the weighting factor will be adjusted accordingly]. Set it to a larger value; however, when more operational flexibility is required, set it to... Set to a larger value; and As values ​​distributed proportionally in the formula, their sum is 1.

3. The microfluidic biochip flow path planning method considering the constraint of the number of flow ports according to claim 1, characterized in that, Time window retrieval method: When executing a transportation task, a time window is used to record the precise execution time period of the transportation task; a time window Represents the transportation task from a certain point in time. Start to time point End, the span of the time window That is, the execution time of the task; define a counter. To record the driver requirements of the stream port within any time period and initialize... Whenever a transport task is performed, a flow port demand is generated during this time period. Increase by 1, and release only after the transport mission is completed. The value before the transport task is performed; however, if the transport operation involves moving fluid from within a component to a flow channel for storage, or moving fluid stored in the flow channel to the next component, then since the fluid does not completely traverse a section of the flow channel, only transporting half the channel length, the transport time should be... .

4. The microfluidic biochip flow path planning method considering the constraint of the number of flow ports according to claim 1, characterized in that, Sequence pair representation: Each sequence pair consists of n elements representing a list of components, c k, 1≤k≤n, where k represents the component number; for each sequence pair, it is converted into the corresponding component layout solution in polynomial time, and the corresponding conversion rules are as follows: c i Let c represent the i-th component. j This represents component j. The sequence pairs yield the corresponding component positional relationships; after obtaining the component positional relationships, the layout positions of the components are further calculated; Based on this positional relationship, we construct two directed acyclic graphs (DAGs) for left-right and up-down positional relationships, respectively, i.e., horizontal constraint graphs. and vertical constraint diagram ; Its structure is as follows: , where nodes Corresponding to a component, It is the source point of the left boundary. It is the sink point of the right boundary; ; Node weight = node The width of the corresponding component i, and , The weight of the edges is 0.

5. The microfluidic biochip flow path planning method considering the constraint of the number of flow ports according to claim 1, characterized in that, A component layout algorithm based on genetic algorithms is proposed. First, a population of N individuals is randomly generated; each individual... Transform into the positions of n components, where These are sequence pairs representing component positions. It is a representation of the direction of each component, i.e. Or rotate A binary vector; for each evolutionary iteration, including the genetic operator of item number, Each parent is selected, recombined, and mutated with a certain probability, and then replaces the parent to become the next generation; the algorithm ends when the fitness value of the best individual no longer changes.

6. The microfluidic biochip flow path planning method considering the constraint of the number of flow ports according to claim 1, characterized in that, Component layout solution quality assessment value calculation: Component layout results The quality assessment is judged by an objective function. in Indicates chip area, It is a port. and Manhattan distance between them It is a wire mesh Connection priority; Connection priority Defined as port and The number of transport tasks is directly proportional to the efficiency of the biochemical reaction; the more transport tasks, the higher the connection priority. If the port... and If a transportation task between two points is executed simultaneously with other transportation tasks, a maximum value will be set to exclude this outcome; therefore, Defined as in, It is the port during scheduling. and The total number of transportation tasks between them It is a port. and The p-th transportation task between Is with The number of transportation tasks with overlapping execution time periods. and It is a weighting factor; if there are time-parallel transportation tasks that cause conflicts, The value will increase, making the value It gets bigger.

7. The microfluidic biochip flow path planning method considering the constraint of the number of flow ports according to claim 1, characterized in that, The crossover operator in genetic algorithms: when two selected parent individuals... and Perform a crossover operation; and The first sequence is set as the primary sequence pair, and the second sequence is set as the secondary sequence pair; the sequence pairs are crossovered and recombinated to form offspring. and During crossover and recombination, a region is first randomly selected as the crossover matching region, and the subsequences in the matching region are placed at the beginning of the offspring; After removing duplicate elements from the subsequence of the matching region in the first sequence, it becomes... Subsequences; The remaining elements are filled in the order of the same elements in the sequence; other child sequences are generated in the same way.

8. The microfluidic biochip flow path planning method considering the constraint of the number of flow ports according to claim 1, characterized in that, Mutation operator in genetic algorithms: Selecting the parent generation Perform the mutation operation; select with equal probability. The first or second sequence is used to randomly select two elements from the sequence and swap their positions to produce offspring. ; Alternatively, a component can be randomly selected to change its direction and generate offspring. .

9. The microfluidic biochip flow path planning method considering the constraint of the number of flow ports according to claim 1, characterized in that, The obstacle avoidance generation diagram is constructed as follows: First, start from the four corner points of the component, the input and output ports of the component, and the flow port, and draw lines in four orthogonal directions. The line ends when it touches the boundary of the chip. Finally, delete the line segments inside the component. The boundaries of components and chips are wired; the nodes of the graph are composed of all the intersections of the lines, and the line segments between the nodes form the edges.

10. The microfluidic biochip flow path planning method considering the constraint of the number of flow ports according to claim 1, characterized in that, Flow path planning based on the A* algorithm: First, initialize and generate each edge in the graph. weight When the edge is 0 When constructing the flow path for the q-th transportation task, it is placed into a set. The task is marked; based on the start time of all transportation tasks, they are sorted in non-decreasing order, and an improved A* algorithm is used to find a wiring path for each transportation task; the A* algorithm is a heuristic path exploration algorithm that introduces a new edge weight calculation method based on the idea of ​​avoiding conflicts and reusing paths. Before constructing the flow path, define a set. Specify tasks in the scheduling scheme The corresponding parallel task set is used, and the weight value of each wiring edge is calculated. in This is a user-defined constant. Through the weight settings in the above formula, when a channel is performing a transportation task, other concurrent transportation tasks that choose this path again will be penalized with a high weight. Conversely, when a path has been used but is now idle, a low weight allows subsequent transportation tasks to prioritize this type of channel for path sharing between different tasks. After evaluating the weights of different channels, the A* path search algorithm is used to establish an effective flow path for the task. During this process, the routing cost of the current search edge for the task is comprehensively considered. in Representing an edge From the source port To the starting point Path length, To start from the finish line To the target port The estimated path length; when using A* pathfinding, prioritize the selection of... Edges with smaller values.