Transcript L32

L32. Constrained Optimization
Optimizing Gear Ratio Distribution
An Optimal Design Problem
Gear Ratio Distribution
Assume 7
wheel
sprockets
Assume 3
pedal
sprockets
21 = 7 x 3 possible gear ratios
It’s a Matter of Teeth
E.g.,
13 teeth
E.g.,
48 teeth
E.g., Gear ratio = 48/13 = 3.692
Goal
Choose 3 pedal sprockets and 7 wheel
sprockets so that the 21 gear ratios are
as evenly distributed across the interval
[1,4].
Notation
p(i) = #teeth on the i-th pedal sprocket,
for i=1:3.
w(i) = #teeth on the i-th wheel sprocket,
for i=1:7.
This is a 10—parameter design problem.
Things to Do
1. Define an Objective Function
We need to measure the quality of
a particular gear ratio distribution
2. Identify constraints.
Sprockets are only available in
certain sizes etc.
Typical activity in Engineering Design
The Quality of a Gear Ratio
Distribution
Ideal:
1
Good:
Poor:
4
Average Discrepancy
Sort the gear ratios:
g(1) < g(2) <… < g(21)
Compare g(i) with x(i) where
x = linspace(1,4,21).
function tau = ObjF(p,w);
g = [];
for i=1:3
for j=1:7
g = [g p(i)/w(j)];
end
end
g = sort(g);
dif = abs(g – linspace(1,4,21));
tau = sum(dif)/21;
There Are Other Reasonable
Objective Functions
g = sort(g);
dif = abs(g –linspace(1,4,21));
tau = sum(dif)/21;
Replace “sum” with “max”
Goal
Choose p(1:3) and w(1:7) so that
objF(p,w) is minimized.
This defines the “best bike.”
Our plan is to check all possible bikes.
A 10-fold nested loop problem…
A Simplification
We may assume that
p(3) < p(2) < p(1)
and
w(7)<w(6)<w(5)<w(4)<w(3<w(2)<w(1)
Relabeling the sprockets doesn’t change the
How Constraints Arise
Purchasing says that pedal sprockets only
come in six sizes:
C1: p(i) is one of 52 48 42 39 32 28.
How Constraints Arise
Marketing says the best bike must have
a maximum gear ratio exactly equal to
4:
C2: p(1)/w(7) = 4
This means that p(1) must be a multiple of
4.
How Constraints Arise
Marketing says the best bike must have
a minimum gear ratio exactly equal to 1:
C3: p(3)/w(1) = 1
How Constraints Arise
Purchasing says that wheel sprockets
are available in 31 sizes…
C4: w(i) is one of 12, 13,…,42.
Choosing Pedal Sprockets
Possible values…
Front = [52 48 42 39 32 28];
Constraint C1 says that p(1) must be
divisible by 4.
Also: p(3) < p(2) < p(1).
The Possibilities..
52
52
52
52
52
52
52
48
48
48
48
42
42
42
42
39
32
28
39
32
28
52
52
52
48
48
48
48
39
39
32
42
42
42
39
32
28
28
39
32
28
32
48
48
42
42
42
39
32
39
39
32
28
28
32
28
28
The Loops..
Front = [52 48 42 39 32 28];
for i = 1:3
for j=i+1:6
for k=j+1:6
p(1) = Front(i);
p(2) = Front(j);
p(3) = Front(k);
w(1) and w(7) “for free”..
Front = [52 48 42 39 32 28];
for i = 1:3
for j=i+1:6
for k=j+1:6
p(1) = Front(i);
p(2) = Front(j);
p(3) = Front(k);
w(1) = p(3);
w(7) = p(1)/4;
What About w(2:6)
Front = [52 48 42 39 32 28];
for i = 1:3
for j=i+1:6
for k=j+1:6
p(1) = Front(i);
p(2) = Front(j);
p(3) = Front(k);
w(1) = p(3);
w(7) = p(1)/4;
Select w(2:6)
All Possibilities?
for a=12:w(1)
for b = 12:a-1
for c = 12:b-1
for d = 12:c-1
for e = 12:d-1
w(2) = a;
w(3) = b;
etc
Reduce the Size of The
Search Space
Build an environment that supports
something better than brute force
search…