Fall 2006, Sep. 5 and 7 ELEC5270-001/6270-001 Lecture 4 1 ELEC 5270-001/6270-001 (Fall 2006) Low-Power Design of Electronic Circuits (Formerly ELEC 5970-003/6970-003)

Slides:



Advertisements
Similar presentations
Tuesday, March 5 Duality – The art of obtaining bounds – weak and strong duality Handouts: Lecture Notes.
Advertisements

1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
Copyright Agrawal, 2011Lectures 8 and 9,: Linear Programming1 CSV881: Low-Power Design Linear Programming – A Mathematical Optimization Technique Vishwani.
Linear Programming and Simplex Algorithm Reference: Numerical Recipe Sec
10/28/2009VLSI Design & Test Seminar1 Diagnostic Tests and Full- Response Fault Dictionary Vishwani D. Agrawal ECE Dept., Auburn University Auburn, AL.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Lecture 8 Tuesday, 11/19/02 Linear Programming.
Linear Programming: Simplex Method and Sensitivity Analysis
1 of 56 Linear Programming-Based Approximation Algorithms Shoshana Neuburger Graduate Center, CUNY May 13, 2009.
ELEC Digital Logic Circuits Fall 2008 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
Introduction to Linear and Integer Programming
Compaction of Diagnostic Test Set for a Full-Response Dictionary Mohammed Ashfaq Shukoor Vishwani D. Agrawal 18th IEEE North Atlantic Test Workshop, 2009.
Minimum Dynamic Power CMOS Circuit Design by a Reduced Constraint Set Linear Program Tezaswi Raja Vishwani Agrawal Michael L. Bushnell Rutgers University,
1 Linear Programming Jose Rolim University of Geneva.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2006 Lecture 9 Wednesday, 11/15/06 Linear Programming.
Nov 29th 2006MS Thesis Defense1 Minimizing N-Detect Tests for Combinational Circuits Master’s Defense Kalyana R. Kantipudi Thesis Advisor: Dr. Vishwani.
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.
Introduction to Linear and Integer Programming Lecture 7: Feb 1.
Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Testability Measures Vishwani D. Agrawal James.
A Two Phase Approach for Minimal Diagnostic Test Set Generation Mohammed Ashfaq Shukoor Vishwani D. Agrawal 14th IEEE European Test Symposium Seville,
9/20/05ELEC / Lecture 81 ELEC / (Fall 2005) Special Topics in Electrical Engineering Low-Power Design of Electronic Circuits.
Spring 08, Feb 14 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Linear Programming – A Mathematical Optimization.
Spring 07, Feb 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Logic Equivalence Vishwani D. Agrawal James J.
Approximation Algorithms
Chapter 10: Iterative Improvement
Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 8 1 ELEC 5270/6270 Fall 2007 Low-Power Design of Electronic Circuits Linear Programming – A Mathematical.
May 28, 2003Minimum Dynamic Power CMOS1 Minimum Dynamic Power CMOS Circuits Vishwani D. Agrawal Rutgers University, Dept. of ECE Piscataway, NJ 08854
Jan 6-10th, 2007VLSI Design A Reduced Complexity Algorithm for Minimizing N-Detect Tests Kalyana R. Kantipudi Vishwani D. Agrawal Department of Electrical.
Fall 2006, Sep. 26, Oct. 3 ELEC / Lecture 7 1 ELEC / (Fall 2006) Low-Power Design of Electronic Circuits Dynamic Power:
March 17, 2008Southeastern Symposium on System Theory (SSST) 2008, March 16-18, New Orleans, Louisiana 1 Nitin Yogi and Dr. Vishwani D. Agrawal Auburn.
Jan. 6, 2006VLSI Design '061 On the Size and Generation of Minimal N-Detection Tests Kalyana R. Kantipudi Vishwani D. Agrawal Department of Electrical.
Fall 06, Sep 14 ELEC / Lecture 5 1 ELEC / (Fall 2006) Low-Power Design of Electronic Circuits (Formerly ELEC / )
February 4, 2009Shukoor: MS Thesis Defense1 Fault Detection and Diagnostic Test Set Minimization Master’s Defense Mohammed Ashfaq Shukoor Dept. of ECE,
Constrained Optimization Rong Jin. Outline  Equality constraints  Inequality constraints  Linear Programming  Quadratic Programming.
Spring 07, Mar 13, 15 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Linear Programming – A Mathematical Optimization.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2008 Lecture 9 Tuesday, 11/18/08 Linear Programming.
1 Linear Programming Supplements (Optional). 2 Standard Form LP (a.k.a. First Primal Form) Strictly ≤ All x j 's are non-negative.
LP formulation of Economic Dispatch
Course: Advanced Algorithms CSG713, Fall 2008 CCIS Department, Northeastern University Dimitrios Kanoulas.
Integrality Gaps for Sparsest Cut and Minimum Linear Arrangement Problems Nikhil R. Devanur Subhash A. Khot Rishi Saket Nisheeth K. Vishnoi.
Linear Programming Models Tran Van Hoai Faculty of Computer Science & Engineering HCMC University of Technology Tran Van Hoai.
Computational Geometry Piyush Kumar (Lecture 5: Linear Programming) Welcome to CIS5930.
Linear Programming Piyush Kumar. Graphing 2-Dimensional LPs Example 1: x y Feasible Region x  0y  0 x + 2 y  2 y  4 x  3 Subject.
ENCI 303 Lecture PS-19 Optimization 2
Design Techniques for Approximation Algorithms and Approximation Classes.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Optimization - Lecture 4, Part 1 M. Pawan Kumar Slides available online
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
ELEC Digital Logic Circuits Fall 2015 Logic Minimization (Chapter 3) Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and.
Spring 2014, Feb 26...ELEC 7770: Advanced VLSI Design (Agrawal)1 ELEC 7770 Advanced VLSI Design Spring 2014 Linear Programming – A Mathematical Optimization.
Copyright Agrawal, 2009ELEC5270/6270 Spring 11, Lecture 41 ELEC 5270/6270 Spring 2011 Low-Power Design of Electronic Circuits Linear Programming – A Mathematical.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Spring 2010, Feb 22...ELEC 7770: Advanced VLSI Design (Agrawal)1 ELEC 7770 Advanced VLSI Design Spring 2010 Linear Programming – A Mathematical Optimization.
Linear Programming Piyush Kumar Welcome to CIS5930.
Approximation Algorithms based on linear programming.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2010 Lecture 9 Tuesday, 4/20/10 Linear Programming 1.
Linear Programming for Solving the DSS Problems
Solving Linear Program by Simplex Method The Concept
ELEC Digital Logic Circuits Fall 2014 Logic Minimization (Chapter 3)
Chapter 1. Introduction Ex : Diet Problem
ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS
ELEC 5270/6270 Spring 2015 Low-Power Design of Electronic Circuits Linear Programming – A Mathematical Optimization Technique Vishwani D. Agrawal James.
ELEC 7770 Advanced VLSI Design Spring 2016 Zero-Skew Clock Routing
ELEC 7770 Advanced VLSI Design Spring 2016 Linear Programming – A Mathematical Optimization Technique Vishwani D. Agrawal James J. Danaher Professor ECE.
The Simplex Method: Standard Minimization Problems
Linear Programming Piyush Kumar Welcome to COT 5405.
ELEC 5270/6270 Spring 2013 Low-Power Design of Electronic Circuits Linear Programming – A Mathematical Optimization Technique Vishwani D. Agrawal James.
A Primal-Dual Solution to Minimal Test Generation Problem
VLSI Testing Lecture 4: Testability Analysis
Chapter 10: Iterative Improvement
Presentation transcript:

