Lecture 4: Linear Programming
Download
Report
Transcript Lecture 4: Linear Programming
ELEC 5270/6270 Spring 2011
Low-Power Design of Electronic Circuits
Linear Programming – A Mathematical
Optimization Technique
Vishwani D. Agrawal
James J. Danaher Professor
Dept. of Electrical and Computer Engineering
Auburn University, Auburn, AL 36849
[email protected]
http://www.eng.auburn.edu/~vagrawal/COURSE/E6270_Spr11/course.html
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
1
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.
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
2
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.
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
3
A Single-Variable Problem
Consider variable x
Problem: find the maximum value of x
subject to constraint, 0 ≤ x ≤ 15.
Solution: x = 15.
Constraint satisfied
x
0
15
Solution
x = 15
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
4
Single Variable Problem (Cont.)
Consider more complex constraints:
Maximize x, subject to following constraints:
x≥0
5x ≤ 75
6x ≤ 30
x ≤ 10
0
(1)
(2)
(3)
(4)
5
10
15
(2)
(3)
x
(1)
(4)
All constraints
satisfied
Solution, x = 5
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
5
A Two-Variable Problem
Manufacture of chairs and tables:
Resources available:
Material: 400 boards of wood
Labor: 450 man-hours
Profit:
Chair: $45
Table: $80
Resources needed:
Chair
Table
5 boards of wood
10 man-hours
20 boards of wood
15 man-hours
Problem: How many chairs and how many tables should be
manufactured to maximize the total profit?
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
6
Formulating Two-Variable Problem
Manufacture x1 chairs and x2 tables to
maximize profit:
P = 45x1 + 80x2 dollars
Subject to given resource constraints:
boards of wood,
5x1 + 20x2 ≤ 400
450 man-hours of labor, 10x1 + 15x2 ≤ 450
x1 ≥ 0
x2 ≥ 0
400
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
(1)
(2)
(3)
(4)
7
Solution: Two-Variable Problem
40
Tables, x2
30
Best solution: 24 chairs, 14 tables
Profit = 45×24 + 80×14 = 2200 dollars
(1) 20
(24, 14)
10
(3)
(4)
0
0
10
20
30
40
50
Chairs, x1
60
(2)
70
80
90
increasing
decresing
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
8
Change Profit of Chair to $64/Unit
Manufacture x1 chairs and x2 tables to
maximize profit:
P = 64x1 + 80x2 dollars
Subject to given resource constraints:
boards of wood,
5x1 + 20x2 ≤ 400
450 man-hours of labor, 10x1 + 15x2 ≤ 450
x1 ≥ 0
x2 ≥ 0
400
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
(1)
(2)
(3)
(4)
9
Solution: $64 Profit/Chair
40
Tables, x2
30
Best solution: 45 chairs, 0 tables
Profit = 64×45 + 80×0 = 2880 dollars
(1) 20
(24, 14)
10
(3)
(4)
0
0
Copyright Agrawal, 2009
10
20
30
40
50
Chairs, x1
ELEC5270/6270 Spring 11, Lecture 4
60
(2)
70
80
90
increasing
decresing
10
A Dual Problem
Explore an alternative.
Questions:
Should we make tables and chairs?
Or, auction off the available resources?
To answer this question we need to know:
What is the minimum price for the resources that
will provide us with same amount of revenue
from sale as the profits from tables and chairs?
This is the dual of the original problem.
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
11
Formulating the Dual Problem
Revenue received by selling off resources:
For each board, w1
For each man-hour, w2
Minimize 400w1 + 450w2
Subject to constraints:
5w1
+ 10w2
20w1 + 15w2
w1
≥0
w2
≥0
Copyright Agrawal, 2009
≥ 45
≥ 80
Resources:
Material: 400 boards
Labor: 450 man-hrs
Profit:
Chair: $45
Table: $80
Resources needed:
Chair
5 boards of wood
10 man-hours
Table
20 boards of wood
15 man-hours
ELEC5270/6270 Spring 11, Lecture 4
12
The Duality Theorem
If the primal has a finite optimum solution,
so does the dual, and the optimum values
of the objective functions are equal.
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
13
Primal-Dual Problems
Primal problem
Fixed resources
Maximize profit
x1 (number of chairs)
x2 (number of tables)
Maximize profit 45x1+80x2
Subject to:
5x1 + 20x2
10x1 + 15x2
x1
x2
Copyright Agrawal, 2009
Variables:
w1 ($ value/board of wood)
w2 ($ value/man-hour)
Minimize value 400w1+450w2
Subject to:
x1 = 24 chairs, x2 = 14 tables
Profit = $2200
Fixed profit
Minimize value
≤ 400
≤ 450
≥0
≥0
Solution:
Dual Problem
Variables:
5w1 + 10w2
20w1 + 15w2
w1
w2
≥ 45
≥ 80
≥0
≥0
Solution:
ELEC5270/6270 Spring 11, Lecture 4
w1 = $1, w2 = $4
value = $2200
14
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
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
15
Algorithms for Solving LP
Simplex method
Ellipsoid method
L. G. Khachiyan, “A Polynomial Algorithm for Linear Programming,”
Soviet Math. Dokl., vol. 20, pp. 191-194, 1984.
Interior-point method
G. B. Dantzig, Linear Programming and Extension, Princeton, New
Jersey, Princeton University Press, 1963.
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
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
16
Basic Ideas of Solution methods
Extreme points
Constraints
Extreme points
Objective
function
Objective
function
Simplex: search on extreme points.
Complexity: polynomial in n, number of
variables
Copyright Agrawal, 2009
Constraints
Interior-point methods: Successively
iterate with interior spaces of
analytic convex boundaries.
Complexity: O(n3.5L), L = no. of int. values
ELEC5270/6270 Spring 11, Lecture 4
17
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 nonoptimal solution.
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
18
Traveling Salesperson Problem (TSP)
6
4
12
5
27
1
18
12
15
20
19
10
2
3
Copyright Agrawal, 2009
5
ELEC5270/6270 Spring 11, Lecture 4
19
Solving TSP: Five Cities
Distances (dij) in miles (symmetric TSP, general TSP is asymmetric)
City
j=1
j=2
j=3
j=4
j=5
i=1
0
18
10
12
27
i=2
18
0
5
12
20
i=3
10
5
0
15
19
i=4
12
12
15
0
6
i=5
27
20
19
6
0
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
20
Search Space: No. of Tours
Asymmetric TSP tours
Five-city problem: 4 × 3 × 2 × 1 = 24 tours
Ten-city problem: 362,880 tours
15-city problem: 87,178,291,200 tours
50-city problem: 49! = 6.08×1062 tours
Time for enumerative search assuming 1 μs
per tour evaluation
=
1.93×1055 years
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
21
A Greedy Heuristic Solution
Tour length = 10 + 5 + 12 + 6 + 27 = 60 miles (non-optimal)
City
j=1
j=2
j=3
j=4
j=5
i=1
(start)
0
18
10
12
27
i=2
18
0
5
12
20
i=3
10
5
0
15
19
i=4
12
12
15
0
6
i=5
27
20
19
6
0
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
22
ILP Variables, Constants and Constraints
x14 ε [0,1]
d14 = 12
4
5
x15 ε [0,1]
d15 = 27
x12 ε [0,1]
d12 = 18
1
Integer variables:
xij = 1, travel i to j
xij = 0, do not travel i to j
x13 ε [0,1]
d13 = 10
Real constants:
dij = distance from i to j
2
3
x12 + x13 + x14 + x15 = 1
four other similar equations
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
23
Objective Function and ILP Solution
5
i-1
Minimize ∑
∑ xij × dij
i=1 j=1
5
∑ xij = 1,
j=1
j≠i
for all i, i.e., every node i has exactly one outgoing edge.
xij
Copyright Agrawal, 2009
j =1 2
3
4
5
i =1
0
0
1
0
0
2
1
0
0
0
0
3
0
1
0
0
0
4
0
0
0
0
1
5
0
0
0
1
0
ELEC5270/6270 Spring 11, Lecture 4
24
ILP Solution
d54 = 6
4
5
d45 = 6
1
d21 = 18
d13 = 10
2
3
d32 = 5
Total length = 45
but not a single tour
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
25
Additional Constraints for Single Tour
Following constraints prevent split tours.
For any subset S of cities, the tour must
enter and exit that subset:
∑ xij ≥ 2 for all S, |S| < 5
i ε S
j ε S
Remaining
set
At least two
arrows must cross
this boundary.
Any subset
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
26
ILP Solution
d41 = 12
4
d54 = 6
5
1
d25 = 20
d13 = 10
2
3
d32 = 5
Total length = 53
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
27
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.
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
28
Why ILP Solution is
Exponential?
LP solution
Must try all
2n roundoff
points
Second variable
found in
polynomial time
(bound on ILP
solution)
Constraints
First variable
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
Objective
(maximize)
29
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 variable ti ε [0,1] to ith test vector Ti such that
ti = 1 means we select Ti, otherwise
ti = 0 means we eliminate Ti
Define an integer constant fij ε [0,1] such that
fij = 1, if ith vector Ti detects jth fault Fj, otherwise
fij = 0, if ith vector Ti does not detect jth fault Fj
Values of constants fij are determined by fault simulation
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
30
Test Data
Select test Ti if ti = 1
m faults
n tests
T1
T2
T3
T4
-
-
Ti
-
-
Tn
F1
1
1
0
0
-
-
1
-
-
0
F2
0
0
1
1
-
-
0
-
-
1
F3
0
0
0
1
-
-
0
-
-
1
F4
1
0
0
0
-
-
1
-
-
0
-
-
-
-
-
-
-
-
-
-
-
Fj
0
0
0
0
-
-
1
-
-
1
-
-
-
-
-
-
-
-
-
-
-
Fm
1
1
0
0
-
-
0
-
-
0
fij = 1; vector Ti detects fault Fj
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
31
Test Minimization by ILP
n
minimize
Σ ti
Objective function
i =1
n
subject to
Σ fij ti
≥ 1,
j = 1, 2, . . . , m
i =1
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
32
Four-Bit ALU Circuit 74181
14 inputs, 8 outputs
ILP solution
Pseudorandom vectors for
100% fault coverage
Minimized vectors
CPU s
285
14
0.65
400
13
1.07
500
12
4.38
1,000
12
4.17
5,000
12
12.95
10,000
12
34.61
16,384 (214, exhaustive set)
12
87.47
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
33
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.
B. R. Hunt, R. L. Lipsman, J. M. Rosenberg, K. R. Coombes, J. E.
Osborn and G. J. Stuck, A Guide to MATLAB for Beginners and
Experienced Users, Cambridge University Press, 2006.
Search the web. Many programs with small number of variables can
be downloaded free.
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
34
A Circuit Optimization Problem
Given:
Circuit
netlist
Cell library with multiple versions for each cell
Select cell versions to optimize a specified
characteristic of the circuit. Typical
characteristics are:
Area
Power
Delay
Example: Minimize power for given delay.
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
35
Gate Library: NAND(X), X = 0 or 1
X: an integer variable for each gate.
X = 0, choose gate with small delay
X = 1, choose gate with low power
Delay = d × fo, where fo = number of fanouts for gate
Power = 3 × p × fo
d and p are parameters of technology
Delay = 2 × d × fo
Power = 0.5 × p × fo
Normalized gate delay = [(1 – X) + 2 X] × fo
Normalized power = [3(1 – X) + 0.5 X] × fo
Normalization: d = 1, p = 1
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
36
Example: One-Bit Full Adder
2
CO
A
1
3
2
1
B
1
3
1
1
C
SUM
Number of fanouts, fo
Spring 2010, Feb 1
ELEC 7770: Advanced VLSI Design (Agrawal)
37
Define Arrival Time Variables, Tk
Tk = Latest signal arrival time at output of gate k
T9
2
T1 = T2 = T3 = 0
A T1
CO
T5
1
T4
3
2
T7
1
T6
T2
1
B
C
T10
T8
T12
3
1
1
T3
SUM
T11
Number of fanouts, fo
Spring 2010, Feb 1
ELEC 7770: Advanced VLSI Design (Agrawal)
38
Constraint: Gate k in the Circuit
Ti = signal arrival time at ith input of gate k
Tk = signal arrival time at gate k output
Tk ≥ Ti + (1 – Xk) fo(k) + 2 Xk fo(k), for all i
Where, fo(k) = fanout number of gate k
Xk = 0, choose fast cell for k
Xk = 1, choose low power cell for k
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
39
Arrival Time Constraints on Gate 7
T1 = T2 = T3 = 0
A T1
T7 ≥ T5 + (1 – X7) 2 + 2 X7 ✕ 2
T7 ≥ T6 + (1 – X7) 2 + 2 X7 ✕ 2
T4
3
2
CO
T7
T6
1
B
C
2
T5
1
T2
T9
T8
1
T10
T12
3
1
1
T3
SUM
T11
Number of fanouts, fo
Spring 2010, Feb 1
ELEC 7770: Advanced VLSI Design (Agrawal)
40
Clock Constraints
Ti = 0, for all primary inputs i
To ≤ Tc, clock period, for all primary outputs o
Combinational Logic
Register
Register
Clock
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
41
Critical Path Constraints
T9 ≤ Tc
2
T1 = T2 = T3 = 0
A T1
CO
T5
1
T4
3
T2
2
T10
T6
1
B
C
T7
T8
1
T12 ≤ Tc
3
1
1
T3
SUM
T11
Number of fanouts, fo
Spring 2010, Feb 1
ELEC 7770: Advanced VLSI Design (Agrawal)
42
Optimization Function
Minimize ∑ 3(1 – Xk) fo(k) + 0.5 Xk fo(k)
all gates k
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
43
Typical Result
Normalized power
45
(11, 45)
35
25
15
(22, 7.5)
5
5
10
15
20
Normalized delay (Tc)
Copyright Agrawal, 2009
ELEC5270/6270 Spring 11, Lecture 4
44