Lectures 8 and 9: Linear Programming - A Mathematical Optimization Technique

Download Report

Transcript Lectures 8 and 9: Linear Programming - A Mathematical Optimization Technique

CSV881: Low-Power Design
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
Copyright Agrawal, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
(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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
(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, 2011
10
20
30
40
50
Chairs, x1
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
≥ 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
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
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:


Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
16
Basic Ideas of Solution methods
Extreme points
Constraints
Extreme points
Objective
function
Simplex: search on extreme points.
Complexity: polynomial in n, number of
variables
Copyright Agrawal, 2011
Objective
function
Constraints
Interior-point methods: Successively
iterate with interior spaces of
analytic convex boundaries.
Complexity: O(n3.5L), L = no. of int. values
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
18
Traveling Salesperson Problem (TSP)
6
4
12
5
27
1
18
12
15
20
19
10
2
3
Copyright Agrawal, 2011
5
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
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
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
26
ILP Solution
4
d41 = 12
d54 = 6
5
1
d25 = 20
d13 = 10
2
3
d32 = 5
Total length = 53
Copyright Agrawal, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
36
Example: One-Bit Full Adder
2
CO
A
1
3
2
1
B
1
3
1
1
C
SUM
Number of fanouts, fo
Copyright Agrawal, 2011
Lectures 8 and 9,: Linear Programming
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
Copyright Agrawal, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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
Copyright Agrawal, 2011
Lectures 8 and 9,: Linear Programming
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, 2011
Lectures 8 and 9,: Linear Programming
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
Copyright Agrawal, 2011
Lectures 8 and 9,: Linear Programming
42
Optimization Function

Minimize ∑ 3(1 – Xk) fo(k) + 0.5 Xk fo(k)
all gates k
Copyright Agrawal, 2011
Lectures 8 and 9,: Linear Programming
43
Typical Result
Normalized power
45
(11, 45)
35
25
15
(22, 7.5)
5
5
10
15
20
Normalized delay (Tc)
Copyright Agrawal, 2011
Lectures 8 and 9,: Linear Programming
44