Created
March 31, 2018 14:09
-
-
Save antonior92/a3cdb70dce21e10fc3874042bf0d2271 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"ExecuteTime": { | |
"end_time": "2018-03-31T13:59:17.412191Z", | |
"start_time": "2018-03-31T13:59:17.278382Z" | |
}, | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"from scipy.optimize import (minimize, NonlinearConstraint, \n", | |
" LinearConstraint, Bounds)\n", | |
"import pycutestmgr as cute\n", | |
"import time\n", | |
"import numpy as np\n", | |
"from numpy.linalg import norm\n", | |
"import scipy.sparse as spc\n", | |
"import warnings\n", | |
"cute.clearCache('HS71')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"ExecuteTime": { | |
"end_time": "2018-03-31T13:59:17.428574Z", | |
"start_time": "2018-03-31T13:59:17.418063Z" | |
}, | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def print_header():\n", | |
" print(\"|{0:^10}|{1:^5}|{2:^5}|{3:^6}|{4:^10}|{5:^10}|{6:^10}|{7:^10}|{8:^10}|{9:^10}|\"\n", | |
" .format(\"name\", \"n\", \"m\", \"nnz\", \"niters\", \"f evals\", \"CG iters\", \"time\", \"opt\", \"c viol\"))\n", | |
" s = \"-\"*9 + \":\"\n", | |
" s1 = \"-\"*4 + \":\"\n", | |
" s2 = \":\" + \"-\"*23 + \":\"\n", | |
" s3 = \"-\"*5 + \":\"\n", | |
" print(\"|{0:^10}|{1:^5}|{2:^5}|{3:^6}|{4:^10}|{5:^10}|{6:^10}|{7:^10}|{8:^10}|{9:^10}|\"\n", | |
" .format(s, s1, s1, s3, s, s, s, s, s, s, s2, s))\n", | |
"\n", | |
"def print_problem_sol(name, n, m, nnz, niters, nfev, cg_niters, time, opt, c_viol, method):\n", | |
" print(\"|{0:^10}|{1:^5}|{2:^5}|{3:^6}|{4:^10}|{5:^10}|{6:^10}|{7:^10}|{8:^1.4e}|{9:^1.4e}|\"\n", | |
" .format(name, n, m, nnz, niters, nfev, cg_niters, round(time, 2), opt, c_viol))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"ExecuteTime": { | |
"end_time": "2018-03-31T13:59:17.548982Z", | |
"start_time": "2018-03-31T13:59:17.433358Z" | |
}, | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"default_options = {'sparse_jacobian':True, 'maxiter':1000, 'xtol':1e-7, 'gtol':1e-7}\n", | |
"list_feasible_box_constr = [\"HS13\", \"HS105\", \"BROYDNBD\"]\n", | |
"\n", | |
"def solve_problem(prob):\n", | |
" name = prob[0]\n", | |
" sifParams = prob[1]\n", | |
" options = prob[2] \n", | |
" options = prob[2].copy()\n", | |
" options.update(default_options)\n", | |
" cute.clearCache(name)\n", | |
" cute.prepareProblem(name, sifParams=sifParams)\n", | |
" problem = cute.importProblem(name)\n", | |
" info = problem.getinfo()\n", | |
" x0 = info[\"x\"]\n", | |
" n = info[\"n\"]\n", | |
" m = info[\"m\"]\n", | |
" nnz = info[\"nnzj\"]\n", | |
" v0 = info[\"v\"]\n", | |
" eq_list = info[\"equatn\"]\n", | |
"\n", | |
" def convert_to_inf(bounds):\n", | |
" new_bounds = np.zeros_like(bounds)\n", | |
" i = 0\n", | |
" for b in bounds:\n", | |
" if b >= 1e20:\n", | |
" new_bounds[i] = np.inf\n", | |
" elif b <= -1e20:\n", | |
" new_bounds[i] = -np.inf\n", | |
" else:\n", | |
" new_bounds[i] = b\n", | |
" i += 1\n", | |
" return new_bounds\n", | |
"\n", | |
" # Define upper and lower bound\n", | |
" c_lb = convert_to_inf(info[\"cl\"])\n", | |
" c_ub = convert_to_inf(info[\"cu\"])\n", | |
" lb = convert_to_inf(info[\"bl\"])\n", | |
" ub = convert_to_inf(info[\"bu\"])\n", | |
" if name in list_feasible_box_constr:\n", | |
" x0 = np.maximum(lb+1e-10, np.minimum(ub-1e-10, x0))\n", | |
"\n", | |
" # Define function and constraints\n", | |
" def fun(x):\n", | |
" return problem.obj(x)[0]\n", | |
"\n", | |
" def grad(x):\n", | |
" _, g1 = problem.obj(x, True)\n", | |
" return g1\n", | |
"\n", | |
" def lagr_hess(x, v):\n", | |
" def matvec(p):\n", | |
" return problem.hprod(p, x, v)\n", | |
" return spc.linalg.LinearOperator((n, n), matvec=matvec)\n", | |
"\n", | |
"\n", | |
" def constr(x):\n", | |
" return problem.cons(x)\n", | |
"\n", | |
" def jac(x):\n", | |
" _, A1 = problem.cons(x, True)\n", | |
" return spc.csc_matrix(A1)\n", | |
" \n", | |
" def hess(x):\n", | |
" return spc.csc_matrix((n, n))\n", | |
"\n", | |
"\n", | |
" # Constraints\n", | |
" constr = NonlinearConstraint(constr, c_lb, c_ub, jac, lagr_hess)\n", | |
" box = Bounds(lb, ub, name in list_feasible_box_constr)\n", | |
"\n", | |
" start_time = time.time()\n", | |
" with warnings.catch_warnings():\n", | |
" warnings.simplefilter(\"ignore\")\n", | |
" result = minimize(fun, x0, method='trust-constr', jac=grad, hess=hess, constraints=constr, \n", | |
" bounds=box, options=options)\n", | |
" total_time = time.time() - start_time\n", | |
" # Print Results\n", | |
" print_problem_sol(name, n, m, nnz, result.niter, result.nfev,\n", | |
" result.cg_niter, total_time, result.optimality, \n", | |
" result.constr_violation, result.method)\n", | |
" return result" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"ExecuteTime": { | |
"end_time": "2018-03-31T13:59:17.681248Z", | |
"start_time": "2018-03-31T13:59:17.550107Z" | |
}, | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"ip_problems = [(\"CORKSCRW\", {\"T\": 50}, {}), \n", | |
" (\"COSHFUN\", {\"M\": 20}, {\"initial_barrier_parameter\": 0.1, \"initial_tr_radius\": 5,\"initial_barrier_tolerance\":1, \"initial_constr_penalty\":0.01}),\n", | |
" (\"DIXCHLNV\", {\"N\":100}, {}),\n", | |
" (\"HAGER4\", {\"N\": 1000}, {}),\n", | |
" (\"HIMMELBK\", {}, {}),\n", | |
" (\"NGONE\", {\"HNS\": 49}, {\"initial_tr_radius\": 100}), # many iteractions\n", | |
" (\"OPTCNTRL\", {}, {}), \n", | |
" (\"OPTMASS\", {\"N\": 200}, {}),\n", | |
" (\"ORTHREGF\", {\"NPTS\": 20}, {}),\n", | |
" (\"SVANBERG\", {\"N\": 500}, {}), \n", | |
" (\"READING1\", {\"N\": 100}, {})]\n", | |
"\n", | |
"problems_si = [(\"HS7\", {}, {}),\n", | |
" (\"HS10\", {}, {}),\n", | |
" (\"HS11\", {}, {}),\n", | |
" (\"HS13\", {}, {}),\n", | |
" (\"HS14\", {}, {}),\n", | |
" (\"HS16\", {}, {}),\n", | |
" (\"HS17\", {}, {}),\n", | |
" (\"HS19\", {}, {}),\n", | |
" (\"HS20\", {}, {}),\n", | |
" (\"HS22\", {}, {}),\n", | |
" (\"HS24\", {}, {}),\n", | |
" (\"HS26\", {}, {}),\n", | |
" (\"HS28\", {}, {}),\n", | |
" (\"HS31\", {}, {}),\n", | |
" (\"HS32\", {}, {}),\n", | |
" (\"HS33\", {}, {}),\n", | |
" (\"HS39\", {}, {}),\n", | |
" (\"HS46\", {}, {}),\n", | |
" (\"HS51\", {}, {\"initial_barrier_parameter\": 0.1, \"initial_tr_radius\": 1,\"initial_barrier_tolerance\":0.1, \"initial_constr_penalty\":1}),\n", | |
" (\"HS52\", {}, {}),\n", | |
" (\"HS53\", {}, {}),\n", | |
" (\"HS63\", {}, {}),\n", | |
" (\"HS64\", {}, {}),\n", | |
" (\"HS65\", {}, {}),\n", | |
" (\"HS70\", {}, {}),\n", | |
" (\"HS71\", {}, {}),\n", | |
" (\"HS72\", {}, {}),\n", | |
" (\"HS73\", {}, {}),\n", | |
" (\"HS74\", {}, {}),\n", | |
" (\"HS75\", {}, {}),\n", | |
" (\"HS77\", {}, {}),\n", | |
" (\"HS78\", {}, {}),\n", | |
" (\"HS79\", {}, {}),\n", | |
" (\"HS80\", {}, {}),\n", | |
" (\"HS81\", {}, {}),\n", | |
" (\"HS83\", {}, {}),\n", | |
" (\"HS84\", {}, {}),\n", | |
" (\"HS85\", {}, {\"initial_barrier_parameter\": 0.001}),\n", | |
" (\"HS86\", {}, {}),\n", | |
" (\"HS93\", {}, {}),\n", | |
" (\"HS95\", {}, {}),\n", | |
" (\"HS96\", {}, {}),\n", | |
" (\"HS97\", {}, {\"initial_barrier_parameter\": 100}),\n", | |
" (\"HS98\", {}, {\"initial_barrier_parameter\": 100}),\n", | |
" (\"HS99\", {}, {}), # Fails (As in the original paper)\n", | |
" (\"HS100\", {}, {}),\n", | |
" (\"HS104\", {}, {\"initial_barrier_parameter\": 100}),\n", | |
" (\"HS105\", {}, {}),\n", | |
" (\"HS106\", {}, {}),\n", | |
" (\"HS107\", {}, {}),\n", | |
" (\"HS108\", {}, {}),\n", | |
" (\"HS109\", {}, {}),\n", | |
" (\"HS111\", {}, {}),\n", | |
" (\"HS112\", {}, {\"initial_barrier_parameter\": 10}),\n", | |
" (\"HS113\", {}, {}),\n", | |
" (\"HS114\", {}, {\"initial_barrier_parameter\": 10}),\n", | |
" (\"HS116\", {}, {}),\n", | |
" (\"HS117\", {}, {}),\n", | |
" (\"HS118\", {}, {}),\n", | |
" (\"HS119\", {}, {})]\n", | |
"sqp_problems = [(\"HAGER2\", {\"N\": 5000}, {}),\n", | |
" (\"HAGER3\", {\"N\": 5000}, {}),\n", | |
" (\"ORTHREGA\", {'LEVELS': 5}, {}),\n", | |
" (\"ORTHREGC\", {'NPTS': 500}, {}),\n", | |
" (\"ORTHREGD\", {'NPTS': 5000}, {\"initial_tr_radius\": 100,\"initial_constr_penalty\":1}),\n", | |
" (\"DTOC1ND\", {'N': 500, 'NX':2, 'NY':4}, {\"initial_tr_radius\": 1000, \"initial_constr_penalty\":1}),\n", | |
" (\"DTOC2\", {'N': 500, 'NX':2, 'NY':4}, {}),\n", | |
" (\"DTOC3\", {}, {}),\n", | |
" (\"DTOC4\", {'N': 5000}, {}),\n", | |
" (\"DTOC5\", {'N': 5000}, {}),\n", | |
" (\"DTOC6\", {'N': 1001}, {}),\n", | |
" (\"EIGENA2\", {'N': 50}, {}),\n", | |
" (\"EIGENC2\", {'M': 10}, {}),\n", | |
" (\"ARTIF\", {'N': 1000}, {}),\n", | |
" (\"BRATU3D\", {'P':17}, {}),\n", | |
" ]\n", | |
"\n", | |
"other = [(\"HS109\", {}, {}),]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"ExecuteTime": { | |
"end_time": "2018-03-31T14:00:11.698792Z", | |
"start_time": "2018-03-31T13:59:17.683144Z" | |
} | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"| name | n | m | nnz | niters | f evals | CG iters | time | opt | c viol |\n", | |
"|---------:|----:|----:|-----:|---------:|---------:|---------:|---------:|---------:|---------:|\n", | |
"| HS7 | 2 | 1 | 2 | 9 | 9 | 8 | 0.02 |1.7663e-15|2.6645e-14|\n", | |
"| HS10 | 2 | 1 | 2 | 15 | 12 | 16 | 0.05 |1.2104e-08|0.0000e+00|\n", | |
"| HS11 | 2 | 1 | 2 | 12 | 8 | 11 | 0.04 |5.9848e-09|0.0000e+00|\n", | |
"| HS13 | 2 | 1 | 2 | 1 | 1 | 0 | 0.01 |1.0000e-11|0.0000e+00|\n", | |
"| HS14 | 2 | 2 | 4 | 10 | 7 | 6 | 0.04 |2.5894e-09|2.2204e-16|\n", | |
"| HS16 | 2 | 2 | 4 | 13 | 10 | 13 | 0.05 |1.6644e-08|0.0000e+00|\n", | |
"| HS17 | 2 | 2 | 4 | 25 | 21 | 31 | 0.12 |2.5942e-08|0.0000e+00|\n", | |
"| HS19 | 2 | 2 | 4 | 36 | 34 | 36 | 0.14 |1.1693e-09|0.0000e+00|\n", | |
"| HS20 | 2 | 3 | 6 | 10 | 8 | 9 | 0.04 |1.7323e-08|0.0000e+00|\n", | |
"| HS22 | 2 | 2 | 4 | 14 | 10 | 10 | 0.04 |3.6337e-08|0.0000e+00|\n", | |
"| HS24 | 2 | 3 | 6 | 11 | 7 | 6 | 0.03 |4.2946e-08|0.0000e+00|\n", | |
"| HS26 | 3 | 1 | 3 | 22 | 22 | 41 | 0.07 |1.2174e-10|4.9481e-08|\n", | |
"| HS28 | 3 | 1 | 3 | 3 | 3 | 3 | 0.01 |9.8334e-16|4.4409e-16|\n", | |
"| HS31 | 3 | 1 | 2 | 12 | 8 | 18 | 0.05 |2.9458e-08|0.0000e+00|\n", | |
"| HS32 | 3 | 2 | 6 | 15 | 10 | 12 | 0.06 |8.7322e-08|0.0000e+00|\n", | |
"| HS33 | 3 | 2 | 6 | 17 | 16 | 17 | 0.06 |1.8812e-08|0.0000e+00|\n", | |
"| HS39 | 4 | 2 | 6 | 16 | 16 | 18 | 0.04 |1.3941e-11|3.9848e-12|\n", | |
"| HS46 | 5 | 2 | 6 | 29 | 49 | 70 | 0.08 |9.4806e-08|3.3307e-16|\n", | |
"| HS51 | 5 | 3 | 7 | 3 | 3 | 3 | 0.01 |4.0993e-16|0.0000e+00|\n", | |
"| HS52 | 5 | 3 | 7 | 3 | 3 | 3 | 0.01 |1.3767e-14|4.4409e-16|\n", | |
"| HS53 | 5 | 3 | 7 | 17 | 9 | 9 | 0.06 |8.8678e-08|0.0000e+00|\n", | |
"| HS63 | 3 | 2 | 6 | 13 | 8 | 7 | 0.04 |1.2935e-09|1.6548e-08|\n", | |
"| HS64 | 3 | 1 | 3 | 34 | 30 | 53 | 0.11 |2.2107e-09|0.0000e+00|\n", | |
"| HS65 | 3 | 1 | 3 | 22 | 17 | 32 | 0.08 |2.7051e-09|0.0000e+00|\n", | |
"| HS70 | 4 | 1 | 2 | 46 | 48 | 87 | 0.19 |3.6633e-08|0.0000e+00|\n", | |
"| HS71 | 4 | 2 | 8 | 17 | 13 | 21 | 0.08 |6.1559e-09|6.0423e-08|\n", | |
"| HS72 | 4 | 2 | 8 | 26 | 21 | 41 | 0.11 |6.8264e-12|0.0000e+00|\n", | |
"| HS73 | 4 | 3 | 12 | 18 | 14 | 23 | 0.07 |4.3877e-11|9.0206e-17|\n", | |
"| HS74 | 4 | 5 | 12 | 18 | 12 | 11 | 0.08 |5.9282e-12|2.2775e-09|\n", | |
"| HS75 | 4 | 5 | 12 | 102 | 100 | 99 | 0.56 |2.5834e-08|1.7468e-08|\n", | |
"| HS77 | 5 | 2 | 6 | 18 | 20 | 34 | 0.05 |6.3707e-08|3.7303e-14|\n", | |
"| HS78 | 5 | 3 | 11 | 5 | 5 | 4 | 0.01 |7.5462e-11|6.1410e-11|\n", | |
"| HS79 | 5 | 3 | 8 | 7 | 7 | 12 | 0.02 |1.7792e-11|1.2566e-11|\n", | |
"| HS80 | 5 | 3 | 11 | 17 | 10 | 8 | 0.06 |5.5397e-12|7.7953e-10|\n", | |
"| HS81 | 5 | 3 | 11 | 17 | 10 | 8 | 0.06 |5.5391e-12|7.7954e-10|\n", | |
"| HS83 | 5 | 3 | 13 | 42 | 39 | 73 | 0.21 |3.6121e-08|0.0000e+00|\n", | |
"| HS84 | 5 | 3 | 15 | 12 | 11 | 24 | 0.06 |4.2925e-08|0.0000e+00|\n", | |
"| HS85 | 5 | 21 | 102 | 133 | 237 | 136 | 0.71 |8.5643e-08|0.0000e+00|\n", | |
"| HS86 | 5 | 10 | 37 | 16 | 12 | 29 | 0.05 |3.3449e-08|0.0000e+00|\n", | |
"| HS93 | 6 | 2 | 12 | 22 | 16 | 55 | 0.09 |4.7860e-09|0.0000e+00|\n", | |
"| HS95 | 6 | 4 | 20 | 167 | 165 | 168 | 0.5 |2.0541e-08|0.0000e+00|\n", | |
"| HS96 | 6 | 4 | 20 | 213 | 219 | 219 | 0.61 |3.6676e-08|0.0000e+00|\n", | |
"| HS97 | 6 | 4 | 20 | 539 | 537 | 582 | 1.61 |2.1298e-08|0.0000e+00|\n", | |
"| HS98 | 6 | 4 | 20 | 385 | 393 | 563 | 1.18 |2.2296e-08|0.0000e+00|\n", | |
"| HS99 | 7 | 2 | 14 | 86 | 149 | 158 | 0.18 |1.4264e-04|2.9104e-11|\n", | |
"| HS100 | 7 | 4 | 19 | 20 | 16 | 62 | 0.07 |4.1090e-08|0.0000e+00|\n", | |
"| HS104 | 8 | 5 | 17 | 43 | 36 | 138 | 0.22 |3.9791e-08|0.0000e+00|\n", | |
"| HS105 | 8 | 1 | 2 | 56 | 51 | 137 | 0.32 |3.4738e-08|0.0000e+00|\n", | |
"| HS106 | 8 | 6 | 17 | 261 | 288 | 319 | 0.91 |2.5370e-08|0.0000e+00|\n", | |
"| HS107 | 9 | 6 | 34 | 12 | 10 | 19 | 0.05 |3.9453e-08|1.4591e-10|\n", | |
"| HS108 | 9 | 13 | 39 | 57 | 64 | 91 | 0.19 |5.3699e-08|0.0000e+00|\n", | |
"| HS109 | 9 | 10 | 42 | 1001 | 1000 | 1397 | 5.18 |2.5217e-05|4.4237e+04|\n", | |
"| HS111 | 10 | 3 | 14 | 27 | 20 | 47 | 0.1 |3.4073e-08|8.4907e-12|\n", | |
"| HS112 | 10 | 3 | 14 | 37 | 30 | 67 | 0.12 |1.2737e-08|5.5511e-17|\n", | |
"| HS113 | 10 | 8 | 32 | 33 | 26 | 98 | 0.13 |7.7740e-12|0.0000e+00|\n", | |
"| HS114 | 10 | 11 | 31 | 86 | 80 | 271 | 0.45 |5.3934e-08|4.5475e-13|\n", | |
"| HS116 | 13 | 14 | 43 | 131 | 152 | 398 | 0.59 |4.5874e-08|0.0000e+00|\n", | |
"| HS117 | 15 | 5 | 62 | 28 | 23 | 84 | 0.11 |1.8678e-08|0.0000e+00|\n", | |
"| HS118 | 15 | 17 | 39 | 55 | 51 | 144 | 0.29 |5.3903e-08|0.0000e+00|\n", | |
"| HS119 | 16 | 8 | 53 | 24 | 20 | 78 | 0.12 |1.7284e-08|5.5511e-16|\n" | |
] | |
} | |
], | |
"source": [ | |
"# Print Header\n", | |
"print_header()\n", | |
"# Print Table\n", | |
"for prob in problems_si:\n", | |
" solve_problem(prob)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"ExecuteTime": { | |
"end_time": "2018-03-31T14:00:55.084212Z", | |
"start_time": "2018-03-31T14:00:11.699911Z" | |
} | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"| name | n | m | nnz | niters | f evals | CG iters | time | opt | c viol |\n", | |
"|---------:|----:|----:|-----:|---------:|---------:|---------:|---------:|---------:|---------:|\n", | |
"| CORKSCRW | 456 | 350 | 1050 | 54 | 48 | 157 | 0.47 |9.1948e-09|5.2552e-13|\n", | |
"| COSHFUN | 61 | 20 | 118 | 33 | 31 | 242 | 0.16 |7.8148e-08|0.0000e+00|\n", | |
"| DIXCHLNV | 100 | 50 | 2550 | 34 | 25 | 249 | 0.28 |2.2829e-08|5.5511e-16|\n", | |
"| HAGER4 |2001 |1000 | 3000 | 40 | 31 | 194 | 1.17 |6.7160e-08|1.9438e-12|\n", | |
"| HIMMELBK | 24 | 14 | 336 | 89 | 96 | 90 | 0.24 |3.1748e-09|6.5024e-09|\n", | |
"| NGONE | 100 |1273 | 4996 | 291 | 519 | 773 | 29.01 |9.5064e-08|3.6803e-21|\n", | |
"| OPTCNTRL | 32 | 20 | 70 | 64 | 55 | 71 | 0.28 |1.4211e-14|7.8486e-08|\n", | |
"| OPTMASS |1210 |1005 | 3216 | 148 | 260 | 139 | 2.25 |2.5807e-08|1.4572e-16|\n", | |
"| ORTHREGF |1205 | 400 | 3200 | 37 | 30 | 45 | 1.07 |3.0486e-08|5.7454e-14|\n", | |
"| SVANBERG | 500 | 500 | 4500 | 34 | 27 | 1293 | 1.37 |2.3870e-08|0.0000e+00|\n", | |
"| READING1 | 202 | 100 | 400 | 37 | 52 | 30 | 0.2 |3.1349e-09|8.3219e-08|\n" | |
] | |
} | |
], | |
"source": [ | |
"# Print Header\n", | |
"print_header()\n", | |
"# Print Table\n", | |
"for prob in ip_problems:\n", | |
" solve_problem(prob)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"ExecuteTime": { | |
"end_time": "2018-03-31T14:03:01.254627Z", | |
"start_time": "2018-03-31T14:00:55.085296Z" | |
} | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"| name | n | m | nnz | niters | f evals | CG iters | time | opt | c viol |\n", | |
"|---------:|----:|----:|-----:|---------:|---------:|---------:|---------:|---------:|---------:|\n", | |
"| HAGER2 |10001|5000 |15000 | 7 | 7 | 6 | 5.19 |1.6947e-08|1.8914e-12|\n", | |
"| HAGER3 |10001|5000 |15000 | 7 | 7 | 6 | 5.18 |6.2766e-08|1.8369e-12|\n", | |
"| ORTHREGA |2053 |1024 | 7168 | 73 | 113 | 178 | 10.32 |1.5134e-08|2.0262e-15|\n", | |
"| ORTHREGC |1005 | 500 | 3500 | 42 | 66 | 81 | 0.78 |8.8626e-08|8.1001e-16|\n", | |
"| ORTHREGD |10003|5000 |25000 | 16 | 16 | 16 | 52.55 |6.5561e-08|7.1054e-13|\n", | |
"| DTOC1ND |2998 |1996 |13972 | 17 | 15 | 28 | 1.24 |7.4098e-08|2.2138e-13|\n", | |
"| DTOC2 |2998 |1996 | 7984 | 12 | 12 | 221 | 1.27 |3.8127e-08|6.5081e-12|\n", | |
"| DTOC3 |4499 |2998 |10493 | 10 | 10 | 9 | 2.2 |1.1603e-08|1.7461e-15|\n", | |
"| DTOC4 |14999|9998 |34993 | 7 | 7 | 6 | 18.29 |2.8176e-08|6.5436e-12|\n", | |
"| DTOC5 |9999 |4999 |14997 | 9 | 9 | 8 | 8.07 |2.9281e-08|2.0709e-12|\n", | |
"| DTOC6 |2001 |1000 | 3000 | 19 | 19 | 38 | 0.52 |2.8538e-08|8.0491e-16|\n", | |
"| EIGENA2 |2550 |1275 |125000| 5 | 5 | 4 | 0.38 |2.8422e-14|0.0000e+00|\n", | |
"| EIGENC2 | 462 | 231 | 9261 | 29 | 36 | 295 | 0.44 |7.0736e-08|4.4869e-16|\n", | |
"| ARTIF |1002 |1000 | 3000 | 11 | 11 | 0 | 0.16 |0.0000e+00|4.9495e-10|\n", | |
"| BRATU3D |4913 |3375 |23625 | 6 | 6 | 0 | 6.15 |0.0000e+00|1.7761e-10|\n" | |
] | |
} | |
], | |
"source": [ | |
"# Print Header\n", | |
"print_header()\n", | |
"# Print Table\n", | |
"for prob in sqp_problems:\n", | |
" solve_problem(prob)" | |
] | |
} | |
], | |
"metadata": { | |
"hide_input": false, | |
"kernelspec": { | |
"display_name": "scipy-devel", | |
"language": "python", | |
"name": "scipy-devel" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.13" | |
}, | |
"latex_envs": { | |
"bibliofile": "biblio.bib", | |
"cite_by": "apalike", | |
"current_citInitial": 1, | |
"eqLabelWithNumbers": true, | |
"eqNumInitial": 0 | |
}, | |
"toc": { | |
"colors": { | |
"hover_highlight": "#DAA520", | |
"navigate_num": "#000000", | |
"navigate_text": "#333333", | |
"running_highlight": "#FF0000", | |
"selected_highlight": "#FFD700", | |
"sidebar_border": "#EEEEEE", | |
"wrapper_background": "#FFFFFF" | |
}, | |
"moveMenuLeft": true, | |
"nav_menu": { | |
"height": "12px", | |
"width": "252px" | |
}, | |
"navigate_menu": true, | |
"number_sections": true, | |
"sideBar": true, | |
"threshold": 4, | |
"toc_cell": false, | |
"toc_section_display": "block", | |
"toc_window_display": true, | |
"widenNotebook": false | |
}, | |
"varInspector": { | |
"cols": { | |
"lenName": 16, | |
"lenType": 16, | |
"lenVar": 40 | |
}, | |
"kernels_config": { | |
"python": { | |
"delete_cmd_postfix": "", | |
"delete_cmd_prefix": "del ", | |
"library": "var_list.py", | |
"varRefreshCmd": "print(var_dic_list())" | |
}, | |
"r": { | |
"delete_cmd_postfix": ") ", | |
"delete_cmd_prefix": "rm(", | |
"library": "var_list.r", | |
"varRefreshCmd": "cat(var_dic_list()) " | |
} | |
}, | |
"types_to_exclude": [ | |
"module", | |
"function", | |
"builtin_function_or_method", | |
"instance", | |
"_Feature" | |
], | |
"window_display": false | |
}, | |
"widgets": { | |
"state": {}, | |
"version": "1.1.2" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 1 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment