Lecture 4: Linear Programming

Download Report

Transcript Lecture 4: Linear Programming

ELEC 5270/6270 Spring 2015
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_Spr15/course.html
Copyright Agrawal, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
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
(3)
15
(2)
x
(1)
(4)
All constraints
satisfied
Solution, x = 5
Copyright Agrawal, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
(1)
(2)
(3)
(4)
7
A Liner Program Solver
http://www.phpsimplex.com/en/index.htm
Copyright Agrawal, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
8
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
9
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
(1)
(2)
(3)
(4)
10
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, 2007
10
20
30
40
50
Chairs, x1
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
60
(2)
70
80
90
increasing
decresing
11
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
12
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, 2007
≥ 45
≥ 80
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
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
13
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
14
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, 2007
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:


w1 = $1, w2 = $4
value = $2200
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
15
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
16
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
17
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, 2007
Objective
function
Constraints
Interior-point methods: Successively
iterate with interior spaces of
analytic convex boundaries.
Complexity: O(n3.5L), L = no. of int. values
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
18
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
19
Traveling Salesperson Problem (TSP)
6
4
12
5
27
1
18
12
15
20
19
10
2
3
Copyright Agrawal, 2007
5
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
20
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
21
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
22
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
23
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
24
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, 2007
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-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
25
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
26
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
27
ILP Solution
d41 = 12
4
d54 = 6
5
1
d25 = 20
d13 = 10
2
3
d32 = 5
Total length = 53
Copyright Agrawal, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
28
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
29
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
Objective
(maximize)
30
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
31
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
32
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
33
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
34
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
35
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
36
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
37
NAND Cell Characteristics
fo = number of fanouts
d = delay per fanout
p = power per fanout
Type of Cell
Fast
(X = 0)
Low Power
(X = 1)
Delay
Normalized to d
fo
2fo
Power
Normalized to p
3fo
0.5fo
Copyright Agrawal, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
38
Example: One-Bit Full Adder
2
CO
fo=2
A
1
3
2
1
B
1
3
1
1
C
SUM
fo=1
Number of fanouts, fo
Copyright Agrawal, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
39
Circuit Characteristics
Critical path delay = 11d
 All nine gates are on critical path.
 Minimum delay design must use all fast cells.
 Power consumption of minimum delay circuit
= 3×p×(total fanouts) = 3×p×15 = 45p
 Other extreme case: All low power cells,

Critical path delay = 22d
 Power consumption = 0.5×p×(total fanouts) = 7.5p

Copyright Agrawal, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
40
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
41
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
42
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
43
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
44
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, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
45
Optimization Function

Minimize ∑ [3(1 – Xk) fo(k) + 0.5 Xk fo(k)]
all gates k
Copyright Agrawal, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
46
Typical Result
Normalized power
45
(11, 45)
35
25
15
(22, 7.5)
5
5
10
15
20
Normalized delay (Tc)
Copyright Agrawal, 2007
ELEC5270-001/6270-001 Spr 2013 Lecture 4
Feb 9 . . .
47