Fall 2006, Sep. 5 and 7 ELEC / Lecture 4 1 ELEC / (Fall 2006) Low-Power Design of Electronic Circuits (Formerly ELEC / ) Linear Programming – A Mathematical Optimization Technique Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL

Fall 2006, Sep. 5 and 7ELEC / Lecture 42 What is Linear Programming Linear programming (LP) is a mathematical method for selecting the best solution from the available solutions of a problem. Linear programming (LP) is a mathematical method for selecting the best solution from the available solutions of a problem. Method: Method: State the problem and define variables whose values will be determined. State the problem and define variables whose values will be determined. Develop a linear programming model: Develop a linear programming model: Write the problem as an optimization formula (a linear expression to be minimized or maximized) Write the problem as an optimization formula (a linear expression to be minimized or maximized) Write a set of linear constraints Write a set of linear constraints An available LP solver (computer program) gives the values of variables. An available LP solver (computer program) gives the values of variables.

Fall 2006, Sep. 5 and 7ELEC / Lecture 43 Types of LPs LP – all variables are real. LP – all variables are real. ILP – all variables are integers. ILP – all variables are integers. MILP – some variables are integers, others are real. MILP – some variables are integers, others are real. A reference: A reference: S. I. Gass, An Illustrated Guide to Linear Programming, New York: Dover, S. I. Gass, An Illustrated Guide to Linear Programming, New York: Dover, 1990.

