├── README.md └── BOLIB ├── BOLIB_test_examples_library.pdf ├── readme.txt ├── demo.m └── BLIBExamples ├── Vogel2012.m ├── Dempe1992b.m ├── DempeDutta2012Ex24.m ├── LamparielloSagratella2017Ex31.m ├── YeZhu2010Ex42.m ├── YeZhu2010Ex43.m ├── HenrionSurowiec2011.m ├── MacalHurter1997.m ├── MitsosBarton2006Ex320.m ├── LamparielloSagratella2017Ex32.m ├── Zlobec2001b.m ├── MorganPatrone2006a.m ├── Yezza1996Ex41.m ├── LucchettiEtal1987.m ├── TuyEtal2007.m ├── DempeEtal2012.m ├── MitsosBarton2006Ex323.m ├── HendersonQuandt1958.m ├── ShimizuEtal1997a.m ├── Bard1988Ex1.m ├── LamparielloSagratella2017Ex35.m ├── Yezza1996Ex31.m ├── Bard1991Ex1.m ├── DeSilva1978.m ├── HatzEtal2013.m ├── MitsosBarton2006Ex39.m ├── Colson2002BIPA4.m ├── FalkLiu1995.m ├── Colson2002BIPA2.m ├── MitsosBarton2006Ex314.m ├── MitsosBarton2006Ex318.m ├── MitsosBarton2006Ex315.m ├── MitsosBarton2006Ex316.m ├── GumusFloudas2001Ex4.m ├── SahinCiric1998Ex2.m ├── MitsosBarton2006Ex313.m ├── ClarkWesterberg1990a.m ├── KleniatiAdjiman2014Ex3.m ├── LamparielloSagratella2017Ex33.m ├── MitsosBarton2006Ex317.m ├── MitsosBarton2006Ex319.m ├── MitsosBarton2006Ex38.m ├── PaulaviciusAdjiman2017a.m ├── Zlobec2001a.m ├── ShimizuEtal1997b.m ├── DempeLohse2011Ex31a.m ├── MitsosBarton2006Ex312.m ├── ShimizuAiyoshi1981Ex1.m ├── Dempe1992a.m ├── GumusFloudas2001Ex1.m ├── OutrataCervinka2009.m ├── PaulaviciusAdjiman2017b.m ├── DempeLohse2011Ex31b.m ├── MitsosBarton2006Ex324.m ├── Outrata1990Ex1c.m ├── MuuQuy2003Ex1.m ├── Outrata1990Ex1b.m ├── LamparielloSagratella2017Ex23.m ├── Outrata1990Ex2a.m ├── DempeFranke2011Ex41.m ├── Outrata1990Ex1a.m ├── Outrata1990Ex1d.m ├── MitsosBarton2006Ex311.m ├── IshizukaAiyoshi1992a.m ├── Mirrlees1999.m ├── MitsosBarton2006Ex310.m ├── AllendeStill2013.m ├── DempeFranke2014Ex38.m ├── Colson2002BIPA3.m ├── DempeFranke2011Ex42.m ├── CalamaiVicente1994a.m ├── Outrata1990Ex2b.m ├── ShimizuAiyoshi1981Ex2.m ├── Outrata1990Ex1e.m ├── Outrata1990Ex2d.m ├── SinhaMaloDeb2014TP6.m ├── BardBook1998.m ├── FloudasZlobec1998.m ├── Outrata1990Ex2c.m ├── Outrata1990Ex2e.m ├── NieWangYe2017Ex34.m ├── FloudasEtal2013.m ├── CalamaiVicente1994b.m ├── MitsosBarton2006Ex321.m ├── SinhaMaloDeb2014TP8.m ├── Colson2002BIPA1.m ├── MuuQuy2003Ex2.m ├── SinhaMaloDeb2014TP3.m ├── MitsosBarton2006Ex322.m ├── Bard1988Ex3.m ├── Outrata1993Ex32.m ├── Outrata1994Ex31.m ├── Outrata1993Ex31.m ├── Colson2002BIPA5.m ├── LuDebSinha2016e.m ├── GumusFloudas2001Ex5.m ├── DempeDutta2012Ex31.m ├── AiyoshiShimizu1984Ex2.m ├── LuDebSinha2016f.m ├── Bard1988Ex2.m ├── NieWangYe2017Ex57.m ├── NieWangYe2017Ex58.m ├── NieWangYe2017Ex61.m ├── MitsosBarton2006Ex326.m ├── NieWangYe2017Ex54.m ├── GumusFloudas2001Ex3.m ├── SinhaMaloDeb2014TP9.m ├── NieWangYe2017Ex52.m ├── CalamaiVicente1994c.m ├── MitsosBarton2006Ex325.m ├── LuDebSinha2016d.m ├── SinhaMaloDeb2014TP7.m ├── CalveteGale1999P1.m ├── LuDebSinha2016b.m ├── LuDebSinha2016c.m ├── AnEtal2009.m ├── KleniatiAdjiman2014Ex4.m ├── MorganPatrone2006c.m ├── MorganPatrone2006b.m ├── SinhaMaloDeb2014TP10.m └── MitsosBarton2006Ex328.m /README.md: -------------------------------------------------------------------------------- 1 | # BOLIB 2 | Bilevel optimization library of test problems 3 | -------------------------------------------------------------------------------- /BOLIB/BOLIB_test_examples_library.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShenglongZhou/BOLIB/HEAD/BOLIB/BOLIB_test_examples_library.pdf -------------------------------------------------------------------------------- /BOLIB/readme.txt: -------------------------------------------------------------------------------- 1 | 2 | This BOLIB-main folder at least contains 1 txt-file, 1 pdf-file, 1 folder and 1 m-files: 3 | 4 | [1] BOLIBExample: contains 124 nonlinear examples collected from existing literature; 5 | 6 | [2] BOLIB_test_examples_library.pdf: provides 124 academic examples of nonlinear bilevel optimization with best known solutions and mathematical formulas. 7 | 8 | [3] demon.m: demonstrates how to call one example. -------------------------------------------------------------------------------- /BOLIB/demo.m: -------------------------------------------------------------------------------- 1 | clc; close all; 2 | 3 | % add the path 4 | addpath(genpath(pwd)); 5 | 6 | % call example to be tested 7 | exname = 'AiyoshiShimizu1984Ex2'; % change the example you want to test here 8 | fun = str2func(exname); 9 | x = randn(2,1); % dimension should be matched 10 | y = randn(2,1); 11 | F = fun(x,y,'F') 12 | Fx = fun(x,y,'F','x') 13 | Gy = fun(x,y,'G','y') 14 | fxy = fun(x,y,'f','xy') 15 | gyy = fun(x,y,'g','yy') -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Vogel2012.m: -------------------------------------------------------------------------------- 1 | function w=Vogel2002(x,y,keyf,keyxy) 2 | % This file provides all functions defining Vogel2002 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 1] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (y+1)^2; 10 | case 'G'; w = [-3-x; x-2]; 11 | case 'f'; w = y^3-3*y; 12 | case 'g'; w = x-y; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0; 19 | case 'y' ; w = 2*y+2; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1]; 27 | case 'y' ; w = [0;0]; 28 | case 'xx'; w = [0;0]; 29 | case 'xy'; w = [0;0]; 30 | case 'yy'; w = [0;0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = 3*y^2-3; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 6*y; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = 1; 43 | case 'y' ; w = -1; 44 | case 'xx'; w = 0; 45 | case 'xy'; w = 0; 46 | case 'yy'; w = 0; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Dempe1992b.m: -------------------------------------------------------------------------------- 1 | function w=Dempe1992b(x,y,keyf,keyxy) 2 | % This file provides all functions defining Dempe1992b problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 0 1] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-3.5)^2+(y+4)^2; 10 | case 'G'; w = []; 11 | case 'f'; w = (y-3)^2; 12 | case 'g'; w = y^2-x; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-3.5); 19 | case 'y' ; w = 2*(y+4); 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = 2*(y-3); 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = -1; 43 | case 'y' ; w = 2*y; 44 | case 'xx'; w = 0; 45 | case 'xy'; w = 0; 46 | case 'yy'; w = 2; 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/DempeDutta2012Ex24.m: -------------------------------------------------------------------------------- 1 | function w=DempeDutta2012Ex24(x,y,keyf,keyxy) 2 | % This file provides all functions defining DempeDutta2012Ex24 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 0 1] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-1)^2+y^2; 10 | case 'G'; w = []; 11 | case 'f'; w = x^2*y; 12 | case 'g'; w = y^2; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-1); 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 2*x*y; 35 | case 'y' ; w = x^2; 36 | case 'xx'; w = 2*y; 37 | case 'xy'; w = 2*x; 38 | case 'yy'; w = 0; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = 0; 43 | case 'y' ; w = 2*y; 44 | case 'xx'; w = 0; 45 | case 'xy'; w = 0; 46 | case 'yy'; w = 2; 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/LamparielloSagratella2017Ex31.m: -------------------------------------------------------------------------------- 1 | function w=LamparielloSagratella2017Ex31(x,y,keyf,keyxy) 2 | % This file provides all functions defining LamparielloSagratella17Ex31 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 1 1] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x^2+y^2; 10 | case 'G'; w = 1-x; 11 | case 'f'; w = y; 12 | case 'g'; w = 1-x-y; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = -1; 27 | case 'y' ; w = 0; 28 | case 'xx'; w = 0; 29 | case 'xy'; w = 0; 30 | case 'yy'; w = 0; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = 1; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 0; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = -1; 43 | case 'y' ; w = -1; 44 | case 'xx'; w = 0; 45 | case 'xy'; w = 0; 46 | case 'yy'; w = 0; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/YeZhu2010Ex42.m: -------------------------------------------------------------------------------- 1 | function w=YeZhu2010Ex42(x,y,keyf,keyxy) 2 | % This file provides all functions defining YeZhu2010Ex42 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 1] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-1)^2+y^2; 10 | case 'G'; w = [-3-x; x-2]; 11 | case 'f'; w = y^3-3*y; 12 | case 'g'; w = x-y; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-1); 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1]; 27 | case 'y' ; w = [0;0]; 28 | case 'xx'; w = [0;0]; 29 | case 'xy'; w = [0;0]; 30 | case 'yy'; w = [0;0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = 3*y^2-3; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 6*y; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = 1; 43 | case 'y' ; w = -1; 44 | case 'xx'; w = 0; 45 | case 'xy'; w = 0; 46 | case 'yy'; w = 0; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/YeZhu2010Ex43.m: -------------------------------------------------------------------------------- 1 | function w=YeZhu2010Ex43(x,y,keyf,keyxy) 2 | % This file provides all functions defining YeZhu2010Ex43 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 1] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-1/2)^2+(y-2)^2; 10 | case 'G'; w = [-x; x-4]; 11 | case 'f'; w = y^3-3*y; 12 | case 'g'; w = x-y-3; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-1/2); 19 | case 'y' ; w = 2*(y-2); 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1]; 27 | case 'y' ; w = [0;0]; 28 | case 'xx'; w = [0;0]; 29 | case 'xy'; w = [0;0]; 30 | case 'yy'; w = [0;0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = 3*y^2-3; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 6*y; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = 1; 43 | case 'y' ; w = -1; 44 | case 'xx'; w = 0; 45 | case 'xy'; w = 0; 46 | case 'yy'; w = 0; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/HenrionSurowiec2011.m: -------------------------------------------------------------------------------- 1 | function w=HenrionSurowiec2011(x,y,keyf,keyxy) 2 | % This file provides all functions defining HenrionSurowiec2011 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 0 0] 5 | 6 | 7 | c = 0; 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = x^2+c*y; 11 | case 'G'; w = []; 12 | case 'f'; w = (y/2-x)*y; 13 | case 'g'; w = []; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = 2*x; 20 | case 'y' ; w = c; 21 | case 'xx'; w = 2; 22 | case 'xy'; w = 0; 23 | case 'yy'; w = 0; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = []; 28 | case 'y' ; w = []; 29 | case 'xx'; w = []; 30 | case 'xy'; w = []; 31 | case 'yy'; w = []; 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = -y; 36 | case 'y' ; w = y-x; 37 | case 'xx'; w = 0; 38 | case 'xy'; w = -1; 39 | case 'yy'; w = 1; 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = []; 44 | case 'y' ; w = []; 45 | case 'xx'; w = []; 46 | case 'xy'; w = []; 47 | case 'yy'; w = []; 48 | end 49 | end 50 | end 51 | 52 | end 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MacalHurter1997.m: -------------------------------------------------------------------------------- 1 | function w=MacalHurter1997(x,y,keyf,keyxy) 2 | % This file provides all functions defining MacalHurter1997 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 0 0] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-1)^2+(y-1)^2; 10 | case 'G'; w = []; 11 | case 'f'; w = 0.5*y^2+500*y-50*x*y; 12 | case 'g'; w = []; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-1); 19 | case 'y' ; w = 2*(y-1); 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -50*y; 35 | case 'y' ; w = y+500-50*x; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = -50; 38 | case 'yy'; w = 1; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = []; 43 | case 'y' ; w = []; 44 | case 'xx'; w = []; 45 | case 'xy'; w = []; 46 | case 'yy'; w = []; 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex320.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex320(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex320 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-0.25)^2+y^2; 10 | case 'G'; w = [-x-1; x-1] ; 11 | case 'f'; w = y^3/3-x^2*y ; 12 | case 'g'; w = [-y-1; y-1] ; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-0.25); 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x'; w = [-1; 1]; 27 | case 'y'; w = [ 0; 0]; 28 | case 'xx'; w = [ 0; 0]; 29 | case 'xy'; w = [ 0; 0]; 30 | case 'yy'; w = [ 0; 0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x'; w = -2*x*y; 35 | case 'y'; w = y^2-x^2; 36 | case 'xx'; w = -2*y; 37 | case 'xy'; w = -2*x; 38 | case 'yy'; w = 2*y; 39 | end 40 | case 'g'; 41 | switch keyxy 42 | case 'x'; w = [ 0; 0]; 43 | case 'y'; w = [-1; 1]; 44 | case 'xx'; w = [ 0; 0]; 45 | case 'xy'; w = [ 0; 0]; 46 | case 'yy'; w = [ 0; 0]; 47 | end 48 | end 49 | end 50 | 51 | end -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/LamparielloSagratella2017Ex32.m: -------------------------------------------------------------------------------- 1 | function w=LamparielloSagratella2017Ex32(x,y,keyf,keyxy) 2 | % This file provides all functions defining LamparielloSagratella17Ex32 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 0 0] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x^2+y^2; 10 | case 'G'; w = []; 11 | case 'f'; w = (x+y-1)^2; 12 | case 'g'; w = []; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 2*(x+y-1); 35 | case 'y' ; w = 2*(x+y-1); 36 | case 'xx'; w = 2; 37 | case 'xy'; w = 2; 38 | case 'yy'; w = 2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = []; 43 | case 'y' ; w = []; 44 | case 'xx'; w = []; 45 | case 'xy'; w = []; 46 | case 'yy'; w = []; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Zlobec2001b.m: -------------------------------------------------------------------------------- 1 | function w=Zlobec2001b(x,y,keyf,keyxy) 2 | % This file provides all functions defining Zlobec2001b problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x+y; 10 | case 'G'; w = [-x;x-1]; 11 | case 'f'; w = -y; 12 | case 'g'; w = [ -y; y-1; -x*y; x*y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 1; 19 | case 'y' ; w = 1; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1]; 27 | case 'y' ; w = [0;0]; 28 | case 'xx'; w = [0;0]; 29 | case 'xy'; w = [0;0]; 30 | case 'yy'; w = [0;0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = -1; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 0; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0; -y; y]; 43 | case 'y' ; w = [-1; 1; -x; x]; 44 | case 'xx'; w = zeros(4,1); 45 | case 'xy'; w = [0;0;-1;1]; 46 | case 'yy'; w = zeros(4,1); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MorganPatrone2006a.m: -------------------------------------------------------------------------------- 1 | function w=MorganPatrone2006a(x,y,keyf,keyxy) 2 | % This file provides all functions defining MorganPatrone2006a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -(x+y); 10 | case 'G'; w = [-x-0.5;x-0.5]; 11 | case 'f'; w = x*y; 12 | case 'g'; w = [-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = -1; 19 | case 'y' ; w = -1; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1]; 27 | case 'y' ; w = [ 0;0]; 28 | case 'xx'; w = [ 0;0]; 29 | case 'xy'; w = [ 0;0]; 30 | case 'yy'; w = [ 0;0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y; 35 | case 'y' ; w = x; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 1; 38 | case 'yy'; w = 0; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = [ 0;0]; 45 | case 'xy'; w = [ 0;0]; 46 | case 'yy'; w = [ 0;0]; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Yezza1996Ex41.m: -------------------------------------------------------------------------------- 1 | function w=Yezza1996Ex41(x,y,keyf,keyxy) 2 | % This file provides all functions defining Yezza1996Ex41 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 0 2] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = 0.5*(y-2)^2+0.5*(x-y-2)^2; 11 | case 'G'; w = []; 12 | case 'f'; w = 0.5*y^2 +x-y; 13 | case 'g'; w = [-y; y-x]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = x-y-2; 20 | case 'y' ; w = 2*y-x; 21 | case 'xx'; w = 1; 22 | case 'xy'; w = -1; 23 | case 'yy'; w = 2; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = []; 28 | case 'y' ; w = []; 29 | case 'xx'; w = []; 30 | case 'xy'; w = []; 31 | case 'yy'; w = []; 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = 1; 36 | case 'y' ; w = y-1; 37 | case 'xx'; w = 0; 38 | case 'xy'; w = 0; 39 | case 'yy'; w = 1; 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [ 0; -1]; 44 | case 'y' ; w = [-1; 1]; 45 | case 'xx'; w = zeros(2,1); 46 | case 'xy'; w = zeros(2,1); 47 | case 'yy'; w = zeros(2,1); 48 | end 49 | end 50 | end 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/LucchettiEtal1987.m: -------------------------------------------------------------------------------- 1 | function w=LucchettiEtal1987(x,y,keyf,keyxy) 2 | % This file provides all functions defining LucchettiEtal87 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = (1-x)/2+x*y; 11 | case 'G'; w = [-x; x-1]; 12 | case 'f'; w = (x-1)*y; 13 | case 'g'; w = [-y;y-1]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = -1/2+y; 20 | case 'y' ; w = x; 21 | case 'xx'; w = 0; 22 | case 'xy'; w = 1; 23 | case 'yy'; w = 0; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [-1;1]; 28 | case 'y' ; w = [ 0;0]; 29 | case 'xx'; w = [ 0;0]; 30 | case 'xy'; w = [ 0;0]; 31 | case 'yy'; w = [ 0;0]; 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = y; 36 | case 'y' ; w = x-1; 37 | case 'xx'; w = 0; 38 | case 'xy'; w = 1; 39 | case 'yy'; w = 0; 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [ 0; 0]; 44 | case 'y' ; w = [-1; 1]; 45 | case 'xx'; w = [ 0; 0]; 46 | case 'xy'; w = [ 0; 0]; 47 | case 'yy'; w = [ 0; 0]; 48 | end 49 | end 50 | end 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/TuyEtal2007.m: -------------------------------------------------------------------------------- 1 | function w=TuyEtal2007(x,y,keyf,keyxy) 2 | % This file provides all functions defining TuyEtal2007 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x^2+y^2; 10 | case 'G'; w = [-x; -y]; 11 | case 'f'; w = -y; 12 | case 'g'; w = [3 1; 1 1; 1 3]*[x;y]-[15; 7; 15]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;0]; 27 | case 'y' ; w = [0;-1]; 28 | case 'xx'; w = [0;0]; 29 | case 'xy'; w = [0;0]; 30 | case 'yy'; w = [0;0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = -1; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 0; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 3; 1; 1]; 43 | case 'y' ; w = [ 1; 1; 3]; 44 | case 'xx'; w = zeros(3,1); 45 | case 'xy'; w = zeros(3,1); 46 | case 'yy'; w = zeros(3,1); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/DempeEtal2012.m: -------------------------------------------------------------------------------- 1 | function w=DempeEtal2012(x,y,keyf,keyxy) 2 | % This file provides all functions defining DempeEtal2012 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x; 10 | case 'G'; w = [-1-x;x-1]; 11 | case 'f'; w = x*y; 12 | case 'g'; w = [-y;y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 1; 19 | case 'y' ; w = 0; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1]; 27 | case 'y' ; w = zeros(2,1); 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y; 35 | case 'y' ; w = x; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 1; 38 | case 'yy'; w = 0; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [0;0]; 43 | case 'y' ; w = [-1;1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex323.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex323(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex323 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 3 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x^2; 10 | case 'G'; w = [-x-1; x-1; 1+x-9*x^2-y]; 11 | case 'f'; w = y; 12 | case 'g'; w = [-y-1; y-1; y^2*(x-0.5)]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x; 19 | case 'y' ; w = 0; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G'; 25 | switch keyxy 26 | case 'x'; w = [-1; 1; 1-18*x]; 27 | case 'y'; w = [ 0; 0; -1]; 28 | case 'xx'; w = [ 0; 0; -18]; 29 | case 'xy'; w = [ 0; 0; 0]; 30 | case 'yy'; w = [ 0; 0; 0]; 31 | end 32 | case 'f'; 33 | switch keyxy 34 | case 'x'; w = 0; 35 | case 'y'; w = 1; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 0; 39 | end 40 | case 'g'; 41 | switch keyxy 42 | case 'x'; w = [0; 0;y^2]; 43 | case 'y'; w = [-1; 1; 2*y*(x-0.5)]; 44 | case 'xx'; w = [ 0; 0; 0]; 45 | case 'xy'; w = [ 0; 0; 2*y]; 46 | case 'yy'; w = [ 0; 0; 2*(x-0.5) ]; 47 | end 48 | end 49 | end 50 | 51 | end -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/HendersonQuandt1958.m: -------------------------------------------------------------------------------- 1 | function w=HendersonQuandt1958(x,y,keyf,keyxy) 2 | % This file provides all functions defining HendersonQuandt1958 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 1] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (0.5*(x+y)-95)*x; 10 | case 'G'; w = [1;-1]*x-[200;0]; 11 | case 'f'; w = (y+0.5*x-100)*y; 12 | case 'g'; w = -y; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = x+0.5*y-95; 19 | case 'y' ; w = 0.5*x; 20 | case 'xx'; w = 1; 21 | case 'xy'; w = 0.5; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [1;-1]; 27 | case 'y' ; w = [0; 0]; 28 | case 'xx'; w = [0; 0]; 29 | case 'xy'; w = [0; 0]; 30 | case 'yy'; w = [0; 0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0.5*y; 35 | case 'y' ; w = 2*y+0.5*x-100; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0.5; 38 | case 'yy'; w = 2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = 0; 43 | case 'y' ; w =-1; 44 | case 'xx'; w = 0; 45 | case 'xy'; w = 0; 46 | case 'yy'; w = 0; 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/ShimizuEtal1997a.m: -------------------------------------------------------------------------------- 1 | function w=ShimizuEtal1997a(x,y,keyf,keyxy) 2 | % This file provides all functions defining ShimizuEtal11997a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 0 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-5)^2+(2*y+1)^2; 10 | case 'G'; w = [ ]; 11 | case 'f'; w = (y-1)^2-1.5*x*y; 12 | case 'g'; w = [-3*x+y+3; x-0.5*y-4; x+y-7]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-5); 19 | case 'y' ; w = 4*(2*y+1); 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 8; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [ ]; 27 | case 'y' ; w = [ ]; 28 | case 'xx'; w = [ ]; 29 | case 'xy'; w = [ ]; 30 | case 'yy'; w = [ ]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -1.5*y; 35 | case 'y' ; w = 2*(y-1)-1.5*x; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = -1.5; 38 | case 'yy'; w = 2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-3; 1; 1]; 43 | case 'y' ; w = [ 1;-0.5; 1]; 44 | case 'xx'; w = [ 0; 0; 0]; 45 | case 'xy'; w = [ 0; 0; 0]; 46 | case 'yy'; w = [ 0; 0; 0]; 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Bard1988Ex1.m: -------------------------------------------------------------------------------- 1 | function w=Bard1988Ex1(x,y,keyf,keyxy) 2 | % This file provides all functions defining Bard1988Ex1 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 1 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-5)^2+(2*y+1)^2; 10 | case 'G'; w = -x; 11 | case 'f'; w = (y-1)^2-1.5*x*y; 12 | case 'g'; w = [-3*x+y+3; x-0.5*y-4; x+y-7; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-5); 19 | case 'y' ; w = 4*(2*y+1); 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 8; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = -1; 27 | case 'y' ; w = 0; 28 | case 'xx'; w = 0; 29 | case 'xy'; w = 0; 30 | case 'yy'; w = 0; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -1.5*y; 35 | case 'y' ; w = 2*(y-1)-1.5*x; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = -1.5; 38 | case 'yy'; w = 2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-3; 1; 1; 0]; 43 | case 'y' ; w = [ 1; -0.5; 1; -1]; 44 | case 'xx'; w = zeros(4,1); 45 | case 'xy'; w = zeros(4,1); 46 | case 'yy'; w = zeros(4,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/LamparielloSagratella2017Ex35.m: -------------------------------------------------------------------------------- 1 | function w=LamparielloSagratella2017Ex35(x,y,keyf,keyxy) 2 | % This file provides all functions defining LamparielloSagratella17Ex35 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x^2+y^2; 10 | case 'G'; w = [-1-x; x-1]; 11 | case 'f'; w = -y; 12 | case 'g'; w = [2*x+y-2;-y;y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1]; 27 | case 'y' ; w = [ 0;0]; 28 | case 'xx'; w = [ 0;0]; 29 | case 'xy'; w = [ 0;0]; 30 | case 'yy'; w = [ 0;0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = -1; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 0; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [2; 0; 0]; 43 | case 'y' ; w = [1;-1; 1]; 44 | case 'xx'; w = zeros(3,1); 45 | case 'xy'; w = zeros(3,1); 46 | case 'yy'; w = zeros(3,1); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Yezza1996Ex31.m: -------------------------------------------------------------------------------- 1 | function w=Yezza1996Ex31(x,y,keyf,keyxy) 2 | % This file provides all functions defining Yezza1996Ex31 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = -(4*x-3)*y+2*x+1; 11 | case 'G'; w = [-x; x-1]; 12 | case 'f'; w = -(1-4*x)*y-2*x-2; 13 | case 'g'; w = [-y; y-1]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = -4*y+2; 20 | case 'y' ; w = -4*x+3; 21 | case 'xx'; w = 0; 22 | case 'xy'; w = -4; 23 | case 'yy'; w = 0; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [-1; 1]; 28 | case 'y' ; w = [ 0; 0]; 29 | case 'xx'; w = zeros(2,1); 30 | case 'xy'; w = zeros(2,1); 31 | case 'yy'; w = zeros(2,1); 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = 4*y-2; 36 | case 'y' ; w = 4*x-1; 37 | case 'xx'; w = 0; 38 | case 'xy'; w = 4; 39 | case 'yy'; w = 0; 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [ 0; 0]; 44 | case 'y' ; w = [-1; 1]; 45 | case 'xx'; w = zeros(2,1); 46 | case 'xy'; w = zeros(2,1); 47 | case 'yy'; w = zeros(2,1); 48 | end 49 | end 50 | end 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Bard1991Ex1.m: -------------------------------------------------------------------------------- 1 | function w=Bard1991Ex1(x,y,keyf,keyxy) 2 | % This file provides all functions defining Bard1991Ex1 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 2 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x+y(2); 10 | case 'G'; w = [-x+2; x-4]; 11 | case 'f'; w = 2*y(1)+x*y(2); 12 | case 'g'; w = [x-y(1)-y(2)+4; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 1; 19 | case 'y' ; w = [0; 1]; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = [0; 0]; 22 | case 'yy'; w = [0 0; 0 0]; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1]; 27 | case 'y' ; w = [0 0; 0 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(4,1); 30 | case 'yy'; w = zeros(4,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y(2); 35 | case 'y' ; w = [2; x ]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = [ 0; 1]; 38 | case 'yy'; w = [ 0 0; 0 0]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [1; 0; 0 ]; 43 | case 'y' ; w = [-1 -1; -eye(2)]; 44 | case 'xx'; w = zeros(3,1); 45 | case 'xy'; w = zeros(6,1); 46 | case 'yy'; w = zeros(6,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/DeSilva1978.m: -------------------------------------------------------------------------------- 1 | function w=DeSilva1978(x,y,keyf,keyxy) 2 | % This file provides all functions defining DeSilva1978 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 0 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = sum((x-1).^2+y.^2)-2; 10 | case 'G'; w = []; 11 | case 'f'; w = sum((y-x).^2); 12 | case 'g'; w = [-y+0.5; y-1.5]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x-2; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2*eye(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = 2*eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 2*(x-y); 35 | case 'y' ; w = 2*(y-x); 36 | case 'xx'; w = 2*eye(2); 37 | case 'xy'; w =-2*eye(2); 38 | case 'yy'; w = 2*eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,2); 43 | case 'y' ; w = [-eye(2); eye(2)]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/HatzEtal2013.m: -------------------------------------------------------------------------------- 1 | function w=HatzEtal2013(x,y,keyf,keyxy) 2 | % This file provides all functions defining HatzEtal2013 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 0 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -x+2*y(1)+y(2); 10 | case 'G'; w = []; 11 | case 'f'; w = (x-y(1))^2+y(2)^2; 12 | case 'g'; w = -y; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = -1; 19 | case 'y' ; w = [2; 1]; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = [ 0; 0]; 22 | case 'yy'; w = [0 0; 0 0]; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 2*(x-y(1)); 35 | case 'y' ; w = [2*(y(1)-x); 2*y(2)]; 36 | case 'xx'; w = 2; 37 | case 'xy'; w = [-2; 0]; 38 | case 'yy'; w = [2 0; 0 2]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1 0; 0 -1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(4,1); 46 | case 'yy'; w = zeros(4,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex39.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex39(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex39 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 3 2] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = x; 11 | case 'G'; w = [-1 1;-1 0; 1 0]*[x;y]-[0; 10; 10]; 12 | case 'f'; w = y^3; 13 | case 'g'; w = [-y-1; y-1]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = 1; 20 | case 'y' ; w = 0; 21 | case 'xx'; w = 0; 22 | case 'xy'; w = 0; 23 | case 'yy'; w = 0; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [-1;-1; 1]; 28 | case 'y' ; w = [ 1; 0; 0]; 29 | case 'xx'; w = zeros(3,1); 30 | case 'xy'; w = zeros(3,1); 31 | case 'yy'; w = zeros(3,1); 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = 0; 36 | case 'y' ; w = 3*y^2; 37 | case 'xx'; w = 0; 38 | case 'xy'; w = 0; 39 | case 'yy'; w = 6*y; 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [ 0; 0]; 44 | case 'y' ; w = [-1; 1]; 45 | case 'xx'; w = zeros(2,1); 46 | case 'xy'; w = zeros(2,1); 47 | case 'yy'; w = zeros(2,1); 48 | end 49 | end 50 | end 51 | 52 | end 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Colson2002BIPA4.m: -------------------------------------------------------------------------------- 1 | function w=Colson2002BIPA4(x,y,keyf,keyxy) 2 | % This file provides all functions defining Colson2002BIPA4 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x^2+(y-10)^2; 10 | case 'G'; w = [x+2*y-6; -x]; 11 | case 'f'; w = x^3+2*y^3+x-2*y-x^2; 12 | case 'g'; w = [-x+2*y-3; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x; 19 | case 'y' ; w = 2*(y-10); 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [1; -1]; 27 | case 'y' ; w = [2; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 3*x^2+1-2*x; 35 | case 'y' ; w = 6*y^2-2; 36 | case 'xx'; w = 6*x-2; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 12*y; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-1; 0]; 43 | case 'y' ; w = [ 2; -1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/FalkLiu1995.m: -------------------------------------------------------------------------------- 1 | function w=FalkLiu1995(x,y,keyf,keyxy) 2 | % This file provides all functions defining FalkLiu1995 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 0 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = sum((x-1.5).^2+y.^2)-4.5; 10 | case 'G'; w = []; 11 | case 'f'; w = sum((y-x).^2); 12 | case 'g'; w = [-y+0.5; y-1.5]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x-3; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2*eye(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = 2*eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 2*(x-y); 35 | case 'y' ; w = 2*(y-x); 36 | case 'xx'; w = 2*eye(2); 37 | case 'xy'; w =-2*eye(2); 38 | case 'yy'; w = 2*eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,2); 43 | case 'y' ; w = [-eye(2); eye(2)]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Colson2002BIPA2.m: -------------------------------------------------------------------------------- 1 | function w=Colson2002BIPA2(x,y,keyf,keyxy) 2 | % This file provides all functions defining Colson2002BIPA2 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 1 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-5)^2+(2*y+1)^2; 10 | case 'G'; w = -x; 11 | case 'f'; w = (y-1)^2-1.5*x*y+x^3; 12 | case 'g'; w = [-3*x+y+3; x-0.5*y-4; x+y-7; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-5); 19 | case 'y' ; w = 4*(2*y+1); 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 8; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = -1; 27 | case 'y' ; w = 0; 28 | case 'xx'; w = 0; 29 | case 'xy'; w = 0; 30 | case 'yy'; w = 0; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -1.5*y+3*x^2; 35 | case 'y' ; w = 2*(y-1)-1.5*x; 36 | case 'xx'; w = 6*x; 37 | case 'xy'; w = -1.5; 38 | case 'yy'; w = 2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-3; 1; 1; 0]; 43 | case 'y' ; w = [ 1; -0.5; 1; -1]; 44 | case 'xx'; w = zeros(4,1); 45 | case 'xy'; w = zeros(4,1); 46 | case 'yy'; w = zeros(4,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex314.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex314(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex314 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | if nargin<4 || isempty(keyxy) 7 | switch keyf 8 | case 'F'; w = (x-0.25)^2+y^2; 9 | case 'G'; w = [-x-1; x-1]; 10 | case 'f'; w = y^3/3-x*y; 11 | case 'g'; w = [-y-1; y-1]; 12 | end 13 | else 14 | switch keyf 15 | case 'F' 16 | switch keyxy 17 | case 'x' ; w = 2*x-0.5; 18 | case 'y' ; w = 2*y; 19 | case 'xx'; w = 2; 20 | case 'xy'; w = 0; 21 | case 'yy'; w = 2; 22 | end 23 | case 'G' 24 | switch keyxy 25 | case 'x' ; w = [-1; 1]; 26 | case 'y' ; w = [ 0; 0]; 27 | case 'xx'; w = zeros(2,1); 28 | case 'xy'; w = zeros(2,1); 29 | case 'yy'; w = zeros(2,1); 30 | end 31 | case 'f' 32 | switch keyxy 33 | case 'x' ; w = -y; 34 | case 'y' ; w = y^2-x; 35 | case 'xx'; w = 0; 36 | case 'xy'; w = -1; 37 | case 'yy'; w = 2*y; 38 | end 39 | case 'g' 40 | switch keyxy 41 | case 'x' ; w = [ 0; 0]; 42 | case 'y' ; w = [-1; 1]; 43 | case 'xx'; w = zeros(2,1); 44 | case 'xy'; w = zeros(2,1); 45 | case 'yy'; w = zeros(2,1); 46 | end 47 | end 48 | end 49 | 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex318.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex318(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex318 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -x^2+y^2; 10 | case 'G'; w = [-x-1; x-1]; 11 | case 'f'; w = x*y^2-y^4/2; 12 | case 'g'; w = [-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = -2*x; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = -2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1]; 27 | case 'y' ; w = [ 0; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y^2; 35 | case 'y' ; w = 2*x*y-2*y^3; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 2*y; 38 | case 'yy'; w = 2*x-6*y^2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | 50 | end 51 | end -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex315.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex315(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex315 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x+y; 10 | case 'G'; w = [-x-1; x-1]; 11 | case 'f'; w = x*y^2/2-y^3/3; 12 | case 'g'; w = [-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 1; 19 | case 'y' ; w = 1; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1]; 27 | case 'y' ; w = [ 0; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y^2/2; 35 | case 'y' ; w = x*y-y^2; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = y; 38 | case 'yy'; w = x-2*y; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex316.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex316(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex316 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 2*x+y; 10 | case 'G'; w = [-x-1; x-1]; 11 | case 'f'; w = -x*y^2/2-y^4/4; 12 | case 'g'; w = [-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2; 19 | case 'y' ; w = 1; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1]; 27 | case 'y' ; w = [ 0; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -y^2/2; 35 | case 'y' ; w = -x*y-y^3; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = -y; 38 | case 'yy'; w = -x-3*y^2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/GumusFloudas2001Ex4.m: -------------------------------------------------------------------------------- 1 | function w=GumusFloudas2001Ex4(x,y,keyf,keyxy) 2 | % This file provides all functions defining GumusFloudas2001Ex4 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 5 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-3)^2+(y-2)^2; 10 | case 'G'; w = [-x; x-8; -2*x+y-1; x-2*y+2; x+2*y-14]; 11 | case 'f'; w = (y-5)^2; 12 | case 'g'; w = [-y; y-10]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-3); 19 | case 'y' ; w = 2*(y-2); 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1;-2;1;1]; 27 | case 'y' ; w = [0;0;1;-2;2]; 28 | case 'xx'; w = zeros(5,1); 29 | case 'xy'; w = zeros(5,1); 30 | case 'yy'; w = zeros(5,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = 2*(y-5); 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/SahinCiric1998Ex2.m: -------------------------------------------------------------------------------- 1 | function w=SahinCiric1998Ex2(x,y,keyf,keyxy) 2 | % This file provides all functions defining SahinCiric1998Ex2 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-3)^2+(y-2)^2; 10 | case 'G'; w = [-x; x-8]; 11 | case 'f'; w = (y-5)^2; 12 | case 'g'; w = [-2*x+y-1; x-2*y+2; x+2*y-14]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-3); 19 | case 'y' ; w = 2*(y-2); 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1]; 27 | case 'y' ; w = [ 0; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = 2*(y-5); 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ -2; 1; 1]; 43 | case 'y' ; w = [1; -2; 2]; 44 | case 'xx'; w = zeros(3,1); 45 | case 'xy'; w = zeros(3,1); 46 | case 'yy'; w = zeros(3,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex313.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex313(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex313 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x-y; 10 | case 'G'; w = [-x-1; x-1]; 11 | case 'f'; w = x*y*(y/2-x^2); 12 | case 'g'; w = [-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 1; 19 | case 'y' ; w = -1; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1]; 27 | case 'y' ; w = [ 0; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = (y/2-3*x^2)*y; 35 | case 'y' ; w = x*y-x^3; 36 | case 'xx'; w = -6*x*y; 37 | case 'xy'; w = y-3*x^2; 38 | case 'yy'; w = x; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/ClarkWesterberg1990a.m: -------------------------------------------------------------------------------- 1 | function w=ClarkWesterberg1990a(x,y,keyf,keyxy) 2 | % This file provides all functions defining ClarkWesterberg1990a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-3)^2+(y-2)^2; 10 | case 'G'; w = [x-8; -x]; 11 | case 'f'; w = (y-5)^2; 12 | case 'g'; w = [-2*x+y-1; x-2*y+2; x+2*y-14]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-3); 19 | case 'y' ; w = 2*(y-2); 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [1; -1]; 27 | case 'y' ; w = [0; 0]; 28 | case 'xx'; w = [0;0]; 29 | case 'xy'; w = [0;0]; 30 | case 'yy'; w = [0;0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = 2*(y-5); 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 0; 38 | case 'yy'; w = 2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-2; 1; 1]; 43 | case 'y' ; w = [ 1; -2; 2]; 44 | case 'xx'; w = zeros(3,1); 45 | case 'xy'; w = zeros(3,1); 46 | case 'yy'; w = zeros(3,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/KleniatiAdjiman2014Ex3.m: -------------------------------------------------------------------------------- 1 | function w=KleniatiAdjiman2014Ex3(x,y,keyf,keyxy) 2 | % This file provides all functions defining KleniatiAdjiman2014Ex3 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x-y; 10 | case 'G'; w = [-x-1; x-1]; 11 | case 'f'; w = x*y^2/2-x*y^3; 12 | case 'g'; w = [-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 1; 19 | case 'y' ; w = -1; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1]; 27 | case 'y' ; w = [ 0; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y^2/2-y^3; 35 | case 'y' ; w = x*y-3*x*y^2; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = y-3*y^2; 38 | case 'yy'; w = x-6*x*y; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/LamparielloSagratella2017Ex33.m: -------------------------------------------------------------------------------- 1 | function w=LamparielloSagratella2017Ex33(x,y,keyf,keyxy) 2 | % This file provides all functions defining LamparielloSagratella17Ex33 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 1 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x^2+(sum(y))^2; 10 | case 'G'; w = .5-x; 11 | case 'f'; w = y(1); 12 | case 'g'; w = [1-x-sum(y);-y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x; 19 | case 'y' ; w = 2*sum(y)*[1;1]; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = [0;0]; 22 | case 'yy'; w = 2*ones(2,2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = -1; 27 | case 'y' ; w = zeros(1,2); 28 | case 'xx'; w = 0; 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = [1;0]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = [0;0]; 38 | case 'yy'; w = zeros(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-1;0;0]; 43 | case 'y' ; w = [-1 -1; -eye(2)]; 44 | case 'xx'; w = zeros(3,1); 45 | case 'xy'; w = zeros(6,1); 46 | case 'yy'; w = zeros(6,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex317.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex317(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex317 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x+0.5)^2+y^2/2; 10 | case 'G'; w = [-x-1; x-1]; 11 | case 'f'; w = x*y^2/2+y^4/4; 12 | case 'g'; w = [-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x+0.5); 19 | case 'y' ; w = y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 1; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1]; 27 | case 'y' ; w = [ 0; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y^2/2; 35 | case 'y' ; w = x*y+y^3; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = y; 38 | case 'yy'; w = x+3*y^2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex319.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex319(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex319 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-1+y/2)*y; 10 | case 'G'; w = [-x-1; x-1]; 11 | case 'f'; w = (-x+y^2/2)*y^2; 12 | case 'g'; w = [-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = y; 19 | case 'y' ; w = x-1+y; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 1; 22 | case 'yy'; w = 1; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1]; 27 | case 'y' ; w = [ 0; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -y^2; 35 | case 'y' ; w = -2*y*(x-y^2); 36 | case 'xx'; w = 0; 37 | case 'xy'; w = -2*y; 38 | case 'yy'; w = -2*x+6*y^2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex38.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex38(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex38 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 4 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = y^2; 10 | case 'G'; w = [-x-1; x-1; -y-0.1; y-0.1]; 11 | case 'f'; w = x*y+exp(x)*y; 12 | case 'g'; w = [ -y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1; 0; 0]; 27 | case 'y' ; w = [0; 0; -1; 1]; 28 | case 'xx'; w = zeros(4,1); 29 | case 'xy'; w = zeros(4,1); 30 | case 'yy'; w = zeros(4,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y+exp(x)*y; 35 | case 'y' ; w = x+exp(x); 36 | case 'xx'; w = exp(x)*y; 37 | case 'xy'; w = 1+exp(x); 38 | case 'yy'; w = 0; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [ -1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/PaulaviciusAdjiman2017a.m: -------------------------------------------------------------------------------- 1 | function w=PaulaviciusAdjiman2017a(x,y,keyf,keyxy) 2 | % This file provides all functions defining PaulaviciusAdjiman2017a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 4 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x^2+y^2; 10 | case 'G'; w = [-x-1; x-1; -y-1; y-1]; 11 | case 'f'; w = x*y^2-y^4/2; 12 | case 'g'; w = [-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1; 0; 0]; 27 | case 'y' ; w = [ 0; 0; -1; 1]; 28 | case 'xx'; w = zeros(4,1); 29 | case 'xy'; w = zeros(4,1); 30 | case 'yy'; w = zeros(4,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y^2; 35 | case 'y' ; w = 2*x*y-2*y^3; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 2*y; 38 | case 'yy'; w = 2*x-6*y^2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | end -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Zlobec2001a.m: -------------------------------------------------------------------------------- 1 | function w=Zlobec2001a(x,y,keyf,keyxy) 2 | % This file provides all functions defining Zlobec2001a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 0 3] 5 | 6 | 7 | 8 | 9 | if nargin<4 || isempty(keyxy) 10 | switch keyf 11 | case 'F'; w = -y(1)/x; 12 | case 'G'; w = []; 13 | case 'f'; w = [-1 -1]*y; 14 | case 'g'; w = [-1+y(1)+x*y(2); -y]; 15 | end 16 | else 17 | switch keyf 18 | case 'F' 19 | switch keyxy 20 | case 'x' ; w = y(1)/(x^2); 21 | case 'y' ; w = [-1/x; 0]; 22 | case 'xx'; w = -2*y(1)/(x^3); 23 | case 'xy'; w = [1/(x^2); 0]; 24 | case 'yy'; w = [0 0; 0 0]; 25 | end 26 | case 'G' 27 | switch keyxy 28 | case 'x' ; w = []; 29 | case 'y' ; w = []; 30 | case 'xx'; w = []; 31 | case 'xy'; w = []; 32 | case 'yy'; w = []; 33 | end 34 | case 'f' 35 | switch keyxy 36 | case 'x' ; w = 0; 37 | case 'y' ; w = [ -1; -1]; 38 | case 'xx'; w = zeros(1,1); 39 | case 'xy'; w = zeros(2,1); 40 | case 'yy'; w = zeros(2,2); 41 | end 42 | case 'g' 43 | switch keyxy 44 | case 'x' ; w = [y(2); 0; 0]; 45 | case 'y' ; w = [1 x; -1 0; 0 -1]; 46 | case 'xx'; w = zeros(3,1); 47 | case 'xy'; w = zeros(6,1); w(2,1)=1; 48 | case 'yy'; w = zeros(6,2); 49 | end 50 | end 51 | end 52 | end 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/ShimizuEtal1997b.m: -------------------------------------------------------------------------------- 1 | function w=ShimizuEtal1997b(x,y,keyf,keyxy) 2 | % This file provides all functions defining ShimizuEtal11997b problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | if nargin<4 || isempty(keyxy) 7 | switch keyf 8 | case 'F'; w = 16*x^2+9*y^2; 9 | case 'G'; w = [-x; -4*x+y]; 10 | case 'f'; w = (x+y-20)^4; 11 | case 'g'; w = [-y; 4*x+y-50]; 12 | end 13 | else 14 | switch keyf 15 | case 'F' 16 | switch keyxy 17 | case 'x' ; w = 32*x; 18 | case 'y' ; w = 18*y; 19 | case 'xx'; w = 32; 20 | case 'xy'; w = 0; 21 | case 'yy'; w = 18; 22 | end 23 | case 'G' 24 | switch keyxy 25 | case 'x' ; w = [-1; -4]; 26 | case 'y' ; w = [ 0; 1]; 27 | case 'xx'; w = zeros(2,1); 28 | case 'xy'; w = zeros(2,1); 29 | case 'yy'; w = zeros(2,1); 30 | end 31 | case 'f' 32 | switch keyxy 33 | case 'x' ; w = 4*(x+y-20)^3; 34 | case 'y' ; w = 4*(x+y-20)^3; 35 | case 'xx'; w = 12*(x+y-20)^2; 36 | case 'xy'; w = 12*(x+y-20)^2; 37 | case 'yy'; w = 12*(x+y-20)^2; 38 | end 39 | case 'g' 40 | switch keyxy 41 | case 'x' ; w = [0; 4]; 42 | case 'y' ; w = [-1; 1]; 43 | case 'xx'; w = zeros(2,1); 44 | case 'xy'; w = zeros(2,1); 45 | case 'yy'; w = zeros(2,1); 46 | end 47 | end 48 | end 49 | end 50 | 51 | 52 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/DempeLohse2011Ex31a.m: -------------------------------------------------------------------------------- 1 | function w=DempeLohse2011Ex31a(x,y,keyf,keyxy) 2 | % This file provides all functions defining DempeLohse2011Ex31a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 0 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = sum((x-.5).^2)-[3 3]*y; 10 | case 'G'; w = []; 11 | case 'f'; w = sum(x.*y); 12 | case 'g'; w = [sum(y)-2; -y(1)+y(2); -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x-[1 1]'; 19 | case 'y' ; w = [-3;-3]; 20 | case 'xx'; w = 2*eye(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = zeros(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y; 35 | case 'y' ; w = x; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = eye(2); 38 | case 'yy'; w = zeros(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,2); 43 | case 'y' ; w = [ 1 1 ; -1 1 ; -eye(2)]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex312.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex312(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex312 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -x+x*y+10*y^2; 10 | case 'G'; w = [-x-1; x-1]; 11 | case 'f'; w = -x*y^2+0.5*y^4; 12 | case 'g'; w = [-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = -1+y; 19 | case 'y' ; w = x+20*y; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 1; 22 | case 'yy'; w = 20; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1]; 27 | case 'y' ; w = [ 0; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -y^2; 35 | case 'y' ; w = -2*x*y+2*y^3; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = -2*y; 38 | case 'yy'; w = -2*x+6*y^2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/ShimizuAiyoshi1981Ex1.m: -------------------------------------------------------------------------------- 1 | function w=ShimizuAiyoshi1981Ex1(x,y,keyf,keyxy) 2 | % This file provides all functions defining ShimizuAiyoshi1981Ex1 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 3 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x^2+(y-10)^2; 10 | case 'G'; w = [x-15; -x+y; -x]; 11 | case 'f'; w = (x+2*y-30)^2; 12 | case 'g'; w = [x+y-20; y-20; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x; 19 | case 'y' ; w = 2*(y-10); 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [1; -1; -1]; 27 | case 'y' ; w = [0; 1; 0]; 28 | case 'xx'; w = zeros(3,1); 29 | case 'xy'; w = zeros(3,1); 30 | case 'yy'; w = zeros(3,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 2*(x+2*y-30); 35 | case 'y' ; w = 4*(x+2*y-30); 36 | case 'xx'; w = 2; 37 | case 'xy'; w = 4; 38 | case 'yy'; w = 8; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [1; 0; 0]; 43 | case 'y' ; w = [1; 1; -1]; 44 | case 'xx'; w = zeros(3,1); 45 | case 'xy'; w = zeros(3,1); 46 | case 'yy'; w = zeros(3,1); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Dempe1992a.m: -------------------------------------------------------------------------------- 1 | function w=Dempe1992a(x,y,keyf,keyxy) 2 | % This file provides all functions defining Dempe1992a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 1 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = y(2); 10 | case 'G'; w = sum((x+[0;1]).^2)-1; 11 | case 'f'; w = .5*sum((y-[1;0]).^2); 12 | case 'g'; w = [y(1)+y(2)*x(1)+x(2); y(1)]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [0;0]; 19 | case 'y' ; w = [0;1]; 20 | case 'xx'; w = zeros(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = zeros(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = 2*(x+[0;1])'; 27 | case 'y' ; w = zeros(1,2); 28 | case 'xx'; w = 2*eye(2); 29 | case 'xy'; w = zeros(2); 30 | case 'yy'; w = zeros(2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = zeros(2,1); 35 | case 'y' ; w = y-[1;0]; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = zeros(2); 38 | case 'yy'; w = eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [y(2) 1; 0 0]; 43 | case 'y' ; w = [1 x(1); 1 0]; 44 | case 'xx'; w = zeros(4,2); 45 | case 'xy'; w = [0 0; 1 0; 0 0; 0 0]; 46 | case 'yy'; w = zeros(4,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/GumusFloudas2001Ex1.m: -------------------------------------------------------------------------------- 1 | function w=GumusFloudas2001Ex1(x,y,keyf,keyxy) 2 | % This file provides all functions defining GumusFloudas2001Ex1 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 3 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 16*x^2+9*y^2; 10 | case 'G'; w = [-x; x-12.5; -4*x+y]; 11 | case 'f'; w = (x+y-20)^4; 12 | case 'g'; w = [-y; y-50; 4*x+y-50]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 32*x; 19 | case 'y' ; w = 18*y; 20 | case 'xx'; w = 32; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 18; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1;-4]; 27 | case 'y' ; w = [ 0;0; 1]; 28 | case 'xx'; w = zeros(3,1); 29 | case 'xy'; w = zeros(3,1); 30 | case 'yy'; w = zeros(3,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 4*(x+y-20)^3; 35 | case 'y' ; w = 4*(x+y-20)^3; 36 | case 'xx'; w = 12*(x+y-20)^2; 37 | case 'xy'; w = 12*(x+y-20)^2; 38 | case 'yy'; w = 12*(x+y-20)^2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [0; 0; 4]; 43 | case 'y' ; w = [-1;1; 1]; 44 | case 'xx'; w = zeros(3,1); 45 | case 'xy'; w = zeros(3,1); 46 | case 'yy'; w = zeros(3,1); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/OutrataCervinka2009.m: -------------------------------------------------------------------------------- 1 | function w=OutrataCervinka2009(x,y,keyf,keyxy) 2 | % This file provides all functions defining OutrataCervinka2009 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 1 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -[2 0.5]*x-[0 1]*y; 10 | case 'G'; w = [1 0]*x; 11 | case 'f'; w = [1 -1]*y+x'*y+y'*y/2; 12 | case 'g'; w = [0 1; -1 1; 1 1]*y; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = -[2; 0.5]; 19 | case 'y' ; w = -[0; 1]; 20 | case 'xx'; w = zeros(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = zeros(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [1 0]; 27 | case 'y' ; w = zeros(1,2); 28 | case 'xx'; w = zeros(2); 29 | case 'xy'; w = zeros(2); 30 | case 'yy'; w = zeros(2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y; 35 | case 'y' ; w = [1; -1]+x+y; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = eye(2); 38 | case 'yy'; w = eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(3,2); 43 | case 'y' ; w = [0 1; -1 1; 1 1]; 44 | case 'xx'; w = zeros(6,2); 45 | case 'xy'; w = zeros(6,2); 46 | case 'yy'; w = zeros(6,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/PaulaviciusAdjiman2017b.m: -------------------------------------------------------------------------------- 1 | function w=PaulaviciusAdjiman2017b(x,y,keyf,keyxy) 2 | % This file provides all functions defining PaulaviciusAdjiman2017b problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 4 2] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = x+y; 11 | case 'G'; w = [-x-1; x-1; -y-1; y-1]; 12 | case 'f'; w = .5*x*y^2-(x^3)*y; 13 | case 'g'; w = [-y-1; y-1]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = 1; 20 | case 'y' ; w = 1; 21 | case 'xx'; w = 0; 22 | case 'xy'; w = 0; 23 | case 'yy'; w = 0; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [-1; 1; 0; 0]; 28 | case 'y' ; w = [ 0; 0; -1; 1]; 29 | case 'xx'; w = zeros(4,1); 30 | case 'xy'; w = zeros(4,1); 31 | case 'yy'; w = zeros(4,1); 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = 0.5*y^2-3*(x^2)*y; 36 | case 'y' ; w = x*y-x^3; 37 | case 'xx'; w = -6*x*y; 38 | case 'xy'; w = y-3*x^2; 39 | case 'yy'; w = x; 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [ 0; 0]; 44 | case 'y' ; w = [-1; 1]; 45 | case 'xx'; w = zeros(2,1); 46 | case 'xy'; w = zeros(2,1); 47 | case 'yy'; w = zeros(2,1); 48 | end 49 | end 50 | end 51 | 52 | end 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/DempeLohse2011Ex31b.m: -------------------------------------------------------------------------------- 1 | function w=DempeLohse2011Ex31b(x,y,keyf,keyxy) 2 | % This file provides all functions defining DempeLohse2011Ex31b problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [3 3 0 5] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = sum((x-[.5; .5; 0]).^2)-[3 3 6]*y; 10 | case 'G'; w = []; 11 | case 'f'; w = sum(x.*y); 12 | case 'g'; w = [1 1 1; -1 1 0; -eye(3)]*y-[2;0;0;0;0]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x-[1 1 0]'; 19 | case 'y' ; w = [-3;-3;-6]; 20 | case 'xx'; w = 2*eye(3); 21 | case 'xy'; w = zeros(3); 22 | case 'yy'; w = zeros(3); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y; 35 | case 'y' ; w = x; 36 | case 'xx'; w = zeros(3); 37 | case 'xy'; w = eye(3); 38 | case 'yy'; w = zeros(3); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(5,3); 43 | case 'y' ; w = [ 1 1 1; -1 1 0; -eye(3)]; 44 | case 'xx'; w = zeros(15,3); 45 | case 'xy'; w = zeros(15,3); 46 | case 'yy'; w = zeros(15,3); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex324.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex324(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex324 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x^2-y; 10 | case 'G'; w = [-x; x-1] ; 11 | case 'f'; w = ((y-1-0.1*x)^2-0.5-0.5*x)^2; 12 | case 'g'; w = [-y; y-3] ; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x; 19 | case 'y' ; w = -1; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G'; 25 | switch keyxy 26 | case 'x'; w = [-1; 1]; 27 | case 'y'; w = [ 0; 0]; 28 | case 'xx'; w = [ 0; 0]; 29 | case 'xy'; w = [ 0; 0]; 30 | case 'yy'; w = [ 0; 0]; 31 | end 32 | case 'f'; 33 | xy=y-1-0.1*x; 34 | switch keyxy 35 | case 'x'; w = 2*(xy^2-0.5-0.5*x)*(-0.2*xy-0.5); 36 | case 'y'; w = 4*(xy^2-0.5-0.5*x)*xy; 37 | case 'xx'; w = 2*(-0.2*xy-0.5)^2+0.04*(xy^2-0.5-0.5*x); 38 | case 'xy'; w = 4*xy*(-0.2*xy-0.5)-0.4*(xy^2-0.5-0.5*x); 39 | case 'yy'; w = 8*xy^2+4*(xy^2-0.5-0.5*x); 40 | end 41 | case 'g'; 42 | switch keyxy 43 | case 'x'; w = [ 0; 0]; 44 | case 'y'; w = [-1; 1]; 45 | case 'xx'; w = [ 0; 0]; 46 | case 'xy'; w = [ 0; 0]; 47 | case 'yy'; w = [ 0; 0]; 48 | end 49 | end 50 | end 51 | 52 | end -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1990Ex1c.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1990Ex1c(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1990Ex1c problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 0 4 ] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 0.5*sum((y-[3; 4]).^2)-12.5; 10 | case 'G'; w = []; 11 | case 'f'; w = 0.5*(y'*[1 3; 3 10]*y)-x'*y; 12 | case 'g'; w = [[-0.333 1]*y-2; [1 -0.333]*y-2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [0;0]; 19 | case 'y' ; w = y -[3; 4]; 20 | case 'xx'; w = zeros(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -y; 35 | case 'y' ; w = [1 3; 3 10]*y-x; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = -eye(2); 38 | case 'yy'; w = [1 3; 3 10]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,2); 43 | case 'y' ; w = [-0.333 1; 1 -0.333; -eye(2)]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MuuQuy2003Ex1.m: -------------------------------------------------------------------------------- 1 | function w=MuuQuy2003Ex1(x,y,keyf,keyxy) 2 | % This file provides all functions defining MuuQuy2003Ex1 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 2 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x^2-4*x+y'*y; 10 | case 'G'; w = [-x;x-2]; 11 | case 'f'; w = y(1)^2+y(2)^2/2+y(1)*y(2)+[1-3*x 1+x]*y; 12 | case 'g'; w = [[2 1]*y-2*x-1; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x-4; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = zeros(2,1); 22 | case 'yy'; w = 2*eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1]; 27 | case 'y' ; w = zeros(2,2); 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(4,1); 30 | case 'yy'; w = zeros(4,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -3*y(1)+y(2); 35 | case 'y' ; w = [2*y(1)+y(2)+1-3*x; y(2)+y(1)+1+x]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = [-3;1]; 38 | case 'yy'; w = [2 1; 1 1]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ -2; 0;0]; 43 | case 'y' ; w = [2 1; -eye(2)]; 44 | case 'xx'; w = zeros(3,1); 45 | case 'xy'; w = zeros(6,1); 46 | case 'yy'; w = zeros(6,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1990Ex1b.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1990Ex1b(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1990Ex1b problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 0 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x'*x+0.5*sum((y-[3; 4]).^2)-12.5; 10 | case 'G'; w = []; 11 | case 'f'; w = 0.5*(y'*[1 -2; -2 5]*y)-x'*y; 12 | case 'g'; w = [[-0.333 1]*y-2; [1 -0.333]*y-2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*x; 19 | case 'y' ; w = y -[3; 4]; 20 | case 'xx'; w = 2*eye(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -y; 35 | case 'y' ; w = [1 -2; -2 5]*y-x; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = -eye(2); 38 | case 'yy'; w = [1 -2; -2 5]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,2); 43 | case 'y' ; w = [-0.333 1; 1 -0.333; -eye(2)]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/LamparielloSagratella2017Ex23.m: -------------------------------------------------------------------------------- 1 | function w=LamparielloSagratella2017Ex23(x,y,keyf,keyxy) 2 | % This file provides all functions defining LamparielloSagratella2017Ex23 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x; 10 | case 'G'; w = [-1;1]*x-1; 11 | case 'f'; w = (x-y(1))^2+(y(2)+1)^2; 12 | case 'g'; w = [y(1)^3-y(2);-y(2)]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 1; 19 | case 'y' ; w = [0; 0]; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = [0;0]; 22 | case 'yy'; w = zeros(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1]; 27 | case 'y' ; w = zeros(2,2); 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(4,1); 30 | case 'yy'; w = zeros(4,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 2*(x-y(1)); 35 | case 'y' ; w = 2*(y-[x;-1]); 36 | case 'xx'; w = 2; 37 | case 'xy'; w = 2*[-1;0]; 38 | case 'yy'; w = 2*eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [0; 0]; 43 | case 'y' ; w = [3*y(1)^2 -1; 0 -1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(4,1); 46 | case 'yy'; w = [6*y(1) 0; zeros(3,2) ]; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1990Ex2a.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1990Ex2a(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1990Ex2a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 1 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 0.5*sum((y-[3; 4]).^2); 10 | case 'G'; w = -x; 11 | case 'f'; w = 0.5*(y'*y)-[3+1.333*x x] *y; 12 | case 'g'; w = [[-0.333 1]*y-2; [1 -0.333]*y-2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0; 19 | case 'y' ; w = y -[3; 4]; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = zeros(2,1); 22 | case 'yy'; w = eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = -1; 27 | case 'y' ; w = zeros(1,2); 28 | case 'xx'; w = 0; 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -[1.333 1]*y; 35 | case 'y' ; w = y-[3+1.333*x; x]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = -[1.333; 1]; 38 | case 'yy'; w = eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,1); 43 | case 'y' ; w = [-0.333 1; 1 -0.333; -eye(2)]; 44 | case 'xx'; w = zeros(4,1); 45 | case 'xy'; w = zeros(8,1); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/DempeFranke2011Ex41.m: -------------------------------------------------------------------------------- 1 | function w=DempeFranke2011Ex41(x,y,keyf,keyxy) 2 | % This file provides all functions defining DempeFranke2011Ex41 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 4 4 ] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x(1)+y'*y; 10 | case 'G'; w = [-1-x(1);-1+x(1);-1-x(2);1+x(2)]; 11 | case 'f'; w = x'*y; 12 | case 'g'; w = [-2*y(1)+y(2); y-2; -y(2)]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [1;0]; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = zeros(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = 2*eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1 0; 1 0; 0 -1; 0 1]; 27 | case 'y' ; w = zeros(4,2); 28 | case 'xx'; w = zeros(8,2); 29 | case 'xy'; w = zeros(8,2); 30 | case 'yy'; w = zeros(8,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y; 35 | case 'y' ; w = x; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = eye(2); 38 | case 'yy'; w = 2*eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,2); 43 | case 'y' ; w = [-2 1; 1 0; 0 1; 0 -1]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1990Ex1a.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1990Ex1a(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1990Ex1a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 0 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 0.1*(x'*x)+0.5*sum((y-[3; 4]).^2)-12.5; 10 | case 'G'; w = []; 11 | case 'f'; w = 0.5*(y'*[1 -2; -2 5]*y)-x'*y; 12 | case 'g'; w = [[-0.333 1]*y-2; [1 -0.333]*y-2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0.2*x; 19 | case 'y' ; w = y -[3; 4]; 20 | case 'xx'; w = 0.2*eye(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -y; 35 | case 'y' ; w = [1 -2; -2 5]*y-x; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = -eye(2); 38 | case 'yy'; w = [1 -2; -2 5]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,2); 43 | case 'y' ; w = [-0.333 1; 1 -0.333; -eye(2)]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1990Ex1d.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1990Ex1d(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1990Ex1d problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 0 4 ] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 0.1*(x'*x)+0.5*sum((y-[3; 4]).^2)-12.5; 10 | case 'G'; w = []; 11 | case 'f'; w = 0.5*(y'*[1 3; 3 10]*y)-x'*y; 12 | case 'g'; w = [[-0.333 1]*y-2; [1 -0.333]*y-2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0.2*x; 19 | case 'y' ; w = y -[3; 4]; 20 | case 'xx'; w = 0.2*eye(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -y; 35 | case 'y' ; w = [1 3; 3 10]*y-x; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = -eye(2); 38 | case 'yy'; w = [1 3; 3 10]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,2); 43 | case 'y' ; w = [-0.333 1; 1 -0.333; -eye(2)]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex311.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex311(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex311 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = y; 10 | case 'G'; w = [-x-1; x-1]; 11 | case 'f'; w = x*(16*y^4+2*y^3-8*y^2-1.5*y+0.5); 12 | case 'g'; w = [-y-0.8; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0; 19 | case 'y' ; w = 1; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1; 1]; 27 | case 'y' ; w = [ 0; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 16*y^4+2*y^3-8*y^2-1.5*y+0.5; 35 | case 'y' ; w = x*(64*y^3+6*y^2-16*y-1.5); 36 | case 'xx'; w = 0; 37 | case 'xy'; w = 64*y^3+6*y^2-16*y-1.5; 38 | case 'yy'; w = x*(192*y^2+12*y-16); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [ 0; 0]; 43 | case 'y' ; w = [-1; 1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/IshizukaAiyoshi1992a.m: -------------------------------------------------------------------------------- 1 | function w=IshizukaAiyoshi1992a(x,y,keyf,keyxy) 2 | % This file provides all functions defining IshizukaAiyoshi1992a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 1 5] 5 | 6 | M = 4; % M > 1 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x*y(2)^2; 10 | case 'G'; w = -x-M; 11 | case 'f'; w = y(1); 12 | case 'g'; w = -[1; 1; 1; 0; 0]*x+[0 0; -1 0; 1 0; -1 -1; 1 1]*y-[ 0; 0; 0; M; M]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = y(2)^2; 19 | case 'y' ; w = [0; 2*x*y(2)]; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = [0 ; 2*y(2)]; 22 | case 'yy'; w = [0 0; 0 2*x ]; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = -1 ; 27 | case 'y' ; w = [0 0]; 28 | case 'xx'; w = 0; 29 | case 'xy'; w = [0;0]; 30 | case 'yy'; w = [0 0;0 0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0; 35 | case 'y' ; w = [1; 0]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = [0; 0]; 38 | case 'yy'; w = [0 0; 0 0]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = -[1; 1; 1; 0; 0]; 43 | case 'y' ; w = [0 0; -1 0; 1 0; -1 -1; 1 1]; 44 | case 'xx'; w = zeros(5,1); 45 | case 'xy'; w = zeros(10,1); 46 | case 'yy'; w = zeros(10,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Mirrlees1999.m: -------------------------------------------------------------------------------- 1 | function w=Mirrlees1999(x,y,keyf,keyxy) 2 | % This file provides all functions defining Mirrlees1999 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 0 2] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = (x-2)^2+(y-1)^2; 11 | case 'G'; w = []; 12 | case 'f'; w = -x*exp(-(y+1)^2)-exp(-(y-1)^2); 13 | case 'g'; w = [y-2; -y-2]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = 2*(x-2); 20 | case 'y' ; w = 2*(y-1); 21 | case 'xx'; w = 2; 22 | case 'xy'; w = 0; 23 | case 'yy'; w = 2; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = []; 28 | case 'y' ; w = []; 29 | case 'xx'; w = []; 30 | case 'xy'; w = []; 31 | case 'yy'; w = []; 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = -exp(-(y+1)^2); 36 | case 'y' ; w = 2*x*(y+1)*exp(-(y+1)^2)+2*(y-1)*exp(-(y-1)^2); 37 | case 'xx'; w = 0; 38 | case 'xy'; w = 2*(y+1)*exp(-(y+1)^2); 39 | case 'yy'; w = 2*exp(-(y-1)^2 )+ 2*exp(-(y+1)^2)*x - 4*exp(-(y-1)^2)*(y-1)^2-4*exp(-(y+1)^2)*x*(y+1)^2; 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [0; 0]; 44 | case 'y' ; w = [1; -1]; 45 | case 'xx'; w = [0; 0]; 46 | case 'xy'; w = [0; 0]; 47 | case 'yy'; w = [0; 0]; 48 | end 49 | end 50 | end 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex310.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex310(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex310 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = y; 11 | case 'G'; w = [-x+0.1; x-1]; 12 | case 'f'; w = x*(16*y^4+2*y^3-8*y^2-1.5*y+0.5); 13 | case 'g'; w = [-y-1; y-1]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = 0; 20 | case 'y' ; w = 1; 21 | case 'xx'; w = 0; 22 | case 'xy'; w = 0; 23 | case 'yy'; w = 0; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [-1; 1]; 28 | case 'y' ; w = [ 0; 0]; 29 | case 'xx'; w = zeros(2,1); 30 | case 'xy'; w = zeros(2,1); 31 | case 'yy'; w = zeros(2,1); 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = 16*y^4+2*y^3-8*y^2-1.5*y+0.5; 36 | case 'y' ; w = x*(64*y^3+6*y^2-16*y-1.5); 37 | case 'xx'; w = 0; 38 | case 'xy'; w = 64*y^3+6*y^2-16*y-1.5; 39 | case 'yy'; w = x*(192*y^2+12*y-16); 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [ 0; 0]; 44 | case 'y' ; w = [-1; 1]; 45 | case 'xx'; w = zeros(2,1); 46 | case 'xy'; w = zeros(2,1); 47 | case 'yy'; w = zeros(2,1); 48 | end 49 | end 50 | end 51 | 52 | end 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/AllendeStill2013.m: -------------------------------------------------------------------------------- 1 | function w=AllendeStill2013(x,y,keyf,keyxy) 2 | % This file provides all functions defining AllendeStill2013 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 5 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x(1)-1)^2 + (x(2)-1)^2 +y'*y; 10 | case 'G'; w = [-x; x(1)-2; -y]; 11 | case 'f'; w = y'*y-2*x'*y; 12 | case 'g'; w = (y-1).^2-0.25; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [2*x(1)-2; 2*x(2)-2]; 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = [2 0; 0 2]; 21 | case 'xy'; w = zeros(2,2); 22 | case 'yy'; w = 2*eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-eye(2); 1 0; 0 0; 0 0]; 27 | case 'y' ; w = [ 0 0; 0 0; 0 0;-eye(2)]; 28 | case 'xx'; w = zeros(10,2); 29 | case 'xy'; w = zeros(10,2); 30 | case 'yy'; w = zeros(10,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -2*y; 35 | case 'y' ; w = 2*(y-x); 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = -2*eye(2); 38 | case 'yy'; w = 2*eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(2,2); 43 | case 'y' ; w = 2*diag(y-1); 44 | case 'xx'; w = zeros(4,2); 45 | case 'xy'; w = zeros(4,2); 46 | case 'yy'; w = [2 0; 0 0; 0 0; 0 2]; 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/DempeFranke2014Ex38.m: -------------------------------------------------------------------------------- 1 | function w=DempeFranke2014Ex38(x,y,keyf,keyxy) 2 | % This file provides all functions defining DempeFranke2014Ex38 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 4 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = [2 1]*x+[2 -1]*y; 10 | case 'G'; w = [-1-x(1);-1+x(1);-1-x(2);0.75+x(2)]; 11 | case 'f'; w = x'*y; 12 | case 'g'; w = [-2*y(1)+y(2); y-2; -y(2)]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [2; 1]; 19 | case 'y' ; w = [2;-1]; 20 | case 'xx'; w = zeros(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = zeros(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1 0; 1 0; 0 -1; 0 1]; 27 | case 'y' ; w = zeros(4,2); 28 | case 'xx'; w = zeros(8,2); 29 | case 'xy'; w = zeros(8,2); 30 | case 'yy'; w = zeros(8,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y; 35 | case 'y' ; w = x; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = eye(2); 38 | case 'yy'; w = 2*eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,2); 43 | case 'y' ; w = [-2 1; 1 0; 0 1; 0 -1]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Colson2002BIPA3.m: -------------------------------------------------------------------------------- 1 | function w=Colson2002BIPA3(x,y,keyf,keyxy) 2 | % This file provides all functions defining Colson2002BIPA3 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-5)^4+(2*y+1)^4; 10 | case 'G'; w = [x+y-4; -x]; 11 | case 'f'; w = exp(-x+y)+x^2+2*x*y+y^2+2*x+6*y; 12 | case 'g'; w = [-x+y-2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 4*(x-5)^3; 19 | case 'y' ; w = 8*(2*y+1)^3; 20 | case 'xx'; w = 12*(x-5)^2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 48*(2*y+1)^2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [1; -1]; 27 | case 'y' ; w = [1; 0]; 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,1); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -exp(-x+y)+2*x+2*y+2; 35 | case 'y' ; w = exp(-x+y)+2*x+2*y+6; 36 | case 'xx'; w = exp(-x+y)+2; 37 | case 'xy'; w = -exp(-x+y)+2; 38 | case 'yy'; w = exp(-x+y)+2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-1; 0]; 43 | case 'y' ; w = [ 1; -1]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(2,1); 46 | case 'yy'; w = zeros(2,1); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/DempeFranke2011Ex42.m: -------------------------------------------------------------------------------- 1 | function w=DempeFranke2011Ex42(x,y,keyf,keyxy) 2 | % This file provides all functions defining DempeFranke2011Ex42 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 4 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x(1)+sum((y-[1;0]).^2); 10 | case 'G'; w = [-1-x(1);-1+x(1);-1-x(2);1+x(2)]; 11 | case 'f'; w = x'*y; 12 | case 'g'; w = [-y(1)+y(2)-1; y(1)+y(2)-3.5; y(2)-2]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [1;0]; 19 | case 'y' ; w = 2*(y-[1;0]); 20 | case 'xx'; w = zeros(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = 2*eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1 0; 1 0; 0 -1; 0 1]; 27 | case 'y' ; w = zeros(4,2); 28 | case 'xx'; w = zeros(8,2); 29 | case 'xy'; w = zeros(8,2); 30 | case 'yy'; w = zeros(8,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = y; 35 | case 'y' ; w = x; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = eye(2); 38 | case 'yy'; w = 2*eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(3,2); 43 | case 'y' ; w = [-1 1; 1 1; 0 1]; 44 | case 'xx'; w = zeros(6,2); 45 | case 'xy'; w = zeros(6,2); 46 | case 'yy'; w = zeros(6,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/CalamaiVicente1994a.m: -------------------------------------------------------------------------------- 1 | function w=CalamaiVicente1994a(x,y,keyf,keyxy) 2 | % This file provides all functions defining CalamaiVicente1994a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 0 3] 5 | 6 | 7 | 8 | rho=1; % rho >= 1 9 | 10 | if nargin<4 || isempty(keyxy) 11 | switch keyf 12 | case 'F'; w = (x-1)^2/2+y^2/2; 13 | case 'G'; w = []; 14 | case 'f'; w = y/2-x*y; 15 | case 'g'; w = [x-y-1; -x-y+1; x+y-rho]; 16 | end 17 | else 18 | switch keyf 19 | case 'F' 20 | switch keyxy 21 | case 'x' ; w = x-1; 22 | case 'y' ; w = y; 23 | case 'xx'; w = 1; 24 | case 'xy'; w = 0; 25 | case 'yy'; w = 1; 26 | end 27 | case 'G' 28 | switch keyxy 29 | case 'x' ; w = []; 30 | case 'y' ; w = []; 31 | case 'xx'; w = []; 32 | case 'xy'; w = []; 33 | case 'yy'; w = []; 34 | end 35 | case 'f' 36 | switch keyxy 37 | case 'x' ; w = -y; 38 | case 'y' ; w = 1/2-x; 39 | case 'xx'; w = 0; 40 | case 'xy'; w = -1; 41 | case 'yy'; w = 0; 42 | end 43 | case 'g' 44 | switch keyxy 45 | case 'x' ; w = [1; -1; 1]; 46 | case 'y' ; w = [-1; -1; 1]; 47 | case 'xx'; w = zeros(3,1); 48 | case 'xy'; w = zeros(3,1); 49 | case 'yy'; w = zeros(3,1); 50 | end 51 | end 52 | end 53 | 54 | end 55 | function [A, B, b]=data() 56 | A= [ eye(2);eye(2);-eye(2)]; 57 | B= [-eye(2);eye(2);-eye(2)]; 58 | b= [-1;-1;-1.5;-3;1;1]; 59 | end 60 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1990Ex2b.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1990Ex2b(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1990Ex2b problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 1 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 0.5*sum((y-[3; 4]).^2); 10 | case 'G'; w = -x; 11 | case 'f'; w = 0.5*(y'*[1+x 0;0 0]*y)-[3+1.333*x x] *y; 12 | case 'g'; w = [[-0.333 1]*y-2; [1 -0.333]*y-2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0; 19 | case 'y' ; w = y -[3; 4]; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = zeros(2,1); 22 | case 'yy'; w = eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = -1; 27 | case 'y' ; w = zeros(1,2); 28 | case 'xx'; w = 0; 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0.5*y(1)^2-[1.333 1]*y; 35 | case 'y' ; w = [1+x 0;0 0]*y-[3+1.333*x; x]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = [y(1)-1.333; -1]; 38 | case 'yy'; w = [1+x 0;0 0]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,1); 43 | case 'y' ; w = [-0.333 1; 1 -0.333; -eye(2)]; 44 | case 'xx'; w = zeros(4,1); 45 | case 'xy'; w = zeros(8,1); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/ShimizuAiyoshi1981Ex2.m: -------------------------------------------------------------------------------- 1 | function w=ShimizuAiyoshi1981Ex2(x,y,keyf,keyxy) 2 | % This file provides all functions defining ShimizuAiyoshi1981Ex2 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 3 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = sum((x-[30;20]).^2)+[-20 20]*y; 10 | case 'G'; w = [-[1 2]*x+30; [1 1]*x-25; [0 1]*x-15]; 11 | case 'f'; w = sum((x-y).^2); 12 | case 'g'; w = [ y-10; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x-[30;20]); 19 | case 'y' ; w = [-20; 20]; 20 | case 'xx'; w = 2*eye(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = zeros(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1 -2; 1 1; 0 1]; 27 | case 'y' ; w = [0 0; 0 0; 0 0]; 28 | case 'xx'; w = zeros(6,2); 29 | case 'xy'; w = zeros(6,2); 30 | case 'yy'; w = zeros(6,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 2*(x-y); 35 | case 'y' ; w = 2*(y-x); 36 | case 'xx'; w = 2*eye(2); 37 | case 'xy'; w = -2*eye(2); 38 | case 'yy'; w = 2*eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,2); 43 | case 'y' ; w = [eye(2);-eye(2)]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1990Ex1e.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1990Ex1e(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1990Ex1e problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 0 4 ] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 0.1*(x'*x)+0.5*sum((y-[3; 4]).^2)-12.5; 10 | case 'G'; w = []; 11 | case 'f'; w = 0.5*(y'*[1 3; 3 10]*y)-y'*[-1 2; 3 -3]*x; 12 | case 'g'; w = [[-0.333 1]*y-2; [1 -0.333]*y-2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0.2*x; 19 | case 'y' ; w = y -[3; 4]; 20 | case 'xx'; w = 0.2*eye(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -[-1 3; 2 -3]*y; 35 | case 'y' ; w = [1 3; 3 10]*y-[-1 2; 3 -3]*x; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = -[-1 3; 2 -3]'; 38 | case 'yy'; w = [1 3; 3 10]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,2); 43 | case 'y' ; w = [-0.333 1; 1 -0.333; -eye(2)]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1990Ex2d.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1990Ex2d(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1990Ex2d problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 1 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 0.5*sum((y-[3; 4]).^2); 10 | case 'G'; w = -x; 11 | case 'f'; w = 0.5*(y'*y)-[3+1.333*x x] *y; 12 | case 'g'; w = [[-0.333+0.1*x 1]*y-x; [1 -0.333-0.1*x]*y-2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0; 19 | case 'y' ; w = y -[3; 4]; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = zeros(2,1); 22 | case 'yy'; w = eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = -1; 27 | case 'y' ; w = zeros(1,2); 28 | case 'xx'; w = 0; 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -[1.333 1]*y; 35 | case 'y' ; w = y-[3+1.333*x; x]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = -[1.333; 1]; 38 | case 'yy'; w = [1 0;0 1]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [0.1*y(1)-1; -0.1*y(2); 0; 0]; 43 | case 'y' ; w = [-0.333+0.1*x 1; 1 -0.333-0.1*x; -eye(2)]; 44 | case 'xx'; w = zeros(4,1); 45 | case 'xy'; w = [0.1 0 0 -0.1 0 0 0 0]'; 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/SinhaMaloDeb2014TP6.m: -------------------------------------------------------------------------------- 1 | function w=SinhaMaloDeb2014TP6(x,y,keyf,keyxy) 2 | % This file provides all functions defining SinhaMaloDeb2014TP7 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 1 6] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = (x-1)^2-2*x+2*y(1); 11 | case 'G'; w = -x; 12 | case 'f'; w = sum((2*y-[4;1]).^2)+x*y(1); 13 | case 'g'; w = [-y;4*x+[5 4]*y-12;-4*x+[-5 4]*y+4; 4*x+[-4 5]*y-4;-4*x+[4 5]*y-4]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = 2*(x-1)-2; 20 | case 'y' ; w = [2; 0]; 21 | case 'xx'; w = 2; 22 | case 'xy'; w = zeros(2,1); 23 | case 'yy'; w = zeros(2,2); 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = -1; 28 | case 'y' ; w = zeros(1,2); 29 | case 'xx'; w = 0; 30 | case 'xy'; w = zeros(2,1); 31 | case 'yy'; w = zeros(2,2); 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = y(1); 36 | case 'y' ; w = 4*(2*y-[4;1])+[x;0]; 37 | case 'xx'; w = 0; 38 | case 'xy'; w = [1;0]; 39 | case 'yy'; w = 8*eye(2); 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [0 0 4 -4 4 -4]'; 44 | case 'y' ; w = [-eye(2); 5 4; -5 4; -4 5; 4 5;]; 45 | case 'xx'; w = zeros(6,1); 46 | case 'xy'; w = zeros(12,1); 47 | case 'yy'; w = zeros(12,2); 48 | end 49 | end 50 | end 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/BardBook1998.m: -------------------------------------------------------------------------------- 1 | function w=BardBook1998(x,y,keyf,keyxy) 2 | % This file provides all functions defining BardBook1998 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 4 7] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = sum((y-x+20).^2); 10 | case 'G'; w = [x-50; -x]; 11 | case 'f'; w = [2 2]*x-[3 3]*y-60; 12 | case 'g'; w = [[1 1]*x+[1 -2]*y-40; 2*y-x+10; y-20; -y-10]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w =-2*(y-x+20); 19 | case 'y' ; w = 2*(y-x+20); 20 | case 'xx'; w = 2*eye(2); 21 | case 'xy'; w =-2*eye(2); 22 | case 'yy'; w = 2*eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [eye(2); -eye(2) ]; 27 | case 'y' ; w = zeros(4,2); 28 | case 'xx'; w = zeros(8,2); 29 | case 'xy'; w = zeros(8,2); 30 | case 'yy'; w = zeros(8,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = [ 2; 2]; 35 | case 'y' ; w = [-3; -3]; 36 | case 'xx'; w = zeros(2,2); 37 | case 'xy'; w = zeros(2,2); 38 | case 'yy'; w = zeros(2,2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [1 1; -eye(2); zeros(4,2)]; 43 | case 'y' ; w = [1 -2; 2*eye(2); eye(2); -eye(2)]; 44 | case 'xx'; w = zeros(14,2); 45 | case 'xy'; w = zeros(14,2); 46 | case 'yy'; w = zeros(14,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/FloudasZlobec1998.m: -------------------------------------------------------------------------------- 1 | function w=FloudasZlobec1998(x,y,keyf,keyxy) 2 | % This file provides all functions defining FloudasZlobec1998 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 2 6] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = [x^3 1]*y; 11 | case 'G'; w = [-x; x-1]; 12 | case 'f'; w = -y(2); 13 | case 'g'; w = [-y-[1;0]; y-[1; 100]; x*y(1)-10; y(1)^2+x*y(2)-1]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = 3*x^2*y(1); 20 | case 'y' ; w = [x^3; 1]; 21 | case 'xx'; w = 6*x*y(1); 22 | case 'xy'; w = [3*x^2; 0]; 23 | case 'yy'; w = zeros(2,2); 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [ -1; 1]; 28 | case 'y' ; w = [0 0; 0 0]; 29 | case 'xx'; w = zeros(2,1); 30 | case 'xy'; w = zeros(4,1); 31 | case 'yy'; w = zeros(4,2); 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = 0; 36 | case 'y' ; w = [0; -1]; 37 | case 'xx'; w = zeros(1,1); 38 | case 'xy'; w = zeros(2,1); 39 | case 'yy'; w = zeros(2,2); 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [0; 0; 0; 0; y(1); y(2)]; 44 | case 'y' ; w = [-eye(2); eye(2); x 0; 2*y(1) x]; 45 | case 'xx'; w = zeros(6,1); 46 | case 'xy'; w = [zeros(8,1); 1; 0; 0; 1]; 47 | case 'yy'; w = [zeros(10,2); 2 0; 0 0]; 48 | end 49 | end 50 | end 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1990Ex2c.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1990Ex2c(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1990Ex2c problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 1 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 0.5*sum((y-[3; 4]).^2); 10 | case 'G'; w = -x; 11 | case 'f'; w = 0.5*(y'*[1+x 0;0 1+0.1*x]*y)-[3+1.333*x x] *y; 12 | case 'g'; w = [[-0.333 1]*y-2; [1 -0.333]*y-2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0; 19 | case 'y' ; w = y -[3; 4]; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = zeros(2,1); 22 | case 'yy'; w = eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = -1; 27 | case 'y' ; w = zeros(1,2); 28 | case 'xx'; w = 0; 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0.5*y(1)^2+0.05*y(2)^2-[1.333 1]*y; 35 | case 'y' ; w = [1+x 0;0 1+0.1*x]*y-[3+1.333*x; x]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = [y(1)-1.333; 0.1*y(2)-1]; 38 | case 'yy'; w = [1+x 0;0 1+0.1*x]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(4,1); 43 | case 'y' ; w = [-0.333 1; 1 -0.333; -eye(2)]; 44 | case 'xx'; w = zeros(4,1); 45 | case 'xy'; w = zeros(8,1); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1990Ex2e.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1990Ex2e(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1990Ex2e problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 1 4] 5 | 6 | if nargin<4 || isempty(keyxy) 7 | switch keyf 8 | case 'F'; w = 0.5*sum((y-[3; 4]).^2); 9 | case 'G'; w = -x; 10 | case 'f'; w = 0.5*(y'*[1+x 0;0 1]*y)-[3+1.333*x x] *y; 11 | case 'g'; w = [[-0.333+0.1*x 1]*y-x; [1 -0.333-0.1*x]*y-2; -y]; 12 | end 13 | else 14 | switch keyf 15 | case 'F' 16 | switch keyxy 17 | case 'x' ; w = 0; 18 | case 'y' ; w = y -[3; 4]; 19 | case 'xx'; w = 0; 20 | case 'xy'; w = zeros(2,1); 21 | case 'yy'; w = eye(2); 22 | end 23 | case 'G' 24 | switch keyxy 25 | case 'x' ; w = -1; 26 | case 'y' ; w = zeros(1,2); 27 | case 'xx'; w = 0; 28 | case 'xy'; w = zeros(2,1); 29 | case 'yy'; w = zeros(2,2); 30 | end 31 | case 'f' 32 | switch keyxy 33 | case 'x' ; w = 0.5*y(1)^2-[1.333 1]*y; 34 | case 'y' ; w = [1+x 0;0 1]*y-[3+1.333*x; x]; 35 | case 'xx'; w = 0; 36 | case 'xy'; w = [y(1)-1.333; -1]; 37 | case 'yy'; w = [1+x 0;0 1]; 38 | end 39 | case 'g' 40 | switch keyxy 41 | case 'x' ; w = [0.1*y(1)-1; -0.1*y(2); 0; 0]; 42 | case 'y' ; w = [-0.333+0.1*x 1; 1 -0.333-0.1*x; -eye(2)]; 43 | case 'xx'; w = zeros(4,1); 44 | case 'xy'; w = [0.1 0 0 -0.1 0 0 0 0]'; 45 | case 'yy'; w = zeros(8,2); 46 | end 47 | end 48 | end 49 | end 50 | 51 | 52 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/NieWangYe2017Ex34.m: -------------------------------------------------------------------------------- 1 | function w=NieWangYe2017Ex34(x,y,keyf,keyxy) 2 | % This file provides all functions defining NieWangYe2017Ex34 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x+sum(y); 10 | case 'G'; w = [-x+2; x-3]; 11 | case 'f'; w = x*sum(y); 12 | case 'g'; w = [-y(1)^2+y(2)^2+(y(1)^2+y(2)^2)^2; -y(1)]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 1; 19 | case 'y' ; w = [1; 1]; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = [0;0]; 22 | case 'yy'; w = [0 0;0 0]; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-1;1]; 27 | case 'y' ; w = zeros(2,2); 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(4,1); 30 | case 'yy'; w = zeros(4,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = sum(y); 35 | case 'y' ; w = [x;x]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = [1;1]; 38 | case 'yy'; w = zeros(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [0;0]; 43 | case 'y' ; w = [-2*y(1)+4*(y(1)^3+y(1)*y(2)^2) 2*y(2)+4*(y(2)^3+y(2)*y(1)^2); -1 0]; 44 | case 'xx'; w = zeros(2,1); 45 | case 'xy'; w = zeros(4,1); 46 | case 'yy'; w = [-2+4*(3*y(1)^2+y(2)^2) 8*y(2)*y(1); 47 | 8*y(2)*y(1) 2+4*(3*y(2)^2+y(1)^2);0 0;0 0]; 48 | end 49 | end 50 | end 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/FloudasEtal2013.m: -------------------------------------------------------------------------------- 1 | function w=FloudasEtal2013(x,y,keyf,keyxy) 2 | % This file provides all functions defining FloudasEtal2013 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 4 7] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = [2 2]*x-[3 3]*y-60; 10 | case 'G'; w = [x-50; -x]; 11 | case 'f'; w = sum( (y-x+20).^2 ); 12 | case 'g'; w = [2*y-x+10;[1 1]*x+[1 -2]*y-40; -y-10;y-20]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [ 2; 2 ]; 19 | case 'y' ; w = [-3; -3 ]; 20 | case 'xx'; w = zeros(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = zeros(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [eye(2); -eye(2)]; 27 | case 'y' ; w = zeros(4,2); 28 | case 'xx'; w = zeros(8, 2); 29 | case 'xy'; w = zeros(8, 2); 30 | case 'yy'; w = zeros(8, 2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -2*(y-x+20); 35 | case 'y' ; w = 2*(y-x+20); 36 | case 'xx'; w = 2*eye(2); 37 | case 'xy'; w =-2*eye(2); 38 | case 'yy'; w = 2*eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-eye(2); 1 1; zeros(4,2)]; 43 | case 'y' ; w = [2*eye(2); 1 -2;-eye(2);eye(2)]; 44 | case 'xx'; w = zeros(14, 2); 45 | case 'xy'; w = zeros(14, 2); 46 | case 'yy'; w = zeros(14, 2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/CalamaiVicente1994b.m: -------------------------------------------------------------------------------- 1 | function w=CalamaiVicente1994b(x,y,keyf,keyxy) 2 | % This file provides all functions defining CalamaiVicente1994b problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [4 2 0 6] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = sum((x-1).^2)/2+sum(y.^2)/2; 10 | case 'G'; w = []; 11 | case 'f'; w = sum(y.^2)/2-[x(1) x(2)]*y; 12 | case 'g'; [A, B,b]=data(); w = A*[x(1); x(2)]+B*y+b; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = x-1; 19 | case 'y' ; w = y; 20 | case 'xx'; w = eye(4); 21 | case 'xy'; w = zeros(2,4); 22 | case 'yy'; w = eye(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = -[y;0;0]; 35 | case 'y' ; w = y-[x(1); x(2)]; 36 | case 'xx'; w = zeros(4); 37 | case 'xy'; w = [-eye(2) zeros(2)]; 38 | case 'yy'; w = eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; [A] =data(); w = [A zeros(6,2)]; 43 | case 'y' ; [~, B]=data(); w = B; 44 | case 'xx'; w = zeros(24,4); 45 | case 'xy'; w = zeros(12,4); 46 | case 'yy'; w = zeros(12,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | function [A, B, b]=data() 53 | A= [ eye(2);eye(2);-eye(2)]; 54 | B= [-eye(2);eye(2);-eye(2)]; 55 | b= [-1;-1;-1.5;-3;1;1]; 56 | end 57 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex321.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex321(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex321 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x+0.6)^2+y^2; 10 | case 'G'; w = [-x-1; x-1] ; 11 | case 'f'; w = y^4+(4/30)*(1-x)*y^3+(-0.02*x^2+0.16*x-0.4)*y^2+(0.004*x^3-0.036*x^2+0.08*x)*y; 12 | case 'g'; w = [-y-1; y-1] ; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x+0.6); 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x'; w = [-1; 1]; 27 | case 'y'; w = [ 0; 0]; 28 | case 'xx'; w = [ 0; 0]; 29 | case 'xy'; w = [ 0; 0]; 30 | case 'yy'; w = [ 0; 0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x'; w = -(4/30)*y^3+(-0.04*x+0.16)*y^2+(0.012*x^2-0.072*x+0.08)*y; 35 | case 'y'; w = 4*y^3+(4/10)*(1-x)*y^2+2*(-0.02*x^2+0.16*x-0.4)*y+(0.004*x^3-0.036*x^2+0.08*x); 36 | case 'xx'; w = -0.04*y^2+(0.024*x-0.072)*y; 37 | case 'xy'; w = -(4/10)*y^2+2*(-0.04*x+0.16)*y+(0.012*x^2-0.072*x+0.08); 38 | case 'yy'; w = 12*y^2+(4/5)*(1-x)*y+2*(-0.02*x^2+0.16*x-0.4); 39 | end 40 | case 'g'; 41 | switch keyxy 42 | case 'x'; w = [ 0; 0]; 43 | case 'y'; w = [-1; 1]; 44 | case 'xx'; w = [ 0; 0]; 45 | case 'xy'; w = [ 0; 0]; 46 | case 'yy'; w = [ 0; 0]; 47 | end 48 | end 49 | end 50 | 51 | end -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/SinhaMaloDeb2014TP8.m: -------------------------------------------------------------------------------- 1 | function w=SinhaMaloDeb2014TP8(x,y,keyf,keyxy) 2 | % This file provides all functions defining SinhaMaloDeb2014TP8 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 5 6] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = ([2 2]*x+[-3 -3]*y-60)^2; 10 | case 'G'; w = [ -x; x-50; [1 1]*x+[1 -2]*y-40]; 11 | case 'f'; w = sum((y-x+20).^2); 12 | case 'g'; w = [2*y-x+10; y-20; -y-10]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [4;4]*([2 2]*x+[-3 -3]*y-60); 19 | case 'y' ; w = [-6;-6]*([2 2]*x+[-3 -3]*y-60); 20 | case 'xx'; w = 8*ones(2); 21 | case 'xy'; w = -12*ones(2); 22 | case 'yy'; w = 18*ones(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-eye(2); eye(2); 1 1 ]; 27 | case 'y' ; w = [zeros(4,2); 1 -2]; 28 | case 'xx'; w = zeros(10,2); 29 | case 'xy'; w = zeros(10,2); 30 | case 'yy'; w = zeros(10,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w =-2*(y-x+20); 35 | case 'y' ; w = 2*(y-x+20); 36 | case 'xx'; w = 2*eye(2); 37 | case 'xy'; w =-2*eye(2); 38 | case 'yy'; w = 2*eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-eye(2); zeros(4,2)]; 43 | case 'y' ; w = [2*eye(2); eye(2); -eye(2)]; 44 | case 'xx'; w = zeros(12,2); 45 | case 'xy'; w = zeros(12,2); 46 | case 'yy'; w = zeros(12,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Colson2002BIPA1.m: -------------------------------------------------------------------------------- 1 | function w=Colson2002BIPA1(x,y,keyf,keyxy) 2 | % This file provides all functions defining Colson2002BIPA1 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 3 3] 5 | 6 | if nargin<4 || isempty(keyxy) 7 | switch keyf 8 | case 'F'; w = (10-x)^3+(10-y)^3; 9 | case 'G'; w = [x-5; -x+y; -x]; 10 | case 'f'; w = (x+2*y-15)^4; 11 | case 'g'; w = [x+y-20; y-20; -y]; 12 | end 13 | else 14 | switch keyf 15 | case 'F' 16 | switch keyxy 17 | case 'x' ; w =-3*(10-x)^2; 18 | case 'y' ; w =-3*(10-y)^2; 19 | case 'xx'; w = 6*(10-x); 20 | case 'xy'; w = 0; 21 | case 'yy'; w = 6*(10-y); 22 | end 23 | case 'G' 24 | switch keyxy 25 | case 'x' ; w = [1; -1; -1]; 26 | case 'y' ; w = [0; 1; 0]; 27 | case 'xx'; w = zeros(3,1); 28 | case 'xy'; w = zeros(3,1); 29 | case 'yy'; w = zeros(3,1); 30 | end 31 | case 'f' 32 | switch keyxy 33 | case 'x' ; w = 4*(x+2*y-15)^3; 34 | case 'y' ; w = 8*(x+2*y-15)^3; 35 | case 'xx'; w = 12*(x+2*y-15)^2; 36 | case 'xy'; w = 24*(x+2*y-15)^2; 37 | case 'yy'; w = 48*(x+2*y-15)^2; 38 | % case 'xyx'; w = 48*x + 96*y - 720; 39 | % case 'xyy'; w = 96*x + 192*y - 1440; 40 | % case 'yyy'; w = 192*x + 384*y - 2880; 41 | end 42 | case 'g' 43 | switch keyxy 44 | case 'x' ; w = [1; 0; 0]; 45 | case 'y' ; w = [1; 1; -1]; 46 | case 'xx'; w = zeros(3,1); 47 | case 'xy'; w = zeros(3,1); 48 | case 'yy'; w = zeros(3,1); 49 | end 50 | end 51 | end 52 | 53 | end 54 | 55 | 56 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MuuQuy2003Ex2.m: -------------------------------------------------------------------------------- 1 | function w=MuuQuy2003Ex2(x,y,keyf,keyxy) 2 | % This file provides all functions defining MuuQuy2003Ex2 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 3 3 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = [-7 4]*x+y(1)^2+y(3)^2-y(1)*y(3)-4*y(2); 10 | case 'G'; w = [-x;sum(x)-1]; 11 | case 'f'; w = y(1)^2+y(2)^2/2+y(3)^2/2+y(1)*y(2)+(1-3*x(1))*y(1)+(1+x(2))*y(2); 12 | case 'g'; w = [[2 1 -1]*y+[1 -2]*x+2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [-7; 4]; 19 | case 'y' ; w = [2*y(1)-y(3); -4; 2*y(3)-y(1)]; 20 | case 'xx'; w = zeros(2); 21 | case 'xy'; w = zeros(3,2); 22 | case 'yy'; w = [2 0 -1; 0 0 0; -1 0 2]; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-eye(2); 1 1 ]; 27 | case 'y' ; w = zeros(3,3); 28 | case 'xx'; w = zeros(6,2); 29 | case 'xy'; w = zeros(9,2); 30 | case 'yy'; w = zeros(9,3); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = [-3*y(1);y(2)]; 35 | case 'y' ; w = [2*y(1)+y(2)+1-3*x(1); y(2)+y(1)+1+x(2); y(3)]; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = [-3 0; 0 1; 0 0]; 38 | case 'yy'; w = [2 1 0; 1 1 0; 0 0 1]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [1 -2; zeros(3,2)]; 43 | case 'y' ; w = [2 1 -1; -eye(3)]; 44 | case 'xx'; w = zeros(8,2); 45 | case 'xy'; w = zeros(12,2); 46 | case 'yy'; w = zeros(12,3); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/SinhaMaloDeb2014TP3.m: -------------------------------------------------------------------------------- 1 | function w=SinhaMaloDeb2014TP3(x,y,keyf,keyxy) 2 | % This file provides all functions defining SinhaMaloDeb2014TP3 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 3 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x'*diag([-1 -3])*x-4*y(1)+y(2)^2; 10 | case 'G'; w = [-x; x(1)^2+2*x(2)-4]; 11 | case 'f'; w = 2*x(1)^2+y(1)^2-5*y(2); 12 | case 'g'; w = [-y; [0 -1]*x+[-3 4]*y+4; -x(1)^2+2*x(1)-x(2)^2+[2 -1]*y-3]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*diag([-1 -3])*x; 19 | case 'y' ; w = [-4; 2*y(2)]; 20 | case 'xx'; w = 2*diag([-1 -3]); 21 | case 'xy'; w = zeros(2,2); 22 | case 'yy'; w = diag([0 2]); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-eye(2); 2*x(1) 2]; 27 | case 'y' ; w = zeros(3,2); 28 | case 'xx'; w = [zeros(4,2); 2 0; 0 0]; 29 | case 'xy'; w = zeros(6,2); 30 | case 'yy'; w = zeros(6,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = [4*x(1); 0]; 35 | case 'y' ; w = [2*y(1); -5]; 36 | case 'xx'; w = [4 0; 0 0]; 37 | case 'xy'; w = [0 0; 0 0]; 38 | case 'yy'; w = [2 0; 0 0]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [zeros(2,2); 0 -1; -2*x(1)+2 -2*x(2)]; 43 | case 'y' ; w = [-eye(2); -3 4; 2 -1]; 44 | case 'xx'; w = [zeros(6,2); -2 0; 0 -2]; 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex322.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex322(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex322 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 2 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x+0.6)^2+y^2; 10 | case 'G'; w = [-x-1; x-1] ; 11 | case 'f'; w = y^4+(4/30)*(1-x)*y^3+(-0.02*x^2+0.16*x-0.4)*y^2+(0.004*x^3-0.036*x^2+0.08*x)*y; 12 | case 'g'; w = [-y-1; y-1; 0.01*(1+x^2)-y^2] ; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 2*(x+0.6); 19 | case 'y' ; w = 2*y; 20 | case 'xx'; w = 2; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 2; 23 | end 24 | case 'G'; 25 | switch keyxy 26 | case 'x'; w = [-1; 1]; 27 | case 'y'; w = [ 0; 0]; 28 | case 'xx'; w = [ 0; 0]; 29 | case 'xy'; w = [ 0; 0]; 30 | case 'yy'; w = [ 0; 0]; 31 | end 32 | case 'f'; 33 | switch keyxy 34 | case 'x'; w = -(4/30)*y^3+(-0.04*x+0.16)*y^2+(0.012*x^2-0.072*x+0.08)*y; 35 | case 'y'; w = 4*y^3+(4/10)*(1-x)*y^2+2*(-0.02*x^2+0.16*x-0.4)*y+(0.004*x^3-0.036*x^2+0.08*x); 36 | case 'xx'; w = -0.04*y^2+(0.024*x-0.072)*y; 37 | case 'xy'; w = -(4/10)*y^2+2*(-0.04*x+0.16)*y+(0.012*x^2-0.072*x+0.08); 38 | case 'yy'; w = 12*y^2+(4/5)*(1-x)*y+2*(-0.02*x^2+0.16*x-0.4); 39 | end 40 | case 'g'; 41 | switch keyxy 42 | case 'x'; w = [ 0; 0; 0.02*x]; 43 | case 'y'; w = [-1; 1; -2*y]; 44 | case 'xx'; w = [ 0; 0; 0.02]; 45 | case 'xy'; w = [ 0; 0; 0 ]; 46 | case 'yy'; w = [ 0; 0; -2 ]; 47 | end 48 | end 49 | end 50 | 51 | end -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Bard1988Ex3.m: -------------------------------------------------------------------------------- 1 | function w=Bard1988Ex3(x,y,keyf,keyxy) 2 | % This file provides all functions defining Bard1988Ex3 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 3 4] 5 | 6 | if nargin<4 || isempty(keyxy) 7 | switch keyf 8 | case 'F'; w = -x(1)^2-3*x(2)-4*y(1)+y(2)^2; 9 | case 'G'; w = [x(1)^2+2*x(2)-4; -x ]; 10 | case 'f'; w = 2*x(1)^2+y(1)^2-5*y(2); 11 | case 'g'; w = [-x(1)^2+2*x(1)-x(2)^2 + 2*y(1)-y(2)-3; 12 | -x(2)-3*y(1)+4*y(2)+4; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [-2*x(1); -3 ]; 19 | case 'y' ; w = [-4 ; 2*y(2)]; 20 | case 'xx'; w = [-2 0; 0 0 ]; 21 | case 'xy'; w = [ 0 0; 0 0 ]; 22 | case 'yy'; w = [ 0 0; 0 2 ]; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [2*x(1) 2; -1 0; 0 -1 ]; 27 | case 'y' ; w = zeros(3,2); 28 | case 'xx'; w = zeros(6,2); w(1,1)=2; 29 | case 'xy'; w = zeros(6,2); 30 | case 'yy'; w = zeros(6,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = [ 4*x(1); 0 ]; 35 | case 'y' ; w = [ 2*y(1); -5 ]; 36 | case 'xx'; w = [ 4 0; 0 0]; 37 | case 'xy'; w = [ 0 0; 0 0]; 38 | case 'yy'; w = [ 2 0; 0 0]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-2*x(1)+2 -2*x(2); 0 -1; 0 0; 0 0 ]; 43 | case 'y' ; w = [ 2 -1 ; -3 4; -1 0; 0 -1 ]; 44 | case 'xx'; w = [-2*eye(2); zeros(6,2)]; 45 | case 'xy'; w = zeros(8,2); 46 | case 'yy'; w = zeros(8,2); 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1993Ex32.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1993Ex32(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1993Ex32 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 1 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 0.5*sum((y-[3;4]).^2); 10 | case 'G'; w = -x; 11 | case 'f'; w = 0.5*(1+0.2*x)*y(1)^2+0.5*(1+0.1*x)*y(2)^2-(3+1.333*x)*y(1)-x*y(2); 12 | case 'g'; w = [[-0.333 1]*y+0.1*x-1; y'*y-0.1*x-9; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0; 19 | case 'y' ; w = [ y(1)-3 ; y(2)-4 ]; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = [ 0; 0 ]; 22 | case 'yy'; w = [ 1 0; 0 1 ]; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = -1; 27 | case 'y' ; w = [0 0]; 28 | case 'xx'; w = zeros(1,1); 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0.1*y(1)^2+0.05*y(2)^2-1.333*y(1)-y(2); 35 | case 'y' ; w = [(1+0.2*x)*y(1)-(3+1.333*x); (1+0.1*x)*y(2)-x]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = [ 0.2*y(1)-1.333; 0.1*y(2)-1]; 38 | case 'yy'; w = [ 1+0.2*x 0; 0 1+0.1*x]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [0.1; -0.1; 0;0]; 43 | case 'y' ; w = [-0.333 1; 2*y(1) 2*y(2); -1 0; 0 -1]; 44 | case 'xx'; w = zeros(4,1); 45 | case 'xy'; w = zeros(8,1); 46 | case 'yy'; w = [0 0 2 0 0 0 0 0; 0 0 0 2 0 0 0 0]'; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1994Ex31.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1994Ex31(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1994Ex31 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 2 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = 0.5*sum((y-[3;4]).^2); 10 | case 'G'; w = [x-10;-x]; 11 | case 'f'; w = 0.5*(1+0.2*x)*y(1)^2+0.5*(1+0.1*x)*y(2)^2-(3+1.333*x)*y(1)-x*y(2); 12 | case 'g'; w = [[-0.333 1]*y+0.1*x-1; y'*y-0.1*x-9; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 0; 19 | case 'y' ; w = y-[3;4]; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = [ 0; 0 ]; 22 | case 'yy'; w = [ 1 0; 0 1 ]; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [1 ;-1]; 27 | case 'y' ; w = zeros(2,2); 28 | case 'xx'; w = zeros(2,1); 29 | case 'xy'; w = zeros(4,1); 30 | case 'yy'; w = zeros(4,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 0.1*y(1)^2+0.05*y(2)^2-1.333*y(1)-y(2); 35 | case 'y' ; w = [(1+0.2*x)*y(1)-(3+1.333*x); (1+0.1*x)*y(2)-x]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = [ 0.2*y(1)-1.333; 0.1*y(2)-1]; 38 | case 'yy'; w = [ 1+0.2*x 0; 0 1+0.1*x]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [0.1; -0.1; 0;0]; 43 | case 'y' ; w = [-0.333 1; 2*y(1) 2*y(2); -1 0; 0 -1]; 44 | case 'xx'; w = zeros(4,1); 45 | case 'xy'; w = zeros(8,1); 46 | case 'yy'; w = [0 0 2 0 0 0 0 0; 0 0 0 2 0 0 0 0]'; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Outrata1993Ex31.m: -------------------------------------------------------------------------------- 1 | function w=Outrata1993Ex31(x,y,keyf,keyxy) 2 | % This file provides all functions defining Outrata1993Ex31 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 1 4] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = 0.5*sum((y-[3; 4]).^2); 11 | case 'G'; w = -x; 12 | case 'f'; w = 0.5*(1+0.2*x)*y(1)^2+0.5*(1+0.1*x)*y(2)^2-[3+1.333*x x]*y; 13 | case 'g'; w = [[-0.333+0.1*x 1]*y+0.1*x-2; [ 1 -0.333-0.1*x]*y+0.1*x-2; -y]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = 0; 20 | case 'y' ; w = y-[3; 4]; 21 | case 'xx'; w = 0; 22 | case 'xy'; w = [ 0; 0 ]; 23 | case 'yy'; w = [ 1 0; 0 1 ]; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = -1; 28 | case 'y' ; w = [0 0]; 29 | case 'xx'; w = zeros(1,1); 30 | case 'xy'; w = zeros(2,1); 31 | case 'yy'; w = zeros(2,2); 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = 0.1*y(1)^2+0.05*y(2)^2-[1.333 1]*y; 36 | case 'y' ; w = [(1+0.2*x)*y(1)-(3+1.333*x); (1+0.1*x)*y(2)-x]; 37 | case 'xx'; w = 0; 38 | case 'xy'; w = [ 0.2*y(1)-1.333; 0.1*y(2)-1]; 39 | case 'yy'; w = [ 1+0.2*x 0; 0 1+0.1*x]; 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [0.1*y(1)+0.1; -0.1*y(2)+0.1; 0;0]; 44 | case 'y' ; w = [-0.333+0.1*x 1; 1 -0.333-0.1*x; -1 0; 0 -1]; 45 | case 'xx'; w = zeros(4,1); 46 | case 'xy'; w = [0.1 0 0 -0.1 0 0 0 0]'; 47 | case 'yy'; w = zeros(8,2); 48 | end 49 | end 50 | end 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Colson2002BIPA5.m: -------------------------------------------------------------------------------- 1 | function w=Colson2002BIPA5(x,y,keyf,keyxy) 2 | % This file provides all functions defining Colson2002BIPA5 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 1 6] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-y(2))^4+(y(1)-1)^2+(y(1)-y(2))^2; 10 | case 'G'; w = -x; 11 | case 'f'; w = 2*x+exp(y(1))+y(1)^2+4*y(1)+2*y(2)^2-6*y(2); 12 | case 'g'; w = [6*x+y(1)^2+exp(y(2))-15; 5*x+y(1)^4-y(2)-25; y(1)-4; y(2)-2; -y]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = 4*(x-y(2))^3; 19 | case 'y' ; w = [2*(y(1)-1)+2*(y(1)-y(2)); -4*(x-y(2))^3-2*(y(1)-y(2))]; 20 | case 'xx'; w = 12*(x-y(2))^2; 21 | case 'xy'; w = [0; -12*(x-y(2))^2]; 22 | case 'yy'; w = [4 -2; -2 12*(x-y(2))^2+2]; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = -1; 27 | case 'y' ; w = [0 0]; 28 | case 'xx'; w = 0; 29 | case 'xy'; w = zeros(2,1); 30 | case 'yy'; w = zeros(2,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = 2; 35 | case 'y' ; w = [exp(y(1))+2*y(1)+4; 4*y(2)-6]; 36 | case 'xx'; w = 0; 37 | case 'xy'; w = zeros(2,1); 38 | case 'yy'; w = [exp(y(1))+2 0; 0 4]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [6; 5; zeros(4,1)]; 43 | case 'y' ; w = [2*y(1) exp(y(2)); 4*y(1)^3 -1; eye(2); -eye(2)]; 44 | case 'xx'; w = zeros(6,1); 45 | case 'xy'; w = zeros(12,1); 46 | case 'yy'; w = [2 0; 0 exp(y(2)); 12*y(1)^2 0; zeros(9,2)]; 47 | end 48 | end 49 | end 50 | 51 | end 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/LuDebSinha2016e.m: -------------------------------------------------------------------------------- 1 | function w=LuDebSinha2016e(x,y,keyf,keyxy) 2 | % This file provides all functions defining LuDebSinha2016e problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 6 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-2.5)^2/0.04+(y(2)-50)^2/900; 10 | case 'G'; w = [2-x; x-3; -[4;100]-y; y-[10;200]]; 11 | case 'f'; w = -y(2); 12 | case 'g'; w = [-x*(y(1)-2)^2+y(2); 12.5*x*(y(1)-5)-y(2); 13 | -5*(y(1)+4-x)*(y(1)+8-x)+y(2)]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = (x-2.5)/0.02; 20 | case 'y' ; w = [0;(y(2)-50)/450]; 21 | case 'xx'; w = 50; 22 | case 'xy'; w = [0;0]; 23 | case 'yy'; w = [0 0; 0 1/450]; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [-1;1;zeros(4,1)]; 28 | case 'y' ; w = [zeros(2,2);-eye(2);eye(2)]; 29 | case 'xx'; w = zeros(6,1); 30 | case 'xy'; w = zeros(12,1); 31 | case 'yy'; w = zeros(12,2); 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = 0; 36 | case 'y' ; w = [0;-1]; 37 | case 'xx'; w = 0; 38 | case 'xy'; w = zeros(2,1); 39 | case 'yy'; w = zeros(2); 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [-(y(1)-2)^2; 12.5*(y(1)-5); 10*y(1)+60-10*x]; 44 | case 'y' ; w = [-2*x*(y(1)-2) 1;12.5*x -1; -10*y(1)-60+10*x 1]; 45 | case 'xx'; w = [0; 0; -10]; 46 | case 'xy'; w = [2*(2-y(1)); 0; 12.5; 0; 10; 0]; 47 | case 'yy'; w = [-2*x 0; 0 0; zeros(2,2);-10 0; 0 0]; 48 | end 49 | end 50 | end 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/GumusFloudas2001Ex5.m: -------------------------------------------------------------------------------- 1 | function w=GumusFloudas2001Ex5(x,y,keyf,keyxy) 2 | % This file provides all functions defining GumusFloudas2001Ex5 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 2 2 6] 5 | 6 | 7 | a = 0.0332333; 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = x; 11 | case 'G'; w = [-x+0.1; x-10]; 12 | case 'f'; w = -y(1)+0.5864*(y(1)^0.67); 13 | case 'g'; w = [-y+0.1; y-10; a/y(2)+0.1*y(1)-1;(4*x+2*x^(-0.71))/y(2)+a*x^(-1.3)-1]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = 1; 20 | case 'y' ; w = [ 0; 0]; 21 | case 'xx'; w = 0; 22 | case 'xy'; w = zeros(2,1); 23 | case 'yy'; w = zeros(2,2); 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [-1; 1]; 28 | case 'y' ; w = zeros(2,2); 29 | case 'xx'; w = zeros(2,1); 30 | case 'xy'; w = zeros(4,1); 31 | case 'yy'; w = zeros(4,2); 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = 0; 36 | case 'y' ; w = [-1+0.392888*y(1)^(-0.33); 0]; 37 | case 'xx'; w = 0; 38 | case 'xy'; w = zeros(2,1); 39 | case 'yy'; w = [-0.12965304*y(1)^(-1.33) 0; 0 0]; 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [zeros(5,1); (4-1.42*x^(-1.71))/y(2)-a*1.3*x^(-2.3)]; 44 | case 'y' ; w = [-eye(2); eye(2); 0.1 -a/(y(2)^2); 0 -(4*x+2*(x^(-0.71)))/(y(2)^2)]; 45 | case 'xx'; w = [zeros(5,1); 2.4282*x^(-2.71)/y(2)+a*2.99*x^(-3.3)]; 46 | case 'xy'; w = [zeros(11,1); -(4-1.42*x^(-1.71))/(y(2)^2)]; 47 | case 'yy'; w = [zeros(9,2); 0 2*a/(y(2)^3); 0 0; 0 2*(4*x+2*(x^(-0.71)))/(y(2)^3)]; 48 | end 49 | end 50 | end 51 | end 52 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/DempeDutta2012Ex31.m: -------------------------------------------------------------------------------- 1 | function w=DempeDutta2012Ex31(x,y,keyf,keyxy) 2 | % This file provides all functions defining DempeDutta2012Ex31 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 4 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -y(2); 10 | case 'G'; w = [-x; y(1)*y(2); -y(1)*y(2)]; 11 | case 'f'; w = sum((y+[0;1]).^2); 12 | case 'g'; w = [(y(1)-x(1))^2+(y(2)-x(1)-1)^2-1; (y(1)+x(2))^2+(y(2)-x(2)-1)^2-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [0;0]; 19 | case 'y' ; w = [0;-1]; 20 | case 'xx'; w = zeros(2); 21 | case 'xy'; w = zeros(2); 22 | case 'yy'; w = zeros(2); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-eye(2);0 0; 0 0]; 27 | case 'y' ; w = [zeros(2); y(2) y(1); -y(2) -y(1)]; 28 | case 'xx'; w = zeros(8,2); 29 | case 'xy'; w = zeros(8,2); 30 | case 'yy'; w = [zeros(4,2); 0 1; 1 0; 0 -1; -1 0 ]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = [0;0]; 35 | case 'y' ; w = 2*(y+[0;1]); 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = zeros(2); 38 | case 'yy'; w = 2*eye(2); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w =[-2*(y(1)-x(1))-2*(y(2)-x(1)-1) 0; 43 | 0 2*(y(1)+x(2))-2*(y(2)-x(2)-1)]; 44 | case 'y' ; w = [2*(y(1)-x(1)) 2*(y(2)-x(1)-1); 45 | 2*(y(1)+x(2)) 2*(y(2)-x(2)-1)]; 46 | case 'xx'; w = [4 0; 0 0; 0 0; 0 4]; 47 | case 'xy'; w = [-2 0; -2 0; 0 2; 0 -2]; 48 | case 'yy'; w = [2 0; 0 2; 2 0; 0 2]; 49 | end 50 | end 51 | end 52 | 53 | end 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/AiyoshiShimizu1984Ex2.m: -------------------------------------------------------------------------------- 1 | function w=AiyoshiShimizu1984Ex2(x,y,keyf,keyxy) 2 | % This file provides all functions defining AiyoshiShimizu1984Ex2 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 5 6] 5 | 6 | if nargin<4 || isempty(keyxy) 7 | switch keyf 8 | case 'F'; w = 2*x(1)+2*x(2)-3*y(1)-3*y(2)-60; 9 | case 'G'; w = [x(1)+x(2)+y(1)-2*y(2)-40; x-50; -x]; 10 | case 'f'; w = (y(1)-x(1)+20)^2+(y(2)-x(2)+20)^2; 11 | case 'g'; w = [2*y-x+10; -y-10; y-20]; 12 | end 13 | else 14 | switch keyf 15 | case 'F' 16 | switch keyxy 17 | case 'x' ; w = [ 2; 2]; 18 | case 'y' ; w = [-3; -3]; 19 | case 'xx'; w = zeros(2,2); 20 | case 'xy'; w = zeros(2,2); 21 | case 'yy'; w = zeros(2,2); 22 | end 23 | case 'G' 24 | switch keyxy 25 | case 'x' ; w = [1 1; 1 0; 0 1; -1 0; 0 -1]; 26 | case 'y' ; w = [1 -2; 0 0; 0 0; 0 0; 0 0]; 27 | case 'xx'; w = zeros(10,2); 28 | case 'xy'; w = zeros(10,2); 29 | case 'yy'; w = zeros(10,2); 30 | end 31 | case 'f' 32 | switch keyxy 33 | case 'x' ; w = [-2*(y(1)-x(1)+20); -2*(y(2)-x(2)+20)] ; 34 | case 'y' ; w = [ 2*(y(1)-x(1)+20); 2*(y(2)-x(2)+20)]; 35 | case 'xx'; w = [ 2 0; 0 2]; 36 | case 'xy'; w = [-2 0; 0 -2]; 37 | case 'yy'; w = [ 2 0; 0 2]; 38 | % case 'xyx'; w = []; 39 | % case 'xyy'; w = []; 40 | % case 'yyy'; w = []; 41 | end 42 | case 'g' 43 | switch keyxy 44 | case 'x' ; w = [-1 0; 0 -1; 0 0; 0 0; 0 0; 0 0 ]; 45 | case 'y' ; w = [ 2 0; 0 2; -1 0; 0 -1; 1 0; 0 1 ]; 46 | case 'xx'; w = zeros(12,2); 47 | case 'xy'; w = zeros(12,2); 48 | case 'yy'; w = zeros(12,2); 49 | end 50 | end 51 | end 52 | 53 | end 54 | 55 | 56 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/LuDebSinha2016f.m: -------------------------------------------------------------------------------- 1 | function w=LuDebSinha2016f(x,y,keyf,keyxy) 2 | % This file provides all functions defining LuDebSinha2016f problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 1 9 0] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -x(2); 10 | case 'G'; x1= x(1)/20; 11 | w = [2-y; y-4; -[80;100]-x; x-[200;200]; 12 | -y*(x1-2)^2+x(2); 12.5*y*(x1-5)-x(2); 13 | -5*(x1+4-y)*(x1+8-y)+x(2) ]; 14 | case 'f'; w = (x(1)-50)^2/784+(y-2.5)^2/0.04; 15 | case 'g'; w = []; 16 | end 17 | else 18 | switch keyf 19 | case 'F' 20 | switch keyxy 21 | case 'x' ; w = [0;-1]; 22 | case 'y' ; w = 0; 23 | case 'xx'; w = [0 0; 0 0]; 24 | case 'xy'; w = [0 0]; 25 | case 'yy'; w = 0; 26 | end 27 | case 'G' 28 | x1= x(1)/20; 29 | switch keyxy 30 | case 'x' ; w = [0 0;0 0;-eye(2);eye(2);-y*(x1-2)/10 1;12.5*y/20 -1; (-10*x1-60+10*y)/20 1]; 31 | case 'y' ; w = [-1; 1; 0;0;0;0;-(x1-2)^2;12.5*(x1-5);10*x1+60-10*y]; 32 | case 'xx'; w = [zeros(12,2); -y/200 0; 0 0; 0 0; 0 0; -1/40 0; 0 0]; 33 | case 'xy'; w = [zeros(6,2); -(x1-2)/10 0; 12.5/20 0; 1/2 0]; 34 | case 'yy'; w = [zeros(8,1); -10]; 35 | end 36 | case 'f' 37 | switch keyxy 38 | case 'x' ; w = [(x(1)-50)/392; 0]; 39 | case 'y' ; w = (y-2.5)/0.02; 40 | case 'xx'; w = [1/392 0; 0 0 ]; 41 | case 'xy'; w = [0 0]; 42 | case 'yy'; w = 50; 43 | end 44 | case 'g' 45 | switch keyxy 46 | case 'x' ; w = []; 47 | case 'y' ; w = []; 48 | case 'xx'; w = []; 49 | case 'xy'; w = []; 50 | case 'yy'; w = []; 51 | end 52 | end 53 | end 54 | end 55 | 56 | 57 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/Bard1988Ex2.m: -------------------------------------------------------------------------------- 1 | function w=Bard1988Ex2(x,y,keyf,keyxy) 2 | % This file provides all functions defining Bard1988Ex2 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [4 4 9 12] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; a = [1 0 1 0]; b=[0 1 0 1]; 10 | w = -(200-a*y)*(a*y)-(160-b*y)*(b*y); 11 | case 'G'; w = [sum(x)-40; x-[10 5 15 20]';-x ]; 12 | case 'f'; w = sum((y-[4 13 35 2]').^2); 13 | case 'g'; A = [0.4 0.7 0 0; 0.6 0.3 0 0;0 0 0.4 0.7; 0 0 0.6 0.3]; 14 | w = [A*y-x; y-[20 20 40 40]'; -y]; 15 | end 16 | else 17 | switch keyf 18 | case 'F' 19 | switch keyxy 20 | case 'x' ; w = zeros(4,1); 21 | case 'y' ; a = [1 0 1 0]; b=[0 1 0 1]; 22 | w = -(200-2*a*y)*(a')-(160-2*b*y)*(b'); 23 | case 'xx'; w = zeros(4); 24 | case 'xy'; w = zeros(4); 25 | case 'yy'; w = -[-2 0 -2 0; 0 -2 0 -2; -2 0 -2 0; 0 -2 0 -2]; 26 | end 27 | case 'G' 28 | switch keyxy 29 | case 'x' ; w = [1 1 1 1; eye(4); -eye(4)]; 30 | case 'y' ; w = zeros(9,4); 31 | case 'xx'; w = zeros(36,4); 32 | case 'xy'; w = zeros(36,4); 33 | case 'yy'; w = zeros(36,4); 34 | end 35 | case 'f' 36 | switch keyxy 37 | case 'x' ; w = zeros(4,1); 38 | case 'y' ; w = 2*(y-[4 13 35 2]'); 39 | case 'xx'; w = zeros(4); 40 | case 'xy'; w = zeros(4); 41 | case 'yy'; w = 2*eye(4); 42 | end 43 | case 'g' 44 | switch keyxy 45 | case 'x' ; w = [-eye(4); zeros(8,4)]; 46 | case 'y' ; A = [0.4 0.7 0 0; 0.6 0.3 0 0;0 0 0.4 0.7; 0 0 0.6 0.3]; 47 | w = [A; eye(4);-eye(4)]; 48 | case 'xx'; w = zeros(48,4); 49 | case 'xy'; w = zeros(48,4); 50 | case 'yy'; w = zeros(48,4); 51 | end 52 | end 53 | end 54 | 55 | end 56 | 57 | 58 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/NieWangYe2017Ex57.m: -------------------------------------------------------------------------------- 1 | function w=NieWangYe2017Ex57(x,y,keyf,keyxy) 2 | % This file provides all functions defining NieWangYe2017Ex57 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 3 5 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x(1)^2*y(1)/2+x(2)*y(2)^2-(x(1)+x(2)^2)*y(3); 10 | case 'G'; w = [x-1; -x-1;-sum(x)+x(1)^2+y(1)^2+y(2)^2]; 11 | case 'f'; w = x(2)*(prod(y)+y(2)^2-y(3)^3); 12 | case 'g'; w = [y'*y-x(1); 2*y(2)*y(3)-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [x(1)*y(1)-y(3); y(2)^2-2*x(2)*y(3)]; 19 | case 'y' ; w = [x(1)^2/2; 2*x(2)*y(2); -(x(1)+x(2)^2)]; 20 | case 'xx'; w = [y(1) 0; 0 -2*y(3)]; 21 | case 'xy'; w = [x(1) 0; 0 2*y(2); -1 -2*x(2)]; 22 | case 'yy'; w = diag([0 2*x(2) 0]); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [eye(2); -eye(2); -1+2*x(1) -1]; 27 | case 'y' ; w = [zeros(4,3); 2*y(1) 2*y(2) 0]; 28 | case 'xx'; w = zeros(10,2); w(9,1)=2; 29 | case 'xy'; w = zeros(15,2); 30 | case 'yy'; w = zeros(15,3); w(13,1)=2; w(14,2)=2; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = [0; prod(y)+y(2)^2-y(3)^3]; 35 | case 'y' ; w = x(2)*[y(2)*y(3); y(1)*y(3)+2*y(2); y(2)*y(1)-3*y(3)^2]; 36 | case 'xx'; w = zeros(2); 37 | case 'xy'; w = [0 y(2)*y(3); 0 y(1)*y(3)+2*y(2); 0 y(2)*y(1)-3*y(3)^2]; 38 | case 'yy'; w = x(2)*[0 y(3) y(2); y(3) 2 y(1); y(2) y(1) -6*y(3)]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-1 0; 0 0]; 43 | case 'y' ; w = [2*y'; 0 2*y(3) 2*y(2)]; 44 | case 'xx'; w = zeros(4,2); 45 | case 'xy'; w = zeros(6,2); 46 | case 'yy'; w = [2*eye(3);0 0 0; 0 0 2; 0 2 0]; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/NieWangYe2017Ex58.m: -------------------------------------------------------------------------------- 1 | function w=NieWangYe2017Ex58(x,y,keyf,keyxy) 2 | % This file provides all functions defining NieWangYe2017Ex58 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [4 4 3 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = sum(x)*sum(y); 10 | case 'G'; w = [x'*x-1; y(3)^2-x(4); y(2)*y(4)-x(1)]; 11 | case 'f'; w = x(1)*y(1)+x(2)*y(2)+0.1*y(3)+0.5*y(4)-y(3)*y(4); 12 | case 'g'; w = [[1 2 3 4 ]*(y.*y)-x(1)^2-x(3)^2-x(2)-x(4); y(2)*y(3)-y(1)*y(4)]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = sum(y)*[1;1;1;1]; 19 | case 'y' ; w = sum(x)*[1;1;1;1]; 20 | case 'xx'; w = zeros(4); 21 | case 'xy'; w = ones(4); 22 | case 'yy'; w = zeros(4); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [2*x'; 0 0 0 -1; -1 0 0 0]; 27 | case 'y' ; w = [0 0 0 0; 0 0 2*y(3) 0; 0 y(4) 0 y(2)]; 28 | case 'xx'; w = [2*eye(4); zeros(8,4)]; 29 | case 'xy'; w = zeros(12,4); 30 | case 'yy'; w = [zeros(6,4); 0 0 2 0; zeros(2,4); 0 0 0 1; 0 0 0 0; 0 1 0 0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = [y(1); y(2); 0; 0;]; 35 | case 'y' ; w = [x(1); x(2); 0.1-y(4); 0.5-y(3)]; 36 | case 'xx'; w = zeros(4); 37 | case 'xy'; w = [1 0 0 0; 0 1 0 0; 0 0 0 0; 0 0 0 0]; 38 | case 'yy'; w = [0 0 0 0; 0 0 0 0; 0 0 0 -1; 0 0 -1 0]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-2*x(1) -1 -2*x(3) -1; 0 0 0 0]; 43 | case 'y' ; w = [[2 4 6 8 ].*y'; -y(4) y(3) y(2) -y(1)]; 44 | case 'xx'; w = [-2 0 0 0; 0 0 0 0; 0 0 -2 0; zeros(5,4)]; 45 | case 'xy'; w = zeros(8,4); 46 | case 'yy'; w = [diag([2 4 6 8 ]); 0 0 0 -1; 0 0 1 0; 0 1 0 0; -1 0 0 0]; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/NieWangYe2017Ex61.m: -------------------------------------------------------------------------------- 1 | function w=NieWangYe2017Ex61(x,y,keyf,keyxy) 2 | % This file provides all functions defining NieWangYe2017Ex61 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 5 1] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = y(1)^3*(x(1)^2-3*x(1)*x(2))-y(1)^2*y(2)+y(2)*x(2)^3; 10 | case 'G'; w = [x-1; -x-1;-y(2)-y(1)*(1-x(1)^2)]; 11 | case 'f'; w = y(1)*y(2)^2-y(2)^3-y(1)^2*(x(2)-x(1)^2); 12 | case 'g'; w = y'*y-1; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [y(1)^3*(2*x(1)-3*x(2)); -3*y(1)^3*x(1)+3*y(2)*x(2)^2]; 19 | case 'y' ; w = [3*y(1)^2*(x(1)^2-3*x(1)*x(2))-2*y(1)*y(2); -y(1)^2+x(2)^3]; 20 | case 'xx'; w = [2*y(1)^3 -3*y(1)^3; -3*y(1)^3 6*y(2)*x(2)]; 21 | case 'xy'; w = [3*y(1)^2*(2*x(1)-3*x(2)) -9*y(1)^2*x(1);0 3*x(2)^2]; 22 | case 'yy'; w = [6*y(1)*(x(1)^2-3*x(1)*x(2))-2*y(2) -2*y(1); -2*y(1) 0]; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [eye(2); -eye(2); 2*y(1)*x(1) 0]; 27 | case 'y' ; w = [zeros(4,2); -(1-x(1)^2) -1]; 28 | case 'xx'; w = zeros(10,2); w(9,1)=2*y(1); 29 | case 'xy'; w = zeros(10,2); w(9,1)=2*x(1); 30 | case 'yy'; w = zeros(10,2); 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = [2*y(1)^2*x(1);-y(1)^2]; 35 | case 'y' ; w = [y(2)^2-2*y(1)*(x(2)-x(1)^2); 2*y(1)*y(2)-3*y(2)^2]; 36 | case 'xx'; w = [2*y(1)^2 0; 0 0]; 37 | case 'xy'; w = [4*y(1)*x(1) -2*y(1); 0 0]; 38 | case 'yy'; w = [-2*(x(2)-x(1)^2) 2*y(2); 2*y(2) 2*y(1)-6*y(2)]; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [0 0]; 43 | case 'y' ; w = 2*y'; 44 | case 'xx'; w = zeros(2,2); 45 | case 'xy'; w = zeros(2,2); 46 | case 'yy'; w = 2*eye(2); 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex326.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex326(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex326 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 3 7 6] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = x(1)*y(1)+x(2)*y(2)^2+x(1)*x(2)*(y(3))^3; 11 | case 'G'; w = [-x-1; x-1;0.1-x(1)^2; 1.5-sum(y.*y); -2.5+sum(y.*y)]; 12 | case 'f'; w = x(1)*y(1)^2+x(2)*(y(2))^2+(x(1)-x(2))*(y(3))^2; 13 | case 'g'; w = [-y-1; y-1]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = [y(1)+x(2)*(y(3))^3; y(2)^2+x(1)*(y(3))^3 ]; 20 | case 'y' ; w = [x(1); 2*x(2)*y(2); 3*x(1)*x(2)*(y(3))^2 ]; 21 | case 'xx'; w = [0 y(3)^3; y(3)^3 0]; 22 | case 'xy'; w = [1 0; 0 2*y(2); 3*x(2)*(y(3))^2 3*x(1)*(y(3))^2]; 23 | case 'yy'; w = [0 0 0; 0 2*x(2) 0; 0 0 6*x(1)*x(2)*y(3)]; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [-eye(2); eye(2); -2*x(1) 0; zeros(2,2)]; 28 | case 'y' ; w = [zeros(5,3); -2*y'; 2*y']; 29 | case 'xx'; w = [zeros(8,2); -2 0; 0 0; zeros(4,2)]; 30 | case 'xy'; w = zeros(21,2); 31 | case 'yy'; w = [zeros(15,3); -2*eye(3); 2*eye(3)]; 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = [y(1)^2+(y(3))^2; y(2)^2-(y(3))^2]; 36 | case 'y' ; w = [2*x(1)*y(1); 2*x(2)*y(2); 2*(x(1)-x(2))*y(3)]; 37 | case 'xx'; w = [0 0;0 0]; 38 | case 'xy'; w = [2*y(1) 0; 0 2*y(2); 2*y(3) -2*y(3)]; 39 | case 'yy'; w = [2*x(1) 0 0; 0 2*x(2) 0; 0 0 2*(x(1)-x(2))]; 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = zeros(6,2); 44 | case 'y' ; w = [-eye(3); eye(3)]; 45 | case 'xx'; w = zeros(12,2); 46 | case 'xy'; w = zeros(18,2); 47 | case 'yy'; w = zeros(18,3); 48 | end 49 | end 50 | end 51 | end 52 | 53 | 54 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/NieWangYe2017Ex54.m: -------------------------------------------------------------------------------- 1 | function w=NieWangYe2017Ex54(x,y,keyf,keyxy) 2 | % This file provides all functions defining NieWangYe2017Ex54 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [4 4 3 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x(1)^2*y(1)+x(2)*y(2)+x(3)*y(3)^2+x(4)*y(4)^2; 10 | case 'G'; w = [x'*x-1; y(1)*y(2)-x(1); y(3)*y(4)-x(3)^2]; 11 | case 'f'; w = y(1)^2-y(2)*(x(1)+x(2))-(y(3)+y(4))*(x(3)+x(4)); 12 | case 'g'; w = [y'*y-1; y'*y-y(1)^2-y(1)]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [2*x(1)*y(1); y(2); y(3)^2; y(4)^2]; 19 | case 'y' ; w = [x(1)^2; x(2); 2*x(3)*y(3); 2*x(4)*y(4)]; 20 | case 'xx'; w = zeros(4); w(1,1) = 2*y(1); 21 | case 'xy'; w = diag([2*x(1) 1 2*y(3) 2*y(4)]); 22 | case 'yy'; w = zeros(4); w(3,3) =2*x(3); w(4,4) =2*x(4); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [2*x'; -1 0 0 0; 0 0 -2*x(3) 0]; 27 | case 'y' ; w = [0 0 0 0; y(2) y(1) 0 0; 0 0 y(4) y(3)]; 28 | case 'xx'; w = [2*eye(4); zeros(6,4); 0 0 -2 0; 0 0 0 0]; 29 | case 'xy'; w = zeros(12,4); 30 | case 'yy'; w = [zeros(4); 0 1 0 0; 1 0 0 0; zeros(4); 0 0 0 1; 0 0 1 0]; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = [-y(2); -y(2); -(y(3)+y(4)); -(y(3)+y(4))]; 35 | case 'y' ; w = [2*y(1); -(x(1)+x(2)); -(x(3)+x(4)); -(x(3)+x(4))]; 36 | case 'xx'; w = zeros(4); 37 | case 'xy'; w = [0 0 0 0; -1 -1 0 0; 0 0 -1 -1; 0 0 -1 -1]; 38 | case 'yy'; w = zeros(4); w(1,1)=2; 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = zeros(2,4); 43 | case 'y' ; w = [2*y'; -1 2*y(2) 2*y(3) 2*y(4)]; 44 | case 'xx'; w = zeros(8,4); 45 | case 'xy'; w = zeros(8,4); 46 | case 'yy'; w = [2*eye(4);diag([0 2 2 2])]; 47 | end 48 | end 49 | end 50 | end 51 | 52 | 53 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/GumusFloudas2001Ex3.m: -------------------------------------------------------------------------------- 1 | function w=GumusFloudas2001Ex3(x,y,keyf,keyxy) 2 | % This file provides all functions defining GumusFloudas2001Ex3 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 3 4 9] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -8*x(1)-4*x(2)+4*y(1)-40*y(2)-4*y(3); 10 | case 'G'; w = [-x; x-2]; 11 | case 'f'; w =(1+x(1)+x(2)+2*y(1)-y(2)+y(3))/(6+2*x(1)+y(1)+y(2)-3*y(3)); 12 | case 'g'; w = [-y; y-2; -y(1)+y(2)+y(3)-1; 2*x(1)-y(1)+2*y(2)-0.5*y(3)-1; 13 | 2*x(2)+2*y(1)-y(2)-0.5*y(3)-1]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = [-8; -4]; 20 | case 'y' ; w = [ 4; -40; -4]; 21 | case 'xx'; w = zeros(2,2); 22 | case 'xy'; w = zeros(3,2); 23 | case 'yy'; w = zeros(3,3); 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [-eye(2); eye(2)]; 28 | case 'y' ; w = zeros(4,3); 29 | case 'xx'; w = zeros(8,2); 30 | case 'xy'; w = zeros(12,2); 31 | case 'yy'; w = zeros(12,3); 32 | end 33 | case 'f' 34 | a = [1;1]; 35 | b = [2;-1; 1]; 36 | c = [2;0]; 37 | d = [1;1;-3]; 38 | p = 1+a'*x+b'*y; 39 | q = 6+c'*x+d'*y; 40 | f0= p/q; 41 | switch keyxy 42 | case 'x' ; w = f0*(a/p-c/q); 43 | case 'y' ; w = f0*(b/p-d/q); 44 | case 'xx'; w = f0*(a/p-c/q)*(a/p-c/q)'+f0*(-a*a'/p^2+c*c'/q^2); 45 | case 'xy'; w = f0*(b/p-d/q)*(a/p-c/q)'+f0*(-b*a'/p^2+d*c'/q^2); 46 | case 'yy'; w = f0*(b/p-d/q)*(b/p-d/q)'+f0*(-b*b'/p^2+d*d'/q^2); 47 | end 48 | case 'g' 49 | switch keyxy 50 | case 'x' ; w = [zeros(7,2); 2 0; 0 2]; 51 | case 'y' ; w = [-eye(3); eye(3); -1 1 1; -1 2 -0.5; 2 -1 -0.5]; 52 | case 'xx'; w = zeros(18,2); 53 | case 'xy'; w = zeros(27,2); 54 | case 'yy'; w = zeros(27,3); 55 | end 56 | end 57 | end 58 | end -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/SinhaMaloDeb2014TP9.m: -------------------------------------------------------------------------------- 1 | function w=SinhaMaloDeb2014TP9(x,y,keyf,keyxy) 2 | % This file provides all functions defining SinhaMaloDeb2014TP9 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [10 10 0 20] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = sum((x-1).^2+y.^2); 11 | case 'G'; w = []; 12 | case 'f'; t = sqrt(1:10)'; w = exp( (1+sum(y.^2)/4000-prod(cos(y./t)))*sum(x.^2) ); 13 | case 'g'; w = [y-pi; -y-pi]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = 2*x-2; 20 | case 'y' ; w = 2*y; 21 | case 'xx'; w = 2*eye(10); 22 | case 'xy'; w = zeros(10,10); 23 | case 'yy'; w = 2*eye(10); 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = []; 28 | case 'y' ; w = []; 29 | case 'xx'; w = []; 30 | case 'xy'; w = []; 31 | case 'yy'; w = []; 32 | end 33 | case 'f' 34 | t = sqrt(1:10)'; 35 | yt= y./t; 36 | pt= prod(cos(yt)); 37 | a = 1+sum(y.^2)/4000-pt; 38 | x2= sum(x.^2); 39 | f0= exp(a*x2); 40 | switch keyxy 41 | case 'x' ; w = (2*a*f0)*x; 42 | case 'y' ; w = (x2*f0)*(y/2000+pt*tan(yt)./t); 43 | case 'xx'; w = (2*a*f0)*((2*a)*x*x'+eye(10)); 44 | case 'xy'; ay= y/2000+pt*tan(yt)./t; 45 | fy= x2*f0*ay; 46 | w = (2*(fy*a+f0*ay))*x'; 47 | case 'yy'; tt= tan(yt)./t; 48 | T =-(pt*tt)*tt'+ pt*diag( ( sec(yt)./t).^2 ); 49 | ay= y/2000+pt*tt; 50 | w = ((x2^2*f0)*ay)*ay'+x2*f0*(eye(10)/2000+T); 51 | end 52 | case 'g' 53 | switch keyxy 54 | case 'x' ; w = zeros(20, 10); 55 | case 'y' ; w = [eye(10); -eye(10)]; 56 | case 'xx'; w = zeros(200,10); 57 | case 'xy'; w = zeros(200,10); 58 | case 'yy'; w = zeros(200,10); 59 | end 60 | end 61 | end 62 | end 63 | 64 | 65 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/NieWangYe2017Ex52.m: -------------------------------------------------------------------------------- 1 | function w=NieWangYe2017Ex52(x,y,keyf,keyxy) 2 | % This file provides all functions defining NieWangYe2017Ex52 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 3 5 2] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x'*[y(1);y(2)]+prod(x)*prod(y); 10 | case 'G'; w = [-x-1; x-1; y(1)*y(2)-x(1)^2]; 11 | case 'f'; w = x(1)*(y(1)^2)+(x(2)^2)*y(2)*y(3)-y(1)*(y(3)^2); 12 | case 'g'; w = [1-y'*y; y'*y-2]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = [y(1)+x(2)*prod(y);y(2)+x(1)*prod(y)]; 19 | case 'y' ; w = [x;0]+prod(x)*[y(2)*y(3); y(1)*y(3); y(1)*y(2)]; 20 | case 'xx'; w = [0 prod(y); prod(y) 0]; 21 | case 'xy'; w = [1+x(2)*y(2)*y(3) x(1)*y(2)*y(3); 22 | x(2)*y(1)*y(3) 1+x(1)*y(1)*y(3); 23 | x(2)*y(1)*y(2) x(1)*y(1)*y(2)]; 24 | case 'yy'; w = prod(x)*[0 y(3) y(2); y(3) 0 y(1); y(2) y(1) 0]; 25 | end 26 | case 'G' 27 | switch keyxy 28 | case 'x' ; w = [-eye(2); eye(2); -2*x(1) 0]; 29 | case 'y' ; w = [zeros(4,3); y(2) y(1) 0]; 30 | case 'xx'; w = zeros(10,2); w(9,1)=-2; 31 | case 'xy'; w = zeros(15,2); 32 | case 'yy'; w = [zeros(12,3); 0 1 0; 1 0 0; 0 0 0]; 33 | end 34 | case 'f' 35 | switch keyxy 36 | case 'x' ; w = [y(1)^2; 2*x(2)*y(2)*y(3)]; 37 | case 'y' ; w = [2*x(1)*y(1)-y(3)^2; (x(2)^2)*y(3); (x(2)^2)*y(2)-2*y(1)*y(3)]; 38 | case 'xx'; w = [0 0; 0 2*y(2)*y(3)]; 39 | case 'xy'; w = [2*y(1) 0; 0 2*x(2)*y(3); 0 2*x(2)*y(2)]; 40 | case 'yy'; w = [2*x(1) 0 -2*y(3); 0 0 x(2)^2; -2*y(3) x(2)^2 -2*y(1)]; 41 | end 42 | case 'g' 43 | switch keyxy 44 | case 'x' ; w = zeros(2); 45 | case 'y' ; w = [-2*y'; 2*y']; 46 | case 'xx'; w = zeros(4,2); 47 | case 'xy'; w = zeros(6,2); 48 | case 'yy'; w = [-2*eye(3);2*eye(3)]; 49 | end 50 | end 51 | end 52 | end 53 | 54 | 55 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/CalamaiVicente1994c.m: -------------------------------------------------------------------------------- 1 | function w=CalamaiVicente1994c(x,y,keyf,keyxy) 2 | % This file provides all functions defining CalamaiVicente1994c problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [4 2 0 6] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; [A, B, a]=data(); w = (x'*A*x+y'*B*y)/2+a'*x+2; 10 | case 'G'; w = []; 11 | case 'f'; [~, B, ~, C]=data(); w = x'*C*y+y'*B*y/2; 12 | case 'g'; [~,~,~,~,D,E,d]=data(); w = D*x+E*y+d; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | [A, B, a]=data(); 18 | switch keyxy 19 | case 'x' ; w = A*x+a; 20 | case 'y' ; w = B*y; 21 | case 'xx'; w = A; 22 | case 'xy'; w = zeros(2,4); 23 | case 'yy'; w = B; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = []; 28 | case 'y' ; w = []; 29 | case 'xx'; w = []; 30 | case 'xy'; w = []; 31 | case 'yy'; w = []; 32 | end 33 | case 'f' 34 | [~, B, ~, C]=data(); 35 | switch keyxy 36 | case 'x' ; w = C*y; 37 | case 'y' ; w = B*y+ C'*x; 38 | case 'xx'; w = zeros(4); 39 | case 'xy'; w = C'; 40 | case 'yy'; w = B; 41 | end 42 | case 'g' 43 | [~,~,~,~,D,E]=data(); 44 | switch keyxy 45 | case 'x' ; w = D; 46 | case 'y' ; w = E; 47 | case 'xx'; w = zeros(24,4); 48 | case 'xy'; w = zeros(12,4); 49 | case 'yy'; w = zeros(12,2); 50 | end 51 | end 52 | end 53 | 54 | end 55 | function [A, B, a, C,D,E,d]=data() 56 | A= [197.2 32.4 -129.6 -43.2; 57 | 32.4 110.8 -43.2 -14.4; 58 | -129.6 -43.2 302.8 -32.4; 59 | -43.2 -14.4 -32.4 389.2]; 60 | B=[100 0; 0 100]; 61 | a=[-8.56;-9.52;-9.92;-16.64]; 62 | C=[-132.4 -10.8; 63 | -10.8 -103.6; 64 | 43.2 14.4; 65 | 14.4 4.8]; 66 | D=[13.24 1.08 -4.32 -1.44; 67 | 1.08 10.36 -1.44 -0.48; 68 | 13.24 1.08 -4.32 -1.44; 69 | 1.08 10.36 -1.44 -0.48; 70 | -13.24 -1.08 4.32 1.44; 71 | -1.08 -10.36 1.44 0.48]; 72 | E=[-10 0; 0 -10; 10 0; 0 10; -10 0; 0 -10]; 73 | d=[-1; -1; -1.5; -3; 1; 1]; 74 | end 75 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex325.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex325(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex325 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 3 6 9] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = x(1)*y(1)+x(2)*(y(1))^2-x(1)*x(2)*y(3); 10 | case 'G'; w = [-x-1; x-1; 0.1*y(1)*y(2)-x(1)^2; x(2)*(y(1))^2]; 11 | case 'f'; w = x(1)*(y(1))^2+x(2)*y(2)*y(3); 12 | case 'g'; w = [-y-1; y-1; y(1)^2-y(2)*y(3); 13 | y(2)^2*y(3)-y(1)*x(1); -y(3)^2+0.1]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = [y(1)-x(2)*y(3) ; y(1)^2-x(1)*y(3)]; 20 | case 'y' ; w = [x(1)+2*x(2)*y(1); 0; -x(1)*x(2) ]; 21 | case 'xx'; w = [0 -y(3); -y(3) 0]; 22 | case 'xy'; w = [1 2*y(1); 0 0; -x(2) -x(1)]; 23 | case 'yy'; w = [2*x(2) 0 0; 0 0 0; 0 0 0]; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [ -eye(2); eye(2); -2*x(1) 0; 0 (y(1))^2]; 28 | case 'y' ; w = [ zeros(4,3); 0.1*y(2) 0.1*y(1) 0 ; 2*x(2)*y(1) 0 0]; 29 | case 'xx'; w = zeros(12,2); w(9,1) =-2; 30 | case 'xy'; w = zeros(18,2); w(16,2)=2*y(1); 31 | case 'yy'; w = zeros(18,3); w(13,2)=0.1; w(14,1)=0.1; w(16,1)=2*x(2); 32 | end 33 | case 'f' 34 | switch keyxy 35 | case 'x' ; w = [y(1)^2; y(2)*y(3)]; 36 | case 'y' ; w = [2*x(1)*y(1); x(2)*y(3); x(2)*y(2)]; 37 | case 'xx'; w = [0 0;0 0]; 38 | case 'xy'; w = [2*y(1) 0; 0 y(3); 0 y(2)]; 39 | case 'yy'; w = [2*x(1) 0 0; 0 0 x(2); 0 x(2) 0]; 40 | end 41 | case 'g' 42 | switch keyxy 43 | case 'x' ; w = [zeros(7,2); -y(1) 0; 0 0]; 44 | case 'y' ; w = [-eye(3); eye(3); 2*y(1) -y(3) -y(2); 45 | -x(1) 2*y(2)*y(3) y(2)^2; 0 0 -2*y(3)]; 46 | case 'xx'; w = zeros(18,2); 47 | case 'xy'; w = [zeros(21,2); -1 0; zeros(5,2)]; 48 | case 'yy'; w = [zeros(18,3); 2 0 0; 0 0 -1; 0 -1 0; 49 | 0 0 0; 0 2*y(3) 2*y(2); 0 2*y(2) 0; 50 | 0 0 0; 0 0 0; 0 0 -2]; 51 | end 52 | end 53 | end 54 | 55 | end 56 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/LuDebSinha2016d.m: -------------------------------------------------------------------------------- 1 | function w=LuDebSinha2016d(x,y,keyf,keyxy) 2 | % This file provides all functions defining LuDebSinha2016d problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 11 3] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -x(2); 10 | case 'G'; y1= y(1)/14+16/7; 11 | w = [-[4;100]-x; x-[10;200]; -[4;100]-y; y-[10;200]; 12 | -y1*(x(1)-2)^2+x(2); 12.5*y1*(x(1)-5)-x(2); 13 | -5*(x(1)+4-y1)*(x(1)+8-y1)+x(2)]; 14 | case 'f'; w = -y(2); 15 | case 'g'; x1= x(1)/14+16/7; 16 | w = [-x1*(y(1)-2)^2+y(2); 12.5*x1*(y(1)-5)-y(2); 17 | -5*(y(1)+4-x1)*(y(1)+8-x1)+y(2)]; 18 | end 19 | else 20 | switch keyf 21 | case 'F' 22 | switch keyxy 23 | case 'x' ; w = [0;-1]; 24 | case 'y' ; w = [0;0]; 25 | case 'xx'; w = zeros(2); 26 | case 'xy'; w = zeros(2); 27 | case 'yy'; w = zeros(2); 28 | end 29 | case 'G' 30 | y1= y(1)/14+16/7; 31 | switch keyxy 32 | case 'x' ; w = [-eye(2);eye(2);zeros(4,2);-2*y1*(x(1)-2) 1;12.5*y1 -1; -10*x(1)-60+10*y1 1]; 33 | case 'y' ; w = [zeros(4,2);-eye(2);eye(2);-(x(1)-2)^2/14 0; 12.5*(x(1)-5)/14 0; (10*x(1)+60-10*y1)/14 0]; 34 | case 'xx'; w = [zeros(16,2);-2*y1 0; 0 0; zeros(2,2);-10 0; 0 0]; 35 | case 'xy'; w = [zeros(16,2);(2-x(1))/7 0; 0 0; 12.5/14 0; 0 0; 10/14 0; 0 0]; 36 | case 'yy'; w = [zeros(20,2);-5/98 0; 0 0]; 37 | end 38 | case 'f' 39 | switch keyxy 40 | case 'x' ; w = [0;0]; 41 | case 'y' ; w = [0;-1]; 42 | case 'xx'; w = zeros(2); 43 | case 'xy'; w = zeros(2); 44 | case 'yy'; w = zeros(2); 45 | end 46 | case 'g' 47 | x1= x(1)/14+16/7; 48 | switch keyxy 49 | case 'x' ; w = [-(y(1)-2)^2/14 0; 12.5*(y(1)-5)/14 0; (10*y(1)+60-10*x1)/14 0]; 50 | case 'y' ; w = [-2*x1*(y(1)-2) 1;12.5*x1 -1; -10*y(1)-60+10*x1 1]; 51 | case 'xx'; w = [zeros(4,2); -5/98 0; 0 0]; 52 | case 'xy'; w = [(2-y(1))/7 0; 0 0; 12.5/14 0; 0 0; 10/14 0; 0 0]; 53 | case 'yy'; w = [-2*x1 0; 0 0; zeros(2,2);-10 0; 0 0]; 54 | end 55 | end 56 | end 57 | end 58 | 59 | 60 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/SinhaMaloDeb2014TP7.m: -------------------------------------------------------------------------------- 1 | function w=SinhaMaloDeb2014TP7(x,y,keyf,keyxy) 2 | % This file provides all functions defining SinhaMaloDeb2014TP7 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 4 4] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = -(x(1)+y(1))*(x(2)+y(2))/(1+sum(x.*y)); 11 | case 'G'; w = [-x; [1 -1]*x; sum(x.*x)-100]; 12 | case 'f'; w = (x(1)+y(1))*(x(2)+y(2))/(1+sum(x.*y)); 13 | case 'g'; w = [-y;y-x]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | A = [0 1; 1 0]; 19 | z = x+y; 20 | xy = 1+sum(x.*y); 21 | f0 = (x(1)+y(1))*(x(2)+y(2))/xy; 22 | switch keyxy 23 | case 'x' ; w = -(A*z-f0*y)/xy; 24 | case 'y' ; w = -(A*z-f0*x)/xy; 25 | case 'xx'; fx = (A*z-f0*y)/xy; 26 | w = -(A -fx*y'-y*fx')/xy; 27 | case 'xy'; fx = (A*z-f0*y)/xy; 28 | fy = (A*z-f0*x)/xy; 29 | w = -(A -fy*y'-x*fx'-f0*eye(2))/xy; 30 | case 'yy'; fy = (A*z-f0*x)/xy; 31 | w = -(A -fy*x'-x*fy')/xy; 32 | end 33 | case 'G' 34 | switch keyxy 35 | case 'x' ; w = [-eye(2); 1 -1; 2*x']; 36 | case 'y' ; w = zeros(4,2); 37 | case 'xx'; w = [zeros(6,2); 2*eye(2)]; 38 | case 'xy'; w = zeros(8,2); 39 | case 'yy'; w = zeros(8,2); 40 | end 41 | case 'f' 42 | A = [0 1; 1 0]; 43 | z = x+y; 44 | xy = 1+sum(x.*y); 45 | f0 = (x(1)+y(1))*(x(2)+y(2))/xy; 46 | switch keyxy 47 | case 'x' ; w = (A*z-f0*y)/xy; 48 | case 'y' ; w = (A*z-f0*x)/xy; 49 | case 'xx'; fx = (A*z-f0*y)/xy; 50 | w = (A -fx*y'-y*fx')/xy; 51 | case 'xy'; fx = (A*z-f0*y)/xy; 52 | fy = (A*z-f0*x)/xy; 53 | w = (A -fy*y'-x*fx'-f0*eye(2))/xy; 54 | case 'yy'; fy = (A*z-f0*x)/xy; 55 | w = (A -fy*x'-x*fy')/xy; 56 | end 57 | case 'g' 58 | switch keyxy 59 | case 'x' ; w = [zeros(2);-eye(2)]; 60 | case 'y' ; w = [-eye(2); eye(2)]; 61 | case 'xx'; w = zeros(8,2); 62 | case 'xy'; w = zeros(8,2); 63 | case 'yy'; w = zeros(8,2); 64 | end 65 | end 66 | end 67 | end 68 | 69 | 70 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/CalveteGale1999P1.m: -------------------------------------------------------------------------------- 1 | function w=CalveteGale1999P1(x,y,keyf,keyxy) 2 | % This file provides all functions defining CalveteGale1999P1 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 3 2 6] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -8*x(1)-4*x(2)+4*y(1)-40*y(2)-4*y(3); 10 | case 'G'; w = -x; 11 | case 'f'; w =(1+x(1)+x(2)+2*y(1)-y(2)+y(3))/(6+2*x(1)+y(1)+y(2)-3*y(3)); 12 | case 'g'; w = [-y; -y(1)+y(2)+y(3)-1; 2*x(1)-y(1)+2*y(2)-0.5*y(3)-1; 13 | 2*x(2)+2*y(1)-y(2)-0.5*y(3)-1]; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = [-8; -4]; 20 | case 'y' ; w = [ 4; -40; -4]; 21 | case 'xx'; w = zeros(2,2); 22 | case 'xy'; w = zeros(3,2); 23 | case 'yy'; w = zeros(3,3); 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = -eye(2); 28 | case 'y' ; w = zeros(2,3); 29 | case 'xx'; w = zeros(4,2); 30 | case 'xy'; w = zeros(6,2); 31 | case 'yy'; w = zeros(6,3); 32 | end 33 | case 'f' 34 | a = [1;1]; 35 | b = [2;-1; 1]; 36 | c = [2;0]; 37 | d = [1;1;-3]; 38 | p = 1+a'*x+b'*y; 39 | q = 6+c'*x+d'*y; 40 | f0= p/q; 41 | switch keyxy 42 | case 'x' ; w = f0*(a/p-c/q); 43 | case 'y' ; w = f0*(b/p-d/q); 44 | case 'xx'; w = f0*(a/p-c/q)*(a/p-c/q)'+f0*(-a*a'/p^2+c*c'/q^2); 45 | case 'xy'; w = f0*(b/p-d/q)*(a/p-c/q)'+f0*(-b*a'/p^2+d*c'/q^2); 46 | %w= [- 5/q^2+4*p /q^3, 1/q^2+4*p /q^3, 1/q^2+12*p /q^3 ; 47 | % - 1/q^2, - 1/q^2, 3/q^2]'; 48 | case 'yy'; w = f0*(b/p-d/q)*(b/p-d/q)'+f0*(-b*b'/p^2+d*d'/q^2); 49 | %w=[-4/q^2 + 2*p/q^3, -1/q^2 + 2*p/q^3, 5/q^2 - 6*p/q^3; 50 | % -1/q^2 + 2*p/q^3, 2/q^2 + 2*p/q^3, - 4/q^2 - 6*p /q^3; 51 | % 5/q^2 - 6*p/q^3, -4/q^2 - 6*p/q^3, 6/q^2 + 18*p/q^3]; 52 | end 53 | case 'g' 54 | switch keyxy 55 | case 'x' ; w = [zeros(4,2); 2 0; 0 2]; 56 | case 'y' ; w = [-eye(3); -1 1 1; -1 2 -0.5; 2 -1 -0.5]; 57 | case 'xx'; w = zeros(12,2); 58 | case 'xy'; w = zeros(18,2); 59 | case 'yy'; w = zeros(18,3); 60 | end 61 | end 62 | end 63 | end 64 | 65 | 66 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/LuDebSinha2016b.m: -------------------------------------------------------------------------------- 1 | function w=LuDebSinha2016b(x,y,keyf,keyxy) 2 | % This file provides all functions defining LuDebSinha16a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 4 0] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = (x-0.5)^2+(y-1)^2; 10 | case 'G'; w = [-x; x-1; -y; y-2]; 11 | case 'f'; a = (1.5*y-x)/0.055; 12 | w = 2-exp(-a^0.4 )-0.8*exp(-( (2*y+x-3)/0.5 )^2 ); 13 | case 'g'; w = []; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | switch keyxy 19 | case 'x' ; w = 2*(x-0.5); 20 | case 'y' ; w = 2*(y-1); 21 | case 'xx'; w = 2; 22 | case 'xy'; w = 0; 23 | case 'yy'; w = 2; 24 | end 25 | case 'G' 26 | switch keyxy 27 | case 'x' ; w = [-1;1;0;0]; 28 | case 'y' ; w = [ 0;0;-1;1]; 29 | case 'xx'; w = zeros(4,1); 30 | case 'xy'; w = zeros(4,1); 31 | case 'yy'; w = zeros(4,1); 32 | end 33 | case 'f' 34 | p1 = [-1 1.5 0 0.055 0.4]; 35 | p2 = [ 1 2 -3 0.5 2]; 36 | switch keyxy 37 | case 'x' ; w =-Df(x,y,p1,'x') -0.8*Df(x,y,p2,'x'); 38 | case 'y' ; w =-Df(x,y,p1,'y') -0.8*Df(x,y,p2,'y'); 39 | case 'xx'; w =-Df(x,y,p1,'xx')-0.8*Df(x,y,p2,'xx'); 40 | case 'xy'; w =-Df(x,y,p1,'xy')-0.8*Df(x,y,p2,'xy'); 41 | case 'yy'; w =-Df(x,y,p1,'yy')-0.8*Df(x,y,p2,'yy'); 42 | end 43 | case 'g' 44 | switch keyxy 45 | case 'x' ; w = []; 46 | case 'y' ; w = []; 47 | case 'xx'; w = []; 48 | case 'xy'; w = []; 49 | case 'yy'; w = []; 50 | end 51 | end 52 | end 53 | w = real(w); 54 | end 55 | 56 | function [w]=Df(x,y,par,keyxy ) 57 | 58 | a = par(1); 59 | b = par(2); 60 | c = par(3); 61 | d = par(4); 62 | k = par(5); 63 | g = (a*x+b*y+c)/d; 64 | 65 | 66 | gk = g^k; 67 | gk1 = (g+1e-14)^(k-1); 68 | gk2 = (g+1e-14)^(k-2); 69 | 70 | 71 | gx = a/d; 72 | gy = b/d; 73 | f = exp( -gk ); 74 | 75 | switch keyxy 76 | case 'x' ; w = (-k*gx)*f*gk1; 77 | case 'y' ; w = (-k*gy)*f*gk1; 78 | case 'xx'; fx = (-k*gx)*f*gk1; 79 | w = (-k*gx)*( fx*gk1+(k-1)*gx*f*gk2 )'; 80 | case 'xy'; fy = (-k*gy)*f*gk1; 81 | w = (-k*gx)*( fy*gk1+(k-1)*gy*f*gk2 ); 82 | case 'yy'; fy = (-k*gy)*f*gk1; 83 | w = (-k*gy)*( fy*gk1+(k-1)*gy*f*gk2)'; 84 | end 85 | end 86 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/LuDebSinha2016c.m: -------------------------------------------------------------------------------- 1 | function w=LuDebSinha2016c(x,y,keyf,keyxy) 2 | % This file provides all functions defining LuDebSinha2016a problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 4 0] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; a = (0.2*y-x+0.6)/0.055; 10 | w = 2-exp(-a^0.4 )-0.8*exp(-( (0.15*y+x-0.4)/0.3 )^2 ); 11 | case 'G'; w = [-x; x-1; -y; y-2]; 12 | case 'f'; w = (x-0.5)^2+(y-1)^2; 13 | case 'g'; w = []; 14 | end 15 | else 16 | switch keyf 17 | case 'F' 18 | p1 = [-1 0.2 0.6 0.055 0.4]; 19 | p2 = [ 1 0.15 -0.4 0.3 2]; 20 | switch keyxy 21 | case 'x' ; w =-Df(x,y,p1,'x') -0.8*Df(x,y,p2,'x'); 22 | case 'y' ; w =-Df(x,y,p1,'y') -0.8*Df(x,y,p2,'y'); 23 | case 'xx'; w =-Df(x,y,p1,'xx')-0.8*Df(x,y,p2,'xx'); 24 | case 'xy'; w =-Df(x,y,p1,'xy')-0.8*Df(x,y,p2,'xy'); 25 | case 'yy'; w =-Df(x,y,p1,'yy')-0.8*Df(x,y,p2,'yy'); 26 | end 27 | case 'G' 28 | switch keyxy 29 | case 'x' ; w = [-1;1;0;0]; 30 | case 'y' ; w = [ 0;0;-1;1]; 31 | case 'xx'; w = zeros(4,1); 32 | case 'xy'; w = zeros(4,1); 33 | case 'yy'; w = zeros(4,1); 34 | end 35 | case 'f' 36 | switch keyxy 37 | case 'x' ; w = 2*(x-0.5); 38 | case 'y' ; w = 2*(y-1); 39 | case 'xx'; w = 2; 40 | case 'xy'; w = 0; 41 | case 'yy'; w = 2; 42 | end 43 | case 'g' 44 | switch keyxy 45 | case 'x' ; w = []; 46 | case 'y' ; w = []; 47 | case 'xx'; w = []; 48 | case 'xy'; w = []; 49 | case 'yy'; w = []; 50 | end 51 | end 52 | end 53 | w = real(w); 54 | end 55 | 56 | function [w]=Df(x,y,par,keyxy ) 57 | 58 | a = par(1); 59 | b = par(2); 60 | c = par(3); 61 | d = par(4); 62 | k = par(5); 63 | g = (a*x+b*y+c)/d ; 64 | 65 | 66 | gk = g^k; 67 | gk1 = (g+1e-14)^(k-1); 68 | gk2 = (g+1e-14)^(k-2); 69 | 70 | 71 | gx = a/d; 72 | gy = b/d; 73 | f = exp( -gk ); 74 | 75 | switch keyxy 76 | case 'x' ; w = (-k*gx)*f*gk1; 77 | case 'y' ; w = (-k*gy)*f*gk1; 78 | case 'xx'; fx = (-k*gx)*f*gk1; 79 | w = (-k*gx)*( fx*gk1+(k-1)*gx*f*gk2 )'; 80 | case 'xy'; fy = (-k*gy)*f*gk1; 81 | w = (-k*gx)*( fy*gk1+(k-1)*gy*f*gk2 ); 82 | case 'yy'; fy = (-k*gy)*f*gk1; 83 | w = (-k*gy)*( fy*gk1+(k-1)*gy*f*gk2)'; 84 | end 85 | end 86 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/AnEtal2009.m: -------------------------------------------------------------------------------- 1 | function w=AnEtal2009(x,y,keyf,keyxy) 2 | % This file provides all functions defining AnEtal2009 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [2 2 6 4] 5 | 6 | if nargin<4 || isempty(keyxy) 7 | switch keyf 8 | case 'F'; [H,c] = data(); 9 | w = [x' y']*(H*[x; y]/2+c); 10 | case 'G'; [~,~,A,B,d]=data(); 11 | w = [-x;-y;A*x+B*y+d]; 12 | case 'f'; [~,~,~,~,~,P,Q,q]=data(); 13 | w = y'*(P*x+q)+y'*Q*y/2; 14 | case 'g'; [~,~,~,~,~,~,~,~,D,E,b]=data(); 15 | w = D*x+E*y+b; 16 | end 17 | else 18 | switch keyf 19 | case 'F' 20 | [H,c]= data(); 21 | z = H*[x; y]+c; 22 | switch keyxy 23 | case 'x' ; w = z(1:2,:); 24 | case 'y' ; w = z(3:4,:); 25 | case 'xx'; w = H(1:2,1:2); 26 | case 'xy'; w = H(3:4,1:2); 27 | case 'yy'; w = H(3:4,3:4); 28 | end 29 | case 'G' 30 | [~,~,A,B]=data(); 31 | switch keyxy 32 | case 'x' ; w = [-eye(2);zeros(2);A]; 33 | case 'y' ; w = [zeros(2);-eye(2);B]; 34 | case 'xx'; w = zeros(12,2); 35 | case 'xy'; w = zeros(12,2); 36 | case 'yy'; w = zeros(12,2); 37 | end 38 | case 'f' 39 | [~,~,~,~,~,P,Q,q]=data(); 40 | switch keyxy 41 | case 'x' ; w = P'*y; 42 | case 'y' ; w = P*x+q+(Q+Q')*(y/2); 43 | case 'xx'; w = zeros(2); 44 | case 'xy'; w = P; 45 | case 'yy'; w = (Q+Q')/2; 46 | end 47 | case 'g' 48 | [~,~,~,~,~,~,~,~,D,E]=data(); 49 | switch keyxy 50 | case 'x' ; w = D; 51 | case 'y' ; w = E; 52 | case 'xx'; w = zeros(8,2); 53 | case 'xy'; w = zeros(8,2); 54 | case 'yy'; w = zeros(8,2); 55 | end 56 | end 57 | end 58 | 59 | end 60 | 61 | function [H,c,A,B,d,P,Q,q,D,E,b]=data() 62 | H=[-3.8 4.4 1.2 -2.2; 4.4 -2.2 0.6 1.8; 63 | 1.2 0.6 0.0 0.4; -2.2 1.8 0.4 0.0]; 64 | c =[935.74474; 87.53654; 121.96196; 299.24825]; 65 | A=[0.00000 3.88889;-2.00000 8.77778]; 66 | B=[4.88889 7.44444; -5.11111 0.88889]; 67 | d=[-61.57778; -0.80000]; 68 | P=[-17.85000 6.57500; 30.32500 30.32500]; 69 | Q=[21.10204,11.81633;11.81633,-14.44898]; 70 | q=[-18.21053;13.05263]; 71 | D=[5.00000 7.44444; -8.33333 3.00000; 72 | -8.66667 -8.55556; 6.44444 -5.11111]; 73 | E=[3.88889 1.77778; 6.88889 6.11111; 74 | -5.33333 -7.00000; 1.44444 4.44444]; 75 | b=[-39.62222;-60.00000;72.37778;-17.28889]; 76 | end 77 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/KleniatiAdjiman2014Ex4.m: -------------------------------------------------------------------------------- 1 | function w=KleniatiAdjiman2014Ex4(x,y,keyf,keyxy) 2 | % This file provides all functions defining KleniatiAdjiman2014Ex4 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [5 5 13 11] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -sum(x.*x+y.*y); 10 | case 'G'; w = [-x-1; x-1; y(1)*y(2)-x(1); x(1)-exp(x(2))+y(3); x(2)*(y(1)^2)]; 11 | case 'f'; w = y(1)^3+(x(1)+x(2))*(y(2))^2+0.1*y(3)+(y(4)^2+y(5)^2)*x(3)*x(4)*x(5); 12 | case 'g'; w = [-y-1; y-1; x(1)-0.2-y(3)^2]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = -2*x; 19 | case 'y' ; w = -2*y; 20 | case 'xx'; w = -2*eye(5); 21 | case 'xy'; w = zeros(5); 22 | case 'yy'; w = -2*eye(5); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-eye(5); eye(5); -1 0 0 0 0; 27 | 1 -exp(x(2)) 0 0 0; 0 y(1)^2 0 0 0]; 28 | case 'y' ; w = [zeros(10,5); y(2) y(1) 0 0 0; 29 | 0 0 1 0 0; 2*x(2)*y(1) 0 0 0 0]; 30 | case 'xx'; w = zeros(65,5); w(57,2) = -exp(x(2)); 31 | case 'xy'; w = zeros(65,5); w(61,2) = 2*y(1); 32 | case 'yy'; w = zeros(65,5); w(51,2) =1; w(52,1)=1; w(61,1)=2*x(2); 33 | end 34 | case 'f' 35 | y45=y(4)^2+y(5)^2; 36 | x34=x(3)*x(4); 37 | x35=x(3)*x(5); 38 | x45=x(5)*x(4); 39 | x345=x34*x(5); 40 | switch keyxy 41 | case 'x' ; w = [y(2)^2; y(2)^2; y45*x45; y45*x35; y45*x34]; 42 | case 'y' ; w = [3*y(1)^2; 2*(x(1)+x(2))*y(2); 0.1; 43 | 2*y(4)*x345; 2*y(5)*x345]; 44 | case 'xx'; w = y45*[zeros(2,5); 45 | 0 0 0 x(5) x(4); 46 | 0 0 x(5) 0 x(3); 47 | 0 0 x(4) x(3) 0]; 48 | case 'xy'; w = [0 0 0 0 0; 2*y(2) 2*y(2) 0 0 0; 0 0 0 0 0; 49 | 0 0 2*y(4)*x45 2*y(4)*x35 2*y(4)*x34; 50 | 0 0 2*y(5)*x45 2*y(5)*x35 2*y(5)*x34]; 51 | case 'yy'; w = diag([6*y(1) 2*(x(1)+x(2)) 0 2*x345 2*x345]); 52 | end 53 | case 'g' 54 | switch keyxy 55 | case 'x' ; w = zeros(11,5); w(11,1)=1; 56 | case 'y' ; w = [-eye(5); eye(5); 0 0 -2*y(3) 0 0]; 57 | case 'xx'; w = zeros(55,5); 58 | case 'xy'; w = zeros(55,5); 59 | case 'yy'; w = zeros(55,5); w(53,3)=-2; 60 | end 61 | end 62 | end 63 | end 64 | 65 | 66 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MorganPatrone2006c.m: -------------------------------------------------------------------------------- 1 | function w=MorganPatrone2006c(x,y,keyf,keyxy) 2 | % This file provides all functions defining MorganPatrone2006c problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 0 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -(x+y); 10 | case 'G'; w = []; 11 | case 'f'; w = fxy(x,y); 12 | case 'g'; w = [-x-2;x-2;-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = -1; 19 | case 'y' ; w = -1; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = fxy(x,y,'x'); 35 | case 'y' ; w = fxy(x,y,'y'); 36 | case 'xx'; w = fxy(x,y,'xx'); 37 | case 'xy'; w = fxy(x,y,'xy'); 38 | case 'yy'; w = fxy(x,y,'yy'); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-1; 1; 0; 0]; 43 | case 'y' ; w = [ 0; 0; -1; 1]; 44 | case 'xx'; w = [ 0; 0; 0;0]; 45 | case 'xy'; w = [ 0; 0; 0;0]; 46 | case 'yy'; w = [ 0; 0; 0;0]; 47 | end 48 | end 49 | end 50 | end 51 | 52 | function w = fxy(x,y,keyxy) 53 | if nargin<3 54 | if x>-2.00001 & x<=-7/4; w=(x+7/4)*y; 55 | elseif x>-7/4 & x<7/4; w=0; 56 | elseif x>=7/4 & x<2.00001; w=(x-7/4)*y; 57 | else w=10^10; 58 | end 59 | else 60 | if x>-2.000001 & x<=-7/4; 61 | switch keyxy 62 | case 'x' ; w = y; 63 | case 'y' ; w = x+7/4; 64 | case 'xx'; w = 0; 65 | case 'xy'; w = 1; 66 | case 'yy'; w = 0; 67 | end 68 | elseif x>=7/4 & x< 2.000001; 69 | switch keyxy 70 | case 'x' ; w = y; 71 | case 'y' ; w = x-7/4; 72 | case 'xx'; w = 0; 73 | case 'xy'; w = 1; 74 | case 'yy'; w = 0; 75 | end 76 | else 77 | switch keyxy 78 | case 'x' ; w = 0; 79 | case 'y' ; w = 0; 80 | case 'xx'; w = 0; 81 | case 'xy'; w = 0; 82 | case 'yy'; w = 0; 83 | end 84 | end 85 | 86 | end 87 | end 88 | 89 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MorganPatrone2006b.m: -------------------------------------------------------------------------------- 1 | function w=MorganPatrone2006b(x,y,keyf,keyxy) 2 | % This file provides all functions defining MorganPatrone2006b problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [1 1 0 4] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -(x+y); 10 | case 'G'; w = []; 11 | case 'f'; w = fxy(x,y); 12 | case 'g'; w = [-x-0.5;x-0.5;-y-1; y-1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = -1; 19 | case 'y' ; w = -1; 20 | case 'xx'; w = 0; 21 | case 'xy'; w = 0; 22 | case 'yy'; w = 0; 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = []; 27 | case 'y' ; w = []; 28 | case 'xx'; w = []; 29 | case 'xy'; w = []; 30 | case 'yy'; w = []; 31 | end 32 | case 'f' 33 | switch keyxy 34 | case 'x' ; w = fxy(x,y,'x'); 35 | case 'y' ; w = fxy(x,y,'y'); 36 | case 'xx'; w = fxy(x,y,'xx'); 37 | case 'xy'; w = fxy(x,y,'xy'); 38 | case 'yy'; w = fxy(x,y,'yy'); 39 | end 40 | case 'g' 41 | switch keyxy 42 | case 'x' ; w = [-1; 1; 0; 0]; 43 | case 'y' ; w = [ 0; 0; -1; 1]; 44 | case 'xx'; w = [ 0; 0; 0;0]; 45 | case 'xy'; w = [ 0; 0; 0;0]; 46 | case 'yy'; w = [ 0; 0; 0;0]; 47 | end 48 | end 49 | end 50 | end 51 | 52 | function w = fxy(x,y,keyxy) 53 | if nargin<3 54 | if x>-0.51 & x<=-0.25; w=(x+0.25)*y; 55 | elseif x>-0.25 & x<0.25; w=0; 56 | elseif x>=0.25 & x<0.51; w=(x-0.25)*y; 57 | else w=10^10; 58 | end 59 | else 60 | if x>-0.51 & x<=-0.25; 61 | switch keyxy 62 | case 'x' ; w = y; 63 | case 'y' ; w = x+0.25; 64 | case 'xx'; w = 0; 65 | case 'xy'; w = 1; 66 | case 'yy'; w = 0; 67 | end 68 | elseif x>=0.25 & x< 0.51; 69 | switch keyxy 70 | case 'x' ; w = y; 71 | case 'y' ; w = x-0.25; 72 | case 'xx'; w = 0; 73 | case 'xy'; w = 1; 74 | case 'yy'; w = 0; 75 | end 76 | else 77 | switch keyxy 78 | case 'x' ; w = 0; 79 | case 'y' ; w = 0; 80 | case 'xx'; w = 0; 81 | case 'xy'; w = 0; 82 | case 'yy'; w = 0; 83 | end 84 | end 85 | 86 | end 87 | end 88 | 89 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/SinhaMaloDeb2014TP10.m: -------------------------------------------------------------------------------- 1 | function w=SinhaMaloDeb2014TP10(x,y,keyf,keyxy) 2 | % This file provides all functions defining SinhaMaloDeb2014TP10 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [10 10 0 20] 5 | 6 | 7 | 8 | if nargin<4 || isempty(keyxy) 9 | switch keyf 10 | case 'F'; w = sum((x-1).^2+(y).^2); 11 | case 'G'; w = []; 12 | case 'f'; t = sqrt(1:10)'; 13 | xy= x.*y; 14 | w = exp(1+sum(xy.*xy)/4000-prod(cos(xy./t)) ); 15 | case 'g'; w = [y-pi; -y-pi]; 16 | end 17 | else 18 | switch keyf 19 | case 'F' 20 | switch keyxy 21 | case 'x' ; w = 2*(x-1); 22 | case 'y' ; w = 2*(y); 23 | case 'xx'; w = 2*eye(10); 24 | case 'xy'; w = zeros(10,10); 25 | case 'yy'; w = 2*eye(10); 26 | end 27 | case 'G' 28 | switch keyxy 29 | case 'x' ; w = []; 30 | case 'y' ; w = []; 31 | case 'xx'; w = []; 32 | case 'xy'; w = []; 33 | case 'yy'; w = []; 34 | end 35 | case 'f' 36 | t = sqrt(1:10)'; 37 | xy = x.*y; 38 | yt = y./t; xt = x./t; 39 | xyt= xy./t; 40 | p = sum(xy.*xy)/2; 41 | q = -prod(cos(xyt)); 42 | f0 = exp(1+p/2000+q ); 43 | px = xy.*y; py = xy.*x; 44 | qx = -q*yt.*tan(xyt); qy = -q*xt.*tan(xyt); 45 | switch keyxy 46 | case 'x' ; w = f0*( px/2000+qx) ; 47 | case 'y' ; w = f0*( py/2000+qy) ; 48 | case 'xx'; pq = px/2000+qx; 49 | yt2 = yt.*tan(xyt); 50 | qxx = q*( yt2*yt2'- diag( (yt.*sec(xyt)).^2 ) ); 51 | w = f0*(pq*pq'+diag(y.*y/2000)+qxx); 52 | case 'xy'; pqx = px/2000+qx; 53 | pqy = py/2000+qy; 54 | xt2 = xt.*tan(xyt); 55 | yt2 = yt.*tan(xyt); 56 | qxy = q*( xt2*yt2'- diag(tan(xyt)./t+ xt.*yt.*(sec(xyt).^2) ) ); 57 | w = f0*(pqy*pqx'+diag(xy/1000)+qxy); 58 | case 'yy'; pq = py/2000+qy; 59 | xt2 = xt.*tan(xyt); 60 | qyy = q*( xt2*xt2'- diag( (xt.*sec(xyt)).^2 ) ); 61 | w = f0*(pq*pq'+diag(x.*x/2000)+qyy); 62 | end 63 | case 'g' 64 | switch keyxy 65 | case 'x' ; w = zeros(20, 10); 66 | case 'y' ; w = [eye(10); -eye(10)]; 67 | case 'xx'; w = zeros(200,10); 68 | case 'xy'; w = zeros(200,10); 69 | case 'yy'; w = zeros(200,10); 70 | end 71 | end 72 | end 73 | end 74 | 75 | -------------------------------------------------------------------------------- /BOLIB/BLIBExamples/MitsosBarton2006Ex328.m: -------------------------------------------------------------------------------- 1 | function w=MitsosBarton2006Ex328(x,y,keyf,keyxy) 2 | % This file provides all functions defining MitsosBarton2006Ex328 problem 3 | % and their first and second order derivatives. 4 | % [dim_x dim_y dim_G dim_g] = [5 5 13 13] 5 | 6 | 7 | if nargin<4 || isempty(keyxy) 8 | switch keyf 9 | case 'F'; w = -sum(x.*x+y.*y); 10 | case 'G'; w = [-x-1; x-1; y(1)*y(2)-x(1); x(1)-exp(x(2))+y(3); x(2)*(y(1)^2)]; 11 | case 'f'; w = y(1)^3+(x(1)+x(2))*(y(2))^2+0.1*y(3)+(y(4)^2+y(5)^2)*x(3)*x(4)*x(5); 12 | case 'g'; w = [-y-1; y-1; y(1)*y(2)-0.3; x(1)-0.2-y(3)^2; -exp(y(3))+y(4)*y(5)-0.1]; 13 | end 14 | else 15 | switch keyf 16 | case 'F' 17 | switch keyxy 18 | case 'x' ; w = -2*x; 19 | case 'y' ; w = -2*y; 20 | case 'xx'; w = -2*eye(5); 21 | case 'xy'; w = zeros(5,5); 22 | case 'yy'; w = -2*eye(5); 23 | end 24 | case 'G' 25 | switch keyxy 26 | case 'x' ; w = [-eye(5); eye(5); -1 0 0 0 0; 27 | 1 -exp(x(2)) 0 0 0; 0 y(1)^2 0 0 0]; 28 | case 'y' ; w = [zeros(10,5); y(2) y(1) 0 0 0; 29 | 0 0 1 0 0; 2*x(2)*y(1) 0 0 0 0]; 30 | case 'xx'; w = zeros(65,5); w(57,2) = -exp(x(2)); 31 | case 'xy'; w = zeros(65,5); w(61,2) = 2*y(1); 32 | case 'yy'; w = zeros(65,5); w(51,2) =1; w(52,1)=1; w(61,1)=2*x(2); 33 | end 34 | case 'f' 35 | switch keyxy 36 | case 'x' ; w = [y(2)^2; y(2)^2; (y(4)^2+y(5)^2)*x(4)*x(5); 37 | (y(4)^2+y(5)^2)*x(3)*x(5);(y(4)^2+y(5)^2)*x(3)*x(4)]; 38 | case 'y' ; w = [3*y(1)^2; 2*(x(1)+x(2))*y(2); 0.1; 39 | 2*y(4)*x(3)*x(4)*x(5); 2*y(5)*x(3)*x(4)*x(5)]; 40 | case 'xx'; w = [zeros(2,5); 41 | 0 0 0 (y(4)^2+y(5)^2)*x(5) (y(4)^2+y(5)^2)*x(4); 42 | 0 0 (y(4)^2+y(5)^2)*x(5) 0 (y(4)^2+y(5)^2)*x(3); 43 | 0 0 (y(4)^2+y(5)^2)*x(4) (y(4)^2+y(5)^2)*x(3) 0]; 44 | case 'xy'; w = [0 0 0 0 0; 2*y(2) 2*y(2) 0 0 0; 0 0 0 0 0; 45 | 0 0 2*y(4)*x(4)*x(5) 2*y(4)*x(3)*x(5) 2*y(4)*x(3)*x(4); 46 | 0 0 2*y(5)*x(4)*x(5) 2*y(5)*x(3)*x(5) 2*y(5)*x(3)*x(4)]; 47 | case 'yy'; w = diag([6*y(1) 2*(x(1)+x(2)) 0 2*x(3)*x(4)*x(5) 2*x(3)*x(4)*x(5)]); 48 | end 49 | case 'g' 50 | switch keyxy 51 | case 'x' ; w = zeros(13,5); w(12,1)=1; 52 | case 'y' ; w = [-eye(5); eye(5); y(2) y(1) 0 0 0; 53 | 0 0 -2*y(3) 0 0; 0 0 -exp(y(3)) y(5) y(4)]; 54 | case 'xx'; w = zeros(65,5); 55 | case 'xy'; w = zeros(65,5); 56 | case 'yy'; w = [zeros(50,5); 0 1 0 0 0; 1 0 0 0 0; zeros(5,5); 57 | 0 0 -2 0 0; zeros(4,5); 0 0 -exp(y(3)) 0 0; 0 0 0 0 1; 0 0 0 1 0]; 58 | end 59 | end 60 | end 61 | end 62 | 63 | 64 | --------------------------------------------------------------------------------