160 likes | 178 Views
This presentation explores a method for handling inconsistent integer inequalities with contradictory equations, bounds, and Gomory cuts. The process involves manipulating expressions and generating models for unsatisfiable equations.
E N D
YAI for Linear Equalities and Inequalities over Integers Christopher Lynch and Yuefeng Tang Department of Mathematics and Computer Science Clarkson University Presenter: Jen-Chi Lin
Abstract • Given two inconsistent sets of integer inequalities A and B, an formula I can be computed from - 1. A contradictory equation - 2. Bounds - 3. Gomory cuts. • I satisfies only the first two conditions of interpolant: - 1. A implies I - 2. I and B are also inconsistent
Preliminaries (II) • Atom : a single variable • Term : a constant or an atom or cx where c is a constant and x is a variable • Expression : a summation of terms • Active bound : Let axbe a term in the expression t K : a minimal set of bounds
Quick overview for DPLL Success updating No All bounds are asserted? Yes Bound violation? Assert a bound Pivot and Update Start Fail Yes No UNSAT Generate a model UNSAT equation
YAI for Linear Equalities and Inequalities over Integers • Note : The method is incomplete since the based linear arithmetic solver is incomplete.
YAI for Linear Equalities and Inequalities over Integers • Ex: { 0 0 0 0 } { 0 0 0 0 } s1=0, y≧0, y≦1 initialize z =1 { -1 0 0 1 } Contradict to s1=0
YAI for Linear Equalities and Inequalities over Integers { -1 0 0 1 } { 0 1/5 0 1 } Swap s1 and x All bounds are asserted! Since the assignment of x is rational, which can be derived from 5x = y+z+s1 with y ≥ 0, z ≥ 1 and s1 = 0, a Gomory cut y+z ≥ 5 is generated from that equation with its bounds. Flattened again : { s1 = 5x – y - z, s2 = y + z } with bounds { s1 = 0, s2 ≥ 5, y ≥ 0, y ≤ 1, z ≥ 1, z ≤ 2 } cut_info(s2) = { z = 1 }
YAI for Linear Equalities and Inequalities over Integers initialize s1 s2 x y z Contradict to s2 ≥ 5 { 0 0 0 0 0 } Swap s2 and y : y = s2 - z s1 s2 x y z Contradict to s1 = 0 { -5 5 0 5 0 } Swap s1 and x : 5x = s1+y+z Contradict to y ≤ 1 s1 s2 x y z s1 s2 x y z { 0 5 1 5 0 } { 0 5 1 1 4 } Swap y and z : z = s2-y Contradict to y ≤ 1
YAI for Linear Equalities and Inequalities over Integers Contradict to y ≤ 1 s1 s2 x y z { 0 5 1 1 4 } To decrease z (where z = s2-y), it needs to decrease s2 or increase y. Since s2 has reached its minimum and y has reached to its maximum, it’s impossible to make z < 4. i.e. z = s2-y is an UNSAT Equation with z ≤ 2, y ≤ 1, s2 ≥ 5
YAI for Linear Equalities and Inequalities over Integers • Observation