Fall 2006, Sep. 5 and 7ELEC / Lecture 44 A Single-Variable Problem Consider variable x Consider variable x Problem: find the maximum value of x subject to constraint, 0 ≤ x ≤ 15. Problem: find the maximum value of x subject to constraint, 0 ≤ x ≤ 15. Solution: x = 15. Solution: x = 15.

Fall 2006, Sep. 5 and 7ELEC / Lecture 45 Single Variable Problem (Cont.) Consider more complex constraints: Consider more complex constraints: Maximize x, subject to following constraints Maximize x, subject to following constraints x ≥ 0(1) x ≥ 0(1) 5x ≤ 75(2) 5x ≤ 75(2) 6x ≤ 30(3) 6x ≤ 30(3) x ≤ 10(4) x ≤ 10(4) x (1) (2) (3) (4) All constraints satisfied Solution, x = 5

Fall 2006, Sep. 5 and 7ELEC / Lecture 46 A Two-Variable Problem Manufacture of x 1 chairs and x 2 tables: Manufacture of x 1 chairs and x 2 tables: Maximize profit, P = 45x x 2 dollars Maximize profit, P = 45x x 2 dollars Subject to resource constraints: Subject to resource constraints: 400 boards of wood,5x x 2 ≤ 400(1) 400 boards of wood,5x x 2 ≤ 400(1) 450 man-hours of labor,10x x 2 ≤ 450(2) 450 man-hours of labor,10x x 2 ≤ 450(2) x 1 ≥ 0(3) x 1 ≥ 0(3) x 2 ≥ 0 (4) x 2 ≥ 0 (4)

Fall 2006, Sep. 5 and 7ELEC / Lecture 47 Solution: Two-Variable Problem Chairs, x 1 Tables, x 2 (1) (2) (24, 14) Profit increasing decresing P = 2200 P = 0 Best solution: 24 chairs, 14 tables Profit = 45× ×14 = 2200 dollars

Fall 2006, Sep. 5 and 7ELEC / Lecture 48 Change Chair Profit, $64/Unit Manufacture of x 1 chairs and x 2 tables: Manufacture of x 1 chairs and x 2 tables: Maximize profit, P = 64x x 2 dollars Maximize profit, P = 64x x 2 dollars Subject to resource constraints: Subject to resource constraints: 400 boards of wood,5x x 2 ≤ 400(1) 400 boards of wood,5x x 2 ≤ 400(1) 450 man-hours of labor,10x x 2 ≤ 450(2) 450 man-hours of labor,10x x 2 ≤ 450(2) x 1 ≥ 0(3) x 1 ≥ 0(3) x 2 ≥ 0 (4) x 2 ≥ 0 (4)

Fall 2006, Sep. 5 and 7ELEC / Lecture 49 Solution: $64 Profit/Chair Chairs, x 1 Tables, x 2 (1) (2) Profit increasing decresing P = 2880 P = 0 Best solution: 45 chairs, 0 tables Profit = 64× ×0 = 2880 dollars (24, 14)

Fall 2006, Sep. 5 and 7ELEC / Lecture 410 Primal-Dual Problems Primal problem Primal problem Variables: Variables: x 1 (number of chairs) x 1 (number of chairs) x 2 (number of tables) x 2 (number of tables) Maximize profit 45x x 2 Maximize profit 45x x 2 Subject to: Subject to: 5x x 2 ≥ 400 5x x 2 ≥ x x 2 ≥ x x 2 ≥ 450 x 1 ≥ 0 x 1 ≥ 0 x 2 ≥ 0 x 2 ≥ 0 Solution: Solution: x 1 = 24 chairs, x 2 = 14 tables x 1 = 24 chairs, x 2 = 14 tables Profit = $2200 Profit = $2200 Dual Problem Dual Problem Variables: Variables: w 1 ($ cost/board of wood) w 2 ($ cost/man-hour) Minimize cost 400w w2 Minimize cost 400w w2 Subject to: Subject to: 5w 1 +10w 2 ≥ 45 20w w 2 ≥ 80 w 1 ≥ 0 w 2 ≥ 0 Solution: Solution: w 1 = $1, w 2 = $4 Cost = $2200

