18 research outputs found

    How many matchings cover the nodes of a graph?

    Full text link
    Given an undirected graph, are there kk matchings whose union covers all of its nodes, that is, a matching-kk-cover? A first, easy polynomial solution from matroid union is possible, as already observed by Wang, Song and Yuan (Mathematical Programming, 2014). However, it was not satisfactory neither from the algorithmic viewpoint nor for proving graphic theorems, since the corresponding matroid ignores the edges of the graph. We prove here, simply and algorithmically: all nodes of a graph can be covered with k≄2k\ge 2 matchings if and only if for every stable set SS we have ∣SâˆŁâ‰€k⋅∣N(S)∣|S|\le k\cdot|N(S)|. When k=1k=1, an exception occurs: this condition is not enough to guarantee the existence of a matching-11-cover, that is, the existence of a perfect matching, in this case Tutte's famous matching theorem (J. London Math. Soc., 1947) provides the right `good' characterization. The condition above then guarantees only that a perfect 22-matching exists, as known from another theorem of Tutte (Proc. Amer. Math. Soc., 1953). Some results are then deduced as consequences with surprisingly simple proofs, using only the level of difficulty of bipartite matchings. We give some generalizations, as well as a solution for minimization if the edge-weights are non-negative, while the edge-cardinality maximization of matching-22-covers turns out to be already NP-hard. We have arrived at this problem as the line graph special case of a model arising for manufacturing integrated circuits with the technology called `Directed Self Assembly'.Comment: 10 page

    DSA-aware multiple patterning for the manufacturing of vias: Connections to graph coloring problems, IP formulations, and numerical experiments

    Full text link
    In this paper, we investigate the manufacturing of vias in integrated circuits with a new technology combining lithography and Directed Self Assembly (DSA). Optimizing the production time and costs in this new process entails minimizing the number of lithography steps, which constitutes a generalization of graph coloring. We develop integer programming formulations for several variants of interest in the industry, and then study the computational performance of our formulations on true industrial instances. We show that the best integer programming formulation achieves good computational performance, and indicate potential directions to further speed-up computational time and develop exact approaches feasible for production

    Design of exact solutions for the manufacturing of "vias" using DSA technology

    No full text
    Maitriser les coĂ»ts de fabrication des circuits intĂ©grĂ©s tout en augmentant leur densitĂ© est d'une importance primordiale pour maintenir une certaine rentabilitĂ© dans l’industrie du semi-conducteur. Parmi les diffĂ©rents composants d’un circuit, nous nous intĂ©ressons aux connections verticales et mĂ©talliques, connues sous le nom de « vias ». Durant la fabrication, un processus de lithographie complexe est utilisĂ© pour former une disposition de vias est formĂ©e sur une plaque de silicium, Ă  l’aide d’un un masque optique. Pour des raisons de fabrication, une distance minimum entre les vias doit ĂȘtre respectĂ©e. Lorsque cette distance n’est pas respectĂ©e, nous parlons de « conflit ». Afin de supprimer ces conflits, l’industrie utilise une technique qui permet de dĂ©composer une disposition de vias cible en plusieurs sous-ensembles, oĂč les contraintes de distance minimum sont respectĂ©es : la formation des sous-ensembles individuels se fait en sĂ©quence sur la plaque de silicium en utilisant un masque optique par sous-ensemble. Cette technique est appelĂ©e Multiple Patterning (MP). Il y a de nombreuses façons de dĂ©composer une disposition de vias et le but est d’assigner les vias Ă  un nombre minimum de masques, car les masques sont coĂ»teux. Minimiser le nombre de masques est Ă©quivalent Ă  minimiser le nombre de couleurs dans un graphe disque unitaire. Ce problĂšme est NP-difficile, mais un certain nombre de « bonnes » heuristiques existent. Une technique rĂ©cente et prometteuse basĂ©e sur l’auto-assemblage et direction des molĂ©cules, aussi connue sous le nom Directed Self Assembly (DSA), permet de grouper les vias en conflits Ă  condition de respecter certaines contraintes. L’objectif est de trouver la meilleure façon de grouper les vias afin de minimiser le nombre de masques tout en respectant les contraintes liĂ©es Ă  DSA. Ce problĂšme est un problĂšme de coloration de graphes oĂč les sommets de chaque couleurs dĂ©finissent un ensemble de chemins « indĂ©pendants » de longueurs au plus k que nous appelons aussi le problĂšme de coloration par k-chemins. Durant la modĂ©lisation, nous avons distinguĂ© deux problĂšmes de coloration par k-chemins pertinents: le problĂšme gĂ©nĂ©ral et le problĂšme induit. Les deux problĂšmes sont connus pour ĂȘtre NP-difficile, ce qui explique l’utilisation d’heuristiques dans l’industrie pour trouver une dĂ©composition valide en sous-ensembles. Dans cette Ă©tude, nous nous intĂ©ressons Ă  des mĂ©thodes exactes afin de concevoir des solutions optimales et d’évaluer la qualitĂ© de l’heuristique dĂ©veloppĂ©e en industrie (chez Mentor Graphics). Nous prĂ©sentons diffĂ©rentes mĂ©thodes: une approche par programmation linĂ©aire en nombre entier (ILP) oĂč nous Ă©tudions plusieurs formulations, une approche par programmation dynamique pour rĂ©soudre le cas induit quand k=1 ou k=2 et lorsque les graphes ont une petite longueur arborescente ; enfin, nous Ă©tudions le cas particulier des graphes lignes. Les rĂ©sultats des diffĂ©rentes Ă©tudes numĂ©riques montrent que les formulations ILP « naĂŻves » sont les meilleures. Elles listent tous les chemins possibles de longueur au plus k. Les tests sur des donnĂ©es industrielles ayant au plus 2000 sommets (plus grande composante connexe parmi celles qui constituent une instance) ont montrĂ© que les deux problĂšmes, gĂ©nĂ©ral et induit, sont rĂ©solus en moins de 6 secondes, pour k=1 et k=2. La programmation dynamique, appliquĂ©e au problĂšme induit de coloration par k-chemins quand k=1 et k=2, montre des rĂ©sultats Ă©quivalents Ă  ceux de la formulation ILP naĂŻve. Cependant, nous nous attendons Ă  de meilleurs rĂ©sultats par programmation dynamique quand la valeur de k augmente. Enfin, nous montrons qu’un cas particuliers des graphes lignes peut ĂȘtre rĂ©solu en temps polynomial en exploitant les propriĂ©tĂ©s de l’algorithme d'Edmonds et des couplages dans les graphes bipartis.Controlling the manufacturing costs of integrated circuits while increasing their density is of a paramount importance to maintain a certain degree of profitability in the semi-conductor industry. Among various components of a circuit, we are interested in vertical metallic connections known as “vias”. During manufacturing, a complex lithography process is used to form an arrangement of vias on a silicon wafer support, using an optical mask. For manufacturing reasons, a minimum distance between the vias must be respected. Whenever this is not the case, we are talking about a “conflict”. In order to eliminate these conflicts, the industry uses a technique that decomposes an arrangement of vias in several subsets, where minimum distance constraints are respected: the formation of the individual subsets is done, in sequence, on a silicon wafer using one optical mask per subset. This technique is called Multiple Patterning (MP). There are several ways to decompose an arrangement of vias, the goal being to assign the vias to a minimum number of masks, since the masks are expensive. Minimizing the number of masks is equivalent to minimizing the number of colors in a unit disk graph. This is a NP-hard problem however, a number of “good” heuristics exist. A recent and promising technique is based on the direction and self-assembly of the molecules called Directed Self Assembly (DSA), allows to group vias in conflict according to certain conditions. The main challenge is to find the best way of grouping vias to minimize the number of masks while respecting the constraints related to DSA. This problem is a graph coloring problem where the vertices within each color define a set of independent paths of length at most k also called a k-path coloring problem. During the graph modeling, we distinguished two k-path coloring problems: a general problem and an induced problem. Both problems are known to be NP-hard, which explains the use of heuristics in the industry to find a valid decomposition into subsets. In this study, we are interested in exact methods to design optimal solutions and evaluate the quality of heuristics developed in the industry (at Mentor Graphics). We present different methods: an integer linear programming (ILP) approach where we study several formulations, a dynamic programming approach to solve the induced case when k=1 or k=2 and when the graphs have small tree-width; finally, we study a particular case of line graphs. The results of the various numerical studies show that the naĂŻve ILP formulations are the best, they list all possible paths of length at most k. Tests on a snippet of industrial instances of at most 2000 vertices (a largest connected component among those constituting an instance) have shown that the two problems, general and induced, are solved in less than 6 seconds, for k=1 and k=2. Dynamic programming, applied to the induced k-path coloring when k=1 and k=2, shows results equivalent to those of the naĂŻve ILP formulation, but we expect better results by dynamic programming when the value of k increases. Finally, we show that the particular case of line graphs can be solved in polynomial time by exploiting the properties of Edmonds’ algorithm and bipartite matching

    Conception de solutions exactes pour la fabrication de "vias" en utilisant la technologie DSA

    Get PDF
    Controlling the manufacturing costs of integrated circuits while increasing their density is of a paramount importance to maintain a certain degree of profitability in the semi-conductor industry. Among various components of a circuit, we are interested in vertical metallic connections known as “vias”. During manufacturing, a complex lithography process is used to form an arrangement of vias on a silicon wafer support, using an optical mask. For manufacturing reasons, a minimum distance between the vias must be respected. Whenever this is not the case, we are talking about a “conflict”. In order to eliminate these conflicts, the industry uses a technique that decomposes an arrangement of vias in several subsets, where minimum distance constraints are respected: the formation of the individual subsets is done, in sequence, on a silicon wafer using one optical mask per subset. This technique is called Multiple Patterning (MP). There are several ways to decompose an arrangement of vias, the goal being to assign the vias to a minimum number of masks, since the masks are expensive. Minimizing the number of masks is equivalent to minimizing the number of colors in a unit disk graph. This is a NP-hard problem however, a number of “good” heuristics exist. A recent and promising technique is based on the direction and self-assembly of the molecules called Directed Self Assembly (DSA), allows to group vias in conflict according to certain conditions. The main challenge is to find the best way of grouping vias to minimize the number of masks while respecting the constraints related to DSA. This problem is a graph coloring problem where the vertices within each color define a set of independent paths of length at most k also called a k-path coloring problem. During the graph modeling, we distinguished two k-path coloring problems: a general problem and an induced problem. Both problems are known to be NP-hard, which explains the use of heuristics in the industry to find a valid decomposition into subsets. In this study, we are interested in exact methods to design optimal solutions and evaluate the quality of heuristics developed in the industry (at Mentor Graphics). We present different methods: an integer linear programming (ILP) approach where we study several formulations, a dynamic programming approach to solve the induced case when k=1 or k=2 and when the graphs have small tree-width; finally, we study a particular case of line graphs. The results of the various numerical studies show that the naĂŻve ILP formulations are the best, they list all possible paths of length at most k. Tests on a snippet of industrial instances of at most 2000 vertices (a largest connected component among those constituting an instance) have shown that the two problems, general and induced, are solved in less than 6 seconds, for k=1 and k=2. Dynamic programming, applied to the induced k-path coloring when k=1 and k=2, shows results equivalent to those of the naĂŻve ILP formulation, but we expect better results by dynamic programming when the value of k increases. Finally, we show that the particular case of line graphs can be solved in polynomial time by exploiting the properties of Edmonds’ algorithm and bipartite matching.Maitriser les coĂ»ts de fabrication des circuits intĂ©grĂ©s tout en augmentant leur densitĂ© est d'une importance primordiale pour maintenir une certaine rentabilitĂ© dans l’industrie du semi-conducteur. Parmi les diffĂ©rents composants d’un circuit, nous nous intĂ©ressons aux connections verticales et mĂ©talliques, connues sous le nom de « vias ». Durant la fabrication, un processus de lithographie complexe est utilisĂ© pour former une disposition de vias est formĂ©e sur une plaque de silicium, Ă  l’aide d’un un masque optique. Pour des raisons de fabrication, une distance minimum entre les vias doit ĂȘtre respectĂ©e. Lorsque cette distance n’est pas respectĂ©e, nous parlons de « conflit ». Afin de supprimer ces conflits, l’industrie utilise une technique qui permet de dĂ©composer une disposition de vias cible en plusieurs sous-ensembles, oĂč les contraintes de distance minimum sont respectĂ©es : la formation des sous-ensembles individuels se fait en sĂ©quence sur la plaque de silicium en utilisant un masque optique par sous-ensemble. Cette technique est appelĂ©e Multiple Patterning (MP). Il y a de nombreuses façons de dĂ©composer une disposition de vias et le but est d’assigner les vias Ă  un nombre minimum de masques, car les masques sont coĂ»teux. Minimiser le nombre de masques est Ă©quivalent Ă  minimiser le nombre de couleurs dans un graphe disque unitaire. Ce problĂšme est NP-difficile, mais un certain nombre de « bonnes » heuristiques existent. Une technique rĂ©cente et prometteuse basĂ©e sur l’auto-assemblage et direction des molĂ©cules, aussi connue sous le nom Directed Self Assembly (DSA), permet de grouper les vias en conflits Ă  condition de respecter certaines contraintes. L’objectif est de trouver la meilleure façon de grouper les vias afin de minimiser le nombre de masques tout en respectant les contraintes liĂ©es Ă  DSA. Ce problĂšme est un problĂšme de coloration de graphes oĂč les sommets de chaque couleurs dĂ©finissent un ensemble de chemins « indĂ©pendants » de longueurs au plus k que nous appelons aussi le problĂšme de coloration par k-chemins. Durant la modĂ©lisation, nous avons distinguĂ© deux problĂšmes de coloration par k-chemins pertinents: le problĂšme gĂ©nĂ©ral et le problĂšme induit. Les deux problĂšmes sont connus pour ĂȘtre NP-difficile, ce qui explique l’utilisation d’heuristiques dans l’industrie pour trouver une dĂ©composition valide en sous-ensembles. Dans cette Ă©tude, nous nous intĂ©ressons Ă  des mĂ©thodes exactes afin de concevoir des solutions optimales et d’évaluer la qualitĂ© de l’heuristique dĂ©veloppĂ©e en industrie (chez Mentor Graphics). Nous prĂ©sentons diffĂ©rentes mĂ©thodes: une approche par programmation linĂ©aire en nombre entier (ILP) oĂč nous Ă©tudions plusieurs formulations, une approche par programmation dynamique pour rĂ©soudre le cas induit quand k=1 ou k=2 et lorsque les graphes ont une petite longueur arborescente ; enfin, nous Ă©tudions le cas particulier des graphes lignes. Les rĂ©sultats des diffĂ©rentes Ă©tudes numĂ©riques montrent que les formulations ILP « naĂŻves » sont les meilleures. Elles listent tous les chemins possibles de longueur au plus k. Les tests sur des donnĂ©es industrielles ayant au plus 2000 sommets (plus grande composante connexe parmi celles qui constituent une instance) ont montrĂ© que les deux problĂšmes, gĂ©nĂ©ral et induit, sont rĂ©solus en moins de 6 secondes, pour k=1 et k=2. La programmation dynamique, appliquĂ©e au problĂšme induit de coloration par k-chemins quand k=1 et k=2, montre des rĂ©sultats Ă©quivalents Ă  ceux de la formulation ILP naĂŻve. Cependant, nous nous attendons Ă  de meilleurs rĂ©sultats par programmation dynamique quand la valeur de k augmente. Enfin, nous montrons qu’un cas particuliers des graphes lignes peut ĂȘtre rĂ©solu en temps polynomial en exploitant les propriĂ©tĂ©s de l’algorithme d'Edmonds et des couplages dans les graphes bipartis

    How many matchings cover the nodes of a graph?

    No full text
    10 pagesGiven an undirected graph, are there kk matchings whose union covers all of its nodes, that is, a matching-kk-cover? A first, easy polynomial solution from matroid union is possible, as already observed by Wang, Song and Yuan (Mathematical Programming, 2014). However, it was not satisfactory neither from the algorithmic viewpoint nor for proving graphic theorems, since the corresponding matroid ignores the edges of the graph. We prove here, simply and algorithmically: all nodes of a graph can be covered with k≄2k\ge 2 matchings if and only if for every stable set SS we have ∣SâˆŁâ‰€k⋅∣N(S)∣|S|\le k\cdot|N(S)|. When k=1k=1, an exception occurs: this condition is not enough to guarantee the existence of a matching-11-cover, that is, the existence of a perfect matching, in this case Tutte's famous matching theorem (J. London Math. Soc., 1947) provides the right `good' characterization. The condition above then guarantees only that a perfect 22-matching exists, as known from another theorem of Tutte (Proc. Amer. Math. Soc., 1953). Some results are then deduced as consequences with surprisingly simple proofs, using only the level of difficulty of bipartite matchings. We give some generalizations, as well as a solution for minimization if the edge-weights are non-negative, while the edge-cardinality maximization of matching-22-covers turns out to be already NP-hard. We have arrived at this problem as the line graph special case of a model arising for manufacturing integrated circuits with the technology called `Directed Self Assembly'

    The kk-path coloring problem in graphs with bounded treewidth: an application in integrated circuit manufacturing

    No full text
    In this paper, we investigate the kk-path coloring problem, a variant of vertex coloring arising in the context of integrated circuit manufacturing. In this setting, typical industrial instances exhibit a `tree-like' structure. We exploit this property to design an efficient algorithm for our industrial problem: (i) on the methodological side, we show that the kk-path coloring problem can be solved in polynomial time on graphs with bounded treewidth and we devise a simple polytime dynamic programming algorithm in this case (not relying on Courcelle's celebrated theorem); and (ii) on the empirical side, we provide computational evidences that the corresponding algorithm could be suitable for practice, by testing our algorithm on true instances obtained from an on-going collaboration with Mentor Graphics. We finally compare this approach with integer programming on some pseudo-industrial instances. It suggests that dynamic programming cannot compete with integer programming when the tree-width is greater than three. While all our industrial instances exhibit such a small tree-width, this is not for granted that all future instances will also do, and this tend to advocate for integer programming approaches

    The kk-path coloring problem in graphs with bounded treewidth: an application in integrated circuit manufacturing

    No full text
    In this paper, we investigate the kk-path coloring problem, a variant of vertex coloring arising in the context of integrated circuit manufacturing. In this setting, typical industrial instances exhibit a `tree-like' structure. We exploit this property to design an efficient algorithm for our industrial problem: (i) on the methodological side, we show that the kk-path coloring problem can be solved in polynomial time on graphs with bounded treewidth and we devise a simple polytime dynamic programming algorithm in this case (not relying on Courcelle's celebrated theorem); and (ii) on the empirical side, we provide computational evidences that the corresponding algorithm could be suitable for practice, by testing our algorithm on true instances obtained from an on-going collaboration with Mentor Graphics. We finally compare this approach with integer programming on some pseudo-industrial instances. It suggests that dynamic programming cannot compete with integer programming when the tree-width is greater than three. While all our industrial instances exhibit such a small tree-width, this is not for granted that all future instances will also do, and this tend to advocate for integer programming approaches
    corecore