Floorplanning. ECE6133 Physical Design Automation of VLSI Systems

Size: px
Start display at page:

Download "Floorplanning. ECE6133 Physical Design Automation of VLSI Systems"

Transcription

1 Floorplanning ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu Lim School of Electrical and Computer Engineering Georgia Institute of Technology

2 Floorplanning, Placement, and Pin Assignment Partitioning leads to Blocks with well-defined areas and shapes (fixed blocks). Blocks with approximated areas and no particular shapes (flexible blocks). A netlist specifying connections between the blocks. Objectives Find locations for all blocks. Consider shapes of flexible block, pin locations of all the blocks. Blocks w/ areas (shapes) netlist Block locations netlist Partitioning Floorplanning/Placement (/Pin assignment) Routing

3 Floorplanning Inputs to the floorplanning problem: A set of blocks, fixed or flexible. Pin locations of fixed blocks. A netlist. Objectives: Minimize area, reduce wirelength for (critical) nets, maximize routability, determine shapes of flexible blocks An optimal floorplan, in terms of area A non optimal floorplan

4 Floorplan Design Modules: x y g e d Area: A=xy Aspect ratio: r <= y/x <= s f a b c Rotation: Module connectivity a 2 b c e f d

5 Floorplanning: Terminology Rectangular dissection: Subdivision of a given rectangle by a finite # of horizontal and vertical line segments into a finite # of non-overlapping rectangles. Slicing structure: a rectangular dissection that can be obtained by repetitively subdividing rectangles horizontally or vertically. Slicing tree: A binary tree, where each internal node represents a vertical cut line or horizontal cut line, and each leaf a basic rectangle. Skewed slicing tree: One in which no node and its right child are the same Non slicing floorplan Slicing floorplan H V H 2 1 H 3 V V A slicing tree (skewed) 2 H 1 V V 6 7 H V H Another slicing tree (non skewed)

6 Floorplan Design by Simulated Annealing Related work Wong & Liu, A new algorithm for floorplan design, DAC 86. Consider slicing floorplans. Wong & Liu, Floorplan design for rectangular and L-shaped modules, ICCAD 87. Also consider L-shaped modules. Wong, Leong, Liu, Simulated Annealing for VLSI Design, pp , Kluwer academic Publishers, Ingredients: solution space, neighborhood structure, cost function, annealing schedule?

7 the increase in a parameter called temperature T Partitioning Simulated Annealing Algorithm Concept analogous to the annealing process used for metals and glass. A random initial partition is available as input. A new partitioning is generated by ~ exchanging some elements. If the partitions improve the move is always accepted. If not then the move is accepted with a probability which decreases with 4.21 j Algorithms for VLSI Physical Design Automation csherwani 92

8 Partitioning The Annealing curve Temp Local Minima s Global Minima Time 4.22 j Algorithms for VLSI Physical Design Automation csherwani 92

