Basic Algorithms for Periodic-Linear Inequalities and Integer Polyhedra

Size: px
Start display at page:

Download "Basic Algorithms for Periodic-Linear Inequalities and Integer Polyhedra"

Transcription

1 Basic Algorithms for Periodic-Linear Inequalities and Integer Polyhedra Alain Ketterlin / Camus IMPACT 2018: January, 23, 2018

2 Motivation Periodic-Linear Inequalities The Omicron Test Decomposition

3 Motivation / Polyhedra and Integers 1 Omega s nightmare 3 11x + 13y x 9y 6 LS(N) 2 3y x 5 1 N 2y x 1

4 Motivation / Polyhedra and Integers 1 Omega s nightmare 3 11x + 13y x 9y 6 LS(N) 2 3y x 5 1 N 2y x 1 empty (no integer points) non-empty rational projections holes fuzzy vertices periodic y-span

5 Motivation / Incomplete Variable Elimination 2 O Omega s nightmare 11x y 11x x 6 9y 7x + 8 Fourier-Motzkin variable elimination (of y) 9 ( 11x + 3) 13 (7x + 8) 13 (7x 6) 9 ( 11x + 21) x 267

6 Motivation / Incomplete Variable Elimination 2 O Omega s nightmare 11x y 11x x 6 9y 7x + 8 Fourier-Motzkin variable elimination (of y) 9 ( 11x + 3) 13 (7x + 8) 13 (7x 6) 9 ( 11x + 21) x 267 What went wrong? Loose bounds... A tight bound would be: 9y 7x + 8 (7x + 8) mod 9 Combinations accumulate and amplify the slack 77 + [ 9(12 (2 11x) mod 13) + 13((7x + 8) mod 9) ] 190x } {{ } up to = 212

7 Motivation / Imprecise Bound Comparisons 3? LS(N) x + 2 3y x + 5 x + 1 N 2y x + 1 for 1 <= x <= 3N+7 for max( x+2 x+1 N 3, 2 ) <= y <= min( x+5 x+1 3, 2 ) exec S(x,y)

8 Motivation / Imprecise Bound Comparisons 3? LS(N) x + 2 3y x + 5 x + 1 N 2y x + 1 Which (upper) bound is effective where? 3y = x y = x

9 Motivation / Imprecise Bound Comparisons 3? LS(N) x + 2 3y x + 5 x + 1 N 2y x + 1 Which (upper) bound is effective where? 4 2y = x

10 Motivation / Imprecise Bound Comparisons 3? LS(N) x + 2 3y x + 5 x + 1 N 2y x + 1 Which (upper) bound is effective where? 3y = x

11 Motivation / Imprecise Bound Comparisons 3? LS(N) x + 2 3y x + 5 x + 1 N 2y x + 1 Which (upper) bound is effective where? 3y = x y = x < < < = < = = = = > = > > >

12 Motivation / Imprecise Bound Comparisons 3? LS(N) x + 2 3y x + 5 x + 1 N 2y x + 1 Which (upper) bound is effective where? 3y = x y = x (x + 1 (x + 1) mod 2) 2 (x + 5 (x + 5) mod 3)

13 Motivation / What Problem are we Trying to Solve? 4 1. Tightening bounds find a workable modulo representation define precise combinations 2. The Omicron Test Fourier-Motzkin-like decision procedure correct and complete 3. Polyhedron Decomposition via affine unswitching applications: transformation, projection, optimization Strategy Be Radically Integral no or, no inexact division no loose bound! Focus on Representation, not on Algorithms find a set of elementary operations algorithms should simply repeat while possible

14 Motivation Periodic-Linear Inequalities The Omicron Test Decomposition

15 Periodic-Linear Inequalities / Periodic Numbers 5 A periodic number is a collection of numbers indexed by the congruence class of an expression: v0, v 1,..., v π 1 π x = v 0 v 1. v π 1 if x 0 mod π if x 1 mod π Essentially a notation, with useful operations: Rotation Division Distribution Separation v 0, v 1,... π x+1 = v 1,..., v 0 π x if x (π 1) mod π v 0,... π cx = i..., v (ci mod π ),... π / gcd(π,c) x v 0,... α w 0,...,w β 1 β x = i..., v 0,... α w i,... β v 0,..., v α 1 α x+y = i..., v 0,..., v α 1 α i+y,... α x x

16 Periodic-Linear Inequalities / Modulos 6 Modulos: for any expression X X mod π = 0, 1,..., π 1 X π The maximal multiple of π less than or equal to X X X mod π = X 0, 1,..., π 1 X π Tightened linear bounds have: a sharp linear part a periodic correction 9y 7x + 8 (7x + 8) mod 9 7x + 8 0,..., 8 9 7x+8 7x + 8 8, 6, 4, 2, 0, 7, 5, 3, 1 9 x Works for any number of variables: 9y = 7x + 8 v 0, v 1, v 2 3 2x+6y+5z 1 = v2, v 1, v 0 3 x 1 y, v 1, v 0, v 2 3 x 1 y, v 0, v 2, v 1 3 x 1 y 3 z

17 Periodic-Linear Inequalities / Normal Forms 7 Periodic-linear expressions (PLEs) in normal form over [x 1,..., x n ]: n a i x i +, i=1 π 1 x 1 π πn n 1, x n 1 x n or in simplified normal form a n x n +, a n 1 x n 1 + π n 1 x n 1, π n x n If X and Y are PLEs, n an integer, then: nx, (X + Y ), (X mod π ), X[Y/x k ] are all PLEs Periodic-linear inequalities are PLEs compared to zero: a n x n + X 0,... π n x n 0 with X 0,... PLEs over [x 1,..., x n 1 ]

18 Periodic-Linear Inequalities / Linearity and Periodicity 8 LS(N) over [N, x, y] with tightened inequalities: x + 3, 2, 4 x 3y x + 3, 5, 4 x x N + 2, 1 N, 1, 2 N x 2y x + 0, 1 x and over [N, x] after combination 2, 1 N, 0, 1 N x N 0 0 3, 0, 3 x 0, 3 N, 7, 4 6, 1, 8, 3, 4, 5 x x x 3N + N, 2, 5 N, 3, 0 N, 4, 7 N, 5, 2 N Categories: linear : 3y 1 x + 3, 5, 4 x y periodic : 2, 1 N, 0, 1 N x N 0x mixed : 6, 1, 8, 3, 4, 5 x x 6 x

19 Periodic-Linear Inequalities / Tightening 9 Given a (potentially loose) periodic-linear inequality over [..., x n ]: a n x n X 0,... π n x n or X 0,... π n x n a n x n the following inequality is an equivalent tight bound a n x n i..., X i 0, 1,..., a n π n 1 a n π πn n,... X i ia n x n the rhs is a multiple of a n for all phases of x n modulo π n (and all phases of the other variables)

20 Periodic-Linear Inequalities / Periodicity and Disjunction 10 Mixed tight bounds are fuzzy x + 3, 2, 4 x 3y 6, 1, 8, 3, 4, 5 x x 2y x + 0, 1 x Disjoin turns a mixed bound into a disjunction of linear bounds: it computes a major bound plus outliers 6, 1, 8, 3, 4, 5 x x (x = 1) (3 x) 6 0, 3 N, 7, 4 x 3N + N, 2, 5 N, (x 3N + 5) (x = 3N + 7) 3, 0 N, 4, 7 N, 5, 2 N x Omega s nightmare (left corner) 11x x 13y 9y 7x x 117, 73, 29, 15,..., 29, x 190x 117, 1, 2, 3,..., 115, x x 1 x O 1 117

21 Motivation Periodic-Linear Inequalities The Omicron Test Decomposition

22 The Omicron Test / Correct and Complete Decision 11 Fourier-Motzkin elimination on Q relies on an equivalence: f l (x 1,..., x n 1 ) ax n bx n f u (x 1,..., x n 1 ) Z, Q Q b f l (x 1,..., x n 1 ) a f u (x 1,..., x n 1 ) Restoring completeness on Z by tightening loose bounds tight bounds combination (4 3x) L ax bx U (3x 5) (6 3x) L ax bx U (3x 3) bl au (6 3) keep bounds tight at all times

23 The Omicron Test / Inequality Maintenance 12 Combining mixed bounds may not eliminate the variable 0, 3 N, 7, 4 6, 1, 8, 3, 4, 5 x x x 3N + N, 2, 5 N, 3, 0 N, 4, 7 N, 5, 2 N 6 2, 1 N, 2, 1 N, 2, 1 N, N 0, 1 N, 0, 1 N, 0, 1 N x apply Disjoin, and fork the system (if needed) There is no way to combine periodic bounds { 2, 1 N, 0, 1 N 2 x = 2x x N + 0 2, 1 N N x = 2x + 1 0, 1 N N splinter the system and change variables 6 x

24 The Omicron Test / On Omega s Nightmare x 13y 21 11x 7x 6 9y 7x + 8 tighten+combine 117, 73, 29,..., x 190x 190x 117, 73, , x? tighten+disjoin 1 x 0 combine false

25 The Omicron Test / On Omega s Nightmare x 13y 21 11x 7x 6 9y 7x + 8 tighten+combine 117, 73, 29,..., x 190x 190x 117, 73, , x? tighten+disjoin alternative: splintering by x 0 combine x 117 tighten+combine false false (115 more) x tighten+combine false

26 The Omicron Test / Projection? 14 On Q, Fourier-Motzkin Elimination can be used for projection Omicron can as well, but produces a disjoint union. x + 2 3y x + 5 x N + 1 2y x + 1 (x even) (x odd) 4 2x + 0 3N + 4, 7 N 1 N 1 2x + 1 3N + 7, 4 N 0 N A decomposition is a partition of a polyhedron such that, in each part: each variable has a contiguous non-empty range with elementary bounds (no min / max)

27 Motivation Periodic-Linear Inequalities The Omicron Test Decomposition

28 Decomposition / Polyhedra and ASTs 15 To keep a collection of (disjoint) polyhedra: an AST if condition then statements [else statements] arbitrary logical combinations all inequalities properly tightened no mixed inequalities (thanks to Disjoin) exec label for/when PLE <= scale counter <= PLE scale used only to keep bounds tight, e.g., statements for 2x + [x:6,4,8] <= 6y <= 3x + [x:0,3]... The AST keeps a layer for each variable. On LS(N), start with when _ <= N <= _ for _ <= x <= _ for _ <= y <= _ if 3y <= x+[x:3,5,4] and... then exec S

29 Decomposition / Affine Unswitching 16 Starting from an inequality and its innermost enclosing loop for/when L sx n U... ax n X... Affine unswitching produces: al if sx < al then [ ] for L sx n U do sx... ax n X... // = false else if sx < au then al for al asx n sx do [ ]... ax n X... // = true sx for s(x + a) asx n au do... ax n X... // = false al else // sx au [ for L sx n U do... ax n X... // = true au ] au ] au ] ] sx

30 Decomposition / Hoisting Inequalities 17 Periodic inequalities need special treatment: X 0, X 1,... π n x n 0 is viewed as X 0 0, X 1 0,... π n x n then individual inner inequalities are hoisted, eventually leaving a periodic boolean: b 0, b 1,... π n x n with b i {true, false} At this point, the for-range on x n is unrolled by a factor π n

31 Decomposition / On LS(N) 18 when N = 0 exec S(1,1); exec S(3,2); exec S(5,3); exec S(7,4) when N = 1 [...] when N = 2 [...] when N = 3 [...] when N = 4 [...] when 5 <= N <= _ exec S(1,1) for 3 <= x <= 8 10 for 2x+[x:6,4,8] <= 6y <= 3x+[x:0,3] exec S(x,y) exec S(9,4) for 4 <= y <= 5 exec S(10,y) for 11 <= x <= 3N-3 for x+[x:3,2,4] <= 3y <= x+[x:3,5,4] exec S(x,y) for N <= y <= N+1 exec S(3N-2,y) exec S(3N-1,N+1) for 3N <= x <= 3N+5 for 3x-3N+[x:[N:6,3],[N:3,6]] <= 6y <= 2x+[x:6,10,8] exec S(x,y) exec S(3N+7,N+4) 25

32 Decomposition / Example 19 (0, 0, 0) 0 i P 0 j i 0 k i j Q = i + j + k Q < P Q = P Q > P (P, P, 0) (P, 0, 0) when P = 0 when Q = 0 exec S(0,0,0) when 1 <= P <= _ when 0 <= Q <= P for Q+[Q:0,1] <= 2i <= 2Q for 0 <= j <= -i+q exec S(i,j,-j-i+Q) when P+1 <= Q <= 2P for Q+[Q:0,1] <= 2i <= 2P for 0 <= j <= -i+q exec S(i,j,-j-i+Q) (P, 0, P)

33 Decomposition / Polyhedral Operations 20 Most polyhedral operations can be implemented by hoisting: image (and pre-image): e.g., skewing a rectangle for _ <= x <= _ for _ <= y <= _ if 0 <= x <= 19 and 0 <= y <= 9 then exec S(x,y)

34 Decomposition / Polyhedral Operations 20 Most polyhedral operations can be implemented by hoisting: image (and pre-image): e.g., skewing a rectangle for _ <= x' <= _ for _ <= y' <= _ for _ <= x <= _ for _ <= y <= _ if 0 <= x <= 19 and 0 <= y <= 9 then if x' = x+y and y' = y then exec S(x',y',x,y)

35 Decomposition / Polyhedral Operations 20 Most polyhedral operations can be implemented by hoisting: image (and pre-image): e.g., skewing a rectangle for _ <= x' <= _ for _ <= y' <= _ for _ <= x <= _ for _ <= y <= _ if 0 <= x <= 19 and 0 <= y <= 9 then if x' = x+y and y' = y then exec S(x',y',x,y) After unswitching: for 0 <= x' <= 9 for 0 <= y' <= x' exec S(x',y',-y'+x',y') for 10 <= x' <= 19 for 0 <= y' <= 9 exec S(x',y',-y'+x',y') for 20 <= x' <= 28 for x' - 19 <= y' <= 9 exec S(x',y',-y'+x',y')

36 Decomposition / Polyhedral Operations 20 Most polyhedral operations can be implemented by hoisting: image (and pre-image): e.g., skewing a rectangle for _ <= x' <= _ for _ <= y' <= _ for _ <= x <= _ for _ <= y <= _ if 0 <= x <= 19 and 0 <= y <= 9 then if x' = x+y and y' = y then exec S(x',y',x,y) After unswitching: for 0 <= x' <= 9 for 0 <= y' <= x' exec S(x',y',-y'+x',y') for 10 <= x' <= 19 for 0 <= y' <= 9 exec S(x',y',-y'+x',y') for 20 <= x' <= 28 for x' - 19 <= y' <= 9 exec S(x',y',-y'+x',y')

37 Decomposition / Polyhedral Operations 20 Most polyhedral operations can be implemented by hoisting: image (and pre-image): e.g., skewing a rectangle for _ <= x' <= _ for _ <= y' <= _ for _ <= x <= _ for _ <= y <= _ if 0 <= x <= 19 and 0 <= y <= 9 then if x' = x+y and y' = y then exec S(x',y',x,y) After unswitching: for 0 <= x' <= 9 for 0 <= y' <= x' exec S(x',y',-y'+x',y') for 10 <= x' <= 19 for 0 <= y' <= 9 exec S(x',y',-y'+x',y') for 20 <= x' <= 28 for x' - 19 <= y' <= 9 exec S(x',y',-y'+x',y')

38 Decomposition / Polyhedral Operations 20 Most polyhedral operations can be implemented by hoisting: image (and pre-image): e.g., skewing a rectangle for _ <= x' <= _ for _ <= y' <= _ for _ <= x <= _ for _ <= y <= _ if 0 <= x <= 19 and 0 <= y <= 9 then if x' = x+y and y' = y then exec S(x',y',x,y) After unswitching: for 10 <= x' <= 19 for 0 <= y' <= 9 for x'-y' <= x <= x'-y' for y' <= y <= y' exec S(x',y',-y'+x',y')

39 Decomposition / Lexicographic Extrema 21 After repeated hoisting/unswitching: no if-then-else conditional parts no empty range lexicographic extrema are readily available for 0 <= x' <= 9 for 0 <= y' <= x' exec S(x',y',-y'+x',y') for 10 <= x' <= 18 for 0 <= y' <= 9 exec S(x',y',-y'+x',y') for 19 <= x' <= 28 for x' - 19 <= y' <= 9 exec S(x',y',-y'+x',y')

40 Decomposition / Lexicographic Extrema 22 Linear optimization: min/maximize 15z + 2 = x over LS(N) when _ <= N <= _ for _ <= x <= _ for _ <= y <= _ if... then exec S

41 Decomposition / Lexicographic Extrema 22 Linear optimization: min/maximize 15z + 2 = x over LS(N) when _ <= N <= _ for _ <= z <= _ for _ <= x <= _ for _ <= y <= _ if... then if 15z+2 = x then exec S 18 z = 0 z = 1 z = 2 z = 3 49

42 Decomposition / Lexicographic Extrema 22 Linear optimization: min/maximize 15z + 2 = x over LS(N) when _ <= N <= _ for _ <= z <= _ for _ <= x <= _ for _ <= y <= _ if... then if 15z+2 = x then exec S produces when N = 4 exec S(1,17,7) when 5 <= N <= _ for 5 <= 5z <= N+[N:0,-1,-2,-3,1] exec S(z,15z+2,5z+2) i.e., z min = 1 (at x = 17) and z max = N 0,1,2,3, 1 N 5 = N 3 5 = N+1 5

43 Decomposition / Finite State Machines 23 States: one per (static) exec statement Transitions: given by function Next ( ), defined with First ( ): [...] for 3 <= x <= 10 do for 2x+[x:6,4,8] <= 6y' <= 3x+[x:0,3] do exec S2(x,y') done done for 11 <= x <= 3N-3 do for x+[x:3,2,4] <= 3y' <= x+[x:3,5,4] do exec S3(x,y') [...] Note: the result of Next tests each variable exactly once ( at done)

44 Summary A new representation for inequalities Tightening Precise combination/comparison A correct and complete decision procedure Polyhedron decomposition into simple ranges Essential polyhedral operations reformulated More work needed on: reducing size/complexity of representations and algorithms delay normalization of deeper levels leverage more arithmetic properties strategies & heuristics for simplest decomposition very frequent excessive fragmentation avoidance or correction?

45

46 Backup Slides / Normal Forms and Space Complexity The modulo of a PLE is a PLE ( an x n + X 0,... π n x n ) mod β = 0, 1,... β a n x n + X 0,... xn πn = k ( ) π n..., an k + X (k mod β ) mod β... where π n = lcm(π n, β/ gcd(a n, β)) The overall size of a corrective term for a n x n X 0,... π n x n x n is n β lcm(π n, gcd(a n, β) ) i=1

47 Backup Slides / Periodicity and Disjunction Mixed tight bounds are fuzzy x + 3, 2, 4 x 3y 2y x + 0, 1 x 6, 1, 8, 3, 4, 5 x x These can be turned into disjunctions of linear bounds Disjoin_1( v 0,... x π ax) let v m = max{v i } let M = v m a(π 1) let O = {v i v i < M} return (M ax) ( d O (x = d)) Provides a major bound (M) plus outliers (O) (x = 1) (3 x) bound [M, v m ]

48 Backup Slides / Periodicity and Disjunction 31y 10x 32y 10x 32y 31y 10x 0, 497, 498,..., 493, 494, x x x = 0 x = 16 x = 19 x = 22 x = 25 x = x 32 x = 35 x = 38 x = 41 x = x x x x x x x x x x x

49 Backup Slides / Periodicity and Disjunction Multidimensional mixed bounds rely on transposition, e.g.: 6 0, 3 N, 7, 4 x 3N + N, 2, 5 N, 3, 0 N, 4, 7 N, 5, 2 N 1. Build the uni-dimensional bound for all phases of all other variables x x 3N + 0, 7, 2, 3, 4, 5 x, 3, 4, 5, 0, 7, 2 x N 2. Apply Disjoin_1 on each sub-bound to obtain the major bound and outliers x 3N + [[M 0 = 5, O 0 = {7}]], [[M 1 = 5, O 1 = {7}]] 3. Collect phase-specific major bounds and outliers into periodic numbers (+ simplify, + other details) (x 3N + 5, 5 N ) (x = 3N + 7, 7 N ) N

50 Backup Slides / Periodicity and Disjunction With multidimensional bounds X 0,... π n x n a n x n transpose to sink x n at the lowest level apply Disjoin_1 (for each phase of each other variable) transpose back the results X 00 X 01. M 0 M 1. π n 1 X 10 π n 1 X 11 x n 1,. x n 1 π n 1 O 01 π n 1 O 11 x n 1,. x n 1 π n,... x n,... (a) (c) [X 00, X 10,...] πn x n [X 01, X 11,...] πn x n. { M0, O 01,... } { M1, O 11,... }. π n 1 x n 1 π n 1 x n 1 (b)

CS671 Parallel Programming in the Many-Core Era

CS671 Parallel Programming in the Many-Core Era 1 CS671 Parallel Programming in the Many-Core Era Polyhedral Framework for Compilation: Polyhedral Model Representation, Data Dependence Analysis, Scheduling and Data Locality Optimizations December 3,

More information

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh Lecture 3 Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets Gérard Cornuéjols Tepper School of Business Carnegie Mellon University, Pittsburgh January 2016 Mixed Integer Linear Programming

More information

9.5 Equivalence Relations

9.5 Equivalence Relations 9.5 Equivalence Relations You know from your early study of fractions that each fraction has many equivalent forms. For example, 2, 2 4, 3 6, 2, 3 6, 5 30,... are all different ways to represent the same

More information

Investigating Mixed-Integer Hulls using a MIP-Solver

Investigating Mixed-Integer Hulls using a MIP-Solver Investigating Mixed-Integer Hulls using a MIP-Solver Matthias Walter Otto-von-Guericke Universität Magdeburg Joint work with Volker Kaibel (OvGU) Aussois Combinatorial Optimization Workshop 2015 Outline

More information

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if POLYHEDRAL GEOMETRY Mathematical Programming Niels Lauritzen 7.9.2007 Convex functions and sets Recall that a subset C R n is convex if {λx + (1 λ)y 0 λ 1} C for every x, y C and 0 λ 1. A function f :

More information

Systems of Inequalities

Systems of Inequalities Systems of Inequalities 1 Goals: Given system of inequalities of the form Ax b determine if system has an integer solution enumerate all integer solutions 2 Running example: Upper bounds for x: (2)and

More information

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

CHAPTER 8. Copyright Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS Copyright Cengage Learning. All rights reserved. SECTION 8.3 Equivalence Relations Copyright Cengage Learning. All rights reserved. The Relation Induced by a Partition 3 The Relation

More information

Computing the Integer Points of a Polyhedron

Computing the Integer Points of a Polyhedron Computing the Integer Points of a Polyhedron Complexity Estimates Rui-Juan Jing 1,2 and Marc Moreno Maza 2,3 1 Key Laboratoty of Mathematics Mechnization, Academy of Mathematics and Systems Science, Chinese

More information

LARGE SCALE LINEAR AND INTEGER OPTIMIZATION: A UNIFIED APPROACH

LARGE SCALE LINEAR AND INTEGER OPTIMIZATION: A UNIFIED APPROACH LARGE SCALE LINEAR AND INTEGER OPTIMIZATION: A UNIFIED APPROACH Richard Kipp Martin Graduate School of Business University of Chicago % Kluwer Academic Publishers Boston/Dordrecht/London CONTENTS Preface

More information

On Demand Parametric Array Dataflow Analysis

On Demand Parametric Array Dataflow Analysis On Demand Parametric Array Dataflow Analysis Sven Verdoolaege Consultant for LIACS, Leiden INRIA/ENS, Paris Sven.Verdoolaege@ens.fr Hristo Nikolov LIACS, Leiden nikolov@liacs.nl Todor Stefanov LIACS, Leiden

More information

Minimizing Memory Strides using Integer Transformations of Parametric Polytopes

Minimizing Memory Strides using Integer Transformations of Parametric Polytopes Minimizing Memory Strides using Integer Transformations of Parametric Polytopes Rachid Seghir, Vincent Loechner and Benoît Meister ICPS/LSIIT UMR CNRS-ULP 7005 Pôle API, Bd Sébastien Brant F-67400 Illkirch

More information

The Polyhedral Model (Dependences and Transformations)

The Polyhedral Model (Dependences and Transformations) The Polyhedral Model (Dependences and Transformations) Announcements HW3 is due Wednesday February 15 th, tomorrow Project proposal is due NEXT Friday, extension so that example with tool is possible Today

More information

Data Dependences and Parallelization

Data Dependences and Parallelization Data Dependences and Parallelization 1 Agenda Introduction Single Loop Nested Loops Data Dependence Analysis 2 Motivation DOALL loops: loops whose iterations can execute in parallel for i = 11, 20 a[i]

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

More information

Discrete Mathematics Lecture 4. Harper Langston New York University

Discrete Mathematics Lecture 4. Harper Langston New York University Discrete Mathematics Lecture 4 Harper Langston New York University Sequences Sequence is a set of (usually infinite number of) ordered elements: a 1, a 2,, a n, Each individual element a k is called a

More information

Legal and impossible dependences

Legal and impossible dependences Transformations and Dependences 1 operations, column Fourier-Motzkin elimination us use these tools to determine (i) legality of permutation and Let generation of transformed code. (ii) Recall: Polyhedral

More information

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Geometric Modeling Mortenson Chapter 11. Complex Model Construction Geometric Modeling 91.580.201 Mortenson Chapter 11 Complex Model Construction Topics Topology of Models Connectivity and other intrinsic properties Graph-Based Models Emphasize topological structure Boolean

More information

In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems.

In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2 Basics In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2.1 Notation Let A R m n be a matrix with row index set M = {1,...,m}

More information

Finite Math Linear Programming 1 May / 7

Finite Math Linear Programming 1 May / 7 Linear Programming Finite Math 1 May 2017 Finite Math Linear Programming 1 May 2017 1 / 7 General Description of Linear Programming Finite Math Linear Programming 1 May 2017 2 / 7 General Description of

More information

Linear Programming in Small Dimensions

Linear Programming in Small Dimensions Linear Programming in Small Dimensions Lekcija 7 sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Outline linear programming, motivation and definition one dimensional

More information

Action Language Verifier, Extended

Action Language Verifier, Extended Action Language Verifier, Extended Tuba Yavuz-Kahveci 1, Constantinos Bartzis 2, and Tevfik Bultan 3 1 University of Florida 2 Carnegie Mellon University 3 UC, Santa Barbara 1 Introduction Action Language

More information

Chapter 10 Part 1: Reduction

Chapter 10 Part 1: Reduction //06 Polynomial-Time Reduction Suppose we could solve Y in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Chapter 0 Part : Reduction Reduction. Problem X

More information

Sets MAT231. Fall Transition to Higher Mathematics. MAT231 (Transition to Higher Math) Sets Fall / 31

Sets MAT231. Fall Transition to Higher Mathematics. MAT231 (Transition to Higher Math) Sets Fall / 31 Sets MAT231 Transition to Higher Mathematics Fall 2014 MAT231 (Transition to Higher Math) Sets Fall 2014 1 / 31 Outline 1 Sets Introduction Cartesian Products Subsets Power Sets Union, Intersection, Difference

More information

1 Elementary number theory

1 Elementary number theory Math 215 - Introduction to Advanced Mathematics Spring 2019 1 Elementary number theory We assume the existence of the natural numbers and the integers N = {1, 2, 3,...} Z = {..., 3, 2, 1, 0, 1, 2, 3,...},

More information

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension Antoine Vigneron King Abdullah University of Science and Technology November 7, 2012 Antoine Vigneron (KAUST) CS 372 Lecture

More information

Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers

Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers Isil Dillig, Thomas Dillig, and Alex Aiken Computer Science Department Stanford University Linear Arithmetic

More information

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions.

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions. THREE LECTURES ON BASIC TOPOLOGY PHILIP FOTH 1. Basic notions. Let X be a set. To make a topological space out of X, one must specify a collection T of subsets of X, which are said to be open subsets of

More information

Integer Programming Chapter 9

Integer Programming Chapter 9 Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 25, 2017 1 / 40 Outline Key Concepts MILP Set Monoids LP set Relaxation of MILP Set Formulation Quality

More information

1 / 43. Today. Finish Euclid. Bijection/CRT/Isomorphism. Fermat s Little Theorem. Review for Midterm.

1 / 43. Today. Finish Euclid. Bijection/CRT/Isomorphism. Fermat s Little Theorem. Review for Midterm. 1 / 43 Today Finish Euclid. Bijection/CRT/Isomorphism. Fermat s Little Theorem. Review for Midterm. 2 / 43 Finding an inverse? We showed how to efficiently tell if there is an inverse. Extend euclid to

More information

2. Sets. 2.1&2.2: Sets and Subsets. Combining Sets. c Dr Oksana Shatalov, Fall

2. Sets. 2.1&2.2: Sets and Subsets. Combining Sets. c Dr Oksana Shatalov, Fall c Dr Oksana Shatalov, Fall 2014 1 2. Sets 2.1&2.2: Sets and Subsets. Combining Sets. Set Terminology and Notation DEFINITIONS: Set is well-defined collection of objects. Elements are objects or members

More information

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs 15.082J and 6.855J Lagrangian Relaxation 2 Algorithms Application to LPs 1 The Constrained Shortest Path Problem (1,10) 2 (1,1) 4 (2,3) (1,7) 1 (10,3) (1,2) (10,1) (5,7) 3 (12,3) 5 (2,2) 6 Find the shortest

More information

Dual-fitting analysis of Greedy for Set Cover

Dual-fitting analysis of Greedy for Set Cover Dual-fitting analysis of Greedy for Set Cover We showed earlier that the greedy algorithm for set cover gives a H n approximation We will show that greedy produces a solution of cost at most H n OPT LP

More information

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem Column Generation: Cutting Stock A very applied method thst@man.dtu.dk Outline History The Simplex algorithm (re-visited) Column Generation as an extension of the Simplex algorithm A simple example! DTU-Management

More information

Column Generation: Cutting Stock

Column Generation: Cutting Stock Column Generation: Cutting Stock A very applied method thst@man.dtu.dk DTU-Management Technical University of Denmark 1 Outline History The Simplex algorithm (re-visited) Column Generation as an extension

More information

Today. Finish Euclid. Bijection/CRT/Isomorphism. Review for Midterm.

Today. Finish Euclid. Bijection/CRT/Isomorphism. Review for Midterm. Today Finish Euclid. Bijection/CRT/Isomorphism. Review for Midterm. Finding an inverse? We showed how to efficiently tell if there is an inverse. Extend euclid to find inverse. Euclid s GCD algorithm.

More information

Solving the Live-out Iterator Problem, Part I

Solving the Live-out Iterator Problem, Part I Louis-Noël Pouchet pouchet@cse.ohio-state.edu Dept. of Computer Science and Engineering, the Ohio State University September 2010 888.11 Outline: Reminder: step-by-step methodology 1 Problem definition:

More information

Loop Transformations, Dependences, and Parallelization

Loop Transformations, Dependences, and Parallelization Loop Transformations, Dependences, and Parallelization Announcements HW3 is due Wednesday February 15th Today HW3 intro Unimodular framework rehash with edits Skewing Smith-Waterman (the fix is in!), composing

More information

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017 Section Notes 5 Review of Linear Programming Applied Math / Engineering Sciences 121 Week of October 15, 2017 The following list of topics is an overview of the material that was covered in the lectures

More information

Reducing Clocks in Timed Automata while Preserving Bisimulation

Reducing Clocks in Timed Automata while Preserving Bisimulation Reducing Clocks in Timed Automata while Preserving Bisimulation Shibashis Guha Chinmay Narayan S. Arun-Kumar Indian Institute of Technology Delhi {shibashis, chinmay, sak}@cse.iitd.ac.in arxiv:1404.6613v2

More information

MAT 003 Brian Killough s Instructor Notes Saint Leo University

MAT 003 Brian Killough s Instructor Notes Saint Leo University MAT 003 Brian Killough s Instructor Notes Saint Leo University Success in online courses requires self-motivation and discipline. It is anticipated that students will read the textbook and complete sample

More information

The Polyhedral Model (Transformations)

The Polyhedral Model (Transformations) The Polyhedral Model (Transformations) Announcements HW4 is due Wednesday February 22 th Project proposal is due NEXT Friday, extension so that example with tool is possible (see resources website for

More information

Definition. Given a (v,k,λ)- BIBD, (X,B), a set of disjoint blocks of B which partition X is called a parallel class.

Definition. Given a (v,k,λ)- BIBD, (X,B), a set of disjoint blocks of B which partition X is called a parallel class. Resolvable BIBDs Definition Given a (v,k,λ)- BIBD, (X,B), a set of disjoint blocks of B which partition X is called a parallel class. A partition of B into parallel classes (there must be r of them) is

More information

r=1 The Binomial Theorem. 4 MA095/98G Revision

r=1 The Binomial Theorem. 4 MA095/98G Revision Revision Read through the whole course once Make summary sheets of important definitions and results, you can use the following pages as a start and fill in more yourself Do all assignments again Do the

More information

Fourier-Motzkin with Non-Linear Symbolic Constant Coefficients. Patricia A. Suriana

Fourier-Motzkin with Non-Linear Symbolic Constant Coefficients. Patricia A. Suriana Fourier-Motzkin with Non-Linear Symbolic Constant Coefficients by Patricia A. Suriana S.B., Massachusetts Institute of Technology (2014) Submitted to the Department of Electrical Engineering and Computer

More information

Iterative Optimization in the Polyhedral Model: Part I, One-Dimensional Time

Iterative Optimization in the Polyhedral Model: Part I, One-Dimensional Time Iterative Optimization in the Polyhedral Model: Part I, One-Dimensional Time Louis-Noël Pouchet, Cédric Bastoul, Albert Cohen and Nicolas Vasilache ALCHEMY, INRIA Futurs / University of Paris-Sud XI March

More information

The Challenges of Non-linear Parameters and Variables in Automatic Loop Parallelisation

The Challenges of Non-linear Parameters and Variables in Automatic Loop Parallelisation The Challenges of Non-linear Parameters and Variables in Automatic Loop Parallelisation Armin Größlinger December 2, 2009 Rigorosum Fakultät für Informatik und Mathematik Universität Passau Automatic Loop

More information

Interactive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing

Interactive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing Interactive Computer Graphics Aliasing and Anti-Aliasing Hearn & Baker, chapter 4-7 D transforms Hearn & Baker, chapter 5 Aliasing and Anti-Aliasing Problem: jaggies Also known as aliasing. It results

More information

60 2 Convex sets. {x a T x b} {x ã T x b}

60 2 Convex sets. {x a T x b} {x ã T x b} 60 2 Convex sets Exercises Definition of convexity 21 Let C R n be a convex set, with x 1,, x k C, and let θ 1,, θ k R satisfy θ i 0, θ 1 + + θ k = 1 Show that θ 1x 1 + + θ k x k C (The definition of convexity

More information

Multidimensional Indexes [14]

Multidimensional Indexes [14] CMSC 661, Principles of Database Systems Multidimensional Indexes [14] Dr. Kalpakis http://www.csee.umbc.edu/~kalpakis/courses/661 Motivation Examined indexes when search keys are in 1-D space Many interesting

More information

Basic Algorithms for Digital Image Analysis: a course

Basic Algorithms for Digital Image Analysis: a course Institute of Informatics Eötvös Loránd University Budapest, Hungary Basic Algorithms for Digital Image Analysis: a course Dmitrij Csetverikov with help of Attila Lerch, Judit Verestóy, Zoltán Megyesi,

More information

Assignment 4 Solutions of graph problems

Assignment 4 Solutions of graph problems Assignment 4 Solutions of graph problems 1. Let us assume that G is not a cycle. Consider the maximal path in the graph. Let the end points of the path be denoted as v 1, v k respectively. If either of

More information

Linear Programming and Clustering

Linear Programming and Clustering and Advisor: Dr. Leonard Schulman, Caltech Aditya Huddedar IIT Kanpur Advisor: Dr. Leonard Schulman, Caltech Aditya Huddedar IIT Kanpur and Outline of Talk 1 Introduction 2 Motivation 3 Our Approach 4

More information

Convex Optimization. 2. Convex Sets. Prof. Ying Cui. Department of Electrical Engineering Shanghai Jiao Tong University. SJTU Ying Cui 1 / 33

Convex Optimization. 2. Convex Sets. Prof. Ying Cui. Department of Electrical Engineering Shanghai Jiao Tong University. SJTU Ying Cui 1 / 33 Convex Optimization 2. Convex Sets Prof. Ying Cui Department of Electrical Engineering Shanghai Jiao Tong University 2018 SJTU Ying Cui 1 / 33 Outline Affine and convex sets Some important examples Operations

More information

Dynamic Collision Detection

Dynamic Collision Detection Distance Computation Between Non-Convex Polyhedra June 17, 2002 Applications Dynamic Collision Detection Applications Dynamic Collision Detection Evaluating Safety Tolerances Applications Dynamic Collision

More information

Integer Programming as Projection

Integer Programming as Projection Integer Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie Mellon University INFORMS 2015, Philadelphia USA A Different Perspective on IP Projection of an IP onto

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Group Members: 1. Geng Xue (A0095628R) 2. Cai Jingli (A0095623B) 3. Xing Zhe (A0095644W) 4. Zhu Xiaolu (A0109657W) 5. Wang Zixiao (A0095670X) 6. Jiao Qing (A0095637R) 7. Zhang

More information

Lecture 2 - Introduction to Polytopes

Lecture 2 - Introduction to Polytopes Lecture 2 - Introduction to Polytopes Optimization and Approximation - ENS M1 Nicolas Bousquet 1 Reminder of Linear Algebra definitions Let x 1,..., x m be points in R n and λ 1,..., λ m be real numbers.

More information

3.3 Optimizing Functions of Several Variables 3.4 Lagrange Multipliers

3.3 Optimizing Functions of Several Variables 3.4 Lagrange Multipliers 3.3 Optimizing Functions of Several Variables 3.4 Lagrange Multipliers Prof. Tesler Math 20C Fall 2018 Prof. Tesler 3.3 3.4 Optimization Math 20C / Fall 2018 1 / 56 Optimizing y = f (x) In Math 20A, we

More information

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm Instructor: Shaddin Dughmi Algorithms for Convex Optimization We will look at 2 algorithms in detail: Simplex and Ellipsoid.

More information

CS 1313 Spring 2000 Lecture Outline

CS 1313 Spring 2000 Lecture Outline 1. What is a Computer? 2. Components of a Computer System Overview of Computing, Part 1 (a) Hardware Components i. Central Processing Unit ii. Main Memory iii. The Bus iv. Loading Data from Main Memory

More information

THE DNA INEQUALITY POWER ROUND

THE DNA INEQUALITY POWER ROUND THE DNA INEQUALITY POWER ROUND Instructions Write/draw all solutions neatly, with at most one question per page, clearly numbered. Turn in the solutions in numerical order, with your team name at the upper

More information

Analysis of high dimensional data via Topology. Louis Xiang. Oak Ridge National Laboratory. Oak Ridge, Tennessee

Analysis of high dimensional data via Topology. Louis Xiang. Oak Ridge National Laboratory. Oak Ridge, Tennessee Analysis of high dimensional data via Topology Louis Xiang Oak Ridge National Laboratory Oak Ridge, Tennessee Contents Abstract iii 1 Overview 1 2 Data Set 1 3 Simplicial Complex 5 4 Computation of homology

More information

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Mathematical programming (optimization) problem: min f (x) s.t. x X R n set of feasible solutions with linear objective function

More information

Decomposition in Integer Linear Programming

Decomposition in Integer Linear Programming Decomposition in Integer Linear Programming T.K. Ralphs M.V. Galati December 3, 00 Abstract Both cutting plane methods and traditional decomposition methods are procedures that compute a bound on the optimal

More information

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini DM545 Linear and Integer Programming Lecture 2 The Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Standard Form Basic Feasible Solutions

More information

maximize c, x subject to Ax b,

maximize c, x subject to Ax b, Lecture 8 Linear programming is about problems of the form maximize c, x subject to Ax b, where A R m n, x R n, c R n, and b R m, and the inequality sign means inequality in each row. The feasible set

More information

Polyhedral Compilation Foundations

Polyhedral Compilation Foundations Polyhedral Compilation Foundations Louis-Noël Pouchet pouchet@cse.ohio-state.edu Dept. of Computer Science and Engineering, the Ohio State University Feb 15, 2010 888.11, Class #4 Introduction: Polyhedral

More information

ACO Comprehensive Exam March 19 and 20, Computability, Complexity and Algorithms

ACO Comprehensive Exam March 19 and 20, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms Bottleneck edges in a flow network: Consider a flow network on a directed graph G = (V,E) with capacities c e > 0 for e E. An edge e E is called a bottleneck

More information

(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1

(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1 CS 70 Discrete Mathematics for CS Fall 2000 Wagner MT1 Sol Solutions to Midterm 1 1. (16 pts.) Theorems and proofs (a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are

More information

Computing and Informatics, Vol. 36, 2017, , doi: /cai

Computing and Informatics, Vol. 36, 2017, , doi: /cai Computing and Informatics, Vol. 36, 2017, 566 596, doi: 10.4149/cai 2017 3 566 NESTED-LOOPS TILING FOR PARALLELIZATION AND LOCALITY OPTIMIZATION Saeed Parsa, Mohammad Hamzei Department of Computer Engineering

More information

MURDOCH RESEARCH REPOSITORY

MURDOCH RESEARCH REPOSITORY MURDOCH RESEARCH REPOSITORY This is the author s final version of the work, as accepted for publication following peer review but without the publisher s layout or pagination. The definitive version is

More information

Randomized Algorithms 2017A - Lecture 10 Metric Embeddings into Random Trees

Randomized Algorithms 2017A - Lecture 10 Metric Embeddings into Random Trees Randomized Algorithms 2017A - Lecture 10 Metric Embeddings into Random Trees Lior Kamma 1 Introduction Embeddings and Distortion An embedding of a metric space (X, d X ) into a metric space (Y, d Y ) is

More information

Minimum-Area Rectangle Containing a Set of Points

Minimum-Area Rectangle Containing a Set of Points Minimum-Area Rectangle Containing a Set of Points David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

Introduction to Linear Programming

Introduction to Linear Programming Introduction to Linear Programming Eric Feron (updated Sommer Gentry) (updated by Paul Robertson) 16.410/16.413 Historical aspects Examples of Linear programs Historical contributor: G. Dantzig, late 1940

More information

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics 400 lecture note #4 [Ch 6] Set Theory 1. Basic Concepts and Definitions 1) Basics Element: ; A is a set consisting of elements x which is in a/another set S such that P(x) is true. Empty set: notated {

More information

Dr. Relja Vulanovic Professor of Mathematics Kent State University at Stark c 2008

Dr. Relja Vulanovic Professor of Mathematics Kent State University at Stark c 2008 MATH-LITERACY MANUAL Dr. Relja Vulanovic Professor of Mathematics Kent State University at Stark c 2008 1 Real Numbers 1.1 Sets 1 1.2 Constants and Variables; Real Numbers 7 1.3 Operations with Numbers

More information

A Deterministic Global Optimization Method for Variational Inference

A Deterministic Global Optimization Method for Variational Inference A Deterministic Global Optimization Method for Variational Inference Hachem Saddiki Mathematics and Statistics University of Massachusetts, Amherst saddiki@math.umass.edu Andrew C. Trapp Operations and

More information

Fuzzy Sets and Systems. Lecture 2 (Fuzzy Sets) Bu- Ali Sina University Computer Engineering Dep. Spring 2010

Fuzzy Sets and Systems. Lecture 2 (Fuzzy Sets) Bu- Ali Sina University Computer Engineering Dep. Spring 2010 Fuzzy Sets and Systems Lecture 2 (Fuzzy Sets) Bu- Ali Sina University Computer Engineering Dep. Spring 2010 Fuzzy Sets Formal definition: A fuzzy set A in X (universal set) is expressed as a set of ordered

More information

Interleaving Schemes on Circulant Graphs with Two Offsets

Interleaving Schemes on Circulant Graphs with Two Offsets Interleaving Schemes on Circulant raphs with Two Offsets Aleksandrs Slivkins Department of Computer Science Cornell University Ithaca, NY 14853 slivkins@cs.cornell.edu Jehoshua Bruck Department of Electrical

More information

Lecture 2. Topology of Sets in R n. August 27, 2008

Lecture 2. Topology of Sets in R n. August 27, 2008 Lecture 2 Topology of Sets in R n August 27, 2008 Outline Vectors, Matrices, Norms, Convergence Open and Closed Sets Special Sets: Subspace, Affine Set, Cone, Convex Set Special Convex Sets: Hyperplane,

More information

Experiments On General Disjunctions

Experiments On General Disjunctions Experiments On General Disjunctions Some Dumb Ideas We Tried That Didn t Work* and Others We Haven t Tried Yet *But that may provide some insight Ted Ralphs, Serdar Yildiz COR@L Lab, Department of Industrial

More information

Array Dependence Analysis as Integer Constraints. Array Dependence Analysis Example. Array Dependence Analysis as Integer Constraints, cont

Array Dependence Analysis as Integer Constraints. Array Dependence Analysis Example. Array Dependence Analysis as Integer Constraints, cont Theory of Integers CS389L: Automated Logical Reasoning Omega Test Işıl Dillig Earlier, we talked aout the theory of integers T Z Signature of T Z : Σ Z : {..., 2, 1, 0, 1, 2,..., 3, 2, 2, 3,..., +,, =,

More information

Scheme: Data. CS F331 Programming Languages CSCE A331 Programming Language Concepts Lecture Slides Monday, April 3, Glenn G.

Scheme: Data. CS F331 Programming Languages CSCE A331 Programming Language Concepts Lecture Slides Monday, April 3, Glenn G. Scheme: Data CS F331 Programming Languages CSCE A331 Programming Language Concepts Lecture Slides Monday, April 3, 2017 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks ggchappell@alaska.edu

More information

Math 113 Exam 1 Practice

Math 113 Exam 1 Practice Math Exam Practice January 6, 00 Exam will cover sections 6.-6.5 and 7.-7.5 This sheet has three sections. The first section will remind you about techniques and formulas that you should know. The second

More information

Integer and Combinatorial Optimization

Integer and Combinatorial Optimization Integer and Combinatorial Optimization GEORGE NEMHAUSER School of Industrial and Systems Engineering Georgia Institute of Technology Atlanta, Georgia LAURENCE WOLSEY Center for Operations Research and

More information

COMPUTATIONAL GEOMETRY

COMPUTATIONAL GEOMETRY Thursday, September 20, 2007 (Ming C. Lin) Review on Computational Geometry & Collision Detection for Convex Polytopes COMPUTATIONAL GEOMETRY (Refer to O'Rourke's and Dutch textbook ) 1. Extreme Points

More information

REVIEW OF FUZZY SETS

REVIEW OF FUZZY SETS REVIEW OF FUZZY SETS CONNER HANSEN 1. Introduction L. A. Zadeh s paper Fuzzy Sets* [1] introduces the concept of a fuzzy set, provides definitions for various fuzzy set operations, and proves several properties

More information

THEORY OF COMPUTATION

THEORY OF COMPUTATION THEORY OF COMPUTATION UNIT-1 INTRODUCTION Overview This chapter begins with an overview of those areas in the theory of computation that are basic foundation of learning TOC. This unit covers the introduction

More information

Euclid's Algorithm. MA/CSSE 473 Day 06. Student Questions Odd Pie Fight Euclid's algorithm (if there is time) extended Euclid's algorithm

Euclid's Algorithm. MA/CSSE 473 Day 06. Student Questions Odd Pie Fight Euclid's algorithm (if there is time) extended Euclid's algorithm MA/CSSE 473 Day 06 Euclid's Algorithm MA/CSSE 473 Day 06 Student Questions Odd Pie Fight Euclid's algorithm (if there is time) extended Euclid's algorithm 1 Quick look at review topics in textbook REVIEW

More information

The Subdivision of Large Simplicial Cones in Normaliz ICMS 2016

The Subdivision of Large Simplicial Cones in Normaliz ICMS 2016 ICMS 2016 The Subdivision of Large Simplicial Cones in Normaliz Richard Sieg joint with Winfried Bruns & Christof Söger NORMALIZ NORMALIZ Open source software (GPL) written in C++ (using Boost and GMP/MPIR)

More information

3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations

3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations 3D Mathematics Co-ordinate systems, 3D primitives and affine transformations Coordinate Systems 2 3 Primitive Types and Topologies Primitives Primitive Types and Topologies 4 A primitive is the most basic

More information

Integer Programming Chapter 9

Integer Programming Chapter 9 1 Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 30, 2017 2 Outline Branch and Bound Theory Branch and Bound Linear Programming Node Selection Strategies

More information

Taibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103. Chapter 2. Sets

Taibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103. Chapter 2. Sets Taibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103 Chapter 2 Sets Slides are adopted from Discrete Mathematics and It's Applications Kenneth H.

More information

ROUGH MEMBERSHIP FUNCTIONS: A TOOL FOR REASONING WITH UNCERTAINTY

ROUGH MEMBERSHIP FUNCTIONS: A TOOL FOR REASONING WITH UNCERTAINTY ALGEBRAIC METHODS IN LOGIC AND IN COMPUTER SCIENCE BANACH CENTER PUBLICATIONS, VOLUME 28 INSTITUTE OF MATHEMATICS POLISH ACADEMY OF SCIENCES WARSZAWA 1993 ROUGH MEMBERSHIP FUNCTIONS: A TOOL FOR REASONING

More information

Some Advanced Topics in Linear Programming

Some Advanced Topics in Linear Programming Some Advanced Topics in Linear Programming Matthew J. Saltzman July 2, 995 Connections with Algebra and Geometry In this section, we will explore how some of the ideas in linear programming, duality theory,

More information

Digital Image Fundamentals II

Digital Image Fundamentals II Digital Image Fundamentals II 1. Image modeling and representations 2. Pixels and Pixel relations 3. Arithmetic operations of images 4. Image geometry operation 5. Image processing with Matlab - Image

More information

2 Geometry Solutions

2 Geometry Solutions 2 Geometry Solutions jacques@ucsd.edu Here is give problems and solutions in increasing order of difficulty. 2.1 Easier problems Problem 1. What is the minimum number of hyperplanar slices to make a d-dimensional

More information

Interval Polyhedra: An Abstract Domain to Infer Interval Linear Relationships

Interval Polyhedra: An Abstract Domain to Infer Interval Linear Relationships Interval Polyhedra: An Abstract Domain to Infer Interval Linear Relationships Liqian Chen 1,2 Antoine Miné 3,2 Ji Wang 1 Patrick Cousot 2,4 1 National Lab. for Parallel and Distributed Processing, Changsha,

More information

Boolean Algebra. P1. The OR operation is closed for all x, y B x + y B

Boolean Algebra. P1. The OR operation is closed for all x, y B x + y B Boolean Algebra A Boolean Algebra is a mathematical system consisting of a set of elements B, two binary operations OR (+) and AND ( ), a unary operation NOT ('), an equality sign (=) to indicate equivalence

More information

Lecture 4: Linear Programming

Lecture 4: Linear Programming COMP36111: Advanced Algorithms I Lecture 4: Linear Programming Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2017 18 Outline The Linear Programming Problem Geometrical analysis The Simplex

More information