Two applications of linear programming to chemistry: Finding the Clar number and the Fries number of a benzenoid in polynomial time using a LP. The desired solutions are integer but it has been proven that the basic feasible solutions are all integral so integer programming tactics are not required.
Matching: collection of disjoint edges. Benzenoid hexagon: hexagon with 3 matching edges. Fries number: maximum over all perfect matchings of the number of benzenoid hexagons. 2
Proof that the solutions to the LP are author = {Hernan G. Abeledo and Gary W. Atkinson}, title = {Polyhedral Combinatorics of Benzenoid Problems}, journal = {Lect. Notes Comput. Sci}, year = {1998}, volume = {1412}, pages = { } }
One variables x e for each edge e. Two variables per hexagon. All variables are constrained to be between 0 and 1. y 1 = 1 pink hex. is benzenoid because of red edges. y 2 = 1 pink hex. is benzenoid because of blue edges. y 3 = 1 aqua hex. is benzenoid because of red edges. y 4 = 1 aqua hex. is benzenoid because of blue edges. Maximize y 1 + y 2 + y 3 + y 4
To get a perfect matching: For each vertex, the number of edges incident sums to 1: x 1 + x 2 = 1 x 2 + x 3 = 1 x 3 + x 4 + x 11 = 1 …
To ensure benzenoid hexagons: Red edges of pink: x 1 - y 1 ≥ 0 x 3 - y 1 ≥ 0 x 9 - y 1 ≥ 0 Blue edges of pink: x 2 - y 2 ≥ 0 x 10 - y 2 ≥ 0 x 11 - y 2 ≥ 0 Red edges of aqua: x 4 - y 3 ≥ 0 x 6 - y 3 ≥ 0 x 8 - y 3 ≥ 0 Blue edges of aqua: x 5 - y 4 ≥ 0 x 7 - y 4 ≥ 0 x 11 - y 4 ≥ 0
Clar number: maximum over all perfect matchings of the number of independent benzenoid hexagons. 8
LP for the Clar number: The LH edge of each hexagon is its canonical edge.
The corresponding matching is the canonical matching for the hexagon.
If a hexagon is Clar, assume it realizes its canonical matching.
Two variables x e, z e for each edge e. One variable y h for each hexagon h. All variables are constrained to be between 0 and 1. z e = 1 if e is a perfect matching edge. x e = 1 if e is a matching edge not in a benzenoid hexagon. y h = 1 if h is an independent benzenoid hexagon and 0 otherwise.
Maximize y 1 + y 2 To get a perfect matching: For each vertex, the number of edges incident sums to 1: z 1 + z 2 = 1 z 2 + z 3 = 1 z 3 + z 4 + z 11 = 1 …
To get the independent benzenoid hexagons: For the pink hexagon: x 1 + y 1 –z 1 = 0 x 2 –z 2 = 0 x 3 + y 1 – z 3 = 0 x 11 - z 11 = 0 x 9 + y 1 –z 9 = 0 x 10 –z 10 = 0 If y 1 =1, y 2 =0 since x 11 + y 2 – z 11 = 0 If y 1 = 1 then z 1 = z 3 = z 9 = 1 ⟹ z 2 = z 11 = z 10 = 0
17
It’s possible to find the Fries number and the Clar number using linear programming. This is an example of a problem that is an integer programming problem where the integer solution magically appears when solving the linear programming problem.
19 “The CKC algorithm”
20 The CKC algorithm G molecular graph A(G) adjacency matrix a ij = 1 for edges (i,j) of G = 0 otherwise
21 The CKC algorithm: Hadamard Product: B = C D b ij =c ij d ij Form the iterated Hadamard * product P k+1 = P k (P k ) -1 starting from the adjacency matrix P 0 = A
22 Equally weighted combination of two maximum-Fries perfect matchings
23 Converged P Graph Problem 1: Exponential choice of matchings: 2 h Bad choiceGood choice h = 7
24 Converged P Graph Problem 1: Exponential choice of matchings: 2 h Bad choiceGood choice h = 7
25 Examples with only 2 good choices from 2 h 2 out of 2 2 out of 4 2 out of 8 2 out of 16 …
26 Smallest counterexamples to CKC : 7 hexagons Problem 2: Underestimation of the Fries number CKC F = 5 Best F = 6
27 In the starred hexagon: CKC chooses 12 16 16 F = 5 Fries chooses 12 15 15 F = 6
28 Two perfect matchings of maximum weight: 14 18 18 CKC is choosing the wrong one