From fef171c8302589f7c824d5b87bc0de981b39a6d9 Mon Sep 17 00:00:00 2001 From: Matthew Wilhelm Date: Mon, 23 Mar 2020 18:10:18 -0400 Subject: [PATCH] Kernel updates and minor updates to syntax --- notebooks/nlpopt_explicit_kinetic.ipynb | 2 +- notebooks/nlpopt_interval_bnb.ipynb | 58 +-- notebooks/sip_explicit_solve.ipynb | 471 +++++++++++++++++++++++- 3 files changed, 501 insertions(+), 30 deletions(-) diff --git a/notebooks/nlpopt_explicit_kinetic.ipynb b/notebooks/nlpopt_explicit_kinetic.ipynb index 48a0215..67d0acc 100644 --- a/notebooks/nlpopt_explicit_kinetic.ipynb +++ b/notebooks/nlpopt_explicit_kinetic.ipynb @@ -166,7 +166,7 @@ " x = explicit_euler_integration(p)\n", " SSE = 0.0\n", " for i=1:200\n", - " SSE += (intensity(x[5i-4],x[5i-3],x[5i-2]) - data[:intensity][i])^2\n", + " SSE += (intensity(x[5i-4],x[5i-3],x[5i-2]) - data[!, :intensity][i])^2\n", " end\n", " return SSE\n", "end" diff --git a/notebooks/nlpopt_interval_bnb.ipynb b/notebooks/nlpopt_interval_bnb.ipynb index c062c70..b6c438c 100644 --- a/notebooks/nlpopt_interval_bnb.ipynb +++ b/notebooks/nlpopt_interval_bnb.ipynb @@ -64,7 +64,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -73,7 +73,7 @@ "lower_problem! (generic function with 3 methods)" ] }, - "execution_count": 7, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -92,7 +92,7 @@ " F = sin(x_value[1])x_value[2]^2-cos(x_value[3])/x_value[4]\n", " \n", " x._lower_objective_value = F.lo\n", - " x._lower_solution = mid.(x_value)\n", + " x._lower_solution = IntervalArithmetic.mid.(x_value)\n", " x._lower_feasibility = true\n", " x._cut_add_flag = false\n", " \n", @@ -112,18 +112,7 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "upper_problem! (generic function with 1 method)" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "import EAGO.upper_problem!\n", "function EAGO.upper_problem!(t::IntervalExt, x::EAGO.Optimizer)\n", @@ -148,7 +137,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Disable unecessary routines.\n", + "### Disable unnecessary routines.\n", "It is entirely possible to disable domain reduction by manipulating keyword arguments supplied to the optimizer. However, for simplicity sake we'll simply overload the default preprocessing and postprocessing methods," ] }, @@ -180,9 +169,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 1107\n", + "UBD = -1.4989611040367379\n", + "Solution is :\n", + " X[1] = -1.56982421875\n", + " X[2] = -0.999755859375\n", + " X[3] = -0.00244140625\n", + " X[4] = 2.002197265625\n" + ] + } + ], "source": [ "# Creates a JuMP model with the the lower_problem, upper_problem, and absolute tolerance set by keyword arguments\n", "m = JuMP.Model(with_optimizer(EAGO.Optimizer, absolute_tolerance = 0.001, obbt_depth = 0, dbbt_depth = 0, cp_depth = 0,\n", @@ -215,10 +221,10 @@ "### Get information from the JuMP Model object\n", "The objective value, solution, termination status, and primal status can then be accessed via the standard JuMP interface." ] - } + }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -226,7 +232,7 @@ "output_type": "stream", "text": [ "EAGO terminated with a status of OPTIMAL and a result code of FEASIBLE_POINT\n", - "The optimal value is: -1.691376119161244, the solution found is [0.3125, 0.03125, 0.3125, 0.5625].\n" + "The optimal value is: -1.4989611040367379, the solution found is [-1.56982421875, -0.999755859375, -0.00244140625, 2.002197265625].\n" ] } ], @@ -256,16 +262,20 @@ } ], "metadata": { + "@webio": { + "lastCommId": null, + "lastKernelId": null + }, "kernelspec": { - "display_name": "Julia 1.1.0", + "display_name": "Julia 1.3.1", "language": "julia", - "name": "julia-1.1" + "name": "julia-1.3" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.1.0" + "version": "1.3.1" } }, "nbformat": 4, diff --git a/notebooks/sip_explicit_solve.ipynb b/notebooks/sip_explicit_solve.ipynb index 7f9649d..38ceb6c 100644 --- a/notebooks/sip_explicit_solve.ipynb +++ b/notebooks/sip_explicit_solve.ipynb @@ -41,9 +41,466 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "******************************************************************************\n", + "This program contains Ipopt, a library for large-scale nonlinear optimization.\n", + " Ipopt is released as open source code under the Eclipse Public License (EPL).\n", + " For more information visit http://projects.coin-or.org/Ipopt\n", + "******************************************************************************\n", + "\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 1\n", + "UBD = -0.18748125\n", + "Solution is :\n", + " X[1] = -0.75\n", + " X[2] = 0.0\n", + "solved LBD: -0.18748125 [-0.75, 0.0] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -0.9998999985121351\n", + "Solution is :\n", + " X[1] = 6.299235128710831e-5\n", + "solved Lower LLP1: 0.9998999985121351 [6.299235128710831e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 1\n", + "UBD = -0.18748125\n", + "Solution is :\n", + " X[1] = -0.75\n", + " X[2] = 0.0\n", + "solved UBD: -0.18748125 [-0.75, 0.0] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -0.9998999985121351\n", + "Solution is :\n", + " X[1] = 6.299235128710831e-5\n", + "solved Upper LLP1: 0.9998999985121351 [6.299235128710831e-5] true\n", + "| Iteration | Lower Bound | Upper Bound | eps | r | Gap | Ratio |\n", + "| 1 | -0.187481 | Inf | 1.0 | 2.0 | Inf | NaN |\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 7\n", + "UBD = 0.19448545151015934\n", + "Solution is :\n", + " X[1] = -0.750000007047045\n", + " X[2] = -0.6180339836203737\n", + "solved LBD: 0.19448545151015934 [-0.750000007047045, -0.6180339836203737] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -9.980946187737595e-9\n", + "Solution is :\n", + " X[1] = 6.299235035046443e-5\n", + "solved Lower LLP1: 9.980946187737595e-9 [6.299235035046443e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 25\n", + "UBD = 0.8125812423505592\n", + "Solution is :\n", + " X[1] = -0.7500000080173618\n", + " X[2] = -0.999999996175662\n", + "solved UBD: 0.8125812423505592 [-0.7500000080173618, -0.999999996175662] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 1.0000999900140013\n", + "Solution is :\n", + " X[1] = 6.29923502214967e-5\n", + "solved Upper LLP1: -1.0000999900140013 [6.29923502214967e-5] true\n", + "| 2 | 0.194485 | 0.812581 | 0.5 | 2.0 | 0.6181 | 0.760657 |\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 1\n", + "UBD = 0.19448545152017943\n", + "Solution is :\n", + " X[1] = -0.7500000073532112\n", + " X[2] = -0.6180339836284793\n", + "solved LBD: 0.19448545152017943 [-0.7500000073532112, -0.6180339836284793] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -9.962823276266075e-9\n", + "Solution is :\n", + " X[1] = 6.299235030977093e-5\n", + "solved Lower LLP1: 9.962823276266075e-9 [6.299235030977093e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.48967329976548546\n", + "Solution is :\n", + " X[1] = -0.75000000756287\n", + " X[2] = -0.8228756511963107\n", + "solved UBD: 0.48967329976548546 [-0.75000000756287, -0.8228756511963107] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.5000499900150783\n", + "Solution is :\n", + " X[1] = 6.299235028190454e-5\n", + "solved Upper LLP1: -0.5000499900150783 [6.299235028190454e-5] true\n", + "| 3 | 0.194485 | 0.489673 | 0.25 | 2.0 | 0.29519 | 0.602826 |\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 1\n", + "UBD = 0.1944854515294996\n", + "Solution is :\n", + " X[1] = -0.7499999997401592\n", + " X[2] = -0.6180339836360187\n", + "solved LBD: 0.1944854515294996 [-0.7499999997401592, -0.6180339836360187] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -9.945966336522005e-9\n", + "Solution is :\n", + " X[1] = 6.299235132164454e-5\n", + "solved Lower LLP1: 9.945966336522005e-9 [6.299235132164454e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 11\n", + "UBD = 0.337788897332541\n", + "Solution is :\n", + " X[1] = -0.7500000071465872\n", + " X[2] = -0.7247448667085259\n", + "solved UBD: 0.337788897332541 [-0.7500000071465872, -0.7247448667085259] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.25002499001590023\n", + "Solution is :\n", + " X[1] = 6.299235033723391e-5\n", + "solved Upper LLP1: -0.25002499001590023 [6.299235033723391e-5] true\n", + "| 4 | 0.194485 | 0.337789 | 0.125 | 2.0 | 0.1433 | 0.42424 |\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.1944854515401812\n", + "Solution is :\n", + " X[1] = -0.7500000065935264\n", + " X[2] = -0.6180339836446596\n", + "solved LBD: 0.1944854515401812 [-0.7500000065935264, -0.6180339836446596] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -9.926646613300783e-9\n", + "Solution is :\n", + " X[1] = 6.29923504107429e-5\n", + "solved Lower LLP1: 9.926646613300783e-9 [6.29923504107429e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 1\n", + "UBD = 0.26492254306998086\n", + "Solution is :\n", + " X[1] = -0.7500000068494623\n", + " X[2] = -0.6726039350647857\n", + "solved UBD: 0.26492254306998086 [-0.7500000068494623, -0.6726039350647857] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.12501249001643552\n", + "Solution is :\n", + " X[1] = 6.299235037672568e-5\n", + "solved Upper LLP1: -0.12501249001643552 [6.299235037672568e-5] true\n", + "| 5 | 0.194485 | 0.264923 | 0.0625 | 2.0 | 0.07044 | 0.265878 |\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.19448545155018226\n", + "Solution is :\n", + " X[1] = -0.750000019519644\n", + " X[2] = -0.6180339836527496\n", + "solved LBD: 0.19448545155018226 [-0.750000019519644, -0.6180339836527496] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -9.908558559346137e-9\n", + "Solution is :\n", + " X[1] = 6.29923486926939e-5\n", + "solved Lower LLP1: 9.908558559346137e-9 [6.29923486926939e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 7\n", + "UBD = 0.22937900540378942\n", + "Solution is :\n", + " X[1] = -0.7500000067163387\n", + " X[2] = -0.6456439187329265\n", + "solved UBD: 0.22937900540378942 [-0.7500000067163387, -0.6456439187329265] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.06250624001675174\n", + "Solution is :\n", + " X[1] = 6.299235039441954e-5\n", + "solved Upper LLP1: -0.06250624001675174 [6.299235039441954e-5] true\n", + "| 6 | 0.194485 | 0.229379 | 0.03125 | 2.0 | 0.03489 | 0.152122 |\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.19448545156018326\n", + "Solution is :\n", + " X[1] = -0.750000007618323\n", + " X[2] = -0.61803398366084\n", + "solved LBD: 0.19448545156018326 [-0.750000007618323, -0.61803398366084] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -9.890469839324289e-9\n", + "Solution is :\n", + " X[1] = 6.29923502745341e-5\n", + "solved Lower LLP1: 9.890469839324289e-9 [6.29923502745341e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 1\n", + "UBD = 0.21184803401449762\n", + "Solution is :\n", + " X[1] = -0.7500000066457607\n", + " X[2] = -0.6319231372005338\n", + "solved UBD: 0.21184803401449762 [-0.7500000066457607, -0.6319231372005338] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.03125311501691397\n", + "Solution is :\n", + " X[1] = 6.299235040380028e-5\n", + "solved Upper LLP1: -0.03125311501691397 [6.299235040380028e-5] true\n", + "| 7 | 0.194485 | 0.211848 | 0.015625 | 2.0 | 0.01736 | 0.081958 |\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.19448545157018432\n", + "Solution is :\n", + " X[1] = -0.7500000065935266\n", + " X[2] = -0.6180339836689301\n", + "solved LBD: 0.19448545157018432 [-0.7500000065935266, -0.6180339836689301] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -9.872381452336043e-9\n", + "Solution is :\n", + " X[1] = 6.299235041074287e-5\n", + "solved Lower LLP1: 9.872381452336043e-9 [6.299235041074287e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 7\n", + "UBD = 0.20314530612501702\n", + "Solution is :\n", + " X[1] = -0.7500000074584362\n", + " X[2] = -0.6249999949005235\n", + "solved UBD: 0.20314530612501702 [-0.7500000074584362, -0.6249999949005235] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.015626552513193018\n", + "Solution is :\n", + " X[1] = 6.299235029578519e-5\n", + "solved Upper LLP1: -0.015626552513193018 [6.299235029578519e-5] true\n", + "| 8 | 0.194485 | 0.203145 | 0.007812 | 2.0 | 0.00866 | 0.042629 |\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "First Solution Found at Node 3\n", + "UBD = 0.19448545158018532\n", + "Solution is :\n", + " X[1] = -0.7500000154093258\n", + " X[2] = -0.6180339836770202\n", + "solved LBD: 0.19448545158018532 [-0.7500000154093258, -0.6180339836770202] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -9.854293398381397e-9\n", + "Solution is :\n", + " X[1] = 6.299234923900856e-5\n", + "solved Lower LLP1: 9.854293398381397e-9 [6.299234923900856e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 1\n", + "UBD = 0.1988099698447881\n", + "Solution is :\n", + " X[1] = -0.7500000069823576\n", + " X[2] = -0.6215223976943265\n", + "solved UBD: 0.1988099698447881 [-0.7500000069823576, -0.6215223976943265] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.007813271267046541\n", + "Solution is :\n", + " X[1] = 6.299235035906223e-5\n", + "solved Upper LLP1: -0.007813271267046541 [6.299235035906223e-5] true\n", + "| 9 | 0.194485 | 0.19881 | 0.003906 | 2.0 | 0.00432 | 0.021752 |\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.19448545159018643\n", + "Solution is :\n", + " X[1] = -0.7499999997320652\n", + " X[2] = -0.6180339836851105\n", + "solved LBD: 0.19448545159018643 [-0.7499999997320652, -0.6180339836851105] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -9.836204567348351e-9\n", + "Solution is :\n", + " X[1] = 6.29923513227203e-5\n", + "solved Lower LLP1: 9.836204567348351e-9 [6.29923513227203e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 1\n", + "UBD = 0.1966463521224616\n", + "Solution is :\n", + " X[1] = -0.7500000066281012\n", + " X[2] = -0.6197795490765375\n", + "solved UBD: 0.1966463521224616 [-0.7500000066281012, -0.6197795490765375] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.003906630642069304\n", + "Solution is :\n", + " X[1] = 6.299235040614748e-5\n", + "solved Upper LLP1: -0.003906630642069304 [6.299235040614748e-5] true\n", + "| 10 | 0.194485 | 0.196646 | 0.001953 | 2.0 | 0.00216 | 0.010989 |\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 5\n", + "UBD = 0.19448545160018738\n", + "Solution is :\n", + " X[1] = -0.7500000065850972\n", + " X[2] = -0.6180339836932006\n", + "solved LBD: 0.19448545160018738 [-0.7500000065850972, -0.6180339836932006] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -9.818116402382505e-9\n", + "Solution is :\n", + " X[1] = 6.299235041186323e-5\n", + "solved Lower LLP1: 9.818116402382505e-9 [6.299235041186323e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 1\n", + "UBD = 0.19556556138324177\n", + "Solution is :\n", + " X[1] = -0.7500000065976702\n", + " X[2] = -0.6189071067475017\n", + "solved UBD: 0.19556556138324177 [-0.7500000065976702, -0.6189071067475017] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.0019533103295806295\n", + "Solution is :\n", + " X[1] = 6.299235041019214e-5\n", + "solved Upper LLP1: -0.0019533103295806295 [6.299235041019214e-5] true\n", + "| 11 | 0.194485 | 0.195566 | 0.000977 | 2.0 | 0.00108 | 0.005523 |\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.19448545161018832\n", + "Solution is :\n", + " X[1] = -0.7500000065935262\n", + " X[2] = -0.6180339837012908\n", + "solved LBD: 0.19448545161018832 [-0.7500000065935262, -0.6180339837012908] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = -9.800028015394257e-9\n", + "Solution is :\n", + " X[1] = 6.299235041074295e-5\n", + "solved Lower LLP1: 9.800028015394257e-9 [6.299235041074295e-5] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 7\n", + "UBD = 0.1950254212387939\n", + "Solution is :\n", + " X[1] = -0.7500000070794176\n", + " X[2] = -0.6184706303833103\n", + "solved UBD: 0.1950254212387939 [-0.7500000070794176, -0.6184706303833103] true\n", + "-------------------------------------------------------------------------------------------------------\n", + "| Iteration # | Nodes | Lower Bound | Upper Bound | Gap | Ratio | Time | Time Left |\n", + "-------------------------------------------------------------------------------------------------------\n", + "First Solution Found at Node 3\n", + "UBD = 0.0009766501733049807\n", + "Solution is :\n", + " X[1] = 6.299235034616166e-5\n", + "solved Upper LLP1: -0.0009766501733049807 [6.299235034616166e-5] true\n", + "| 12 | 0.194485 | 0.195025 | 0.000488 | 2.0 | 0.00054 | 0.002769 |\n", + "Algorithm Converged\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The global minimum of the semi-infinite program is between: 0.19448545161018832 and 0.1950254212387939.\n", + "The global minimum is attained at: x = [-0.7500000070794176, -0.6184706303833103].\n", + "Is the problem feasible? true.\n" + ] + } + ], "source": [ "using EAGO, JuMP\n", "\n", @@ -87,16 +544,20 @@ } ], "metadata": { + "@webio": { + "lastCommId": null, + "lastKernelId": null + }, "kernelspec": { - "display_name": "Julia 1.1.0", + "display_name": "Julia 1.3.1", "language": "julia", - "name": "julia-1.1" + "name": "julia-1.3" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", - "version": "1.1.0" + "version": "1.3.1" } }, "nbformat": 4,