9 SA Algorithm begin = t 0 t part = ini part cur score = SCORE(cur part) cur repeat repeat = SELECT(part1) comp1 = SELECT(part2) comp2 part =EXCHANGE(comp1 comp2 cur part) trial score =SCORE(trial part) trial = trial score ; cur score s (s < 0) then if score = trial score cur part =MOVE(comp1 comp2) cur else score = trial score cur part =MOVE(comp1 comp2 ) cur (equilibrium at t is reached) until = t (* 0 <<1*) t (freezing point isreached) until end. Partitioning Simulated Annealing Algorithm ~ = 1) r s RANDOM(0 <e ; t ) then (r if 4.23 j Algorithms for VLSI Physical Design Automation csherwani 92

10 Solution Representation An expression E = e 1 e 2... e 2n 1, where e i {1, 2,..., n, H, V }, 1 i 2n 1, is a Polish expression of length 2n 1 iff 1. every operand j, 1 j n, appears exactly once in E; 2. (the balloting property) for every subexpression E i = e 1... e i, 1 i 2n 1, #operands > #operators. 1 6 H 3 5 V 2 H V 7 4 H V # of operands = 4... = 7 # of operators = 2... = 5 Polish expression Postorder traversal. ijh: rectangle i on bottom of j; ijv : rectangle i on the left of j V H V H E = 16H2V75VH34HV V H 3 4 E = 16+2*75*+34+* Postorder traversal of a tree!

11 Solution Representation (cont d) V V H E = 123H4VV non skewed! 1 V V 4 H 2 3 E = 123HV4V skewed! H V Non skewed cases H V... HH VV... Question: How to eliminate ambiguous representation?

12 Normalized Polish Expression A Polish expression E = e 1 e 2... e 2n 1 is called normalized iff E has no consecutive operators of the same type (H or V ). Given a normalized Polish expression, we can construct a unique rectangular slicing structure V H V H V H 3 4 E = 16H2V75VH34HV A normalized Polish expression

13 Neighborhood Structure Chain: HV HV H... or V HV HV H 3 5 V 2 H V 7 4 H V chain Adjacent: 1 and 6 are adjacent operands; 2 and 7 are adjacent operands; 5 and V are adjacent operand and operator. 3 types of moves: M 1 (Operand Swap): Swap two adjacent operands. M2 (Chain Invert): Complement some chain (V = H, H = V ). M 3 (Operator/Operand Swap): Swap two adjacent operand and operator.

14 Effects of Perturbation M1 M2 M3 12V4H3V 12V3H4V 12H3H4V 12H34HV Question: The balloting property holds during the moves? M1 and M2 moves are OK. Check the M3 moves! Reject illegal M3 moves. Check M3 moves: Assume that the M 3 move swaps the operand e i with the operator e i+1, 1 i k 1. Then, the swap will not violate the balloting property iff 2N i+1 < i. N k : # of operators in the Polish expression E = e 1 e 2... e k, 1 k 2n

15 Φ = A + λw. Cost Function A: area of the smallest rectangle W : overall wiring length λ: user-specified parameter M1 M2 M A: 12H34HV W = ij c ijd ij. c ij : # of connections between blocks i and j. d ij : center-to-center distance between basic rectangles i and j.

16 Area Computation { (5,5) (9,4) } V { (2,5) (3,4) } { (3,5) (6,,4) } H H { (6,2) (3,3) } V V { (3,2) } 1 2 { (2,3) (3,2) } { (2,2) } { (1,2) (2,1) } { (2,2) } { (1,3) (3,1) } { (2,3) (3,2) } u1 u1 v v u2 w u2 w v+w u2 u1 max{v, w} max{u1, u2} u1+u2 H 1 2 V V 3 4 H V 5 6 Wiring cost?

17 Incremental Computation of Cost Function Each move leads to only a minor modification of the Polish expression. At most two paths of the slicing tree need to be updated for each move. V V H V 4 H V 5 6 M1 H V 5 H 4 V 6 E = 12H34V56VHV E = 12H35V46VHV

18 Incremental Computation of Cost Function (cont d) V H H 1 2 V 3 4 H V 5 6 M2 H V 4 V 5 H 6 E = 12H34V56VHV E = 12H34V56HVH V V H 1 2 V 3 4 H V 5 6 M3 1 H V 4 H 5 V 6 E = 12H34V56VHV 2 3 E = 123H4V56VHV

19 Annealing Schedule Initial solution: 12V 3V... nv n T i = r i T 0, i = 1, 2, 3,...; r = At each temperature, try kn moves (k = 5 10). Terminate the annealing process if # of accepted moves < 5%, temperature is low enough, or run out of time.

20 Algorithm: Simulated Annealing Floorplanning(P, ɛ, r, k) 1 begin 2 E 12V 3V 4V... nv ; /* initial solution */ 3 Best E; T 0 avg ; M MT uphill 0; N = kn; ln(p ) 4 repeat 5 MT uphill reject 0; 6 repeat 7 SelectMove(M); 8 Case M of 9 M 1 : Select two adjacent operands e i and e j ; NE Swap(E, e i, e j ); 10 M 2 : Select a nonzero length chain C; NE Complement(E, C); 11 M 3 : done F ALSE; 12 while not (done) do 13 Select two adjacent operand e i and operator e i+1 ; 14 if (e i 1 e i+1 ) and (2N i+1 < i) then done T RUE; 15 NE Swap(E, e i, e i+1 ); 16 MT MT + 1; cost cost(ne) cost(e); 17 if ( cost 0) or (Random < e cost T ) 18 then 19 if ( cost > 0) then uphill uphill + 1; 20 E NE; 21 if cost(e) < cost(best) then best E; 22 else reject reject + 1; 23 until (uphill > N) or (MT > 2N); 24 T = rt ; /* reduce temperature */ 25 until ( reject > 0.95) or (T < ɛ) or OutOfT ime; MT 26 end

21 Normalized Polish Expression Draw slicing floorplan based on: Initial PE: P 1 = 25V1H374VH6V8VH Dimensions: (2,4), (1,3), (3,3), (3,5), (3,2), (5,3), (1,2), (2,4) Practical Problems in VLSI Physical Design Polish Expression (1/8)

22 M1 Move Swap module 3 and 7 in P 1 = 25V1H374VH6V8VH We get: P 2 = 25V1H734VH6V8VH Area changed from to Practical Problems in VLSI Physical Design Polish Expression (2/8)

23 Change on Floorplan Practical Problems in VLSI Physical Design Polish Expression (3/8)

24 M2 Move Complement last chain in P 2 = 25V1H734VH6V8VH We get: P 3 = 25V1H734VH6V8HV Area changed from to Practical Problems in VLSI Physical Design Polish Expression (4/8)

25 Change on Floorplan Practical Problems in VLSI Physical Design Polish Expression (5/8)

26 M3 Move Swaps 6 and V in P 3 = 25V1H734VH6V8HV We get: P 4 = 25V1H734VHV68HV Area changed from to 15 7 Practical Problems in VLSI Physical Design Polish Expression (6/8)

27 Change on Floorplan Practical Problems in VLSI Physical Design Polish Expression (7/8)

28 Initial Temperature Calculation What is average change on cost function? Initial temperature with acceptance probability 0.9? Practical Problems in VLSI Physical Design Polish Expression (8/8)

29 Sample LP Problem A calculator company produces a scientific calculator and a graphing calculator. Long-term projections indicate an expected demand of at least 100 scientific and 80 graphing calculators each day. Because of limitations on production capacity, no more than 200 scientific and 170 graphing calculators can be made daily. To satisfy a shipping contract, a total of at least 200 calculators must be shipped each day. If each scientific calculator sold results in a $2 loss, but each graphing calculator produces a $5 profit, how many of each type should be made daily to maximize net profits?

30 LP Formulation Variables x: number of scientific calculators produced y: number of graphing calculators produced Objective function P = 2x + 5y Constraints 100 < x < < y < 170 y > x Answer P = 650 at (x, y) = (100, 170)

31 Linear program (LP) minimize subject to n c j x j j=1 n a ij x j b i, j=1 n c ij x j = d i, j=1 i = 1,..., m i = 1,..., p variables: x j ; problem data: c j, a ij, b i, c ij, d i properties can be solved very efficiently (several 10,000 variables, constraints) widely available general-purpose software extensive, useful theory, e.g., can characterize sensitivity of optimum with respect to changes in data Introduction and overview 1 2

32 integer linear program Integer linear program minimize subject to n j=1 c jx j n j=1 a ijx j b i, i = 1,..., m n j=1 c ijx j = d i, i = 1,..., p x j Z Boolean linear program minimize subject to n j=1 c jx j n j=1 a ijx j b i, i = 1,..., m n j=1 c ijx j = d i, i = 1,..., p x j {0, 1} very general problems; can be extremely hard to solve can be solved as a sequence of linear programs Introduction and overview 1 8

33 Floorplanning by Mathematical Programming Sutanthavibul, Shragowitz, and Rosen, An analytical approach to floorplan design and optimization, 27th DAC, Notation: w i, h i : width and height of module M i. (x i, y i ): coordinate of the lower left corner of module M i. a i w i /h i b i : aspect ratio w i /h i of module M i. (Note: We defined aspect ratio as h i /w i before.) Goal: Find a mixed integer linear programming (ILP) formulation for the floorplan design. Linear constraints? Objective function?

34 Nonoverlap Constraints Two modules M i and M j are nonoverlap, if at least one of the following linear constraints is satisfied (cases encoded by p ij and q ij ): M i to the left of M j : x i + w i x j 0 0 M i below M j : y i + h i y j 0 1 M i to the right of M j : x i w j x j 1 0 M i above M j : y i h j y j 1 1 Let W, H be upper bounds on the floorplan width and height, respectively. Introduce two 0, 1 variables p ij and q ij to denote that one of the above inequalities is enforced; e.g., p ij = 0, q ij = 1 y i + h i y j is satisfied. hi wi (xi, yi) (xj, yj) xi + wi <= xj x i + w i x j + W (p ij + q ij ) y i + h i y j + H(1 + p ij q ij ) x i w j x j W (1 p ij + q ij ) y i h j y j H(2 p ij q ij ) wj hj wi p ij (xi, yi) (xj, yj) xi + wi > xj q ij

35 Cost Function & Constraints Minimize Area = xy, nonlinear! (x, y: width and height of the resulting floorplan) How to fix? Fix the width W and minimize the height y! Four types of constraints: 1. no two modules overlap ( i, j : 1 i < j n); 2. each module is enclosed within a rectangle of width W and height H (x i + w i W, y i + h i H, 1 i n); 3. x i 0, y i 0, 1 i n; 4. p ij, q ij {0, 1}. w i, h i are known.

36 Mixed ILP for Floorplanning Mixed ILP for the floorplanning problem with rigid, fixed modules. min y subject to x i + w i W, 1 i n (1) y i + h i y, 1 i n (2) x i + w i x j + W (p ij + q ij ), 1 i < j n (3) y i + h i y j + H(1 + p ij q ij ), 1 i < j n (4) x i w j x j W (1 p ij + q ij ), 1 i < j n (5) y i h j y j H(2 p ij q ij ), 1 i < j n (6) x i, y i 0, 1 i n (7) p ij, q ij {0, 1}, 1 i < j n (8) Size of the mixed ILP: for n modules, # continuous variables: O(n); # integer variables: O(n 2 ); # linear constraints: O(n 2 ). Unacceptably huge program for a large n! (How to cope with it?) Popular LP software: LINDO, lp solve, etc.

37 Mixed ILP for Floorplanning (cont d) Mixed ILP for the floorplanning problem: rigid, freely oriented modules. min y subject to x i + r i h i + (1 r i )w i W, 1 i n (9) y i + r i w i + (1 r i )h i y, 1 i n (10) x i + r i h i + (1 r i )w i x j + M(p ij + q ij ), 1 i < j n (11) y i + r i w i (1 r i )h i y j + M(1 + p ij q ij ), 1 i < j n (12) x i r j h j + (1 r j )w j x j M(1 p ij + q ij ), 1 i < j n (13) y i r j w j (1 r j )h j y j M(2 p ij q ij ), 1 i < j n (14) x i, y i 0, 1 i n (15) p ij, q ij {0, 1}, 1 i < j n (16) For each module i with free orientation, associate a 0-1 variable r i : r i = 0: 0 rotation for module i. r i = 1: 90 rotation for module i. M = max{w, H}.

38 Flexible Modules Assumptions: w i, h i are unknown; area lower bound: A i. Module size constraints: w i h i A i ; a i w i h i b i. Hence, w min = A i a i, w max = A i b i, h min = w i h i A i nonlinear! How to fix? A i b i, h max = A i a i. Can apply a first-order approximation of the equation: a line passing through (w min, h max ) and (w max, h min ). h i = i w i + c i / y = mx + c / i = h max h min w min w max / slope / c i = h max i w min / c = y 0 mx 0 / Substitute i w i +c i for h i toform linear constraints (x i,y i,w i are unknown; i, c i,can be computed as above).

39 Wirelength Constraint Critical nets Timing analysis, power analysis, etc 6 new continuous variables per net Half perimeter of bounding box of each net is bounded Overhead is not significant: time dependence on # of continuous variable is at most linear n n n n n n n n n i n i n i n i n L y x y y y x x x n i y y n i y y n i x x n i x x + = = = =, ˆ, ˆ min ˆ, max min ˆ, max

40 Reducing the Size of the Mixed ILP Time complexity of a mixed ILP: exponential! Recall the large size of the mixed ILP: # variables, # constraints: O(n 2 ). How to fix it? Key: Solve a partial problem at each step (successive augmentation) Questions: How to select next subgroup of modules? linear ordering based on connectivity. How to minimize the # of required variables?

41 Next group of modules Partial floorplan W

42 Reducing the Size of the Mixed ILP (cont d) Size of each successive mixed ILP depends on (1) # of modules in the next group; (2) size of the partially constructed floorplan. Keys to deal with (2) Minimize the problem size of the partial floorplan. Replace the already placed modules by a set of covering rectangles. # rectangles is usually much smaller than # placed modules. Dead space (a) (b) C3 C4 R4 R5 C2 R3 Horizontal cut edges C1 R2 R1 (c) (d)

43 I. Floorplanning with Fixed Modules Fixed modules only, no rotation allowed m 1 (4,5), m 2 (3,7), m 3 (6,4), m 4 (7,7) Practical Problems in VLSI Physical Design ILP Floorplanning (1/22)

44 ILP Formulation Practical Problems in VLSI Physical Design ILP Floorplanning (2/22)

45 Non-Overlapping Constraints (cont) Practical Problems in VLSI Physical Design ILP Floorplanning (3/22)

46 Additional Constraints Practical Problems in VLSI Physical Design ILP Floorplanning (4/22)

47 Solutions Using GLPK we get the following solutions: Practical Problems in VLSI Physical Design ILP Floorplanning (5/22)

48 Final Floorplan Why the non-optimality? Due to linear approximation of area objective (= y*) Chip width/height constraints also affected In fact, our ILP solution (y* = 12) is optimal under these conditions. Practical Problems in VLSI Physical Design ILP Floorplanning (6/22)

49 II. Floorplanning with Rotation Fixed modules, rotation allowed Fixed modules: m 1 (4,5), m 2 (3,7), m 3 (6,4), m 4 (7,7) Need 4 more binary variables for rotation: z 1, z 2, z 3, z 4 We use M = max{w,h} = 23 Practical Problems in VLSI Physical Design ILP Floorplanning (7/22)

50 ILP Formulation Practical Problems in VLSI Physical Design ILP Floorplanning (8/22)

51 Non-Overlapping Constraints (cont) Practical Problems in VLSI Physical Design ILP Floorplanning (9/22)

52 Non-Overlapping Constraints (cont) Practical Problems in VLSI Physical Design ILP Floorplanning (10/22)

53 Additional Constraints Practical Problems in VLSI Physical Design ILP Floorplanning (11/22)

54 Solutions Using GLPK we get the following solutions: Practical Problems in VLSI Physical Design ILP Floorplanning (12/22)

55 III. Floorplanning with Flexible Modules 2 Fixed modules: m 1 (4,5), m 2 (3,7) (rotation allowed) 2 Flexible modules: m 3 : area = 24, aspect ratio [0.5, 2] m 4 : area = 49, aspect ratio [0.3, 2.5] Practical Problems in VLSI Physical Design ILP Floorplanning (13/22)

56 Linear Approximation Practical Problems in VLSI Physical Design ILP Floorplanning (14/22)

57 Linear Approximation (cont) Practical Problems in VLSI Physical Design ILP Floorplanning (15/22)

58 Upper Bound of Chip Dimension Practical Problems in VLSI Physical Design ILP Floorplanning (16/22)

59 Non-Overlap Constraint Practical Problems in VLSI Physical Design ILP Floorplanning (17/22)

60 Non-Overlap Constraint (cont) Practical Problems in VLSI Physical Design ILP Floorplanning (18/22)

61 More Constraints Practical Problems in VLSI Physical Design ILP Floorplanning (19/22)

62 Solutions Practical Problems in VLSI Physical Design ILP Floorplanning (20/22)

63 Comparison Fixed modules only = Rotation allowed = Flexible modules used = Practical Problems in VLSI Physical Design ILP Floorplanning (21/22)

64 Approximation Error and Overlap Due to linear approximation Approximated area of m 3 = = (actually 24) Approximated area of m 4 = = (actually 49) Real area of m 3 = = 24 Real area of m 4 = = 49 Floorplan area increases, overlap occurs Practical Problems in VLSI Physical Design ILP Floorplanning (22/22)

65 P-admissible Solution Space P-admissible solution space for Problem P: 1. the solution space is finite, 2. every solution is feasible, 3. evaluation for each configuration is possible in polynomial time and so is the implementation of the corresponding configuration, and 4. the configuration corresponding to the best evaluated solution in the space coincides with an optimal solution of P. Slicing floorplan is not P-admissible. Why? A P-admissible floorplan representation: Sequence Pair.

66 Sequence-Pair Based Floorplanning/Placement Murata, et al, ICCAD-95; Nakatake, et al, ICCAD-96; Murata, et al, ISPD-97; Murata and Kuh, ISPD-98; Xu, et al, ISPD-98; Kang and Dai, ISPD-98, ICCAD-98. Represent a packing by a pair of module-name sequences (e.g., (abdecf, cbf ade)). Correspond all pairs of the sequences to a P-admissible solution space. Search in the P-admissible solution space (typically, by simulated annealing). a d e a d e a d e b b b c f c f c f A floorplan Loci of module b

67 Relative Module Positions A floorplan is a partition of a chip into rooms, each containing at most one block. Locus (right-up, left-down, up-left, down-right) 1. Take a non-empty room. 2. Start at the center of the room, walk in two alternating directions to hit the sides of rooms. 3. Continue until to reach a corner of the chip. Positive locus: Union of right-up locus and left-down locus. Negative locus: Union of up-left locus and down-right locus. a d e a d e a d e b b b c f c f c f Loci of module b Positive loci: abdecf Negative loci: cbfade

68 Geometrical Information No pair of positive (negative) loci cross each other, i.e., loci are linearly ordered. Sequence Pair (Γ +, Γ ): Γ + is a module-name sequence representing the order of positive loci. (Exp: (Γ +, Γ ) = (abdecf, cbfade)) x is after (before) x in both Γ + and Γ = x is right (left) to x. x is after (before) x in Γ + and before (after) x in Γ = x is below (above) x. a d e a d e a d e b b b c f c f c f Loci of module b Positive loci: abdecf Negative loci: cbfade

69 (Γ +, Γ )-Packing For every sequence pair (Γ +, Γ ), there is a (Γ +, Γ ) packing. Horizontal constraint graph G H (V, E) (similarly for G V (V, E)): V : source s, sink t, m vertices for modules. E: (s, x) and (x, t) for each module x, and (x, x ) iff x must be left-to x. Vertex weight: 0 for s and t, width of module x for the other vertices. t b a d e s b a d e t b a d e c f c f c f Packing for sequence pair: (abdecf, cbfade) Horizontal constraint graph (Transitive edges are not shown) s Vertical constraint graph (Transitive edges are not shown)

70 Optimal (Γ +, Γ )-Packing Optimal (Γ +, Γ )-Packing can be obtained in O(m 2 ) time by applying a longest path algorithm on a vertex-weighted directed acyclic graph. G H and G V are independent. The X and Y coordinates of each module are determined as the minimum by assigning the longest path length between s and the vertex of the module in G H and G V, respectively. The set of all sequence pairs is a P-admissible solution space. t b a d e s b a d e t b a d e c f c f c f Packing for sequence pair: (abdecf, cbfade) Horizontal constraint graph (Transitive edges are not shown) s Vertical constraint graph (Transitive edges are not shown)

71 Sequence Pair Final chip area? Solution space size? Without rotation vs with rotation Optimization: Simulated Annealing Initial solution: Γ + = Γ - Swap two modules in Γ + Swap two modules both in Γ + and Γ - Rotate Results: produces highly packed non-slicing floorplans

72 Annealing Temperature vs. Floorplan Quality m8 m11 m7 m0 m10 m4 m1 m m2 m12 m9 m5 m13 m m6 m5 m8 m13 m9 m m3 m1 m m3 m6 m1 m11 m9 m4 m m8 m (a) temperature: 2000 area: % (b) temperature: 1000 area: (c) temperature: 20 area: %

73 Sequence Pair Floorplan (a) S1: S2: Floorplan (b) S1: S2: Floorplan (c) S1: S2:

74 Non Slicing Floorplan Sequence Pair + SA by Adam & Todd (class project)

75 Sequence Pair Representation Initial SP: SP 1 = ( , ) Dimensions: (2,4), (1,3), (3,3), (3,5), (3,2), (5,3), (1,2), (2,4) Based on SP 1 we build the following table: Practical Problems in VLSI Physical Design Sequence Pair Method (1/13)

76 Constraint Graphs Horizontal constraint graph (HCG) Before and after removing transitive edges Practical Problems in VLSI Physical Design Sequence Pair Method (2/13)

77 Constraint Graphs (cont) Vertical constraint graph (VCG) Practical Problems in VLSI Physical Design Sequence Pair Method (3/13)

78 Computing Chip Width and Height Longest source-sink path length in: HCG = chip width, VCG = chip height Node weight = module width/height Practical Problems in VLSI Physical Design Sequence Pair Method (4/13)

79 Computing Module Location Use longest source-module path length in HCG/VCG Lower-left corner location = source to module input path length Practical Problems in VLSI Physical Design Sequence Pair Method (5/13)

80 Final Floorplan Dimension: Practical Problems in VLSI Physical Design Sequence Pair Method (6/13)

81 Move I Swap 1 and 3 in positive sequence of SP 1 SP 1 = ( , ) SP 2 = ( , ) Practical Problems in VLSI Physical Design Sequence Pair Method (7/13)

82 Constraint Graphs Practical Problems in VLSI Physical Design Sequence Pair Method (8/13)

83 Constructing Floorplan Dimension: Practical Problems in VLSI Physical Design Sequence Pair Method (9/13)

84 Move II Swap 4 and 6 in both sequences of SP 2 SP 2 = ( , ) SP 3 = ( , ) Practical Problems in VLSI Physical Design Sequence Pair Method (10/13)

85 Constraint Graphs Practical Problems in VLSI Physical Design Sequence Pair Method (11/13)

86 Constructing Floorplan Dimension: Practical Problems in VLSI Physical Design Sequence Pair Method (12/13)

87 Summary Impact of the moves: Floorplan dimension changes from to to Practical Problems in VLSI Physical Design Sequence Pair Method (13/13)

Optimal Folding Of Bit Sliced Stacks+

Optimal Folding Of Bit Sliced Stacks+ Optimal Folding Of Bit Sliced Stacks+ Doowon Paik University of Minnesota Sartaj Sahni University of Florida Abstract We develop fast polynomial time algorithms to optimally fold stacked bit sliced architectures

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms CSE 0, Winter 08 Design and Analysis of Algorithms Lecture 8: Consolidation # (DP, Greed, NP-C, Flow) Class URL: http://vlsicad.ucsd.edu/courses/cse0-w8/ Followup on IGO, Annealing Iterative Global Optimization

More information

EE/ACM Applications of Convex Optimization in Signal Processing and Communications Lecture 18

EE/ACM Applications of Convex Optimization in Signal Processing and Communications Lecture 18 EE/ACM 150 - Applications of Convex Optimization in Signal Processing and Communications Lecture 18 Andre Tkacenko Signal Processing Research Group Jet Propulsion Laboratory May 31, 2012 Andre Tkacenko

More information

Unit 1A: Computational Complexity

Unit 1A: Computational Complexity Unit 1A: Computational Complexity Course contents: Computational complexity NP-completeness Algorithmic Paradigms Readings Chapters 3, 4, and 5 Unit 1A 1 O: Upper Bounding Function Def: f(n)= O(g(n)) if

More information

King Fahd University of Petroleum & Minerals College of Computer Sciences & Engineering Department of Computer Engineering.

King Fahd University of Petroleum & Minerals College of Computer Sciences & Engineering Department of Computer Engineering. King Fahd University of Petroleum & Minerals College of Computer Sciences & Engineering Department of Computer Engineering VLSI Placement Sadiq M. Sait & Habib Youssef December 1995 Placement P lacement

More information

3.10 Lagrangian relaxation

3.10 Lagrangian relaxation 3.10 Lagrangian relaxation Consider a generic ILP problem min {c t x : Ax b, Dx d, x Z n } with integer coefficients. Suppose Dx d are the complicating constraints. Often the linear relaxation and the

More information

EE582 Physical Design Automation of VLSI Circuits and Systems

EE582 Physical Design Automation of VLSI Circuits and Systems EE582 Prof. Dae Hyun Kim School of Electrical Engineering and Computer Science Washington State University Placement Metrics for Placement Wirelength Timing Power Routing congestion 2 Wirelength Estimation

More information

3.7 Strong valid inequalities for structured ILP problems

3.7 Strong valid inequalities for structured ILP problems 3.7 Strong valid inequalities for structured ILP problems By studying the problem structure, we can derive strong valid inequalities yielding better approximations of conv(x ) and hence tighter bounds.

More information

Zebo Peng Embedded Systems Laboratory IDA, Linköping University

Zebo Peng Embedded Systems Laboratory IDA, Linköping University TDTS 01 Lecture 8 Optimization Heuristics for Synthesis Zebo Peng Embedded Systems Laboratory IDA, Linköping University Lecture 8 Optimization problems Heuristic techniques Simulated annealing Genetic

More information

Integer programming: an introduction. Alessandro Astolfi

Integer programming: an introduction. Alessandro Astolfi Integer programming: an introduction Alessandro Astolfi Outline Introduction Examples Methods for solving ILP Optimization on graphs LP problems with integer solutions Summary Introduction Integer programming

More information

Buffered Clock Tree Sizing for Skew Minimization under Power and Thermal Budgets

Buffered Clock Tree Sizing for Skew Minimization under Power and Thermal Budgets Buffered Clock Tree Sizing for Skew Minimization under Power and Thermal Budgets Krit Athikulwongse, Xin Zhao, and Sung Kyu Lim School of Electrical and Computer Engineering Georgia Institute of Technology

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock, crew scheduling, vehicle

More information

University of Toronto Department of Electrical and Computer Engineering. Final Examination. ECE 345 Algorithms and Data Structures Fall 2016

University of Toronto Department of Electrical and Computer Engineering. Final Examination. ECE 345 Algorithms and Data Structures Fall 2016 University of Toronto Department of Electrical and Computer Engineering Final Examination ECE 345 Algorithms and Data Structures Fall 2016 Print your first name, last name, UTORid, and student number neatly

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making (discrete optimization) problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock,

More information

Santa Claus Schedules Jobs on Unrelated Machines

Santa Claus Schedules Jobs on Unrelated Machines Santa Claus Schedules Jobs on Unrelated Machines Ola Svensson (osven@kth.se) Royal Institute of Technology - KTH Stockholm, Sweden March 22, 2011 arxiv:1011.1168v2 [cs.ds] 21 Mar 2011 Abstract One of the

More information

Representations of All Solutions of Boolean Programming Problems

Representations of All Solutions of Boolean Programming Problems Representations of All Solutions of Boolean Programming Problems Utz-Uwe Haus and Carla Michini Institute for Operations Research Department of Mathematics ETH Zurich Rämistr. 101, 8092 Zürich, Switzerland

More information

Integer Linear Programming (ILP)

Integer Linear Programming (ILP) Integer Linear Programming (ILP) Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU in Prague March 8, 2017 Z. Hanzálek (CTU) Integer Linear Programming (ILP) March 8, 2017 1 / 43 Table of contents

More information

Solving the MWT. Recall the ILP for the MWT. We can obtain a solution to the MWT problem by solving the following ILP:

Solving the MWT. Recall the ILP for the MWT. We can obtain a solution to the MWT problem by solving the following ILP: Solving the MWT Recall the ILP for the MWT. We can obtain a solution to the MWT problem by solving the following ILP: max subject to e i E ω i x i e i C E x i {0, 1} x i C E 1 for all critical mixed cycles

More information

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except

More information

3.4 Relaxations and bounds

3.4 Relaxations and bounds 3.4 Relaxations and bounds Consider a generic Discrete Optimization problem z = min{c(x) : x X} with an optimal solution x X. In general, the algorithms generate not only a decreasing sequence of upper

More information

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748 COT 6936: Topics in Algorithms! Giri Narasimhan ECS 254A / EC 2443; Phone: x3748 giri@cs.fiu.edu https://moodle.cis.fiu.edu/v2.1/course/view.php?id=612 Gaussian Elimination! Solving a system of simultaneous

More information

Theoretical Computer Science

Theoretical Computer Science Theoretical Computer Science 411 (010) 417 44 Contents lists available at ScienceDirect Theoretical Computer Science journal homepage: wwwelseviercom/locate/tcs Resource allocation with time intervals

More information

Numerical Optimization

Numerical Optimization Linear Programming Computer Science and Automation Indian Institute of Science Bangalore 560 012, India. NPTEL Course on min x s.t. Transportation Problem ij c ijx ij 3 j=1 x ij a i, i = 1, 2 2 i=1 x ij

More information

CS 6820 Fall 2014 Lectures, October 3-20, 2014

CS 6820 Fall 2014 Lectures, October 3-20, 2014 Analysis of Algorithms Linear Programming Notes CS 6820 Fall 2014 Lectures, October 3-20, 2014 1 Linear programming The linear programming (LP) problem is the following optimization problem. We are given

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Sito web: http://home.deib.polimi.it/amaldi/ott-13-14.shtml A.A. 2013-14 Edoardo

More information

Maximum Flow Problem (Ford and Fulkerson, 1956)

Maximum Flow Problem (Ford and Fulkerson, 1956) Maximum Flow Problem (Ford and Fulkerson, 196) In this problem we find the maximum flow possible in a directed connected network with arc capacities. There is unlimited quantity available in the given

More information

12. LOCAL SEARCH. gradient descent Metropolis algorithm Hopfield neural networks maximum cut Nash equilibria

12. LOCAL SEARCH. gradient descent Metropolis algorithm Hopfield neural networks maximum cut Nash equilibria 12. LOCAL SEARCH gradient descent Metropolis algorithm Hopfield neural networks maximum cut Nash equilibria Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley h ttp://www.cs.princeton.edu/~wayne/kleinberg-tardos

More information

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved. Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 1 P and NP P: The family of problems that can be solved quickly in polynomial time.

More information

Nonlinear Programming (Hillier, Lieberman Chapter 13) CHEM-E7155 Production Planning and Control

Nonlinear Programming (Hillier, Lieberman Chapter 13) CHEM-E7155 Production Planning and Control Nonlinear Programming (Hillier, Lieberman Chapter 13) CHEM-E7155 Production Planning and Control 19/4/2012 Lecture content Problem formulation and sample examples (ch 13.1) Theoretical background Graphical

More information

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Week Cuts, Branch & Bound, and Lagrangean Relaxation Week 11 1 Integer Linear Programming This week we will discuss solution methods for solving integer linear programming problems. I will skip the part on complexity theory, Section 11.8, although this is

More information

MATH 118 FINAL EXAM STUDY GUIDE

MATH 118 FINAL EXAM STUDY GUIDE MATH 118 FINAL EXAM STUDY GUIDE Recommendations: 1. Take the Final Practice Exam and take note of questions 2. Use this study guide as you take the tests and cross off what you know well 3. Take the Practice

More information

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Definition: An Integer Linear Programming problem is an optimization problem of the form (ILP) min

More information

Chapter 1 Linear Equations and Graphs

Chapter 1 Linear Equations and Graphs Chapter 1 Linear Equations and Graphs Section R Linear Equations and Inequalities Important Terms, Symbols, Concepts 1.1. Linear Equations and Inequalities A first degree, or linear, equation in one variable

More information

Physical Mapping. Restriction Mapping. Lecture 12. A physical map of a DNA tells the location of precisely defined sequences along the molecule.

Physical Mapping. Restriction Mapping. Lecture 12. A physical map of a DNA tells the location of precisely defined sequences along the molecule. Computat onal iology Lecture 12 Physical Mapping physical map of a DN tells the location of precisely defined sequences along the molecule. Restriction mapping: mapping of restriction sites of a cutting

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-16-17.shtml Academic year 2016-17

More information

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved. Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 1 Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should

More information

3.7 Cutting plane methods

3.7 Cutting plane methods 3.7 Cutting plane methods Generic ILP problem min{ c t x : x X = {x Z n + : Ax b} } with m n matrix A and n 1 vector b of rationals. According to Meyer s theorem: There exists an ideal formulation: conv(x

More information

CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017

CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017 CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017 Linear Function f: R n R is linear if it can be written as f x = a T x for some a R n Example: f x 1, x 2 =

More information

Introduction to Bin Packing Problems

Introduction to Bin Packing Problems Introduction to Bin Packing Problems Fabio Furini March 13, 2015 Outline Origins and applications Applications: Definition: Bin Packing Problem (BPP) Solution techniques for the BPP Heuristic Algorithms

More information

Perfect-Balance Planar Clock. Routing with Minimal Path Length UCSC-CRL March 26, University of California, Santa Cruz

Perfect-Balance Planar Clock. Routing with Minimal Path Length UCSC-CRL March 26, University of California, Santa Cruz Perfect-Balance Planar Clock Routing with Minimal Path Length Qing Zhu Wayne W.M. Dai UCSC-CRL-93-17 supercedes UCSC-CRL-92-12 March 26, 1993 Board of Studies in Computer Engineering University of California,

More information

CS60007 Algorithm Design and Analysis 2018 Assignment 1

CS60007 Algorithm Design and Analysis 2018 Assignment 1 CS60007 Algorithm Design and Analysis 2018 Assignment 1 Palash Dey and Swagato Sanyal Indian Institute of Technology, Kharagpur Please submit the solutions of the problems 6, 11, 12 and 13 (written in

More information

Simultaneous Shield Insertion and Net Ordering for Capacitive and Inductive Coupling Minimization

Simultaneous Shield Insertion and Net Ordering for Capacitive and Inductive Coupling Minimization Simultaneous Shield Insertion and Net Ordering for Capacitive and Inductive Coupling Minimization Lei He University of Wisconsin 1415 Engineering Drive Madison, WI 53706 (608) 262-3736 lhe@ece.wisc.edu

More information

The Fast Optimal Voltage Partitioning Algorithm For Peak Power Density Minimization

The Fast Optimal Voltage Partitioning Algorithm For Peak Power Density Minimization The Fast Optimal Voltage Partitioning Algorithm For Peak Power Density Minimization Jia Wang, Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University Houghton, Michigan

More information

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

ACO Comprehensive Exam March 20 and 21, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms Part a: You are given a graph G = (V,E) with edge weights w(e) > 0 for e E. You are also given a minimum cost spanning tree (MST) T. For one particular edge

More information

OPTIMIZATION. joint course with. Ottimizzazione Discreta and Complementi di R.O. Edoardo Amaldi. DEIB Politecnico di Milano

OPTIMIZATION. joint course with. Ottimizzazione Discreta and Complementi di R.O. Edoardo Amaldi. DEIB Politecnico di Milano OPTIMIZATION joint course with Ottimizzazione Discreta and Complementi di R.O. Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-15-16.shtml

More information

On shredders and vertex connectivity augmentation

On shredders and vertex connectivity augmentation On shredders and vertex connectivity augmentation Gilad Liberman The Open University of Israel giladliberman@gmail.com Zeev Nutov The Open University of Israel nutov@openu.ac.il Abstract We consider the

More information

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof T-79.5103 / Autumn 2006 NP-complete problems 1 NP-COMPLETE PROBLEMS Characterizing NP Variants of satisfiability Graph-theoretic problems Coloring problems Sets and numbers Pseudopolynomial algorithms

More information

Gestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA

Gestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA Gestion de la production Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA 1 Contents 1 Integer Linear Programming 3 1.1 Definitions and notations......................................

More information

Multi-Objective Module Placement For 3-D System-On-Package

Multi-Objective Module Placement For 3-D System-On-Package IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 14, NO. 5, MAY 2006 553 Multi-Objective Module Placement For 3-D System-On-Package Eric Wong, Jacob Minz, and Sung Kyu Lim Abstract

More information

SDP Relaxations for MAXCUT

SDP Relaxations for MAXCUT SDP Relaxations for MAXCUT from Random Hyperplanes to Sum-of-Squares Certificates CATS @ UMD March 3, 2017 Ahmed Abdelkader MAXCUT SDP SOS March 3, 2017 1 / 27 Overview 1 MAXCUT, Hardness and UGC 2 LP

More information

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP) INTEGER PROGRAMMING Integer Programming g In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

More information

Decision Procedures An Algorithmic Point of View

Decision Procedures An Algorithmic Point of View An Algorithmic Point of View ILP References: Integer Programming / Laurence Wolsey Deciding ILPs with Branch & Bound Intro. To mathematical programming / Hillier, Lieberman Daniel Kroening and Ofer Strichman

More information

Fixed Perimeter Rectangles

Fixed Perimeter Rectangles Rectangles You have a flexible fence of length L = 13 meters. You want to use all of this fence to enclose a rectangular plot of land of at least 8 square meters in area. 1. Determine a function for the

More information

Computational complexity for minimizing wire length in two- and multi-layer channel routing

Computational complexity for minimizing wire length in two- and multi-layer channel routing Advances in Computational Sciences and Technology ISSN 0973-6107 Volume 10, Number 8 (2017) pp. 2685-2692 Research India Publications http://www.ripublication.com Computational complexity for minimizing

More information

Distributed Optimization. Song Chong EE, KAIST

Distributed Optimization. Song Chong EE, KAIST Distributed Optimization Song Chong EE, KAIST songchong@kaist.edu Dynamic Programming for Path Planning A path-planning problem consists of a weighted directed graph with a set of n nodes N, directed links

More information

Chapter 4. Inequalities

Chapter 4. Inequalities Chapter 4 Inequalities Vannevar Bush, Internet Pioneer 4.1 Inequalities 4. Absolute Value 4.3 Graphing Inequalities with Two Variables Chapter Review Chapter Test 64 Section 4.1 Inequalities Unlike equations,

More information

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009 Branch-and-Bound Algorithm November 3, 2009 Outline Lecture 23 Modeling aspect: Either-Or requirement Special ILPs: Totally unimodular matrices Branch-and-Bound Algorithm Underlying idea Terminology Formal

More information

NP-Completeness. NP-Completeness 1

NP-Completeness. NP-Completeness 1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979. NP-Completeness 1 General Problems, Input Size and

More information

CS 781 Lecture 9 March 10, 2011 Topics: Local Search and Optimization Metropolis Algorithm Greedy Optimization Hopfield Networks Max Cut Problem Nash

CS 781 Lecture 9 March 10, 2011 Topics: Local Search and Optimization Metropolis Algorithm Greedy Optimization Hopfield Networks Max Cut Problem Nash CS 781 Lecture 9 March 10, 2011 Topics: Local Search and Optimization Metropolis Algorithm Greedy Optimization Hopfield Networks Max Cut Problem Nash Equilibrium Price of Stability Coping With NP-Hardness

More information

Integer Linear Programming Modeling

Integer Linear Programming Modeling DM554/DM545 Linear and Lecture 9 Integer Linear Programming Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. Assignment Problem Knapsack Problem

More information

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502) Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik Combinatorial Optimization (MA 4502) Dr. Michael Ritter Problem Sheet 1 Homework Problems Exercise

More information

Linear Programming. Linear Programming I. Lecture 1. Linear Programming. Linear Programming

Linear Programming. Linear Programming I. Lecture 1. Linear Programming. Linear Programming Linear Programming Linear Programming Lecture Linear programming. Optimize a linear function subject to linear inequalities. (P) max " c j x j n j= n s. t. " a ij x j = b i # i # m j= x j 0 # j # n (P)

More information

6.854 Advanced Algorithms

6.854 Advanced Algorithms 6.854 Advanced Algorithms Homework 5 Solutions 1 10 pts Define the following sets: P = positions on the results page C = clicked old results U = unclicked old results N = new results and let π : (C U)

More information

arxiv: v1 [cs.ds] 26 Feb 2016

arxiv: v1 [cs.ds] 26 Feb 2016 On the computational complexity of minimum-concave-cost flow in a two-dimensional grid Shabbir Ahmed, Qie He, Shi Li, George L. Nemhauser arxiv:1602.08515v1 [cs.ds] 26 Feb 2016 Abstract We study the minimum-concave-cost

More information

Introduction to Algorithms

Introduction to Algorithms Introduction to Algorithms 6.046J/18.401J/SMA5503 Lecture 18 Prof. Erik Demaine Negative-weight cycles Recall: If a graph G = (V, E) contains a negativeweight cycle, then some shortest paths may not exist.

More information

CS Algorithms and Complexity

CS Algorithms and Complexity CS 50 - Algorithms and Complexity Linear Programming, the Simplex Method, and Hard Problems Sean Anderson 2/15/18 Portland State University Table of contents 1. The Simplex Method 2. The Graph Problem

More information

Math 120 Final Exam Practice Problems, Form: A

Math 120 Final Exam Practice Problems, Form: A Math 120 Final Exam Practice Problems, Form: A Name: While every attempt was made to be complete in the types of problems given below, we make no guarantees about the completeness of the problems. Specifically,

More information

III. Linear Programming

III. Linear Programming III. Linear Programming Thomas Sauerwald Easter 2017 Outline Introduction Standard and Slack Forms Formulating Problems as Linear Programs Simplex Algorithm Finding an Initial Solution III. Linear Programming

More information

Steiner Trees in Chip Design. Jens Vygen. Hangzhou, March 2009

Steiner Trees in Chip Design. Jens Vygen. Hangzhou, March 2009 Steiner Trees in Chip Design Jens Vygen Hangzhou, March 2009 Introduction I A digital chip contains millions of gates. I Each gate produces a signal (0 or 1) once every cycle. I The output signal of a

More information

1 Functions and Graphs

1 Functions and Graphs 1 Functions and Graphs 1.1 Functions Cartesian Coordinate System A Cartesian or rectangular coordinate system is formed by the intersection of a horizontal real number line, usually called the x axis,

More information

Motivating examples Introduction to algorithms Simplex algorithm. On a particular example General algorithm. Duality An application to game theory

Motivating examples Introduction to algorithms Simplex algorithm. On a particular example General algorithm. Duality An application to game theory Instructor: Shengyu Zhang 1 LP Motivating examples Introduction to algorithms Simplex algorithm On a particular example General algorithm Duality An application to game theory 2 Example 1: profit maximization

More information

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming: models and applications; complexity Ann-Brith Strömberg 2011 04 01 Modelling with integer variables (Ch. 13.1) Variables Linear programming (LP) uses continuous

More information

R1: Sets A set is a collection of objects sets are written using set brackets each object in onset is called an element or member

R1: Sets A set is a collection of objects sets are written using set brackets each object in onset is called an element or member Chapter R Review of basic concepts * R1: Sets A set is a collection of objects sets are written using set brackets each object in onset is called an element or member Ex: Write the set of counting numbers

More information

Resource Sharing, Routing, Chip Design. Jens Vygen

Resource Sharing, Routing, Chip Design. Jens Vygen Resource Sharing, Routing, Chip Design Jens Vygen University of Bonn joint work with Markus Ahrens, Michael Gester, Stephan Held, Niko Klewinghaus, Dirk Müller, Tim Nieberg, Christian Panten, Sven Peyer,

More information

Markov Decision Processes

Markov Decision Processes Markov Decision Processes Lecture notes for the course Games on Graphs B. Srivathsan Chennai Mathematical Institute, India 1 Markov Chains We will define Markov chains in a manner that will be useful to

More information

1.2. Direction Fields: Graphical Representation of the ODE and its Solution Let us consider a first order differential equation of the form dy

1.2. Direction Fields: Graphical Representation of the ODE and its Solution Let us consider a first order differential equation of the form dy .. Direction Fields: Graphical Representation of the ODE and its Solution Let us consider a first order differential equation of the form dy = f(x, y). In this section we aim to understand the solution

More information

HIGH-PERFORMANCE circuits consume a considerable

HIGH-PERFORMANCE circuits consume a considerable 1166 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL 17, NO 11, NOVEMBER 1998 A Matrix Synthesis Approach to Thermal Placement Chris C N Chu D F Wong Abstract In this

More information

An Improved Two-Stage Optimization-Based Framework for Unequal-Areas Facility Layout

An Improved Two-Stage Optimization-Based Framework for Unequal-Areas Facility Layout An Improved Two-Stage Optimization-Based Framework for Unequal-Areas Facility Layout Miguel F. Anjos Professor and Canada Research Chair INRIA International Chair Academic Director, Institut de l énergie

More information

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs Computational Integer Programming Lecture 2: Modeling and Formulation Dr. Ted Ralphs Computational MILP Lecture 2 1 Reading for This Lecture N&W Sections I.1.1-I.1.6 Wolsey Chapter 1 CCZ Chapter 2 Computational

More information

LINEAR PROGRAMMING I. a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm

LINEAR PROGRAMMING I. a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm Linear programming Linear programming. Optimize a linear function subject to linear inequalities. (P) max c j x j n j= n s. t. a ij x j = b i i m j= x j 0 j n (P) max c T x s. t. Ax = b Lecture slides

More information

Advanced Topics in Operations Research

Advanced Topics in Operations Research Advanced Topics in Operations Research jla@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark 1 Why look at the Set Partitioning Problem? The Set Partitioning Problem has

More information

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM 8. INTRACTABILITY I poly-time reductions packing and covering problems constraint satisfaction problems sequencing problems partitioning problems graph coloring numerical problems Lecture slides by Kevin

More information

A Revisit to Floorplan Optimization by Lagrangian Relaxation

A Revisit to Floorplan Optimization by Lagrangian Relaxation A Revisit to Floorplan Optimization by Lagrangian Relaxation Chuan Lin Magma Design Automation Santa Clara, CA 9 clin@magma-da.com Hai Zhou EECS Department Northwestern University Evanston, IL 628 haizhou@eecs.northwestern.edu

More information

Robust Network Codes for Unicast Connections: A Case Study

Robust Network Codes for Unicast Connections: A Case Study Robust Network Codes for Unicast Connections: A Case Study Salim Y. El Rouayheb, Alex Sprintson, and Costas Georghiades Department of Electrical and Computer Engineering Texas A&M University College Station,

More information

Notes for Lecture Notes 2

Notes for Lecture Notes 2 Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

Lecture slides by Kevin Wayne

Lecture slides by Kevin Wayne LINEAR PROGRAMMING I a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm Lecture slides by Kevin Wayne Last updated on 7/25/17 11:09 AM Linear programming

More information

Integer vs. constraint programming. IP vs. CP: Language

Integer vs. constraint programming. IP vs. CP: Language Discrete Math for Bioinformatics WS 0/, by A. Bockmayr/K. Reinert,. Januar 0, 0:6 00 Integer vs. constraint programming Practical Problem Solving Model building: Language Model solving: Algorithms IP vs.

More information

Optimum Prefix Adders in a Comprehensive Area, Timing and Power Design Space

Optimum Prefix Adders in a Comprehensive Area, Timing and Power Design Space Optimum Prefix Adders in a Comprehensive Area, Timing and Power Design Space Jianhua Liu, Yi Zhu, Haikun Zhu, John Lillis 2, Chung-Kuan Cheng Department of Computer Science and Engineering University of

More information

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

CSC Design and Analysis of Algorithms. LP Shader Electronics Example CSC 80- Design and Analysis of Algorithms Lecture (LP) LP Shader Electronics Example The Shader Electronics Company produces two products:.eclipse, a portable touchscreen digital player; it takes hours

More information

Theory of Computation Time Complexity

Theory of Computation Time Complexity Theory of Computation Time Complexity Bow-Yaw Wang Academia Sinica Spring 2012 Bow-Yaw Wang (Academia Sinica) Time Complexity Spring 2012 1 / 59 Time for Deciding a Language Let us consider A = {0 n 1

More information

3.8 Strong valid inequalities

3.8 Strong valid inequalities 3.8 Strong valid inequalities By studying the problem structure, we can derive strong valid inequalities which lead to better approximations of the ideal formulation conv(x ) and hence to tighter bounds.

More information

Structured Problems and Algorithms

Structured Problems and Algorithms Integer and quadratic optimization problems Dept. of Engg. and Comp. Sci., Univ. of Cal., Davis Aug. 13, 2010 Table of contents Outline 1 2 3 Benefits of Structured Problems Optimization problems may become

More information

Optimisation and Operations Research

Optimisation and Operations Research Optimisation and Operations Research Lecture 11: Integer Programming Matthew Roughan http://www.maths.adelaide.edu.au/matthew.roughan/ Lecture_notes/OORII/ School of Mathematical

More information

CHAPTER 2: Polynomial and Rational Functions

CHAPTER 2: Polynomial and Rational Functions (Exercises for Chapter 2: Polynomial and Rational Functions) E.2.1 CHAPTER 2: Polynomial and Rational Functions (A) means refer to Part A, (B) means refer to Part B, etc. (Calculator) means use a calculator.

More information

COL351: Analysis and Design of Algorithms (CSE, IITD, Semester-I ) Name: Entry number:

COL351: Analysis and Design of Algorithms (CSE, IITD, Semester-I ) Name: Entry number: Name: Entry number: There are 5 questions for a total of 75 points. 1. (5 points) You are given n items and a sack that can hold at most W units of weight. The weight of the i th item is denoted by w(i)

More information

Yet Harder Knapsack Problems

Yet Harder Knapsack Problems Yet Harder Knapsack Problems Stasys Jukna,1 Georg Schnitger University of Frankfurt, Institut of Computer Science, D-60054 Frankfurt, Germany. Abstract Already 30 years ago, Chvátal has shown that some

More information

Recoverable Robustness in Scheduling Problems

Recoverable Robustness in Scheduling Problems Master Thesis Computing Science Recoverable Robustness in Scheduling Problems Author: J.M.J. Stoef (3470997) J.M.J.Stoef@uu.nl Supervisors: dr. J.A. Hoogeveen J.A.Hoogeveen@uu.nl dr. ir. J.M. van den Akker

More information

UTPlaceF 3.0: A Parallelization Framework for Modern FPGA Global Placement

UTPlaceF 3.0: A Parallelization Framework for Modern FPGA Global Placement UTPlaceF 3.0: A Parallelization Framework for Modern FPGA Global Placement Wuxi Li, Meng Li, Jiajun Wang, and David Z. Pan University of Texas at Austin wuxili@utexas.edu November 14, 2017 UT DA Wuxi Li

More information

MAP Examples. Sargur Srihari

MAP Examples. Sargur Srihari MAP Examples Sargur srihari@cedar.buffalo.edu 1 Potts Model CRF for OCR Topics Image segmentation based on energy minimization 2 Examples of MAP Many interesting examples of MAP inference are instances

More information

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle Directed Hamiltonian Cycle Chapter 8 NP and Computational Intractability Claim. G has a Hamiltonian cycle iff G' does. Pf. Suppose G has a directed Hamiltonian cycle Γ. Then G' has an undirected Hamiltonian

More information