Linear Programming (limit loads)

Linear Programming
• Old name for linear optimization
– Linear objective functions and constraints
• Optimum always at boundary of feasible
domain
• First solution algorithm, Simplex algorithm
developed by George Dantzig, 1947
– What is a simplex (e.g. triangle, tetrahedron)?
• We will study limit design of skeletal structures
as an application of LP.
Example
Minimize
f  4 x1  x2  50
Such that
x1  x2  2
x1  2 x2  8
Side const.
x1  0 x2  0
(Vanderplaats, Multidiscipline Design Optimization, p. 128)
Solution with Matlab linprog
Simplest form solves
min
x
f 'x
subject to Ax  b
f=[-4 -1];
A=[1 -1; 1 2; -1 0; 0 -1];
b=[2 8 0 0]‘;
[x,obj]=linprog(f,A,b)
Optimization terminated.
x =4.0000
2.0000
obj =-18.0000
• Matrix form
Minimize
f  4 x1  x2  50
Such that
x1  x2  2
x1  2 x2  8
Side const.
x1  0
f  [ 4  1]
 1
 1
A
 1

 0
1
2 

0 

1
2
8 
b 
0
 
0
x2  0
Problem linprog
• Solve the following problem using linprog
and also graphically (do not use the
equality constraint to reduce the number of
variables).
Maximize
x1  4 x2
such that
x1  2 x2  5
x1  x2  4
x1  x2  3
x1 , x2  0
Limit analysis of trusses
• Elastic-perfectly plastic behavior
• Normally, beyond yield the stress will continue to
increase, so the assumption is conservative.
• We will see it will simplify estimating the collapse
load of a truss.
Three bar truss example 3.1.1
Elongations due to vertical displacement v at D:
eB  v, eA  eC  0.5v (Recall cos 60  0.5)
Strains:  B  v / l
 A   C  v / 4l
EA
Member forces: nB 
v
l
Equilibrium nA  nC
Elastic solution:
EA
nA  nC 
v  0.25nB
4l
p  nB  0.5(n A  nC )  1.25nB
nA  nC  0.2 p, n B  0.8 p
Beyond yield
• Recall
nA  nC  0.2 p, n B  0.8 p
• Member B yields first
nB  0.8 p   0 A
p yield  1.25 0 A
• However, load can be increased until members
A and C also yield
nA  nB  nC   0 A
p  nB  0.5(n A  nC ) pcollapse  2 0 A
Lower bound theorem
• The Lower Bound Theorem: If a stress
distribution can be found that is in equilibrium
internally and balances the external loads, and
also does not violate the yield conditions, these
loads will be carried safely by the structure.
• Leads to an optimization problem with equations
of equilibrium as equality constraints, and yield
conditions as inequality constraints.
LP formulation of truss collapse load
• Example 3.2
nB  0.5(nA  nC )  p
0.5 3(nA  nC )  p
 A 0  nA , nB , nC  A 0
• Implication of lower bound theorem: Any p for which we
can find n’s that satisfy the equation is safe
• LP problem: Find loads to maximize p subject to above
constraints
• Non-dimensionalize!
N  n / A P  p / A
A
A
0
0
Non-dimensional form
• LP problem
Maximize P
Subject to :
N B  0.5( N A  N C )  P  0
1  N A , N B , N C  1
0.5 3( N A  N C )  P  0
f=[0 0 0 -1]; A=eye(4); b=[1 1 1 1000]';
Aeq=[0.5 1 0.5 -1; sqrt(3)/2 0 -sqrt(3)/2 -1]; beq=zeros(2,1);
lb=-[1 1 1 0]; x=linprog(f,A,b,Aeq,beq,lb)’
Optimization terminated.
x =1.0000 1.0000 -0.4641 1.2679
Problem limit design
• Limit design is to the truss cross sectional areas
to minimize the weight of the truss subject to a
given collapse load p. Formulate the limit design
of the truss in Slide 9 for given loads p as an LP
and solve using linprog.
A  p /0
• Define a nominal area
• The non-dimensional design variables will now
be the areas divided by A and the three member
loads, divided by A times sigma0.