Download presentation
Presentation is loading. Please wait.
Published byCadence Holten Modified over 9 years ago
2
Survey of gradient based constrained optimization algorithms Select algorithms based on their popularity. Additional details and additional algorithms in Chapter 5 of Haftka and Gurdal’s Elements of Structural Optimization
3
Optimization with constraints Standard formulation Equality constraints are a challenge, but are fortunately missing in most engineering design problems, so this lecture will deal only with equality constraints.
4
Derivative based optimizers All are predicated on the assumption that function evaluations are expensive and gradients can be calculated. Similar to a person put at night on a hill and directed to find the lowest point in an adjacent valley using a flashlight with limited battery Basic strategy: 1. Flash light to get derivative and select direction. 2.Go straight in that direction until you start going up or hit constraint. 3.Repeat until converged. Some methods move mostly along the constraint boundaries, some mostly on the inside (interior point algorithms)
5
Gradient projection and reduced gradient methods Find good direction tangent to active constraints Move a distance and then restore to constraint boundaries A typical active set algorithm, used in Excel
6
Penalty function methods Quadratic penalty function Gradual rise of penalty parameter leads to sequence of unconstrained minimization technique (SUMT). Why is it important?
7
Example 5.7.1
8
Contours for r=1.
9
Contours for r=1000. For non-derivative methods can avoid this by having penalty proportional to absolute value of violation instead of its square!
10
Problems Penalty Find how many function evaluatons fminunc and fminsearch solve Example 5.7.1 when you use r=1000 starting from x0=[2,2]. Compare to going through r=1,10,100,1000, and starting the solution for the next r value where the solution for the previous one stopped.
11
5.9: Projected Lagrangian methods Sequential quadratic programming Find direction by solving Find alpha by minimizing
12
Matlab function fmincon FMINCON attempts to solve problems of the form: min F(X) subject to: A*X <= B, Aeq*X = Beq (linear cons) X C(X) <= 0, Ceq(X) = 0 (nonlinear cons) LB <= X <= UB [X,FVAL,EXITFLAG,OUTPUT,LAMBDA] =FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON) The function NONLCON accepts X and returns the vectors C and Ceq, representing the nonlinear inequalities and equalities respectively. (Set LB=[] and/or UB=[] if no bounds exist.). Possible values of EXITFLAG 1 First order optimality conditions satisfied. 0 Too many function evaluations or iterations. -1 Stopped by output/plot function. -2 No feasible point found.
13
Quadratic function and constraint example function f=quad2(x) Global a f=x(1)^2+a*x(2)^2; end function [c,ceq]=ring(x) global ri ro c(1)=ri^2-x(1)^2-x(2)^2; c(2)=x(1)^2+x(2)^2-ro^2; ceq=[]; end x0=[1,10]; a=10;ri=10.; ro=20; [x,fval]=fmincon(@quad2,x0,[],[],[],[],[],[],@ring) x =10.0000 -0.0000 fval =100.0000
14
Fuller output [x,fval,flag,output,lambda]=fmincon(@quad2,x0,[],[],[],[],[],[],@ring) Optimization completed because the objective function is non-decreasing in feasible directions, to within the default value of the function tolerance, and constraints are satisfied to within the default value of the constraint tolerance. x =10.0000 -0.0000 fval =100.0000 flag = 1 output = iterations: 6 funcCount: 22 lssteplength: 1 stepsize: 9.0738e-06 algorithm: 'medium-scale: SQP, Quasi-Newton, line-search' firstorderopt: 9.7360e-08 constrviolation: -8.2680e-11 lambda.ineqnonlin’=1.0000 0
15
Making it harder for fmincon a=1.1; [x,fval,flag,output,lambda]=fmincon(@quad2,x0,[],[],[],[],[],[],@ring) Maximum number of function evaluations exceeded; increase OPTIONS.MaxFunEvals. x =4.6355 8.9430 fval =109.4628 flag=0 iterations: 14 funcCount: 202 lssteplength: 9.7656e-04 stepsize: 2.2830 algorithm: 'medium-scale: SQP, Quasi-Newton, line-search' firstorderopt: 5.7174 constrviolation: -6.6754
16
Restart sometimes helps x0=x x0 = 4.6355 8.9430 [x,fval,flag,output,lambda]=fmincon(@quad2,x0,[],[],[],[],[],[],@ring) x =10.0000 0.0000 fval =100.0000 flag = 1 iterations: 15 funcCount: 108 lssteplength: 1 stepsize: 4.6293e-04 algorithm: 'medium-scale: SQP, Quasi-Newton, line-search' firstorderopt: 2.2765e-07 constrviolation: -2.1443e-07
17
Problem fmincon For the ring problem with a=10, find how the number of function evaluations depends on how narrow you can make the ring (by reducing ro). Always start with x0=[1,10]
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.