type pareto18 % Papageorgiou, 1996 % % x0 = 2 % goals: S* = [0.5 0.5]' % weights: w = [0.5 0.5]' % xo = 0.1429 % S(xo) = [1.0102 1.0102]' xo=[]; So=[]; F1=[]; F2=[]; gamao=[]; goal = [0.5; 0.5]; for w1=0:0.1:1 w=[w1 1-w1]; [x,S,gama,ex,out,lambda]=fgoalattain('test18',2,goal,w) xo=[xo x]; So=[So S]; gamao=[gamao gama]; F1=[F1 S(1)]; F2=[F2 S(2)]; end w=[0:0.1:1]; type pareto19 % Papageorgiou, 1996 % % x0 = 2 % goals: S* = [0.5 0.5]' % weights: w = [0.5 0.5]' % xo = 0.1429 % S(xo) = [1.0102 1.0102]' %w=0.5; global w xo=[]; So=[]; F1=[]; F2=[]; for w=0:0.01:1 [x,S,ns]=bfgs('test19',2); xo=[xo x]; So=[So S]; F1=[F1 1+0.5*x.^2]; F2=[F2 4*(x-0.5).^2+0.5]; end w=[0:0.01:1]; type test20 function S=test(x) % Papageorgiou, 1996 % % x0 = 2 % xo = 0.1429 % S(xo) = [1.0102 1.0102]' S=4*(x-0.5).^2+0.5; % [x,S,nS,lambda]=sqp('test20','restr20',2) type restr20 function [g,h]=restr(x) % Papageorgiou, 1996 % % x0 = 2 % goals: S* = [0.5 0.5]' % weights: w = [0.5 0.5]' % xo = 0.1429 % S(xo) = [1.0102 1.0102]' %e=1.1; global e g(1)=1+0.5*x.^2-e; g(2)=-x; h=[]; % [x,S,ns,lambda]=sqp('test20','restr20',2) global e e=2 e = 2 [x,S,ns,lambda]=sqp('test20','restr20',2,1) max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 -0.5 1 -9.86e-016 Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon No Active Constraints x = 0.5000 S = 0.5000 ns = 10 lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [2x1 double] help sqp Constrained optimization using SQP to solve problems like: min S(x) subject to: g(x) <= 0, h(x) = 0 (nonlinear constraints) x Lb <= x <= Ub [xo,Ot,nS,lambda]=sqp(S,Res,x0,ip,Gr,linesearch,Lb,Ub,problem,tol,mxit) S: objective function x0: initial point ip: (0) no plot (default), (>0) plot figure ip with pause, (<0) plot figure ip Res: contraint function returning [g(x),h(x)] Gr: gradient vector function of S(x) linesearch: (0) quadratic+cubic (default), (1) cubic Lb, Ub: lower and upper bound vectors [used also to plot (plot default = x0*(1+/-2))] problem: (-1): minimum (default), (1): maximum tol: tolerance (default = 1e-6) mxit: maximum number of iterations (default = 50*(1+4*~(ip>0))) xo: optimal point Ot: optimal value of S nS: number of objective function evaluations lambda: Lagrange multipliers [x,S,ns,lambda]=sqp('test20','restr20',2) max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 -0.5 1 -9.86e-016 Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon No Active Constraints x = 0.5000 S = 0.5000 ns = 10 lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [2x1 double] e=1.5 e = 1.5000 [x,S,ns,lambda]=sqp('test20','restr20',2) max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.5 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 -0.375 1 -9.86e-016 Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon No Active Constraints x = 0.5000 S = 0.5000 ns = 10 lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [2x1 double] e=1.125 e = 1.1250 [x,S,ns,lambda]=sqp('test20','restr20',2) max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.875 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 2.819e-009 1 -9.86e-016 Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon No Active Constraints x = 0.5000 S = 0.5000 ns = 10 lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [2x1 double] e=1.1 e = 1.1000 lambda.ineqnonlin ans = 0 0 [x,S,ns,lambda]=sqp('test20','restr20',2) max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.9 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.025 1 -4.44e-009 4 11 0.51 0.00125 1 0.0025 5 14 0.511289 -0.0001514 1 -0.000144 Hessian modified twice 6 17 0.511146 5.736e-008 1 5.42e-008 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 x = 0.4472 S = 0.5111 ns = 19 lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [2x1 double] lambda.ineqnonlin ans = 0.9443 0 e=1 e = 1 [x,S,ns,lambda]=sqp('test20','restr20',2) max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 2 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.125 1 -2.22e-008 4 11 0.75 0.03125 1 0.375 5 14 1.16016 0.004395 1 0.152 6 17 1.32129 0.001099 1 0.085 7 20 1.40845 0.0002747 1 0.0447 8 23 1.45367 6.866e-005 1 0.0229 9 26 1.4767 1.717e-005 1 0.0116 10 29 1.48832 4.292e-006 1 0.00583 11 32 1.49415 1.073e-006 1 0.00292 12 35 1.49707 2.682e-007 1 0.00146 13 38 1.49854 6.706e-008 1 0.000732 Hessian modified 14 41 1.49927 1.676e-008 1 0.000366 Hessian modified 15 44 1.49963 4.192e-009 1 0.000183 Hessian modified 16 47 1.49982 1.048e-009 1 9.16e-005 Hessian modified 17 50 1.49991 2.62e-010 1 4.58e-005 Hessian modified 18 53 1.49995 6.551e-011 1 2.29e-005 Hessian modified 19 56 1.49998 1.641e-011 1 1.15e-005 Hessian modified 20 59 1.49999 4.102e-012 1 5.73e-006 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 x = 1.4322e-006 S = 1.5000 ns = 61 lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [2x1 double] lambda.ineqnonlin ans = 1.0e+006 * 1.8621 0 e=0.9 e = 0.9000 [x,S,ns,lambda]=sqp('test20','restr20',2) max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 2.1 1 -24 2 5 1.5 0.1 1 -1.8e+007 3 57 1.5 0.1 1.78e-015 0 infeasible Optimization terminated: No feasible solution found. Search direction less than 2*options.TolX but constraints are not satisfied. x = -4.1549e-009 S = 1.5000 ns = 59 lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [2x1 double] type pareto20 % Papageorgiou, 1996 % % x0 = 2 % goals: S* = [0.5 0.5]' % weights: w = [0.5 0.5]' % xo = 0.1429 % S(xo) = [1.0102 1.0102]' global e xo=[]; So=[]; F1=[]; F2=[]; for e=1:0.01:1.125 [x,S,ns,lambda]=sqp('test20','restr20',2); xo=[xo x]; So=[So S]; F1=[F1 1+0.5*x.^2]; F2=[F2 4*(x-0.5).^2+0.5]; end e=[1:0.01:1.125]; pareto20 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 2 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.125 1 -2.22e-008 4 11 0.75 0.03125 1 0.375 5 14 1.16016 0.004395 1 0.152 6 17 1.32129 0.001099 1 0.085 7 20 1.40845 0.0002747 1 0.0447 8 23 1.45367 6.866e-005 1 0.0229 9 26 1.4767 1.717e-005 1 0.0116 10 29 1.48832 4.292e-006 1 0.00583 11 32 1.49415 1.073e-006 1 0.00292 12 35 1.49707 2.682e-007 1 0.00146 13 38 1.49854 6.706e-008 1 0.000732 Hessian modified 14 41 1.49927 1.676e-008 1 0.000366 Hessian modified 15 44 1.49963 4.192e-009 1 0.000183 Hessian modified 16 47 1.49982 1.048e-009 1 9.16e-005 Hessian modified 17 50 1.49991 2.62e-010 1 4.58e-005 Hessian modified 18 53 1.49995 6.551e-011 1 2.29e-005 Hessian modified 19 56 1.49998 1.641e-011 1 1.15e-005 Hessian modified 20 59 1.49999 4.102e-012 1 5.73e-006 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.99 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.115 1 -2.04e-008 4 11 0.7116 0.02645 1 0.269 5 14 0.990637 0.001216 1 0.0227 6 17 1.01365 3.296e-005 1 0.000667 7 20 1.01431 2.707e-008 1 5.49e-007 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.98 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.105 1 -1.87e-008 4 11 0.6764 0.02205 1 0.191 5 14 0.864514 -0.0003732 1 -0.00455 6 17 0.859979 1.774e-006 1 2.13e-005 Hessian modified 7 20 0.86 3.923e-011 1 4.71e-010 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.97 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.095 1 -1.69e-008 4 11 0.6444 0.01805 1 0.133 5 14 0.769201 -0.001061 1 -0.00916 6 17 0.760123 9.732e-006 1 8.1e-005 Hessian modified 7 20 0.760204 7.884e-010 1 6.57e-009 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.96 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.085 1 -1.51e-008 4 11 0.6156 0.01445 1 0.0908 5 14 0.696439 -0.001249 1 -0.00795 6 17 0.688567 1.006e-005 1 6.18e-005 Hessian modified 7 20 0.688629 6.324e-010 1 3.88e-009 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.95 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.075 1 -1.33e-008 4 11 0.59 0.01125 1 0.06 5 14 0.640625 -0.001172 1 -0.00562 Hessian modified twice 6 17 0.635056 7.031e-006 1 3.27e-005 Hessian modified 7 20 0.635089 2.47e-010 1 1.15e-009 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.94 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.065 1 -1.15e-008 4 11 0.5676 0.00845 1 0.038 5 14 0.597852 -0.0009717 1 -0.00354 Hessian modified twice 6 17 0.594345 3.999e-006 1 1.42e-005 Hessian modified 7 20 0.594359 6.642e-011 1 2.36e-010 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.93 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.055 1 -9.77e-009 4 11 0.5484 0.00605 1 0.0228 5 14 0.565325 -0.0007314 1 -0.00201 Hessian modified twice 6 17 0.563332 1.931e-006 1 5.19e-006 Hessian modified 7 20 0.563337 1.322e-011 1 3.56e-011 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.92 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.045 1 -7.99e-009 4 11 0.5324 0.00405 1 0.0126 5 14 0.541006 -0.0004992 1 -0.00101 Hessian modified twice 6 17 0.539998 7.837e-007 1 1.57e-006 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.91 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.035 1 -6.22e-009 4 11 0.5196 0.00245 1 0.00619 5 14 0.523377 -0.0003016 1 -0.000435 Hessian modified twice 6 17 0.522943 2.535e-007 1 3.62e-007 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.9 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.025 1 -4.44e-009 4 11 0.51 0.00125 1 0.0025 5 14 0.511289 -0.0001514 1 -0.000144 Hessian modified twice 6 17 0.511146 5.736e-008 1 5.42e-008 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.89 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.015 1 -2.66e-009 4 11 0.5036 0.00045 1 0.000686 5 14 0.503862 -5.3e-005 1 -2.81e-005 Hessian modified twice 6 17 0.503834 6.385e-009 1 3.37e-009 Hessian modified Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 max Directional Iter F-count f(x) constraint Step-size derivative Procedure 1 2 9.5 1.88 1 -24 2 5 1.5 1.215e-008 1 -2 3 8 0.5 0.005 1 -8.88e-010 4 11 0.5004 5e-005 1 5.45e-005 5 14 0.500409 -5.675e-006 1 -9.37e-007 Hessian modified twice Optimization terminated successfully: Magnitude of directional derivative in search direction less than 2*options.TolFun and maximum constraint violation is less than options.TolCon Active Constraints: 1 plot(F1,F2); hold Current plot held type test19 function S=test(x) % Papageorgiou, 1996 % % x0 = 2 % goals: S* = [0.5 0.5]' % weights: w = [0.5 0.5]' % xo = 0.1429 % S(xo) = [1.0102 1.0102]' %w=0.5; global w S=w*(1+0.5*x.^2)+(1-w)*(4*(x-0.5).^2+0.5); % [x,S,ns]=bfgs('test19',2) global w w=0.5 w = 0.5000 [x,S,ns]=bfgs('test19',2) Directional Iteration Func-count f(x) Step-size derivative 1 1 6.25 0.255102 -49 2 6 0.805556 0.222222 0 Optimization terminated successfully: Search direction less than 2*options.TolX x = 0.4444 S = 0.8056 ns = 7 w=1 w = 1 [x,S,ns]=bfgs('test19',2) Directional Iteration Func-count f(x) Step-size derivative 1 1 3 1 -4 2 6 1 1 0 Optimization terminated successfully: Search direction less than 2*options.TolX x = -4.1444e-009 S = 1 ns = 7 w=0 w = 0 [x,S,ns]=bfgs('test19',2) Directional Iteration Func-count f(x) Step-size derivative 1 1 9.5 0.131944 -144 2 6 0.5 0.125 -6.66e-007 Optimization terminated successfully: Search direction less than 2*options.TolX x = 0.5000 S = 0.5000 ns = 7 type pareto19 % Papageorgiou, 1996 % % x0 = 2 % goals: S* = [0.5 0.5]' % weights: w = [0.5 0.5]' % xo = 0.1429 % S(xo) = [1.0102 1.0102]' %w=0.5; global w xo=[]; So=[]; F1=[]; F2=[]; for w=0:0.01:1 [x,S,ns]=bfgs('test19',2); xo=[xo x]; So=[So S]; F1=[F1 1+0.5*x.^2]; F2=[F2 4*(x-0.5).^2+0.5]; end w=[0:0.01:1]; pareto19 Directional Iteration Func-count f(x) Step-size derivative 1 1 9.5 0.131944 -144 2 6 0.5 0.125 -6.66e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 9.435 0.133253 -142 2 6 0.506248 0.126103 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 9.37 0.134588 -139 2 6 0.512494 0.127226 -3.93e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 9.305 0.135949 -137 2 6 0.518736 0.12837 -1.3e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 9.24 0.137337 -135 2 6 0.524974 0.129534 -6.44e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 9.175 0.138752 -132 2 6 0.531209 0.130719 1.28e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 9.11 0.140197 -130 2 6 0.537441 0.131926 1.27e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 9.045 0.141671 -128 2 6 0.543668 0.133156 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.98 0.143176 -125 2 6 0.549892 0.134409 -8.7e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.915 0.144712 -123 2 6 0.556113 0.135685 2.46e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.85 0.146281 -121 2 6 0.562329 0.136986 2.44e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.785 0.147883 -119 2 6 0.568541 0.138313 -4.84e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.72 0.14952 -117 2 6 0.574749 0.139665 8.39e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.655 0.151192 -114 2 6 0.580952 0.141044 2.38e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.59 0.152901 -112 2 6 0.587151 0.14245 -1.77e-006 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.525 0.154649 -110 2 6 0.593345 0.143885 -1.05e-006 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.46 0.156435 -108 2 6 0.599535 0.145349 -6.93e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.395 0.158262 -106 2 6 0.60572 0.146843 -1.14e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.33 0.160131 -104 2 6 0.611899 0.148368 4.53e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.265 0.162043 -102 2 6 0.618073 0.149925 -5.61e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.2 0.164 -100 2 6 0.624242 0.151515 1.11e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.135 0.166003 -98 2 6 0.630406 0.153139 5.5e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.07 0.168055 -96 2 6 0.636563 0.154799 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 8.005 0.170156 -94.1 2 6 0.642715 0.156495 1.08e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.94 0.172309 -92.2 2 6 0.648861 0.158228 3.2e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.875 0.174515 -90.2 2 6 0.655 0.16 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.81 0.176777 -88.4 2 6 0.661133 0.161812 1.04e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.745 0.179096 -86.5 2 6 0.667259 0.163666 -3.1e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.68 0.181474 -84.6 2 6 0.673377 0.165563 -4.09e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.615 0.183915 -82.8 2 6 0.679489 0.167504 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.55 0.18642 -81 2 6 0.685593 0.169492 -2e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.485 0.188991 -79.2 2 6 0.69169 0.171527 -9.88e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.42 0.191632 -77.4 2 6 0.697778 0.173611 -2.93e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.355 0.194345 -75.7 2 6 0.703858 0.175747 -9.66e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.29 0.197134 -74 2 6 0.709929 0.177936 -6.4e-006 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.225 0.2 -72.2 2 6 0.715991 0.18018 -1.89e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.16 0.202948 -70.6 2 6 0.722044 0.182482 9.33e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.095 0.205981 -68.9 2 6 0.728087 0.184843 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 7.03 0.209102 -67.2 2 6 0.73412 0.187266 5.46e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.965 0.212315 -65.6 2 6 0.740142 0.189753 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.9 0.215625 -64 2 6 0.746154 0.192308 1.78e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.835 0.219035 -62.4 2 6 0.752154 0.194932 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.77 0.222551 -60.8 2 6 0.758142 0.197628 -2.6e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.705 0.226176 -59.3 2 6 0.764118 0.200401 2.56e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.64 0.229917 -57.8 2 6 0.770081 0.203252 1.1e-006 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.575 0.233778 -56.2 2 6 0.776031 0.206186 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.51 0.237765 -54.8 2 6 0.781967 0.209205 1.64e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.445 0.241884 -53.3 2 6 0.787887 0.212314 1.62e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.38 0.246142 -51.8 2 6 0.793793 0.215517 1.6e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.315 0.250546 -50.4 2 6 0.799683 0.218818 -3.15e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.25 0.255102 -49 2 6 0.805556 0.222222 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.185 0.259819 -47.6 2 6 0.811411 0.225734 7.66e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.12 0.264706 -46.2 2 6 0.817248 0.229358 -5.28e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 6.055 0.269771 -44.9 2 6 0.823065 0.2331 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.99 0.275023 -43.6 2 6 0.828863 0.236967 -2.2e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.925 0.280473 -42.3 2 6 0.834639 0.240964 -1.52e-006 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.86 0.286133 -41 2 6 0.840392 0.245098 2.13e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.795 0.292013 -39.7 2 6 0.846122 0.249377 -3.5e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.73 0.298127 -38.4 2 6 0.851827 0.253807 -2.07e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.665 0.304488 -37.2 2 6 0.857506 0.258398 2.71e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.6 0.311111 -36 2 6 0.863158 0.263158 -1.33e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.535 0.318012 -34.8 2 6 0.86878 0.268097 -2.62e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.47 0.325208 -33.6 2 6 0.874372 0.273224 -2.58e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.405 0.332718 -32.5 2 6 0.87993 0.278552 1.27e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.34 0.340561 -31.4 2 6 0.885455 0.284091 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.275 0.34876 -30.2 2 6 0.890942 0.289855 1.83e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.21 0.357339 -29.2 2 6 0.896391 0.295858 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.145 0.366323 -28.1 2 6 0.901798 0.302115 5.88e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.08 0.37574 -27 2 6 0.90716 0.308642 1.73e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 5.015 0.385621 -26 2 6 0.912476 0.315457 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.95 0.396 -25 2 6 0.917742 0.322581 -1.11e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.885 0.406914 -24 2 6 0.922954 0.330033 -2.18e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.82 0.418403 -23 2 6 0.928108 0.337838 -5.33e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.755 0.430512 -22.1 2 6 0.933201 0.346021 2.09e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.69 0.443289 -21.2 2 6 0.938227 0.35461 -1.02e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.625 0.45679 -20.3 2 6 0.943182 0.363636 -2.5e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.56 0.471074 -19.4 2 6 0.94806 0.373134 2.44e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.495 0.486209 -18.5 2 6 0.952854 0.383142 2.67e-006 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.43 0.502268 -17.6 2 6 0.957559 0.393701 -2.33e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.365 0.519334 -16.8 2 6 0.962166 0.404858 4.55e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.3 0.5375 -16 2 6 0.966667 0.416667 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.235 0.55687 -15.2 2 6 0.971052 0.429185 -8.66e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.17 0.577562 -14.4 2 6 0.97531 0.442478 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.105 0.599708 -13.7 2 6 0.979429 0.456621 -4.11e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 4.04 0.623457 -13 2 6 0.983396 0.471698 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.975 0.64898 -12.2 2 6 0.987195 0.487805 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.91 0.676471 -11.6 2 6 0.990808 0.505051 -7.55e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.845 0.706152 -10.9 2 6 0.994215 0.52356 -7.33e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.78 0.738281 -10.2 2 6 0.997391 0.543478 1.07e-007 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.715 0.773153 -9.61 2 6 1.00031 0.564972 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.65 0.811111 -9 2 6 1.00294 0.588235 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.585 0.852556 -8.41 2 6 1.00525 0.613497 6.44e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.52 0.897959 -7.84 2 6 1.00718 0.641026 -6.22e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.455 0.947874 -7.29 2 6 1.00869 0.671141 6e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.39 1 -6.76 2 6 1.00972 0.704225 5.77e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.325 1 -6.25 2 6 1.01019 0.740741 5.55e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.26 1 -5.76 2 6 1.01 0.78125 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.195 1 -5.29 2 6 1.00905 0.826446 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.13 1 -4.84 2 6 1.00719 0.877193 0 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3.065 1 -4.41 2 6 1.00425 0.934579 -9.33e-008 Optimization terminated successfully: Search direction less than 2*options.TolX Directional Iteration Func-count f(x) Step-size derivative 1 1 3 1 -4 2 6 1 1 0 Optimization terminated successfully: Search direction less than 2*options.TolX plot(F1,F2,'r') type test18 function S=test(x) % Papageorgiou, 1996 % % x0 = 2 % goals: S* = [0.5 0.5]' % weights: w = [0.5 0.5]' % xo = 0.1429 % S(xo) = [1.0102 1.0102]' S(1)=1+0.5*x.^2; S(2)=4*(x-0.5).^2+0.5; % goal = [0.5; 0.5]; % w = abs(goal); % [x,S,gama,ex,out,lambda]=fgoalattain('test18',2,goal,w) goal = [0.5; 0.5]; w = abs(goal); [x,S,gama,ex,out,lambda]=fgoalattain('test18',2,goal,w) Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 2 x = 0.1429 S = 1.0102 1.0102 gama = 1.0204 ex = 1 out = iterations: 5 funcCount: 22 stepsize: 1 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] type pareto18 % Papageorgiou, 1996 % % x0 = 2 % goals: S* = [0.5 0.5]' % weights: w = [0.5 0.5]' % xo = 0.1429 % S(xo) = [1.0102 1.0102]' xo=[]; So=[]; F1=[]; F2=[]; gamao=[]; goal = [0.5; 0.5]; for w1=0:0.1:1 w=[w1 1-w1]; [x,S,gama,ex,out,lambda]=fgoalattain('test18',2,goal,w) xo=[xo x]; So=[So S]; gamao=[gamao gama]; F1=[F1 S(1)]; F2=[F2 S(2)]; end w=[0:0.1:1]; pareto18 Maximum number of function evaluations exceeded; increase OPTIONS.MaxFunEvals x = 0.0770 S = 1.0030 1.2157 gama = -0.3797 ex = 0 out = iterations: 41 funcCount: 202 stepsize: 2 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] Optimization terminated successfully: Magnitude of directional derivative in search direction less than 2*options.TolFun and maximum constraint violation is less than options.TolCon Active Constraints: 1 x = -1.4523e-008 S = 1.0000 1.5000 gama = 5.0000 ex = 1 out = iterations: 6 funcCount: 38 stepsize: 0.0020 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 x = -1.4624e-008 S = 1.0000 1.5000 gama = 2.5000 ex = 1 out = iterations: 6 funcCount: 38 stepsize: 9.7656e-004 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 x = -6.1019e-009 S = 1.0000 1.5000 gama = 1.6667 ex = 1 out = iterations: 5 funcCount: 25 stepsize: 0.1250 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 2 x = 0.0660 S = 1.0022 1.2533 gama = 1.2555 ex = 1 out = iterations: 7 funcCount: 30 stepsize: 1 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 2 x = 0.1429 S = 1.0102 1.0102 gama = 1.0204 ex = 1 out = iterations: 5 funcCount: 22 stepsize: 1 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 2 x = 0.2053 S = 1.0211 0.8474 gama = 0.8685 ex = 1 out = iterations: 7 funcCount: 29 stepsize: 1 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 2 x = 0.2608 S = 1.0340 0.7289 gama = 0.7629 ex = 1 out = iterations: 7 funcCount: 29 stepsize: 1 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 2 x = 0.3147 S = 1.0495 0.6374 gama = 0.6869 ex = 1 out = iterations: 8 funcCount: 33 stepsize: 1 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] Optimization terminated successfully: Magnitude of directional derivative in search direction less than 2*options.TolFun and maximum constraint violation is less than options.TolCon Active Constraints: 1 2 x = 0.3742 S = 1.0700 0.5633 gama = 0.6333 ex = 1 out = iterations: 7 funcCount: 29 stepsize: 1 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] Optimization terminated successfully: Magnitude of directional derivative in search direction less than 2*options.TolFun and maximum constraint violation is less than options.TolCon Active Constraints: 1 2 x = 0.5000 S = 1.1250 0.5000 gama = 0.6250 ex = 1 out = iterations: 20 funcCount: 84 stepsize: 1 algorithm: 'goal attainment SQP, Quasi-Newton, line_search' firstorderopt: [] cgiterations: [] lambda = lower: 0 upper: 0 eqlin: [0x1 double] eqnonlin: [0x1 double] ineqlin: [0x1 double] ineqnonlin: [0x1 double] plot(F1,F2,'k') type pareto20 % Papageorgiou, 1996 % % x0 = 2 % goals: S* = [0.5 0.5]' % weights: w = [0.5 0.5]' % xo = 0.1429 % S(xo) = [1.0102 1.0102]' global e xo=[]; So=[]; F1=[]; F2=[]; for e=1:0.01:1.125 [x,S,ns,lambda]=sqp('test20','restr20',2); xo=[xo x]; So=[So S]; F1=[F1 1+0.5*x.^2]; F2=[F2 4*(x-0.5).^2+0.5]; end e=[1:0.01:1.125]; quit