Fall 2006, Sep. 5 and 7ELEC / Lecture 411 The Duality Theorem If the primal has a finite optimal solution, so does the dual, and the optimum values of the objective functions are equal. If the primal has a finite optimal solution, so does the dual, and the optimum values of the objective functions are equal.

Fall 2006, Sep. 5 and 7ELEC / Lecture 412 LP for n Variables n minimize Σ cj xjObjective function j =1 n subject to Σ aij xj ≤ bi, i = 1, 2,..., m j =1 n Σ cij xj = di, i = 1, 2,..., p j =1 Variables: xj Constants: cj, aij, bi, cij, di

Fall 2006, Sep. 5 and 7ELEC / Lecture 413 Algorithms for Solving LP Simplex method Simplex method G. B. Dantzig, Linear Programming and Extension, Princeton, New Jersey, Princeton University Press, G. B. Dantzig, Linear Programming and Extension, Princeton, New Jersey, Princeton University Press, Ellipsoid method Ellipsoid method L. G. Khachiyan, “A Polynomial Algorithm for Linear Programming,” Soviet Math. Dokl., vol. 20, pp , L. G. Khachiyan, “A Polynomial Algorithm for Linear Programming,” Soviet Math. Dokl., vol. 20, pp , Interior-point method Interior-point method N. K. Karmarkar, “A New Polynomial-Time Algorithm for Linear Programming,” Combinatorica, vol. 4, pp , N. K. Karmarkar, “A New Polynomial-Time Algorithm for Linear Programming,” Combinatorica, vol. 4, pp , Course website of Prof. Lieven Vandenberghe (UCLA), Course website of Prof. Lieven Vandenberghe (UCLA),

Fall 2006, Sep. 5 and 7ELEC / Lecture 414 Basic Ideas of Solution methods Constraints Extreme points Objective function Constraints Extreme points Objective function Simplex: search on extreme points. Interior-point methods: Successively iterate with interior spaces of analytic convex boundaries.

Fall 2006, Sep. 5 and 7ELEC / Lecture 415 Integer Linear Programming (ILP) Variables are integers. Variables are integers. Complexity is exponential – higher than LP. Complexity is exponential – higher than LP. LP relaxation LP relaxation Convert all variables to real, preserve ranges. Convert all variables to real, preserve ranges. LP solution provides guidance. LP solution provides guidance. Rounding LP solution can provide a non-optimal solution. Rounding LP solution can provide a non-optimal solution.

Fall 2006, Sep. 5 and 7ELEC / Lecture 416 ILP Example: Test Minimization A combinational circuit has n test vectors that detect m faults. Each test detects a subset of faults. Find the smallest subset of test vectors that detects all m faults. A combinational circuit has n test vectors that detect m faults. Each test detects a subset of faults. Find the smallest subset of test vectors that detects all m faults. ILP model: ILP model: Assign an integer ti ε [0,1] variable to ith test vector such that ti = 1, if we select ti, otherwise ti= 0. Assign an integer ti ε [0,1] variable to ith test vector such that ti = 1, if we select ti, otherwise ti= 0. Define an integer constant fij ε [0,1] such that fij = 1, if ith vector detects jth fault, otherwise fij = 0. Values of constants fij are determined by fault simulation. Define an integer constant fij ε [0,1] such that fij = 1, if ith vector detects jth fault, otherwise fij = 0. Values of constants fij are determined by fault simulation.

Fall 2006, Sep. 5 and 7ELEC / Lecture 417 Test Minimization by ILP n minimize Σ ti Objective function i=1 n subject to Σ fij ti ≥ 1, j = 1, 2,..., m i=1

Fall 2006, Sep. 5 and 7ELEC / Lecture 418 3V3F: A 3-Vector 3-Fault Example fiji=1i=2i=3 j=1110 j=2011 j=3101 Test vector i Fault j ε Variables: t1, t2, t3 ε [0,1] Minimize t1 + t2 + t3 Subject to: t1 + t2 ≥ 1 t2 + t3 ≥ 1 t1 + t3 ≥ 1

