R Under development (unstable) (2024-10-16 r87241 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > if(!require("GNE"))stop("this test requires package GNE.") Loading required package: GNE Loading required package: alabama Loading required package: numDeriv Loading required package: nleqslv Loading required package: BB Loading required package: SQUAREM > > itermax <- 10 > > #------------------------------------------------------------------------------- > # (1) Example 5 of von Facchinei et al. (2007) > #------------------------------------------------------------------------------- > > dimx <- c(1, 1) > #Gr_x_j O_i(x) > grobj <- function(x, i, j) + { + if(i == 1) + res <- c(2*(x[1]-1), 0) + if(i == 2) + res <- c(0, 2*(x[2]-1/2)) + res[j] + } > #Gr_x_k Gr_x_j O_i(x) > heobj <- function(x, i, j, k) + 2 * (i == j && j == k) > > dimlam <- c(1, 1) > #constraint function g_i(x) > g <- function(x, i) + sum(x[1:2]) - 1 > #Gr_x_j g_i(x) > grg <- function(x, i, j) + 1 > #Gr_x_k Gr_x_j g_i(x) > heg <- function(x, i, j, k) + 0 > > > x0 <- rep(0, sum(dimx)) > z0 <- c(x0, 2, 2, max(10, 5-g(x0, 1) ), max(10, 5-g(x0, 2) ) ) > > #true value is (3/4, 1/4, 1/2, 1/2) > GNE.ceq(z0, dimx, dimlam, grobj=grobj, heobj=heobj, + constr=g, grconstr=grg, heconstr=heg, method="PR", + control=list(trace=0, maxit=itermax)) GNE: 0.7499995 0.2499995 0.5000009 0.5000009 1.800985e-06 1.800985e-06 with optimal norm 1.800857e-06 after 9 iterations with exit code 1 . Output message: Function criterion near zero Function/grad/hessian calls: 9 9 Optimal (vector) value: 1.110223e-16 -1.110223e-16 9.003626e-07 9.003626e-07 9.004943e-07 9.004943e-07 > > GNE.ceq(z0, dimx, dimlam, grobj=grobj, heobj=heobj, + constr=g, grconstr=grg, heconstr=heg, method="AS", global="pwldog", + xscalm="auto", control=list(trace=0, maxit=itermax)) GNE: 0.5185869 0.4814163 0.9628172 0.03716016 1.256425e-19 3.879651e-08 with optimal norm 1.24786e-05 after 9 iterations with exit code 6 . Output message: Jacobian is singular Function/grad/hessian calls: 9 9 Optimal (vector) value: -9.072489e-06 -7.28932e-06 3.164192e-06 3.202989e-06 1.209707e-19 1.441684e-09 > > > > > #------------------------------------------------------------------------------- > # (2) Duopoly game of Krawczyk and Stanislav Uryasev (2000) > #------------------------------------------------------------------------------- > > > #constants > myarg <- list(d= 20, lambda= 4, rho= 1) > > dimx <- c(1, 1) > #Gr_x_j O_i(x) > grobj <- function(x, i, j, arg) + { + res <- -arg$rho * x[i] + if(i == j) + res <- res + arg$d - arg$lambda - arg$rho*(x[1]+x[2]) + -res + } > #Gr_x_k Gr_x_j O_i(x) > heobj <- function(x, i, j, k, arg) + arg$rho * (i == j) + arg$rho * (j == k) > > > dimlam <- c(1, 1) > #constraint function g_i(x) > g <- function(x, i) + -x[i] > #Gr_x_j g_i(x) > grg <- function(x, i, j) + -1*(i == j) > #Gr_x_k Gr_x_j g_i(x) > heg <- function(x, i, j, k) + 0 > > #true value is (16/3, 16/3, 0, 0) > > x0 <- rep(0, sum(dimx)) > z0 <- c(x0, 2, 2, max(10, 5-g(x0, 1) ), max(10, 5-g(x0, 2) ) ) > > > GNE.ceq(z0, dimx, dimlam, grobj=grobj, heobj=heobj, arggrobj=myarg, + argheobj=myarg, constr=g, grconstr=grg, heconstr=heg, + method="PR", control=list(trace=0, maxit=itermax)) GNE: 5.333334 5.333334 1.960473e-06 1.960473e-06 5.333344 5.333344 with optimal norm 2.091e-05 after 7 iterations with exit code 3 . Output message: No better point found (algorithm has stalled) Function/grad/hessian calls: 7 7 Optimal (vector) value: -3.094584e-15 -3.094584e-15 1.045412e-05 1.045412e-05 1.045588e-05 1.045588e-05 > > > GNE.ceq(z0, dimx, dimlam, grobj=grobj, heobj=heobj, arggrobj=myarg, + argheobj=myarg, constr=g, grconstr=grg, heconstr=heg, + method="AS", global="pwldog", xscalm="auto", control=list(trace=1, maxit=itermax)) **** k 0 x_k 0 0 2 2 10 10 **** k 1 x_k 0.06790154 0.06790154 1.537421 1.537421 9.469519 9.469519 **** k 2 x_k 0.4635258 0.4635258 7.687104e-05 7.687104e-05 7.530257 7.530257 **** k 3 x_k 3.946021 3.946021 3.843552e-09 3.843552e-09 3.88908 3.88908 **** k 4 x_k 4.957602 4.957602 1.921776e-13 1.921834e-13 4.942181 4.942181 **** k 5 x_k 5.305746 5.305746 1.284107e-17 9.609172e-18 5.304613 5.304613 **** k 6 x_k 5.332664 5.332664 6.420533e-22 3.251501e-19 5.332636 5.332636 **** k 7 x_k 5.333302 5.333302 5.604252e-21 1.625751e-23 5.3333 5.3333 **** k 8 x_k 5.333303 5.333303 5.295269e-21 8.128753e-28 5.333302 5.333302 **** k 9 x_k 5.33333 5.33333 5.295221e-21 8.128679e-28 5.333302 5.333302 GNE: 5.33333 5.33333 5.295221e-21 8.128679e-28 5.333302 5.333302 with optimal norm 4.188044e-05 after 9 iterations with exit code 2 . Output message: x-values within tolerance `xtol' Function/grad/hessian calls: 9 9 Optimal (vector) value: -9.326112e-06 -9.326112e-06 -2.81071e-05 -2.81071e-05 2.824101e-20 4.33527e-27 > > > > #------------------------------------------------------------------------------- > # (3) River basin pollution game of Krawczyk and Stanislav Uryasev (2000) > #------------------------------------------------------------------------------- > > myarg <- list( + C = cbind(c(.1, .12, .15), c(.01, .05, .01)), + U = cbind(c(6.5, 5, 5.5), c(4.583, 6.25, 3.75)), + K = c(100, 100), + E = c(.5, .25, .75), + D = c(3, .01) + ) > > > > dimx <- c(1, 1, 1) > #Gr_x_j O_i(x) > grobj <- function(x, i, j, arg) + { + dij <- 1*(i == j) + res <- -(-arg$D[2] - arg$C[i, 2]*dij) * x[i] + res - (arg$D[1] - arg$D[2]*sum(x[1:3]) - arg$C[i, 1] - arg$C[i, 2]*x[i]) * dij + } > #Gr_x_k Gr_x_j O_i(x) > heobj <- function(x, i, j, k, arg) + { + dij <- 1*(i == j) + dik <- 1*(i == k) + + arg$D[2] * dik + arg$D[2] * dij + 2 * arg$C[i, 2] * dij * dik + } > > dimlam <- c(2, 2, 2) > #g_i(x) > g <- function(x, i, arg) + c(sum(arg$U[, 1] * arg$E * x[1:3]) - arg$K[1], + sum(arg$U[, 2] * arg$E * x[1:3]) - arg$K[2]) > #Gr_x_j g_i(x) > grg <- function(x, i, j, arg) + c(arg$U[j, 1] * arg$E[j], arg$U[j, 2] * arg$E[j]) > #Gr_x_k Gr_x_j g_i(x) > heg <- function(x, i, j, k, arg) + c(0, 0) > > #true value around (21.146, 16.027, 2.724, 0.574, 0.000) > > x0 <- rep(0, sum(dimx)) > z0 <- c(x0, rep(2, sum(dimlam)), pmax(10, 5-g(x0, 1, myarg) ), + pmax(10, 5-g(x0, 2, myarg) ), pmax(10, 5-g(x0, 3, myarg) ) ) > > # funCER(z0, dimx, dimlam, grobj=grobj, > # constr=g, grconstr=grg, > # arggrobj=myarg, argconstr=myarg, > # arggrconstr=myarg) > > # jacCER(z0, dimx, dimlam, heobj=heobj, > # constr=g, grconstr=grg, heconstr=heg, > # argheobj=myarg, argconstr=myarg, > # arggrconstr=myarg, argheconstr=myarg) > > GNE.ceq(z0, dimx, dimlam, grobj=grobj, heobj=heobj, + constr=g, grconstr=grg, heconstr=heg, method="PR", global="gline", + arggrobj=myarg, argheobj=myarg, argconstr=myarg, + arggrconstr=myarg, argheconstr=myarg, control=list(trace=1, maxit=itermax), + silent=TRUE) **** k 0 x_k 0 0 0 2 2 2 2 2 2 105 105 105 105 105 105 **** k 1 x_k 12.48406 13.4967 -8.811569 0.3946921 0.4673957 0.3946921 0.4673957 0.3946921 0.4673957 89.65366 85.83673 89.65366 85.83673 89.65366 85.83673 **** k 2 x_k 19.85674 14.06782 1.778303 0.3646408 0.3326148 0.3646408 0.3326148 0.3646408 0.3326148 12.97047 29.94098 12.97047 29.94098 12.97047 29.94098 **** k 3 x_k 20.61445 14.59716 2.638328 0.4159395 0.2405691 0.4159395 0.2405691 0.4159395 0.2405691 5.330304 23.99044 5.330304 23.99044 5.330304 23.99044 **** k 4 x_k 20.92023 15.11625 2.837212 0.4719414 0.1526715 0.4719414 0.1526715 0.4719414 0.1526715 2.275115 21.32717 2.275115 21.32717 2.275115 21.32717 **** k 5 x_k 21.03956 15.49872 2.827549 0.514585 0.08848071 0.514585 0.08848071 0.514585 0.08848071 1.092467 20.12669 1.092467 20.12669 1.092467 20.12669 **** k 6 x_k 21.14387 15.9713 2.752031 0.5678373 0.009400194 0.5678373 0.009400194 0.5678373 0.009400194 0.05014185 18.93755 0.05014185 18.93755 0.05014185 18.93755 **** k 7 x_k 21.14383 16.02466 2.726095 0.574003 0.0005364843 0.574003 0.0005364843 0.574003 0.0005364843 0.01594118 18.8526 0.01594118 18.8526 0.01594118 18.8526 **** k 8 x_k 21.1447 16.02755 2.725964 0.5743263 5.078723e-05 0.5743263 5.078723e-05 0.5743263 5.078723e-05 0.001645486 18.83806 0.001645486 18.83806 0.001645486 18.83806 **** k 9 x_k 21.14479 16.02782 2.725963 0.5743567 5.048456e-06 0.5743567 5.048456e-06 0.5743567 5.048456e-06 0.0001653728 18.83657 0.0001653728 18.83657 0.0001653728 18.83657 **** k 10 x_k 21.1448 16.02785 2.725963 0.5743597 5.045561e-07 0.5743597 5.045561e-07 0.5743597 5.045561e-07 1.654523e-05 18.83643 1.654523e-05 18.83643 1.654523e-05 18.83643 GNE: 21.1448 16.02785 2.725963 0.5743597 5.045561e-07 0.5743597 5.045561e-07 0.5743597 5.045561e-07 1.654523e-05 18.83643 1.654523e-05 18.83643 1.654523e-05 18.83643 with optimal norm 3.29208e-05 after 10 iterations with exit code 4 . Output message: Iteration limit exceeded Function/grad/hessian calls: 13 10 Optimal (vector) value: -3.285789e-16 -1.028023e-16 -9.622002e-16 9.503359e-06 9.503359e-06 9.503359e-06 9.503359e-06 9.503359e-06 9.503359e-06 9.502911e-06 9.504034e-06 9.502911e-06 9.504034e-06 9.502911e-06 9.504034e-06 > > GNE.ceq(z0, dimx, dimlam, grobj=grobj, heobj=heobj, + constr=g, grconstr=grg, heconstr=heg, + arggrobj=myarg, argheobj=myarg, argconstr=myarg, + arggrconstr=myarg, argheconstr=myarg, method="AS", global="pwldog", + xscalm="auto", control=list(trace=1, maxit=itermax)) **** k 0 x_k 0 0 0 2 2 2 2 2 2 105 105 105 105 105 105 **** k 1 x_k -0.0005436468 -0.0002777759 -0.0006803935 1.712831 1.712933 1.713132 1.713121 1.712585 1.712774 104.7098 104.7098 104.7098 104.7098 104.7098 104.7098 **** k 2 x_k -0.001942881 -0.0009915117 -0.002431744 1.139538 1.139764 1.140217 1.140195 1.138974 1.139397 104.1284 104.1283 104.1282 104.1282 104.1285 104.1284 **** k 3 x_k -0.007423544 -0.003775761 -0.00929311 0.01302496 0.01310362 0.01334029 0.01335253 0.01268465 0.01287773 102.9686 102.9681 102.9671 102.9671 102.9699 102.9689 **** k 4 x_k -0.2210227 -0.1108987 -0.2768862 0.005582225 0.005410124 0.005186542 0.005236207 0.005762874 0.005526947 101.6363 101.6276 101.6351 101.6268 101.6374 101.6284 **** k 5 x_k -0.1765314 -0.0939397 -0.2204067 0.0008735011 0.00075442 0.0006599549 0.0007025741 0.0009439409 0.0007836118 101.6426 101.3221 101.6414 101.3231 101.6437 101.3213 **** k 6 x_k -0.1769755 -0.09410028 -0.2209721 0.001019333 0.0007541347 0.0006592195 0.0007019158 0.001649222 0.000783608 101.6411 101.3168 101.64 101.3177 101.6421 101.316 **** k 7 x_k -0.1828985 -0.09614399 -0.2285264 0.001013697 0.0007499835 0.0006485296 0.0006923477 0.001605076 0.0007835248 101.6221 101.2433 101.6215 101.2438 101.6225 101.243 **** k 8 x_k -0.1754124 -0.08647673 -0.2199989 0.0009879519 0.0007308622 0.0005990565 0.0006481887 0.001413994 0.0007833914 101.6229 101.1648 101.6224 101.1641 101.6233 101.1653 **** k 9 x_k 13.259 3.569348 12.71983 0.001735574 0.001079723 0.001052389 0.0009575888 0.002484016 0.001157323 0.005461726 28.27216 0.005081121 28.27165 0.005759927 28.27258 **** k 10 x_k 13.32367 3.622284 12.65404 0.003344481 0.001077703 0.002101047 0.0009557976 0.004667525 0.001155159 0.0003795295 28.22626 2.54056e-07 28.22575 0.0006766883 28.22667 GNE: 13.32367 3.622284 12.65404 0.003344481 0.001077703 0.002101047 0.0009557976 0.004667525 0.001155159 0.0003795295 28.22626 2.54056e-07 28.22575 0.0006766883 28.22667 with optimal norm 3.767583 after 10 iterations with exit code 4 . Output message: Iteration limit exceeded Function/grad/hessian calls: 10 10 Optimal (vector) value: -2.190951 -2.181429 -2.151876 0.02808543 0.006759666 0.02770616 0.006251574 0.02838259 0.00717112 1.269329e-06 0.03041952 5.337838e-10 0.0269781 3.15846e-06 0.03260628 > > > > #------------------------------------------------------------------------------- > # (4) Example of GNE with 4 solutions(!) > #------------------------------------------------------------------------------- > > myarg <- list(C=c(2, 3), D=c(4,0)) > > dimx <- c(1, 1) > #Gr_x_j O_i(x) > grobj <- function(x, i, j, arg) + { + dij <- 1*(i == j) + other <- ifelse(i == 1, 2, 1) + 2*(x[i] - arg$C[i])*(x[other] - arg$D[i])^4*dij + 4*(x[i] - arg$C[i])^2*(x[other] - arg$D[i])^3*(1-dij) + } > #Gr_x_k Gr_x_j O_i(x) > heobj <- function(x, i, j, k, arg) + { + dij <- 1*(i == j) + dik <- 1*(i == k) + other <- ifelse(i == 1, 2, 1) + res <- 2*(x[other] - arg$D[i])^4*dij*dik + 8*(x[i] - arg$C[i])*(x[other] - arg$D[i])^3*dij*(1-dik) + res <- res + 8*(x[i] - arg$C[i])*(x[other] - arg$D[i])^3*(1-dij)*dik + res + 12*(x[i] - arg$C[i])^2*(x[other] - arg$D[i])^2*(1-dij)*(1-dik) + } > > dimlam <- c(1, 1) > #g_i(x) > g <- function(x, i) + ifelse(i == 1, sum(x[1:2]) - 1, 2*x[1]+x[2]-2) > #Gr_x_j g_i(x) > grg <- function(x, i, j) + ifelse(i == 1, 1, 1 + 1*(i == j)) > #Gr_x_k Gr_x_j g_i(x) > heg <- function(x, i, j, k) + 0 > > > x0 <- c(2, 2) > z0 <- c(x0, 10, 10, max(10, 5-g(x0, 1) ), max(10, 5-g(x0, 2) ) ) > > > GNE.ceq(z0, dimx, dimlam, grobj=grobj, heobj=heobj, + constr=g, grconstr=grg, heconstr=heg, arggrobj=myarg, argheobj=myarg, + method="PR", control=list(trace=0, maxit=itermax)) GNE: 1.822024 0.6750753 42.23982 24.91302 0.03294068 0.02510578 with optimal norm 3.711301 after 10 iterations with exit code 4 . Output message: Iteration limit exceeded Function/grad/hessian calls: 41 10 Optimal (vector) value: -1.263021 -1.419464 1.53004 2.34423 1.391408 0.6254608 > > GNE.ceq(z0, dimx, dimlam, grobj=grobj, heobj=heobj, + constr=g, grconstr=grg, heconstr=heg, arggrobj=myarg, argheobj=myarg, + method="AS", global="pwldog", + xscalm="auto", control=list(trace=0, maxit=itermax)) GNE: 1.7424 1.794788 10.63555 10.40087 1.519587e-05 3.54075e-05 with optimal norm 4.646801 after 8 iterations with exit code 2 . Output message: x-values within tolerance `xtol' Function/grad/hessian calls: 8 8 Optimal (vector) value: -1.54808 -1.415228 2.537204 3.279624 0.0001616164 0.0003682689 > > > > > > #------------------------------------------------------------------------------- > # (5) another Example > #------------------------------------------------------------------------------- > > # associated objective functions > > dimx <- c(2, 2, 3) > #Gr_x_j O_i(x) > grfullob <- function(x, i, j) + { + x <- x[1:7] + if(i == 1) + grad <- 3*(x - 1:7)^2 + if(i == 2) + grad <- 1:7*(x - 1:7)^(0:6) + if(i == 3) + { + s <- x[5]^2 + x[6]^2 + x[7]^2 - 5 + grad <- c(1, 0, 1, 0, 4*x[5]*s, 4*x[6]*s, 4*x[7]*s) + } + grad[j] + } > > #Gr_x_k Gr_x_j O_i(x) > hefullob <- function(x, i, j, k) + { + x <- x[1:7] + if(i == 1) + he <- diag( 6*(x - 1:7) ) + if(i == 2) + he <- diag( c(0, 2, 6, 12, 20, 30, 42)*(x - 1:7)^c(0, 0:5) ) + if(i == 3) + { + s <- x[5]^2 + x[6]^2 + x[7]^2 + + he <- rbind(rep(0, 7), rep(0, 7), rep(0, 7), rep(0, 7), + c(0, 0, 0, 0, 4*s+8*x[5]^2, 8*x[5]*x[6], 8*x[5]*x[7]), + c(0, 0, 0, 0, 8*x[5]*x[6], 4*s+8*x[6]^2, 8*x[6]*x[7]), + c(0, 0, 0, 0, 8*x[5]*x[7], 8*x[6]*x[7], 4*s+8*x[7]^2) ) + } + he[j,k] + } > > # constraint linked functions > > dimlam <- c(1, 2, 2) > #constraint function g_i(x) > g <- function(x, i) + { + x <- x[1:7] + if(i == 1) + res <- sum( x^(1:7) ) -7 + if(i == 2) + res <- c(sum(x) + prod(x) - 14, 20 - sum(x)) + if(i == 3) + res <- c(sum(x^2) + 1, 100 - sum(x)) + res + } > > #Gr_x_j g_i(x) > grfullg <- function(x, i, j) + { + x <- x[1:7] + if(i == 1) + grad <- (1:7) * x ^ (0:6) + if(i == 2) + { + grad <- 1 + sapply(1:7, function(i) prod(x[-i])) + grad <- cbind(grad, -1) + } + if(i == 3) + grad <- cbind(2*x, -1) + + if(i == 1) + res <- grad[j] + if(i != 1) + res <- grad[j,] + as.numeric(res) + } > > #Gr_x_k Gr_x_j g_i(x) > hefullg <- function(x, i, j, k) + { + x <- x[1:7] + if(i == 1) + he1 <- diag( c(0, 2, 6, 12, 20, 30, 42) * x ^ c(0, 0, 1:5) ) + if(i == 2) + { + he1 <- matrix(0, 7, 7) + he1[1, -1] <- sapply(2:7, function(i) prod(x[-c(1, i)])) + he1[2, -2] <- sapply(c(1, 3:7), function(i) prod(x[-c(2, i)])) + he1[3, -3] <- sapply(c(1:2, 4:7), function(i) prod(x[-c(3, i)])) + he1[4, -4] <- sapply(c(1:3, 5:7), function(i) prod(x[-c(4, i)])) + he1[5, -5] <- sapply(c(1:4, 6:7), function(i) prod(x[-c(5, i)])) + he1[6, -6] <- sapply(c(1:5, 7:7), function(i) prod(x[-c(6, i)])) + he1[7, -7] <- sapply(1:6, function(i) prod(x[-c(7, i)])) + + he2 <- matrix(0, 7, 7) + } + if(i == 3) + { + he1 <- diag(rep(2, 7)) + he2 <- matrix(0, 7, 7) + } + if(i != 1) + return( c(he1[j, k], he2[j, k]) ) + else + return( he1[j, k] ) + } > > > > > # (3) compute Phi > # > > x0 <- rep(0, sum(dimx)) > z0 <- c(x0, rep(2, sum(dimlam)), max(10, 5-g(x0, 1) ), + pmax(10, 5-g(x0, 2) ), pmax(10, 5-g(x0, 3) ) ) > > > GNE.ceq(z0, dimx, dimlam, grobj=grfullob, heobj=hefullob, + constr=g, grconstr=grfullg, heconstr=hefullg, + method="PR", control=list(trace=0, maxit=itermax)) GNE: 0.1270831 0.1979237 0.2103908 0.1616465 0.9208237 0.9208237 0.9208237 2.123573 2.207852 1.757003 2.629156 14.0286 10.06542 15.26283 10.19277 6.744852 0.6259733 with optimal norm 255.4835 after 10 iterations with exit code 4 . Output message: Iteration limit exceeded Function/grad/hessian calls: 81 10 Optimal (vector) value: 4.409525 10.58305 23.80362 -225.7412 -18.23372 -18.23372 -18.23372 5.074685 4.72301 26.73325 10.41432 97.16646 21.37467 33.69806 17.90873 17.73327 8.781531 > > > > GNE.ceq(z0, dimx, dimlam, grobj=grfullob, heobj=hefullob, + constr=g, grconstr=grfullg, heconstr=hefullg, + method="AS", global="pwldog", + xscalm="auto", control=list(trace=3, maxit=itermax)) **** k 0 x_k 0 0 0 0 0 0 0 2 2 2 2 2 12 19 10 10 10 ||f(x_k)|| 287.8142 **** k 1 x_k 0.003240507 0.004678483 0.01257722 0.9982181 0.002896204 0.002896204 0.002896204 1.988132 1.98003 1.982623 1.991899 1.991656 11.98712 18.96883 9.985823 9.989671 9.96962 ||f(x_k)|| 169.3706 dk - Cauchy step 0.003240507 0.004678483 0.01257722 0.9982181 0.002896204 0.002896204 0.002896204 -0.01186836 -0.01996963 -0.01737722 -0.008101269 -0.008344307 -0.01288102 -0.03116963 -0.01417722 -0.01032912 -0.03037976 scaling 1 1 1 1 1 1 1 0.7092142 0.7106636 0.7101988 0.7085433 0.7085865 0.2888302 0.2296041 0.3164522 0.3163912 0.3167092 **** k 2 x_k 0.2133581 0.2209913 0.2620189 2.211266 0.2116678 0.2116678 0.2116678 2.21562 2.149043 2.211854 2.235364 2.234193 12.61297 19.69403 10.54865 10.56689 10.46301 ||f(x_k)|| 137.4064 dk - convex point 0.2101176 0.2163128 0.2494417 1.213048 0.2087716 0.2087716 0.2087716 0.2274884 0.169013 0.2292315 0.2434656 0.2425375 0.6258469 0.7252042 0.5628273 0.5772181 0.4933851 scaling 1 1 1 1 1 1 1 0.6718191 0.6821461 0.6723908 0.6688456 0.6690208 0.2815732 0.2253371 0.3078942 0.3076284 0.3091518 **** k 3 x_k 0.2133581 0.2209913 0.2620189 2.211266 0.2116678 0.2116678 0.2116678 2.21562 2.149043 2.211854 2.235364 2.234193 12.61297 19.69403 10.54865 10.56689 10.46301 ||f(x_k)|| 137.4064 dk - convex point 0.865739 0.9470969 1.348945 0.2624997 0.9219767 0.9222669 0.9223413 0.04110508 -1.262901 0.3714518 0.381028 0.3285776 1.0768 0.6592633 1.282214 1.406886 0.1853495 scaling 1 1 1 1 1 1 1 0.6718191 0.6821461 0.6723908 0.6688456 0.6690208 0.2815732 0.2253371 0.3078942 0.3076284 0.3091518 GNE: 0.2133581 0.2209913 0.2620189 2.211266 0.2116678 0.2116678 0.2116678 2.21562 2.149043 2.211854 2.235364 2.234193 12.61297 19.69403 10.54865 10.56689 10.46301 with optimal norm 137.4064 after 3 iterations with exit code 2 . Output message: x-values within tolerance `xtol' Function/grad/hessian calls: 3 3 Optimal (vector) value: 4.072037 10.47388 22.42894 -22.95526 -5.407439 -5.407439 -5.407439 29.80284 9.236932 27.00601 16.75401 106.9204 27.94554 42.32333 23.33208 23.62085 23.37637 > > > > > > > > > > > > > > > proc.time() user system elapsed 1.53 0.17 1.68