1 / 27

Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University, Aubu

ELEC 5270-001/6270-001 (Fall 2006) Low-Power Design of Electronic Circuits (Formerly ELEC 5970-003/6970-003) Linear Programming – A Mathematical Optimization Technique. Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering

maurilio
Télécharger la présentation

Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University, Aubu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ELEC 5270-001/6270-001 (Fall 2006)Low-Power Design of Electronic Circuits(Formerly ELEC 5970-003/6970-003) Linear Programming – A Mathematical Optimization Technique Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849 http://www.eng.auburn.edu/~vagrawal vagrawal@eng.auburn.edu ELEC5270-001/6270-001 Lecture 4

  2. What is Linear Programming • Linear programming (LP) is a mathematical method for selecting the best solution from the available solutions of a problem. • Method: • State the problem and define variables whose values will be determined. • Develop a linear programming model: • Write the problem as an optimization formula (a linear expression to be minimized or maximized) • Write a set of linear constraints • An available LP solver (computer program) gives the values of variables. ELEC5270-001/6270-001 Lecture 4

  3. Types of LPs • LP – all variables are real. • ILP – all variables are integers. • MILP – some variables are integers, others are real. • A reference: • S. I. Gass, An Illustrated Guide to Linear Programming, New York: Dover, 1990. ELEC5270-001/6270-001 Lecture 4

  4. A Single-Variable Problem • Consider variable x • Problem: find the maximum value of x subject to constraint, 0 ≤ x ≤ 15. • Solution: x = 15. ELEC5270-001/6270-001 Lecture 4

  5. Single Variable Problem (Cont.) • Consider more complex constraints: • Maximize x, subject to following constraints • x ≥ 0 (1) • 5x ≤ 75 (2) • 6x ≤ 30 (3) • x ≤ 10 (4) 0 5 10 15 x (1) (2) (3) (4) All constraints satisfied Solution, x = 5 ELEC5270-001/6270-001 Lecture 4

  6. A Two-Variable Problem • Manufacture of x1 chairs and x2 tables: • Maximize profit, P = 45x1 + 80x2 dollars • Subject to resource constraints: • 400 boards of wood, 5x1 + 20x2 ≤ 400 (1) • 450 man-hours of labor, 10x1 + 15x2 ≤ 450 (2) • x1 ≥ 0 (3) • x2 ≥ 0 (4) ELEC5270-001/6270-001 Lecture 4

  7. Solution: Two-Variable Problem 40 30 20 10 0 P = 2200 Best solution: 24 chairs, 14 tables Profit = 45×24 + 80×14 = 2200 dollars (1) Tables, x2 (24, 14) P = 0 0 10 20 30 40 50 60 70 80 90 Chairs, x1 increasing (2) Profit decresing ELEC5270-001/6270-001 Lecture 4

  8. Change Chair Profit, $64/Unit • Manufacture of x1 chairs and x2 tables: • Maximize profit, P = 64x1 + 80x2 dollars • Subject to resource constraints: • 400 boards of wood, 5x1 + 20x2 ≤ 400 (1) • 450 man-hours of labor, 10x1 + 15x2 ≤ 450 (2) • x1 ≥ 0 (3) • x2 ≥ 0 (4) ELEC5270-001/6270-001 Lecture 4

  9. Solution: $64 Profit/Chair P = 2880 40 30 20 10 0 Best solution: 45 chairs, 0 tables Profit = 64×45 + 80×0 = 2880 dollars (1) Tables, x2 (24, 14) P = 0 0 10 20 30 40 50 60 70 80 90 Chairs, x1 (2) increasing Profit decresing ELEC5270-001/6270-001 Lecture 4

  10. Primal problem Variables: x1 (number of chairs) x2 (number of tables) Maximize profit 45x1 + 80x2 Subject to: 5x1 + 20x2 ≥ 400 10x1 + 15x2 ≥ 450 x1 ≥ 0 x2 ≥ 0 Solution: x1 = 24 chairs, x2 = 14 tables Profit = $2200 Dual Problem Variables: w1 ($ cost/board of wood) w2 ($ cost/man-hour) Minimize cost 400w1 + 450w2 Subject to: 5w1 +10w2 ≥ 45 20w1 + 15w2 ≥ 80 w1 ≥ 0 w2 ≥ 0 Solution: w1 = $1, w2 = $4 Cost = $2200 Primal-Dual Problems ELEC5270-001/6270-001 Lecture 4

  11. 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. ELEC5270-001/6270-001 Lecture 4

  12. LP for n Variables n minimize Σcj xj Objective 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 ELEC5270-001/6270-001 Lecture 4

  13. Algorithms for Solving LP • Simplex method • G. B. Dantzig, Linear Programming and Extension, Princeton, New Jersey, Princeton University Press, 1963. • Ellipsoid method • L. G. Khachiyan, “A Polynomial Algorithm for Linear Programming,” Soviet Math. Dokl., vol. 20, pp. 191-194, 1984. • Interior-point method • N. K. Karmarkar, “A New Polynomial-Time Algorithm for Linear Programming,” Combinatorica, vol. 4, pp. 373-395, 1984. • Course website of Prof. Lieven Vandenberghe (UCLA), http://www.ee.ucla.edu/ee236a/ee236a.html ELEC5270-001/6270-001 Lecture 4

  14. Basic Ideas of Solution methods Extreme points Extreme points Objective function Objective function Constraints Constraints Interior-point methods: Successively iterate with interior spaces of analytic convex boundaries. Simplex: search on extreme points. ELEC5270-001/6270-001 Lecture 4

  15. Integer Linear Programming (ILP) • Variables are integers. • Complexity is exponential – higher than LP. • LP relaxation • Convert all variables to real, preserve ranges. • LP solution provides guidance. • Rounding LP solution can provide a non-optimal solution. ELEC5270-001/6270-001 Lecture 4

  16. 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. • ILP model: • 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. ELEC5270-001/6270-001 Lecture 4

  17. Test Minimization by ILP n minimize Σti Objective function i=1 n subject to Σfij ti ≥ 1,j = 1, 2, . . ., m i=1 ELEC5270-001/6270-001 Lecture 4

  18. 3V3F: A 3-Vector 3-Fault Example Test vector i Variables: t1, t2, t3 ε [0,1] Minimize t1 + t2 + t3 Subject to: t1 + t2 ≥ 1 t2 + t3 ≥ 1 t1 + t3 ≥ 1 Fault j ELEC5270-001/6270-001 Lecture 4

  19. 3V3F: Solution Space t3 ILP solutions (optimum) 1 Non-optimum solution LP solution (0.5, 0.5, 0.5) and iterative rounding t2 1 1 t1 ELEC5270-001/6270-001 Lecture 4

  20. Characteristics of ILP • 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. • 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. 20th International Conf. VLSI Design, January 2007, pp. 492-497. ELEC5270-001/6270-001 Lecture 4

  21. 3V3F: LP Relaxation and Rounding • LP relaxation: t1, t2, t3 ε (0.0, 1.0) • Solution: t1 = t2 = t3 = 0.5 • Iterative rounding: • 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 ILP – Variables: t1, t2, t3 ε [0,1] Minimize t1 + t2 + t3 Subject to: t1 + t2 ≥ 1 t2 + t3 ≥ 1 t1 + t3 ≥ 1 ELEC5270-001/6270-001 Lecture 4

  22. Recursive Rounding Algorithm • Obtain a relaxed LP solution. Stop if each variable in the solution is an integer. • Round the variable closest to an integer. • Remove any constraints that are now unconditionally satisfied. • Go to step 1. ELEC5270-001/6270-001 Lecture 4

  23. Recursive Rounding • ILP has exponential complexity. • Recursive rounding: • 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. • Recursive rounding complexity is k × O(np), where k ≤ n, n is number of variables. ELEC5270-001/6270-001 Lecture 4

  24. Four-Bit ALU Circuit ELEC5270-001/6270-001 Lecture 4

  25. CPU Time: ILP vs. Recursive Rounding 100 75 50 25 0 ILP Recursive Rounding CPU s 0 5,000 10,000 15,000 Vectors ELEC5270-001/6270-001 Lecture 4

  26. N-Detect Tests (N = 5) ELEC5270-001/6270-001 Lecture 4

  27. 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, 1993. Several of programs described in this book are available to Auburn users. • MATLAB? • Search the web. Many programs with small number of variables can be downloaded free. ELEC5270-001/6270-001 Lecture 4

More Related