Graphical optimization Some problems are cheap to simulate or test. Even if they are not, we may fit...

10
Graphical optimization • Some problems are cheap to simulate or test. • Even if they are not, we may fit a surrogate that is cheap to evaluate. • Relying on optimization software to find the optimum is foolhardy. • It is better to thoroughly explore manually. • In two dimensions, graphical optimization is a good way to go. • For problems with more variables, it may still be good to identify two important variables and proceed graphically. • In higher dimensions, two dimensional cuts can help understand the relationship between local optima.

Transcript of Graphical optimization Some problems are cheap to simulate or test. Even if they are not, we may fit...

  • Slide 1

Slide 2 Graphical optimization Some problems are cheap to simulate or test. Even if they are not, we may fit a surrogate that is cheap to evaluate. Relying on optimization software to find the optimum is foolhardy. It is better to thoroughly explore manually. In two dimensions, graphical optimization is a good way to go. For problems with more variables, it may still be good to identify two important variables and proceed graphically. In higher dimensions, two dimensional cuts can help understand the relationship between local optima. Slide 3 Example Plot and estimate minimum of In the range x=linspace(-2,0,40); y=linspace(0,3,40); [X,Y]=meshgrid(x,y); Z=2+X-Y+2*X.^2+2*X.*Y+Y.^2; cs=contour(X,Y,Z); clabel(cs); xlabel('x_1');ylabel('x_2'); Slide 4 Can do mesh plot instead cs=surfc(X,Y,Z); xlabel('x_1'); ylabel('x_2'); zlabel('f(x_1,x_2)'); Slide 5 Then zoom x=linspace(-1.5,-0.5,40); y=linspace(1,2,40); [X,Y]=meshgrid(x,y); Z=2+X-Y+2*X.^2+2*X.*Y+Y.^2; cs=surfc(X,Y,Z); xlabel('x_1'); ylabel('x_2'); zlabel('f(x_1,x_2)'); Slide 6 In higher dimensions Often different solutions of optimization problems are obtained from multiple starting points or even from same starting point. It is tempting to ascribe this to local optima. Often it is the result of algorithmic or software failure. Generate line connecting two solutions Slide 7 Example Consider function And consider the two approximate local optima (0,0,0) and (1,1,1). Plot function on line connecting first and second point, in order to check whether they are local optima. Slide 8 Line plot alpha=linspace(0,1,101); x1=[0 0 0]; x2=[1 1 1]; x=x2(1)*alpha+x1(1)*(1-alpha); y=x2(2)*alpha+x1(2)*(1-alpha); z=x2(3)*alpha+x1(3)*(1-alpha); f=abs(sin(2*pi.*x).*sin(2*pi.*y).*sin(2*pi.*z))+x.*sqrt(y).*z.^2; plot(alpha,f); xlabel('alpha');ylabel('f'); Slide 9 Two dimensional cuts alpha=linspace(0,1,101); beta=linspace(0,1,101); [A,B]=meshgrid(alpha,beta); x1=[0 0 0]; x2=[0 1 0]; x3=[1 1 1]; x=A.*x1(1)+B.*x2(1)+(1-A-B).*x3(1); y=A.*x1(2)+B.*x2(2)+(1-A-B).*x3(2); z=A.*x1(3)+B.*x2(3)+(1-A-B).*x3(3); f=abs(sin(2*pi.*x).*sin(2*pi.*y).*sin(2* pi.*z))+x.*sqrt(y).*z.^2; cs=surfc(A,B,f); xlabel('alpha'); ylabel('beta'); Now consider a third solution: (0,1,0). Plot function in the plan connecting the three solutions. Slide 10 10 dimensional constrained example Knill, D.L., Giunta, A.A., Baker, C.A., Grossman, B., Mason, W.H., Haftka, R.T., and Watson, L.T., Response Surface Models Combining Linear and Euler Aerodynamics for Supersonic Transport Design, Journal of Aircraft, 36(1), pp. 75-86, 1999 Objective function, take-off gross weight is a cheap and simple function of design variables. Design variables define geometry of wing and fuselage. Constraints include range, take-off and landing constraints, and maneuvrability constraints. The constraints are all uni-modal functions, but in combination, they create a complex, non-convex feasible domain. Slide 11 Simple constraints create non-convex design space. Can that happen with linear constraints? Two local optima and a third point