Fall 2006, Sep. 5 and 7ELEC / Lecture 419 3V3F: Solution Space Non-optimum solution t1 t2 t LP solution (0.5, 0.5, 0.5) and iterative rounding ILP solutions (optimum)

Fall 2006, Sep. 5 and 7ELEC / Lecture 420 Characteristics of ILP Worst-case complexity is exponential in number of variables. Worst-case complexity is exponential in number of variables. Linear programming (LP) relaxation, where integer variables are treated as real, gives a lower bound on the objective function. Linear programming (LP) relaxation, where integer variables are treated as real, gives a lower bound on the objective function. Recursive rounding of relaxed LP solution to nearest integers gives an approximate solution to the ILP problem. Recursive rounding of relaxed LP solution to nearest integers gives an approximate solution to the ILP problem. K. R. Kantipudi and V. D. Agrawal, “A Reduced Complexity Algorithm for Minimizing N-Detect Tests,” Proc. 20 th International Conf. VLSI Design, January 2007, pp K. R. Kantipudi and V. D. Agrawal, “A Reduced Complexity Algorithm for Minimizing N-Detect Tests,” Proc. 20 th International Conf. VLSI Design, January 2007, pp

Fall 2006, Sep. 5 and 7ELEC / Lecture 421 3V3F: LP Relaxation and Rounding ε ILP – Variables: t1, t2, t3 ε [0,1] Minimize t1 + t2 + t3 Subject to: t1 + t2 ≥ 1 t2 + t3 ≥ 1 t1 + t3 ≥ 1 ε LP relaxation: t1, t2, t3 ε (0.0, 1.0) Solution: t1 = t2 = t3 = 0.5 Iterative rounding: (1) round one variable, t1 = 1.0 Two-variable LP problem: Minimize t2 + t3 subject to t2 + t3 ≥ 1.0 LP solution t2 = t3 = 0.5 (2) round a variable, t2 = 1.0 ILP constraints are satisfied solution is t1 = 1, t2 = 1, t3 = 0

Fall 2006, Sep. 5 and 7ELEC / Lecture 422 Recursive Rounding Algorithm 1.Obtain a relaxed LP solution. Stop if each variable in the solution is an integer. 2.Round the variable closest to an integer. 3.Remove any constraints that are now unconditionally satisfied. 4.Go to step 1.

Fall 2006, Sep. 5 and 7ELEC / Lecture 423 Recursive Rounding ILP has exponential complexity. ILP has exponential complexity. Recursive rounding: Recursive rounding: ILP is transformed into k LPs with progressively reducing number of variables. ILP is transformed into k LPs with progressively reducing number of variables. Number of LPs, k, is the size of the final solution, i.e., the number of non-zero variables in the test minimization problem. Number of LPs, k, is the size of the final solution, i.e., the number of non-zero variables in the test minimization problem. Recursive rounding complexity is k × O(n p ), where k ≤ n, n is number of variables. Recursive rounding complexity is k × O(n p ), where k ≤ n, n is number of variables.

Fall 2006, Sep. 5 and 7ELEC / Lecture 424 Four-Bit ALU Circuit Initial vectors ILP Recursive rounding Vectors CPU s Vectors , , , ,

Fall 2006, Sep. 5 and 7ELEC / Lecture 425 CPU Time: ILP vs. Recursive Rounding 0 5,000 10,000 15,000 Vectors ILP Recursive Rounding CPU s

Fall 2006, Sep. 5 and 7ELEC / Lecture 426 N-Detect Tests (N = 5) Circuit Unoptimized vectors Relaxed LP/Recur. rounding ILP (exact) Lower bound Min. vectors CPU s Min. vectors CPU s c432 c c499 c c880 c8801, c1355 c c1908 c19081, c2670 c c3540 c35401, c5315 c53151, c6288 c c7552 c75522,

Fall 2006, Sep. 5 and 7ELEC / Lecture 427 Finding LP/ILP Solvers R. Fourer, D. M. Gay and B. W. Kernighan, AMPL: A Modeling Language for Mathematical Programming, South San Francisco, California: Scientific Press, Several of programs described in this book are available to Auburn users. R. Fourer, D. M. Gay and B. W. Kernighan, AMPL: A Modeling Language for Mathematical Programming, South San Francisco, California: Scientific Press, Several of programs described in this book are available to Auburn users. MATLAB? MATLAB? Search the web. Many programs with small number of variables can be downloaded free. Search the web. Many programs with small number of variables can be downloaded free.