diff --git a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/design_ultra_supercritical_power_plant.ipynb b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/design_ultra_supercritical_power_plant.ipynb new file mode 100644 index 000000000..71f8b97dc --- /dev/null +++ b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/design_ultra_supercritical_power_plant.ipynb @@ -0,0 +1,2286 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "b7804f39", + "metadata": {}, + "source": [ + "# Conceptual Design of Ultra-Supercritical Power Plant Integrated with Thermal Energy Storage System" + ] + }, + { + "cell_type": "markdown", + "id": "123618bc", + "metadata": {}, + "source": [ + "Author: Edna Soraya Rawlings, esrawli@sandia.gov" + ] + }, + { + "cell_type": "markdown", + "id": "14fa133f", + "metadata": {}, + "source": [ + "This notebook describes the design of an ultra-supercritical thermal power plant integrated with a thermal energy storage (TES) system during charge and discharge cycles. In this tutorial, we describe two superstructure models to determine the conceptual design of the TES using a Generalized Disjunctive Programming (GDP) formulation. Both models consider two types of design variables: discrete, included to identify the optimal integration points of the charge and discharge heat exchangers in the power plant, and continuous, included to determine the area and operating conditions of the storage system. The discrete design variables are included in the model as logical constraints using disjunctions. " + ] + }, + { + "cell_type": "markdown", + "id": "78dd0988", + "metadata": {}, + "source": [ + "To design the storage system to integrate to the power plant, two superstructures are built: one to charge and one to discharge the TES. For the construction of the two GDP model superstructures, the model of the ultra-supercritical power plant described in the documentation `Ultra-Supercritical Power Plant`, is used as the base model and it is available in the DISPATCHES repository as `ultra_supercritical_powerplant.py`. We start by describing the construction and solution of the GDP charge superstructure, followed by the solution of the GDP discharge superstructure." + ] + }, + { + "cell_type": "markdown", + "id": "e4baf775", + "metadata": {}, + "source": [ + "## Charge Superstructure\n", + "\n", + "The charge cycle includes a storage heat exchanger `HXC`, a splitter `CS`, a cooler, a pump `SP`, and a recycle mixer to the power plant. A conceptual representation of the charge superstructure is shown in the flowsheet below, where the green dotted and dashed lines represent the discrete design decisions of the charge cycle when integrated with the power plant. The charge superstructure includes two disjunctions: 1) Selection of Solar salt, Hitec salt, or thermal oil as the heat transfer fluid in the charge heat exchanger (shown in the dashed dotted green lines in the figure below), and 2) selection between a very high-pressure or a high-pressure steam as the steam source to heat up the heat transfer fluid (shown in the dashed green lines in the figure below). In this example, the charge superstructure consists of six different flowsheet configurations." + ] + }, + { + "attachments": { + "design_charge_ultra_supercritical_powerplant.png": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "id": "7764469d", + "metadata": {}, + "source": [ + "![design_charge_ultra_supercritical_powerplant.png](attachment:design_charge_ultra_supercritical_powerplant.png)" + ] + }, + { + "cell_type": "markdown", + "id": "fc603735", + "metadata": {}, + "source": [ + "To start the construction of the charge design model, import all the Pyomo and IDAES libraries and packages needed in the model." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4f4d25fe", + "metadata": {}, + "outputs": [], + "source": [ + "import pyomo.environ as pyo\n", + "from pyomo.environ import (Block, Param, Constraint, Objective,\n", + " TransformationFactory, SolverFactory,\n", + " Expression, value, log, exp, Var)\n", + "from pyomo.environ import units as pyunits\n", + "from pyomo.network import Arc\n", + "from pyomo.common.fileutils import this_file_dir\n", + "from pyomo.util.calc_var_value import calculate_variable_from_constraint\n", + "from pyomo.gdp import Disjunct, Disjunction\n", + "from pyomo.network.plugins import expand_arcs\n", + "from pyomo.contrib.fbbt.fbbt import _prop_bnds_root_to_leaf_map\n", + "from pyomo.core.expr.numeric_expr import ExternalFunctionExpression\n", + "\n", + "import idaes.core.util.scaling as iscale\n", + "import idaes.logger as idaeslog\n", + "from idaes.core import MaterialBalanceType\n", + "from idaes.core.util.initialization import propagate_state\n", + "from idaes.core.solvers.get_solver import get_solver\n", + "from idaes.core.util.model_statistics import degrees_of_freedom\n", + "from idaes.models.unit_models import (HeatExchanger,\n", + " MomentumMixingType,\n", + " Heater,\n", + " Mixer,\n", + " PressureChanger)\n", + "from idaes.models.unit_models.separator import (Separator,\n", + " SplittingType)\n", + "from idaes.models.unit_models.heat_exchanger import (delta_temperature_underwood_callback,\n", + " HeatExchangerFlowPattern)\n", + "from idaes.models.unit_models.pressure_changer import ThermodynamicAssumption\n", + "from idaes.models_extra.power_generation.unit_models.helm import (HelmMixer,\n", + " HelmIsentropicCompressor,\n", + " HelmTurbineStage,\n", + " HelmSplitter)\n", + "from idaes.models.costing.SSLW import (\n", + " SSLWCosting,\n", + " SSLWCostingData,\n", + " PumpType,\n", + " PumpMaterial,\n", + " PumpMotorType,\n", + ")\n", + "from idaes.core.util.exceptions import ConfigurationError" + ] + }, + { + "cell_type": "markdown", + "id": "9b3af1f3", + "metadata": {}, + "source": [ + "Import the property packages of Solar salt, Hitec salt, and thermal oil as heat transfer fluids to be used in the charge heat exchanger." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "29d5528a", + "metadata": {}, + "outputs": [], + "source": [ + "from dispatches.models.fossil_case.properties import (solarsalt_properties,\n", + " hitecsalt_properties,\n", + " thermaloil_properties)" + ] + }, + { + "cell_type": "markdown", + "id": "a29e6b59", + "metadata": {}, + "source": [ + "Import the ultra-supercritical power plant model `ultra_supercritical_powerplant.py` as `usc` to be used as the base model to integrate the charge cycle. More details about this model can be found in the notebook `ultrasupercritical_power_plant`, also available in the DISPATCHES repository." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "c430aec1", + "metadata": {}, + "outputs": [], + "source": [ + "from dispatches.models.fossil_case.ultra_supercritical_plant import ultra_supercritical_powerplant as usc" + ] + }, + { + "cell_type": "markdown", + "id": "f89adbf8", + "metadata": {}, + "source": [ + "Import the charge design model `charge_design_ultra_supercritical_power_plant.py`, available in the DISPATCHES repository, as `c_usc`." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "24a75e29", + "metadata": {}, + "outputs": [], + "source": [ + "from dispatches.models.fossil_case.ultra_supercritical_plant.storage import charge_design_ultra_supercritical_power_plant as c_usc" + ] + }, + { + "cell_type": "markdown", + "id": "33aa395d", + "metadata": {}, + "source": [ + "After importing all libraries, packages, and models, build the ultra-supercritical power plant base model by calling the method `build_plant_model` from the ultra-supercritical plant model `usc` and initialize it using the `initialize` method." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "4a28a8fd", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model Initialization = optimal\n", + "******************* USC Model Initialized ********************\n" + ] + } + ], + "source": [ + "m = usc.build_plant_model()\n", + "\n", + "usc.initialize(m, outlvl=idaeslog.WARNING)" + ] + }, + { + "cell_type": "markdown", + "id": "6333388d", + "metadata": {}, + "source": [ + "Add property packages for the Solar salt, Hitec salt, and thermal oil, which are used as the heat transfer fluids alternatives in the charge heat exchanger." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "3beba0d0", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.solar_salt_properties = solarsalt_properties.SolarsaltParameterBlock()\n", + "m.fs.hitec_salt_properties = hitecsalt_properties.HitecsaltParameterBlock()\n", + "m.fs.therminol66_properties = thermaloil_properties.ThermalOilParameterBlock()" + ] + }, + { + "cell_type": "markdown", + "id": "e6c6d60b", + "metadata": {}, + "source": [ + "Disconnect units from the ultra-supercritical power plant base model to connect the units in the charge cycle." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "44f913c0", + "metadata": {}, + "outputs": [], + "source": [ + "for arc_s in [m.fs.boiler_to_turb1,\n", + " m.fs.bfp_to_fwh8,\n", + " m.fs.rh1_to_turb3]:\n", + " arc_s.expanded_block.enth_mol_equality.deactivate()\n", + " arc_s.expanded_block.flow_mol_equality.deactivate()\n", + " arc_s.expanded_block.pressure_equality.deactivate()" + ] + }, + { + "cell_type": "markdown", + "id": "752a517a", + "metadata": {}, + "source": [ + "Declare a block `charge` in the flowsheet model to include the units, constraints, and discrete decisions (as disjunctions) needed in the charge cycle." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "7b261fdc", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge = Block()" + ] + }, + { + "cell_type": "markdown", + "id": "b5c26cfe", + "metadata": {}, + "source": [ + "Add needed data using the method `_add_data` from the design charge model `c_usc`. The method includes values for operating and design variables and costs for fuel and storage system units. Also, declare the maximum power that can be produced in the power plant. " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "13504eae", + "metadata": {}, + "outputs": [], + "source": [ + "c_usc._add_data(m)\n", + "\n", + "power_max = 436" + ] + }, + { + "cell_type": "markdown", + "id": "c581604e", + "metadata": {}, + "source": [ + "Declare a connector, a cooler, a pump, and a recycle mixer unit, as the units in the charge cycle. Note that the charge heat exchanger is not included here since it would be included as a design decision. " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "49f3f88f", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.connector = Heater(\n", + " default={\"dynamic\": False,\n", + " \"property_package\": m.fs.prop_water,\n", + " \"has_pressure_change\": False})\n", + "m.fs.charge.cooler = Heater(\n", + " default={\"dynamic\": False,\n", + " \"property_package\": m.fs.prop_water,\n", + " \"has_pressure_change\": True})\n", + "m.fs.charge.hx_pump = PressureChanger(\n", + " default={\"property_package\": m.fs.prop_water,\n", + " \"material_balance_type\": MaterialBalanceType.componentTotal,\n", + " \"thermodynamic_assumption\": ThermodynamicAssumption.pump})\n", + "m.fs.charge.recycle_mixer = HelmMixer(\n", + " default={\"momentum_mixing_type\": MomentumMixingType.none,\n", + " \"inlet_list\": [\"from_bfw_out\", \"from_hx_pump\"],\n", + " \"property_package\": m.fs.prop_water})" + ] + }, + { + "cell_type": "markdown", + "id": "6a68476a", + "metadata": {}, + "source": [ + "Use the modeling component `Arc` to connect the cooler, pump, and recycle mixer to the power plant." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "141b0eed", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.cooler_to_hxpump = Arc(\n", + " source=m.fs.charge.cooler.outlet,\n", + " destination=m.fs.charge.hx_pump.inlet,\n", + " doc=\"Connection from cooler to HX pump\"\n", + ")\n", + "m.fs.charge.hxpump_to_recyclemix = Arc(\n", + " source=m.fs.charge.hx_pump.outlet,\n", + " destination=m.fs.charge.recycle_mixer.from_hx_pump,\n", + " doc=\"Connection from HX pump to recycle mixer\"\n", + ")\n", + "m.fs.charge.bfp_to_recyclemix = Arc(\n", + " source=m.fs.bfp.outlet,\n", + " destination=m.fs.charge.recycle_mixer.from_bfw_out,\n", + " doc=\"Connection from BFP outlet to recycle mixer\"\n", + ")\n", + "m.fs.charge.recyclemix_to_fwh8 = Arc(\n", + " source=m.fs.charge.recycle_mixer.outlet,\n", + " destination=m.fs.fwh[8].inlet_2,\n", + " doc=\"Connection from recycle mixer to FWH8 tube side\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "6355d815", + "metadata": {}, + "source": [ + "Declare the Solar salt, Hitec salt, and thermal oil as alternatives for the charge storage system using Pyomo `Disjunct` and `Disjunction` modeling objects. The disjuncts represent the discrete decision for the selection of the heat transfer fluid to use in the charge heat exchanger and are included in disjunction 1 as the discrete decisions." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "1aca5c9c", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.solar_salt_disjunct = Disjunct()\n", + "m.fs.charge.hitec_salt_disjunct = Disjunct()\n", + "m.fs.charge.thermal_oil_disjunct = Disjunct()\n", + "\n", + "m.fs.salt_disjunction = Disjunction(\n", + " expr=[m.fs.charge.solar_salt_disjunct,\n", + " m.fs.charge.hitec_salt_disjunct,\n", + " m.fs.charge.thermal_oil_disjunct]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "2b34d6b0", + "metadata": {}, + "source": [ + "Populate each disjunct with a set of units and equations. For each heat transfer fluid disjunct, declare a charge heat exchanger `HXC` that uses either Solar salt, Hitec salt, or thermal oil as the heat transfer fluid. Each disjunct contains a set of expressions for the calculation of the overall heat transfer coefficient, including equations to calculate the Reynolds, Prandtl, and Nusslet number. Start by populating the Solar salt disjunct." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "c451c4a5", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.solar_salt_disjunct.hxc = HeatExchanger(\n", + " default={\"delta_temperature_callback\": delta_temperature_underwood_callback,\n", + " \"shell\": {\"property_package\": m.fs.prop_water},\n", + " \"tube\": {\"property_package\": m.fs.solar_salt_properties}})\n", + "\n", + "solar_hxc = m.fs.charge.solar_salt_disjunct.hxc\n", + "\n", + "m.fs.charge.solar_salt_disjunct.hxc.salt_reynolds_number = pyo.Expression(\n", + " expr=((solar_hxc.inlet_2.flow_mass[0] *\n", + " m.fs.charge.hxc_tube_outer_dia) /\n", + " (m.fs.charge.hxc_shell_eff_area *\n", + " solar_hxc.side_2.properties_in[0].visc_d_phase[\"Liq\"])\n", + " ),\n", + " doc=\"Salt Reynolds Number\")\n", + "m.fs.charge.solar_salt_disjunct.hxc.salt_prandtl_number = pyo.Expression(\n", + " expr=(\n", + " solar_hxc.side_2.properties_in[0].cp_mass[\"Liq\"] *\n", + " solar_hxc.side_2.properties_in[0].visc_d_phase[\"Liq\"] /\n", + " solar_hxc.side_2.properties_in[0].therm_cond_phase[\"Liq\"]\n", + " ),\n", + " doc=\"Salt Prandtl Number\")\n", + "m.fs.charge.solar_salt_disjunct.hxc.salt_prandtl_wall = pyo.Expression(\n", + " expr=(\n", + " solar_hxc.side_2.properties_out[0].cp_mass[\"Liq\"] *\n", + " solar_hxc.side_2.properties_out[0].visc_d_phase[\"Liq\"] /\n", + " solar_hxc.side_2.properties_out[0].therm_cond_phase[\"Liq\"]\n", + " ),\n", + " doc=\"Salt Prandtl Number at wall\")\n", + "m.fs.charge.solar_salt_disjunct.hxc.salt_nusselt_number = pyo.Expression(\n", + " expr=(\n", + " 0.35 *\n", + " (solar_hxc.salt_reynolds_number**0.6) *\n", + " (solar_hxc.salt_prandtl_number**0.4) *\n", + " ((solar_hxc.salt_prandtl_number /\n", + " solar_hxc.salt_prandtl_wall)**0.25) * (2**0.2)\n", + " ),\n", + " doc=\"Salt Nusslet Number from 2019, App Ener (233-234), 126\")\n", + "m.fs.charge.solar_salt_disjunct.hxc.steam_reynolds_number = pyo.Expression(\n", + " expr=(\n", + " solar_hxc.inlet_1.flow_mol[0] *\n", + " solar_hxc.side_1.properties_in[0].mw *\n", + " m.fs.charge.hxc_tube_inner_dia / (\n", + " m.fs.charge.hxc_tube_cs_area *\n", + " m.fs.charge.hxc_n_tubes *\n", + " solar_hxc.side_1.properties_in[0].visc_d_phase[\"Vap\"]\n", + " )\n", + " ),\n", + " doc=\"Steam Reynolds Number\")\n", + "m.fs.charge.solar_salt_disjunct.hxc.steam_prandtl_number = pyo.Expression(\n", + " expr=(\n", + " (solar_hxc.side_1.properties_in[0].cp_mol /\n", + " solar_hxc.side_1.properties_in[0].mw) *\n", + " solar_hxc.side_1.properties_in[0].visc_d_phase[\"Vap\"] /\n", + " solar_hxc.side_1.properties_in[0].therm_cond_phase[\"Vap\"]\n", + " ),\n", + " doc=\"Steam Prandtl Number\")\n", + "m.fs.charge.solar_salt_disjunct.hxc.steam_nusselt_number = pyo.Expression(\n", + " expr=(\n", + " 0.023 *\n", + " (solar_hxc.steam_reynolds_number**0.8) *\n", + " (solar_hxc.steam_prandtl_number**(0.33)) *\n", + " ((solar_hxc.side_1.properties_in[0].visc_d_phase[\"Vap\"] /\n", + " solar_hxc.side_1.properties_out[0].visc_d_phase[\"Liq\"])**0.14)\n", + " ),\n", + " doc=\"Steam Nusslet Number from 2001 Zavoico, Sandia\")\n", + "m.fs.charge.solar_salt_disjunct.hxc.h_salt = pyo.Expression(\n", + " expr=(\n", + " solar_hxc.side_2.properties_in[0].therm_cond_phase[\"Liq\"] *\n", + " solar_hxc.salt_nusselt_number /\n", + " m.fs.charge.hxc_tube_outer_dia\n", + " ),\n", + " doc=\"Salt side convective heat transfer coefficient in W/mK\")\n", + "m.fs.charge.solar_salt_disjunct.hxc.h_steam = pyo.Expression(\n", + " expr=(\n", + " solar_hxc.side_1.properties_in[0].therm_cond_phase[\"Vap\"] *\n", + " solar_hxc.steam_nusselt_number /\n", + " m.fs.charge.hxc_tube_inner_dia\n", + " ),\n", + " doc=\"Steam side convective heat transfer coefficient in W/mK\")\n", + "\n", + "m.fs.charge.solar_salt_disjunct.hxc.constraint_hxc_ohtc = Constraint(\n", + " expr=(\n", + " (solar_hxc.overall_heat_transfer_coefficient[0] * (\n", + " 2 * m.fs.charge.hxc_k_steel *\n", + " solar_hxc.h_steam +\n", + " m.fs.charge.hxc_tube_outer_dia *\n", + " m.fs.charge.hxc_log_tube_dia_ratio *\n", + " solar_hxc.h_salt *\n", + " solar_hxc.h_steam +\n", + " m.fs.charge.hxc_tube_dia_ratio *\n", + " solar_hxc.h_salt *\n", + " 2 * m.fs.charge.hxc_k_steel)) == (\n", + " 2 * m.fs.charge.hxc_k_steel *\n", + " solar_hxc.h_salt *\n", + " solar_hxc.h_steam\n", + " )\n", + " ),\n", + " doc=\"Overall heat transfer coefficient for Solar salt heat exchanger\"\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "id": "5814e68d", + "metadata": {}, + "source": [ + "After the calculation of the overall heat transer coefficient, connect the Solar salt charge heat exchanger to the power plant using `Arcs`. Note that this connection occurs only when the disjunct is selected." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "07ced78c", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.solar_salt_disjunct.connector_to_hxc = Arc(\n", + " source=m.fs.charge.connector.outlet,\n", + " destination=solar_hxc.inlet_1,\n", + " doc=\"Connection from connector to solar charge heat exchanger\"\n", + ")\n", + "m.fs.charge.solar_salt_disjunct.hxc_to_cooler = Arc(\n", + " source=solar_hxc.outlet_1,\n", + " destination=m.fs.charge.cooler.inlet,\n", + " doc=\"Connection from cooler to solar charge heat exchanger\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "1ab13fc2", + "metadata": {}, + "source": [ + "Following the same strategy as in the Solar salt disjunct, populate the Hitec salt and thermal oil disjuncts by first declaring a heat exchanger, followed by the calculation of the overall heat transfer coefficient, and finally the addition of `Arcs` to connect each charge heat exchanger to the power plant." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "94dde73e", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.hitec_salt_disjunct.hxc = HeatExchanger(\n", + " default={\"delta_temperature_callback\": delta_temperature_underwood_callback,\n", + " \"shell\": {\"property_package\": m.fs.prop_water},\n", + " \"tube\": {\"property_package\": m.fs.hitec_salt_properties}}\n", + ")\n", + "\n", + "hitec_hxc = m.fs.charge.hitec_salt_disjunct.hxc\n", + "\n", + "m.fs.charge.hitec_salt_disjunct.hxc.salt_reynolds_number = pyo.Expression(\n", + " expr=(hitec_hxc.inlet_2.flow_mass[0] *\n", + " m.fs.charge.hxc_tube_outer_dia /\n", + " (m.fs.charge.hxc_shell_eff_area *\n", + " hitec_hxc.side_2.properties_in[0].visc_d_phase[\"Liq\"])),\n", + " doc=\"Salt Reynolds Number\"\n", + ")\n", + "m.fs.charge.hitec_salt_disjunct.hxc.salt_prandtl_number = pyo.Expression(\n", + " expr=(\n", + " hitec_hxc.side_2.properties_in[0].cp_mass[\"Liq\"] *\n", + " hitec_hxc.side_2.properties_in[0].visc_d_phase[\"Liq\"] /\n", + " hitec_hxc.side_2.properties_in[0].therm_cond_phase[\"Liq\"]\n", + " ),\n", + " doc=\"Salt Prandtl Number\")\n", + "m.fs.charge.hitec_salt_disjunct.hxc.salt_prandtl_wall = pyo.Expression(\n", + " expr=(\n", + " hitec_hxc.side_2.properties_out[0].cp_mass[\"Liq\"] *\n", + " hitec_hxc.side_2.properties_out[0].visc_d_phase[\"Liq\"] /\n", + " hitec_hxc.side_2.properties_out[0].therm_cond_phase[\"Liq\"]\n", + " ),\n", + " doc=\"Salt Wall Prandtl Number\"\n", + ")\n", + "m.fs.charge.hitec_salt_disjunct.hxc.salt_nusselt_number = pyo.Expression(\n", + " expr=(\n", + " 1.61 *\n", + " ((hitec_hxc.salt_reynolds_number *\n", + " hitec_hxc.salt_prandtl_number * 0.009)**0.63) *\n", + " ((hitec_hxc.side_2.properties_in[0].visc_d_phase[\"Liq\"] /\n", + " hitec_hxc.side_2.properties_out[0].visc_d_phase[\"Liq\"])**0.25)\n", + " ),\n", + " doc=\"Salt Nusslet Number from 2014, He et al, Exp Therm Fl Sci, 59, 9\"\n", + ")\n", + "m.fs.charge.hitec_salt_disjunct.hxc.steam_reynolds_number = pyo.Expression(\n", + " expr=(\n", + " hitec_hxc.inlet_1.flow_mol[0] *\n", + " hitec_hxc.side_1.properties_in[0].mw *\n", + " m.fs.charge.hxc_tube_inner_dia / (\n", + " m.fs.charge.hxc_tube_cs_area *\n", + " m.fs.charge.hxc_n_tubes *\n", + " hitec_hxc.side_1.properties_in[0].visc_d_phase[\"Vap\"]\n", + " )\n", + " ),\n", + " doc=\"Steam Reynolds Number\"\n", + ")\n", + "m.fs.charge.hitec_salt_disjunct.hxc.steam_prandtl_number = pyo.Expression(\n", + " expr=(\n", + " (hitec_hxc.side_1.properties_in[0].cp_mol /\n", + " hitec_hxc.side_1.properties_in[0].mw) *\n", + " hitec_hxc.side_1.properties_in[0].visc_d_phase[\"Vap\"] /\n", + " hitec_hxc.side_1.properties_in[0].therm_cond_phase[\"Vap\"]\n", + " ),\n", + " doc=\"Steam Prandtl Number\"\n", + ")\n", + "m.fs.charge.hitec_salt_disjunct.hxc.steam_nusselt_number = pyo.Expression(\n", + " expr=(\n", + " 0.023 *\n", + " (hitec_hxc.steam_reynolds_number**0.8) *\n", + " (hitec_hxc.steam_prandtl_number**0.33) *\n", + " ((hitec_hxc.side_1.properties_in[0].visc_d_phase[\"Vap\"] /\n", + " hitec_hxc.side_1.properties_out[0].visc_d_phase[\"Liq\"])**0.14)\n", + " ),\n", + " doc=\"Steam Nusslet Number from 2001 Zavoico, Sandia\"\n", + ")\n", + "\n", + "m.fs.charge.hitec_salt_disjunct.hxc.h_salt = pyo.Expression(\n", + " expr=(\n", + " hitec_hxc.side_2.properties_in[0].therm_cond_phase[\"Liq\"] *\n", + " hitec_hxc.salt_nusselt_number /\n", + " m.fs.charge.hxc_tube_outer_dia\n", + " ),\n", + " doc=\"Salt side convective heat transfer coefficient in W/mK\"\n", + ")\n", + "m.fs.charge.hitec_salt_disjunct.hxc.h_steam = pyo.Expression(\n", + " expr=(\n", + " hitec_hxc.side_1.properties_in[0].therm_cond_phase[\"Vap\"] *\n", + " hitec_hxc.steam_nusselt_number /\n", + " m.fs.charge.hxc_tube_inner_dia\n", + " ),\n", + " doc=\"Steam side convective heat transfer coefficient in W/mK\"\n", + ")\n", + "\n", + "m.fs.charge.hitec_salt_disjunct.hxc.constraint_hxc_ohtc = Constraint(\n", + " expr=(\n", + " (hitec_hxc.overall_heat_transfer_coefficient[0] * (\n", + " 2 * m.fs.charge.hxc_k_steel *\n", + " hitec_hxc.h_steam +\n", + " m.fs.charge.hxc_tube_outer_dia *\n", + " m.fs.charge.hxc_log_tube_dia_ratio *\n", + " hitec_hxc.h_salt *\n", + " hitec_hxc.h_steam +\n", + " m.fs.charge.hxc_tube_dia_ratio *\n", + " hitec_hxc.h_salt *\n", + " 2 * m.fs.charge.hxc_k_steel\n", + " )) == (2 * m.fs.charge.hxc_k_steel *\n", + " hitec_hxc.h_salt * hitec_hxc.h_steam)\n", + " ),\n", + " doc=\"Overall heat transfer coefficient for Hitec heat exchanger\"\n", + ")\n", + "\n", + "m.fs.charge.hitec_salt_disjunct.connector_to_hxc = Arc(\n", + " source=m.fs.charge.connector.outlet,\n", + " destination=hitec_hxc.inlet_1,\n", + " doc=\"Connect the connector to Hitec heat exchanger\"\n", + ")\n", + "m.fs.charge.hitec_salt_disjunct.hxc_to_cooler = Arc(\n", + " source=hitec_hxc.outlet_1,\n", + " destination=m.fs.charge.cooler.inlet,\n", + " doc=\"Connect cooler to Hitec charge heat exchanger\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "4c02811d", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.thermal_oil_disjunct.hxc = HeatExchanger(\n", + " default={\"delta_temperature_callback\": delta_temperature_underwood_callback,\n", + " \"shell\": {\"property_package\": m.fs.prop_water},\n", + " \"tube\": {\"property_package\": m.fs.therminol66_properties},\n", + " \"flow_pattern\": HeatExchangerFlowPattern.countercurrent}\n", + ")\n", + "\n", + "thermal_hxc = m.fs.charge.thermal_oil_disjunct.hxc\n", + "m.fs.charge.thermal_oil_disjunct.hxc.oil_reynolds_number = pyo.Expression(\n", + " expr=(\n", + " thermal_hxc.inlet_2.flow_mass[0] *\n", + " m.fs.charge.hxc_tube_outer_dia /\n", + " (m.fs.charge.hxc_shell_eff_area *\n", + " thermal_hxc.side_2.properties_in[0].visc_d_phase[\"Liq\"])\n", + " ),\n", + " doc=\"Salt Reynolds Number\"\n", + ")\n", + "m.fs.charge.thermal_oil_disjunct.hxc.oil_prandtl_number = pyo.Expression(\n", + " expr=(\n", + " thermal_hxc.side_2.properties_in[0].cp_mass[\"Liq\"] *\n", + " thermal_hxc.side_2.properties_in[0].visc_d_phase[\"Liq\"] /\n", + " thermal_hxc.side_2.properties_in[0].therm_cond_phase[\"Liq\"]\n", + " ),\n", + " doc=\"Salt Prandtl Number\")\n", + "m.fs.charge.thermal_oil_disjunct.hxc.oil_prandtl_wall = pyo.Expression(\n", + " expr=(\n", + " thermal_hxc.side_2.properties_out[0].cp_mass[\"Liq\"] *\n", + " thermal_hxc.side_2.properties_out[0].visc_d_phase[\"Liq\"] /\n", + " thermal_hxc.side_2.properties_out[0].therm_cond_phase[\"Liq\"]\n", + " ),\n", + " doc=\"Salt Wall Prandtl Number\"\n", + ")\n", + "m.fs.charge.thermal_oil_disjunct.hxc.oil_nusselt_number = pyo.Expression(\n", + " expr=(\n", + " 0.36 * ((thermal_hxc.oil_reynolds_number**0.55) *\n", + " (thermal_hxc.oil_prandtl_number**0.33) *\n", + " ((thermal_hxc.oil_prandtl_number /\n", + " thermal_hxc.oil_prandtl_wall)**0.14))\n", + " ),\n", + " doc=\"Salt Nusslet Number from 2014, He et al, Exp Therm Fl Sci, 59, 9\"\n", + ")\n", + "m.fs.charge.thermal_oil_disjunct.hxc.steam_reynolds_number = pyo.Expression(\n", + " expr=(\n", + " thermal_hxc.inlet_1.flow_mol[0] *\n", + " thermal_hxc.side_1.properties_in[0].mw *\n", + " m.fs.charge.hxc_tube_inner_dia / (\n", + " m.fs.charge.hxc_tube_cs_area *\n", + " m.fs.charge.hxc_n_tubes *\n", + " thermal_hxc.side_1.properties_in[0].visc_d_phase[\"Vap\"])\n", + " ),\n", + " doc=\"Steam Reynolds Number\"\n", + ")\n", + "m.fs.charge.thermal_oil_disjunct.hxc.steam_prandtl_number = pyo.Expression(\n", + " expr=(\n", + " (thermal_hxc.side_1.properties_in[0].cp_mol /\n", + " thermal_hxc.side_1.properties_in[0].mw) *\n", + " thermal_hxc.side_1.properties_in[0].visc_d_phase[\"Vap\"] /\n", + " thermal_hxc.side_1.properties_in[0].therm_cond_phase[\"Vap\"]\n", + " ),\n", + " doc=\"Steam Prandtl Number\"\n", + ")\n", + "m.fs.charge.thermal_oil_disjunct.hxc.steam_nusselt_number = pyo.Expression(\n", + " expr=(\n", + " 0.023 * (thermal_hxc.steam_reynolds_number**0.8) *\n", + " (thermal_hxc.steam_prandtl_number**(0.33)) * (\n", + " (thermal_hxc.side_1.properties_in[0].visc_d_phase[\"Vap\"] /\n", + " thermal_hxc.side_1.properties_out[0].visc_d_phase[\"Liq\"])**0.14\n", + " )\n", + " ),\n", + " doc=\"Steam Nusslet Number from 2001 Zavoico, Sandia\"\n", + ")\n", + "\n", + "m.fs.charge.thermal_oil_disjunct.hxc.h_oil = pyo.Expression(\n", + " expr=(\n", + " thermal_hxc.side_2.properties_in[0].therm_cond_phase[\"Liq\"] *\n", + " thermal_hxc.oil_nusselt_number /\n", + " m.fs.charge.hxc_tube_outer_dia\n", + " ),\n", + " doc=\"Salt side convective heat transfer coefficient in W/mK\"\n", + ")\n", + "m.fs.charge.thermal_oil_disjunct.hxc.h_steam = pyo.Expression(\n", + " expr=(\n", + " thermal_hxc.side_1.properties_in[0].therm_cond_phase[\"Vap\"] *\n", + " thermal_hxc.steam_nusselt_number /\n", + " m.fs.charge.hxc_tube_inner_dia\n", + " ),\n", + " doc=\"Steam side convective heat transfer coefficient in W/mK\"\n", + ")\n", + "\n", + "m.fs.charge.thermal_oil_disjunct.hxc.constraint_hxc_ohtc = Constraint(\n", + " expr=(\n", + " thermal_hxc.overall_heat_transfer_coefficient[0] * (\n", + " 2 * m.fs.charge.hxc_k_steel *\n", + " thermal_hxc.h_steam +\n", + " m.fs.charge.hxc_tube_outer_dia *\n", + " m.fs.charge.hxc_log_tube_dia_ratio *\n", + " thermal_hxc.h_oil *\n", + " thermal_hxc.h_steam +\n", + " m.fs.charge.hxc_tube_dia_ratio *\n", + " thermal_hxc.h_oil *\n", + " 2 * m.fs.charge.hxc_k_steel\n", + " )\n", + " ) == (\n", + " 2 * m.fs.charge.hxc_k_steel *\n", + " thermal_hxc.h_oil *\n", + " thermal_hxc.h_steam\n", + " ),\n", + " doc=\"Overall heat transfer coefficient for thermal oil heat exchanger\"\n", + ")\n", + "\n", + "m.fs.charge.thermal_oil_disjunct.connector_to_hxc = Arc(\n", + " source=m.fs.charge.connector.outlet,\n", + " destination=thermal_hxc.inlet_1,\n", + " doc=\"Connection from connector to thermal oil charge heat exchanger\"\n", + ")\n", + "m.fs.charge.thermal_oil_disjunct.hxc_to_cooler = Arc(\n", + " source=thermal_hxc.outlet_1,\n", + " destination=m.fs.charge.cooler.inlet,\n", + " doc=\"Connection from cooler to thermal oil charge heat exchanger\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "c0de3ff4", + "metadata": {}, + "source": [ + "After declaring all units, constraints, and connections in disjunction 1, declare the discrete decisions in disjunction 2. In disjunction 2, two steam source alternatives are included as disjuncts. The first alternative is for the selection of a very high-pressure steam source from the boiler outlet and the second alternative is the selection of a high-pressure steam source from the reheater 1 outlet." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "a3964fce", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.vhp_source_disjunct = Disjunct()\n", + "m.fs.charge.hp_source_disjunct = Disjunct()\n", + "\n", + "m.fs.source_disjunction = Disjunction(\n", + " expr=[m.fs.charge.vhp_source_disjunct,\n", + " m.fs.charge.hp_source_disjunct]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "8b6d3e0f", + "metadata": {}, + "source": [ + "Populate each steam source disjunct by including a splitter to divert a fraction of the steam to the storage system. Following this, declare a set of `Arcs` to connect the splitter to the power plant. Start by populating the very high-pressure steam source disjunct by declaring a splitter to divert a fraction of a very high-pressure steam from the boiler outlet, followed by the connection of the splitter to the boiler, turbine 1, and charge storage system using `Arcs`." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "8509fda7", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.vhp_source_disjunct.ess_vhp_split = HelmSplitter(\n", + " default={\"property_package\": m.fs.prop_water,\n", + " \"outlet_list\": [\"to_hxc\", \"to_turbine\"]}\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "1f518d4a", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.vhp_source_disjunct.boiler_to_essvhp = Arc(\n", + " source=m.fs.boiler.outlet,\n", + " destination=m.fs.charge.vhp_source_disjunct.ess_vhp_split.inlet,\n", + " doc=\"Connection from boiler to hp splitter\"\n", + ")\n", + "m.fs.charge.vhp_source_disjunct.essvhp_to_turb1 = Arc(\n", + " source=m.fs.charge.vhp_source_disjunct.ess_vhp_split.to_turbine,\n", + " destination=m.fs.turbine[1].inlet,\n", + " doc=\"Connection from VHP splitter to turbine 1\"\n", + ")\n", + "m.fs.charge.vhp_source_disjunct.vhpsplit_to_connector = Arc(\n", + " source=m.fs.charge.vhp_source_disjunct.ess_vhp_split.to_hxc,\n", + " destination=m.fs.charge.connector.inlet,\n", + " doc=\"Connection from VHP splitter to connector\"\n", + ")\n", + "m.fs.charge.vhp_source_disjunct.rh1_to_turb3 = Arc(\n", + " source=m.fs.reheater[1].outlet,\n", + " destination=m.fs.turbine[3].inlet,\n", + " doc=\"Connection from reheater 1 to turbine 3\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "3543f042", + "metadata": {}, + "source": [ + "Populate the second steam source in disjunction 2 or the high-pressure steam source. Declare a splitter to divert a fraction of the high-pressure steam from the reheater 1 outlet, and connect the splitter to the reheater 1, turbine 3, and storage system using `Arcs`." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "219ae71a", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.hp_source_disjunct.ess_hp_split = HelmSplitter(\n", + " default={\"property_package\": m.fs.prop_water,\n", + " \"outlet_list\": [\"to_hxc\", \"to_turbine\"]}\n", + ")\n", + "\n", + "m.fs.charge.hp_source_disjunct.rh1_to_esshp = Arc(\n", + " source=m.fs.reheater[1].outlet,\n", + " destination=m.fs.charge.hp_source_disjunct.ess_hp_split.inlet,\n", + " doc=\"Connection from reheater to ip splitter\"\n", + ")\n", + "\n", + "m.fs.charge.hp_source_disjunct.esshp_to_turb3 = Arc(\n", + " source=m.fs.charge.hp_source_disjunct.ess_hp_split.to_turbine,\n", + " destination=m.fs.turbine[3].inlet,\n", + " doc=\"Connection from HP splitter to turbine 3\"\n", + ")\n", + "\n", + "m.fs.charge.hp_source_disjunct.hpsplit_to_connector = Arc(\n", + " source=m.fs.charge.hp_source_disjunct.ess_hp_split.to_hxc,\n", + " destination=m.fs.charge.connector.inlet,\n", + " doc=\"Connection from HP splitter to connector\"\n", + ")\n", + "\n", + "m.fs.charge.hp_source_disjunct.boiler_to_turb1 = Arc(\n", + " source=m.fs.boiler.outlet,\n", + " destination=m.fs.turbine[1].inlet,\n", + " doc=\"Connection from VHP splitter to turbine 1\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "dd9ddf47", + "metadata": {}, + "source": [ + "After declaring all disjunctions, include six constraints to ensure that some units operate at desired conditions. Add a first constraint to ensure that the outlet temperature of the cooler in the storage system is a sub-cooled liquid." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "92a04d44", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.cooler.constraint_cooler_subcooled_temperature = Constraint(\n", + " expr=(m.fs.charge.cooler.control_volume.properties_out[0].temperature <=\n", + " (m.fs.charge.cooler.control_volume.properties_out[0].temperature_sat - 5*pyunits.K)),\n", + "doc=\"Outlet temperature to be subcooled\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "9308b313", + "metadata": {}, + "source": [ + "Add a second constraint to ensure that the storage pump has a pressure higher or equal to the boiler feed pump pressure." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "658e8ccc", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.constraint_storage_pump_pressure_out = Constraint(\n", + " expr=(\n", + " m.fs.charge.hx_pump.outlet.pressure[0] >= (m.main_steam_pressure * 1.1231)\n", + " ),\n", + " doc=\"HX pump outlet pressure\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "7242a6ad", + "metadata": {}, + "source": [ + "Add a third constraint to fix the recycle mixer outlet pressure to be the minimum pressure from the inlets. " + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "7e1a90b1", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.recycle_mixer.recyclemixer_pressure_constraint = Constraint(\n", + " expr=(\n", + " m.fs.charge.recycle_mixer.from_bfw_out_state[0].pressure == \n", + " m.fs.charge.recycle_mixer.mixed_state[0].pressure\n", + " ),\n", + " doc=\"Recycle mixer outlet pressure\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "cc1f28bb", + "metadata": {}, + "source": [ + "Add three more constraints to calculate the fuel heat duty and boiler and cycle efficiencies." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "deda8be0", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.boiler_efficiency = pyo.Var(initialize=0.9,\n", + " bounds=(0, 1),\n", + " doc=\"Boiler efficiency\")\n", + "m.fs.boiler_efficiency_eq = pyo.Constraint(\n", + " expr=m.fs.boiler_efficiency == (\n", + " 0.2143 *\n", + " (m.fs.plant_power_out[0] / power_max) +\n", + " 0.7357\n", + " ),\n", + " doc=\"Boiler efficiency in fraction\"\n", + ")\n", + "m.fs.coal_heat_duty = pyo.Var(\n", + " initialize=1000,\n", + " bounds=(0, 1e5),\n", + " doc=\"Coal heat duty supplied to boiler (MW)\")\n", + "\n", + "m.fs.coal_heat_duty_eq = pyo.Constraint(\n", + " expr=(m.fs.coal_heat_duty *\n", + " m.fs.boiler_efficiency) ==\n", + " m.fs.plant_heat_duty[0]\n", + ")\n", + "\n", + "m.fs.cycle_efficiency = pyo.Var(initialize=0.4,\n", + " bounds=(0, 1),\n", + " doc=\"Cycle efficiency\")\n", + "m.fs.cycle_efficiency_eq = pyo.Constraint(\n", + " expr=(m.fs.cycle_efficiency *\n", + " m.fs.coal_heat_duty) ==\n", + " m.fs.plant_power_out[0],\n", + " doc=\"Cycle efficiency\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "cead741e", + "metadata": {}, + "source": [ + "Once all the `Arcs` in the flowsheet are defined, expand them using the Pyomo `TransformationFactory` to create the actual model constraints needed to describe the connections between the units." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "c3e7b3f3", + "metadata": {}, + "outputs": [], + "source": [ + "expand_arcs.obj_iter_kwds['descend_into'] = (Block, Disjunct)\n", + "\n", + "TransformationFactory(\"network.expand_arcs\").apply_to(m.fs.charge)" + ] + }, + { + "cell_type": "markdown", + "id": "a71c835e", + "metadata": {}, + "source": [ + "Fix inputs to the model to solve a square problem (i.e., zero degrees of freedom) for initialization. Some values are either assumed or estimated for the maximum power production of 436 MW using the ultra-supercritical power plant model." + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "29777c26", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.charge.solar_salt_disjunct.hxc.area.fix(100)\n", + "m.fs.charge.solar_salt_disjunct.hxc.inlet_2.flow_mass.fix(100)\n", + "m.fs.charge.solar_salt_disjunct.hxc.inlet_2.temperature.fix(513.15)\n", + "m.fs.charge.solar_salt_disjunct.hxc.inlet_2.pressure.fix(101325)\n", + "\n", + "m.fs.charge.hitec_salt_disjunct.hxc.area.fix(100)\n", + "m.fs.charge.hitec_salt_disjunct.hxc.inlet_2.flow_mass.fix(100)\n", + "m.fs.charge.hitec_salt_disjunct.hxc.inlet_2.temperature.fix(435.15)\n", + "m.fs.charge.hitec_salt_disjunct.hxc.inlet_2.pressure.fix(101325)\n", + "\n", + "m.fs.charge.thermal_oil_disjunct.hxc.area.fix(2500)\n", + "m.fs.charge.thermal_oil_disjunct.hxc.inlet_2.flow_mass[0].fix(700)\n", + "m.fs.charge.thermal_oil_disjunct.hxc.inlet_2.temperature[0].fix(353.15)\n", + "m.fs.charge.thermal_oil_disjunct.hxc.inlet_2.pressure[0].fix(101325)\n", + "\n", + "m.fs.charge.cooler.outlet.enth_mol[0].fix(10000)\n", + "m.fs.charge.cooler.deltaP[0].fix(0)\n", + "\n", + "m.fs.charge.hx_pump.efficiency_pump.fix(0.80)\n", + "m.fs.charge.hx_pump.outlet.pressure[0].fix(m.main_steam_pressure * 1.1231)\n", + "\n", + "m.fs.charge.vhp_source_disjunct.ess_vhp_split.split_fraction[0, \"to_hxc\"].fix(0.01)\n", + "m.fs.charge.hp_source_disjunct.ess_hp_split.split_fraction[0, \"to_hxc\"].fix(0.01)\n", + "\n", + "m.fs.charge.connector.heat_duty[0].fix(0)" + ] + }, + { + "cell_type": "markdown", + "id": "4d164637", + "metadata": {}, + "source": [ + "Create a solver object and select the `IPOPT` as the NLP solver to use during initialization." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "1e03f0b6", + "metadata": {}, + "outputs": [], + "source": [ + "solver = get_solver('ipopt')" + ] + }, + { + "cell_type": "markdown", + "id": "17c7d9eb", + "metadata": {}, + "source": [ + "Initialize all units in the charge model by propagating values between `Ports` along `Arcs` using the `propagate_state` method." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "73c5ca31", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-06-24 11:00:35 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: fs.charge.solar_salt_disjunct.hxc.tube.properties_in Initialisation Step 1 Complete.\n", + "2022-06-24 11:00:35 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: Initialization Step 1 Complete.\n", + "2022-06-24 11:00:35 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: fs.charge.solar_salt_disjunct.hxc.tube.properties_out Initialisation Step 1 Complete.\n", + "2022-06-24 11:00:35 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: Initialization Step 1 Complete.\n", + "2022-06-24 11:00:35 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: State Released.\n", + "2022-06-24 11:00:36 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: State Released.\n", + "2022-06-24 11:00:36 [INFO] idaes.init.dispatches.models.fossil_case.properties.hitecsalt_properties: fs.charge.hitec_salt_disjunct.hxc.tube.properties_in Initialisation Step 1 Complete.\n", + "2022-06-24 11:00:36 [INFO] idaes.init.dispatches.models.fossil_case.properties.hitecsalt_properties: Initialization Step 1 Complete.\n", + "2022-06-24 11:00:36 [INFO] idaes.init.dispatches.models.fossil_case.properties.hitecsalt_properties: fs.charge.hitec_salt_disjunct.hxc.tube.properties_out Initialisation Step 1 Complete.\n", + "2022-06-24 11:00:36 [INFO] idaes.init.dispatches.models.fossil_case.properties.hitecsalt_properties: Initialization Step 1 Complete.\n", + "2022-06-24 11:00:36 [INFO] idaes.init.dispatches.models.fossil_case.properties.hitecsalt_properties: State Released.\n", + "2022-06-24 11:00:37 [INFO] idaes.init.dispatches.models.fossil_case.properties.hitecsalt_properties: State Released.\n", + "2022-06-24 11:00:37 [INFO] idaes.init.dispatches.models.fossil_case.properties.thermaloil_properties: fs.charge.thermal_oil_disjunct.hxc.tube.properties_in Initialisation Step 1 Complete.\n", + "2022-06-24 11:00:37 [INFO] idaes.init.dispatches.models.fossil_case.properties.thermaloil_properties: Initialization Step 1 Complete.\n", + "2022-06-24 11:00:37 [INFO] idaes.init.dispatches.models.fossil_case.properties.thermaloil_properties: fs.charge.thermal_oil_disjunct.hxc.tube.properties_out Initialisation Step 1 Complete.\n", + "2022-06-24 11:00:37 [INFO] idaes.init.dispatches.models.fossil_case.properties.thermaloil_properties: Initialization Step 1 Complete.\n", + "2022-06-24 11:00:37 [INFO] idaes.init.dispatches.models.fossil_case.properties.thermaloil_properties: State Released.\n", + "2022-06-24 11:00:39 [INFO] idaes.init.dispatches.models.fossil_case.properties.thermaloil_properties: State Released.\n" + ] + } + ], + "source": [ + "outlvl = idaeslog.WARNING\n", + "\n", + "propagate_state(m.fs.charge.vhp_source_disjunct.boiler_to_essvhp)\n", + "m.fs.charge.vhp_source_disjunct.ess_vhp_split.initialize(outlvl=outlvl,\n", + " optarg=solver.options)\n", + "propagate_state(m.fs.charge.hp_source_disjunct.rh1_to_esshp)\n", + "m.fs.charge.hp_source_disjunct.ess_hp_split.initialize(outlvl=outlvl,\n", + " optarg=solver.options)\n", + "\n", + "propagate_state(m.fs.charge.hp_source_disjunct.boiler_to_turb1)\n", + "m.fs.turbine[1].inlet.fix()\n", + "m.fs.turbine[1].initialize(outlvl=outlvl,\n", + " optarg=solver.options)\n", + "propagate_state(m.fs.charge.hp_source_disjunct.esshp_to_turb3)\n", + "m.fs.turbine[3].inlet.fix()\n", + "m.fs.turbine[3].initialize(outlvl=outlvl,\n", + " optarg=solver.options)\n", + "\n", + "propagate_state(m.fs.charge.hp_source_disjunct.hpsplit_to_connector)\n", + "m.fs.charge.connector.inlet.fix()\n", + "m.fs.charge.connector.initialize(outlvl=outlvl,\n", + " optarg=solver.options)\n", + "\n", + "propagate_state(m.fs.charge.solar_salt_disjunct.connector_to_hxc)\n", + "m.fs.charge.solar_salt_disjunct.hxc.inlet_1.fix()\n", + "m.fs.charge.solar_salt_disjunct.hxc.initialize(outlvl=outlvl,\n", + " optarg=solver.options)\n", + "\n", + "propagate_state(m.fs.charge.hitec_salt_disjunct.connector_to_hxc)\n", + "m.fs.charge.hitec_salt_disjunct.hxc.inlet_1.fix()\n", + "m.fs.charge.hitec_salt_disjunct.hxc.initialize(outlvl=outlvl, \n", + " optarg=solver.options)\n", + "\n", + "propagate_state(m.fs.charge.thermal_oil_disjunct.connector_to_hxc)\n", + "m.fs.charge.thermal_oil_disjunct.hxc.inlet_1.fix()\n", + "m.fs.charge.thermal_oil_disjunct.hxc.initialize(outlvl=outlvl)\n", + "\n", + "propagate_state(m.fs.charge.solar_salt_disjunct.hxc_to_cooler)\n", + "m.fs.charge.cooler.inlet.fix()\n", + "m.fs.charge.cooler.initialize(outlvl=outlvl,\n", + " optarg=solver.options)\n", + "\n", + "propagate_state(m.fs.charge.cooler_to_hxpump)\n", + "m.fs.charge.hx_pump.initialize(outlvl=outlvl,\n", + " optarg=solver.options)\n", + "\n", + "propagate_state(m.fs.charge.bfp_to_recyclemix)\n", + "propagate_state(m.fs.charge.hxpump_to_recyclemix)\n", + "m.fs.charge.recycle_mixer.initialize(outlvl=outlvl)" + ] + }, + { + "cell_type": "markdown", + "id": "ce94fa2e", + "metadata": {}, + "source": [ + "Use `assert` keyword to check that we have a square problem and solve the initialization flowsheet." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "84ca5f03", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Charge initialization solver termination: optimal\n" + ] + } + ], + "source": [ + "assert degrees_of_freedom(m) == 0\n", + "\n", + "charge_init = solver.solve(m)\n", + "\n", + "print('Charge initialization solver termination:', charge_init.solver.termination_condition)" + ] + }, + { + "cell_type": "markdown", + "id": "580af1d8", + "metadata": {}, + "source": [ + "Add operating and capital costs for the units in the charge cycle and power plant using the method `build_costing` from the charge design model `c_usc`. In this method, the costs for the charge heat exchangers are estimated using the IDAES costing method with default options. To compute costs that are not included in the IDAES costing method, the `build_costing` method includes a set of expressions and constraints for their calculation." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "1d0dc601", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Cost initialization solver termination = optimal\n", + "******************** Costing Initialized *************************\n", + "\n", + "\n" + ] + } + ], + "source": [ + "c_usc.build_costing(m, solver=solver)" + ] + }, + { + "cell_type": "markdown", + "id": "e9dda2d7", + "metadata": {}, + "source": [ + "Set lower and upper bounds to flow, energy, and cost variables included in the charge block." + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "a7da1ffe", + "metadata": {}, + "outputs": [], + "source": [ + "c_usc.add_bounds(m, power_max=power_max)" + ] + }, + { + "cell_type": "markdown", + "id": "64f45e7c", + "metadata": {}, + "source": [ + "To solve the conceptual design problem, unfix the following inputs that were fixed during initialization: boiler flow at the inlet, storage splitters flow to the charge heat exchanger, and heat transfer fluid flow in charge heat exchangers." + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "3aee0c5e", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.boiler.inlet.flow_mol.unfix()\n", + "m.fs.charge.vhp_source_disjunct.ess_vhp_split.split_fraction[0, \"to_hxc\"].unfix()\n", + "m.fs.charge.hp_source_disjunct.ess_hp_split.split_fraction[0, \"to_hxc\"].unfix()\n", + "m.fs.charge.hx_pump.outlet.pressure[0].unfix()\n", + "m.fs.turbine[1].inlet.unfix()\n", + "m.fs.turbine[3].inlet.unfix()\n", + "\n", + "for salt_hxc in [m.fs.charge.solar_salt_disjunct.hxc,\n", + " m.fs.charge.hitec_salt_disjunct.hxc,\n", + " m.fs.charge.thermal_oil_disjunct.hxc]:\n", + " salt_hxc.inlet_1.unfix()\n", + " salt_hxc.inlet_2.flow_mass.unfix()\n", + " salt_hxc.area.unfix()\n", + "\n", + "for unit in [m.fs.charge.connector,\n", + " m.fs.charge.cooler]:\n", + " unit.inlet.unfix()\n", + "m.fs.charge.cooler.outlet.enth_mol[0].unfix()" + ] + }, + { + "cell_type": "markdown", + "id": "9f53f0d0", + "metadata": {}, + "source": [ + "Fix the amount of power produced by the power plant, the boiler pressure, and the charge heat exchanger heat duty." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "c0071607", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.plant_power_out.fix(400)\n", + "m.fs.boiler.outlet.pressure.fix(m.main_steam_pressure)\n", + "m.fs.charge.solar_salt_disjunct.hxc.heat_duty.fix(150e6)\n", + "m.fs.charge.hitec_salt_disjunct.hxc.heat_duty.fix(150e6)\n", + "m.fs.charge.thermal_oil_disjunct.hxc.heat_duty.fix(150e6)" + ] + }, + { + "cell_type": "markdown", + "id": "8c460cbf", + "metadata": {}, + "source": [ + "Deactivate the power production constraint from the ultra-supercritical power plant model and include a new constraint to calculate the power produced by the plant, which includes the power consumed by the storage pump `SP`." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "eceb9e0c", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.production_cons.deactivate()\n", + "m.fs.charge.production_cons_with_storage = Constraint(\n", + " expr=((-1 * sum(m.fs.turbine[p].work_mechanical[0]\n", + " for p in m.set_turbine)\n", + " - m.fs.charge.hx_pump.control_volume.work[0]\n", + " ) ==\n", + " m.fs.plant_power_out[0] * 1e6 * (pyunits.W/pyunits.MW)\n", + " ),\n", + " doc=\"Net power produced\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d33d0543", + "metadata": {}, + "source": [ + "Include a total cost expression as the objective function, which considers the operating and capital capital costs of the charge cycle and the power plant." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "52a030e9", + "metadata": {}, + "outputs": [], + "source": [ + "m.obj = Objective(\n", + " expr=(\n", + " m.fs.charge.capital_cost\n", + " + m.fs.charge.operating_cost\n", + " + m.fs.charge.plant_capital_cost\n", + " + m.fs.charge.plant_fixed_operating_cost\n", + " + m.fs.charge.plant_variable_operating_cost\n", + " ) * 1e-7\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "9e0be684", + "metadata": {}, + "source": [ + "Declare the solver to use and its options." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "814d75e0", + "metadata": {}, + "outputs": [], + "source": [ + "opt = SolverFactory('gdpopt')\n", + "opt.CONFIG.strategy = 'RIC'\n", + "opt.CONFIG.mip_solver = 'cbc'\n", + "opt.CONFIG.nlp_solver = 'ipopt'\n", + "opt.CONFIG.tee = True\n", + "opt.CONFIG.init_strategy = \"no_init\"\n", + "opt.CONFIG.subproblem_presolve = False\n", + "_prop_bnds_root_to_leaf_map[ExternalFunctionExpression] = lambda x, y, z: None" + ] + }, + { + "cell_type": "markdown", + "id": "7b919dde", + "metadata": {}, + "source": [ + "Solve the conceptual design charge model." + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "d460b5b9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO: Original model has 687 constraints (196 nonlinear) and 2 disjunctions,\n", + " with 680 variables, of which 5 are binary, 0 are integer, and 675 are\n", + " continuous.\n", + "INFO: Starting GDPopt version 20.2.28 using RIC algorithm\n", + "INFO: Subsolvers:\n", + " - MILP: cbc\n", + " - NLP: ipopt\n", + " - MINLP: baron\n", + " - local MINLP: bonmin\n", + "INFO: If you use this software, you may cite the following:\n", + " - Implementation:\n", + " Chen, Q; Johnson, ES; Bernal, DE; Valentin, R; Kale, S; Bates, J; Siirola,\n", + " JD; Grossmann, IE. Pyomo.GDP: an ecosystem for logic based modeling and\n", + " optimization development. Optimization and Engineering, 2021.\n", + "INFO: ---Starting GDPopt initialization---\n", + "INFO: ---GDPopt Master Iteration 1---\n", + "INFO: ITER 1.1.0-MIP: OBJ: 7.349666929 LB: 7.349666929 UB: inf\n", + "INFO: Solving nonlinear subproblem for fixed binaries and logical\n", + " realizations.\n", + "INFO: ITER 1.1.1-NLP: OBJ: 9.120658372 LB: 7.349666929 UB: 9.120658372\n", + " (IMPROVED)\n", + "INFO: Adding integer cut\n", + "INFO: ---GDPopt Master Iteration 2---\n", + "INFO: ITER 2.1.0-MIP: OBJ: 7.349666929 LB: 7.349666929 UB: 9.120658372\n", + "INFO: Solving nonlinear subproblem for fixed binaries and logical\n", + " realizations.\n", + "INFO: ITER 2.1.1-NLP: OBJ: 9.163495568 LB: 7.349666929 UB: 9.120658372\n", + "INFO: Adding integer cut\n", + "INFO: ---GDPopt Master Iteration 3---\n", + "INFO: ITER 3.1.0-MIP: OBJ: 7.349664261 LB: 7.349666929 UB: 9.120658372\n", + "INFO: Solving nonlinear subproblem for fixed binaries and logical\n", + " realizations.\n", + "INFO: ITER 3.1.1-NLP: OBJ: 9.145964727 LB: 7.349666929 UB: 9.120658372\n", + "INFO: Adding integer cut\n", + "INFO: ---GDPopt Master Iteration 4---\n", + "INFO: ITER 4.1.0-MIP: OBJ: 7.349681106 LB: 7.349681106 UB: 9.120658372\n", + "INFO: Solving nonlinear subproblem for fixed binaries and logical\n", + " realizations.\n", + "INFO: ITER 4.1.1-NLP: OBJ: 9.258537855 LB: 7.349681106 UB: 9.120658372\n", + "INFO: Adding integer cut\n", + "INFO: ---GDPopt Master Iteration 5---\n", + "INFO: ITER 5.1.0-MIP: OBJ: 7.349664261 LB: 7.349681106 UB: 9.120658372\n", + "INFO: Solving nonlinear subproblem for fixed binaries and logical\n", + " realizations.\n", + "INFO: ITER 5.1.1-NLP: OBJ: 9.09956284 LB: 7.349681106 UB: 9.09956284\n", + " (IMPROVED)\n", + "INFO: Adding integer cut\n", + "INFO: ---GDPopt Master Iteration 6---\n", + "INFO: ITER 6.1.0-MIP: OBJ: 7.349681106 LB: 7.349681106 UB: 9.09956284\n", + "INFO: Solving nonlinear subproblem for fixed binaries and logical\n", + " realizations.\n", + "INFO: ITER 6.1.1-NLP: OBJ: 9.213618397 LB: 7.349681106 UB: 9.09956284\n", + "INFO: Adding integer cut\n", + "INFO: ---GDPopt Master Iteration 7---\n", + "WARNING: Loading a SolverResults object with a warning status into\n", + " model.name=\"Ultra Supercritical Power Plant Model\";\n", + " - termination condition: infeasible\n", + " - message from solver: \n", + "INFO: Linear GDP is now infeasible. GDPopt has finished exploring feasible\n", + " discrete configurations.\n", + "INFO: GDPopt exiting on bound convergence. LB: inf + (tol 1e-06) >= UB:\n", + " 9.09956284\n" + ] + } + ], + "source": [ + "results = opt.solve(m)" + ] + }, + { + "cell_type": "markdown", + "id": "c11b1235", + "metadata": {}, + "source": [ + "Print the disjunctions that were selected during optimization." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "609b66ff", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "fs.charge.hp_source_disjunct is selected!\n", + "fs.charge.solar_salt_disjunct is selected!\n" + ] + } + ], + "source": [ + "for d in m.component_data_objects(ctype=Disjunct,\n", + " active=True,\n", + " sort=True, descend_into=True):\n", + " if abs(d.indicator_var.value - 1) < 1e-6:\n", + " print(d.name, 'is selected!')" + ] + }, + { + "cell_type": "markdown", + "id": "ff27d9b6", + "metadata": {}, + "source": [ + "Since the solar salt is selected, print the report of the heat exchanger." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "e2570d0f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "====================================================================================\n", + "Unit : fs.charge.solar_salt_disjunct.hxc Time: 0.0\n", + "------------------------------------------------------------------------------------\n", + " Unit Performance\n", + "\n", + " Variables: \n", + "\n", + " Key : Value : Units : Fixed : Bounds\n", + " HX Area : 1838.2 : meter ** 2 : False : (0, 5000)\n", + " HX Coefficient : 1783.2 : kilogram / kelvin / second ** 3 : False : (0, 10000)\n", + " Heat Duty : 1.5000e+08 : watt : True : (0, 200000000.0)\n", + "\n", + " Expressions: \n", + "\n", + " Key : Value : Units\n", + " Delta T Driving : 45.761 : kelvin\n", + " Delta T In : 37.515 : kelvin\n", + " Delta T Out : 55.136 : kelvin\n", + "\n", + "------------------------------------------------------------------------------------\n", + " Stream Table\n", + " Units Hot Inlet Hot Outlet Cold Inlet Cold Outlet\n", + " Molar Flow (mol/s) mole / second 3615.4 3615.4 - -\n", + " Mass Flow (kg/s) kilogram / second 65.132 65.132 - -\n", + " T (K) kelvin 866.15 568.29 - -\n", + " P (Pa) pascal 8.6047e+06 8.6047e+06 - -\n", + " Vapor Fraction dimensionless 1.0000 0.0000 - -\n", + " Molar Enthalpy (J/mol) Vap joule / mole 65223. 48926. - -\n", + " Molar Enthalpy (J/mol) Liq joule / mole 65223. 23734. - -\n", + " flow_mass kilogram / second - - 314.58 314.58\n", + " temperature kelvin - - 513.15 828.64\n", + " pressure pascal - - 101325 1.0132e+05\n", + "====================================================================================\n" + ] + } + ], + "source": [ + "m.fs.charge.solar_salt_disjunct.hxc.report()" + ] + }, + { + "cell_type": "markdown", + "id": "4f8d82b0", + "metadata": {}, + "source": [ + "## Discharge Superstructure\n", + "\n", + "In the discharge cycle, the energy stored in the heat transfer fluid during the charge cycle is used to heat a fraction of condensate in the feed water train (from feed water heater 1 to 9) to generate steam, which is further used to generate extra power using a turbine `ST`. The discharge cycle includes a storage heat exchanger `HXD`, a splitter, and a turbine `ST`. Considering the optimal design found during the charge cycle, the Solar salt is used as the storage heat transfer fluid in the discharge heat exchanger. Since there are multiple integration points to divert condensate from the plant, in this example the discharge superstructure includes one disjunction to select whether to use a fraction of the condensate from the outlet of the condenser pump `CP` or the booster pump `BP`. The conceptual representation of the superstructure for the discharge model is shown in the flowsheet below, where the green dotted lines represent the discrete design decisions for the selection of the condensate source. Note that the superstructure below only shows two condensate alternatives. A discharge superstructure with five alternative flowsheet configurations can be found in the discharge design model in `discharge_ultra-supercritical_power_plant.py`, available in the DISPATCHES repository." + ] + }, + { + "attachments": { + "design_discharge_ultra_supercritical_powerplant.png": { + "image/png": "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DuBgouUgpauvr8dBvueee955552gvdFfAQaSzMlF4EceeeQb3/gGctYEfY055sgpCQFuampCI4EJiP3C6GbPnp2gu+WDAy2wtbUVsgRqamrmtPPWW2/BftEbIx0fM2bMokWLwvkGadBPgca5hrgWL178/PPPQ5z+/Oc/Q6Iw9Lz77rs47yAbaA9q7SAJ9CnQiAL9yYIFC5566qmbbrrpD3/4w8SJE19++WX0kNDgDRs2hBNjQOCMXr9+PUZYnMKPP/740KFDH330UdTmtGnTEB2Gg6ArMYinQANUnNzdjab4yiuvHHXUUTj10EfxViAfmbNanXf2aewM/2szKijARkIBLpUYhiDpCEYsZCRvvvnmjBkzpk+fPnPmTMyHMJIFITP27Gr8+PGwMmRXVVVVK1euDDO7Kp04PwUayKFGI0Geh+T12WefxXF+4YUXpk6dWldXF1zL8fdDEx3FsmXLXnrpJSSpd95555NPPonsx4xUNQ7gIOsvJujf9bnkkktgdEijy/Yy+549e1paWubPn48u98UXX5yQ5u677x5tQxY+99xzUAt0y+jEkIvjeKpNBEMQAmwPFr0EeuYHHnhgxIgRkMMbb7wRrQIajIXwYfTbb7zxBvy/qalp165d6v1JwBHjQw89dN999918883XXHPNH//4R0Q6cuTIcePGJTdGR4APPvjgmDFjkBdee+21N9xww6233jpq1ChEhxYbdIABPQVaxoLly5ej/8cogAATmjzEGVhux0tV9dmnLlfF9NteGiRjUlQkri5QgI2EAlwq8QnBe+4V6EjmlwBnza5uu+025BwYmJFd3X777YnLrjz2tiHjaDk4pMjzkPcg+xk+fDgyPMmBYn6oM6NAYorCo49DOv6///u/mEdcMY8iKUBuccDliwlz58494ogjOnfujCP/XjK/Z1E6CHnJkiVoV88+++y9994LR0LDywv65CeeeAImjHbb1hbvVNFGrmBxol133XV/TCMGhe5aXgLJCjZrjDL6ILorr7yyoqJi2LBh119/fZgxyvCBqXRyBYgaRFxXXXUV/mIedSqhCcEF6KMAI7TMsQAJg8QoyQPHAn+5eOInjVNPo19Xr8aWEgX4nXfeefLJJ3FGeAQr46RTbyZRg2qlAJdEHEKIVe5V+tW8vNkVBuaEZldxE+BchxoHFkcbuR1wHGcQt0PtEgXKL9dq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uTf+8qYDhw5yc1yNIwCnEgF4giQGYEu/q1evDkXWCg9fPDnvH/t+tXKni7Ol8yd9BoakDkq2n3vfez7zu//s0//8n336vcG33rPgfe9p+Of/bP57x+OxYjAZmIGBgYGh4PD/XPfZlg2vnjhx4tSpU65Kh9oTTwD+wr2nOw678ak1PDx87rnnBv96cCoRgCdIYgDWefOll1666qqrvvHA0Z8+07V58+aNUW3YsGH9+vWrVq365p1bgun3P1x3+JfPb922bdumTZtcnC3da6+9poW7NQEJ9Oabb65Zs2blypWPP/74l773FTtLfPi/f/xb31901113/fKXv3zmmWdefvll/YLWrl2rifWDcnMCAOqPr1Z9a8liu2TY8Mmr//rBp36hapVihj0i1FXpUHviCcBW3y4zBjc2NlqVe86cOUNDQ660RFUKwGNjYwsWLGhra3OvpxoBeIIkBuAnn3zymmuuWbhwoT6t0q9OtW9EtW7dOtXvX3311Svu2GQ/xT9f9PaP7l+hgK0K/ZYtW3Qqt59WBC0tLVq4VuFWBiSNjl6du1esWKEf3ZdvuPwjl/3HK6+/6sc//vEdd9zxwAMPPPbYY7/+9a91nGsaDnUAgK9WXfXTa6xied4Vn7z13tteeOGF119/fdeuXYcPH6YFuMbFGYBtiBaDlX7nz59v46qKRP7YBOB6lKwArIPpkUceWbx48be//e2rrrpq//797e3tO8uwY8eOrVu3KkJffc/2j37ngKLv008/rfSr0/dbb721e/du/evibOksQm/fvt2tDEga/UC2bdu2cePG11577Z/+6Z8efvjh5ubmZcuWaVypWKf1DRs26DeiadwMAIA65qtVi+/87vlXfuq2+35i1SqlX10puru7BwYGVJejD3AtCybJ7zzpMqpGKltiL4NDSTFY9f+ZM2dmp1YlYVcLP+ss1VhUYvn2hhtuCBYGp5w3b54PwE1NTVZo0TrnvDqAGxoarGT69Ol2U8OsWbOsZNq0aaodBaex1unQkuNHAJ5A31B2AFahe7uW6PC655579P2JMvCiRYv0Ufv6+nozNBLB4cOHDx48uGfPHqviW1vW5s2btR90mtZb+oGp5LnnnnviiSceK87jjz++fPlyLU3nekX0Q4cOuZUBCaTfyIEDB/Qb2bJly5oMhd7t27fv3btXvxGd9zVB5B8gACBNClSr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" + } + }, + "cell_type": "markdown", + "id": "6be015ee", + "metadata": {}, + "source": [ + "![design_discharge_ultra_supercritical_powerplant.png](attachment:design_discharge_ultra_supercritical_powerplant.png)" + ] + }, + { + "cell_type": "markdown", + "id": "f6a57422", + "metadata": {}, + "source": [ + "The discharge design model follows the same structure as the charge model. To start its construction, use the same Pyomo and IDAES libraries used in the charge model. Note: since the libraries were already imported during the construction of the design charge model, there is no need to import them again here. Also, import the discharge design model `discharge_design_ultra_supercritical_power_plant.py`, available in the DISPATCHES repository, as `d_usc`." + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "afe3fea0", + "metadata": {}, + "outputs": [], + "source": [ + "from dispatches.models.fossil_case.ultra_supercritical_plant.storage import (\n", + " discharge_design_ultra_supercritical_power_plant as d_usc)" + ] + }, + { + "cell_type": "markdown", + "id": "054fd61a", + "metadata": {}, + "source": [ + "After all the imports, build the ultra-supercritical plant base model, followed by its initialization using the `initialize` method in the power plant model `usc`." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "f03d3996", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model Initialization = optimal\n", + "******************* USC Model Initialized ********************\n" + ] + } + ], + "source": [ + "m = usc.build_plant_model()\n", + "\n", + "usc.initialize(m, outlvl=idaeslog.WARNING)" + ] + }, + { + "cell_type": "markdown", + "id": "af253f69", + "metadata": {}, + "source": [ + "Import the Solar salt property package" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "7926c805", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.solar_salt_properties = solarsalt_properties.SolarsaltParameterBlock()" + ] + }, + { + "cell_type": "markdown", + "id": "81a650ed", + "metadata": {}, + "source": [ + "Declare a block `discharge` in the flowsheet model to include the units, constraints, and discrete design decisions needed in the discharge storage system. Once built, add the data to the block using the `_add_data` method from the discharge design model `d_usc`." + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "88e5f5e9", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.discharge = Block()\n", + "\n", + "d_usc._add_data(m)" + ] + }, + { + "cell_type": "markdown", + "id": "96d353d2", + "metadata": {}, + "source": [ + "Add unit models nedded in the discharge storage system." + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "5dc1e25f", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.discharge.hxd = HeatExchanger(\n", + " default={\"delta_temperature_callback\": delta_temperature_underwood_callback,\n", + " \"shell\": {\"property_package\": m.fs.solar_salt_properties},\n", + " \"tube\": {\"property_package\": m.fs.prop_water}}\n", + ")\n", + "m.fs.discharge.es_split = HelmSplitter(\n", + " default={\"property_package\": m.fs.prop_water,\n", + " \"outlet_list\": [\"to_fwh\", \"to_hxd\"]}\n", + ")\n", + "m.fs.discharge.es_turbine = HelmTurbineStage(\n", + " default={\"property_package\": m.fs.prop_water}\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "f164f061", + "metadata": {}, + "source": [ + "Using the Solar salt as the storage material in the discharge heat exchanger `HXD`, calculate the overall heat transfer coefficient for the heat exchanger using the method `_solar_salt_ohtc_calculation` from the discharge design model `d_usc`." + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "1f164e2b", + "metadata": {}, + "outputs": [], + "source": [ + "d_usc._solar_salt_ohtc_calculation(m)" + ] + }, + { + "cell_type": "markdown", + "id": "0e202175", + "metadata": {}, + "source": [ + "Connect the discharge heat exchanger to the power plant and to the storage turbine using `Arcs`." + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "d7bccb4a", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.discharge.essplit_to_hxd = Arc(\n", + " source=m.fs.discharge.es_split.to_hxd,\n", + " destination=m.fs.discharge.hxd.inlet_2,\n", + " doc=\"Connection from ES splitter to HXD\"\n", + ")\n", + "m.fs.discharge.hxd_to_esturbine = Arc(\n", + " source=m.fs.discharge.hxd.outlet_2,\n", + " destination=m.fs.discharge.es_turbine.inlet,\n", + " doc=\"Connection from HXD to ES turbine\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "17c27002", + "metadata": {}, + "source": [ + "Declare the discrete decisions for the condensate source selection as disjuncts using Pyomo `Disjunct` and `Disjunction` modeling objects. Disjunction 1 includes two disjuncts to select between a condensate from the condenser pump `CP` or the booster pump `BP`." + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "0a1dd2e1", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.discharge.condpump_source_disjunct = Disjunct()\n", + "m.fs.discharge.booster_source_disjunct = Disjunct()\n", + "\n", + "m.fs.hxd_source_disjunction = Disjunction(\n", + " expr=[m.fs.discharge.condpump_source_disjunct,\n", + " m.fs.discharge.booster_source_disjunct]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "701eec2f", + "metadata": {}, + "source": [ + "Populate disjunct 1 for the selection of the condenser pump as the condensate source by including `Arcs` to connect the condenser pump to the splitter to divert a fraction of the condensate to the discharge storage system. The rest of the condensate is sent back to the feed water 1. " + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "7a7e601c", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.discharge.condpump_source_disjunct.condpump_to_essplit = Arc(\n", + " source=m.fs.cond_pump.outlet,\n", + " destination=m.fs.discharge.es_split.inlet,\n", + " doc=\"Connection from condenser pump to storage splitter\"\n", + ")\n", + "m.fs.discharge.condpump_source_disjunct.essplit_to_fwh1 = Arc(\n", + " source=m.fs.discharge.es_split.to_fwh,\n", + " destination=m.fs.fwh[1].inlet_2,\n", + " doc=\"Connection from storage splitter to feed water heater 1\"\n", + ")\n", + "m.fs.discharge.condpump_source_disjunct.booster_to_fwh6 = Arc(\n", + " source=m.fs.booster.outlet,\n", + " destination=m.fs.fwh[6].inlet_2,\n", + " doc=\"Connection from booster to feed water heater 6\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "6e80c296", + "metadata": {}, + "source": [ + "Populate disjunct 2 for the selection of the booster pump as the condensate source by including `Arcs` to connect the booster pump to the splitter to divert a fraction of the condensate to the discharge storage system. The rest of the condensate is sent back to the feed water 6." + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "1263e3a1", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.discharge.booster_source_disjunct.booster_to_essplit = Arc(\n", + " source=m.fs.booster.outlet,\n", + " destination=m.fs.discharge.es_split.inlet,\n", + " doc=\"Connection from Booster pump to storage splitter\"\n", + ")\n", + "m.fs.discharge.booster_source_disjunct.essplit_to_fwh6 = Arc(\n", + " source=m.fs.discharge.es_split.to_fwh,\n", + " destination=m.fs.fwh[6].inlet_2,\n", + " doc=\"Connection from storage splitter to feed water heater 6\"\n", + ")\n", + "m.fs.discharge.booster_source_disjunct.condpump_to_fwh1 = Arc(\n", + " source=m.fs.cond_pump.outlet,\n", + " destination=m.fs.fwh[1].inlet_2,\n", + " doc=\"Connection from condenser pump to feed water heat 1\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d3ac11dd", + "metadata": {}, + "source": [ + "Once the disjunction is declared, declare a new expression `net_power` to calculate the power plant net power, which accounts for the power produced by the power plant and the storage turbine. " + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "681ad288", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.net_power = pyo.Expression(\n", + " expr=(m.fs.plant_power_out[0]\n", + " + (m.fs.discharge.es_turbine.control_volume.work[0] * (-1e-6)))\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "16659c7b", + "metadata": {}, + "source": [ + "Include four constraints to ensure that the units in the storage system and power plant operate at the desired conditions. Include the first constraint to fix the storage turbine pressure to be at the saturation conditions to ensure a saturated steam in the turbine." + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "09cd210e", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.discharge.es_turbine.constraint_esturbine_temperature_out = Constraint(\n", + " expr=(\n", + " m.fs.discharge.es_turbine.control_volume.properties_out[0].temperature ==\n", + " m.fs.discharge.es_turbine.control_volume.properties_out[0].temperature_sat\n", + " ),\n", + " doc=\"Turbine outlet should be a saturated steam\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d543ac9c", + "metadata": {}, + "source": [ + "Include three constraints to calculate the fuel heat duty and the boiler and cycle efficiencies." + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "01748f5f", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.boiler_efficiency = pyo.Var(initialize=0.9,\n", + " bounds=(0, 1),\n", + " doc=\"Boiler efficiency\")\n", + "m.fs.boiler_efficiency_eq = pyo.Constraint(\n", + " expr=m.fs.boiler_efficiency == (\n", + " 0.2143 *\n", + " (m.fs.net_power / power_max) +\n", + " 0.7357\n", + " ),\n", + ")\n", + "m.fs.coal_heat_duty = pyo.Var(\n", + " initialize=1000,\n", + " bounds=(0, 1e5),\n", + " doc=\"Coal heat duty supplied to boiler (MW)\")\n", + "\n", + "m.fs.coal_heat_duty_eq = pyo.Constraint(\n", + " expr=m.fs.coal_heat_duty *\n", + " m.fs.boiler_efficiency ==\n", + " m.fs.plant_heat_duty[0]\n", + ")\n", + "\n", + "m.fs.cycle_efficiency = pyo.Var(initialize=0.4,\n", + " bounds=(0, 1),\n", + " doc=\"Cycle efficiency\")\n", + "m.fs.cycle_efficiency_eq = pyo.Constraint(\n", + " expr=(\n", + " m.fs.cycle_efficiency *\n", + " m.fs.coal_heat_duty\n", + " ) == m.fs.net_power,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "bc548b0c", + "metadata": {}, + "source": [ + "Once all the `Arcs` in the flowsheet are defined, expand them using the Pyomo `TransformationFactory` to create the actual model constraints needed to describe the connections between the units." + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "daaad961", + "metadata": {}, + "outputs": [], + "source": [ + "expand_arcs.obj_iter_kwds['descend_into'] = (Block, Disjunct)\n", + "\n", + "TransformationFactory(\"network.expand_arcs\").apply_to(m.fs.discharge)" + ] + }, + { + "cell_type": "markdown", + "id": "ea178931", + "metadata": {}, + "source": [ + "Fix inputs to the model to solve a square problem during initialization. " + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "f17aff81", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.discharge.hxd.area.fix(2000)\n", + "\n", + "m.fs.discharge.hxd.inlet_1.flow_mass.fix(200)\n", + "m.fs.discharge.hxd.inlet_1.temperature.fix(831.15)\n", + "m.fs.discharge.hxd.inlet_1.pressure.fix(101325)\n", + "\n", + "m.fs.discharge.es_split.inlet.flow_mol.fix(17854)\n", + "m.fs.discharge.es_split.inlet.enth_mol.fix(52232)\n", + "m.fs.discharge.es_split.inlet.pressure.fix(3.4958e7)\n", + "\n", + "m.fs.discharge.es_split.split_fraction[0, \"to_hxd\"].fix(0.2)\n", + "\n", + "m.fs.discharge.es_turbine.constraint_esturbine_temperature_out.deactivate()\n", + "m.fs.discharge.es_turbine.outlet.pressure.fix(6896)\n", + "m.fs.discharge.es_turbine.efficiency_isentropic.fix(0.8)" + ] + }, + { + "cell_type": "markdown", + "id": "5832120d", + "metadata": {}, + "source": [ + "Solve initialization of the discharge storage untis. Add the `assert` keyword to check that there are zero degrees of freedom before the solution of initialization flowsheet." + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "da4d52a4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-06-24 11:06:17 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: fs.discharge.hxd.shell.properties_in Initialisation Step 1 Complete.\n", + "2022-06-24 11:06:17 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: Initialization Step 1 Complete.\n", + "2022-06-24 11:06:17 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: fs.discharge.hxd.shell.properties_out Initialisation Step 1 Complete.\n", + "2022-06-24 11:06:17 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: Initialization Step 1 Complete.\n", + "2022-06-24 11:06:17 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: State Released.\n", + "2022-06-24 11:06:18 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: State Released.\n", + " Discharge initialization solver termination: optimal\n" + ] + } + ], + "source": [ + "outlvl = idaeslog.WARNING\n", + "\n", + "m.fs.discharge.es_split.initialize(outlvl=outlvl)\n", + "\n", + "propagate_state(m.fs.discharge.essplit_to_hxd)\n", + "m.fs.discharge.hxd.initialize(outlvl=outlvl)\n", + "\n", + "propagate_state(m.fs.discharge.hxd_to_esturbine)\n", + "m.fs.discharge.es_turbine.initialize(outlvl=outlvl)\n", + "m.fs.discharge.es_turbine.constraint_esturbine_temperature_out.activate()\n", + "m.fs.discharge.es_turbine.outlet.pressure.unfix()\n", + "\n", + "assert degrees_of_freedom(m) == 0\n", + "\n", + "discharge_init = solver.solve(m)\n", + "\n", + "print(' Discharge initialization solver termination:', discharge_init.solver.termination_condition)" + ] + }, + { + "cell_type": "markdown", + "id": "2a79da96", + "metadata": {}, + "source": [ + "Add operating and capital costs for the discharge storage system using the method `build_costing` from the discharge design model `d_usc`. This method estimates Solar salt heat exchanger cost using the IDAES costing method with default options. To compute costs that are not included in the costing method, the `build_costing` method includes a set of expressions and constraints for their calculation." + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "ed8b27d1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Cost initialization solver termination: optimal\n", + "******************** Costing Initialized *************************\n", + "\n", + "\n" + ] + } + ], + "source": [ + "d_usc.build_costing(m, solver=solver)" + ] + }, + { + "cell_type": "markdown", + "id": "813aef1e", + "metadata": {}, + "source": [ + "Set lower and upper bounds to flow, energy, and cost variables for all the units in the discharge storage system." + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "41b1a978", + "metadata": {}, + "outputs": [], + "source": [ + "d_usc.add_bounds(m, power_max=power_max)" + ] + }, + { + "cell_type": "markdown", + "id": "62ae6816", + "metadata": {}, + "source": [ + "Disconnect arcs from the ultra-supercritical plant model base model to connect the discharge storage system units." + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "433acf0c", + "metadata": {}, + "outputs": [], + "source": [ + "for arc_s in [m.fs.condpump_to_fwh1,\n", + " m.fs.booster_to_fwh6]:\n", + " arc_s.expanded_block.enth_mol_equality.deactivate()\n", + " arc_s.expanded_block.flow_mol_equality.deactivate()\n", + " arc_s.expanded_block.pressure_equality.deactivate()" + ] + }, + { + "cell_type": "markdown", + "id": "491772e1", + "metadata": {}, + "source": [ + "To solve the conceptual discharge design problem, unfix inputs that were fixed during initialization. For the discharge storage system, unfix the boiler flow at the inlet and the flow to the storage system splitters, including the inlet flow for the storage heat exchanger. Also, fix the amount of power produced by the plant and the storage heat exchanger heat duty." + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "011cb0fb", + "metadata": {}, + "outputs": [], + "source": [ + "m.fs.boiler.inlet.flow_mol.unfix()\n", + "m.fs.discharge.es_split.split_fraction[0, \"to_hxd\"].unfix()\n", + "m.fs.discharge.es_split.inlet.unfix()\n", + "m.fs.discharge.hxd.inlet_1.flow_mass.unfix()\n", + "m.fs.discharge.hxd.area.unfix()\n", + "\n", + "m.fs.plant_power_out.fix(400)\n", + "m.fs.boiler.outlet.pressure.fix(m.main_steam_pressure)\n", + "m.fs.discharge.hxd.heat_duty.fix(148.5e6)" + ] + }, + { + "cell_type": "markdown", + "id": "55ec3110", + "metadata": {}, + "source": [ + "Include a total cost function that includes only the operating and capital costs of the storage system as the objective function during the design optimization problem." + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "68cc60b5", + "metadata": {}, + "outputs": [], + "source": [ + "m.obj = Objective(\n", + " expr=(\n", + " m.fs.discharge.capital_cost +\n", + " m.fs.discharge.operating_cost\n", + " ) * 1e-7\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "918ccf50", + "metadata": {}, + "source": [ + "Declare the solver to be `gdpopt` and add the desired options to use." + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "778f7908", + "metadata": {}, + "outputs": [], + "source": [ + "opt = SolverFactory('gdpopt')\n", + "opt.CONFIG.strategy = 'LOA'\n", + "opt.CONFIG.mip_solver = 'cbc'\n", + "opt.CONFIG.nlp_solver = 'ipopt'\n", + "opt.CONFIG.init_strategy = \"no_init\"\n", + "_prop_bnds_root_to_leaf_map[ExternalFunctionExpression] = lambda x, y, z: None" + ] + }, + { + "cell_type": "markdown", + "id": "b5d4ad22", + "metadata": {}, + "source": [ + "Solve the conceptual design of the discharge ultra-supercritical model." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aefbf5f0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO: Original model has 567 constraints (153 nonlinear) and 1 disjunctions,\n", + " with 562 variables, of which 2 are binary, 0 are integer, and 560 are\n", + " continuous.\n", + "INFO: Starting GDPopt version 20.2.28 using LOA algorithm\n", + "INFO: Subsolvers:\n", + " - MILP: cbc\n", + " - NLP: ipopt\n", + " - MINLP: baron\n", + " - local MINLP: bonmin\n", + "INFO: If you use this software, you may cite the following:\n", + " - Implementation:\n", + " Chen, Q; Johnson, ES; Bernal, DE; Valentin, R; Kale, S; Bates, J; Siirola,\n", + " JD; Grossmann, IE. Pyomo.GDP: an ecosystem for logic based modeling and\n", + " optimization development. Optimization and Engineering, 2021.\n", + " - LOA algorithm:\n", + " Türkay, M; Grossmann, IE. Logic-based MINLP algorithms for the optimal\n", + " synthesis of process networks. Comp. and Chem. Eng. 1996, 20(8), 959–978.\n", + " DOI: 10.1016/0098-1354(95)00219-7.\n", + "INFO: ---Starting GDPopt initialization---\n", + "INFO: ---GDPopt Master Iteration 1---\n", + "INFO: ITER 1.1.0-MIP: OBJ: 0 LB: 0 UB: inf\n", + "INFO: Solving nonlinear subproblem for fixed binaries and logical\n", + " realizations.\n", + "INFO: ITER 1.1.1-NLP: OBJ: 1.485093079 LB: 0 UB: 1.485093079 (IMPROVED)\n", + "INFO: Added 153 OA cuts\n", + "INFO: Adding integer cut\n", + "INFO: ---GDPopt Master Iteration 2---\n", + "INFO: ITER 2.1.0-MIP: OBJ: 1.461655977 LB: 1.461655977 UB: 1.485093079\n", + "INFO: Solving nonlinear subproblem for fixed binaries and logical\n", + " realizations.\n" + ] + } + ], + "source": [ + "discharge_result = opt.solve(m)" + ] + }, + { + "cell_type": "markdown", + "id": "d59dc90a", + "metadata": {}, + "source": [ + "Print the optimal discharge design" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "874b1a30", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"**Discrete design decisions (Disjunction)\")\n", + "for d in m.component_data_objects(ctype=Disjunct,\n", + " active=True,\n", + " sort=True, descend_into=True):\n", + " if abs(d.binary_indicator_var.value - 1) < 1e-6:\n", + " print(d.name, ' should be selected!')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/double_loop_integrated_ultrasupercritical_power_plant.ipynb b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/double_loop_integrated_ultrasupercritical_power_plant.ipynb new file mode 100644 index 000000000..4b308875d --- /dev/null +++ b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/double_loop_integrated_ultrasupercritical_power_plant.ipynb @@ -0,0 +1,11223 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "498cf0b4", + "metadata": {}, + "source": [ + "## Double-loop Framework Implementation with Fossil Case: Integrated Ultra-supercritical Power Plant Model\n" + ] + }, + { + "cell_type": "markdown", + "id": "595e8b1e", + "metadata": {}, + "source": [ + "Author: Naresh Susarla (naresh.susarla@netl.doe.gov)" + ] + }, + { + "cell_type": "markdown", + "id": "a9094682", + "metadata": {}, + "source": [ + "This notebook presents an implementation of the double-loop framework for the fossil case study using the integrated ultra-supercritical power plant model with a molten-salt based thermal energy storage. In order to run this notebook, we need multiple packages including, DISPATCHES, IDAES, and gridx-prescient." + ] + }, + { + "cell_type": "markdown", + "id": "112e52dd", + "metadata": {}, + "source": [ + "For a given integrated energy system, the double loop workflow has six key steps:\n", + "\n", + " 1. Forecasting: Generate plausible price forcasts for the bidding horizon (chosen to be 48 hours).\n", + " 2. Bidding: Formulate and solve a multi-period bidding problem for the generated set of forcasted price signals. The solution of the bidding problem yields a time-varying bid curve.\n", + " 3. Day Ahead (DA) Market: Using the bid curve generated in the previous step, solve the unit commitment problem for the day ahead market.\n", + " 4. Real Time Market: Fix unit commitment decisions and solve the unit commitment problem for the real time market. The solution yields real time local marginal prices and the optimal dispatch profile for each generator.\n", + " 5. Tracking: Formulate and solve a tracking problem to track the optimal dispatch profile obtained in the previous step, and minimize under-production/over-production of electricity.\n", + " 6. Settlement: Compute all the cash flows" + ] + }, + { + "cell_type": "markdown", + "id": "a058f475", + "metadata": {}, + "source": [ + "To start the analysis, first import all necessary modules and packages including Prescient simulator and `MultiPeriodUsc` class. `MultiPeriodUsc` builds a multi-period model of the integrated ultra-supercritical power plant model with a molten salt energy storage." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6607a30d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Interactive Python mode detected; using default matplotlib backend for plotting.\n" + ] + } + ], + "source": [ + "# Import Python library packages\n", + "from types import ModuleType\n", + "import pandas as pd\n", + "from importlib import resources\n", + "\n", + "# Import Pyomo packages\n", + "import pyomo.environ as pyo\n", + "\n", + "# Import IDAES packages\n", + "from idaes.apps.grid_integration import Tracker\n", + "from idaes.apps.grid_integration import Bidder\n", + "from idaes.apps.grid_integration import PlaceHolderForecaster\n", + "from idaes.apps.grid_integration import DoubleLoopCoordinator\n", + "from idaes.apps.grid_integration.model_data import GeneratorModelData\n", + "\n", + "# Import Prescient simulator\n", + "from prescient.simulator import Prescient\n", + "\n", + "# Import integrated ultra-supercritical power plant with energy storage model\n", + "from multiperiod_double_loop_usc import MultiPeriodUsc\n", + "from dispatches_sample_data import rts_gmlc" + ] + }, + { + "cell_type": "markdown", + "id": "fa7bd5c1", + "metadata": {}, + "source": [ + "Following the imports, set up the fossil generator characteristics using a `model_data` object as shown below. The fossil generator used in this analysis is the integrated ultra-supercritical power plant, refered to in this analysis as the fossil-based integrated energy system (IES). A more detailed explanation of the integrated model is given in the notebook `integrated_storage_with_powerplant`. The double-loop model parameters are the number of hours for the bidding and tracking models, number of scenarios to use, and the number of days for simulation. The fossil generator data included in `model_data` and needed during this analysis is given and described in the list below: " + ] + }, + { + "cell_type": "markdown", + "id": "4693c38f", + "metadata": {}, + "source": [ + " - gen_name: The ID of the generator in the RTS - GMLC that is being replaced by the fossil-based IES. The chosen generator name `gen_name` is `102_STEAM_3`\n", + " - generator_type: Accepts either `thermal` or `renewable`. We choose `thermal` for both fossil generators\n", + " - p_min: Minimum power output to the grid in MW. The minimum power output to the grid for this IES is 286 MW\n", + " - p_max: Maximum power output to the grid in MW. The maximum power output to the grid for this IES is 460 MW\n", + " - min_down_time: Mininum downtime after the generator is shutdown. The minimum downtime for this IES is 4 hours\n", + " - min_up_time: Minimum uptime after the generator is turned on. The minimum uptime for this IES is 8 hours\n", + " - ramp_up_60min: Ramp up rate in MW/hr. The default ramp up rate for this IES is 60 MW/hr\n", + " - ramp_down_60min: Ramp down rate in MW/hr. The default ramp down rate for this IES is the same as the ramp up rate, 60 MW/hr\n", + " - shutdown_capacity: Power output when shutdown is initiated in MW. For this IES, during shutdown the plant operates at p_min\n", + " - startup_capacity: Power output when the generator is turned on. For this IES, during startup, the plant operates at p_min as considered during shotdown\n", + " - production_cost_bid_pairs: Cost of production of electricity in \\\\$/MW as function of power output in MW\n", + " - startup_cost_pairs: (Number of hours after shutdown, cost of startup)\n", + " - fixed_commitment: 0/1 indicates that plant shutdown is allowed/not allowed" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "61d7856a", + "metadata": {}, + "outputs": [], + "source": [ + "generator_data = {\n", + " \"gen_name\": \"102_STEAM_3\",\n", + " \"generator_type\": \"thermal\",\n", + " \"p_min\": 286,\n", + " \"p_max\": 460,\n", + " \"min_down_time\": 4,\n", + " \"min_up_time\": 8,\n", + " \"ramp_up_60min\": 60,\n", + " \"ramp_down_60min\": 60,\n", + " \"shutdown_capacity\": 286,\n", + " \"startup_capacity\": 286,\n", + " \"production_cost_bid_pairs\": [\n", + " (286, 22.16602),\n", + " (350, 19.0723),\n", + " (400, 18.29703),\n", + " (430, 17.71727),\n", + " (460, 17.71727),\n", + " ],\n", + " \"startup_cost_pairs\": [(4, 7355.42), (10, 10488.35), (12, 11383.41)],\n", + " \"fixed_commitment\": 1,\n", + "}\n", + "\n", + "model_data = GeneratorModelData(**generator_data)" + ] + }, + { + "cell_type": "markdown", + "id": "adae2723", + "metadata": {}, + "source": [ + "Next, we set the following parameters needed for the double loop workflow:\n", + " - tracking_horizon: Length of the tracking horizon. We choose it to be 10 hours\n", + " - bidding_horizon: Length of the bidding horizon. We choose it to be 48 hours\n", + " - n_scenario: Number of scenarios to be considered for the bidding problem. The file `idaes.apps.grid_integration.examples.lmp_forecasts_concat.csv` includes the data for ten scenarios, so we can choose any number between 1 and 10\n", + " - n_tracking_hour: Frequency at which the tracking problem needs to be solved (every hour)\n", + " - num_days: Simulation horizon (number of days). For this demonstration, 2 days is chosen for this simulation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11c77c81", + "metadata": {}, + "outputs": [], + "source": [ + "tracking_horizon = 10 # hours\n", + "bidding_horizon = 48 # hours\n", + "n_scenario = 1 # for bidding\n", + "n_tracking_hour = 1 # advance n_tracking_hour (i.e. assume we solve every hour)\n", + "num_days = 2" + ] + }, + { + "cell_type": "markdown", + "id": "eb98132b", + "metadata": {}, + "source": [ + "Set up the solver and the forecaster objects." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "72dac94e", + "metadata": {}, + "outputs": [], + "source": [ + "# Create solver\n", + "solver = pyo.SolverFactory(\"ipopt\")\n", + "solver.options = {\n", + " \"max_iter\": 200,\n", + "}\n", + "\n", + "# Create forecaster object\n", + "with resources.open_text(\"idaes.apps.grid_integration.examples\", \"lmp_forecasts_concat.csv\") as f:\n", + " price_forecasts_df = pd.read_csv(f)\n", + "forecaster = PlaceHolderForecaster(price_forecasts_df=price_forecasts_df)" + ] + }, + { + "cell_type": "markdown", + "id": "aea6ba8c", + "metadata": {}, + "source": [ + "Set up the objects for Tracker, Bidder, and Coordinator." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "4611e3df", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n" + ] + } + ], + "source": [ + "# Tracker\n", + "mp_usc_tracker = MultiPeriodUsc(\n", + " horizon=tracking_horizon,\n", + " model_data=model_data\n", + ")\n", + "\n", + "thermal_tracker = Tracker(\n", + " tracking_model_object=mp_usc_tracker,\n", + " n_tracking_hour=n_tracking_hour,\n", + " solver=solver,\n", + ")\n", + "\n", + "# Projection Tracker\n", + "mp_usc_projection_tracker = MultiPeriodUsc(\n", + " horizon=tracking_horizon,\n", + " model_data=model_data\n", + ")\n", + "\n", + "thermal_projection_tracker = Tracker(\n", + " tracking_model_object=mp_usc_projection_tracker,\n", + " n_tracking_hour=n_tracking_hour,\n", + " solver=solver,\n", + ")\n", + "\n", + "# Bidder\n", + "mp_usc_bidder = MultiPeriodUsc(\n", + " horizon=bidding_horizon,\n", + " model_data=model_data\n", + ")\n", + "thermal_bidder = Bidder(\n", + " bidding_model_object=mp_usc_bidder,\n", + " n_scenario=n_scenario,\n", + " solver=solver,\n", + " forecaster=forecaster,\n", + ")\n", + "\n", + "# Coordinator\n", + "coordinator = DoubleLoopCoordinator(\n", + " bidder=thermal_bidder,\n", + " tracker=thermal_tracker,\n", + " projection_tracker=thermal_projection_tracker,\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "id": "6b2f211a", + "metadata": {}, + "source": [ + "Set up the `plugin_module` needed for the Prescient simulator" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "4a3b70af", + "metadata": {}, + "outputs": [], + "source": [ + "class PrescientPluginModule(ModuleType):\n", + " def __init__(self, get_configuration, register_plugins):\n", + " self.get_configuration = get_configuration\n", + " self.register_plugins = register_plugins\n", + "\n", + "\n", + "plugin_module = PrescientPluginModule(\n", + " get_configuration=coordinator.get_configuration,\n", + " register_plugins=coordinator.register_plugins,\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "id": "a6e289b9", + "metadata": {}, + "source": [ + "**IMPORTANT** Before proceeding with the rest of the notebook:\n", + "1. Install the `dispatches-sample-data` package by running `pip install dispatches-sample-data` in the working conda environment\n", + "\n", + "OR\n", + "\n", + "1. Download the RTS-GMLC dataset from [https://github.com/GridMod/RTS-GMLC] (or directly as a zipfile here) to your local machine\n", + "2. Update the value of the `rst_gmlc_data_dir` variable in the cell below to the appropriate location of the `RTS_Data/SourceData` subfolder on your local machine" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "86fac6ca", + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'rts_gmlc' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m~\\AppData\\Local\\Temp\\ipykernel_6120\\430502629.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# If installing the dispatches-sample-data\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mrts_gmlc_data_dir\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrts_gmlc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msource_data_path\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;31m# If downloading the data to the local machine use the following option with appropriate path\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;31m#rts_gmlc_data_dir = \"C:\\\\grid\\\\source_code\\\\Prescient\\\\downloads\\\\rts_gmlc\\\\RTS-GMLC\\\\RTS_Data\\\\SourceData\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mNameError\u001b[0m: name 'rts_gmlc' is not defined" + ] + } + ], + "source": [ + "# If installing the dispatches-sample-data\n", + "rts_gmlc_data_dir = str(rts_gmlc.source_data_path)\n", + "\n", + "# If downloading the data to the local machine use the following option with appropriate path\n", + "#rts_gmlc_data_dir = \"C:\\\\grid\\\\source_code\\\\Prescient\\\\downloads\\\\rts_gmlc\\\\RTS-GMLC\\\\RTS_Data\\\\SourceData\"\n" + ] + }, + { + "cell_type": "markdown", + "id": "61a63971", + "metadata": {}, + "source": [ + "Declare the options for Prescient simulator" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "6e46669f", + "metadata": {}, + "outputs": [], + "source": [ + "options = {\n", + " \"data_path\": rts_gmlc_data_dir,\n", + " \"input_format\": \"rts-gmlc\",\n", + " \"simulate_out_of_sample\": True,\n", + " \"run_sced_with_persistent_forecast_errors\": True,\n", + " \"output_directory\": \"bidding_multiperiod_usc\",\n", + " \"start_date\": \"2020-07-10\",\n", + " \"num_days\": num_days,\n", + " \"sced_horizon\": tracking_horizon,\n", + " \"ruc_horizon\": bidding_horizon,\n", + " \"compute_market_settlements\": True,\n", + " \"day_ahead_pricing\": \"LMP\",\n", + " \"ruc_mipgap\": 0.01,\n", + " \"symbolic_solver_labels\": True,\n", + " \"reserve_factor\": 0.0,\n", + " \"deterministic_ruc_solver\": \"gurobi\",\n", + " \"output_ruc_solutions\": True,\n", + " \"sced_solver\": \"gurobi\",\n", + " \"print_sced\": True,\n", + " \"enforce_sced_shutdown_ramprate\": True,\n", + " \"plugin\": {\n", + " \"doubleloop\": {\n", + " \"module\": plugin_module,\n", + " \"bidding_generator\": \"102_STEAM_3\",\n", + " }\n", + " }\n", + "}\n" + ] + }, + { + "cell_type": "markdown", + "id": "89675ac5", + "metadata": {}, + "source": [ + "Run Prescient simulator." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "02298741", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initializing simulation...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:304: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:304: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:304: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:304: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:304: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:304: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n", + "C:\\Users\\susarlan\\Anaconda3\\envs\\gmlc\\lib\\site-packages\\egret\\parsers\\rts_gmlc\\parser.py:256: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " df = pd.read_csv(file_name,\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Setting default t0 state in RTS-GMLC parser\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:egret:Setting default t0 state in RTS-GMLC parser\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dates to simulate: 2020-07-10 to 2020-07-11\n", + "RUC activation hours: 0\n", + "Final RUC date: 2020-07-11\n", + "Using current day's forecasts for RUC solves\n", + "Using persistent forecast error model when projecting demand and renewables in SCED\n", + "\n", + "\n", + "Extracting scenario to simulate\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 76700\n", + "Number of nonzeros in inequality constraint Jacobian.: 572\n", + "Number of nonzeros in Lagrangian Hessian.............: 23760\n", + "\n", + "Total number of variables............................: 29373\n", + " variables with only lower bounds: 0\n", + " variables with lower and upper bounds: 23997\n", + " variables with only upper bounds: 48\n", + "Total number of equality constraints.................: 29135\n", + "Total number of inequality constraints...............: 336\n", + " inequality constraints with only lower bounds: 48\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 288\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 3.1585008e+09 3.34e+08 4.02e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 2.9306829e+09 4.13e+08 3.17e+06 -1.0 5.33e+07 - 1.25e-06 1.00e+00f 1\n", + " 2 2.9306701e+09 4.13e+08 3.17e+06 -1.0 1.01e+08 - 9.05e-02 6.09e-05f 1\n", + " 3 2.9265341e+09 4.06e+08 3.12e+06 -1.0 1.13e+08 - 1.10e-01 1.80e-02f 1\n", + " 4 2.8879873e+09 3.91e+08 2.65e+06 -1.0 1.20e+08 - 1.25e-01 1.50e-01f 1\n", + " 5 2.7882727e+09 3.23e+08 1.76e+06 -1.0 1.20e+08 - 2.56e-01 3.45e-01f 1\n", + " 6 2.7502021e+09 2.92e+08 1.59e+06 -1.0 1.29e+08 - 4.76e-01 1.00e-01f 1\n", + " 7 2.7497729e+09 2.92e+08 1.59e+06 -1.0 1.96e+08 - 5.19e-01 6.61e-04f 1\n", + " 8 2.7021637e+09 2.79e+08 1.52e+06 -1.0 3.04e+08 - 2.58e-01 4.53e-02f 1\n", + " 9 2.5223751e+09 2.39e+08 1.39e+06 -1.0 3.43e+08 - 3.78e-01 1.48e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.5204838e+09 2.38e+08 1.39e+06 -1.0 3.64e+08 - 3.13e-01 1.45e-03f 1\n", + " 11 2.5195417e+09 2.36e+08 1.38e+06 -1.0 1.17e+08 - 3.27e-02 9.10e-03f 1\n", + " 12 2.5165672e+09 2.29e+08 1.33e+06 -1.0 4.34e+07 - 2.98e-03 3.17e-02f 1\n", + " 13 2.5133294e+09 2.21e+08 1.29e+06 -1.0 4.20e+07 - 6.90e-01 3.50e-02f 1\n", + " 14 2.4057009e+09 1.16e+08 5.91e+05 -1.0 5.49e+07 - 2.05e-02 5.66e-01f 1\n", + " 15 2.4016250e+09 1.12e+08 5.73e+05 -1.0 3.90e+07 - 8.23e-02 2.98e-02f 1\n", + " 16 2.4015806e+09 1.12e+08 5.73e+05 -1.0 3.99e+07 - 3.28e-01 3.18e-04f 1\n", + " 17 2.4015801e+09 1.12e+08 4.36e+07 -1.0 4.65e+07 - 5.62e-03 3.18e-06f 1\n", + " 18 2.4015801e+09 1.12e+08 1.74e+13 -1.0 4.67e+07 - 2.44e-02 6.03e-08f 1\n", + " 19r 2.4015801e+09 1.12e+08 1.00e+03 6.8 0.00e+00 - 0.00e+00 1.09e-09R 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20r 2.4015801e+09 1.17e+08 5.93e+04 6.8 7.22e+09 - 1.03e-04 4.84e-06f 1\n", + " 21r 2.4015801e+09 1.17e+08 6.12e+04 4.7 7.30e+09 - 2.55e-03 3.56e-04f 1\n", + " 22 2.4015337e+09 1.17e+08 1.98e+02 -1.0 8.71e+07 - 2.86e-02 1.44e-04f 1\n", + " 23 2.4011483e+09 1.17e+08 9.89e+02 -1.0 8.12e+07 - 5.60e-02 1.27e-03f 1\n", + " 24 2.4011089e+09 1.16e+08 3.05e+03 -1.0 1.70e+07 - 1.68e-02 4.79e-03f 1\n", + " 25 2.4010478e+09 1.14e+08 1.74e+04 -1.0 1.70e+07 - 1.03e-01 2.13e-02f 1\n", + " 26 2.4010264e+09 1.13e+08 2.35e+04 -1.0 1.66e+07 - 4.58e-02 6.15e-03f 1\n", + " 27 2.4010261e+09 1.13e+08 1.10e+06 -1.0 1.65e+07 - 3.22e-01 6.23e-05f 1\n", + " 28 2.4010261e+09 1.13e+08 4.46e+10 -1.0 1.65e+07 - 3.90e-02 9.51e-07f 1\n", + " 29 2.3975861e+09 6.02e+07 1.64e+15 -1.0 1.65e+07 - 1.17e-05 5.03e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30r 2.3975861e+09 6.02e+07 1.00e+03 6.4 0.00e+00 2.0 0.00e+00 2.32e-08R 2\n", + " 31r 2.3975861e+09 6.02e+07 3.17e+05 6.4 2.36e+09 - 5.64e-03 1.64e-04f 1\n", + " 32 2.3974678e+09 6.02e+07 4.02e+01 -1.0 8.12e+07 - 1.19e-02 3.88e-04f 1\n", + " 33 2.3960340e+09 5.99e+07 1.70e+02 -1.0 8.30e+07 - 2.57e-02 4.66e-03f 1\n", + " 34 2.3947268e+09 5.96e+07 3.23e+02 -1.0 8.36e+07 - 2.80e-02 4.20e-03f 1\n", + " 35 2.3946295e+09 5.96e+07 1.44e+04 -1.0 6.11e+07 - 9.64e-02 4.35e-04f 1\n", + " 36 2.3945008e+09 5.80e+07 1.32e+04 -1.0 8.11e+06 - 2.06e-02 2.61e-02f 1\n", + " 37 2.3944694e+09 5.54e+07 4.17e+04 -1.0 7.90e+06 - 2.48e-01 4.62e-02f 1\n", + " 38 2.3936565e+09 3.94e+07 2.06e+04 -1.0 7.54e+06 - 1.05e-01 2.94e-01f 1\n", + " 39 2.3910400e+09 2.23e+07 4.04e+04 -1.0 5.32e+06 - 7.81e-01 4.41e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 2.3630892e+09 2.41e+06 1.53e+05 -1.0 6.16e+06 - 1.34e-02 1.00e+00f 1\n", + " 41 2.3406714e+09 9.80e+05 4.44e+03 -1.0 5.58e+06 - 5.82e-01 1.00e+00f 1\n", + " 42 2.3032409e+09 3.62e+06 6.14e+03 -1.0 1.06e+07 - 2.25e-01 1.00e+00f 1\n", + " 43 2.2677512e+09 4.44e+06 5.63e+03 -1.0 1.06e+07 - 2.24e-01 1.00e+00f 1\n", + " 44 2.2372022e+09 4.20e+06 4.25e+03 -1.0 9.28e+06 - 1.84e-01 1.00e+00f 1\n", + " 45 2.2157796e+09 2.74e+06 2.09e+03 -1.0 6.66e+06 - 6.38e-01 1.00e+00f 1\n", + " 46 2.2007598e+09 1.75e+06 1.17e+03 -1.0 5.90e+06 - 4.97e-01 9.64e-01f 1\n", + " 47 2.2000145e+09 3.87e+05 1.00e+03 -1.0 1.03e+06 - 1.01e-02 8.06e-01f 1\n", + " 48 2.1999984e+09 1.45e+05 9.96e+02 -1.0 1.03e+05 - 9.15e-03 6.25e-01f 1\n", + " 49 2.1999948e+09 7.12e+04 9.51e+02 -1.0 5.85e+04 - 4.55e-02 5.09e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 2.1999891e+09 1.22e+04 6.86e+02 -1.0 8.99e+04 - 2.79e-01 8.29e-01f 1\n", + " 51 2.1999885e+09 9.11e+02 7.23e+00 -1.0 7.66e+03 - 9.89e-01 9.25e-01f 1\n", + " 52 2.1999885e+09 4.43e+00 7.23e-02 -1.0 1.89e+03 - 9.90e-01 9.95e-01f 1\n", + " 53 2.1999885e+09 1.19e-06 7.01e-04 -1.0 1.78e+05 - 9.90e-01 1.00e+00f 1\n", + " 54 2.1999885e+09 1.79e-07 1.00e-06 -1.0 2.27e+06 - 1.00e+00 1.00e+00f 1\n", + " 55 2.1999885e+09 6.33e-07 2.86e-07 -2.5 5.76e+03 - 1.00e+00 1.00e+00f 1\n", + " 56 2.1999885e+09 1.83e-07 1.41e-08 -3.8 1.07e+04 - 1.00e+00 1.00e+00f 1\n", + " 57 2.1999885e+09 1.99e-07 9.97e-09 -5.7 2.34e+03 - 1.00e+00 1.00e+00f 1\n", + "In iteration 57, 48 Slacks too small, adjusting variable bounds\n", + " 58 2.1999885e+09 2.01e-07 1.13e-08 -8.6 2.56e+02 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 58\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 2.1999884984296241e+09 2.1999884984296241e+09\n", + "Dual infeasibility......: 1.1279568263599830e-08 1.1279568263599830e-08\n", + "Constraint violation....: 2.6609216417585101e-09 2.0116567611694336e-07\n", + "Complementarity.........: 2.5902946957652803e-09 2.5902946957652803e-09\n", + "Overall NLP error.......: 2.6609216417585101e-09 2.0116567611694336e-07\n", + "\n", + "\n", + "Number of objective function evaluations = 63\n", + "Number of objective gradient evaluations = 58\n", + "Number of equality constraint evaluations = 63\n", + "Number of inequality constraint evaluations = 63\n", + "Number of equality constraint Jacobian evaluations = 61\n", + "Number of inequality constraint Jacobian evaluations = 61\n", + "Number of Lagrangian Hessian evaluations = 58\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 8.535\n", + "Total CPU secs in NLP function evaluations = 745.018\n", + "\n", + "EXIT: Optimal Solution Found.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Calculating PTDF Matrix Factorization\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:egret:Calculating PTDF Matrix Factorization\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Pyomo model construction time: 6.22\n", + "\n", + "Pyomo model solve time: 31.737099409103394\n", + "\n", + "Deterministic RUC Cost: 3933511.22\n", + "\n", + "Generator Commitments:\n", + "101_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "101_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "101_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "101_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "102_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "102_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "102_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "102_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "107_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "113_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "116_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "118_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_STEAM_2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "123_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "123_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "202_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "202_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "202_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "202_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "207_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "207_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CC_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "215_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "215_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "216_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "218_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "221_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "223_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "223_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "307_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "307_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "313_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "315_STEAM_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_7 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_8 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "316_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "318_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "321_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "322_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "322_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "323_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "323_CC_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "114_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "121_NUCLEAR_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "214_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "314_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "\n", + "Generator Dispatch Levels:\n", + "101_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_STEAM_3 : 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 66.00 76.00 76.00 76.00 66.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 76.00 76.00 76.00 76.00 60.70 47.30 45.30 75.21 76.00 76.00 \n", + "101_STEAM_4 : 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 63.10 76.00 76.00 76.00 61.10 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 76.00 76.00 76.00 76.00 63.30 60.70 45.70 60.70 76.00 76.00 \n", + "102_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_STEAM_3 : 286.00 286.00 291.00 351.00 291.00 286.00 286.00 310.73 332.56 328.10 332.99 369.94 407.46 402.78 445.93 460.00 454.92 460.00 458.20 460.00 455.25 451.43 450.99 452.52 | 454.09 451.42 452.86 452.62 411.00 351.00 291.00 286.00 286.00 286.00 325.79 361.15 \n", + "102_STEAM_4 : 45.30 45.30 45.30 45.30 45.30 45.30 45.30 45.30 45.30 45.30 45.30 45.30 45.30 45.30 45.30 55.65 45.30 47.54 45.30 55.63 45.30 45.30 45.30 45.30 | 45.30 45.30 45.30 45.30 45.30 45.30 40.00 40.00 40.00 40.00 45.30 45.30 \n", + "107_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 170.00 231.70 301.67 293.30 310.01 310.41 306.27 311.35 293.30 231.70 170.00 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "113_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_3 : 77.66 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 124.00 124.00 124.00 124.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 124.00 124.00 | 124.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 \n", + "116_STEAM_1 : 93.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 124.00 124.00 140.85 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 124.00 | 124.00 124.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 \n", + "118_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 170.00 293.30 248.07 293.30 355.00 355.00 355.00 242.70 231.70 231.70 | 224.67 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "123_STEAM_2 : 93.00 62.00 62.00 86.19 62.00 62.00 62.00 62.00 93.00 93.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 132.99 155.00 142.16 124.00 124.00 124.00 | 93.00 93.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 75.45 93.00 \n", + "123_STEAM_3 : 210.00 140.00 140.00 140.00 140.00 140.00 140.00 140.00 200.78 280.00 280.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 280.00 | 280.00 251.64 210.00 210.00 185.94 140.00 140.00 140.00 140.00 140.00 140.00 210.00 \n", + "123_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_STEAM_3 : 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 45.30 60.70 75.54 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 45.30 | 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 \n", + "202_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_STEAM_3 : 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 60.70 60.70 60.70 60.70 60.70 60.70 64.37 65.03 66.78 69.28 66.40 72.78 76.00 60.70 60.70 | 60.70 60.70 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 \n", + "202_STEAM_4 : 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 60.70 60.70 60.70 60.70 60.70 60.70 60.70 60.70 60.70 60.70 76.00 60.70 61.28 60.70 60.70 | 60.70 60.70 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 \n", + "207_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "207_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CC_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "216_STEAM_1 : 93.00 90.70 90.70 93.00 93.00 91.70 84.70 93.00 93.00 93.50 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 124.00 | 124.00 93.00 93.00 93.00 93.00 93.00 77.00 77.00 73.30 70.30 93.00 93.00 \n", + "218_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "221_CC_1 : 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 179.65 231.70 231.70 231.70 242.71 293.30 293.30 293.30 293.30 293.30 293.30 293.30 231.70 222.74 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "223_STEAM_1 : 124.00 62.00 62.00 93.00 77.00 65.00 65.00 93.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 155.00 155.00 155.00 125.37 124.00 62.00 62.00 62.00 62.00 62.00 93.00 124.00 \n", + "223_STEAM_2 : 124.00 64.00 62.00 93.00 88.64 68.00 68.00 93.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 155.00 155.00 131.73 155.00 124.00 62.00 62.00 62.00 62.00 62.00 93.00 130.33 \n", + "223_STEAM_3 : 210.00 160.00 157.00 210.00 210.00 160.00 160.00 210.00 210.00 210.00 280.00 280.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 280.00 | 210.00 210.00 210.00 210.00 210.00 159.73 143.30 141.30 140.00 140.00 210.00 210.00 \n", + "223_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "313_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 170.00 293.30 293.30 312.75 306.07 293.30 293.30 231.70 231.70 | 231.70 231.70 231.70 231.70 231.70 231.70 231.70 231.70 231.70 231.70 231.70 231.70 \n", + "315_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_7 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_8 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "316_STEAM_1 : 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 124.00 124.00 124.00 124.00 124.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 124.00 124.00 | 124.00 124.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 \n", + "318_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "321_CC_1 : 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 231.70 231.70 285.64 293.30 293.30 293.30 293.30 293.30 293.30 293.30 293.30 287.22 231.70 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "322_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 170.00 349.34 355.00 355.00 355.00 231.70 170.00 170.00 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "114_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "121_NUCLEAR_1 : 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 | 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 \n", + "214_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "314_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "\n", + "Generator Reserve Headroom:\n", + "101_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10.00 0.00 0.00 0.00 10.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 15.30 28.70 30.70 0.79 0.00 0.00 \n", + "101_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12.90 0.00 0.00 0.00 14.90 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 12.70 15.30 30.30 15.30 0.00 0.00 \n", + "102_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_STEAM_3 : 60.00 60.00 55.00 0.00 120.00 65.00 60.00 35.27 38.17 64.45 55.11 23.06 22.47 57.22 14.07 0.00 5.08 0.00 1.80 0.00 4.75 8.57 9.01 7.48 | 5.91 8.58 7.14 7.38 49.00 109.00 120.00 65.00 60.00 60.00 20.21 24.64 \n", + "102_STEAM_4 : 30.70 30.70 30.70 30.70 30.70 30.70 30.70 30.70 30.70 30.70 30.70 30.70 30.70 30.70 30.70 20.35 30.70 28.46 30.70 20.37 30.70 30.70 30.70 30.70 | 30.70 30.70 30.70 30.70 30.70 30.70 36.00 36.00 36.00 36.00 30.70 30.70 \n", + "107_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 123.30 53.33 61.70 44.99 44.59 48.73 43.65 61.70 123.30 185.00 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "113_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_3 : 77.34 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 31.00 31.00 31.00 31.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 31.00 31.00 | 31.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 \n", + "116_STEAM_1 : 62.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 31.00 31.00 14.15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 31.00 | 31.00 31.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 \n", + "118_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 61.70 106.93 61.70 0.00 0.00 0.00 112.30 123.30 123.30 | 130.33 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "123_STEAM_2 : 62.00 93.00 93.00 68.81 93.00 93.00 93.00 93.00 62.00 62.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 22.01 0.00 12.84 31.00 31.00 31.00 | 62.00 62.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 79.55 62.00 \n", + "123_STEAM_3 : 140.00 210.00 210.00 210.00 210.00 210.00 210.00 210.00 149.22 70.00 70.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 70.00 | 70.00 98.36 140.00 140.00 164.06 210.00 210.00 210.00 210.00 210.00 210.00 140.00 \n", + "123_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_STEAM_3 : 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 30.70 15.30 0.46 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 30.70 | 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 \n", + "202_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_STEAM_3 : 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 15.30 15.30 15.30 15.30 15.30 15.30 11.63 10.97 9.22 6.72 9.60 3.22 0.00 15.30 15.30 | 15.30 15.30 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 \n", + "202_STEAM_4 : 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 15.30 15.30 15.30 15.30 15.30 15.30 15.30 15.30 15.30 15.30 0.00 15.30 14.72 15.30 15.30 | 15.30 15.30 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 \n", + "207_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "207_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CC_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "216_STEAM_1 : 62.00 64.30 64.30 62.00 62.00 63.30 70.30 62.00 62.00 61.50 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 31.00 | 31.00 62.00 62.00 62.00 62.00 62.00 78.00 78.00 81.70 84.70 62.00 62.00 \n", + "218_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "221_CC_1 : 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 175.35 123.30 123.30 123.30 112.29 61.70 61.70 61.70 61.70 61.70 61.70 61.70 123.30 132.26 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "223_STEAM_1 : 31.00 93.00 93.00 62.00 78.00 90.00 90.00 62.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 29.63 31.00 93.00 93.00 93.00 93.00 93.00 62.00 31.00 \n", + "223_STEAM_2 : 31.00 91.00 93.00 62.00 66.36 87.00 87.00 62.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 23.27 0.00 31.00 93.00 93.00 93.00 93.00 93.00 62.00 24.67 \n", + "223_STEAM_3 : 140.00 190.00 193.00 140.00 140.00 190.00 190.00 140.00 140.00 140.00 70.00 70.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 70.00 | 140.00 140.00 140.00 140.00 140.00 190.27 206.70 208.70 210.00 210.00 140.00 140.00 \n", + "223_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "313_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 61.70 61.70 42.25 48.93 61.70 61.70 123.30 123.30 | 123.30 123.30 123.30 123.30 123.30 123.30 123.30 123.30 123.30 123.30 123.30 123.30 \n", + "315_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_7 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_8 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "316_STEAM_1 : 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 31.00 31.00 31.00 31.00 31.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 31.00 31.00 | 31.00 31.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 \n", + "318_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "321_CC_1 : 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 123.30 123.30 69.36 61.70 61.70 61.70 61.70 61.70 61.70 61.70 61.70 67.78 123.30 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "322_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 5.66 0.00 0.00 0.00 123.30 185.00 185.00 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "114_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "121_NUCLEAR_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "214_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "314_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "Total : 1297.04 1619.00 1619.00 1422.51 1587.06 1616.00 1618.00 1481.97 1300.09 999.25 740.76 523.41 446.74 404.18 465.66 316.70 471.69 381.43 286.76 251.03 295.56 567.39 909.28 1266.65 | 1487.54 1650.54 1868.41 1875.01 2004.06 2346.27 2423.00 2386.00 2403.00 2361.09 2131.76 1949.31 \n", + "\n", + "Fixed costs: 2732895.40\n", + "Variable costs: 1200615.82\n", + "\n", + "\n", + "Renewables curtailment summary (time-period, aggregate_quantity):\n", + "2020-07-10 01:00 50.74\n", + "2020-07-10 02:00 223.61\n", + "2020-07-10 05:00 148.57\n", + "2020-07-10 06:00 91.02\n", + "2020-07-11 06:00 81.52\n", + "2020-07-11 07:00 151.47\n", + "2020-07-11 08:00 102.07\n", + "Solving day-ahead market\n", + "Computing day-ahead prices using method LMP.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Simulating time_step 2020-07-10 00:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.5830834e+08 3.34e+08 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.5830542e+08 3.34e+08 1.26e+02 -1.0 4.01e+07 - 1.25e-06 1.60e-04f 1\n", + " 2 6.5845910e+08 3.34e+08 1.26e+02 -1.0 4.01e+07 - 1.59e-04 1.69e-04h 1\n", + " 3 6.5946225e+08 3.34e+08 1.26e+02 -1.0 4.00e+07 - 3.26e-04 9.61e-04h 1\n", + " 4 6.9376958e+08 3.02e+08 4.20e+03 -1.0 3.98e+07 - 1.28e-03 4.09e-02H 1\n", + " 5 6.9510112e+08 3.02e+08 4.19e+03 -1.0 3.84e+07 - 3.23e-02 1.32e-03h 1\n", + " 6 7.3243667e+08 2.91e+08 3.25e+03 -1.0 4.03e+07 - 4.36e-02 3.69e-02h 1\n", + " 7 1.0205778e+09 2.18e+08 9.26e+04 -1.0 3.49e+07 - 7.34e-02 2.98e-01h 1\n", + " 8 1.0458723e+09 2.10e+08 8.81e+04 -1.0 2.96e+07 - 3.90e-01 4.15e-02h 1\n", + " 9 1.6238398e+09 2.07e+08 4.64e+05 -1.0 3.21e+07 - 4.76e-01 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.6174178e+09 1.55e+08 3.42e+05 -1.0 4.21e+07 - 4.97e-01 2.61e-01h 1\n", + " 11 1.6146199e+09 1.32e+08 2.91e+05 -1.0 3.11e+07 - 6.24e-01 1.52e-01h 1\n", + " 12 1.6088872e+09 9.56e+07 2.04e+05 -1.0 2.64e+07 - 6.78e-01 2.98e-01h 1\n", + " 13 1.5916645e+09 4.91e+07 8.92e+04 -1.0 1.85e+07 - 8.08e-01 5.63e-01h 1\n", + " 14 1.5885603e+09 4.79e+07 8.70e+04 -1.0 2.13e+07 - 9.40e-01 2.52e-02h 1\n", + " 15 1.0838895e+09 2.80e+07 4.67e+04 -1.0 1.66e+08 - 5.66e-03 4.63e-01f 1\n", + " 16 1.0785628e+09 2.78e+07 4.65e+04 -1.0 1.62e+08 - 1.16e-01 4.77e-03f 1\n", + " 17 1.0774914e+09 2.78e+07 4.64e+04 -1.0 1.75e+08 - 5.16e-01 9.88e-04f 1\n", + " 18 9.0107202e+08 2.47e+07 4.12e+04 -1.0 2.54e+08 - 1.55e-02 1.14e-01f 1\n", + " 19 8.9909076e+08 2.47e+07 4.11e+04 -1.0 2.48e+08 - 2.74e-01 1.31e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 8.0700484e+08 2.32e+07 3.86e+04 -1.0 2.82e+08 - 1.56e-01 5.98e-02f 1\n", + " 21 7.0986164e+08 2.18e+07 3.63e+04 -1.0 2.93e+08 - 1.01e-01 6.02e-02f 1\n", + " 22 7.0788095e+08 2.18e+07 3.63e+04 -1.0 2.96e+08 - 2.03e-01 1.30e-03f 1\n", + " 23 7.0788068e+08 2.18e+07 3.63e+04 -1.0 3.30e+06 -4.0 2.60e-03 5.83e-05h 1\n", + " 24 6.8221427e+08 2.11e+07 3.52e+04 -1.0 3.74e+08 - 6.30e-03 3.04e-02f 1\n", + " 25 6.8068359e+08 2.11e+07 3.51e+04 -1.0 1.30e+08 - 2.17e-01 2.47e-03f 1\n", + " 26 6.5621774e+08 2.06e+07 3.43e+04 -1.0 2.72e+08 - 2.54e-03 2.25e-02f 1\n", + " 27 6.5041605e+08 2.05e+07 3.41e+04 -1.0 2.77e+08 - 3.62e-02 5.24e-03f 1\n", + " 28 6.1923153e+08 1.99e+07 3.32e+04 -1.0 2.83e+08 - 2.54e-02 2.79e-02f 1\n", + " 29 6.1710187e+08 1.98e+07 3.29e+04 -1.0 1.22e+08 - 9.24e-02 6.66e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.1541245e+08 1.87e+07 3.11e+04 -1.0 1.36e+07 - 4.25e-01 5.52e-02h 1\n", + " 31 6.1389829e+08 1.68e+07 2.79e+04 -1.0 9.15e+06 - 1.61e-02 1.03e-01h 1\n", + " 32 6.0714007e+08 9.81e+06 1.55e+04 -1.0 9.81e+06 - 4.45e-02 4.43e-01h 1\n", + " 33 6.0113697e+08 6.94e+06 1.09e+04 -1.0 1.47e+07 - 1.26e-01 3.00e-01h 1\n", + " 34 5.8630748e+08 2.91e+06 5.48e+03 -1.0 1.84e+07 - 1.75e-01 6.04e-01f 1\n", + " 35 5.8080407e+08 2.50e+06 4.74e+03 -1.0 2.84e+07 - 1.29e-01 1.56e-01f 1\n", + " 36 5.7502990e+08 2.25e+06 3.95e+03 -1.0 2.74e+07 - 3.72e-01 1.76e-01f 1\n", + " 37 5.6753998e+08 2.38e+06 3.08e+03 -1.0 2.14e+07 - 2.56e-01 2.39e-01f 1\n", + " 38 5.6228435e+08 2.48e+06 2.56e+03 -1.0 2.27e+07 - 2.56e-01 1.85e-01f 1\n", + " 39 5.6176100e+08 2.43e+06 2.50e+03 -1.0 2.44e+07 - 7.05e-01 2.12e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.5800389e+08 2.73e+06 2.19e+03 -1.0 3.19e+07 - 5.96e-01 1.36e-01f 1\n", + " 41 5.5004411e+08 4.73e+06 1.66e+03 -1.0 3.05e+07 - 1.73e-02 2.89e-01f 1\n", + " 42 5.4076811e+08 6.16e+06 1.16e+03 -1.0 3.06e+07 - 1.29e-01 3.94e-01f 1\n", + " 43 5.4058374e+08 6.09e+06 1.15e+03 -1.0 3.71e+07 - 3.50e-01 1.08e-02h 1\n", + " 44 5.2985542e+08 1.77e+07 6.32e+02 -1.0 3.76e+07 - 8.88e-02 6.61e-01f 1\n", + " 45 5.2958017e+08 1.71e+07 6.11e+02 -1.0 3.42e+07 - 1.12e-02 3.30e-02h 1\n", + " 46 5.2948721e+08 1.69e+07 6.03e+02 -1.0 3.67e+07 - 1.88e-01 1.29e-02h 1\n", + " 47 5.2910232e+08 1.60e+07 5.69e+02 -1.0 3.51e+07 - 6.22e-02 5.84e-02h 1\n", + " 48 5.2729590e+08 1.22e+07 4.01e+02 -1.0 3.40e+07 - 3.57e-01 3.18e-01f 1\n", + " 49 5.2602328e+08 8.40e+06 2.60e+02 -1.0 2.30e+07 - 2.04e-01 3.66e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.2540260e+08 5.67e+06 1.70e+02 -1.0 1.31e+07 - 4.27e-01 3.51e-01h 1\n", + " 51 5.2482537e+08 3.45e+06 7.57e+01 -1.0 1.16e+07 - 3.00e-01 5.61e-01h 1\n", + " 52 5.2455404e+08 1.58e+06 6.76e+01 -1.0 7.08e+06 - 1.09e-01 6.11e-01h 1\n", + " 53 5.2451043e+08 1.16e+06 2.33e+01 -1.0 1.66e+06 - 5.60e-01 2.68e-01h 1\n", + " 54 5.2424163e+08 1.06e+05 3.71e+01 -1.0 1.27e+06 - 3.88e-02 9.27e-01h 1\n", + " 55 5.2377369e+08 8.13e+04 3.39e+01 -1.0 1.30e+07 - 9.29e-02 2.31e-01f 1\n", + " 56 5.2376937e+08 6.75e+04 3.12e+00 -1.0 2.06e+05 - 9.87e-01 1.70e-01h 1\n", + " 57 5.2377155e+08 3.38e+02 2.64e-01 -1.0 1.07e+05 - 7.71e-01 1.00e+00h 1\n", + " 58 5.2374541e+08 1.00e+03 4.03e-02 -1.0 1.30e+05 - 8.51e-01 8.63e-01f 1\n", + " 59 5.2370603e+08 2.85e+03 8.91e+00 -1.7 2.67e+05 - 1.00e+00 7.09e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 5.2369624e+08 3.36e+02 9.94e-01 -1.7 2.64e+04 - 1.00e+00 8.89e-01h 1\n", + " 61 5.2369534e+08 1.13e+01 1.50e-05 -1.7 1.17e+04 - 1.00e+00 1.00e+00f 1\n", + " 62 5.2368911e+08 8.49e+00 2.75e+00 -3.8 2.28e+04 - 9.84e-01 6.23e-01f 1\n", + " 63 5.2368646e+08 1.73e+00 2.61e-01 -3.8 6.86e+03 - 7.25e-01 8.98e-01f 1\n", + " 64 5.2368607e+08 1.16e+02 2.39e-02 -3.8 6.82e+04 - 7.76e-01 9.06e-01h 1\n", + " 65 5.2368603e+08 2.99e+00 5.00e-07 -3.8 1.01e+04 - 1.00e+00 1.00e+00h 1\n", + " 66 5.2368596e+08 1.06e+00 3.27e-04 -5.7 5.77e+03 - 9.58e-01 9.52e-01h 1\n", + " 67 5.2368595e+08 4.93e-03 1.19e-09 -5.7 4.05e+02 - 1.00e+00 1.00e+00h 1\n", + " 68 5.2368595e+08 1.50e-04 2.82e-11 -8.6 7.03e+01 - 1.00e+00 1.00e+00h 1\n", + " 69 5.2368595e+08 6.32e-06 1.03e-03 -8.6 2.04e-02 - 1.00e+00 1.00e+00h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 5.2368595e+08 1.86e-07 1.03e-03 -8.6 1.20e-05 - 1.00e+00 1.00e+00h 1\n", + " 71 5.2368595e+08 2.24e-07 1.03e-03 -8.6 3.77e-06 - 1.00e+00 1.00e+00h 1\n", + " 72 5.2368595e+08 1.79e-07 3.93e-03 -8.6 2.38e-06 - 1.00e+00 1.00e+00h 1\n", + " 73 5.2368595e+08 2.38e-07 3.93e-03 -8.6 2.03e-06 - 1.00e+00 1.00e+00h 1\n", + " 74 5.2368595e+08 1.94e-07 1.18e-12 -8.6 3.08e-06 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 74\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.2368595248845340e+04 5.2368595248845339e+08\n", + "Dual infeasibility......: 1.1751998262750213e-12 1.1751998262750213e-08\n", + "Constraint violation....: 2.5611370801925659e-09 1.9371509552001953e-07\n", + "Complementarity.........: 2.5059479749487853e-09 2.5059479749487853e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5059479749487853e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 76\n", + "Number of objective gradient evaluations = 75\n", + "Number of equality constraint evaluations = 76\n", + "Number of inequality constraint evaluations = 76\n", + "Number of equality constraint Jacobian evaluations = 75\n", + "Number of inequality constraint Jacobian evaluations = 75\n", + "Number of Lagrangian Hessian evaluations = 74\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.999\n", + "Total CPU secs in NLP function evaluations = 103.436\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 322\n", + "Realized SOC (MPC) 76000\n", + "Fixed costs: 41023.55\n", + "Variable costs: 7921.27\n", + "\n", + "Number on/offs: 57\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 429.29\n", + "\n", + "Simulating time_step 2020-07-10 01:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.2387595e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.2386950e+08 1.00e+05 9.90e+01 -1.0 1.38e+06 - 3.46e-04 3.24e-04h 1\n", + " 2 5.2405621e+08 9.98e+04 9.99e+01 -1.0 4.67e+05 - 3.67e-04 1.33e-03h 1\n", + " 3 5.2458762e+08 9.95e+04 1.00e+02 -1.0 2.14e+05 - 1.65e-03 3.15e-03h 1\n", + " 4 5.2614609e+08 9.87e+04 1.00e+02 -1.0 1.71e+05 - 4.89e-03 8.50e-03h 1\n", + " 5 5.3086509e+08 9.61e+04 9.61e+01 -1.0 1.22e+05 - 9.67e-01 2.58e-02h 1\n", + " 6 7.0214660e+08 7.59e+02 2.80e+01 -1.0 1.60e+06 - 4.63e-02 1.00e+00h 1\n", + " 7 6.9484694e+08 4.13e+02 1.99e+01 -1.0 1.62e+06 - 2.96e-01 1.00e+00f 1\n", + " 8 6.8445320e+08 8.91e+02 7.79e+00 -1.0 2.38e+06 - 5.95e-01 1.00e+00f 1\n", + " 9 6.7631560e+08 1.14e+03 3.95e+00 -1.0 5.78e+06 - 5.24e-01 3.18e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.7615491e+08 1.14e+03 4.55e+01 -1.0 1.20e+07 - 7.59e-01 3.26e-03f 1\n", + " 11 6.6758628e+08 1.82e+03 4.52e+01 -1.0 4.62e+07 - 7.44e-02 4.68e-02f 1\n", + " 12 6.6537712e+08 1.87e+03 8.21e+01 -1.0 5.01e+07 - 6.15e-01 1.36e-02f 1\n", + " 13 6.4665909e+08 8.49e+03 7.70e+01 -1.0 1.25e+08 - 2.02e-02 5.29e-02f 1\n", + " 14 6.1987029e+08 2.39e+04 7.28e+01 -1.0 1.30e+08 - 1.46e-01 7.56e-02f 1\n", + " 15 5.9154057e+08 4.18e+04 7.09e+01 -1.0 1.62e+08 - 2.16e-01 6.71e-02f 1\n", + " 16 5.9075193e+08 4.18e+04 7.48e+01 -1.0 2.17e+08 - 2.56e-01 1.68e-03f 1\n", + " 17 5.7571934e+08 5.15e+04 7.53e+01 -1.0 3.47e+08 - 2.30e-01 2.53e-02f 1\n", + " 18 5.5238672e+08 1.36e+05 7.40e+01 -1.0 5.93e+08 - 2.09e-01 3.81e-02f 1\n", + " 19 5.2708472e+08 2.85e+05 1.64e+02 -1.0 1.14e+09 - 2.85e-01 2.71e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.2261301e+08 2.82e+05 2.47e+02 -1.0 2.79e+08 - 1.45e-01 1.34e-02f 1\n", + " 21 5.0024198e+08 2.58e+05 3.53e+02 -1.0 2.93e+08 - 4.80e-01 8.56e-02f 1\n", + " 22 4.9020127e+08 2.44e+05 2.50e+02 -1.0 2.70e+08 - 2.85e-01 5.16e-02f 1\n", + " 23 4.9003091e+08 2.28e+05 2.32e+02 -1.0 1.98e+06 - 7.15e-02 6.79e-02h 1\n", + " 24 4.8964477e+08 1.28e+05 1.60e+02 -1.0 1.07e+06 - 3.32e-01 4.38e-01h 1\n", + " 25 4.8960811e+08 4.40e+04 7.10e+01 -1.0 6.17e+04 - 5.75e-01 6.56e-01h 1\n", + " 26 4.8960016e+08 3.04e+04 2.16e+01 -1.0 1.13e+05 - 8.14e-01 3.09e-01h 1\n", + " 27 4.8958787e+08 1.92e+02 2.46e-01 -1.0 7.97e+04 - 9.90e-01 1.00e+00h 1\n", + " 28 4.8958265e+08 9.12e+01 5.10e-03 -1.0 5.50e+04 - 9.98e-01 1.00e+00h 1\n", + " 29 4.8954254e+08 1.59e+03 8.72e+00 -2.5 2.56e+05 - 8.73e-01 6.40e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 4.8953311e+08 7.39e+02 6.03e+00 -2.5 5.26e+04 - 9.54e-01 5.34e-01h 1\n", + " 31 4.8952722e+08 8.78e+01 7.43e-01 -2.5 1.29e+04 - 1.00e+00 8.81e-01h 1\n", + " 32 4.8952662e+08 6.90e+00 4.18e-06 -2.5 1.51e+04 - 1.00e+00 1.00e+00h 1\n", + " 33 4.8952538e+08 3.71e+01 4.61e-01 -3.8 3.53e+04 - 5.40e-01 9.88e-01f 1\n", + " 34 4.8952534e+08 8.97e+00 3.18e-02 -3.8 1.73e+04 - 9.33e-01 1.00e+00h 1\n", + " 35 4.8952533e+08 2.23e+00 1.93e-07 -3.8 8.59e+03 - 1.00e+00 1.00e+00h 1\n", + " 36 4.8952526e+08 8.57e-01 1.60e-03 -5.7 5.30e+03 - 9.59e-01 9.87e-01h 1\n", + " 37 4.8952526e+08 4.08e-03 6.30e-10 -5.7 3.69e+02 - 1.00e+00 1.00e+00h 1\n", + " 38 4.8952526e+08 1.79e-04 3.25e-11 -8.6 7.70e+01 - 1.00e+00 1.00e+00h 1\n", + " 39 4.8952526e+08 1.71e-07 1.08e-12 -8.6 5.23e-02 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 39\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 4.8952525566510267e+04 4.8952525566510266e+08\n", + "Dual infeasibility......: 1.0781139603648085e-12 1.0781139603648085e-08\n", + "Constraint violation....: 2.5611370801925659e-09 1.7136335372924807e-07\n", + "Complementarity.........: 2.5059050729338610e-09 2.5059050729338609e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5059050729338609e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 40\n", + "Number of objective gradient evaluations = 40\n", + "Number of equality constraint evaluations = 40\n", + "Number of inequality constraint evaluations = 40\n", + "Number of equality constraint Jacobian evaluations = 40\n", + "Number of inequality constraint Jacobian evaluations = 40\n", + "Number of Lagrangian Hessian evaluations = 39\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.489\n", + "Total CPU secs in NLP function evaluations = 51.983\n", + "\n", + "EXIT: Optimal Solution Found.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 286\n", + "Realized SOC (MPC) 76000\n", + "Fixed costs: 41023.55\n", + "Variable costs: 1162.36\n", + "\n", + "Renewables curtailment reported at t=1 - total= 51.00\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 358.29\n", + "\n", + "Simulating time_step 2020-07-10 02:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 4.8972526e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 4.8971948e+08 1.00e+05 9.90e+01 -1.0 1.38e+06 - 3.46e-04 3.24e-04h 1\n", + " 2 4.8995204e+08 9.98e+04 9.99e+01 -1.0 5.13e+05 - 3.67e-04 1.33e-03h 1\n", + " 3 4.9059669e+08 9.95e+04 1.00e+02 -1.0 2.14e+05 - 1.65e-03 3.15e-03h 1\n", + " 4 4.9367846e+08 9.81e+04 1.01e+02 -1.0 1.71e+05 - 4.89e-03 1.43e-02h 1\n", + " 5 5.0791688e+08 9.16e+04 9.07e+01 -1.0 1.23e+05 - 9.67e-01 6.66e-02h 1\n", + " 6 6.3946236e+08 2.93e+04 4.38e+01 -1.0 1.59e+06 - 1.02e-01 6.80e-01h 1\n", + " 7 6.9647006e+08 5.29e+02 2.74e+01 -1.0 1.77e+06 - 4.55e-01 1.00e+00h 1\n", + " 8 6.8410021e+08 1.64e+03 1.21e+01 -1.0 3.24e+06 - 5.65e-01 1.00e+00f 1\n", + " 9 6.7860250e+08 1.65e+03 5.43e+00 -1.0 7.39e+06 - 7.22e-01 1.94e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.7830464e+08 1.64e+03 2.48e+01 -1.0 2.56e+07 - 2.61e-01 3.41e-03f 1\n", + " 11 6.7097126e+08 2.32e+03 6.66e+01 -1.0 3.42e+07 - 5.59e-01 6.50e-02f 1\n", + " 12 6.6548477e+08 2.87e+03 6.46e+01 -1.0 7.01e+07 - 2.56e-02 2.81e-02f 1\n", + " 13 6.5163946e+08 7.01e+03 6.60e+01 -1.0 7.31e+07 - 2.31e-01 7.16e-02f 1\n", + " 14 6.0431478e+08 5.76e+04 5.19e+01 -1.0 9.92e+07 - 1.15e-01 1.83e-01f 1\n", + " 15 6.0371944e+08 5.75e+04 2.20e+02 -1.0 1.09e+08 - 6.08e-01 2.04e-03f 1\n", + " 16 5.9353736e+08 5.67e+04 2.80e+02 -1.0 3.93e+08 - 4.59e-02 1.39e-02f 1\n", + " 17 5.8342541e+08 6.15e+04 3.13e+02 -1.0 4.35e+08 - 3.75e-02 1.69e-02f 1\n", + " 18 5.8003884e+08 6.32e+04 3.49e+02 -1.0 4.78e+08 - 3.17e-02 7.53e-03f 1\n", + " 19 5.4891580e+08 2.37e+05 2.70e+02 -1.0 5.14e+08 - 2.29e-02 6.33e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.3913620e+08 2.49e+05 3.29e+02 -1.0 5.72e+08 - 6.85e-02 1.82e-02f 1\n", + " 21 5.3871133e+08 2.49e+05 4.12e+02 -1.0 2.09e+08 - 7.85e-02 1.41e-03f 1\n", + " 22 5.2575854e+08 2.40e+05 3.85e+02 -1.0 3.83e+08 - 1.27e-02 3.57e-02f 1\n", + " 23 5.2542676e+08 2.40e+05 2.15e+02 -1.0 2.16e+08 - 4.14e-01 1.67e-03f 1\n", + " 24 5.0470605e+08 2.22e+05 1.70e+02 -1.0 2.81e+08 - 8.78e-01 1.04e-01f 1\n", + " 25 5.0449797e+08 2.21e+05 2.03e+02 -1.0 5.45e+07 - 5.27e-01 5.32e-03f 1\n", + " 26 5.0445276e+08 1.87e+05 1.89e+02 -1.0 2.11e+06 - 5.97e-02 1.52e-01h 1\n", + " 27 5.0393805e+08 1.90e+06 1.66e+02 -1.0 4.66e+06 - 7.19e-02 1.00e+00h 1\n", + " 28 5.0315589e+08 5.73e+06 1.31e+02 -1.0 2.15e+07 - 2.28e-01 3.94e-01f 1\n", + " 29 5.0159296e+08 1.86e+07 9.32e+01 -1.0 5.66e+07 - 2.90e-01 3.02e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.0157742e+08 1.85e+07 5.65e+01 -1.0 7.63e+07 - 3.65e-01 2.27e-03h 1\n", + " 31 5.0157895e+08 6.13e+06 1.79e+01 -1.0 2.97e+05 - 9.82e-01 6.67e-01h 1\n", + " 32 5.0157621e+08 1.26e+04 6.41e-03 -1.0 2.03e+05 - 9.94e-01 1.00e+00h 1\n", + " 33 5.0157614e+08 1.01e+01 3.42e-06 -1.0 1.83e+04 - 1.00e+00 1.00e+00h 1\n", + " 34 5.0154448e+08 1.09e+02 1.08e+01 -2.5 9.49e+04 - 9.47e-01 7.28e-01f 1\n", + " 35 5.0153344e+08 7.27e+03 3.42e-01 -2.5 4.94e+05 - 8.68e-01 1.00e+00h 1\n", + " 36 5.0153326e+08 2.58e+02 3.01e-05 -2.5 1.04e+05 - 1.00e+00 1.00e+00h 1\n", + " 37 5.0153327e+08 2.38e-01 4.58e-08 -2.5 2.80e+03 - 1.00e+00 1.00e+00h 1\n", + " 38 5.0153198e+08 1.69e+02 1.26e-01 -3.8 7.69e+04 - 9.07e-01 1.00e+00f 1\n", + " 39 5.0153197e+08 1.33e+00 1.40e-07 -3.8 7.02e+03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.0153190e+08 7.55e-01 1.22e-07 -5.7 5.15e+03 - 1.00e+00 1.00e+00h 1\n", + " 41 5.0153190e+08 1.83e-05 1.85e-11 -5.7 2.63e+01 - 1.00e+00 1.00e+00h 1\n", + " 42 5.0153190e+08 1.16e-04 1.87e-11 -8.6 6.38e+01 - 1.00e+00 1.00e+00h 1\n", + " 43 5.0153190e+08 2.98e-07 1.27e-12 -8.6 4.08e-03 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 43\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.0153189639470875e+04 5.0153189639470869e+08\n", + "Dual infeasibility......: 1.2686991406444770e-12 1.2686991406444770e-08\n", + "Constraint violation....: 2.5611370801925659e-09 2.9802322387695312e-07\n", + "Complementarity.........: 2.5059343672423842e-09 2.5059343672423841e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5059343672423841e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 44\n", + "Number of objective gradient evaluations = 44\n", + "Number of equality constraint evaluations = 44\n", + "Number of inequality constraint evaluations = 44\n", + "Number of equality constraint Jacobian evaluations = 44\n", + "Number of inequality constraint Jacobian evaluations = 44\n", + "Number of Lagrangian Hessian evaluations = 43\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.733\n", + "Total CPU secs in NLP function evaluations = 57.293\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 286\n", + "Realized SOC (MPC) 307222\n", + "Fixed costs: 41023.55\n", + "Variable costs: 2432.98\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 74.38\n", + "\n", + "Simulating time_step 2020-07-10 03:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.0173190e+08 2.31e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 5.0172640e+08 2.31e+05 1.33e+02 -1.0 1.46e+07 - 2.34e-06 3.14e-04f 1\n", + " 2 5.0178215e+08 2.31e+05 1.33e+02 -1.0 8.95e+06 - 3.74e-05 3.32e-04h 1\n", + " 3 5.0194355e+08 2.31e+05 1.33e+02 -1.0 7.06e+05 - 1.56e-04 7.56e-04h 1\n", + " 4 5.0241567e+08 2.30e+05 1.32e+02 -1.0 4.07e+05 - 1.09e-03 1.97e-03h 1\n", + " 5 5.0354006e+08 2.29e+05 1.32e+02 -1.0 4.01e+05 - 3.28e-03 4.48e-03h 1\n", + " 6 5.0808523e+08 2.25e+05 1.30e+02 -1.0 3.87e+05 - 8.60e-03 1.80e-02h 1\n", + " 7 5.3252596e+08 2.03e+05 1.17e+02 -1.0 3.46e+05 - 6.60e-02 9.83e-02h 1\n", + " 8 5.5820788e+08 1.80e+05 1.03e+02 -1.0 2.03e+05 - 1.56e-01 1.15e-01h 1\n", + " 9 5.7613565e+08 1.64e+05 9.41e+01 -1.0 1.80e+05 - 3.02e-01 9.04e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.7645397e+08 1.63e+05 5.12e+03 -1.0 2.80e+05 - 4.63e-01 1.76e-03h 1\n", + " 11 7.5678810e+08 4.01e+02 9.15e+03 -1.0 1.17e+06 - 4.64e-01 1.00e+00h 1\n", + " 12 7.5547359e+08 2.38e+01 6.06e+03 -1.0 3.29e+05 - 4.71e-01 1.00e+00f 1\n", + " 13 7.5298187e+08 8.68e+01 1.02e+02 -1.0 6.28e+05 - 9.83e-01 1.00e+00f 1\n", + " 14 7.2664680e+08 7.81e+03 1.26e+02 -1.0 3.34e+07 - 3.25e-02 1.79e-01f 1\n", + " 15 7.2633474e+08 7.80e+03 4.19e+01 -1.0 3.57e+07 - 2.71e-01 2.07e-03f 1\n", + " 16 7.1845380e+08 8.43e+03 5.78e+01 -1.0 4.78e+07 - 3.79e-01 4.43e-02f 1\n", + " 17 7.1498910e+08 8.58e+03 1.05e+02 -1.0 7.30e+07 - 1.56e-01 1.55e-02f 1\n", + " 18 6.4702426e+08 1.07e+05 7.97e+01 -1.0 8.87e+07 - 2.38e-01 2.57e-01f 1\n", + " 19 6.4616499e+08 1.07e+05 1.70e+02 -1.0 1.18e+08 - 3.24e-01 2.36e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.3310929e+08 1.07e+05 4.94e+02 -1.0 1.85e+08 - 2.16e-01 2.73e-02f 1\n", + " 21 6.2332523e+08 1.06e+05 4.84e+02 -1.0 2.68e+08 - 1.31e-02 1.69e-02f 1\n", + " 22 6.1423143e+08 1.06e+05 4.80e+02 -1.0 2.77e+08 - 3.59e-02 1.53e-02f 1\n", + " 23 6.0867923e+08 1.05e+05 5.20e+02 -1.0 2.97e+08 - 2.67e-01 1.10e-02f 1\n", + " 24 5.6636894e+08 2.16e+05 4.85e+02 -1.0 5.27e+08 - 3.10e-02 5.50e-02f 1\n", + " 25 5.6512328e+08 2.16e+05 3.91e+02 -1.0 5.93e+08 - 3.64e-01 1.78e-03f 1\n", + " 26 5.4732537e+08 2.93e+05 3.71e+02 -1.0 1.82e+09 - 4.74e-02 1.23e-02f 1\n", + " 27 5.4341712e+08 2.89e+05 3.21e+02 -1.0 2.63e+08 - 1.13e-01 1.16e-02f 1\n", + " 28 5.2465136e+08 2.64e+05 7.71e+02 -1.0 2.68e+08 - 7.12e-01 8.91e-02f 1\n", + " 29 5.1688809e+08 2.77e+05 1.23e+03 -1.0 2.23e+08 - 8.83e-01 4.88e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.1678359e+08 2.59e+05 1.21e+03 -1.0 6.10e+06 - 9.54e-01 6.40e-02h 1\n", + " 31 5.1664140e+08 1.93e+05 8.18e+02 -1.0 7.17e+06 - 2.92e-01 3.23e-01h 1\n", + " 32 5.1541320e+08 1.48e+07 3.13e+01 -1.0 2.47e+07 - 2.14e-01 1.00e+00f 1\n", + " 33 5.1535717e+08 5.24e+06 9.36e+00 -1.0 2.47e+06 - 8.31e-01 6.99e-01h 1\n", + " 34 5.1534827e+08 5.81e+05 8.91e-01 -1.0 3.42e+06 - 4.16e-01 1.00e+00h 1\n", + " 35 5.1534773e+08 4.62e+03 3.38e-03 -1.0 1.13e+05 - 1.00e+00 1.00e+00h 1\n", + " 36 5.1530502e+08 1.08e+05 9.03e+00 -1.7 1.99e+06 - 7.06e-01 1.00e+00f 1\n", + " 37 5.1530525e+08 1.17e+03 4.90e-04 -1.7 1.92e+05 - 1.00e+00 1.00e+00h 1\n", + " 38 5.1530526e+08 5.49e+01 1.65e-05 -1.7 4.40e+04 - 1.00e+00 1.00e+00h 1\n", + " 39 5.1529645e+08 3.44e+03 4.55e-01 -3.8 4.29e+05 - 9.32e-01 8.72e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.1529534e+08 6.19e-01 5.21e-06 -3.8 9.32e+03 - 1.00e+00 1.00e+00h 1\n", + " 41 5.1529527e+08 1.35e-01 7.64e-08 -5.7 2.36e+03 - 1.00e+00 1.00e+00h 1\n", + " 42 5.1529527e+08 1.64e-07 1.85e-11 -5.7 2.51e+00 - 1.00e+00 1.00e+00h 1\n", + " 43 5.1529527e+08 2.33e-05 1.23e-11 -8.6 3.11e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 43\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.1529527003180759e+04 5.1529527003180754e+08\n", + "Dual infeasibility......: 1.2258487077399061e-11 1.2258487077399061e-07\n", + "Constraint violation....: 5.5895724693645721e-09 2.3253262042999268e-05\n", + "Complementarity.........: 2.5343652700690903e-09 2.5343652700690900e-05\n", + "Overall NLP error.......: 5.5895724693645721e-09 2.5343652700690900e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 44\n", + "Number of objective gradient evaluations = 44\n", + "Number of equality constraint evaluations = 44\n", + "Number of inequality constraint evaluations = 44\n", + "Number of equality constraint Jacobian evaluations = 44\n", + "Number of inequality constraint Jacobian evaluations = 44\n", + "Number of Lagrangian Hessian evaluations = 43\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.615\n", + "Total CPU secs in NLP function evaluations = 58.466\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 346\n", + "Realized SOC (MPC) 307222\n", + "Fixed costs: 41023.55\n", + "Variable costs: 17391.91\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 739.98\n", + "\n", + "Simulating time_step 2020-07-10 04:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.1549527e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.1548947e+08 1.00e+05 9.90e+01 -1.0 1.28e+06 - 3.46e-04 3.25e-04h 1\n", + " 2 5.1568693e+08 9.98e+04 9.99e+01 -1.0 5.40e+05 - 3.82e-04 1.34e-03h 1\n", + " 3 5.1627259e+08 9.95e+04 1.00e+02 -1.0 2.14e+05 - 1.66e-03 3.16e-03h 1\n", + " 4 5.1911639e+08 9.81e+04 1.01e+02 -1.0 1.70e+05 - 4.91e-03 1.43e-02h 1\n", + " 5 5.3226362e+08 9.15e+04 9.06e+01 -1.0 1.23e+05 - 9.67e-01 6.70e-02h 1\n", + " 6 6.4963401e+08 3.04e+04 4.43e+01 -1.0 1.95e+06 - 1.03e-01 6.69e-01h 1\n", + " 7 6.5032044e+08 3.00e+04 4.14e+02 -1.0 2.09e+06 - 9.02e-01 1.31e-02h 1\n", + " 8 6.4610107e+08 2.42e+04 3.03e+02 -1.0 2.05e+07 - 1.98e-01 2.17e-01f 1\n", + " 9 6.4598510e+08 2.42e+04 7.54e+02 -1.0 2.13e+07 - 5.52e-01 2.50e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.4262339e+08 2.36e+04 8.37e+02 -1.0 4.55e+07 - 5.58e-01 2.68e-02f 1\n", + " 11 6.3302033e+08 2.33e+04 7.95e+02 -1.0 1.01e+08 - 6.60e-02 3.84e-02f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 12 6.1807841e+08 2.42e+04 7.17e+02 -1.0 1.10e+08 - 1.54e-01 6.30e-02f 1\n", + " 13 5.8618812e+08 4.46e+04 6.20e+02 -1.0 1.37e+08 - 1.95e-01 1.07e-01f 1\n", + " 14 5.8473728e+08 4.45e+04 6.23e+02 -1.0 1.79e+08 - 2.92e-01 3.86e-03f 1\n", + " 15 5.7755545e+08 4.40e+04 6.17e+02 -1.0 2.32e+08 - 1.61e-01 2.01e-02f 1\n", + " 16 5.7117681e+08 4.30e+04 6.16e+02 -1.0 2.35e+08 - 1.96e-01 2.33e-02f 1\n", + " 17 5.4382443e+08 1.07e+05 5.59e+02 -1.0 3.09e+08 - 9.56e-03 6.66e-02f 1\n", + " 18 5.4325710e+08 1.07e+05 5.32e+02 -1.0 2.94e+08 - 7.68e-02 1.61e-03f 1\n", + " 19 5.4061627e+08 1.05e+05 3.84e+02 -1.0 2.14e+08 - 3.12e-01 1.35e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.2136861e+08 2.02e+05 3.75e+02 -1.0 2.58e+08 - 8.81e-01 1.12e-01f 1\n", + " 21 5.2117891e+08 2.01e+05 4.67e+02 -1.0 6.76e+07 - 9.46e-01 5.00e-03h 1\n", + " 22 5.2184988e+08 6.48e+04 8.69e+01 -1.0 1.34e+07 - 7.01e-01 7.95e-01h 1\n", + " 23 5.2185608e+08 6.23e+04 8.88e+01 -1.0 3.63e+06 - 4.00e-01 3.90e-02h 1\n", + " 24 5.2185570e+08 6.21e+04 8.86e+01 -1.0 8.51e+06 - 1.25e-02 2.67e-03h 1\n", + " 25 5.2206276e+08 5.56e+04 7.84e+01 -1.0 2.95e+06 - 7.42e-04 1.05e-01h 1\n", + " 26 5.2390888e+08 1.07e+05 2.46e+01 -1.0 2.80e+06 - 5.87e-01 1.00e+00h 1\n", + " 27 5.2390794e+08 9.48e+04 2.43e-01 -1.0 1.95e+06 - 9.91e-01 1.00e+00h 1\n", + " 28 5.2390789e+08 1.37e+03 1.02e-04 -1.0 1.61e+05 - 1.00e+00 1.00e+00h 1\n", + " 29 5.2386532e+08 9.67e+04 5.59e+00 -1.7 1.93e+06 - 8.19e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.2386534e+08 2.11e+05 6.93e-02 -1.7 3.34e+06 - 1.00e+00 8.80e-01h 1\n", + " 31 5.2386562e+08 2.89e+04 2.43e-03 -1.7 1.00e+06 - 1.00e+00 1.00e+00h 1\n", + " 32 5.2386555e+08 5.44e+02 3.69e-05 -1.7 1.22e+05 - 1.00e+00 1.00e+00h 1\n", + " 33 5.2385784e+08 3.15e+04 7.82e-01 -2.5 1.37e+06 - 9.78e-01 8.60e-01f 1\n", + " 34 5.2385679e+08 2.42e+02 6.24e-05 -2.5 9.30e+04 - 1.00e+00 1.00e+00h 1\n", + " 35 5.2385678e+08 1.66e+01 1.37e-06 -2.5 2.33e+04 - 1.00e+00 1.00e+00h 1\n", + " 36 5.2385555e+08 2.56e+02 7.57e-02 -3.8 1.17e+05 - 1.00e+00 9.26e-01h 1\n", + " 37 5.2385546e+08 3.01e-01 1.85e-07 -3.8 3.35e+03 - 1.00e+00 1.00e+00h 1\n", + " 38 5.2385539e+08 6.37e-01 1.75e-07 -5.7 5.44e+03 - 1.00e+00 1.00e+00h 1\n", + " 39 5.2385539e+08 1.92e-05 1.85e-11 -5.7 2.79e+01 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.2385538e+08 9.46e-05 2.61e-11 -8.6 6.63e+01 - 1.00e+00 1.00e+00h 1\n", + " 41 5.2385538e+08 2.01e-07 1.33e-12 -9.0 5.32e-02 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 41\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.2385538457580835e+04 5.2385538457580835e+08\n", + "Dual infeasibility......: 1.3255949912152969e-12 1.3255949912152969e-08\n", + "Constraint violation....: 2.5611370801925659e-09 2.0116567611694336e-07\n", + "Complementarity.........: 9.1130528740187030e-10 9.1130528740187033e-06\n", + "Overall NLP error.......: 2.5611370801925659e-09 9.1130528740187033e-06\n", + "\n", + "\n", + "Number of objective function evaluations = 42\n", + "Number of objective gradient evaluations = 42\n", + "Number of equality constraint evaluations = 42\n", + "Number of inequality constraint evaluations = 42\n", + "Number of equality constraint Jacobian evaluations = 42\n", + "Number of inequality constraint Jacobian evaluations = 42\n", + "Number of Lagrangian Hessian evaluations = 41\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.731\n", + "Total CPU secs in NLP function evaluations = 55.675\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 288\n", + "Realized SOC (MPC) 307222\n", + "Fixed costs: 41023.55\n", + "Variable costs: 2413.10\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 741.06\n", + "\n", + "Simulating time_step 2020-07-10 05:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.2404538e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.2403659e+08 1.00e+05 9.90e+01 -1.0 1.21e+06 - 4.89e-04 4.48e-04h 1\n", + " 2 5.2430221e+08 9.98e+04 9.99e+01 -1.0 3.99e+05 - 4.86e-04 1.82e-03h 1\n", + " 3 5.2488697e+08 9.94e+04 9.99e+01 -1.0 2.15e+05 - 2.27e-03 3.49e-03h 1\n", + " 4 5.2661533e+08 9.84e+04 9.97e+01 -1.0 1.49e+05 - 5.93e-03 9.83e-03h 1\n", + " 5 5.3214366e+08 9.53e+04 9.51e+01 -1.0 1.23e+05 - 7.67e-01 3.16e-02h 1\n", + " 6 7.0099770e+08 7.53e+02 6.04e+01 -1.0 3.46e+05 - 4.83e-02 1.00e+00h 1\n", + " 7 7.0013878e+08 1.46e+02 5.32e+00 -1.0 2.80e+05 - 9.90e-01 8.06e-01f 1\n", + " 8 6.9778060e+08 1.43e+02 5.85e+01 -1.0 2.54e+07 - 5.87e-02 2.51e-02f 1\n", + " 9 6.8827799e+08 1.10e+03 2.54e+02 -1.0 2.73e+07 - 2.29e-01 9.99e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.8777020e+08 1.09e+03 4.44e+02 -1.0 3.46e+07 - 1.68e-01 4.65e-03f 1\n", + " 11 6.7699163e+08 2.66e+03 9.96e+02 -1.0 4.07e+07 - 7.04e-01 8.45e-02f 1\n", + " 12 6.7298718e+08 2.63e+03 9.72e+02 -1.0 1.16e+08 - 4.97e-02 1.15e-02f 1\n", + " 13 6.6605826e+08 3.00e+03 9.64e+02 -1.0 1.24e+08 - 2.76e-01 2.22e-02f 1\n", + " 14 6.1725555e+08 8.54e+04 8.39e+02 -1.0 1.90e+08 - 5.90e-02 1.20e-01f 1\n", + " 15 6.1655147e+08 8.52e+04 8.73e+02 -1.0 1.98e+08 - 2.94e-01 1.63e-03f 1\n", + " 16 6.0597937e+08 8.37e+04 8.53e+02 -1.0 3.01e+08 - 3.43e-02 1.83e-02f 1\n", + " 17 6.0106879e+08 8.28e+04 8.34e+02 -1.0 3.05e+08 - 5.28e-02 1.07e-02f 1\n", + " 18 5.9424061e+08 8.15e+04 8.12e+02 -1.0 3.03e+08 - 5.47e-02 1.54e-02f 1\n", + " 19 5.8408661e+08 7.93e+04 7.81e+02 -1.0 3.35e+08 - 6.89e-02 2.83e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.6442944e+08 1.05e+05 7.44e+02 -1.0 3.78e+08 - 4.42e-02 4.62e-02f 1\n", + " 21 5.6370484e+08 1.05e+05 7.30e+02 -1.0 3.78e+08 - 1.72e-02 1.68e-03f 1\n", + " 22 5.5899543e+08 1.04e+05 5.50e+02 -1.0 3.63e+08 - 3.80e-01 1.24e-02f 1\n", + " 23 5.4921801e+08 1.28e+05 5.47e+02 -1.0 9.27e+08 - 1.15e-02 1.96e-02f 1\n", + " 24 5.4911906e+08 1.28e+05 2.74e+02 -1.0 5.25e+07 - 6.81e-01 3.47e-03f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 25 5.4904124e+08 3.25e+04 1.04e+02 -1.0 1.71e+05 - 8.72e-01 7.46e-01h 1\n", + " 26 5.4899830e+08 1.18e+04 4.04e+01 -1.0 6.33e+05 - 6.83e-02 1.00e+00h 1\n", + " 27 5.4472783e+08 1.59e+08 5.86e+01 -1.0 6.55e+07 - 2.88e-03 6.67e-01f 1\n", + " 28 5.4468631e+08 1.53e+08 5.38e+01 -1.0 1.31e+07 - 7.37e-01 3.61e-02h 1\n", + " 29 5.4466379e+08 5.11e+07 1.91e+01 -1.0 9.92e+06 - 6.59e-01 6.62e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.4462277e+08 4.04e+07 1.94e+01 -1.0 2.34e+07 - 6.16e-01 2.08e-01h 1\n", + " 31 5.4460230e+08 3.01e+07 2.61e+01 -1.0 4.16e+07 - 8.65e-01 2.55e-01h 1\n", + " 32 5.4460421e+08 7.00e+05 3.63e-01 -1.0 5.90e+06 - 9.90e-01 1.00e+00h 1\n", + " 33 5.4460108e+08 1.38e+06 1.21e+00 -1.0 1.84e+07 - 1.00e+00 3.95e-01h 2\n", + " 34 5.4459778e+08 3.32e+04 1.03e-03 -1.0 7.09e+05 - 1.00e+00 1.00e+00h 1\n", + " 35 5.4459768e+08 1.12e+03 1.06e-04 -1.0 2.10e+05 - 1.00e+00 1.00e+00h 1\n", + " 36 5.4455913e+08 8.38e+05 2.51e+00 -2.5 1.11e+07 - 6.79e-01 6.11e-01f 1\n", + " 37 5.4455087e+08 5.42e+05 8.77e+00 -2.5 4.44e+06 - 1.00e+00 3.93e-01h 1\n", + " 38 5.4454050e+08 2.26e+03 8.39e-04 -2.5 1.82e+05 - 1.00e+00 1.00e+00h 1\n", + " 39 5.4454049e+08 1.38e+01 2.20e-06 -2.5 2.95e+04 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.4453921e+08 3.59e+01 3.34e-02 -3.8 4.72e+04 - 1.00e+00 9.67e-01h 1\n", + " 41 5.4453917e+08 8.09e-02 3.73e-08 -3.8 1.96e+03 - 1.00e+00 1.00e+00h 1\n", + " 42 5.4453910e+08 8.46e-02 7.49e-08 -5.7 2.26e+03 - 1.00e+00 1.00e+00h 1\n", + " 43 5.4453910e+08 1.83e-06 1.85e-11 -5.7 9.86e+00 - 1.00e+00 1.00e+00h 1\n", + " 44 5.4453910e+08 1.27e-05 1.12e-11 -8.6 2.77e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 44\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.4453910045071447e+04 5.4453910045071447e+08\n", + "Dual infeasibility......: 1.1150661952860879e-11 1.1150661952860879e-07\n", + "Constraint violation....: 2.9806550433775850e-09 1.2684613466262817e-05\n", + "Complementarity.........: 2.5739278766992930e-09 2.5739278766992931e-05\n", + "Overall NLP error.......: 2.9806550433775850e-09 2.5739278766992931e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 50\n", + "Number of objective gradient evaluations = 45\n", + "Number of equality constraint evaluations = 50\n", + "Number of inequality constraint evaluations = 50\n", + "Number of equality constraint Jacobian evaluations = 45\n", + "Number of inequality constraint Jacobian evaluations = 45\n", + "Number of Lagrangian Hessian evaluations = 44\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.723\n", + "Total CPU secs in NLP function evaluations = 66.957\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 286\n", + "Realized SOC (MPC) 307222\n", + "Fixed costs: 41023.55\n", + "Variable costs: 1257.53\n", + "\n", + "Renewables curtailment reported at t=1 - total= 84.90\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 76.30\n", + "\n", + "Simulating time_step 2020-07-10 06:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.4473910e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.4473121e+08 1.00e+05 9.90e+01 -1.0 1.21e+06 - 4.89e-04 4.47e-04h 1\n", + " 2 5.4501480e+08 9.98e+04 9.99e+01 -1.0 4.10e+05 - 4.86e-04 1.82e-03h 1\n", + " 3 5.4565513e+08 9.94e+04 9.99e+01 -1.0 2.15e+05 - 2.26e-03 3.49e-03h 1\n", + " 4 5.4861240e+08 9.79e+04 1.00e+02 -1.0 1.50e+05 - 5.93e-03 1.55e-02h 1\n", + " 5 5.6382729e+08 9.00e+04 1.01e+02 -1.0 1.23e+05 - 3.79e-02 8.09e-02h 1\n", + " 6 5.7656531e+08 8.33e+04 8.25e+01 -1.0 1.18e+05 - 2.53e-01 7.38e-02h 1\n", + " 7 7.3259571e+08 2.02e+03 1.25e+02 -1.0 1.26e+05 - 9.73e-02 9.76e-01h 1\n", + " 8 7.3353147e+08 1.48e+03 3.84e+01 -1.0 9.69e+04 - 9.90e-01 2.68e-01h 1\n", + " 9 7.3242441e+08 1.41e+03 4.20e+01 -1.0 8.52e+06 - 4.84e-02 4.42e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.2036342e+08 2.82e+03 4.31e+02 -1.0 9.70e+06 - 1.65e-01 4.69e-01f 1\n", + " 11 7.1341877e+08 3.03e+03 5.35e+01 -1.0 1.14e+07 - 4.46e-01 2.12e-01f 1\n", + " 12 7.1329776e+08 3.02e+03 2.80e+02 -1.0 1.63e+07 - 5.23e-01 2.24e-03f 1\n", + " 13 7.0982552e+08 2.91e+03 4.08e+02 -1.0 2.97e+07 - 6.66e-01 3.60e-02f 1\n", + " 14 7.0141056e+08 3.28e+03 3.95e+02 -1.0 1.01e+08 - 6.59e-02 3.21e-02f 1\n", + " 15 6.9091311e+08 6.57e+03 3.78e+02 -1.0 1.11e+08 - 2.77e-01 4.18e-02f 1\n", + " 16 6.4840615e+08 6.20e+04 3.35e+02 -1.0 1.68e+08 - 9.99e-02 1.12e-01f 1\n", + " 17 6.4772515e+08 6.19e+04 3.51e+02 -1.0 1.83e+08 - 3.27e-01 1.65e-03f 1\n", + " 18 6.3759962e+08 6.08e+04 4.58e+02 -1.0 2.97e+08 - 1.18e-01 1.84e-02f 1\n", + " 19 6.2699638e+08 6.10e+04 4.48e+02 -1.0 2.94e+08 - 2.10e-02 2.07e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.2230066e+08 6.08e+04 4.46e+02 -1.0 2.96e+08 - 1.73e-02 1.06e-02f 1\n", + " 21 5.9098182e+08 1.21e+05 4.85e+02 -1.0 3.03e+08 - 2.68e-01 6.92e-02f 1\n", + " 22 5.8950623e+08 1.20e+05 4.87e+02 -1.0 4.51e+08 - 4.34e-02 3.00e-03f 1\n", + " 23 5.8588851e+08 1.19e+05 4.58e+02 -1.0 4.03e+08 - 6.44e-02 1.38e-02f 1\n", + " 24 5.8571083e+08 1.16e+05 6.27e+02 -1.0 1.62e+07 - 7.40e-01 2.12e-02f 1\n", + " 25 5.8550659e+08 6.47e+05 1.56e+02 -1.0 4.86e+06 - 4.54e-01 9.46e-01h 1\n", + " 26 5.8461565e+08 2.78e+06 7.17e+01 -1.0 9.75e+06 - 6.61e-01 1.00e+00f 1\n", + " 27 5.8121112e+08 4.05e+07 4.79e+01 -1.0 3.69e+07 - 3.29e-01 1.00e+00f 1\n", + " 28 5.7741386e+08 4.04e+07 3.24e+01 -1.0 5.80e+07 - 3.32e-01 7.35e-01f 1\n", + " 29 5.7736264e+08 4.00e+07 3.23e+01 -1.0 4.48e+07 - 4.64e-03 9.76e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.7317221e+08 1.60e+08 6.81e+01 -1.0 1.53e+09 - 1.47e-04 2.87e-02f 1\n", + " 31 5.7312351e+08 1.60e+08 6.47e+01 -1.0 2.07e+08 - 2.01e-01 2.18e-03h 1\n", + " 32 5.7306525e+08 1.56e+08 6.35e+01 -1.0 3.21e+07 - 6.69e-01 2.08e-02h 1\n", + " 33 5.7285317e+08 5.86e+07 2.81e+01 -1.0 3.25e+07 - 6.58e-01 6.19e-01h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 34 5.7274848e+08 4.31e+07 2.29e+01 -1.0 4.86e+07 - 8.49e-01 2.64e-01h 1\n", + " 35 5.7276768e+08 3.58e+07 1.47e+04 -1.0 1.84e+05 -4.0 3.35e-02 1.70e-01h 1\n", + " 36 5.7277689e+08 3.53e+07 1.43e+04 -1.0 5.40e+06 - 1.22e-02 1.53e-02h 1\n", + " 37 5.7286050e+08 1.02e+07 2.58e+04 -1.0 1.50e+05 -4.5 3.97e-03 7.11e-01h 1\n", + " 38 5.7290805e+08 3.75e+03 2.54e+04 -1.0 4.28e+04 -5.0 8.10e-01 1.00e+00h 1\n", + " 39 5.7290464e+08 1.20e-01 9.16e+00 -1.0 5.37e+01 -5.4 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.7290430e+08 7.35e-06 5.61e-03 -1.0 2.58e+01 -5.9 1.00e+00 1.00e+00f 1\n", + " 41 5.7281821e+08 2.80e+03 5.28e+01 -2.5 1.43e+07 - 7.67e-01 3.27e-02f 1\n", + " 42 5.7270701e+08 5.66e+05 3.92e+01 -2.5 1.10e+07 - 9.97e-01 5.33e-01f 1\n", + " 43 5.7268860e+08 5.82e+05 3.60e+01 -2.5 2.05e+07 - 1.00e+00 1.61e-01h 1\n", + " 44 5.7261706e+08 5.78e+06 1.04e+02 -2.5 2.16e+07 - 1.00e+00 9.80e-01h 1\n", + " 45 5.7261793e+08 5.65e+06 1.04e+02 -2.5 1.69e+05 -6.4 1.63e-03 2.15e-02h 1\n", + " 46 5.7261730e+08 5.63e+06 1.08e+02 -2.5 1.07e+06 - 5.88e-01 4.74e-03h 1\n", + " 47 5.7261052e+08 6.22e+05 1.97e+02 -2.5 7.39e+05 - 1.00e+00 8.85e-01h 1\n", + " 48 5.7260822e+08 2.07e+05 7.27e+01 -2.5 1.11e+06 - 1.00e+00 6.68e-01h 1\n", + " 49 5.7260418e+08 2.58e+04 1.54e+01 -2.5 1.55e+06 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.7260434e+08 4.17e-01 4.67e+00 -2.5 8.15e+02 -6.9 2.39e-01 1.00e+00h 1\n", + " 51 5.7260427e+08 4.07e-01 6.12e+00 -2.5 6.15e+05 - 1.00e+00 1.77e-03f 2\n", + " 52 5.7260266e+08 3.91e+03 5.48e+00 -2.5 6.05e+05 - 1.00e+00 1.00e+00f 1\n", + " 53 5.7260267e+08 6.82e-03 2.13e-04 -2.5 1.53e+02 -7.3 1.00e+00 1.00e+00h 1\n", + " 54 5.7258732e+08 4.12e+05 3.16e+00 -3.8 1.07e+07 - 9.32e-01 5.20e-01f 1\n", + " 55 5.7254787e+08 2.65e+06 4.80e+00 -3.8 2.67e+07 - 1.00e+00 5.01e-01h 1\n", + " 56 5.7247514e+08 1.28e+07 3.70e+00 -3.8 1.62e+08 - 1.46e-03 1.99e-01h 1\n", + " 57 5.7247508e+08 1.28e+07 5.38e+01 -3.8 8.04e+05 -7.8 5.78e-04 4.61e-03h 1\n", + " 58 5.7247506e+08 1.28e+07 6.13e+01 -3.8 2.64e+06 - 1.00e+00 1.92e-04h 1\n", + " 59 5.7247095e+08 1.09e+07 5.25e+01 -3.8 2.09e+06 - 1.00e+00 1.47e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 5.7246937e+08 1.02e+07 4.90e+01 -3.8 1.61e+06 - 1.00e+00 6.68e-02h 1\n", + " 61 5.7245272e+08 2.16e+06 2.81e+01 -3.8 8.50e+05 - 1.00e+00 7.83e-01h 1\n", + " 62 5.7245242e+08 2.03e+06 2.64e+01 -3.8 2.41e+05 - 1.00e+00 6.14e-02h 1\n", + " 63 5.7244802e+08 3.14e+03 1.98e+00 -3.8 1.81e+05 - 1.00e+00 1.00e+00h 1\n", + " 64 5.7244802e+08 9.58e-02 1.86e-06 -3.8 1.24e+03 - 1.00e+00 1.00e+00h 1\n", + " 65 5.7244794e+08 2.57e-01 1.33e-07 -5.7 3.41e+03 - 1.00e+00 1.00e+00h 1\n", + " 66 5.7244794e+08 2.02e-05 1.85e-11 -5.7 2.81e+01 - 1.00e+00 1.00e+00h 1\n", + " 67 5.7244794e+08 3.95e-05 2.09e-11 -8.6 4.23e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 67\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.7244794325061695e+04 5.7244794325061691e+08\n", + "Dual infeasibility......: 2.0907344754192677e-11 2.0907344754192677e-07\n", + "Constraint violation....: 9.5419805245017787e-09 3.9484351873397827e-05\n", + "Complementarity.........: 2.6259105279675339e-09 2.6259105279675339e-05\n", + "Overall NLP error.......: 9.5419805245017787e-09 3.9484351873397827e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 70\n", + "Number of objective gradient evaluations = 68\n", + "Number of equality constraint evaluations = 70\n", + "Number of inequality constraint evaluations = 70\n", + "Number of equality constraint Jacobian evaluations = 68\n", + "Number of inequality constraint Jacobian evaluations = 68\n", + "Number of Lagrangian Hessian evaluations = 67\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.676\n", + "Total CPU secs in NLP function evaluations = 94.456\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 286\n", + "Realized SOC (MPC) 307222\n", + "Fixed costs: 41023.55\n", + "Variable costs: 1314.64\n", + "\n", + "Renewables curtailment reported at t=1 - total= 84.92\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 5.00\n", + "\n", + "Simulating time_step 2020-07-10 07:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.7264794e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.7264002e+08 1.00e+05 9.90e+01 -1.0 1.12e+06 - 4.89e-04 4.48e-04h 1\n", + " 2 5.7288591e+08 9.98e+04 9.99e+01 -1.0 3.99e+05 - 4.86e-04 1.82e-03h 1\n", + " 3 5.7344783e+08 9.94e+04 9.99e+01 -1.0 2.15e+05 - 2.26e-03 3.47e-03h 1\n", + " 4 5.7610113e+08 9.79e+04 1.00e+02 -1.0 1.50e+05 - 5.91e-03 1.55e-02h 1\n", + " 5 5.9003054e+08 8.98e+04 9.34e+01 -1.0 1.23e+05 - 7.58e-02 8.25e-02h 1\n", + " 6 6.0904309e+08 7.88e+04 7.80e+01 -1.0 1.19e+05 - 1.48e-01 1.23e-01h 1\n", + " 7 7.3665329e+08 4.67e+03 1.23e+02 -1.0 1.17e+05 - 1.75e-01 9.41e-01h 1\n", + " 8 7.3975053e+08 2.78e+03 2.27e+01 -1.0 1.04e+05 - 9.89e-01 4.05e-01h 1\n", + " 9 7.3883249e+08 2.68e+03 3.03e+01 -1.0 8.17e+06 - 4.32e-02 3.62e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.3590418e+08 2.38e+03 1.19e+01 -1.0 9.86e+06 - 8.67e-02 1.12e-01f 1\n", + " 11 7.2578440e+08 3.87e+03 1.45e+02 -1.0 1.08e+07 - 4.55e-01 3.41e-01f 1\n", + " 12 7.1719945e+08 5.44e+03 2.01e+02 -1.0 1.94e+07 - 2.56e-01 1.45e-01f 1\n", + " 13 7.1703485e+08 5.43e+03 5.82e+02 -1.0 2.24e+07 - 7.88e-01 2.36e-03f 1\n", + " 14 7.1112256e+08 5.29e+03 4.81e+02 -1.0 8.77e+07 - 2.98e-01 2.57e-02f 1\n", + " 15 7.0166908e+08 5.66e+03 4.61e+02 -1.0 1.35e+08 - 6.59e-02 3.57e-02f 1\n", + " 16 6.7341866e+08 4.16e+04 4.25e+02 -1.0 1.49e+08 - 4.32e-03 1.01e-01f 1\n", + " 17 6.6223862e+08 4.56e+04 3.81e+02 -1.0 1.54e+08 - 2.97e-01 3.88e-02f 1\n", + " 18 6.6144684e+08 4.55e+04 3.78e+02 -1.0 2.21e+08 - 8.57e-02 2.32e-03f 1\n", + " 19 6.5515900e+08 4.47e+04 4.41e+02 -1.0 2.26e+08 - 1.52e-01 1.87e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.3337380e+08 7.25e+04 3.93e+02 -1.0 2.83e+08 - 1.08e-02 5.53e-02f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 21 6.1384667e+08 9.88e+04 3.86e+02 -1.0 2.92e+08 - 8.99e-02 4.59e-02f 1\n", + " 22 6.1324993e+08 9.86e+04 4.91e+02 -1.0 3.03e+08 - 4.40e-01 1.68e-03f 1\n", + " 23 6.0935386e+08 9.67e+04 3.02e+02 -1.0 2.74e+08 - 3.90e-01 1.98e-02f 1\n", + " 24 6.0922460e+08 7.02e+04 4.18e+02 -1.0 2.14e+06 - 6.79e-01 2.73e-01h 1\n", + " 25 6.0894485e+08 4.81e+05 1.50e+02 -1.0 7.35e+06 - 3.02e-01 5.38e-01h 1\n", + " 26 6.0830212e+08 1.98e+06 4.78e+01 -1.0 1.17e+07 - 4.12e-01 6.76e-01f 1\n", + " 27 6.0709291e+08 5.39e+06 8.95e+01 -1.0 2.25e+07 - 7.73e-02 5.72e-01f 1\n", + " 28 6.0448148e+08 1.67e+07 5.54e+01 -1.0 2.60e+07 - 5.70e-01 1.00e+00f 1\n", + " 29 6.0027541e+08 4.12e+07 5.43e+01 -1.0 6.22e+07 - 3.48e-02 6.59e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.0022737e+08 4.07e+07 4.96e+01 -1.0 4.02e+07 - 8.40e-02 1.05e-02h 1\n", + " 31 5.9563365e+08 1.68e+08 6.58e+01 -1.0 1.37e+08 - 1.60e-03 3.22e-01f 1\n", + " 32 5.9556107e+08 1.66e+08 6.21e+01 -1.0 5.41e+07 - 4.88e-01 8.53e-03h 1\n", + " 33 5.9547250e+08 1.57e+08 5.88e+01 -1.0 3.33e+07 - 5.86e-01 5.33e-02h 1\n", + " 34 5.9529766e+08 5.77e+07 2.47e+01 -1.0 1.92e+07 - 6.92e-01 6.27e-01h 1\n", + " 35 5.9517445e+08 3.71e+07 1.67e+01 -1.0 4.00e+07 - 6.99e-01 3.56e-01h 1\n", + " 36 5.9519424e+08 2.86e+07 1.06e+04 -1.0 1.35e+05 -4.0 4.61e-02 2.27e-01h 1\n", + " 37 5.9522527e+08 2.71e+07 1.00e+04 -1.0 4.13e+06 - 1.46e-02 5.29e-02h 1\n", + " 38 5.9531207e+08 2.54e+04 4.80e+03 -1.0 9.84e+04 -4.5 7.50e-03 1.00e+00h 1\n", + " 39 5.9532083e+08 5.59e+00 6.17e+02 -1.0 2.29e+02 -5.0 9.92e-01 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.9531816e+08 1.62e-05 2.74e-02 -1.0 8.20e+00 -5.4 1.00e+00 1.00e+00f 1\n", + " 41 5.9524780e+08 4.56e+03 3.86e+01 -2.5 1.76e+07 - 5.55e-01 2.63e-02f 1\n", + " 42 5.9510522e+08 6.74e+05 5.75e+01 -2.5 1.42e+07 - 9.32e-01 5.63e-01f 1\n", + " 43 5.9507902e+08 7.91e+05 5.31e+01 -2.5 3.25e+07 - 5.09e-01 1.42e-01h 1\n", + " 44 5.9501668e+08 1.88e+06 5.42e+01 -2.5 3.96e+07 - 1.00e+00 2.90e-01h 1\n", + " 45 5.9499669e+08 2.01e+06 5.14e+01 -2.5 6.54e+07 - 1.00e+00 8.37e-02h 1\n", + " 46 5.9495220e+08 2.95e+06 4.94e+01 -2.5 6.45e+07 - 1.00e+00 1.83e-01h 1\n", + " 47 5.9494829e+08 2.50e+06 4.19e+01 -2.5 1.22e+07 - 1.00e+00 1.53e-01h 1\n", + " 48 5.9493936e+08 1.53e+06 2.58e+01 -2.5 1.20e+07 - 1.00e+00 3.87e-01h 1\n", + " 49 5.9493075e+08 1.37e+04 4.01e-01 -2.5 2.08e+05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.9493070e+08 4.14e+01 1.29e-05 -2.5 5.75e+04 - 1.00e+00 1.00e+00h 1\n", + " 51 5.9492941e+08 3.01e+01 2.71e-02 -3.8 3.17e+04 - 1.00e+00 9.75e-01h 1\n", + " 52 5.9492938e+08 1.32e-01 5.33e-08 -3.8 3.01e+03 - 1.00e+00 1.00e+00h 1\n", + " 53 5.9492931e+08 6.92e-02 6.68e-08 -5.7 1.51e+03 - 1.00e+00 1.00e+00h 1\n", + " 54 5.9492931e+08 6.33e-06 6.91e-12 -8.6 1.52e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 54\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.9492930709503344e+04 5.9492930709503341e+08\n", + "Dual infeasibility......: 6.9072684206793265e-12 6.9072684206793265e-08\n", + "Constraint violation....: 3.7252902984619141e-09 6.3292682170867920e-06\n", + "Complementarity.........: 2.5546388792280281e-09 2.5546388792280281e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5546388792280281e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 55\n", + "Number of objective gradient evaluations = 55\n", + "Number of equality constraint evaluations = 55\n", + "Number of inequality constraint evaluations = 55\n", + "Number of equality constraint Jacobian evaluations = 55\n", + "Number of inequality constraint Jacobian evaluations = 55\n", + "Number of Lagrangian Hessian evaluations = 54\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.147\n", + "Total CPU secs in NLP function evaluations = 73.776\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 286\n", + "Realized SOC (MPC) 307222\n", + "Fixed costs: 41023.55\n", + "Variable costs: 1314.64\n", + "\n", + "Renewables curtailment reported at t=1 - total= 35.57\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 0.00\n", + "\n", + "Simulating time_step 2020-07-10 08:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.9512931e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.9512137e+08 1.00e+05 9.90e+01 -1.0 1.21e+06 - 4.89e-04 4.47e-04h 1\n", + " 2 5.9533760e+08 9.98e+04 9.98e+01 -1.0 3.76e+05 - 4.86e-04 1.82e-03h 1\n", + " 3 5.9583436e+08 9.94e+04 9.99e+01 -1.0 2.15e+05 - 2.26e-03 3.47e-03h 1\n", + " 4 5.9823063e+08 9.79e+04 1.00e+02 -1.0 1.50e+05 - 5.92e-03 1.55e-02h 1\n", + " 5 6.1082248e+08 8.98e+04 9.40e+01 -1.0 1.23e+05 - 7.30e-02 8.27e-02h 1\n", + " 6 6.2747299e+08 7.91e+04 9.92e+01 -1.0 1.19e+05 - 2.92e-02 1.19e-01h 1\n", + " 7 6.8681455e+08 4.09e+04 7.44e+01 -1.0 1.11e+05 - 3.52e-01 4.82e-01h 1\n", + " 8 7.2202806e+08 1.82e+04 1.80e+01 -1.0 1.20e+05 - 8.13e-01 5.56e-01h 1\n", + " 9 7.3458941e+08 9.34e+03 9.97e+00 -1.0 6.15e+05 - 9.86e-01 4.86e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.3237907e+08 9.18e+03 1.57e+01 -1.0 3.61e+07 - 2.31e-02 1.92e-02f 1\n", + " 11 7.2805298e+08 8.91e+03 1.98e+01 -1.0 4.16e+07 - 4.12e-02 3.80e-02f 1\n", + " 12 7.1582214e+08 8.67e+03 3.92e+02 -1.0 4.46e+07 - 3.61e-01 1.04e-01f 1\n", + " 13 7.1550488e+08 8.65e+03 5.23e+02 -1.0 5.34e+07 - 1.68e-01 2.07e-03f 1\n", + " 14 7.1273226e+08 8.48e+03 7.85e+02 -1.0 5.88e+07 - 4.90e-01 2.44e-02f 1\n", + " 15 7.0343636e+08 1.04e+04 6.88e+02 -1.0 1.30e+08 - 1.85e-01 5.25e-02f 1\n", + " 16 6.7829156e+08 6.69e+04 6.46e+02 -1.0 1.71e+08 - 2.79e-03 1.12e-01f 1\n", + " 17 6.7795659e+08 6.68e+04 6.16e+02 -1.0 1.41e+08 - 2.61e-01 1.55e-03f 1\n", + " 18 6.4274105e+08 2.43e+05 5.10e+02 -1.0 2.11e+08 - 2.34e-02 1.60e-01f 1\n", + " 19 6.4236222e+08 2.42e+05 5.07e+02 -1.0 2.17e+08 - 1.69e-01 1.66e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.4116270e+08 2.40e+05 4.96e+02 -1.0 2.19e+08 - 1.55e-02 7.53e-03f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 21 6.3818421e+08 2.35e+05 4.75e+02 -1.0 2.55e+08 - 3.26e-02 2.26e-02f 1\n", + " 22 6.3064541e+08 2.22e+05 4.19e+02 -1.0 2.71e+08 - 8.91e-02 5.38e-02f 1\n", + " 23 6.3057298e+08 2.22e+05 8.77e+01 -1.0 1.06e+08 - 5.85e-01 1.40e-03f 1\n", + " 24 6.3342005e+08 9.89e+04 3.02e+02 -1.0 3.10e+06 - 1.10e-01 8.33e-01h 1\n", + " 25 6.3364313e+08 6.54e+04 1.03e+02 -1.0 1.60e+06 - 6.69e-01 7.16e-01h 1\n", + " 26 6.3339250e+08 1.03e+05 1.05e+02 -1.0 5.31e+06 - 2.52e-02 2.67e-01f 1\n", + " 27 6.3191110e+08 1.59e+06 3.62e+01 -1.0 8.75e+06 - 6.93e-01 1.00e+00f 1\n", + " 28 6.2709701e+08 1.32e+07 3.54e+01 -1.0 2.53e+07 - 8.53e-02 8.32e-01f 1\n", + " 29 6.2703412e+08 1.30e+07 2.27e+01 -1.0 3.36e+07 - 3.35e-01 1.06e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.2676081e+08 1.25e+07 2.27e+01 -1.0 5.15e+07 - 5.75e-03 4.82e-02f 1\n", + " 31 6.2453978e+08 1.18e+07 1.98e+01 -1.0 5.06e+07 - 1.30e-01 2.48e-01f 1\n", + " 32 6.2136131e+08 5.36e+07 1.85e+01 -1.0 2.97e+08 - 4.56e-02 1.05e-01f 1\n", + " 33 6.2132172e+08 5.34e+07 1.38e+01 -1.0 1.44e+08 - 2.96e-01 2.22e-03h 1\n", + " 34 6.1705013e+08 5.54e+07 7.24e+00 -1.0 8.67e+07 - 4.61e-01 5.33e-01f 1\n", + " 35 6.1700652e+08 5.49e+07 1.83e+01 -1.0 5.48e+07 - 6.42e-01 8.71e-03h 1\n", + " 36 6.1686215e+08 3.56e+07 3.11e+01 -1.0 4.01e+07 - 8.72e-01 3.52e-01h 1\n", + " 37 6.1678644e+08 2.89e+07 2.77e+01 -1.0 1.03e+08 - 4.85e-01 1.89e-01h 1\n", + " 38 6.1675424e+08 2.74e+07 2.71e+01 -1.0 3.95e+08 - 2.50e-01 5.06e-02h 1\n", + " 39 6.1673226e+08 1.31e+07 1.39e+01 -1.0 2.96e+07 - 7.37e-01 5.20e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.1675018e+08 1.11e+07 2.16e+04 -1.0 1.89e+05 -4.0 3.25e-02 1.55e-01h 1\n", + " 41 6.1675151e+08 1.08e+07 2.07e+04 -1.0 1.51e+06 - 3.58e-02 2.55e-02h 1\n", + " 42 6.1684440e+08 2.83e+06 5.54e+04 -1.0 1.55e+05 -4.5 5.95e-03 7.38e-01h 1\n", + " 43 6.1688594e+08 1.82e+03 4.20e+04 -1.0 4.02e+04 -5.0 8.30e-01 1.00e+00h 1\n", + " 44 6.1688409e+08 3.43e-01 4.79e+00 -1.0 5.59e+01 -5.4 1.00e+00 1.00e+00h 1\n", + " 45 6.1688385e+08 8.48e-06 1.56e-03 -1.0 2.61e+01 -5.9 1.00e+00 1.00e+00f 1\n", + " 46 6.1678027e+08 9.12e+02 4.75e+01 -2.5 8.17e+06 - 6.12e-01 3.57e-02f 1\n", + " 47 6.1669263e+08 1.39e+05 3.33e+01 -2.5 6.22e+06 - 9.82e-01 5.73e-01f 1\n", + " 48 6.1667054e+08 6.17e+05 3.11e+01 -2.5 1.38e+07 - 2.97e-01 5.16e-01h 1\n", + " 49 6.1664745e+08 2.36e+06 3.21e+01 -2.5 6.09e+07 - 9.18e-01 2.17e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.1657886e+08 1.04e+07 4.29e+01 -2.5 9.11e+07 - 8.07e-01 3.18e-01h 1\n", + " 51 6.1657843e+08 1.04e+07 4.26e+01 -2.5 1.82e+07 - 2.11e-01 5.12e-03h 1\n", + " 52 6.1656629e+08 8.93e+06 3.68e+01 -2.5 4.90e+07 - 1.06e-02 1.39e-01h 1\n", + " 53 6.1656301e+08 7.70e+06 3.17e+01 -2.5 8.68e+05 - 1.00e+00 1.38e-01h 1\n", + " 54 6.1654267e+08 4.18e+04 1.36e+00 -2.5 6.65e+05 - 1.00e+00 1.00e+00h 1\n", + " 55 6.1654263e+08 1.71e+01 1.24e-05 -2.5 1.65e+04 - 1.00e+00 1.00e+00h 1\n", + " 56 6.1654144e+08 1.33e+02 1.22e-01 -3.8 7.42e+04 - 1.00e+00 8.95e-01f 1\n", + " 57 6.1654131e+08 2.47e-01 2.18e-07 -3.8 3.88e+03 - 1.00e+00 1.00e+00h 1\n", + " 58 6.1654123e+08 2.77e-01 1.39e-07 -5.7 3.02e+03 - 1.00e+00 1.00e+00h 1\n", + " 59 6.1654123e+08 2.18e-05 1.85e-11 -5.7 2.92e+01 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.1654123e+08 4.02e-05 2.10e-11 -8.6 3.64e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 60\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.1654123145987098e+04 6.1654123145987093e+08\n", + "Dual infeasibility......: 2.1009164319816016e-11 2.1009164319816016e-07\n", + "Constraint violation....: 9.7265362381492516e-09 4.0248036384582520e-05\n", + "Complementarity.........: 2.6270801379616555e-09 2.6270801379616554e-05\n", + "Overall NLP error.......: 9.7265362381492516e-09 4.0248036384582520e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 61\n", + "Number of objective gradient evaluations = 61\n", + "Number of equality constraint evaluations = 61\n", + "Number of inequality constraint evaluations = 61\n", + "Number of equality constraint Jacobian evaluations = 61\n", + "Number of inequality constraint Jacobian evaluations = 61\n", + "Number of Lagrangian Hessian evaluations = 60\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.395\n", + "Total CPU secs in NLP function evaluations = 79.649\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 286\n", + "Realized SOC (MPC) 307222\n", + "Fixed costs: 41023.55\n", + "Variable costs: 2457.98\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 69.42\n", + "\n", + "Simulating time_step 2020-07-10 09:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.1674123e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.1673331e+08 1.00e+05 9.90e+01 -1.0 1.12e+06 - 4.89e-04 4.48e-04h 1\n", + " 2 6.1696309e+08 9.98e+04 9.98e+01 -1.0 3.76e+05 - 4.86e-04 1.76e-03h 1\n", + " 3 6.1751399e+08 9.94e+04 9.99e+01 -1.0 2.14e+05 - 2.20e-03 3.47e-03h 1\n", + " 4 6.1866646e+08 9.88e+04 9.94e+01 -1.0 1.51e+05 - 5.83e-03 6.80e-03h 1\n", + " 5 6.3519148e+08 8.91e+04 1.07e+02 -1.0 1.24e+05 - 1.44e-02 9.79e-02h 1\n", + " 6 6.4129126e+08 8.55e+04 9.78e+01 -1.0 1.16e+05 - 6.70e-02 4.02e-02h 1\n", + " 7 7.2180808e+08 3.84e+04 1.39e+02 -1.0 1.16e+05 - 2.19e-02 5.51e-01h 1\n", + " 8 7.3111892e+08 3.29e+04 3.26e+01 -1.0 7.82e+04 - 9.79e-01 1.43e-01h 1\n", + " 9 7.4120329e+08 2.47e+04 2.45e+01 -1.0 3.46e+06 - 4.11e-01 2.48e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.4151751e+08 2.43e+04 6.39e+02 -1.0 5.83e+06 - 4.15e-01 1.70e-02h 1\n", + " 11 7.4205687e+08 2.11e+04 6.88e+02 -1.0 9.96e+06 - 2.68e-01 1.32e-01h 1\n", + " 12 7.4206691e+08 2.09e+04 1.08e+03 -1.0 1.35e+07 - 6.16e-01 1.02e-02h 1\n", + " 13 7.3531608e+08 1.87e+04 9.47e+02 -1.0 3.39e+07 - 1.02e-01 1.22e-01f 1\n", + " 14 7.3515718e+08 1.87e+04 9.80e+02 -1.0 2.46e+07 - 6.91e-01 3.49e-03f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 15 7.2947003e+08 1.85e+04 9.01e+02 -1.0 8.95e+07 - 9.49e-02 3.33e-02f 1\n", + " 16 7.2455654e+08 1.85e+04 7.55e+02 -1.0 1.01e+08 - 2.74e-01 3.11e-02f 1\n", + " 17 6.9406148e+08 5.77e+04 6.75e+02 -1.0 1.52e+08 - 4.60e-02 1.21e-01f 1\n", + " 18 6.9363582e+08 5.76e+04 6.71e+02 -1.0 1.66e+08 - 1.93e-02 1.64e-03f 1\n", + " 19 6.8903079e+08 5.84e+04 6.02e+02 -1.0 1.68e+08 - 3.15e-01 2.14e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.8671666e+08 5.78e+04 5.92e+02 -1.0 2.36e+08 - 5.04e-02 1.02e-02f 1\n", + " 21 6.5974254e+08 1.71e+05 5.33e+02 -1.0 2.57e+08 - 3.82e-02 1.09e-01f 1\n", + " 22 6.5942342e+08 1.71e+05 5.24e+02 -1.0 2.76e+08 - 1.47e-01 1.31e-03f 1\n", + " 23 6.5636731e+08 1.70e+05 5.18e+02 -1.0 2.49e+08 - 1.26e-02 1.29e-02f 1\n", + " 24 6.5504148e+08 1.69e+05 4.87e+02 -1.0 2.96e+08 - 3.53e-02 9.04e-03f 1\n", + " 25 6.4902089e+08 1.62e+05 4.23e+02 -1.0 3.12e+08 - 8.70e-02 3.91e-02f 1\n", + " 26 6.4898056e+08 1.62e+05 1.34e+02 -1.0 5.50e+07 - 3.07e-01 2.50e-03h 1\n", + " 27 6.5746004e+08 4.32e+04 9.73e+01 -1.0 7.45e+06 - 8.27e-01 9.02e-01h 1\n", + " 28 6.5732319e+08 6.00e+04 8.55e+01 -1.0 9.54e+06 - 6.61e-01 1.21e-01h 1\n", + " 29 6.5656211e+08 4.07e+05 7.27e+01 -1.0 2.76e+07 - 1.51e-02 1.50e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.5533950e+08 1.30e+06 5.72e+01 -1.0 3.25e+07 - 2.59e-01 2.13e-01f 1\n", + " 31 6.5412932e+08 1.75e+06 4.89e+01 -1.0 3.88e+07 - 7.65e-02 1.47e-01f 1\n", + " 32 6.5386834e+08 1.71e+06 4.74e+01 -1.0 4.43e+07 - 1.47e-01 3.20e-02f 1\n", + " 33 6.5052761e+08 1.11e+07 3.19e+01 -1.0 5.51e+07 - 5.32e-02 3.45e-01f 1\n", + " 34 6.5046545e+08 1.10e+07 3.17e+01 -1.0 4.91e+07 - 8.97e-03 4.91e-03f 1\n", + " 35 6.4807152e+08 1.32e+07 2.44e+01 -1.0 5.55e+07 - 1.14e-01 2.46e-01f 1\n", + " 36 6.4570916e+08 2.21e+07 2.12e+01 -1.0 1.22e+08 - 1.16e-01 1.40e-01f 1\n", + " 37 6.4398868e+08 2.48e+07 1.95e+01 -1.0 1.50e+08 - 9.03e-02 8.83e-02f 1\n", + " 38 6.4396044e+08 2.47e+07 1.94e+01 -1.0 6.74e+07 - 7.86e-02 2.18e-03h 1\n", + " 39 6.4310065e+08 2.21e+07 1.75e+01 -1.0 7.61e+07 - 2.35e-01 1.05e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.4271914e+08 2.09e+07 3.08e+01 -1.0 7.68e+07 - 5.92e-01 5.51e-02f 1\n", + " 41 6.4074289e+08 1.65e+07 2.94e+01 -1.0 7.95e+07 - 6.27e-01 2.72e-01f 1\n", + " 42 6.4072109e+08 1.64e+07 3.55e+01 -1.0 3.35e+07 - 7.28e-01 8.16e-03h 1\n", + " 43 6.4060286e+08 1.15e+07 3.11e+01 -1.0 6.31e+07 - 7.31e-01 2.98e-01h 1\n", + " 44 6.4058437e+08 1.37e+07 3.03e+01 -1.0 9.57e+08 - 4.38e-02 3.13e-02H 1\n", + " 45 6.4052164e+08 1.57e+07 1.83e+01 -1.0 6.15e+07 - 6.68e-01 4.68e-01h 1\n", + " 46 6.4050112e+08 1.46e+07 1.77e+01 -1.0 6.58e+07 - 5.84e-01 1.10e-01h 1\n", + " 47 6.4049689e+08 3.92e+05 1.83e-01 -1.0 9.34e+05 - 9.95e-01 1.00e+00h 1\n", + " 48 6.4049350e+08 2.74e+04 9.83e-03 -1.0 1.62e+06 - 1.00e+00 1.00e+00h 1\n", + " 49 6.4049346e+08 7.40e+00 9.83e-03 -1.0 1.68e+04 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.4045387e+08 6.87e+05 6.27e+00 -2.5 1.11e+07 - 7.29e-01 5.77e-01f 1\n", + " 51 6.4044537e+08 4.17e+05 1.05e+01 -2.5 1.86e+06 - 1.00e+00 3.97e-01h 1\n", + " 52 6.4043465e+08 2.21e+04 5.19e-01 -2.5 1.84e+05 - 1.00e+00 9.51e-01h 1\n", + " 53 6.4043413e+08 4.98e+01 2.04e-05 -2.5 7.37e+04 - 1.00e+00 1.00e+00h 1\n", + " 54 6.4043286e+08 1.11e+02 2.51e-01 -3.8 1.13e+05 - 7.53e-01 9.74e-01h 1\n", + " 55 6.4043282e+08 9.13e+01 3.00e-05 -3.8 9.99e+04 - 1.00e+00 1.00e+00h 1\n", + " 56 6.4043282e+08 1.36e-01 4.37e-08 -3.8 3.88e+03 - 1.00e+00 1.00e+00h 1\n", + " 57 6.4043275e+08 1.96e+00 1.10e-03 -5.7 1.46e+04 - 9.83e-01 1.00e+00h 1\n", + " 58 6.4043275e+08 5.31e-04 1.78e-10 -5.7 2.40e+02 - 1.00e+00 1.00e+00h 1\n", + " 59 6.4043275e+08 3.21e-04 1.03e-10 -8.6 1.87e+02 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.4043275e+08 1.19e-06 1.80e-12 -8.6 3.53e-02 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 60\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.4043274711972786e+04 6.4043274711972785e+08\n", + "Dual infeasibility......: 1.8022283337570921e-12 1.8022283337570921e-08\n", + "Constraint violation....: 2.5611370801925659e-09 1.1920928955078125e-06\n", + "Complementarity.........: 2.5065852939374877e-09 2.5065852939374875e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5065852939374875e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 62\n", + "Number of objective gradient evaluations = 61\n", + "Number of equality constraint evaluations = 62\n", + "Number of inequality constraint evaluations = 62\n", + "Number of equality constraint Jacobian evaluations = 61\n", + "Number of inequality constraint Jacobian evaluations = 61\n", + "Number of Lagrangian Hessian evaluations = 60\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.062\n", + "Total CPU secs in NLP function evaluations = 84.378\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 304\n", + "Realized SOC (MPC) 307222\n", + "Fixed costs: 41023.55\n", + "Variable costs: 5210.50\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 145.80\n", + "\n", + "Simulating time_step 2020-07-10 10:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.4063275e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.4062703e+08 1.00e+05 9.90e+01 -1.0 1.26e+06 - 3.46e-04 3.24e-04h 1\n", + " 2 6.4088224e+08 9.98e+04 1.00e+02 -1.0 5.39e+05 - 3.82e-04 1.56e-03h 1\n", + " 3 6.4149633e+08 9.95e+04 1.00e+02 -1.0 2.12e+05 - 1.89e-03 3.14e-03h 1\n", + " 4 6.4275190e+08 9.89e+04 9.96e+01 -1.0 1.78e+05 - 5.12e-03 6.06e-03h 1\n", + " 5 7.4976033e+08 4.80e+04 1.65e+02 -1.0 1.42e+05 - 1.23e-02 5.15e-01h 1\n", + " 6 7.5268039e+08 4.65e+04 1.28e+02 -1.0 8.61e+04 - 1.95e-01 3.04e-02h 1\n", + " 7 8.4616126e+08 1.84e+03 2.45e+00 -1.0 9.92e+04 - 9.77e-01 9.60e-01h 1\n", + " 8 8.4597174e+08 1.81e+03 2.46e+01 -1.0 3.36e+06 - 7.69e-02 1.98e-02f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 9 8.4567583e+08 1.74e+03 8.91e+02 -1.0 3.95e+06 - 5.78e-01 3.64e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 8.3920884e+08 1.85e+03 5.15e+02 -1.0 9.24e+06 - 5.20e-02 2.75e-01f 1\n", + " 11 8.3910496e+08 1.84e+03 1.00e+03 -1.0 9.74e+06 - 9.06e-01 4.40e-03f 1\n", + " 12 8.2539923e+08 8.55e+03 9.63e+02 -1.0 9.01e+07 - 3.23e-02 5.56e-02f 1\n", + " 13 8.2504869e+08 8.54e+03 7.37e+02 -1.0 7.37e+07 - 3.52e-01 1.74e-03f 1\n", + " 14 8.0685846e+08 1.79e+04 6.57e+02 -1.0 1.23e+08 - 2.27e-01 7.89e-02f 1\n", + " 15 7.7509342e+08 6.28e+04 6.04e+02 -1.0 1.75e+08 - 3.30e-03 9.77e-02f 1\n", + " 16 7.7467232e+08 6.27e+04 5.58e+02 -1.0 1.64e+08 - 3.55e-01 1.32e-03f 1\n", + " 17 7.1941078e+08 2.94e+05 4.93e+02 -1.0 3.15e+08 - 1.68e-02 1.22e-01f 1\n", + " 18 7.1876799e+08 2.93e+05 4.73e+02 -1.0 3.51e+08 - 1.48e-01 1.36e-03f 1\n", + " 19 7.1181458e+08 2.95e+05 4.67e+02 -1.0 4.35e+08 - 1.27e-02 1.29e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.1126878e+08 2.94e+05 4.36e+02 -1.0 3.04e+08 - 3.49e-02 2.11e-03f 1\n", + " 21 7.0655574e+08 2.87e+05 3.97e+02 -1.0 3.26e+08 - 5.53e-02 2.47e-02f 1\n", + " 22 6.9940890e+08 2.77e+05 3.59e+02 -1.0 3.60e+08 - 6.18e-02 3.47e-02f 1\n", + " 23 6.9927003e+08 2.76e+05 3.16e+02 -1.0 6.07e+07 - 4.97e-02 2.24e-03f 1\n", + " 24 6.8881700e+08 3.22e+05 3.32e+02 -1.0 4.15e+08 - 7.32e-03 4.69e-02f 1\n", + " 25 6.8871235e+08 3.22e+05 2.69e+02 -1.0 2.61e+08 - 3.39e-01 7.50e-04f 1\n", + " 26 6.8873968e+08 1.56e+05 8.85e+01 -1.0 1.78e+06 - 7.02e-01 5.16e-01h 1\n", + " 27 6.8826054e+08 1.03e+05 6.48e+01 -1.0 6.23e+06 - 9.35e-02 3.63e-01f 1\n", + " 28 6.8788457e+08 1.28e+05 5.24e+01 -1.0 6.73e+06 - 5.42e-01 2.46e-01f 1\n", + " 29 6.8620058e+08 9.10e+05 3.11e+01 -1.0 1.50e+07 - 1.26e-02 4.51e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.8616356e+08 9.01e+05 2.90e+01 -1.0 1.42e+07 - 4.56e-01 9.06e-03h 1\n", + " 31 6.8459668e+08 1.30e+06 1.63e+01 -1.0 2.84e+07 - 6.88e-02 2.29e-01f 1\n", + " 32 6.8452014e+08 1.29e+06 2.12e+01 -1.0 2.92e+07 - 1.48e-01 1.15e-02f 1\n", + " 33 6.7997145e+08 1.48e+07 1.94e+01 -1.0 3.77e+07 - 1.51e-01 5.89e-01f 1\n", + " 34 6.7990801e+08 1.47e+07 1.13e+01 -1.0 4.83e+07 - 1.96e-01 7.91e-03h 1\n", + " 35 6.7966495e+08 1.43e+07 1.19e+01 -1.0 5.65e+07 - 3.47e-03 3.30e-02f 1\n", + " 36 6.7404964e+08 7.42e+07 2.21e+01 -1.0 5.48e+07 - 1.24e-01 5.65e-01f 1\n", + " 37 6.7408058e+08 6.14e+07 1.56e+04 -1.0 1.36e+05 -4.0 3.98e-02 1.73e-01h 1\n", + " 38 6.7409496e+08 5.71e+07 1.36e+04 -1.0 2.00e+06 - 1.14e-02 7.00e-02h 1\n", + " 39 6.7415351e+08 3.66e+07 1.37e+04 -1.0 1.05e+05 -4.5 3.81e-03 3.58e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.7426217e+08 7.51e+04 3.62e+04 -1.0 6.72e+04 -5.0 4.29e-01 1.00e+00h 1\n", + " 41 6.7426126e+08 3.78e+01 2.31e+02 -1.0 4.10e+02 -5.4 9.90e-01 1.00e+00h 1\n", + " 42 6.7426108e+08 1.07e-05 5.15e-02 -1.0 2.59e+01 -5.9 9.97e-01 1.00e+00h 1\n", + " 43 6.7137235e+08 6.57e+06 3.59e+00 -2.5 5.77e+08 - 6.76e-02 2.91e-02f 1\n", + " 44 6.7112261e+08 6.54e+06 1.23e+01 -2.5 7.46e+08 - 1.27e-01 3.62e-03f 1\n", + " 45 6.7039309e+08 7.17e+06 1.43e+01 -2.5 4.19e+08 - 5.39e-02 1.91e-02f 1\n", + " 46 6.7036924e+08 6.92e+06 1.48e+01 -2.5 2.11e+07 - 5.20e-02 3.51e-02h 1\n", + " 47 6.7030890e+08 6.25e+06 1.60e+01 -2.5 2.55e+07 - 1.41e-01 9.59e-02h 1\n", + " 48 6.7026444e+08 5.13e+06 4.65e+01 -2.5 1.33e+07 - 8.48e-01 1.79e-01h 1\n", + " 49 6.7012668e+08 3.83e+06 1.22e+02 -2.5 1.72e+07 - 1.00e+00 8.88e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.7012787e+08 3.72e+06 1.18e+02 -2.5 1.08e+05 -6.4 5.67e-03 2.67e-02h 1\n", + " 51 6.7012727e+08 3.70e+06 1.17e+02 -2.5 2.02e+06 - 7.38e-01 5.84e-03h 1\n", + " 52 6.7012115e+08 6.09e+05 1.47e+02 -2.5 1.21e+06 - 6.75e-02 8.29e-01h 1\n", + " 53 6.7011949e+08 5.43e+05 1.31e+02 -2.5 6.27e+06 - 6.16e-01 1.08e-01h 1\n", + " 54 6.7011279e+08 2.43e+04 2.09e+01 -2.5 7.73e+05 - 1.00e+00 1.00e+00h 1\n", + " 55 6.7011290e+08 4.64e-01 1.94e+00 -2.5 2.85e+02 -6.9 6.51e-01 1.00e+00h 1\n", + " 56 6.7011282e+08 1.37e+00 5.55e+00 -2.5 4.41e+06 - 1.00e+00 2.32e-03f 2\n", + " 57 6.7010054e+08 1.76e+05 8.16e+00 -2.5 4.40e+06 - 1.00e+00 8.21e-01f 1\n", + " 58 6.7006525e+08 3.45e+06 6.54e+00 -2.5 6.40e+07 - 9.42e-01 2.52e-01h 1\n", + " 59 6.7004812e+08 3.88e+06 6.21e+00 -2.5 1.61e+08 - 1.00e+00 4.45e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.7004687e+08 3.50e+06 5.60e+00 -2.5 7.33e+06 - 8.66e-01 9.77e-02h 1\n", + " 61 6.7003191e+08 1.23e+06 2.85e+00 -2.5 1.15e+07 - 1.93e-02 9.97e-01h 1\n", + " 62 6.7003245e+08 1.11e+06 5.85e+01 -2.5 5.11e+04 -7.3 5.89e-03 9.83e-02h 1\n", + " 63 6.7003194e+08 1.10e+06 6.05e+01 -2.5 1.02e+06 - 1.00e+00 3.25e-03h 1\n", + " 64 6.7002976e+08 2.06e+03 8.18e+00 -2.5 2.02e+05 - 1.00e+00 1.00e+00h 1\n", + " 65 6.7002976e+08 3.39e-02 3.82e-06 -2.5 2.22e+01 -7.8 1.00e+00 1.00e+00h 1\n", + " 66 6.7002901e+08 5.30e-03 2.35e+00 -3.8 1.91e+02 -8.3 1.00e+00 8.41e-01f 1\n", + " 67 6.7002871e+08 1.27e-02 7.69e-02 -3.8 4.38e+02 -8.8 1.00e+00 9.86e-01f 1\n", + " 68 6.7002866e+08 9.52e-03 7.06e+00 -3.8 6.14e+02 -9.2 1.00e+00 4.33e-01f 1\n", + " 69 6.7002865e+08 2.12e-02 3.90e-04 -3.8 8.35e+02 -9.7 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.7002855e+08 2.09e-01 2.17e-05 -5.7 2.62e+03 -10.2 1.00e+00 1.00e+00f 1\n", + " 71 6.7002852e+08 2.48e-01 1.72e-02 -5.7 6.88e+03 -10.7 1.00e+00 2.57e-01h 1\n", + " 72 6.7002851e+08 2.20e-01 5.07e-01 -5.7 1.62e+04 -11.2 1.00e+00 1.15e-01h 1\n", + " 73 6.7002846e+08 1.68e+00 5.21e-01 -5.7 4.93e+04 -11.6 1.00e+00 1.44e-01h 1\n", + " 74 6.7002840e+08 3.70e+00 6.80e-01 -5.7 8.48e+04 -12.1 1.00e+00 1.41e-01h 1\n", + " 75 6.7002838e+08 3.81e+00 6.34e-01 -5.7 1.14e+05 -12.6 1.00e+00 3.32e-02h 1\n", + " 76 6.7002832e+08 2.44e+01 5.96e-01 -5.7 3.24e+05 -13.1 1.00e+00 1.46e-01h 1\n", + " 77 6.7002719e+08 8.56e+03 3.84e-03 -5.7 8.89e+05 -13.5 1.00e+00 1.00e+00h 1\n", + " 78 6.7002339e+08 9.11e+04 1.77e-02 -5.7 2.89e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 79 6.7000712e+08 1.43e+06 2.71e-01 -5.7 1.14e+07 -14.5 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 6.6993281e+08 1.89e+07 3.41e+00 -5.7 1.16e+08 -15.0 4.94e-01 3.40e-01h 1\n", + " 81r 6.6993281e+08 1.89e+07 9.99e+02 3.7 0.00e+00 -14.5 0.00e+00 3.91e-07R 4\n", + " 82r 6.6993780e+08 1.91e+07 9.99e+02 3.7 2.23e+08 - 5.22e-06 4.83e-06f 1\n", + " 83r 6.6998014e+08 9.67e+06 9.95e+02 2.3 4.45e+06 - 8.85e-03 1.03e-03f 1\n", + " 84 6.6994548e+08 1.07e+07 7.45e+01 -5.7 1.47e+13 - 8.25e-06 6.94e-07f 1\n", + " 85r 6.6994548e+08 1.07e+07 9.99e+02 3.4 0.00e+00 - 0.00e+00 4.44e-07R 4\n", + " 86r 6.6998145e+08 1.05e+07 9.99e+02 3.4 6.82e+07 - 2.93e-05 2.82e-05f 1\n", + " 87r 6.7007429e+08 3.18e+06 9.97e+02 2.0 7.51e+05 - 6.07e-03 1.85e-03f 1\n", + " 88r 6.7017889e+08 2.11e+06 9.95e+02 2.0 3.11e+06 - 1.20e-03 2.17e-03f 1\n", + " 89r 6.7027751e+08 1.54e+06 1.70e+03 2.0 2.36e+05 - 4.49e-02 2.07e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90r 6.7243380e+08 3.28e+05 1.61e+04 2.0 3.00e+04 - 5.87e-01 4.65e-02f 1\n", + " 91r 6.7811236e+08 2.80e+05 1.46e+04 2.0 1.61e+04 - 7.96e-02 8.58e-02f 1\n", + " 92r 7.0860380e+08 6.84e+04 5.81e+03 2.0 1.19e+04 - 2.96e-01 5.32e-01f 1\n", + " 93r 7.1982778e+08 3.80e+04 6.07e+03 2.0 1.33e+04 - 1.00e+00 4.61e-01f 1\n", + " 94r 7.3224317e+08 3.61e+03 3.32e+02 2.0 1.90e+04 - 1.00e+00 9.66e-01f 1\n", + " 95r 7.1086759e+08 3.64e+03 1.28e+02 0.6 8.95e+03 - 7.28e-01 7.17e-01f 1\n", + " 96r 7.0721374e+08 7.52e+03 6.13e+03 -0.1 9.22e+04 - 2.22e-01 5.87e-01f 1\n", + " 97r 7.0674384e+08 9.20e+03 4.76e+03 -0.1 2.04e+05 - 2.02e-01 1.85e-01f 1\n", + " 98r 7.0671234e+08 9.10e+03 3.71e+03 -0.1 6.57e+04 - 7.47e-01 1.07e-02f 1\n", + " 99r 7.0089700e+08 1.78e+03 1.18e+03 -0.1 7.05e+04 - 9.67e-01 8.06e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100r 6.9124960e+08 6.84e+01 9.30e+00 -0.1 1.90e+04 - 1.00e+00 1.00e+00f 1\n", + " 101r 6.8222811e+08 1.27e+01 9.30e+00 -0.8 3.05e+03 - 1.00e+00 1.00e+00f 1\n", + " 102r 6.8234026e+08 5.18e+03 4.23e+02 -0.8 1.77e+05 - 3.00e-01 6.92e-01f 1\n", + " 103r 6.8234450e+08 4.95e+03 2.28e+02 -0.8 5.45e+04 - 1.00e+00 4.32e-02f 1\n", + " 104r 6.8247736e+08 1.31e+01 8.94e+00 -0.8 5.21e+04 - 1.00e+00 1.00e+00f 1\n", + " 105r 6.8247717e+08 1.91e+00 8.94e+00 -0.8 1.90e+02 - 1.00e+00 1.00e+00h 1\n", + " 106r 6.8247717e+08 1.91e+00 8.94e+00 -0.8 1.31e+00 - 1.00e+00 1.00e+00h 1\n", + " 107r 6.8247717e+08 1.91e+00 8.94e+00 -0.8 5.34e-03 - 1.00e+00 1.00e+00h 1\n", + " 108r 6.8247717e+08 1.91e+00 8.94e+00 -0.8 5.41e-03 - 1.00e+00 1.00e+00h 1\n", + " 109r 6.8247717e+08 1.91e+00 8.94e+00 -0.8 5.41e-03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110r 6.8247717e+08 1.91e+00 8.94e+00 -0.8 5.41e-03 - 1.00e+00 1.00e+00h 1\n", + " 111r 6.8247717e+08 1.91e+00 8.94e+00 -0.8 5.41e-03 - 1.00e+00 1.00e+00H 1\n", + " 112r 6.8247717e+08 1.91e+00 8.66e+00 -0.8 4.76e-04 - 1.00e+00 3.12e-02h 6\n", + " 113r 6.8247717e+08 1.91e+00 8.94e+00 -0.8 4.75e-04 - 1.00e+00 1.00e+00h 1\n", + " 114r 6.8247717e+08 1.91e+00 8.38e+00 -0.8 5.41e-03 - 1.00e+00 6.25e-02h 5\n", + " 115r 6.8247717e+08 1.91e+00 8.94e+00 -0.8 4.30e-04 - 1.00e+00 1.00e+00h 1\n", + " 116r 6.8247717e+08 1.91e+00 8.38e+00 -0.8 5.41e-03 - 1.00e+00 6.25e-02h 5\n", + " 117r 6.8247717e+08 1.91e+00 8.94e+00 -0.8 3.39e-04 - 1.00e+00 1.00e+00h 1\n", + " 118r 6.8247717e+08 1.91e+00 8.80e+00 -0.8 5.41e-03 - 1.00e+00 1.56e-02h 7\n", + " 119r 6.8247717e+08 1.91e+00 8.94e+00 -0.8 4.57e-04 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 120r 6.8247717e+08 1.91e+00 8.87e+00 -0.8 5.41e-03 - 1.00e+00 7.81e-03h 8\n", + " 121r 6.8247717e+08 1.91e+00 2.49e-01 -0.8 4.94e-04 - 1.00e+00 5.00e-01h 2\n", + " 122r 6.7724424e+08 1.92e+00 3.50e+01 -2.3 1.61e+03 - 1.00e+00 8.64e-01f 1\n", + " 123r 6.7717007e+08 2.16e+02 1.24e+02 -2.3 1.37e+06 - 2.13e-01 1.56e-01f 1\n", + " 124r 6.7716949e+08 2.16e+02 3.84e+02 -2.3 1.15e+06 - 3.20e-01 1.06e-03f 1\n", + " 125r 6.7710248e+08 2.50e+02 5.13e+02 -2.3 1.14e+06 - 5.09e-01 9.29e-02f 1\n", + " 126r 6.7710131e+08 2.50e+02 6.33e+02 -2.3 6.12e+05 - 1.00e+00 1.17e-03f 1\n", + " 127r 6.7686088e+08 2.15e+02 6.88e+02 -2.3 4.02e+05 - 1.00e+00 1.49e-01f 1\n", + " 128r 6.7668254e+08 1.90e+02 7.77e+02 -2.3 3.35e+05 - 5.22e-01 1.23e-01f 1\n", + " 129r 6.7575234e+08 3.20e+02 3.34e+02 -2.3 2.94e+05 - 1.00e+00 7.28e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 130r 6.7542859e+08 5.88e+01 3.10e+01 -2.3 8.00e+04 - 1.00e+00 9.18e-01f 1\n", + " 131r 6.7539950e+08 2.00e+00 1.65e+00 -2.3 6.54e+03 - 1.00e+00 1.00e+00h 1\n", + " 132r 6.7539951e+08 2.00e+00 1.65e+00 -2.3 3.67e+02 - 1.00e+00 1.00e+00h 1\n", + " 133r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 2.99e+01 - 1.00e+00 1.00e+00h 1\n", + " 134r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 2.30e-01 - 1.00e+00 1.00e+00h 1\n", + " 135r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 1.14e-04 - 1.00e+00 1.00e+00h 1\n", + " 136r 6.7539952e+08 2.00e+00 8.26e-01 -2.3 1.03e-04 - 1.00e+00 5.00e-01h 2\n", + " 137r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 5.77e-05 - 1.00e+00 1.00e+00h 1\n", + " 138r 6.7539952e+08 2.00e+00 8.26e-01 -2.3 7.10e-05 - 1.00e+00 5.00e-01h 2\n", + " 139r 6.7539952e+08 2.00e+00 8.25e-01 -2.3 3.53e-05 - 1.00e+00 9.77e-04h 11\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 140r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 3.52e-05 - 1.00e+00 1.00e+00h 1\n", + " 141r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 7.05e-05 - 1.00e+00 1.00e+00h 1\n", + " 142r 6.7539952e+08 2.00e+00 8.26e-01 -2.3 1.15e-04 - 1.00e+00 5.00e-01h 2\n", + " 143r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 5.58e-05 - 1.00e+00 1.00e+00h 1\n", + " 144r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 7.02e-05 - 1.00e+00 1.00e+00h 1\n", + " 145r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 7.02e-05 - 1.00e+00 6.10e-05h 15\n", + " 146r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 7.02e-05 - 1.00e+00 1.00e+00h 1\n", + " 147r 6.7539952e+08 2.00e+00 8.26e-01 -2.3 7.08e-05 - 1.00e+00 5.00e-01h 2\n", + " 148r 6.7539952e+08 2.00e+00 7.74e-01 -2.3 3.51e-05 - 1.00e+00 6.25e-02h 5\n", + " 149r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 3.33e-05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 150r 6.7539952e+08 2.00e+00 8.26e-01 -2.3 7.04e-05 - 1.00e+00 5.00e-01h 2\n", + " 151r 6.7539952e+08 2.00e+00 8.26e-01 -2.3 3.50e-05 - 1.00e+00 7.63e-06h 18\n", + " 152r 6.7539952e+08 2.00e+00 4.13e-01 -2.3 3.50e-05 - 1.00e+00 5.00e-01h 2\n", + " 153r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 1.76e-05 - 1.00e+00 1.00e+00h 1\n", + " 154r 6.7539952e+08 2.00e+00 8.26e-01 -2.3 7.03e-05 - 1.00e+00 5.00e-01h 2\n", + " 155r 6.7539952e+08 2.00e+00 8.26e-01 -2.3 3.48e-05 - 1.00e+00 1.53e-05h 17\n", + " 156r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 3.48e-05 - 1.00e+00 1.00e+00h 1\n", + " 157r 6.7539952e+08 2.00e+00 8.26e-01 -2.3 7.03e-05 - 1.00e+00 5.00e-01h 2\n", + " 158r 6.7539952e+08 2.00e+00 6.20e-01 -2.3 3.55e-05 - 1.00e+00 2.50e-01h 3\n", + " 159r 6.7539952e+08 2.00e+00 6.19e-01 -2.3 2.67e-05 - 1.00e+00 1.22e-04h 14\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 160r 6.7539952e+08 2.00e+00 6.19e-01 -2.3 2.67e-05 - 1.00e+00 3.05e-05h 16\n", + " 161r 6.7539952e+08 2.00e+00 6.19e-01 -2.3 2.67e-05 - 1.00e+00 3.05e-05h 16\n", + " 162r 6.7539952e+08 2.00e+00 6.19e-01 -2.3 2.67e-05 - 1.00e+00 3.05e-05h 16\n", + " 163r 6.7539952e+08 2.00e+00 6.19e-01 -2.3 2.67e-05 - 1.00e+00 3.05e-05h 16\n", + " 164r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 2.67e-05 - 1.00e+00 1.00e+00h 1\n", + " 165r 6.7539952e+08 2.00e+00 8.26e-01 -2.3 7.03e-05 - 1.00e+00 5.00e-01h 2\n", + " 166r 6.7539952e+08 2.00e+00 8.26e-01 -2.3 3.54e-05 - 1.00e+00 4.88e-04h 12\n", + " 167r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 3.54e-05 - 1.00e+00 1.00e+00h 1\n", + " 168r 6.7539952e+08 2.00e+00 1.24e+00 -2.3 7.06e-05 - 1.00e+00 2.50e-01h 3\n", + " 169r 6.7539952e+08 2.00e+00 4.13e-01 -2.3 1.74e-05 - 1.00e+00 6.10e-05h 15\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 170r 6.7539952e+08 2.00e+00 4.13e-01 -2.3 1.74e-05 - 1.00e+00 1.53e-05h 17\n", + " 171r 6.7539952e+08 2.00e+00 4.13e-01 -2.3 1.74e-05 - 1.00e+00 1.53e-05h 17\n", + " 172r 6.7539952e+08 2.00e+00 4.13e-01 -2.3 1.74e-05 - 1.00e+00 1.53e-05h 17\n", + " 173r 6.7539952e+08 2.00e+00 4.13e-01 -2.3 1.74e-05 - 1.00e+00 1.53e-05h 17\n", + " 174r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 1.74e-05 - 1.00e+00 1.00e+00h 1\n", + " 175r 6.7539952e+08 2.00e+00 1.63e+00 -2.3 7.05e-05 - 1.00e+00 1.56e-02h 7\n", + " 176r 6.7539952e+08 2.00e+00 1.65e+00 -2.3 7.26e-06 - 1.00e+00 1.00e+00h 1\n", + " 177r 6.7539952e+08 2.00e+00 1.63e+00 -2.3 7.05e-05 - 1.00e+00 1.56e-02h 7\n", + " 178r 6.7539952e+08 2.00e+00 4.70e-02 -2.3 7.05e-06 - 1.00e+00 5.00e-01h 2\n", + " 179r 6.7307792e+08 2.00e+00 1.42e+01 -3.4 1.52e+03 - 8.57e-01 9.22e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 180r 6.7307450e+08 4.90e+01 2.61e+02 -3.4 1.68e+06 - 2.63e-01 5.33e-02f 1\n", + " 181r 6.7307449e+08 4.90e+01 7.30e+02 -3.4 4.83e+05 - 2.95e-01 8.80e-05f 1\n", + " 182r 6.7303898e+08 1.12e+02 8.43e+02 -3.4 4.83e+05 - 4.73e-01 2.37e-01f 1\n", + " 183r 6.7299428e+08 1.64e+02 7.54e+02 -3.4 3.65e+05 - 3.73e-01 2.75e-01f 1\n", + " 184r 6.7292691e+08 2.16e+02 4.08e+02 -3.4 2.70e+05 - 4.56e-01 4.62e-01f 1\n", + " 185r 6.7286126e+08 1.50e+02 1.89e+02 -3.4 1.46e+05 - 7.27e-01 6.05e-01f 1\n", + " 186r 6.7281247e+08 4.01e+01 2.68e+01 -3.4 5.60e+04 - 9.05e-01 8.60e-01f 1\n", + " 187r 6.7280188e+08 1.88e+00 1.67e-01 -3.4 7.95e+03 - 1.00e+00 1.00e+00h 1\n", + " 188r 6.7280183e+08 1.88e+00 8.10e-02 -3.4 5.25e+00 - 1.00e+00 1.00e+00h 1\n", + " 189r 6.7280183e+08 1.88e+00 4.33e-01 -3.4 3.00e-03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 190r 6.7280183e+08 1.88e+00 3.79e-01 -3.4 3.52e-05 - 1.00e+00 1.25e-01h 4\n", + " 191r 6.7280183e+08 1.88e+00 4.33e-01 -3.4 1.90e-05 - 1.00e+00 1.00e+00h 1\n", + " 192r 6.7280183e+08 1.88e+00 4.26e-01 -3.4 1.45e-05 - 1.00e+00 1.56e-02h 7\n", + " 193r 6.7280183e+08 1.88e+00 2.13e-01 -3.4 1.53e-05 - 1.00e+00 5.00e-01h 2\n", + " 194r 6.7280183e+08 1.88e+00 2.06e-01 -3.4 1.05e-05 - 1.00e+00 3.12e-02h 6\n", + " 195r 6.7280183e+08 1.88e+00 8.10e-02 -3.4 1.03e-05 - 1.00e+00 1.00e+00s 22\n", + " 196r 6.7280183e+08 1.88e+00 8.10e-02 -3.4 2.16e-05 - 0.00e+00 0.00e+00R 1\n", + " 197r 6.7280183e+08 1.88e+00 8.08e-02 -3.4 2.16e-05 - 1.00e+00 1.95e-03f 10\n", + " 198r 6.7280183e+08 1.88e+00 8.05e-02 -3.4 2.24e-05 - 1.00e+00 3.91e-03h 9\n", + " 199r 6.7280183e+08 1.88e+00 4.33e-01 -3.4 1.75e-05 - 1.00e+00 1.00e+00s 36\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 200r 6.7280183e+08 1.88e+00 4.33e-01 -3.4 3.86e-05 - 1.00e+00 1.00e+00s 36\n", + "\n", + "Number of Iterations....: 200\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.7280182672897921e+04 6.7280182672897923e+08\n", + "Dual infeasibility......: 9.9997881123655276e+01 9.9997881123655278e+05\n", + "Constraint violation....: 1.8834692531229393e+00 1.8834692531229393e+00\n", + "Complementarity.........: 4.0757213969768461e-04 4.0757213969768458e+00\n", + "Overall NLP error.......: 9.9997881123655276e+01 9.9997881123655278e+05\n", + "\n", + "\n", + "Number of objective function evaluations = 618\n", + "Number of objective gradient evaluations = 86\n", + "Number of equality constraint evaluations = 619\n", + "Number of inequality constraint evaluations = 619\n", + "Number of equality constraint Jacobian evaluations = 204\n", + "Number of inequality constraint Jacobian evaluations = 204\n", + "Number of Lagrangian Hessian evaluations = 200\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 8.245\n", + "Total CPU secs in NLP function evaluations = 510.240\n", + "\n", + "EXIT: Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:pyomo.core:Loading a SolverResults object with a warning status into model.name=\"unknown\";\n", + " - termination condition: maxIterations\n", + " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 364\n", + "Realized SOC (MPC) 300880\n", + "Fixed costs: 41023.55\n", + "Variable costs: 11918.86\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 338.84\n", + "\n", + "Simulating time_step 2020-07-10 11:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.7280183e+08 8.86e+04 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.7155777e+08 8.82e+04 9.94e+01 -1.0 1.11e+06 - 2.85e-02 4.25e-03f 1\n", + " 2 6.7290691e+08 8.71e+04 9.81e+01 -1.0 9.67e+05 - 2.72e-03 1.34e-02h 1\n", + " 3 6.7338242e+08 8.67e+04 9.77e+01 -1.0 1.02e+06 - 1.83e-02 3.57e-03h 1\n", + " 4 6.7338902e+08 8.67e+04 7.94e+03 -1.0 2.18e+06 - 2.17e-02 4.59e-05h 1\n", + " 5 6.7414700e+08 8.63e+04 4.36e+04 -1.0 7.98e+06 - 2.69e-02 5.17e-03h 1\n", + " 6 6.8530340e+08 7.98e+04 3.42e+04 -1.0 7.94e+06 - 2.68e-02 7.55e-02h 1\n", + " 7 7.0204152e+08 7.02e+04 6.82e+04 -1.0 7.33e+06 - 9.13e-02 1.21e-01h 1\n", + " 8 7.0221349e+08 7.01e+04 3.03e+03 -1.0 6.45e+06 - 7.64e-02 1.41e-03h 1\n", + " 9 7.0257304e+08 6.99e+04 4.49e+03 -1.0 6.43e+06 - 8.95e-04 2.94e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.0289422e+08 6.97e+04 5.39e+03 -1.0 4.09e+06 - 1.43e-05 2.63e-03h 1\n", + " 11 7.0440732e+08 6.88e+04 2.54e+03 -1.0 7.01e+05 - 2.40e-03 1.24e-02h 1\n", + " 12 7.0543468e+08 6.82e+04 1.12e+05 -1.0 6.89e+05 - 4.04e-01 8.54e-03h 1\n", + " 13 7.2261620e+08 5.84e+04 7.59e+04 -1.0 6.75e+05 - 2.26e-02 1.44e-01h 1\n", + " 14 7.8123834e+08 2.47e+04 8.70e+04 -1.0 5.86e+05 - 9.16e-01 5.77e-01h 1\n", + " 15 7.8677775e+08 2.07e+04 8.06e+04 -1.0 1.88e+06 - 7.09e-01 1.63e-01h 1\n", + " 16 7.8703630e+08 2.00e+04 7.81e+04 -1.0 6.23e+06 - 6.94e-02 3.32e-02h 1\n", + " 17 7.8798296e+08 1.67e+04 6.59e+04 -1.0 6.67e+06 - 3.12e-01 1.64e-01h 1\n", + " 18 7.8797394e+08 1.62e+04 6.56e+04 -1.0 9.70e+06 - 7.17e-01 3.33e-02h 1\n", + " 19 7.8612269e+08 1.56e+04 6.36e+04 -1.0 3.29e+07 - 1.74e-01 3.20e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.8029687e+08 1.43e+04 5.83e+04 -1.0 3.90e+07 - 1.46e-01 8.42e-02f 1\n", + " 21 7.8003686e+08 1.43e+04 5.82e+04 -1.0 3.42e+07 - 4.08e-01 5.54e-03f 1\n", + " 22 7.7710287e+08 1.27e+04 5.19e+04 -1.0 3.66e+07 - 9.05e-02 1.09e-01f 1\n", + " 23 7.6990317e+08 1.44e+04 4.05e+04 -1.0 4.14e+07 - 1.20e-04 2.07e-01f 1\n", + " 24 7.6996846e+08 1.43e+04 4.04e+04 -1.0 8.57e+04 -4.0 4.78e-04 3.86e-03h 1\n", + " 25 7.7010772e+08 1.42e+04 4.00e+04 -1.0 8.54e+04 -4.5 4.31e-03 7.96e-03h 1\n", + " 26 7.7017882e+08 1.42e+04 3.99e+04 -1.0 8.49e+04 -5.0 1.35e-02 4.08e-03h 1\n", + " 27 7.7033225e+08 1.40e+04 3.95e+04 -1.0 8.52e+04 -5.4 2.12e-02 8.84e-03h 1\n", + " 28 7.7040367e+08 1.40e+04 3.94e+04 -1.0 9.78e+04 -5.9 3.94e-02 4.14e-03h 1\n", + " 29 7.7050701e+08 1.39e+04 3.91e+04 -1.0 6.09e+05 -6.4 3.20e-04 5.64e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 7.7072564e+08 1.37e+04 3.87e+04 -1.0 6.21e+05 -6.9 3.95e-03 1.19e-02h 1\n", + " 31 7.7204164e+08 1.27e+04 3.59e+04 -1.0 6.18e+05 -7.3 4.24e-03 7.21e-02h 1\n", + " 32 7.8896007e+08 1.32e+03 2.18e+04 -1.0 5.74e+05 -7.8 9.40e-02 1.00e+00h 1\n", + " 33 7.8892270e+08 2.63e-01 3.77e+03 -1.0 7.66e+03 -8.3 8.46e-01 1.00e+00f 1\n", + " 34 7.8564946e+08 2.51e+02 3.73e+03 -1.0 3.33e+08 - 1.38e-02 2.88e-03f 1\n", + " 35 7.8091951e+08 1.82e+03 3.48e+03 -1.0 3.43e+08 - 9.06e-02 9.44e-03f 1\n", + " 36 7.6309613e+08 2.55e+04 3.27e+03 -1.0 4.26e+08 - 6.98e-02 2.69e-02f 1\n", + " 37 7.5966171e+08 2.62e+04 3.03e+03 -1.0 5.07e+08 - 9.65e-02 4.43e-03f 1\n", + " 38 7.1919993e+08 1.39e+05 2.77e+03 -1.0 6.29e+08 - 9.81e-02 4.28e-02f 1\n", + " 39 7.1772396e+08 1.40e+05 2.70e+03 -1.0 7.43e+08 - 3.40e-02 1.69e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 7.1099556e+08 1.45e+05 2.66e+03 -1.0 6.56e+08 - 1.71e-02 9.69e-03f 1\n", + " 41 7.1077986e+08 1.44e+05 1.59e+03 -1.0 4.74e+07 - 3.92e-01 6.98e-03f 1\n", + " 42 7.0976163e+08 1.87e+05 7.82e+02 -1.0 5.07e+06 - 5.13e-01 5.89e-01f 1\n", + " 43 7.0656229e+08 2.16e+06 4.47e+02 -1.0 1.02e+07 - 4.52e-01 1.00e+00f 1\n", + " 44 7.0599347e+08 2.01e+06 2.09e+02 -1.0 1.76e+07 - 5.33e-01 9.93e-02f 1\n", + " 45 7.0552543e+08 1.97e+06 1.38e+02 -1.0 3.80e+07 - 3.40e-01 4.92e-02f 1\n", + " 46 7.0403297e+08 2.80e+06 1.03e+02 -1.0 6.66e+07 - 2.51e-01 1.09e-01f 1\n", + " 47 7.0201697e+08 6.07e+06 9.08e+01 -1.0 9.67e+07 - 1.18e-01 1.20e-01f 1\n", + " 48 6.9977538e+08 9.94e+06 8.32e+01 -1.0 1.05e+08 - 8.57e-02 1.31e-01f 1\n", + " 49 6.9970240e+08 9.89e+06 7.40e+01 -1.0 1.03e+08 - 1.06e-01 5.42e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.9678567e+08 2.03e+07 6.90e+01 -1.0 1.06e+08 - 7.37e-02 2.21e-01f 1\n", + " 51 6.9666091e+08 2.01e+07 6.28e+01 -1.0 8.72e+07 - 8.68e-02 1.24e-02f 1\n", + " 52 6.9624057e+08 1.96e+07 6.28e+01 -1.0 8.24e+07 - 9.39e-04 3.04e-02f 1\n", + " 53 6.9626503e+08 9.29e+06 3.39e+01 -1.0 4.04e+04 -8.8 2.77e-01 5.25e-01h 1\n", + " 54 6.9582349e+08 9.13e+06 3.38e+01 -1.0 2.09e+08 - 8.57e-03 1.76e-02f 1\n", + " 55 6.9182860e+08 1.05e+08 3.33e+01 -1.0 4.03e+08 - 2.88e-02 9.72e-02f 1\n", + " 56 6.9178877e+08 1.05e+08 2.87e+01 -1.0 4.39e+08 - 1.21e-01 9.16e-04f 1\n", + " 57 6.9001454e+08 8.27e+07 7.64e+01 -1.0 9.14e+07 - 5.68e-01 2.11e-01f 1\n", + " 58 6.8983832e+08 8.03e+07 7.49e+01 -1.0 6.57e+07 - 7.35e-01 2.96e-02h 1\n", + " 59 6.8983759e+08 7.19e+07 6.71e+01 -1.0 4.82e+06 - 9.82e-01 1.04e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.8984771e+08 6.08e+05 3.06e+01 -1.0 6.37e+06 - 1.00e+00 1.00e+00h 1\n", + " 61 6.8984821e+08 3.63e+02 1.65e+00 -1.0 1.95e+04 -9.2 8.73e-01 1.00e+00h 1\n", + " 62 6.8984704e+08 3.60e+02 1.15e+01 -1.0 9.38e+06 - 1.00e+00 9.38e-03f 2\n", + " 63 6.8982730e+08 1.14e+06 3.38e+01 -1.0 9.14e+06 - 1.00e+00 1.00e+00f 1\n", + " 64 6.8982781e+08 1.05e+03 7.22e-01 -1.0 5.10e+04 -9.7 8.78e-01 1.00e+00h 1\n", + " 65 6.8982483e+08 1.03e+03 3.18e+01 -1.7 1.55e+07 - 9.88e-01 1.16e-02f 1\n", + " 66 6.8981108e+08 1.16e+06 2.73e+01 -1.7 7.69e+07 - 7.51e-01 1.49e-01f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 67 6.8974762e+08 2.06e+06 1.67e+01 -1.7 2.03e+07 - 1.00e+00 6.71e-01h 1\n", + " 68 6.8969123e+08 4.17e+06 1.50e+01 -1.7 9.59e+07 - 5.28e-01 1.61e-01h 1\n", + " 69 6.8963265e+08 6.55e+06 1.31e+01 -1.7 9.36e+07 - 1.00e+00 1.95e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.8963095e+08 6.25e+06 1.25e+01 -1.7 7.97e+06 - 1.00e+00 4.63e-02h 1\n", + " 71 6.8960943e+08 1.25e+06 5.36e+00 -1.7 8.45e+06 - 1.00e+00 1.00e+00h 1\n", + " 72 6.8960824e+08 2.20e+03 1.06e-01 -1.7 5.38e+04 -10.2 1.00e+00 1.00e+00h 1\n", + " 73 6.8960470e+08 3.49e+05 5.87e+00 -1.7 4.03e+06 - 1.00e+00 1.00e+00h 1\n", + " 74 6.8960246e+08 4.43e+05 6.80e+00 -1.7 2.73e+07 - 1.00e+00 8.44e-02h 1\n", + " 75 6.8960237e+08 7.03e+03 2.52e-04 -1.7 2.63e+05 - 1.00e+00 1.00e+00h 1\n", + " 76 6.8960234e+08 6.62e+01 1.54e-05 -1.7 4.69e+04 - 1.00e+00 1.00e+00h 1\n", + " 77 6.8959526e+08 1.63e+04 2.16e+00 -3.8 1.99e+06 - 9.22e-01 6.54e-01f 1\n", + " 78 6.8959233e+08 2.44e+03 2.33e-01 -3.8 3.59e+05 - 1.00e+00 9.17e-01h 1\n", + " 79 6.8959208e+08 7.29e-01 1.11e-06 -3.8 8.97e+03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 6.8959200e+08 8.20e-01 3.02e-07 -5.7 9.21e+03 - 1.00e+00 1.00e+00h 1\n", + " 81 6.8959200e+08 8.46e-06 1.85e-11 -5.7 2.99e+01 - 1.00e+00 1.00e+00h 1\n", + " 82 6.8959200e+08 1.20e-04 4.52e-11 -8.6 1.11e+02 - 1.00e+00 1.00e+00h 1\n", + " 83 6.8959200e+08 1.43e-06 1.84e-12 -8.6 4.90e-03 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 83\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.8959200399506022e+04 6.8959200399506021e+08\n", + "Dual infeasibility......: 1.8388917112157098e-12 1.8388917112157098e-08\n", + "Constraint violation....: 3.7252902984619141e-09 1.4305114746093750e-06\n", + "Complementarity.........: 2.5064991009616439e-09 2.5064991009616436e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5064991009616436e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 87\n", + "Number of objective gradient evaluations = 84\n", + "Number of equality constraint evaluations = 87\n", + "Number of inequality constraint evaluations = 87\n", + "Number of equality constraint Jacobian evaluations = 84\n", + "Number of inequality constraint Jacobian evaluations = 84\n", + "Number of Lagrangian Hessian evaluations = 83\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 6.071\n", + "Total CPU secs in NLP function evaluations = 161.985\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 401\n", + "Realized SOC (MPC) 271268\n", + "Fixed costs: 41023.55\n", + "Variable costs: 17365.73\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 259.33\n", + "\n", + "Simulating time_step 2020-07-10 12:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.8979200e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.8978398e+08 1.00e+05 9.90e+01 -1.0 1.18e+06 - 4.89e-04 4.47e-04h 1\n", + " 2 6.8987455e+08 9.98e+04 9.97e+01 -1.0 8.98e+05 - 5.70e-04 1.82e-03h 1\n", + " 3 6.9016584e+08 9.94e+04 9.98e+01 -1.0 8.99e+05 - 2.26e-03 3.58e-03h 1\n", + " 4 6.9083301e+08 9.87e+04 9.93e+01 -1.0 8.97e+05 - 6.03e-03 6.97e-03h 1\n", + " 5 7.0538141e+08 8.38e+04 1.13e+02 -1.0 8.91e+05 - 1.50e-02 1.51e-01h 1\n", + " 6 7.0552565e+08 8.36e+04 8.36e+02 -1.0 7.57e+05 - 9.60e-01 1.79e-03h 1\n", + " 7 7.2947844e+08 5.57e+04 1.46e+03 -1.0 2.05e+06 - 4.77e-01 3.34e-01h 1\n", + " 8 7.2976670e+08 5.53e+04 1.07e+03 -1.0 3.44e+06 - 5.82e-01 7.84e-03h 1\n", + " 9 7.3141574e+08 4.84e+04 8.19e+02 -1.0 7.88e+06 - 3.30e-02 1.26e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.3147190e+08 4.80e+04 1.08e+03 -1.0 8.10e+06 - 2.67e-01 6.36e-03h 1\n", + " 11 7.3138029e+08 4.56e+04 1.03e+03 -1.0 1.09e+07 - 6.28e-02 5.10e-02h 1\n", + " 12 7.3079623e+08 3.85e+04 1.00e+03 -1.0 1.16e+07 - 4.19e-01 1.56e-01h 1\n", + " 13 7.3066774e+08 3.82e+04 1.02e+03 -1.0 1.90e+07 - 2.08e-01 7.26e-03h 1\n", + " 14 7.2957700e+08 3.65e+04 1.34e+03 -1.0 2.24e+07 - 6.47e-01 4.61e-02f 1\n", + " 15 7.2674379e+08 3.25e+04 1.19e+03 -1.0 5.95e+07 - 7.93e-02 1.08e-01f 1\n", + " 16 7.2484277e+08 3.06e+04 1.14e+03 -1.0 6.32e+07 - 1.19e-01 5.79e-02f 1\n", + " 17 7.2482709e+08 3.06e+04 1.14e+03 -1.0 3.38e+07 - 3.92e-03 2.01e-03h 1\n", + " 18 7.2805878e+08 1.72e+05 4.57e+02 -1.0 3.39e+07 - 4.58e-01 8.84e-01h 1\n", + " 19 7.1654288e+08 2.13e+05 3.01e+02 -1.0 8.33e+07 - 5.60e-01 2.69e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.1642361e+08 2.12e+05 3.01e+02 -1.0 2.33e+08 - 1.34e-01 9.67e-04f 1\n", + " 21 7.1663355e+08 1.80e+05 1.05e+03 -1.0 1.07e+06 - 8.54e-01 1.54e-01h 1\n", + " 22 7.1602882e+08 4.29e+05 3.68e+02 -1.0 7.16e+06 - 4.39e-01 6.13e-01f 1\n", + " 23 7.1573303e+08 4.16e+05 3.63e+02 -1.0 1.24e+07 - 3.12e-01 8.87e-02f 1\n", + " 24 7.1476569e+08 6.20e+05 2.94e+02 -1.0 1.76e+07 - 1.91e-01 1.92e-01f 1\n", + " 25 7.1445730e+08 6.29e+05 2.81e+02 -1.0 2.16e+07 - 1.28e-01 6.02e-02f 1\n", + " 26 7.1313756e+08 1.20e+06 2.20e+02 -1.0 2.57e+07 - 9.66e-02 1.95e-01f 1\n", + " 27 7.1308932e+08 1.19e+06 2.23e+02 -1.0 2.99e+07 - 9.32e-02 7.90e-03f 1\n", + " 28 7.1236459e+08 1.44e+06 1.96e+02 -1.0 3.36e+07 - 7.57e-02 1.13e-01f 1\n", + " 29 7.1063794e+08 3.78e+06 1.37e+02 -1.0 3.76e+07 - 1.47e-01 2.71e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 7.0861408e+08 6.50e+06 9.92e+01 -1.0 4.65e+07 - 2.31e-01 2.67e-01f 1\n", + " 31 7.0690079e+08 7.58e+06 7.83e+01 -1.0 6.12e+07 - 5.56e-03 1.61e-01f 1\n", + " 32 7.0686812e+08 7.56e+06 8.13e+01 -1.0 5.96e+07 - 1.06e-01 3.31e-03f 1\n", + " 33 7.0499330e+08 8.63e+06 6.67e+01 -1.0 6.26e+07 - 8.34e-03 1.70e-01f 1\n", + " 34 7.0438613e+08 8.35e+06 6.29e+01 -1.0 5.89e+07 - 3.04e-01 5.61e-02f 1\n", + " 35 7.0139668e+08 1.14e+07 4.83e+01 -1.0 7.08e+07 - 1.80e-01 2.21e-01f 1\n", + " 36 7.0126060e+08 1.13e+07 4.77e+01 -1.0 6.21e+07 - 4.01e-01 1.08e-02f 1\n", + " 37 6.9990545e+08 1.09e+07 4.28e+01 -1.0 6.51e+07 - 8.55e-02 1.01e-01f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 38 6.9958729e+08 1.06e+07 4.16e+01 -1.0 6.04e+07 - 4.95e-01 2.86e-02f 1\n", + " 39 6.9880600e+08 1.00e+07 3.84e+01 -1.0 6.84e+07 - 7.68e-01 7.44e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.9685179e+08 1.85e+07 2.80e+01 -1.0 8.61e+07 - 3.56e-01 2.33e-01f 1\n", + " 41 6.9683127e+08 1.83e+07 3.23e+01 -1.0 6.10e+07 - 6.01e-01 8.16e-03h 1\n", + " 42 6.9683489e+08 1.77e+07 1.22e+03 -1.0 2.19e+05 -4.0 6.25e-03 3.54e-02h 1\n", + " 43 6.9688779e+08 1.62e+07 2.39e+03 -1.0 4.70e+06 - 4.77e-03 8.60e-02h 1\n", + " 44 6.9690522e+08 1.37e+07 5.52e+03 -1.0 1.93e+05 -4.5 4.19e-02 1.53e-01h 1\n", + " 45 6.9698838e+08 2.92e+06 5.84e+03 -1.0 1.63e+05 -5.0 2.78e-01 7.86e-01h 1\n", + " 46 6.9701374e+08 6.08e+02 1.14e+04 -1.0 3.44e+04 -5.4 9.94e-01 1.00e+00h 1\n", + " 47 6.9701334e+08 1.84e-03 7.20e-01 -1.0 3.76e+01 -5.9 1.00e+00 1.00e+00h 1\n", + " 48 6.9700119e+08 4.51e-05 1.34e-03 -1.7 9.01e+01 -6.4 1.00e+00 1.00e+00f 1\n", + " 49 6.9689728e+08 1.88e+04 1.98e+01 -2.5 2.26e+08 - 1.89e-01 3.54e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.9682828e+08 2.01e+05 6.07e+01 -2.5 2.27e+07 - 6.65e-01 1.58e-01f 1\n", + " 51 6.9674153e+08 5.17e+06 2.95e+02 -2.5 2.93e+07 - 7.58e-01 7.38e-01h 1\n", + " 52 6.9673451e+08 5.12e+06 2.93e+02 -2.5 1.69e+08 - 1.96e-01 1.10e-02h 1\n", + " 53 6.9664284e+08 2.74e+07 1.53e+02 -2.5 5.15e+07 - 6.39e-01 9.30e-01h 1\n", + " 54 6.9664587e+08 2.70e+07 1.50e+02 -2.5 8.26e+05 -6.9 2.27e-04 1.28e-02h 1\n", + " 55 6.9664309e+08 2.66e+07 1.48e+02 -2.5 2.39e+06 - 1.61e-01 1.47e-02h 1\n", + " 56 6.9663296e+08 2.14e+07 1.30e+02 -2.5 2.01e+06 - 3.47e-01 1.98e-01h 1\n", + " 57 6.9661710e+08 1.21e+07 1.07e+02 -2.5 1.45e+06 - 2.26e-01 4.32e-01h 1\n", + " 58 6.9659904e+08 1.74e+06 1.21e+02 -2.5 1.28e+06 - 1.00e+00 8.52e-01h 1\n", + " 59 6.9659622e+08 1.23e+06 8.39e+01 -2.5 1.44e+06 - 1.00e+00 2.97e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.9658650e+08 1.22e+05 1.48e+01 -2.5 3.51e+06 - 1.00e+00 1.00e+00h 1\n", + " 61 6.9658695e+08 1.93e+04 5.78e+01 -2.5 5.34e+03 -7.3 5.67e-02 8.42e-01h 1\n", + " 62 6.9658648e+08 1.92e+04 6.13e+01 -2.5 2.48e+06 - 1.00e+00 3.19e-03h 1\n", + " 63 6.9657970e+08 4.86e+04 1.01e+01 -2.5 2.47e+06 - 1.00e+00 9.29e-01h 1\n", + " 64 6.9657768e+08 5.11e+04 9.62e+00 -2.5 1.25e+07 - 1.00e+00 5.28e-02h 1\n", + " 65 6.9657661e+08 2.12e+04 2.86e+00 -2.5 1.65e+06 - 1.00e+00 8.37e-01h 1\n", + " 66 6.9656317e+08 3.12e+06 6.81e+00 -2.5 1.75e+07 - 1.00e+00 1.00e+00h 1\n", + " 67 6.9656347e+08 2.99e+06 5.59e+01 -2.5 1.65e+05 -7.8 3.72e-03 4.06e-02h 1\n", + " 68 6.9656310e+08 2.98e+06 6.06e+01 -2.5 8.40e+05 - 1.00e+00 3.16e-03h 1\n", + " 69 6.9655741e+08 6.41e+03 2.01e+01 -2.5 2.57e+05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.9655740e+08 1.18e-02 7.14e-05 -2.5 1.51e+02 -8.3 1.00e+00 1.00e+00h 1\n", + " 71 6.9655655e+08 4.27e-03 1.39e+00 -3.8 3.18e+02 -8.8 1.00e+00 8.80e-01f 1\n", + " 72 6.9655634e+08 1.27e-02 4.18e-01 -3.8 6.82e+02 -9.2 1.00e+00 8.33e-01f 1\n", + " 73 6.9655632e+08 1.94e-02 2.33e-04 -3.8 8.00e+02 -9.7 1.00e+00 1.00e+00f 1\n", + " 74 6.9655623e+08 1.89e-01 7.00e-05 -5.7 2.50e+03 -10.2 1.00e+00 9.99e-01f 1\n", + " 75 6.9655621e+08 4.24e-01 5.75e-02 -5.7 7.28e+03 -10.7 1.00e+00 4.46e-01h 1\n", + " 76 6.9655617e+08 6.91e-01 8.54e-01 -5.7 1.56e+04 -11.2 1.00e+00 2.99e-01h 1\n", + " 77 6.9655615e+08 1.66e+00 1.45e+00 -5.7 3.63e+04 -11.6 1.00e+00 1.79e-01f 1\n", + " 78 6.9655612e+08 1.62e+00 1.19e+00 -5.7 5.98e+04 -12.1 1.00e+00 1.57e-01h 1\n", + " 79 6.9655591e+08 2.61e+02 1.20e-01 -5.7 1.80e+05 -12.6 1.00e+00 8.31e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 6.9655590e+08 2.58e+02 1.41e-01 -5.7 5.03e+05 -13.1 1.00e+00 1.52e-02h 1\n", + " 81 6.9655582e+08 2.84e+02 1.63e-01 -5.7 1.37e+06 -13.5 1.00e+00 4.08e-02h 1\n", + " 82 6.9655565e+08 4.42e+02 2.22e-01 -5.7 3.46e+06 -14.0 1.00e+00 3.46e-02h 1\n", + " 83 6.9654835e+08 3.03e+05 1.54e-01 -5.7 1.10e+07 -14.5 1.00e+00 4.70e-01f 1\n", + " 84 6.9654825e+08 1.29e+05 2.93e-01 -5.7 1.92e+05 - 1.00e+00 5.72e-01h 1\n", + " 85 6.9654784e+08 9.88e+02 1.53e-03 -5.7 1.27e+05 - 1.00e+00 9.95e-01h 1\n", + " 86 6.9654784e+08 2.47e-04 3.70e-09 -5.7 6.23e+01 - 1.00e+00 1.00e+00h 1\n", + " 87 6.9654784e+08 1.31e-05 1.45e-11 -8.6 3.27e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 87\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.9654784108078617e+04 6.9654784108078611e+08\n", + "Dual infeasibility......: 1.4523762094449297e-11 1.4523762094449297e-07\n", + "Constraint violation....: 3.7252902984619141e-09 1.3053417205810547e-05\n", + "Complementarity.........: 2.5537329768956731e-09 2.5537329768956729e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5537329768956729e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 88\n", + "Number of objective gradient evaluations = 88\n", + "Number of equality constraint evaluations = 88\n", + "Number of inequality constraint evaluations = 88\n", + "Number of equality constraint Jacobian evaluations = 88\n", + "Number of inequality constraint Jacobian evaluations = 88\n", + "Number of Lagrangian Hessian evaluations = 87\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.468\n", + "Total CPU secs in NLP function evaluations = 123.104\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 388\n", + "Realized SOC (MPC) 250025\n", + "Fixed costs: 41023.55\n", + "Variable costs: 19723.61\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 130.54\n", + "\n", + "Simulating time_step 2020-07-10 13:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.9674784e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.9673985e+08 1.00e+05 9.90e+01 -1.0 1.49e+06 - 4.89e-04 4.47e-04h 1\n", + " 2 6.9683151e+08 9.98e+04 9.97e+01 -1.0 6.96e+05 - 5.70e-04 1.78e-03h 1\n", + " 3 6.9711704e+08 9.94e+04 9.98e+01 -1.0 6.97e+05 - 2.22e-03 3.58e-03h 1\n", + " 4 6.9776082e+08 9.87e+04 9.93e+01 -1.0 6.96e+05 - 5.98e-03 6.93e-03h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 5 6.9918885e+08 9.72e+04 9.79e+01 -1.0 6.91e+05 - 1.48e-02 1.52e-02h 1\n", + " 6 7.1561761e+08 8.00e+04 1.07e+02 -1.0 6.81e+05 - 4.47e-02 1.77e-01h 1\n", + " 7 7.1578271e+08 7.98e+04 5.00e+02 -1.0 5.61e+05 - 5.50e-01 2.17e-03h 1\n", + " 8 7.1671200e+08 7.89e+04 2.69e+04 -1.0 7.72e+05 - 4.29e-01 1.23e-02h 1\n", + " 9 7.4604187e+08 4.76e+04 1.67e+04 -1.0 7.57e+05 - 4.51e-01 3.96e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.4637067e+08 4.72e+04 5.64e+03 -1.0 6.70e+05 - 5.69e-01 7.65e-03h 1\n", + " 11 7.4923436e+08 4.39e+04 5.87e+03 -1.0 1.34e+06 - 2.87e-02 7.11e-02h 1\n", + " 12 7.5952301e+08 3.16e+04 9.46e+03 -1.0 1.34e+06 - 1.55e-03 2.79e-01h 1\n", + " 13 7.6071917e+08 3.02e+04 9.50e+03 -1.0 1.30e+06 - 9.79e-01 4.69e-02h 1\n", + " 14 7.5525574e+08 2.92e+04 9.21e+03 -1.0 4.98e+07 - 5.45e-02 3.13e-02f 1\n", + " 15 7.5478835e+08 2.91e+04 9.23e+03 -1.0 5.56e+07 - 1.59e-01 3.54e-03f 1\n", + " 16 7.4993692e+08 2.81e+04 9.01e+03 -1.0 6.40e+07 - 3.68e-01 3.55e-02f 1\n", + " 17 7.4777983e+08 2.75e+04 8.84e+03 -1.0 5.63e+07 - 1.35e-01 2.12e-02f 1\n", + " 18 7.4468239e+08 2.56e+04 8.27e+03 -1.0 6.55e+07 - 3.31e-01 6.99e-02f 1\n", + " 19 7.3343599e+08 3.50e+04 7.29e+03 -1.0 1.11e+08 - 3.66e-01 1.21e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.3316133e+08 3.50e+04 7.29e+03 -1.0 2.17e+08 - 2.92e-01 2.14e-03f 1\n", + " 21 7.1610495e+08 2.49e+05 6.56e+03 -1.0 3.48e+08 - 2.15e-01 1.01e-01f 1\n", + " 22 7.1593561e+08 2.49e+05 6.56e+03 -1.0 2.54e+08 - 1.41e-01 1.41e-03f 1\n", + " 23 7.1700250e+08 2.08e+05 5.52e+03 -1.0 1.49e+07 - 9.44e-01 1.68e-01h 1\n", + " 24 7.1699550e+08 2.08e+05 5.51e+03 -1.0 3.28e+07 - 3.01e-02 2.02e-03h 1\n", + " 25 7.1702332e+08 2.07e+05 5.50e+03 -1.0 1.05e+08 - 2.51e-05 2.72e-03h 1\n", + " 26 7.1756476e+08 1.93e+06 3.94e+03 -1.0 3.36e+07 - 1.08e-01 2.84e-01h 1\n", + " 27 7.1755872e+08 1.91e+06 3.91e+03 -1.0 3.49e+07 - 1.09e-01 5.87e-03h 1\n", + " 28 7.1742937e+08 2.17e+06 3.39e+03 -1.0 3.84e+07 - 1.30e-01 1.33e-01h 1\n", + " 29 7.1649056e+08 6.72e+06 2.31e+03 -1.0 4.40e+07 - 2.14e-01 3.19e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 7.1644343e+08 6.67e+06 2.29e+03 -1.0 6.16e+07 - 4.00e-02 8.34e-03h 1\n", + " 31 7.1645292e+08 6.66e+06 2.29e+03 -1.0 3.48e+04 -4.0 1.52e-03 2.04e-03h 1\n", + " 32 7.1647756e+08 6.63e+06 2.28e+03 -1.0 3.48e+04 -4.5 2.62e-03 4.10e-03h 1\n", + " 33 7.1647783e+08 6.63e+06 2.28e+03 -1.0 3.47e+04 -5.0 6.16e-03 4.24e-05h 1\n", + " 34 7.1664696e+08 6.46e+06 2.22e+03 -1.0 3.58e+04 -5.4 7.30e-03 2.57e-02h 1\n", + " 35 7.1664873e+08 6.46e+06 2.22e+03 -1.0 3.48e+04 -5.9 3.32e-02 2.74e-04h 1\n", + " 36 7.1667776e+08 6.43e+06 6.63e+03 -1.0 3.81e+05 -6.4 1.68e-02 4.64e-03h 1\n", + " 37 7.1697068e+08 6.15e+06 2.11e+03 -1.0 3.79e+05 -6.9 3.63e-03 4.39e-02h 1\n", + " 38 7.1697398e+08 6.15e+06 3.97e+03 -1.0 3.63e+05 -7.3 8.17e-02 5.19e-04h 1\n", + " 39 7.1736995e+08 5.75e+06 3.61e+03 -1.0 3.63e+05 -7.8 2.68e-02 6.47e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 7.1737425e+08 5.74e+06 3.12e+03 -1.0 3.44e+05 -8.3 6.58e-02 7.39e-04h 1\n", + " 41 7.1894308e+08 4.30e+06 4.80e+03 -1.0 3.43e+05 -8.8 2.51e-03 2.52e-01h 1\n", + " 42 7.2020226e+08 3.16e+06 4.25e+03 -1.0 2.55e+05 -9.2 1.99e-01 2.64e-01h 1\n", + " 43 7.2131427e+08 2.01e+06 2.83e+03 -1.0 2.03e+05 -9.7 3.51e-01 3.65e-01h 1\n", + " 44 7.2144500e+08 1.38e+06 2.79e+03 -1.0 6.07e+05 -10.2 1.71e-01 3.11e-01h 1\n", + " 45 7.2135412e+08 1.33e+06 1.55e+03 -1.0 1.58e+06 -10.7 2.66e-01 3.96e-02h 1\n", + " 46 7.2126147e+08 1.26e+06 4.78e+02 -1.0 4.36e+06 -11.2 5.83e-01 4.97e-02h 1\n", + " 47 7.2081424e+08 1.17e+06 6.92e+02 -1.0 1.18e+07 -11.6 2.34e-01 7.20e-02f 1\n", + " 48 7.2077425e+08 1.14e+06 1.22e+03 -1.0 4.41e+06 -12.1 4.99e-01 3.00e-02h 1\n", + " 49 7.2047204e+08 1.03e+06 1.09e+03 -1.0 1.12e+07 -12.6 7.79e-02 9.77e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 7.2030010e+08 1.02e+06 1.07e+03 -1.0 1.94e+08 - 7.97e-03 1.25e-02f 1\n", + " 51 7.2016755e+08 9.78e+05 1.09e+03 -1.0 1.96e+07 -13.1 1.33e-01 3.72e-02f 1\n", + " 52 7.1978928e+08 7.28e+05 1.08e+03 -1.0 1.03e+07 -12.6 8.10e-01 2.72e-01f 1\n", + " 53 7.1974251e+08 7.11e+05 1.06e+03 -1.0 1.26e+07 -13.1 7.00e-02 2.35e-02h 1\n", + " 54 7.1904283e+08 1.31e+06 8.28e+02 -1.0 4.86e+07 -13.6 9.75e-02 2.06e-01f 1\n", + " 55 7.1900268e+08 1.28e+06 8.23e+02 -1.0 1.85e+07 -13.2 2.32e-01 2.69e-02h 1\n", + " 56 7.1868555e+08 1.74e+06 7.48e+02 -1.0 6.03e+07 -13.6 7.25e-02 8.95e-02f 1\n", + " 57 7.1866216e+08 1.71e+06 7.54e+02 -1.0 1.45e+07 -13.2 4.20e-01 2.14e-02h 1\n", + " 58 7.1826427e+08 4.35e+06 7.40e+02 -1.0 1.03e+09 -13.7 9.95e-05 1.76e-02f 1\n", + " 59 7.1811737e+08 3.72e+06 6.37e+02 -1.0 8.36e+06 -11.5 3.96e-01 1.46e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 7.1813470e+08 3.41e+06 5.85e+02 -1.0 3.25e+05 -11.0 7.08e-01 8.37e-02h 1\n", + " 61 7.1820806e+08 7.74e+05 1.16e+02 -1.0 1.33e+06 -11.5 2.27e-01 7.85e-01h 1\n", + " 62 7.1784761e+08 1.85e+05 8.33e+01 -1.0 1.89e+06 -12.0 7.28e-01 9.77e-01f 1\n", + " 63 7.1690837e+08 9.93e+05 2.81e+01 -1.0 6.03e+06 -12.5 6.74e-01 6.98e-01f 1\n", + " 64 7.1672638e+08 9.80e+05 2.77e+01 -1.0 1.79e+07 -12.9 9.95e-01 5.27e-02f 1\n", + " 65 7.1007948e+08 6.89e+07 2.05e+01 -1.0 5.18e+07 -13.4 1.00e+00 6.65e-01f 1\n", + " 66 7.0998738e+08 6.86e+07 2.07e+01 -1.0 1.61e+08 -13.9 3.85e-01 3.86e-03f 1\n", + " 67 7.0777905e+08 6.50e+07 2.06e+01 -1.0 4.50e+08 -14.4 1.28e-01 5.28e-02f 1\n", + " 68 7.0775627e+08 6.47e+07 3.10e+01 -1.0 6.99e+07 -14.9 4.39e-01 5.01e-03h 1\n", + " 69 7.0767024e+08 6.38e+07 3.11e+01 -1.0 1.98e+09 -15.3 3.00e-02 1.40e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 7.0761860e+08 3.24e+07 1.38e+01 -1.0 4.71e+07 -14.9 4.11e-01 4.90e-01h 1\n", + " 71 7.0760066e+08 2.47e+07 2.30e+01 -1.0 2.38e+07 - 1.00e+00 2.37e-01h 1\n", + " 72 7.0758486e+08 1.05e+06 1.59e+00 -1.0 3.58e+06 - 1.00e+00 1.00e+00h 1\n", + " 73 7.0758416e+08 2.30e+04 5.68e-04 -1.0 5.10e+05 - 1.00e+00 1.00e+00h 1\n", + " 74 7.0758409e+08 6.11e+01 3.26e-06 -1.0 3.80e+04 - 1.00e+00 1.00e+00h 1\n", + " 75 7.0754996e+08 1.02e+05 1.19e+01 -2.5 3.52e+06 - 8.86e-01 5.79e-01f 1\n", + " 76 7.0753554e+08 2.42e+04 3.65e+00 -2.5 2.40e+05 - 1.00e+00 7.76e-01h 1\n", + " 77 7.0753170e+08 1.28e+03 4.99e-04 -2.5 2.41e+05 - 1.00e+00 1.00e+00h 1\n", + " 78 7.0753164e+08 1.97e+03 2.09e-03 -2.5 9.87e+05 - 1.00e+00 1.00e+00H 1\n", + " 79 7.0753167e+08 6.02e+03 4.29e-04 -2.5 4.46e+05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 7.0753167e+08 2.23e+02 1.53e-05 -2.5 8.45e+04 - 1.00e+00 1.00e+00h 1\n", + " 81 7.0753167e+08 8.47e-02 2.83e-08 -2.5 1.52e+03 - 1.00e+00 1.00e+00h 1\n", + " 82 7.0753035e+08 1.38e+04 2.33e-01 -3.8 6.93e+05 - 7.82e-01 1.00e+00f 1\n", + " 83 7.0753035e+08 4.08e+01 2.07e-06 -3.8 2.96e+04 - 1.00e+00 1.00e+00h 1\n", + " 84 7.0753035e+08 3.15e+00 2.25e-07 -3.8 1.02e+04 - 1.00e+00 1.00e+00h 1\n", + " 85 7.0753027e+08 1.66e+01 1.71e-03 -5.7 2.41e+04 - 1.00e+00 9.71e-01h 1\n", + " 86 7.0753027e+08 2.83e-03 4.27e-10 -5.7 3.10e+02 - 1.00e+00 1.00e+00h 1\n", + " 87 7.0753027e+08 2.28e-03 2.66e-10 -8.6 2.74e+02 - 1.00e+00 1.00e+00h 1\n", + " 88 7.0753027e+08 1.91e-06 1.55e-12 -8.6 1.46e-01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 88\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 7.0753027183424900e+04 7.0753027183424902e+08\n", + "Dual infeasibility......: 1.5458919941810339e-12 1.5458919941810339e-08\n", + "Constraint violation....: 3.7252902984619141e-09 1.9073486328125000e-06\n", + "Complementarity.........: 2.5059726907542944e-09 2.5059726907542942e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5059726907542942e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 90\n", + "Number of objective gradient evaluations = 89\n", + "Number of equality constraint evaluations = 90\n", + "Number of inequality constraint evaluations = 90\n", + "Number of equality constraint Jacobian evaluations = 89\n", + "Number of inequality constraint Jacobian evaluations = 89\n", + "Number of Lagrangian Hessian evaluations = 88\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.836\n", + "Total CPU secs in NLP function evaluations = 126.747\n", + "\n", + "EXIT: Optimal Solution Found.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 404\n", + "Realized SOC (MPC) 500045\n", + "Fixed costs: 73842.73\n", + "Variable costs: 22035.79\n", + "\n", + "Number on/offs: 1\n", + "Sum on/off ramps: 170.00\n", + "Sum nominal ramps: 103.54\n", + "\n", + "Simulating time_step 2020-07-10 14:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 7.0773027e+08 2.50e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 7.0770873e+08 2.50e+05 9.96e+01 -1.0 8.78e+06 - 3.72e-04 1.19e-03h 1\n", + " 2 7.0774729e+08 2.49e+05 1.01e+02 -1.0 3.49e+06 - 9.92e-06 1.69e-03h 1\n", + " 3 7.0785397e+08 2.49e+05 1.01e+02 -1.0 4.70e+05 - 1.24e-03 2.90e-03h 1\n", + " 4 7.0811521e+08 2.47e+05 1.01e+02 -1.0 4.68e+05 - 5.56e-03 5.34e-03h 1\n", + " 5 7.0871261e+08 2.44e+05 9.94e+01 -1.0 4.65e+05 - 1.21e-02 1.15e-02h 1\n", + " 6 7.3074272e+08 1.40e+05 1.50e+02 -1.0 4.57e+05 - 2.72e-02 4.28e-01h 1\n", + " 7 7.3096864e+08 1.39e+05 1.78e+02 -1.0 2.42e+05 - 5.05e-01 7.92e-03h 1\n", + " 8 7.3690980e+08 1.10e+05 4.96e+03 -1.0 2.33e+05 - 5.09e-01 2.09e-01h 1\n", + " 9 7.3712535e+08 1.09e+05 3.37e+03 -1.0 3.56e+05 - 7.35e-01 1.00e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.4325928e+08 6.88e+04 1.17e+03 -1.0 1.15e+06 - 7.48e-01 3.66e-01h 1\n", + " 11 7.4303818e+08 6.66e+04 1.20e+03 -1.0 4.26e+06 - 5.36e-01 3.22e-02h 1\n", + " 12 7.3776811e+08 5.46e+04 1.90e+03 -1.0 9.12e+06 - 8.60e-01 1.80e-01f 1\n", + " 13 7.3621893e+08 5.41e+04 1.90e+03 -1.0 5.92e+07 - 6.18e-02 1.03e-02f 1\n", + " 14 7.3102383e+08 5.22e+04 1.89e+03 -1.0 6.25e+07 - 2.65e-01 3.42e-02f 1\n", + " 15 7.2840798e+08 5.11e+04 1.87e+03 -1.0 7.71e+07 - 9.00e-02 2.12e-02f 1\n", + " 16 7.2694673e+08 4.98e+04 1.97e+03 -1.0 8.36e+07 - 8.88e-01 2.70e-02f 1\n", + " 17 7.1991062e+08 4.82e+04 1.91e+03 -1.0 3.46e+08 - 2.84e-02 3.05e-02f 1\n", + " 18 7.1985717e+08 4.81e+04 1.93e+03 -1.0 3.37e+07 - 9.03e-01 3.54e-03h 1\n", + " 19 7.1886599e+08 5.32e+05 1.68e+03 -1.0 3.37e+07 - 6.02e-01 1.25e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.1874261e+08 5.39e+05 1.68e+03 -1.0 1.28e+08 - 3.08e-01 4.59e-03f 1\n", + " 21 7.1611933e+08 4.96e+06 1.54e+03 -1.0 1.46e+08 - 3.17e-01 8.41e-02f 1\n", + " 22 7.1401466e+08 7.34e+06 1.42e+03 -1.0 1.34e+08 - 1.19e-01 7.74e-02f 1\n", + " 23 7.1401673e+08 7.34e+06 1.42e+03 -1.0 3.54e+04 -4.0 7.91e-04 6.63e-04h 1\n", + " 24 7.1404129e+08 7.31e+06 1.41e+03 -1.0 3.53e+04 -4.5 6.60e-04 3.96e-03h 1\n", + " 25 7.1406657e+08 7.28e+06 1.41e+03 -1.0 3.52e+04 -5.0 5.35e-03 3.51e-03h 1\n", + " 26 7.1406710e+08 7.28e+06 3.13e+04 -1.0 3.84e+05 -5.4 8.36e-03 6.97e-05h 1\n", + " 27 7.1409277e+08 7.26e+06 4.21e+04 -1.0 7.85e+05 -5.9 7.60e-03 3.21e-03h 1\n", + " 28 7.1405834e+08 7.25e+06 4.21e+04 -1.0 6.13e+07 - 1.49e-03 6.33e-04f 1\n", + " 29 7.1408136e+08 7.23e+06 3.99e+04 -1.0 7.87e+05 -6.4 1.60e-04 2.69e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 7.1412252e+08 7.20e+06 4.17e+04 -1.0 7.93e+05 -6.9 1.30e-02 4.73e-03h 1\n", + " 31 7.1425094e+08 7.10e+06 4.09e+04 -1.0 7.91e+05 -7.3 9.54e-03 1.40e-02h 1\n", + " 32 7.1436185e+08 7.02e+06 4.05e+04 -1.0 7.81e+05 -7.8 8.77e-03 1.16e-02h 1\n", + " 33 7.1760013e+08 4.60e+06 3.94e+04 -1.0 7.72e+05 -8.3 5.04e-02 3.44e-01h 1\n", + " 34 7.1763804e+08 4.57e+06 2.79e+04 -1.0 5.07e+05 -8.8 2.34e-01 6.28e-03h 1\n", + " 35 7.1982596e+08 2.74e+06 2.96e+04 -1.0 5.03e+05 -9.2 7.34e-02 4.00e-01h 1\n", + " 36 7.1996572e+08 2.59e+06 2.02e+04 -1.0 3.01e+05 -9.7 2.65e-01 5.56e-02h 1\n", + " 37 7.1998478e+08 2.55e+06 1.57e+04 -1.0 8.46e+05 -10.2 1.67e-01 1.62e-02h 1\n", + " 38 7.1916002e+08 1.88e+06 1.54e+04 -1.0 1.88e+06 -10.7 9.48e-02 2.61e-01f 1\n", + " 39 7.1907557e+08 1.87e+06 1.32e+04 -1.0 5.40e+06 -11.2 1.07e-01 6.79e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 7.1887319e+08 1.74e+06 1.12e+04 -1.0 2.07e+06 -10.7 1.29e-01 6.93e-02f 1\n", + " 41 7.1870615e+08 1.68e+06 7.95e+03 -1.0 6.20e+06 -11.2 2.14e-01 3.29e-02f 1\n", + " 42 7.1783600e+08 1.59e+06 2.14e+03 -1.0 1.83e+07 -11.7 6.95e-01 5.27e-02f 1\n", + " 43 7.1733607e+08 1.59e+06 2.14e+03 -1.0 1.70e+09 - 2.28e-02 2.21e-03f 1\n", + " 44 7.1650624e+08 1.58e+06 2.20e+03 -1.0 3.28e+08 - 1.65e-01 1.25e-02f 1\n", + " 45 7.1638118e+08 1.40e+06 3.84e+03 -1.0 5.35e+06 -12.2 9.91e-01 1.15e-01h 1\n", + " 46 7.1583248e+08 1.39e+06 3.78e+03 -1.0 1.87e+08 - 2.11e-01 1.56e-02f 1\n", + " 47 7.1495120e+08 1.27e+06 2.72e+03 -1.0 1.58e+07 -12.6 5.31e-01 2.83e-01f 1\n", + " 48 7.1386435e+08 1.73e+06 2.63e+03 -1.0 2.10e+08 - 5.93e-02 3.49e-02f 1\n", + " 49 7.1382500e+08 1.70e+06 2.59e+03 -1.0 1.48e+07 -13.1 1.94e-01 1.57e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 7.1327954e+08 1.49e+06 2.27e+03 -1.0 6.87e+07 -13.6 1.21e-02 1.23e-01f 1\n", + " 51 7.1316823e+08 1.39e+06 2.11e+03 -1.0 1.64e+07 -13.2 3.88e-01 7.09e-02h 1\n", + " 52 7.1311335e+08 1.22e+06 1.87e+03 -1.0 7.27e+06 -12.7 1.00e+00 1.17e-01h 1\n", + " 53 7.1224284e+08 3.30e+06 2.09e+03 -1.0 1.30e+07 -13.2 1.00e+00 9.08e-01f 1\n", + " 54 7.0838537e+08 4.49e+07 1.87e+03 -1.0 2.49e+08 - 1.12e-01 1.68e-01f 1\n", + " 55 7.0834685e+08 4.48e+07 1.87e+03 -1.0 1.89e+08 - 4.88e-01 2.26e-03h 1\n", + " 56 7.0836093e+08 1.49e+07 6.24e+02 -1.0 5.45e+06 - 1.00e+00 6.66e-01h 1\n", + " 57 7.0836679e+08 7.64e+04 1.66e+01 -1.0 2.89e+06 - 1.00e+00 1.00e+00h 1\n", + " 58 7.0836680e+08 1.96e+04 6.07e-03 -1.0 1.48e+06 - 1.00e+00 1.00e+00h 1\n", + " 59 7.0836685e+08 9.26e+02 2.82e-04 -1.0 3.23e+05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 7.0833955e+08 7.61e+04 1.39e+01 -1.7 3.00e+06 - 1.00e+00 5.64e-01f 1\n", + " 61 7.0832548e+08 1.20e+04 9.80e-02 -1.7 1.14e+06 - 9.25e-01 1.00e+00h 1\n", + " 62 7.0832423e+08 9.97e+03 4.25e-02 -1.7 4.13e+06 - 1.00e+00 9.57e-01H 1\n", + " 63 7.0832466e+08 2.34e+04 6.72e-03 -1.7 1.59e+06 - 1.00e+00 1.00e+00h 1\n", + " 64 7.0832472e+08 1.14e+03 4.81e-03 -1.7 3.58e+05 - 1.00e+00 1.00e+00h 1\n", + " 65 7.0832472e+08 2.36e+00 3.41e-03 -1.7 1.63e+04 - 1.00e+00 1.00e+00h 1\n", + " 66 7.0831705e+08 4.78e+04 1.01e+00 -3.8 2.89e+06 - 6.61e-01 7.88e-01f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 67 7.0831510e+08 9.43e+03 1.08e-01 -3.8 8.69e+05 - 1.00e+00 9.35e-01h 1\n", + " 68 7.0831497e+08 2.87e-01 3.26e-07 -3.8 5.46e+03 - 1.00e+00 1.00e+00h 1\n", + " 69 7.0831490e+08 4.83e+00 1.55e-06 -5.7 2.28e+04 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 7.0831490e+08 1.43e-06 1.85e-11 -5.7 1.05e+01 - 1.00e+00 1.00e+00h 1\n", + " 71 7.0831490e+08 7.41e-04 2.38e-10 -8.6 2.82e+02 - 1.00e+00 1.00e+00h 1\n", + " 72 7.0831490e+08 1.43e-06 1.84e-12 -8.6 1.63e-03 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 72\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 7.0831489647488066e+04 7.0831489647488058e+08\n", + "Dual infeasibility......: 1.8388928545058750e-12 1.8388928545058750e-08\n", + "Constraint violation....: 3.7252902984619141e-09 1.4305114746093750e-06\n", + "Complementarity.........: 2.5065421388331694e-09 2.5065421388331694e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5065421388331694e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 74\n", + "Number of objective gradient evaluations = 73\n", + "Number of equality constraint evaluations = 74\n", + "Number of inequality constraint evaluations = 74\n", + "Number of equality constraint Jacobian evaluations = 73\n", + "Number of inequality constraint Jacobian evaluations = 73\n", + "Number of Lagrangian Hessian evaluations = 72\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.782\n", + "Total CPU secs in NLP function evaluations = 98.612\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 389\n", + "Realized SOC (MPC) 1153640\n", + "Fixed costs: 78638.35\n", + "Variable costs: 31237.35\n", + "\n", + "Number on/offs: 1\n", + "Sum on/off ramps: 170.00\n", + "Sum nominal ramps: 415.44\n", + "\n", + "Simulating time_step 2020-07-10 15:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16012\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6078\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 7.0851490e+08 6.54e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 7.0850021e+08 6.53e+05 9.98e+01 -1.0 4.80e+07 - 9.16e-05 7.81e-04h 1\n", + " 2 7.0853194e+08 6.52e+05 1.03e+02 -1.0 8.10e+06 - 6.19e-06 2.39e-03h 1\n", + " 3 7.0861835e+08 6.50e+05 1.03e+02 -1.0 1.16e+06 - 2.15e-03 2.63e-03h 1\n", + " 4 7.0887481e+08 6.46e+05 1.02e+02 -1.0 1.16e+06 - 5.68e-03 6.10e-03h 1\n", + " 5 7.0942406e+08 6.38e+05 1.01e+02 -1.0 1.14e+06 - 1.34e-02 1.23e-02h 1\n", + " 6 7.1266429e+08 5.92e+05 1.02e+02 -1.0 1.12e+06 - 2.74e-02 7.25e-02h 1\n", + " 7 7.1638126e+08 5.39e+05 8.17e+01 -1.0 9.98e+05 - 2.96e-01 8.98e-02h 1\n", + " 8 7.2458240e+08 4.21e+05 6.38e+01 -1.0 7.63e+05 - 2.59e-01 2.19e-01h 1\n", + " 9 7.2468138e+08 4.19e+05 1.22e+03 -1.0 5.25e+05 - 4.95e-01 3.41e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.3567707e+08 2.56e+05 1.85e+03 -1.0 4.98e+05 - 5.10e-01 3.90e-01h 1\n", + " 11 7.3599674e+08 2.50e+05 9.89e+02 -1.0 6.13e+05 - 7.32e-01 2.10e-02h 1\n", + " 12 7.3690065e+08 2.19e+05 2.24e+03 -1.0 2.07e+06 - 7.74e-01 1.26e-01h 1\n", + " 13 7.3190385e+08 1.74e+05 1.92e+03 -1.0 8.74e+06 - 3.16e-01 2.06e-01f 1\n", + " 14 7.3177542e+08 1.73e+05 2.70e+03 -1.0 1.27e+07 - 8.62e-01 4.56e-03h 1\n", + " 15 7.2572514e+08 1.68e+05 2.62e+03 -1.0 8.04e+07 - 4.62e-02 3.06e-02f 1\n", + " 16 7.2455893e+08 1.66e+05 2.62e+03 -1.0 7.70e+07 - 1.67e-01 8.14e-03f 1\n", + " 17 7.2217609e+08 1.62e+05 2.56e+03 -1.0 8.93e+07 - 1.03e-01 2.85e-02f 1\n", + " 18 7.1610071e+08 1.45e+05 2.32e+03 -1.0 9.75e+07 - 2.35e-01 1.01e-01f 1\n", + " 19 7.1143589e+08 1.36e+05 2.19e+03 -1.0 1.19e+08 - 1.70e-01 6.18e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.1139274e+08 1.36e+05 2.26e+03 -1.0 5.26e+07 - 9.21e-01 1.42e-03h 1\n", + " 21 7.0584402e+08 1.85e+06 1.24e+03 -1.0 2.08e+08 - 2.81e-02 4.50e-01f 1\n", + " 22 7.0577012e+08 1.84e+06 1.24e+03 -1.0 1.89e+08 - 5.65e-01 4.89e-03h 1\n", + " 23 7.0473891e+08 1.51e+06 1.02e+03 -1.0 1.90e+07 - 1.31e-02 1.76e-01f 1\n", + " 24 7.0442994e+08 1.49e+06 1.01e+03 -1.0 1.51e+08 - 1.47e-03 1.20e-02f 1\n", + " 25 7.0391614e+08 1.45e+06 9.86e+02 -1.0 1.26e+08 - 9.09e-02 2.37e-02f 1\n", + " 26 7.0350318e+08 1.32e+06 9.01e+02 -1.0 1.92e+07 - 8.28e-01 8.99e-02h 1\n", + " 27 7.0239614e+08 1.25e+06 8.58e+02 -1.0 7.37e+07 - 2.23e-01 4.94e-02f 1\n", + " 28 7.0074264e+08 1.24e+06 7.86e+02 -1.0 8.44e+07 - 2.63e-02 8.30e-02f 1\n", + " 29 6.9981416e+08 1.68e+06 7.44e+02 -1.0 9.88e+07 - 5.03e-02 5.37e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.9981458e+08 1.68e+06 7.44e+02 -1.0 1.14e+05 -4.0 7.07e-04 2.77e-04h 1\n", + " 31r 6.9981458e+08 1.68e+06 9.99e+02 4.6 0.00e+00 -4.5 0.00e+00 3.71e-07R 4\n", + " 32r 7.9900721e+08 1.67e+06 1.52e+04 4.6 3.96e+06 - 2.15e-04 1.01e-03f 1\n", + " 33r 7.9961610e+08 1.65e+06 9.28e+03 3.3 3.93e+06 - 1.04e-01 6.72e-03f 1\n", + " 34 7.8322359e+08 2.08e+06 9.40e+01 -1.0 1.05e+09 - 3.94e-03 5.98e-02f 1\n", + " 35 7.8307615e+08 2.08e+06 9.39e+01 -1.0 1.33e+09 - 5.35e-02 4.68e-04f 1\n", + " 36 7.6996548e+08 3.66e+06 8.30e+01 -1.0 9.72e+07 - 4.05e-01 1.13e-01f 1\n", + " 37 7.6836047e+08 3.65e+06 8.15e+01 -1.0 1.06e+08 - 5.74e-01 1.58e-02f 1\n", + " 38 7.5728020e+08 6.15e+06 7.24e+01 -1.0 1.12e+08 - 5.47e-01 1.12e-01f 1\n", + " 39 7.4885678e+08 5.50e+06 6.46e+01 -1.0 6.57e+07 - 7.89e-01 1.08e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 7.2647826e+08 1.16e+07 4.30e+01 -1.0 5.43e+07 - 7.09e-01 3.35e-01f 1\n", + " 41 7.2641637e+08 1.16e+07 5.42e+02 -1.0 2.57e+05 -5.0 3.44e-02 1.56e-03f 1\n", + " 42 7.2629581e+08 1.15e+07 5.40e+02 -1.0 5.19e+07 - 3.51e-03 6.95e-03f 1\n", + " 43 7.2604378e+08 1.14e+07 5.40e+02 -1.0 1.25e+08 - 4.95e-04 5.80e-03f 1\n", + " 44 7.2547128e+08 1.12e+07 5.01e+02 -1.0 7.29e+07 - 7.20e-02 1.58e-02f 1\n", + " 45 7.2114903e+08 9.95e+06 4.72e+03 -1.0 6.94e+07 - 2.57e-01 1.26e-01f 1\n", + " 46 7.1598466e+08 8.44e+06 1.09e+04 -1.0 5.82e+07 - 1.84e-02 1.80e-01f 1\n", + " 47 7.1588487e+08 8.40e+06 1.08e+04 -1.0 4.73e+07 - 3.42e-02 4.29e-03f 1\n", + " 48 7.0030598e+08 6.78e+06 6.85e+04 -1.0 4.70e+07 - 3.36e-01 6.77e-01f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 49 6.9995858e+08 6.57e+06 6.61e+04 -1.0 2.16e+07 - 3.25e-01 3.51e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.9785640e+08 6.06e+06 5.24e+04 -1.0 2.04e+07 - 2.39e-01 2.22e-01f 1\n", + " 51 6.9771466e+08 5.93e+06 5.13e+04 -1.0 1.69e+07 - 9.47e-01 2.19e-02f 1\n", + " 52 6.9330638e+08 6.04e+06 1.73e+04 -1.0 1.30e+07 - 8.01e-01 7.42e-01f 1\n", + " 53 6.9325910e+08 5.87e+06 1.68e+04 -1.0 9.26e+06 - 1.00e+00 2.91e-02h 1\n", + " 54 6.9325775e+08 5.85e+06 1.67e+04 -1.0 6.11e+06 - 2.27e-02 2.16e-03h 1\n", + " 55 6.9310042e+08 4.06e+06 1.16e+04 -1.0 9.88e+06 - 1.28e-02 3.04e-01f 1\n", + " 56 6.9291534e+08 2.14e+06 6.19e+03 -1.0 8.21e+06 - 4.70e-01 4.66e-01h 1\n", + " 57 6.9284407e+08 1.65e+06 4.78e+03 -1.0 1.21e+07 - 9.13e-01 2.28e-01h 1\n", + " 58 6.9273430e+08 2.26e+05 1.02e+02 -1.0 4.90e+06 - 1.00e+00 1.00e+00h 1\n", + " 59 6.9273345e+08 2.84e+05 1.02e+02 -1.0 1.13e+10 - 2.67e-03 2.41e-04h 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.9272683e+08 1.72e+05 6.20e+01 -1.0 3.75e+06 - 1.00e+00 3.94e-01h 1\n", + " 61 6.9272559e+08 3.11e+03 4.54e-02 -1.0 6.39e+05 - 1.00e+00 1.00e+00h 1\n", + " 62 6.9272557e+08 1.96e+01 4.54e-02 -1.0 4.53e+04 - 1.00e+00 1.00e+00h 1\n", + " 63 6.9269787e+08 1.22e+05 1.81e+01 -2.5 4.47e+06 - 9.47e-01 4.87e-01f 1\n", + " 64 6.9267544e+08 8.26e+04 1.56e+00 -2.5 3.15e+06 - 1.00e+00 9.23e-01h 1\n", + " 65 6.9267371e+08 8.77e+00 8.51e-04 -2.5 4.88e+04 - 1.00e+00 1.00e+00h 1\n", + " 66 6.9267237e+08 1.80e+02 7.56e-05 -3.8 1.34e+05 - 1.00e+00 1.00e+00h 1\n", + " 67 6.9267237e+08 1.19e-02 3.83e-09 -3.8 9.55e+02 - 1.00e+00 1.00e+00h 1\n", + " 68 6.9267229e+08 5.74e-01 2.37e-07 -5.7 7.58e+03 - 1.00e+00 1.00e+00f 1\n", + " 69 6.9267229e+08 9.54e-07 1.85e-11 -5.7 2.75e+00 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.9267229e+08 8.85e-05 3.64e-11 -8.6 9.40e+01 - 1.00e+00 1.00e+00h 1\n", + " 71 6.9267229e+08 1.91e-06 1.49e-12 -9.0 8.19e-02 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 71\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.9267229189786856e+04 6.9267229189786851e+08\n", + "Dual infeasibility......: 1.4923231928912709e-12 1.4923231928912709e-08\n", + "Constraint violation....: 3.7252902984619141e-09 1.9073486328125000e-06\n", + "Complementarity.........: 9.0940129865789716e-10 9.0940129865789716e-06\n", + "Overall NLP error.......: 3.7252902984619141e-09 9.0940129865789716e-06\n", + "\n", + "\n", + "Number of objective function evaluations = 78\n", + "Number of objective gradient evaluations = 71\n", + "Number of equality constraint evaluations = 78\n", + "Number of inequality constraint evaluations = 78\n", + "Number of equality constraint Jacobian evaluations = 73\n", + "Number of inequality constraint Jacobian evaluations = 73\n", + "Number of Lagrangian Hessian evaluations = 71\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.393\n", + "Total CPU secs in NLP function evaluations = 237.464\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 367\n", + "Realized SOC (MPC) 1461583\n", + "Fixed costs: 83881.36\n", + "Variable costs: 28318.12\n", + "\n", + "Number on/offs: 1\n", + "Sum on/off ramps: 170.00\n", + "Sum nominal ramps: 243.94\n", + "\n", + "Simulating time_step 2020-07-10 16:00\n", + "\n", + "Creating and solving SCED to determine UC initial conditions for date: 2020-07-11 hour: 0\n", + "Using persistent forecast error model when projecting demand and renewables in SCED\n", + "\n", + "\n", + "Extracting scenario to simulate\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16008\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6077\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.9287229e+08 3.08e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.9286817e+08 3.08e+05 9.90e+01 -1.0 1.29e+07 - 2.36e-04 2.26e-04h 1\n", + " 2 6.9310633e+08 3.07e+05 9.97e+01 -1.0 1.10e+07 - 1.47e-05 3.26e-03h 1\n", + " 3 6.9338370e+08 3.06e+05 1.01e+02 -1.0 4.69e+05 - 5.17e-04 2.86e-03h 1\n", + " 4 6.9395509e+08 3.04e+05 1.00e+02 -1.0 4.62e+05 - 5.85e-03 5.59e-03h 1\n", + " 5 6.9508058e+08 3.01e+05 9.82e+01 -1.0 4.52e+05 - 1.46e-02 1.08e-02h 1\n", + " 6 7.0265412e+08 2.79e+05 1.00e+02 -1.0 4.33e+05 - 2.51e-02 7.27e-02h 1\n", + " 7 7.1129691e+08 2.54e+05 8.18e+01 -1.0 3.75e+05 - 1.49e-01 8.95e-02h 1\n", + " 8 7.4521051e+08 1.56e+05 7.55e+01 -1.0 3.12e+05 - 2.24e-01 3.86e-01h 1\n", + " 9 7.4558275e+08 1.55e+05 4.17e+02 -1.0 1.74e+05 - 5.39e-01 6.94e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.6570930e+08 9.58e+04 1.61e+03 -1.0 3.02e+05 - 5.68e-01 3.82e-01h 1\n", + " 11 7.6688522e+08 9.22e+04 9.99e+02 -1.0 5.73e+05 - 8.12e-01 3.80e-02h 1\n", + " 12 7.6942059e+08 8.04e+04 1.85e+03 -1.0 2.82e+06 - 8.22e-01 1.27e-01h 1\n", + " 13 7.6824256e+08 7.66e+04 2.08e+03 -1.0 1.54e+07 - 5.14e-01 4.83e-02f 1\n", + " 14 7.6629728e+08 7.35e+04 2.03e+03 -1.0 3.08e+07 - 1.40e-01 3.99e-02f 1\n", + " 15 7.6501969e+08 7.11e+04 2.03e+03 -1.0 3.52e+07 - 2.69e-01 3.31e-02f 1\n", + " 16 7.6318631e+08 6.86e+04 1.99e+03 -1.0 4.42e+07 - 1.85e-01 3.50e-02f 1\n", + " 17 7.6225450e+08 6.64e+04 1.95e+03 -1.0 3.00e+07 - 1.64e-01 3.23e-02f 1\n", + " 18 7.6035359e+08 6.11e+04 1.83e+03 -1.0 4.05e+07 - 2.98e-01 7.99e-02f 1\n", + " 19 7.6043725e+08 6.06e+04 1.83e+03 -1.0 1.11e+07 - 1.51e-01 7.35e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.7213411e+08 2.23e+04 1.01e+03 -1.0 1.32e+07 - 1.37e-01 7.66e-01h 1\n", + " 21 7.4644782e+08 4.91e+05 7.97e+02 -1.0 7.49e+07 - 8.67e-03 6.72e-01f 1\n", + " 22 7.3586937e+08 4.58e+05 5.25e+02 -1.0 1.00e+08 - 4.08e-01 1.93e-01f 1\n", + " 23 7.2335761e+08 4.94e+05 3.82e+02 -1.0 1.98e+08 - 4.53e-01 1.15e-01f 1\n", + " 24 7.2323074e+08 4.93e+05 3.18e+02 -1.0 2.89e+08 - 2.88e-01 7.86e-04f 1\n", + " 25 7.1773432e+08 3.83e+05 1.16e+02 -1.0 6.22e+07 - 6.32e-01 6.41e-01f 1\n", + " 26 7.1301620e+08 5.37e+05 9.18e+01 -1.0 1.47e+08 - 8.68e-01 2.06e-01f 1\n", + " 27 7.1287450e+08 5.36e+05 9.15e+01 -1.0 4.27e+08 - 6.45e-02 2.54e-03f 1\n", + " 28 7.1202535e+08 5.26e+05 8.99e+01 -1.0 4.15e+08 - 1.53e-03 1.78e-02f 1\n", + " 29 7.1200038e+08 5.26e+05 8.98e+01 -1.0 5.76e+07 - 2.25e-01 1.28e-03f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 7.1050535e+08 8.03e+05 8.12e+01 -1.0 5.75e+07 - 1.77e-02 9.57e-02f 1\n", + " 31 7.1036387e+08 7.94e+05 8.02e+01 -1.0 3.51e+07 - 1.17e-01 1.23e-02f 1\n", + " 32 7.0859944e+08 1.91e+06 6.85e+01 -1.0 3.58e+07 - 8.77e-02 1.46e-01f 1\n", + " 33 7.0850061e+08 1.90e+06 6.78e+01 -1.0 3.98e+07 - 7.47e-02 1.03e-02f 1\n", + " 34 7.0676214e+08 4.26e+06 5.56e+01 -1.0 4.11e+07 - 1.93e-01 1.80e-01f 1\n", + " 35 7.0537056e+08 5.23e+06 4.88e+01 -1.0 5.10e+07 - 2.45e-01 1.21e-01f 1\n", + " 36 7.0203385e+08 1.17e+07 3.82e+01 -1.0 6.73e+07 - 1.46e-01 2.15e-01f 1\n", + " 37 7.0170584e+08 1.15e+07 3.75e+01 -1.0 1.18e+08 - 2.22e-01 1.73e-02f 1\n", + " 38 7.0072710e+08 1.16e+07 3.56e+01 -1.0 1.47e+08 - 4.15e-01 4.88e-02f 1\n", + " 39 6.9994465e+08 1.16e+07 3.39e+01 -1.0 9.90e+07 - 6.68e-01 4.69e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.9696186e+08 2.39e+07 2.59e+01 -1.0 1.10e+08 - 7.38e-01 2.04e-01f 1\n", + " 41 6.9698213e+08 1.95e+07 6.22e+03 -1.0 3.28e+04 -4.0 7.31e-02 1.83e-01h 1\n", + " 42 6.9698236e+08 1.94e+07 6.21e+03 -1.0 2.68e+04 -4.5 2.88e-01 2.29e-03h 1\n", + " 43 6.9698353e+08 1.91e+07 6.12e+03 -1.0 1.05e+06 - 8.08e-02 1.83e-02h 1\n", + " 44 6.9703241e+08 1.38e+07 1.55e+04 -1.0 6.58e+05 - 1.94e-01 2.78e-01h 1\n", + " 45 6.9706047e+08 9.13e+06 1.97e+04 -1.0 4.34e+05 - 8.92e-01 3.38e-01h 1\n", + " 46 6.9711812e+08 2.00e+04 3.11e+04 -1.0 2.34e+05 - 1.00e+00 1.00e+00h 1\n", + " 47 6.9711792e+08 1.95e-02 1.99e+00 -1.0 1.47e+01 -5.0 1.00e+00 1.00e+00h 1\n", + " 48 6.9711796e+08 5.96e-06 1.65e-03 -1.0 3.12e+01 -5.4 1.00e+00 1.00e+00f 1\n", + " 49 6.9710283e+08 1.89e-06 3.72e+01 -2.5 2.64e+01 -5.9 1.00e+00 8.71e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.9684678e+08 1.40e+05 3.70e+01 -2.5 2.00e+09 - 7.95e-03 1.04e-03f 1\n", + " 51 6.9532531e+08 8.90e+06 3.69e+01 -2.5 2.94e+09 - 7.77e-05 6.06e-03f 1\n", + " 52 6.9508314e+08 9.21e+06 3.64e+01 -2.5 3.17e+09 - 3.10e-02 9.59e-04f 1\n", + " 53 6.9365622e+08 1.61e+07 3.61e+01 -2.5 2.97e+09 - 7.15e-03 6.51e-03f 1\n", + " 54 6.9364356e+08 1.61e+07 3.49e+01 -2.5 4.52e+08 - 9.60e-02 2.16e-04f 1\n", + " 55 6.8928107e+08 5.80e+07 4.09e+01 -2.5 4.52e+08 - 2.47e-01 1.01e-01f 1\n", + " 56 6.8557800e+08 8.22e+07 6.59e+01 -2.5 5.24e+08 - 2.00e-01 7.58e-02f 1\n", + " 57 6.8556748e+08 8.21e+07 6.59e+01 -2.5 4.28e+08 - 7.30e-01 2.68e-04h 1\n", + " 58 6.8555339e+08 5.45e+07 4.69e+01 -2.5 1.31e+07 - 3.86e-01 3.36e-01h 1\n", + " 59 6.8555333e+08 5.40e+07 4.65e+01 -2.5 1.10e+08 - 1.25e-01 9.13e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.8555390e+08 4.85e+07 4.19e+01 -2.5 1.25e+08 - 2.61e-02 1.01e-01h 1\n", + " 61 6.8557489e+08 1.90e+07 3.26e+01 -2.5 2.31e+07 - 3.20e-02 6.08e-01h 1\n", + " 62 6.8556829e+08 1.87e+07 3.22e+01 -2.5 3.60e+08 - 1.89e-01 1.51e-02h 1\n", + " 63 6.8555393e+08 1.81e+07 3.20e+01 -2.5 3.40e+08 - 6.07e-01 3.22e-02h 1\n", + " 64 6.8553949e+08 1.68e+07 3.11e+01 -2.5 1.61e+08 - 6.50e-01 7.09e-02h 1\n", + " 65 6.8552255e+08 1.07e+07 2.72e+01 -2.5 5.34e+07 - 4.42e-01 4.29e-01h 1\n", + " 66 6.8551188e+08 1.02e+07 2.39e+01 -2.5 6.21e+07 - 1.84e-03 1.47e-01h 1\n", + " 67 6.8550253e+08 1.00e+07 2.37e+01 -2.5 3.30e+08 - 1.23e-03 1.30e-02h 1\n", + " 68 6.8549999e+08 9.81e+06 2.27e+01 -2.5 7.21e+07 - 1.18e-01 4.12e-02h 1\n", + " 69 6.8551783e+08 2.51e+05 4.85e-01 -2.5 1.07e+06 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.8551656e+08 4.73e+04 6.07e-03 -2.5 1.51e+06 - 1.00e+00 1.00e+00h 1\n", + " 71 6.8551653e+08 8.77e+00 1.93e-06 -2.5 3.08e+04 - 1.00e+00 1.00e+00h 1\n", + " 72 6.8551519e+08 2.52e+02 1.66e-02 -3.8 1.09e+05 - 1.00e+00 9.84e-01h 1\n", + " 73 6.8551517e+08 4.53e-01 1.29e-07 -3.8 4.62e+03 - 1.00e+00 1.00e+00h 1\n", + " 74 6.8551509e+08 8.85e-01 5.44e-07 -5.7 6.39e+03 - 1.00e+00 1.00e+00h 1\n", + " 75 6.8551509e+08 1.67e-06 1.85e-11 -5.7 8.49e+00 - 1.00e+00 1.00e+00h 1\n", + " 76 6.8551509e+08 1.37e-04 8.39e-11 -8.6 7.94e+01 - 1.00e+00 1.00e+00h 1\n", + " 77 6.8551509e+08 1.91e-06 1.43e-12 -9.0 7.01e-02 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 77\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.8551508972633965e+04 6.8551508972633958e+08\n", + "Dual infeasibility......: 1.4293513275279622e-12 1.4293513275279622e-08\n", + "Constraint violation....: 3.7252902984619141e-09 1.9073486328125000e-06\n", + "Complementarity.........: 9.0986151008905458e-10 9.0986151008905456e-06\n", + "Overall NLP error.......: 3.7252902984619141e-09 9.0986151008905456e-06\n", + "\n", + "\n", + "Number of objective function evaluations = 78\n", + "Number of objective gradient evaluations = 78\n", + "Number of equality constraint evaluations = 78\n", + "Number of inequality constraint evaluations = 78\n", + "Number of equality constraint Jacobian evaluations = 78\n", + "Number of inequality constraint Jacobian evaluations = 78\n", + "Number of Lagrangian Hessian evaluations = 77\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.578\n", + "Total CPU secs in NLP function evaluations = 115.478\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 455\n", + "Realized SOC (MPC) 1230778\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16004\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6076\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.8571509e+08 2.31e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.8566291e+08 2.30e+05 9.93e+01 -1.0 3.03e+05 - 6.50e-03 2.90e-03h 1\n", + " 2 6.8574841e+08 2.28e+05 9.85e+01 -1.0 3.03e+05 - 3.58e-03 7.64e-03h 1\n", + " 3 6.8596050e+08 2.26e+05 9.76e+01 -1.0 3.01e+05 - 1.12e-02 1.22e-02h 1\n", + " 4 6.8694384e+08 2.13e+05 9.82e+01 -1.0 3.00e+05 - 2.77e-02 5.36e-02h 1\n", + " 5 6.8731807e+08 2.09e+05 9.01e+01 -1.0 2.97e+05 - 4.50e-01 2.12e-02h 1\n", + " 6 6.8747648e+08 2.07e+05 3.23e+02 -1.0 1.54e+07 - 7.63e-02 8.24e-03h 1\n", + " 7 6.8927670e+08 1.88e+05 6.59e+02 -1.0 1.57e+07 - 2.01e-01 9.43e-02h 1\n", + " 8 6.9764871e+08 8.23e+05 5.07e+02 -1.0 1.42e+07 - 2.82e-01 4.90e-01h 1\n", + " 9 6.9784392e+08 8.03e+05 6.55e+02 -1.0 7.24e+06 - 7.92e-01 2.46e-02h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.9848005e+08 6.97e+05 9.29e+02 -1.0 7.06e+06 - 7.97e-01 1.60e-01h 1\n", + " 11 6.9842415e+08 6.94e+05 1.42e+03 -1.0 6.32e+06 - 4.76e-01 3.67e-03h 1\n", + " 12 6.9618361e+08 6.50e+05 1.56e+03 -1.0 1.15e+07 - 1.66e-01 6.87e-02f 1\n", + " 13 6.9377707e+08 6.04e+05 1.37e+03 -1.0 1.33e+07 - 2.69e-03 7.46e-02f 1\n", + " 14 6.9361395e+08 6.00e+05 8.82e+02 -1.0 1.33e+07 - 8.51e-01 7.01e-03h 1\n", + " 15 6.8848734e+08 5.78e+05 8.49e+02 -1.0 7.54e+07 - 7.67e-02 3.76e-02f 1\n", + " 16 6.8783436e+08 5.74e+05 8.43e+02 -1.0 7.69e+07 - 7.04e-02 7.62e-03f 1\n", + " 17 6.8644680e+08 5.60e+05 8.23e+02 -1.0 8.19e+07 - 2.97e-01 2.51e-02f 1\n", + " 18 6.8542977e+08 5.45e+05 8.01e+02 -1.0 6.94e+07 - 6.70e-02 2.67e-02f 1\n", + " 19 6.8533434e+08 5.22e+05 7.67e+02 -1.0 1.54e+07 - 4.39e-01 4.46e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.8159628e+08 3.25e+05 3.40e+02 -1.0 2.85e+07 - 1.74e-01 8.26e-01f 1\n", + " 21 6.7496178e+08 2.58e+05 1.07e+02 -1.0 3.31e+07 - 7.63e-01 9.56e-01f 1\n", + " 22 6.7290022e+08 2.61e+05 9.87e+01 -1.0 1.23e+08 - 7.50e-01 7.56e-02f 1\n", + " 23 6.7246912e+08 2.61e+05 9.80e+01 -1.0 3.42e+08 - 2.91e-02 7.87e-03f 1\n", + " 24 6.6809360e+08 4.31e+05 8.87e+01 -1.0 3.47e+08 - 1.79e-01 7.85e-02f 1\n", + " 25 6.6792375e+08 4.29e+05 8.83e+01 -1.0 3.20e+08 - 1.24e-01 4.65e-03f 1\n", + " 26 6.6719685e+08 4.19e+05 8.65e+01 -1.0 3.34e+08 - 3.72e-01 2.16e-02f 1\n", + " 27 6.6714746e+08 4.17e+05 8.60e+01 -1.0 2.37e+07 - 3.25e-02 5.94e-03f 1\n", + " 28 6.6638903e+08 3.65e+05 7.69e+01 -1.0 2.22e+07 - 4.02e-01 1.06e-01f 1\n", + " 29 6.6521142e+08 1.22e+06 6.06e+01 -1.0 3.36e+07 - 4.90e-02 2.12e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.6452627e+08 1.63e+06 5.24e+01 -1.0 3.70e+07 - 5.73e-02 1.34e-01f 1\n", + " 31 6.6446873e+08 1.61e+06 5.20e+01 -1.0 3.86e+07 - 1.13e-01 1.06e-02f 1\n", + " 32 6.6367557e+08 2.16e+06 4.53e+01 -1.0 4.29e+07 - 3.47e-01 1.32e-01f 1\n", + " 33 6.6317772e+08 2.46e+06 4.21e+01 -1.0 5.92e+07 - 1.37e-01 7.36e-02f 1\n", + " 34 6.6245394e+08 3.13e+06 3.80e+01 -1.0 6.27e+07 - 9.34e-02 9.60e-02f 1\n", + " 35 6.6138779e+08 4.15e+06 3.33e+01 -1.0 6.26e+07 - 6.30e-03 1.18e-01f 1\n", + " 36 6.6128858e+08 4.11e+06 3.32e+01 -1.0 6.32e+07 - 1.74e-01 1.29e-02f 1\n", + " 37 6.6034712e+08 5.13e+06 2.95e+01 -1.0 6.62e+07 - 1.30e-01 1.12e-01f 1\n", + " 38 6.6020665e+08 5.07e+06 2.92e+01 -1.0 6.07e+07 - 1.77e-01 2.27e-02f 1\n", + " 39 6.5997079e+08 5.06e+06 2.89e+01 -1.0 5.93e+07 - 6.68e-01 4.64e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.5713190e+08 3.06e+07 5.51e+00 -1.0 5.86e+07 - 5.96e-01 8.01e-01f 1\n", + " 41 6.5709511e+08 1.26e+07 2.21e+00 -1.0 1.25e+07 - 5.30e-01 5.94e-01h 1\n", + " 42 6.5708310e+08 9.88e+06 1.74e+00 -1.0 1.09e+08 - 2.91e-01 2.17e-01h 1\n", + " 43 6.5710887e+08 5.83e+06 2.55e+05 -1.0 2.45e+05 -4.0 2.50e-02 4.08e-01h 1\n", + " 44 6.5711598e+08 4.92e+06 2.11e+05 -1.0 1.45e+05 -4.5 5.03e-01 1.55e-01h 1\n", + " 45 6.5711619e+08 4.90e+06 2.10e+05 -1.0 1.23e+05 -5.0 9.96e-01 5.27e-03h 1\n", + " 46 6.5711678e+08 4.83e+06 2.07e+05 -1.0 1.22e+05 -5.4 1.00e+00 1.44e-02h 1\n", + " 47 6.5711686e+08 4.83e+06 2.07e+05 -1.0 1.04e+06 -5.9 8.88e-03 3.96e-04h 1\n", + " 48 6.5712221e+08 4.74e+06 2.03e+05 -1.0 1.65e+06 -6.4 1.58e-02 1.79e-02h 1\n", + " 49 6.5712933e+08 4.62e+06 1.98e+05 -1.0 1.63e+06 -6.9 6.70e-02 2.40e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.5713048e+08 4.61e+06 1.97e+05 -1.0 1.60e+06 -7.3 7.13e-02 3.33e-03h 1\n", + " 51 6.5716813e+08 4.09e+06 1.71e+05 -1.0 1.59e+06 -7.8 1.74e-01 1.11e-01h 1\n", + " 52 6.5722023e+08 3.37e+06 1.30e+05 -1.0 1.46e+06 -8.3 2.10e-01 1.75e-01h 1\n", + " 53 6.5723499e+08 3.12e+06 1.19e+05 -1.0 1.25e+06 -8.8 5.27e-01 7.29e-02h 1\n", + " 54 6.5733240e+08 2.00e+06 5.40e+04 -1.0 1.17e+06 -9.2 3.45e-01 3.51e-01h 1\n", + " 55 6.5748684e+08 9.70e+05 7.20e+04 -1.0 7.98e+05 -9.7 6.17e-01 5.05e-01h 1\n", + " 56 6.5755921e+08 1.75e+04 4.69e+04 -1.0 4.26e+05 -10.2 1.00e+00 1.00e+00h 1\n", + " 57 6.5735392e+08 1.10e+04 2.97e+04 -1.0 7.24e+05 -10.7 1.00e+00 3.66e-01f 1\n", + " 58 6.5728841e+08 1.03e+04 2.76e+04 -1.0 1.47e+06 -11.2 1.00e+00 6.97e-02f 1\n", + " 59 6.5719896e+08 8.99e+03 2.43e+04 -1.0 1.62e+06 -11.6 1.00e+00 1.22e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.5718459e+08 1.58e+03 4.29e+03 -1.0 1.62e+05 -12.1 1.00e+00 8.23e-01f 1\n", + " 61 6.5718648e+08 8.67e+02 1.09e+00 -1.0 2.27e+05 -12.6 1.00e+00 1.00e+00h 1\n", + " 62 6.5718482e+08 2.49e+03 6.43e-03 -1.0 5.16e+05 -13.1 1.00e+00 1.00e+00h 1\n", + " 63 6.5715594e+08 4.33e+03 1.30e+00 -1.7 8.09e+05 -13.5 7.67e-01 7.28e-01f 1\n", + " 64 6.5714271e+08 8.09e+04 2.28e-02 -1.7 2.93e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 65 6.5713612e+08 3.41e+05 9.15e-02 -1.7 9.45e+06 -14.5 5.36e-01 6.08e-01h 1\n", + " 66 6.5712476e+08 6.34e+06 1.19e+00 -1.7 3.77e+07 -15.0 1.00e+00 6.51e-01h 1\n", + " 67 6.5712263e+08 5.11e+06 9.53e-01 -1.7 2.86e+06 -14.5 1.00e+00 1.94e-01h 1\n", + " 68 6.5711224e+08 2.67e+06 6.09e-01 -1.7 1.61e+07 -15.0 1.00e+00 1.00e+00h 1\n", + " 69 6.5710346e+08 9.06e+05 1.18e-01 -1.7 7.93e+06 -14.6 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.5707154e+08 1.16e+07 2.55e+00 -1.7 1.32e+08 -15.1 5.57e-01 2.67e-01h 1\n", + " 71 6.5706833e+08 1.10e+07 2.63e+00 -1.7 2.04e+07 -14.7 1.00e+00 6.15e-02h 1\n", + " 72 6.5703727e+08 1.10e+07 4.39e+00 -1.7 1.71e+08 -15.1 4.97e-01 1.22e-01h 1\n", + " 73 6.5703405e+08 1.02e+07 3.99e+00 -1.7 2.83e+07 - 2.00e-01 8.04e-02h 1\n", + " 74 6.5701796e+08 1.42e+07 2.51e+00 -1.7 7.69e+07 - 5.30e-01 3.21e-01h 1\n", + " 75 6.5700958e+08 8.11e+06 6.69e-01 -1.7 1.90e+07 - 1.00e+00 1.00e+00h 1\n", + " 76 6.5700405e+08 6.19e+06 8.89e-01 -1.7 1.83e+07 - 8.95e-01 1.00e+00h 1\n", + " 77 6.5700357e+08 1.83e+04 8.44e-04 -1.7 5.75e+05 - 1.00e+00 1.00e+00h 1\n", + " 78 6.5700356e+08 8.58e+00 2.37e-06 -1.7 3.10e+04 - 1.00e+00 1.00e+00h 1\n", + " 79 6.5699559e+08 5.41e+04 1.49e+00 -3.8 2.18e+06 - 9.44e-01 7.64e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 6.5699318e+08 1.01e+04 2.31e-03 -3.8 7.32e+05 - 1.00e+00 1.00e+00h 1\n", + " 81 6.5699319e+08 2.67e-01 3.05e-08 -3.8 5.77e+03 - 1.00e+00 1.00e+00h 1\n", + " 82 6.5699311e+08 7.52e+00 1.97e-06 -5.7 1.98e+04 - 1.00e+00 1.00e+00h 1\n", + " 83 6.5699311e+08 4.29e-06 1.85e-11 -5.7 1.46e+01 - 1.00e+00 1.00e+00h 1\n", + " 84 6.5699311e+08 1.16e-03 3.04e-10 -8.6 2.46e+02 - 1.00e+00 1.00e+00h 1\n", + " 85 6.5699311e+08 1.43e-06 1.46e-12 -8.6 2.24e-03 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 85\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.5699310783114473e+04 6.5699310783114469e+08\n", + "Dual infeasibility......: 1.4593232975207533e-12 1.4593232975207533e-08\n", + "Constraint violation....: 2.5611370801925659e-09 1.4305114746093750e-06\n", + "Complementarity.........: 2.5065844709071104e-09 2.5065844709071101e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5065844709071101e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 86\n", + "Number of objective gradient evaluations = 86\n", + "Number of equality constraint evaluations = 86\n", + "Number of inequality constraint evaluations = 86\n", + "Number of equality constraint Jacobian evaluations = 86\n", + "Number of inequality constraint Jacobian evaluations = 86\n", + "Number of Lagrangian Hessian evaluations = 85\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.571\n", + "Total CPU secs in NLP function evaluations = 115.924\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 460\n", + "Realized SOC (MPC) 1195986\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16000\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6075\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.5719311e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 6.5713793e+08 9.97e+04 9.93e+01 -1.0 1.47e+05 - 7.39e-03 3.07e-03h 1\n", + " 2 6.5718800e+08 9.89e+04 9.85e+01 -1.0 1.84e+05 - 3.83e-03 8.05e-03h 1\n", + " 3 6.5734570e+08 9.76e+04 9.74e+01 -1.0 1.67e+05 - 1.19e-02 1.29e-02h 1\n", + " 4 6.5810950e+08 9.20e+04 9.81e+01 -1.0 1.25e+05 - 2.94e-02 5.74e-02h 1\n", + " 5 6.5964145e+08 8.11e+04 8.07e+01 -1.0 1.24e+05 - 4.59e-01 1.19e-01h 1\n", + " 6 6.6903233e+08 1.18e+04 6.63e+01 -1.0 1.62e+05 - 2.64e-01 8.54e-01h 1\n", + " 7 6.6910715e+08 1.10e+04 2.66e+02 -1.0 1.78e+05 - 9.88e-01 7.15e-02h 1\n", + " 8 6.6731279e+08 1.05e+04 2.47e+02 -1.0 1.28e+07 - 7.13e-02 4.22e-02f 1\n", + " 9 6.6692079e+08 1.04e+04 1.54e+02 -1.0 1.53e+07 - 3.58e-01 1.12e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.6323161e+08 9.58e+03 1.35e+02 -1.0 2.34e+07 - 1.17e-01 7.92e-02f 1\n", + " 11 6.6293954e+08 9.51e+03 8.66e+01 -1.0 2.63e+07 - 8.94e-01 7.98e-03f 1\n", + " 12 6.5855787e+08 9.30e+03 8.47e+01 -1.0 1.63e+08 - 2.26e-02 2.20e-02f 1\n", + " 13 6.5816026e+08 9.21e+03 8.42e+01 -1.0 5.66e+07 - 5.45e-02 9.00e-03f 1\n", + " 14 6.5781861e+08 8.72e+03 8.14e+01 -1.0 2.71e+07 - 4.41e-01 6.23e-02h 1\n", + " 15 6.4927644e+08 4.48e+05 3.88e+02 -1.0 4.59e+07 - 6.72e-02 8.82e-01f 1\n", + " 16 6.4784466e+08 4.01e+05 3.38e+02 -1.0 4.78e+07 - 5.91e-01 1.31e-01f 1\n", + " 17 6.4775448e+08 3.99e+05 3.36e+02 -1.0 1.11e+08 - 7.08e-02 5.05e-03f 1\n", + " 18 6.4180805e+08 7.22e+05 2.26e+02 -1.0 1.17e+08 - 4.99e-01 3.28e-01f 1\n", + " 19 6.4172918e+08 7.20e+05 2.25e+02 -1.0 1.69e+08 - 2.01e-01 3.09e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.4128924e+08 7.00e+05 2.19e+02 -1.0 1.50e+08 - 8.65e-01 2.80e-02f 1\n", + " 21 6.4002309e+08 8.13e+05 2.05e+02 -1.0 8.68e+07 - 4.59e-02 6.41e-02f 1\n", + " 22 6.3990287e+08 8.04e+05 2.02e+02 -1.0 5.21e+07 - 4.63e-02 1.11e-02f 1\n", + " 23 6.3851283e+08 1.28e+06 1.76e+02 -1.0 5.57e+07 - 1.97e-01 1.29e-01f 1\n", + " 24 6.3843034e+08 1.27e+06 1.75e+02 -1.0 6.21e+07 - 1.13e-01 1.07e-02f 1\n", + " 25 6.3729279e+08 2.93e+06 1.51e+02 -1.0 6.97e+07 - 3.58e-01 1.37e-01f 1\n", + " 26 6.3490650e+08 1.06e+07 1.19e+02 -1.0 9.75e+07 - 1.87e-01 2.09e-01f 1\n", + " 27 6.3466121e+08 1.04e+07 1.16e+02 -1.0 9.03e+07 - 4.96e-01 2.28e-02f 1\n", + " 28 6.3403044e+08 1.17e+07 1.06e+02 -1.0 1.08e+08 - 5.43e-01 9.24e-02f 1\n", + " 29 6.2954311e+08 4.66e+07 1.79e+01 -1.0 8.72e+07 - 7.09e-01 8.31e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.2933730e+08 2.13e+07 9.98e+00 -1.0 5.04e+07 - 3.10e-01 5.45e-01h 1\n", + " 31 6.2931125e+08 1.92e+07 9.22e+00 -1.0 1.14e+08 - 5.25e-01 1.01e-01h 1\n", + " 32 6.2931672e+08 1.83e+07 1.75e+04 -1.0 7.63e+05 -4.0 8.10e-03 4.38e-02h 1\n", + " 33 6.2931678e+08 1.83e+07 1.74e+04 -1.0 7.29e+05 -4.5 9.51e-02 4.65e-04h 1\n", + " 34 6.2931755e+08 1.82e+07 6.68e+04 -1.0 7.11e+05 -5.0 4.36e-02 4.85e-03h 1\n", + " 35 6.2948176e+08 5.23e+05 3.04e+05 -1.0 7.07e+05 -5.4 2.93e-01 9.79e-01h 1\n", + " 36 6.2948198e+08 5.04e+05 4.87e+05 -1.0 1.39e+04 -5.9 9.99e-01 3.69e-02h 1\n", + " 37 6.2948198e+08 5.04e+05 4.89e+05 -1.0 1.27e+04 -6.4 1.00e+00 3.86e-04h 1\n", + " 38 6.2948479e+08 4.98e+05 4.82e+05 -1.0 1.63e+06 -6.9 4.81e-02 1.17e-02h 1\n", + " 39 6.2949534e+08 4.75e+05 4.60e+05 -1.0 1.61e+06 -7.3 2.14e-01 4.47e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.2951563e+08 4.35e+05 4.21e+05 -1.0 1.53e+06 -7.8 1.45e-01 8.49e-02h 1\n", + " 41 6.2957638e+08 3.00e+05 2.92e+05 -1.0 1.38e+06 -8.3 1.00e+00 3.11e-01h 1\n", + " 42 6.2965274e+08 7.76e+04 1.20e+05 -1.0 9.13e+05 -8.8 5.41e-01 1.00e+00h 1\n", + " 43 6.2960820e+08 5.42e+04 8.39e+04 -1.0 3.73e+04 -9.2 9.88e-01 3.02e-01f 1\n", + " 44 6.2955374e+08 1.23e+04 1.90e+04 -1.0 8.21e+04 -9.7 1.00e+00 7.74e-01f 1\n", + " 45 6.2951507e+08 8.10e+03 1.25e+04 -1.0 1.49e+05 -10.2 1.00e+00 3.41e-01f 1\n", + " 46 6.2947684e+08 6.71e+03 1.04e+04 -1.0 2.80e+05 -10.7 1.00e+00 1.71e-01f 1\n", + " 47 6.2938976e+08 3.83e+03 5.91e+03 -1.0 6.31e+05 -11.2 1.00e+00 4.29e-01f 1\n", + " 48 6.2936122e+08 3.28e+03 5.06e+03 -1.0 1.33e+06 -11.6 1.00e+00 1.44e-01f 1\n", + " 49 6.2936813e+08 5.28e+02 1.50e+00 -1.0 1.45e+05 -12.1 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.2936317e+08 3.66e+03 2.02e-02 -1.0 5.04e+05 -12.6 1.00e+00 1.00e+00h 1\n", + " 51 6.2932068e+08 3.02e+04 2.73e+00 -1.7 1.57e+06 -13.1 8.39e-01 9.21e-01f 1\n", + " 52 6.2929884e+08 2.44e+05 4.35e-01 -1.7 4.90e+06 -13.5 1.00e+00 8.34e-01h 1\n", + " 53 6.2922806e+08 2.91e+06 5.77e-01 -1.7 1.49e+07 -14.0 4.73e-01 1.00e+00h 1\n", + " 54 6.2919129e+08 3.31e+06 1.29e+00 -1.7 5.58e+07 -14.5 1.00e+00 1.28e-01h 1\n", + " 55 6.2915066e+08 3.86e+06 3.19e+00 -1.7 1.26e+08 -15.0 2.94e-01 6.33e-02h 1\n", + " 56 6.2914808e+08 3.31e+06 8.62e-01 -1.7 1.17e+07 -14.5 1.00e+00 1.44e-01h 1\n", + " 57 6.2914108e+08 6.78e+05 4.44e-01 -1.7 8.46e+06 -15.0 4.33e-01 1.00e+00h 1\n", + " 58 6.2913291e+08 1.43e+06 8.23e-02 -1.7 8.05e+06 -14.6 1.00e+00 1.00e+00h 1\n", + " 59 6.2912176e+08 1.39e+07 1.62e+00 -1.7 3.67e+08 - 8.30e-03 6.79e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.2912150e+08 1.31e+07 1.53e+00 -1.7 1.89e+07 -15.1 1.00e+00 5.54e-02h 1\n", + " 61 6.2912001e+08 7.58e+04 8.50e-03 -1.7 1.30e+06 - 1.00e+00 1.00e+00h 1\n", + " 62 6.2911998e+08 3.63e+03 1.08e-03 -1.7 6.32e+05 - 1.00e+00 1.00e+00h 1\n", + " 63 6.2911998e+08 2.97e+00 2.26e-07 -1.7 1.25e+04 - 1.00e+00 1.00e+00h 1\n", + " 64 6.2911184e+08 1.52e+04 1.83e+00 -3.8 1.19e+06 - 9.77e-01 7.57e-01f 1\n", + " 65 6.2910935e+08 2.42e+03 1.13e-03 -3.8 3.62e+05 - 1.00e+00 1.00e+00h 1\n", + " 66 6.2910935e+08 3.12e-03 1.50e-09 -3.8 4.43e+02 - 1.00e+00 1.00e+00h 1\n", + " 67 6.2910927e+08 1.85e+00 9.27e-07 -5.7 9.94e+03 - 1.00e+00 1.00e+00f 1\n", + " 68 6.2910927e+08 1.19e-06 1.85e-11 -5.7 3.44e+00 - 1.00e+00 1.00e+00h 1\n", + " 69 6.2910927e+08 2.85e-04 1.43e-10 -8.6 1.23e+02 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.2910927e+08 1.43e-06 1.43e-12 -8.6 5.28e-04 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 70\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.2910927227661574e+04 6.2910927227661574e+08\n", + "Dual infeasibility......: 1.4292233340204290e-12 1.4292233340204290e-08\n", + "Constraint violation....: 3.7252902984619141e-09 1.4305114746093750e-06\n", + "Complementarity.........: 2.5065142449385835e-09 2.5065142449385835e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5065142449385835e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 71\n", + "Number of objective gradient evaluations = 71\n", + "Number of equality constraint evaluations = 71\n", + "Number of inequality constraint evaluations = 71\n", + "Number of equality constraint Jacobian evaluations = 71\n", + "Number of inequality constraint Jacobian evaluations = 71\n", + "Number of Lagrangian Hessian evaluations = 70\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.093\n", + "Total CPU secs in NLP function evaluations = 94.360\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 458\n", + "Realized SOC (MPC) 1251201\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15996\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6074\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.2930927e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 6.2925417e+08 9.97e+04 9.93e+01 -1.0 1.60e+05 - 7.38e-03 3.06e-03h 1\n", + " 2 6.2929360e+08 9.89e+04 9.85e+01 -1.0 1.27e+05 - 3.83e-03 8.04e-03h 1\n", + " 3 6.2942452e+08 9.76e+04 9.74e+01 -1.0 9.83e+04 - 1.18e-02 1.29e-02h 1\n", + " 4 6.3008538e+08 9.20e+04 9.81e+01 -1.0 9.71e+04 - 2.95e-02 5.74e-02h 1\n", + " 5 6.3142516e+08 8.11e+04 8.08e+01 -1.0 9.15e+04 - 4.58e-01 1.19e-01h 1\n", + " 6 6.4038211e+08 5.62e+03 7.29e+01 -1.0 1.42e+05 - 2.64e-01 9.31e-01h 1\n", + " 7 6.4042471e+08 4.36e+03 1.92e+02 -1.0 1.77e+05 - 9.70e-01 2.25e-01h 1\n", + " 8 6.3962927e+08 4.10e+03 1.73e+02 -1.0 5.45e+06 - 8.87e-02 5.93e-02f 1\n", + " 9 6.3920616e+08 3.95e+03 1.06e+02 -1.0 6.41e+06 - 3.02e-01 3.59e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.3694047e+08 3.20e+03 9.19e+01 -1.0 9.10e+06 - 1.51e-01 1.91e-01f 1\n", + " 11 6.3217724e+08 4.27e+03 3.05e+01 -1.0 1.07e+07 - 6.84e-01 3.36e-01f 1\n", + " 12 6.3209791e+08 4.26e+03 3.55e+01 -1.0 3.19e+07 - 1.80e-01 2.48e-03f 1\n", + " 13 6.3108526e+08 4.69e+03 5.91e+01 -1.0 3.58e+07 - 5.47e-01 4.04e-02f 1\n", + " 14 6.3097214e+08 4.44e+03 1.01e+02 -1.0 9.69e+06 - 9.86e-01 5.49e-02h 1\n", + " 15 6.2164752e+08 3.42e+05 8.77e+01 -1.0 2.93e+08 - 2.15e-02 1.27e-01f 1\n", + " 16 6.2048402e+08 3.44e+05 8.65e+01 -1.0 3.50e+08 - 2.73e-02 1.35e-02f 1\n", + " 17 6.2046243e+08 3.43e+05 8.65e+01 -1.0 1.78e+08 - 7.14e-03 7.21e-04h 1\n", + " 18 6.1630017e+08 8.49e+05 7.75e+01 -1.0 4.34e+08 - 2.37e-03 1.02e-01f 1\n", + " 19 6.1622250e+08 8.48e+05 7.79e+01 -1.0 3.27e+08 - 2.91e-01 1.35e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.1318954e+08 7.75e+05 7.14e+01 -1.0 3.59e+08 - 1.23e-02 8.19e-02f 1\n", + " 21 6.1290783e+08 7.68e+05 7.10e+01 -1.0 3.50e+08 - 1.21e-01 8.49e-03f 1\n", + " 22 6.1212189e+08 7.50e+05 6.95e+01 -1.0 3.53e+08 - 1.83e-01 2.35e-02f 1\n", + " 23 6.1207848e+08 7.45e+05 6.90e+01 -1.0 2.84e+07 - 4.58e-02 7.33e-03h 1\n", + " 24 6.1128497e+08 6.13e+05 5.85e+01 -1.0 2.80e+07 - 4.17e-02 1.51e-01f 1\n", + " 25 6.1125317e+08 6.06e+05 5.79e+01 -1.0 2.41e+07 - 6.72e-02 1.14e-02h 1\n", + " 26 6.1061086e+08 1.11e+06 4.39e+01 -1.0 2.66e+07 - 2.49e-01 2.41e-01f 1\n", + " 27 6.0913171e+08 5.07e+06 2.57e+01 -1.0 3.67e+07 - 2.13e-01 4.11e-01f 1\n", + " 28 6.0728264e+08 1.01e+07 1.58e+01 -1.0 4.69e+07 - 6.44e-01 3.94e-01f 1\n", + " 29 6.0712948e+08 1.00e+07 1.79e+01 -1.0 1.10e+08 - 1.75e-01 1.44e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.0712941e+08 9.89e+06 1.20e+02 -1.0 4.05e+04 -4.0 1.34e-01 1.31e-02h 1\n", + " 31 6.0708472e+08 3.12e+04 4.88e+03 -1.0 8.95e+05 - 8.37e-01 1.00e+00h 1\n", + " 32 6.0708521e+08 3.32e-02 9.07e-01 -1.0 3.16e+01 -4.5 9.91e-01 1.00e+00h 1\n", + " 33 6.0706936e+08 1.43e-06 3.81e-04 -1.7 8.48e-01 -5.0 1.00e+00 1.00e+00f 1\n", + " 34 6.0461745e+08 4.19e+07 1.41e+00 -3.8 4.62e+09 - 3.17e-03 1.07e-02f 1\n", + " 35 6.0454091e+08 4.19e+07 1.37e+00 -3.8 3.31e+09 - 3.26e-03 3.62e-04f 1\n", + " 36 6.0454091e+08 4.19e+07 8.72e+01 -3.8 1.08e+05 -5.4 6.08e-02 1.62e-04h 1\n", + " 37 6.0453881e+08 4.19e+07 7.98e+01 -3.8 1.33e+08 - 8.39e-02 1.49e-04h 1\n", + " 38 6.0327338e+08 4.10e+07 6.38e+01 -3.8 1.34e+08 - 1.98e-01 1.04e-01f 1\n", + " 39 6.0264160e+08 3.95e+07 5.31e+01 -3.8 1.62e+08 - 1.87e-01 4.43e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.0264136e+08 3.95e+07 5.45e+01 -3.8 1.83e+08 - 3.91e-01 1.92e-05h 1\n", + " 41 6.0198414e+08 3.36e+07 7.35e+01 -3.8 1.66e+08 - 4.21e-01 6.60e-02f 1\n", + " 42 6.0198322e+08 3.26e+07 6.63e+01 -3.8 1.78e+06 - 9.51e-01 3.06e-02h 1\n", + " 43 6.0198290e+08 3.06e+07 6.32e+01 -3.8 3.79e+07 - 6.65e-02 6.18e-02h 1\n", + " 44 6.0199739e+08 4.70e+06 1.85e+02 -3.8 1.52e+07 - 3.07e-05 9.51e-01h 1\n", + " 45 6.0199739e+08 4.70e+06 5.72e+02 -3.8 5.83e+04 -5.9 1.56e-03 2.34e-05h 1\n", + " 46 6.0201088e+08 3.87e+06 3.52e+02 -3.8 4.12e+07 - 3.79e-01 1.80e-01h 2\n", + " 47 6.0201089e+08 3.87e+06 7.03e+02 -3.8 1.07e+06 -6.4 3.12e-04 1.62e-04h 1\n", + " 48 6.0201089e+08 3.87e+06 3.12e+02 -3.8 9.08e+06 - 9.21e-01 1.07e-04h 1\n", + " 49 6.0207423e+08 1.83e+06 5.89e+01 -3.8 9.08e+06 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.0207421e+08 1.80e+06 5.63e+02 -3.8 4.23e+04 -6.9 2.73e-04 1.73e-02h 1\n", + " 51 6.0207423e+08 1.75e+06 5.47e+02 -3.8 1.09e+04 -7.3 1.76e-02 2.89e-02h 1\n", + " 52 6.0207458e+08 1.36e+06 4.26e+02 -3.8 6.92e+03 -7.8 3.83e-02 2.20e-01h 1\n", + " 53 6.0207605e+08 1.12e+02 7.20e+01 -3.8 5.67e+03 -8.3 1.71e-01 1.00e+00h 1\n", + " 54 6.0207567e+08 1.12e+02 8.64e+01 -3.8 1.01e+08 - 2.92e-01 3.02e-05f 1\n", + " 55 6.0207142e+08 1.18e+03 9.12e+01 -3.8 1.09e+06 - 9.21e-01 2.26e-01f 1\n", + " 56 6.0206975e+08 2.20e+05 1.00e+01 -3.8 4.58e+06 - 1.00e+00 9.50e-01h 1\n", + " 57 6.0206966e+08 1.23e+01 2.01e+01 -3.8 1.22e+04 -8.8 3.49e-01 1.00e+00h 1\n", + " 58 6.0206965e+08 1.22e+01 2.20e+01 -3.8 5.66e+03 -9.2 1.00e+00 6.89e-03h 1\n", + " 59 6.0206966e+08 4.09e-03 1.08e-03 -3.8 1.07e+02 -9.7 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.0206958e+08 2.32e-03 3.77e-06 -5.7 2.95e+02 -10.2 1.00e+00 1.00e+00f 1\n", + " 61 6.0206958e+08 2.77e-03 9.20e-03 -8.6 5.96e+02 -10.7 1.00e+00 8.89e-01h 1\n", + " 62 6.0206958e+08 3.00e-02 8.68e-07 -8.6 1.78e+03 -11.2 1.00e+00 1.00e+00h 1\n", + " 63 6.0206957e+08 2.70e-01 6.09e-08 -8.6 5.33e+03 -11.6 1.00e+00 1.00e+00h 1\n", + " 64 6.0206956e+08 2.44e+00 5.59e-07 -8.6 1.60e+04 -12.1 1.00e+00 1.00e+00h 1\n", + " 65 6.0206954e+08 2.20e+01 5.05e-06 -8.6 4.81e+04 -12.6 1.00e+00 1.00e+00h 1\n", + " 66 6.0206945e+08 2.01e+02 4.61e-05 -8.6 1.45e+05 -13.1 1.00e+00 1.00e+00h 1\n", + " 67 6.0206917e+08 1.89e+03 4.32e-04 -8.6 4.45e+05 -13.5 1.00e+00 1.00e+00h 1\n", + " 68 6.0206829e+08 1.93e+04 4.40e-03 -8.6 1.42e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 69 6.0206480e+08 2.70e+05 6.05e-02 -8.6 5.29e+06 -14.5 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.0205635e+08 1.17e+06 2.62e-01 -8.6 4.26e+07 -15.0 4.15e-01 2.36e-01h 1\n", + " 71 6.0204998e+08 5.77e+05 9.25e-02 -8.6 7.69e+06 -14.5 1.00e+00 1.00e+00h 1\n", + " 72 6.0203352e+08 3.99e+06 8.00e-01 -8.6 8.52e+07 -15.0 2.22e-01 2.20e-01h 1\n", + " 73r 6.0203352e+08 3.99e+06 9.99e+02 3.0 0.00e+00 -14.6 0.00e+00 4.59e-09R 2\n", + " 74r 6.0203354e+08 4.15e+06 9.99e+02 3.0 1.80e+11 - 1.67e-08 1.52e-08f 1\n", + " 75r 6.0204203e+08 2.80e+06 9.88e+02 1.6 1.61e+06 - 1.12e-02 1.09e-03f 1\n", + " 76 6.0203255e+08 3.52e+06 9.98e+01 -8.6 5.10e+15 - 1.26e-08 2.49e-09f 1\n", + " 77 6.0199642e+08 1.55e+07 9.98e+01 -8.6 6.80e+15 - 1.47e-08 5.83e-09f 1\n", + " 78 6.0196232e+08 1.40e+07 9.98e+01 -8.6 4.61e+15 - 8.91e-09 7.01e-09f 1\n", + "In iteration 78, 1 Slack too small, adjusting variable bound\n", + " 79 6.0196185e+08 1.40e+07 9.98e+01 -8.6 2.43e+14 - 5.23e-07 2.65e-09f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 6.0195847e+08 1.40e+07 9.98e+01 -8.6 7.13e+12 - 1.41e-05 5.01e-07f 1\n", + " 81 6.0195814e+08 1.40e+07 9.94e+01 -8.6 2.04e+10 - 6.49e-03 1.46e-05h 1\n", + " 82 6.0194703e+08 1.38e+07 4.47e+01 -8.6 7.38e+06 - 8.90e-01 1.04e-02h 1\n", + " 83 6.0191661e+08 1.25e+06 3.40e+01 -8.6 7.30e+06 - 1.00e+00 8.91e-01h 1\n", + " 84 6.0191321e+08 1.54e+05 4.57e+00 -8.6 7.42e+05 - 1.00e+00 8.76e-01h 1\n", + " 85 6.0191273e+08 1.45e+02 4.72e-02 -8.6 9.14e+04 - 1.00e+00 1.00e+00h 1\n", + " 86 6.0191273e+08 8.96e-04 4.72e-02 -8.6 1.58e+01 - 1.00e+00 1.00e+00h 1\n", + " 87 6.0191273e+08 9.54e-07 3.31e-02 -8.6 2.34e-05 - 1.00e+00 1.00e+00h 1\n", + " 88 6.0191273e+08 9.54e-07 3.81e-02 -8.6 1.81e-05 - 1.00e+00 1.00e+00h 1\n", + " 89 6.0191273e+08 9.54e-07 3.81e-02 -8.6 1.45e-05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90 6.0191273e+08 4.77e-07 1.31e-12 -8.6 9.92e-06 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 90\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.0191273467568863e+04 6.0191273467568862e+08\n", + "Dual infeasibility......: 1.3112422690242603e-12 1.3112422690242603e-08\n", + "Constraint violation....: 3.7252902984619141e-09 4.7683715820312500e-07\n", + "Complementarity.........: 2.5064672116839235e-09 2.5064672116839234e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5064672116839234e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 96\n", + "Number of objective gradient evaluations = 90\n", + "Number of equality constraint evaluations = 96\n", + "Number of inequality constraint evaluations = 96\n", + "Number of equality constraint Jacobian evaluations = 92\n", + "Number of inequality constraint Jacobian evaluations = 92\n", + "Number of Lagrangian Hessian evaluations = 90\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.708\n", + "Total CPU secs in NLP function evaluations = 146.980\n", + "\n", + "EXIT: Optimal Solution Found.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 460\n", + "Realized SOC (MPC) 1216409\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15992\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6073\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.0211273e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.0205759e+08 9.97e+04 9.93e+01 -1.0 1.45e+05 - 7.39e-03 3.07e-03h 1\n", + " 2 6.0208709e+08 9.89e+04 9.85e+01 -1.0 1.25e+05 - 3.83e-03 8.24e-03h 1\n", + " 3 6.0219177e+08 9.76e+04 9.74e+01 -1.0 9.83e+04 - 1.20e-02 1.29e-02h 1\n", + " 4 6.0275714e+08 9.19e+04 9.80e+01 -1.0 9.97e+04 - 2.98e-02 5.83e-02h 1\n", + " 5 6.0391456e+08 8.09e+04 8.06e+01 -1.0 9.14e+04 - 4.62e-01 1.19e-01h 1\n", + " 6 6.1186854e+08 2.40e+03 7.52e+01 -1.0 1.42e+05 - 2.67e-01 9.70e-01h 1\n", + " 7 6.1183573e+08 1.95e+03 6.44e+01 -1.0 1.78e+05 - 9.89e-01 1.90e-01h 1\n", + " 8 6.1071324e+08 1.87e+03 6.35e+01 -1.0 1.33e+07 - 2.35e-02 4.20e-02f 1\n", + " 9 6.1057261e+08 1.86e+03 4.76e+01 -1.0 1.67e+07 - 1.81e-01 5.99e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.0336607e+08 7.91e+03 4.86e+01 -1.0 2.02e+07 - 7.24e-02 2.59e-01f 1\n", + " 11 6.0328524e+08 7.89e+03 6.68e+01 -1.0 2.15e+07 - 8.19e-01 3.01e-03f 1\n", + " 12 6.0222881e+08 8.37e+03 6.64e+01 -1.0 7.82e+07 - 7.91e-02 1.89e-02f 1\n", + " 13 6.0213854e+08 8.14e+03 6.95e+01 -1.0 1.38e+07 - 3.72e-01 2.72e-02h 1\n", + " 14 5.9752700e+08 1.30e+05 1.62e+02 -1.0 2.25e+07 - 7.07e-02 1.00e+00f 1\n", + " 15 5.9388570e+08 1.12e+05 4.56e+01 -1.0 2.30e+07 - 8.42e-01 7.21e-01f 1\n", + " 16 5.9015177e+08 1.80e+05 3.90e+01 -1.0 1.29e+08 - 2.58e-01 1.35e-01f 1\n", + " 17 5.9005721e+08 1.80e+05 4.26e+01 -1.0 1.61e+08 - 9.53e-02 3.37e-03f 1\n", + " 18 5.8525921e+08 4.30e+05 3.32e+01 -1.0 1.75e+08 - 5.86e-01 1.79e-01f 1\n", + " 19 5.8514284e+08 4.29e+05 3.28e+01 -1.0 2.65e+08 - 1.25e-01 3.67e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.8440953e+08 4.17e+05 3.43e+01 -1.0 2.83e+08 - 3.65e-01 2.70e-02f 1\n", + " 21 5.8437949e+08 4.15e+05 3.09e+01 -1.0 3.40e+07 - 4.27e-01 4.34e-03h 1\n", + " 22 5.8348917e+08 6.79e+05 2.74e+01 -1.0 4.54e+07 - 6.56e-01 1.12e-01f 1\n", + " 23 5.8291531e+08 1.38e+06 2.36e+01 -1.0 5.52e+07 - 4.82e-02 1.39e-01f 1\n", + " 24 5.7793153e+08 4.43e+07 3.44e+01 -1.0 8.25e+07 - 8.86e-02 6.27e-01f 1\n", + " 25 5.7788558e+08 4.40e+07 8.72e+00 -1.0 6.25e+07 - 6.63e-01 6.80e-03h 1\n", + " 26 5.7789483e+08 4.14e+07 1.19e+04 -1.0 3.57e+05 -4.0 1.25e-02 5.76e-02h 1\n", + " 27 5.7789441e+08 4.10e+07 1.17e+04 -1.0 2.18e+06 - 1.95e-02 9.76e-03h 1\n", + " 28 5.7793291e+08 3.31e+07 4.14e+04 -1.0 3.33e+05 -4.5 2.51e-03 1.94e-01h 1\n", + " 29 5.7800731e+08 1.86e+07 1.16e+04 -1.0 2.69e+05 -5.0 2.47e-01 4.36e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.7800821e+08 1.85e+07 1.15e+04 -1.0 1.51e+05 -5.4 7.51e-01 9.36e-03h 1\n", + " 31 5.7810490e+08 2.54e+04 1.35e+05 -1.0 1.51e+05 -5.9 9.91e-01 1.00e+00h 1\n", + " 32 5.7807813e+08 2.53e+04 1.35e+05 -1.0 3.54e+07 - 5.20e-02 3.03e-03f 1\n", + " 33 5.7807937e+08 1.33e+00 3.26e+02 -1.0 1.77e+02 -6.4 9.58e-01 1.00e+00h 1\n", + " 34 5.7807874e+08 5.96e-04 2.47e-02 -1.0 2.77e+02 -6.9 1.00e+00 1.00e+00f 1\n", + " 35 5.7659676e+08 1.13e+07 8.27e+00 -2.5 1.21e+09 - 9.61e-02 1.80e-02f 1\n", + " 36 5.7420709e+08 2.89e+07 1.93e+01 -2.5 1.04e+09 - 1.05e-01 3.79e-02f 1\n", + " 37 5.7419783e+08 2.88e+07 4.83e+01 -2.5 3.41e+07 - 5.52e-01 3.28e-03h 1\n", + " 38 5.7418501e+08 2.70e+07 7.16e+01 -2.5 2.79e+06 - 9.51e-01 6.23e-02h 1\n", + " 39 5.7405753e+08 7.09e+05 1.62e+01 -2.5 1.49e+06 - 1.00e+00 9.74e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.7405751e+08 6.49e+05 1.48e+01 -2.5 4.03e+03 -7.3 1.10e-01 8.42e-02h 1\n", + " 41 5.7405751e+08 6.48e+05 1.48e+01 -2.5 3.19e+07 - 4.78e-03 3.43e-04h 1\n", + " 42 5.7405769e+08 6.47e+05 1.48e+01 -2.5 1.62e+08 - 1.17e-03 2.21e-03h 4\n", + " 43 5.7405781e+08 6.46e+05 1.47e+01 -2.5 1.61e+08 - 1.40e-02 1.59e-03h 5\n", + " 44 5.7406752e+08 5.94e+05 1.36e+01 -2.5 1.25e+07 - 7.67e-04 7.97e-02h 1\n", + " 45 5.7417684e+08 3.67e+05 1.42e+01 -2.5 4.22e+06 - 1.00e+00 9.60e-01h 1\n", + " 46 5.7417654e+08 9.71e+04 7.50e+02 -2.5 1.27e+04 -7.8 1.39e-02 7.36e-01h 1\n", + " 47 5.7417646e+08 6.30e+00 1.12e+00 -2.5 1.09e+03 -8.3 1.00e+00 1.00e+00h 1\n", + " 48 5.7417383e+08 2.64e+02 1.70e+01 -2.5 7.08e+06 - 8.22e-01 1.56e-02f 1\n", + " 49 5.7417121e+08 7.97e+05 1.03e+01 -2.5 6.93e+06 - 1.00e+00 8.68e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.7417121e+08 4.18e+01 3.40e+01 -2.5 2.18e+04 -8.8 2.01e-01 1.00e+00h 1\n", + " 51 5.7417103e+08 4.17e+01 4.23e+01 -2.5 6.66e+06 - 1.00e+00 3.40e-03f 1\n", + " 52 5.7416835e+08 2.48e+04 8.15e+00 -2.5 6.88e+06 - 1.00e+00 1.00e+00F 1\n", + " 53 5.7416835e+08 5.29e-02 4.42e-02 -2.5 1.63e+02 -9.2 1.00e+00 1.00e+00h 1\n", + " 54 5.7416835e+08 7.56e-05 3.32e-02 -2.5 8.31e+01 -9.7 1.00e+00 1.00e+00h 1\n", + " 55 5.7416835e+08 6.33e-04 4.23e-02 -2.5 2.41e+02 -10.2 1.00e+00 1.00e+00h 1\n", + " 56 5.7416835e+08 5.36e-03 4.23e-02 -2.5 7.00e+02 -10.7 1.00e+00 1.00e+00h 1\n", + " 57 5.7416835e+08 4.70e-02 2.56e-07 -2.5 2.07e+03 -11.2 1.00e+00 1.00e+00h 1\n", + " 58 5.7416698e+08 7.40e-01 2.78e-05 -3.8 6.94e+03 -11.6 1.00e+00 1.00e+00f 1\n", + " 59 5.7416690e+08 3.15e+00 6.50e-03 -5.7 1.84e+04 -12.1 1.00e+00 9.21e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 5.7416686e+08 3.45e+01 2.14e-05 -5.7 5.62e+04 -12.6 1.00e+00 1.00e+00h 1\n", + " 61 5.7416675e+08 3.16e+02 5.65e-05 -5.7 1.70e+05 -13.1 1.00e+00 1.00e+00h 1\n", + " 62 5.7416643e+08 3.00e+03 5.37e-04 -5.7 5.24e+05 -13.5 1.00e+00 1.00e+00h 1\n", + " 63 5.7416535e+08 3.16e+04 5.66e-03 -5.7 1.70e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 64 5.7416080e+08 4.71e+05 8.55e-02 -5.7 6.63e+06 -14.5 1.00e+00 1.00e+00h 1\n", + " 65 5.7412881e+08 1.20e+07 2.63e+00 -5.7 6.28e+07 -15.0 1.00e+00 5.85e-01h 1\n", + " 66r 5.7412881e+08 1.20e+07 9.99e+02 3.5 0.00e+00 -14.5 0.00e+00 2.63e-07R 6\n", + " 67r 5.7413170e+08 1.20e+07 9.99e+02 3.5 3.72e+08 - 4.47e-06 4.28e-06f 1\n", + " 68r 5.7413748e+08 9.84e+06 9.96e+02 1.4 2.92e+06 - 8.90e-03 1.07e-03f 1\n", + " 69 5.7410092e+08 1.15e+07 4.32e+01 -5.7 1.38e+13 - 4.82e-06 1.60e-06f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 5.7408398e+08 1.19e+07 4.32e+01 -5.7 3.40e+12 - 2.78e-05 2.47e-06f 1\n", + " 71r 5.7408398e+08 1.19e+07 9.99e+02 3.4 0.00e+00 - 0.00e+00 2.27e-12R 2\n", + " 72r 5.7408398e+08 1.19e+07 9.99e+02 3.4 3.13e+08 - 2.20e-08 8.98e-11f 11\n", + " 73r 5.7408902e+08 9.73e+06 9.98e+02 1.3 2.34e+06 - 8.48e-03 1.07e-03f 1\n", + " 74 5.7408094e+08 9.68e+06 1.55e+02 -5.7 3.90e+06 - 8.71e-01 5.58e-03h 1\n", + " 75r 5.7408094e+08 9.68e+06 9.99e+02 3.3 0.00e+00 - 0.00e+00 5.18e-09R 2\n", + " 76r 5.7544701e+08 4.49e+06 3.43e+03 3.3 4.16e+05 - 6.83e-03 2.82e-03f 1\n", + " 77r 5.7546768e+08 3.59e+06 3.39e+03 1.9 1.43e+06 - 2.33e-04 1.33e-03f 1\n", + " 78r 5.7548439e+08 3.03e+06 3.77e+03 1.9 2.06e+05 - 2.78e-02 1.05e-03f 1\n", + " 79r 5.7597098e+08 6.60e+05 9.36e+03 1.9 4.83e+04 - 5.32e-01 2.99e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80r 5.9310354e+08 2.18e+04 3.39e+03 1.9 4.01e+04 - 3.75e-01 5.42e-01f 1\n", + " 81r 6.1759177e+08 9.52e+03 2.36e+02 1.9 1.90e+04 - 6.65e-01 7.68e-01f 1\n", + " 82r 6.0738404e+08 4.29e+03 2.08e+03 0.5 1.14e+04 - 8.50e-01 6.07e-01f 1\n", + " 83r 6.0730072e+08 4.14e+03 4.29e+03 0.5 1.22e+05 - 3.19e-01 3.57e-02f 1\n", + " 84r 6.0708873e+08 3.82e+03 5.67e+03 0.5 1.07e+05 - 3.67e-01 7.76e-02f 1\n", + " 85r 6.0569516e+08 8.93e+03 3.00e+03 0.5 1.17e+05 - 3.35e-01 4.15e-01f 1\n", + " 86r 6.0566992e+08 8.86e+03 5.36e+03 0.5 7.13e+04 - 8.04e-01 8.01e-03f 1\n", + " 87r 6.0214553e+08 2.10e+03 1.43e+03 0.5 2.61e+04 - 1.00e+00 7.67e-01f 1\n", + " 88r 6.0031810e+08 5.29e+01 8.91e+00 0.5 1.80e+04 - 1.00e+00 1.00e+00f 1\n", + " 89r 5.9028665e+08 1.18e+01 1.24e+02 -0.9 1.25e+04 - 8.99e-01 7.96e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90r 5.9006568e+08 7.86e+01 9.45e+02 -0.9 3.33e+05 - 9.94e-01 1.63e-01f 1\n", + " 91r 5.8900485e+08 7.07e+01 7.52e+02 -0.9 2.79e+05 - 1.00e+00 2.81e-01f 1\n", + " 92r 5.8840687e+08 6.91e+01 6.28e+02 -0.9 2.00e+05 - 1.00e+00 1.91e-01f 1\n", + " 93r 5.8693399e+08 9.89e+01 2.77e+02 -0.9 1.62e+05 - 1.00e+00 5.68e-01f 1\n", + " 94r 5.8580971e+08 3.98e+01 8.94e+00 -0.9 6.99e+04 - 1.00e+00 1.00e+00f 1\n", + " 95r 5.8580948e+08 5.00e+00 8.94e+00 -0.9 2.77e+02 - 1.00e+00 1.00e+00h 1\n", + " 96r 5.8580948e+08 5.00e+00 8.94e+00 -0.9 3.48e+00 - 1.00e+00 1.00e+00h 1\n", + " 97r 5.8580948e+08 5.00e+00 8.94e+00 -0.9 1.82e-03 - 1.00e+00 1.00e+00h 1\n", + " 98r 5.8580948e+08 5.00e+00 8.66e+00 -0.9 5.22e-04 - 1.00e+00 3.12e-02h 6\n", + " 99r 5.8580948e+08 5.00e+00 8.94e+00 -0.9 5.06e-04 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100r 5.8580948e+08 5.00e+00 4.47e+00 -0.9 5.22e-04 - 1.00e+00 5.00e-01h 2\n", + " 101r 5.8111603e+08 5.00e+00 8.94e+00 -1.6 1.52e+03 - 1.00e+00 1.00e+00f 1\n", + " 102r 5.8122983e+08 9.60e+01 1.65e+02 -1.6 5.12e+05 - 4.52e-01 2.05e-01f 1\n", + " 103r 5.8123166e+08 9.57e+01 5.11e+02 -1.6 3.38e+05 - 1.00e+00 3.24e-03f 1\n", + " 104r 5.8194111e+08 2.63e+02 3.64e+00 -1.6 1.52e+05 - 1.00e+00 1.00e+00f 1\n", + " 105r 5.8193391e+08 5.00e+00 3.65e+00 -1.6 3.77e+02 - 1.00e+00 1.00e+00h 1\n", + " 106r 5.8193391e+08 5.00e+00 3.65e+00 -1.6 7.57e-01 - 1.00e+00 1.00e+00h 1\n", + " 107r 5.8193391e+08 5.00e+00 3.65e+00 -1.6 6.51e-04 - 1.00e+00 1.00e+00h 1\n", + " 108r 5.8193391e+08 5.00e+00 3.65e+00 -1.6 6.48e-04 - 1.00e+00 1.00e+00h 1\n", + " 109r 5.8193391e+08 5.00e+00 3.65e+00 -1.6 6.47e-04 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110r 5.8193391e+08 5.00e+00 3.65e+00 -1.6 6.46e-04 - 1.00e+00 1.00e+00h 1\n", + " 111r 5.8193391e+08 5.00e+00 2.74e+00 -1.6 6.47e-04 - 1.00e+00 2.50e-01h 3\n", + " 112r 5.8193391e+08 5.00e+00 3.65e+00 -1.6 4.85e-04 - 1.00e+00 1.00e+00h 1\n", + " 113r 5.8193391e+08 5.00e+00 3.63e+00 -1.6 6.47e-04 - 1.00e+00 3.91e-03h 9\n", + " 114r 5.8193391e+08 5.00e+00 1.04e-01 -1.6 2.02e-05 - 1.00e+00 2.50e-01h 3\n", + " 115r 5.7874674e+08 5.00e+00 4.77e+01 -3.7 2.27e+03 - 9.85e-01 8.20e-01f 1\n", + " 116r 5.7873437e+08 3.01e+02 1.08e+02 -3.7 3.19e+06 - 8.37e-02 5.13e-02f 1\n", + " 117r 5.7873436e+08 3.01e+02 3.08e+02 -3.7 2.04e+06 - 1.54e-01 1.77e-05f 1\n", + " 118r 5.7860912e+08 6.10e+02 2.08e+02 -3.7 9.16e+05 - 2.54e-01 3.27e-01f 1\n", + " 119r 5.7851740e+08 5.91e+02 1.67e+02 -3.7 6.17e+05 - 4.34e-01 2.03e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 120r 5.7814566e+08 8.03e+02 6.87e+01 -3.7 4.92e+05 - 6.00e-01 5.88e-01f 1\n", + " 121r 5.7735222e+08 2.76e+02 8.66e-01 -3.7 2.03e+05 - 1.00e+00 1.00e+00f 1\n", + " 122r 5.7665841e+08 5.00e+00 8.66e-01 -3.7 1.44e+03 - 1.00e+00 1.00e+00h 1\n", + " 123r 5.7656278e+08 5.00e+00 1.18e-01 -3.7 1.53e+02 - 1.00e+00 1.00e+00h 1\n", + " 124r 5.7656088e+08 5.00e+00 3.58e-01 -3.7 2.94e+00 - 1.00e+00 1.00e+00h 1\n", + " 125r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 2.41e-03 - 1.00e+00 1.00e+00h 1\n", + " 126r 5.7656087e+08 5.00e+00 1.79e-01 -3.7 1.50e-05 - 1.00e+00 5.00e-01h 2\n", + " 127r 5.7656087e+08 5.00e+00 8.95e-02 -3.7 1.30e-05 - 1.00e+00 5.00e-01h 2\n", + " 128r 5.7656087e+08 5.00e+00 2.74e-01 -3.7 6.13e-06 - 1.00e+00 6.25e-02h 5\n", + " 129r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 1.17e-05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 130r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.07e-05 - 1.00e+00 1.00e+00h 1\n", + " 131r 5.7656087e+08 5.00e+00 2.69e-01 -3.7 1.62e-05 - 1.00e+00 2.50e-01h 3\n", + " 132r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.42e-05 - 1.00e+00 1.00e+00h 1\n", + " 133r 5.7656087e+08 5.00e+00 2.69e-01 -3.7 1.68e-05 - 1.00e+00 2.50e-01h 3\n", + " 134r 5.7656087e+08 5.00e+00 2.52e-01 -3.7 1.74e-05 - 1.00e+00 6.25e-02h 5\n", + " 135r 5.7656087e+08 5.00e+00 1.26e-01 -3.7 1.34e-05 - 1.00e+00 5.00e-01h 2\n", + " 136r 5.7656087e+08 5.00e+00 9.44e-02 -3.7 9.71e-06 - 1.00e+00 2.50e-01h 3\n", + " 137r 5.7656087e+08 5.00e+00 9.44e-02 -3.7 8.09e-06 - 1.00e+00 6.10e-05h 15\n", + " 138r 5.7656087e+08 5.00e+00 9.44e-02 -3.7 8.08e-06 - 1.00e+00 1.53e-05h 17\n", + " 139r 5.7656087e+08 5.00e+00 8.85e-02 -3.7 8.08e-06 - 1.00e+00 6.25e-02h 5\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 140r 5.7656087e+08 5.00e+00 8.30e-02 -3.7 8.54e-06 - 1.00e+00 6.25e-02h 5\n", + " 141r 5.7656087e+08 5.00e+00 8.04e-02 -3.7 1.02e-05 - 1.00e+00 3.12e-02h 6\n", + " 142r 5.7656087e+08 5.00e+00 7.91e-02 -3.7 1.02e-05 - 1.00e+00 1.56e-02h 7\n", + " 143r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 9.71e-06 - 1.00e+00 1.00e+00w 1\n", + " 144r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.14e-05 - 1.00e+00 1.00e+00w 1\n", + " 145r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.73e-05 - 1.00e+00 1.00e+00w 1\n", + " 146r 5.7656087e+08 5.00e+00 7.85e-02 -3.7 1.31e-05 - 1.00e+00 7.81e-03h 7\n", + " 147r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 9.04e-06 - 1.00e+00 1.00e+00h 1\n", + " 148r 5.7656087e+08 5.00e+00 1.01e-01 -3.7 1.17e-05 - 1.00e+00 5.00e-01h 2\n", + " 149r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 5.56e-06 - 1.00e+00 1.00e+00s 22\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 150r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.18e-05 - 1.00e+00 1.00e+00s 22\n", + " 151r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 1.02e-05 - 1.00e+00 1.00e+00s 22\n", + " 152r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 1.09e-05 - 0.00e+00 0.00e+00R 1\n", + " 153r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.09e-05 - 1.00e+00 7.81e-03f 8\n", + " 154r 5.7656087e+08 5.00e+00 1.16e-01 -3.7 1.14e-05 - 1.00e+00 3.91e-03h 9\n", + " 155r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.05e-05 - 1.00e+00 1.00e+00s 36\n", + " 156r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 8.49e-06 - 1.00e+00 1.00e+00s 36\n", + " 157r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 1.64e-05 - 1.00e+00 1.00e+00s 36\n", + " 158r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 1.64e-05 - 0.00e+00 0.00e+00R 1\n", + " 159r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.64e-05 - 1.00e+00 7.81e-03f 8\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 160r 5.7656087e+08 5.00e+00 1.16e-01 -3.7 1.78e-05 - 1.00e+00 3.91e-03h 9\n", + " 161r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.78e-05 - 1.00e+00 1.00e+00s 36\n", + " 162r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.93e-05 - 1.00e+00 1.00e+00s 36\n", + " 163r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 1.94e-05 - 1.00e+00 1.00e+00s 36\n", + " 164r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 1.68e-05 - 0.00e+00 0.00e+00R 1\n", + " 165r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.67e-05 - 1.00e+00 3.91e-03f 9\n", + " 166r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.63e-05 - 1.00e+00 1.95e-03h 10\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 167r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.62e-05 - 1.00e+00 4.88e-04h 12\n", + " 168r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.65e-05 - 1.00e+00 1.00e+00s 36\n", + " 169r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 9.91e-06 - 0.00e+00 0.00e+00R 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 170r 5.7656087e+08 5.00e+00 3.55e-01 -3.7 9.91e-06 - 1.00e+00 7.81e-03f 8\n", + " 171r 5.7656087e+08 5.00e+00 1.16e-01 -3.7 9.55e-06 - 1.00e+00 3.91e-03h 9\n", + " 172r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.67e-05 - 1.00e+00 1.00e+00s 36\n", + " 173r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.20e-05 - 1.00e+00 1.00e+00s 36\n", + " 174r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 6.21e-06 - 1.00e+00 1.00e+00s 36\n", + " 175r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 1.46e-05 - 0.00e+00 0.00e+00R 1\n", + " 176r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.46e-05 - 1.00e+00 1.95e-03f 10\n", + " 177r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.51e-05 - 1.00e+00 9.77e-04h 11\n", + " 178r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 4.88e-04h 12\n", + " 179r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 3.05e-05h 16\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 180r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 3.81e-06h 19\n", + " 181r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 1.53e-05h 17\n", + " 182r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 2.38e-07h 23\n", + " 183r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 2.98e-08h 26\n", + " 184r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 5.96e-08h 25\n", + " 185r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 3.73e-09h 29\n", + " 186r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.50e-05 - 1.00e+00 1.00e+00w 1\n", + " 187r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.68e-05 - 1.00e+00 1.00e+00w 1\n", + " 188r 5.7656087e+08 5.00e+00 1.18e-01 -3.7 1.66e-05 - 1.00e+00 1.00e+00w 1\n", + " 189r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.85e-05 - 1.00e+00 7.63e-06h 17\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 190r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 3.05e-05h 16\n", + " 191r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 3.05e-05h 16\n", + " 192r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 7.63e-06h 18\n", + " 193r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 4.77e-07h 22\n", + " 194r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.50e-05 - 1.00e+00 4.88e-04h 12\n", + " 195r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.55e-05 - 1.00e+00 1.22e-04h 14\n", + " 196r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.55e-05 - 1.00e+00 6.10e-05h 15\n", + " 197r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.55e-05 - 1.00e+00 3.05e-05h 16\n", + " 198r 5.7656087e+08 5.00e+00 1.17e-01 -3.7 1.55e-05 - 1.00e+00 6.10e-05h 15\n", + " 199r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.55e-05 - 1.00e+00 1.00e+00w 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 200r 5.7656087e+08 5.00e+00 3.58e-01 -3.7 1.68e-05 - 1.00e+00 1.00e+00w 1\n", + "\n", + "Number of Iterations....: 200\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.7656087425385798e+04 5.7656087425385797e+08\n", + "Dual infeasibility......: 9.9998443341844535e+01 9.9998443341844541e+05\n", + "Constraint violation....: 4.9999999500000003e+00 4.9999999500000003e+00\n", + "Complementarity.........: 2.2036874286774231e-04 2.2036874286774228e+00\n", + "Overall NLP error.......: 9.9998443341844535e+01 9.9998443341844541e+05\n", + "\n", + "\n", + "Number of objective function evaluations = 944\n", + "Number of objective gradient evaluations = 75\n", + "Number of equality constraint evaluations = 949\n", + "Number of inequality constraint evaluations = 949\n", + "Number of equality constraint Jacobian evaluations = 209\n", + "Number of inequality constraint Jacobian evaluations = 209\n", + "Number of Lagrangian Hessian evaluations = 200\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 8.432\n", + "Total CPU secs in NLP function evaluations = 444.411\n", + "\n", + "EXIT: Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:pyomo.core:Loading a SolverResults object with a warning status into model.name=\"unknown\";\n", + " - termination condition: maxIterations\n", + " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 455\n", + "Realized SOC (MPC) 1581743\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15988\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6072\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.7656087e+08 3.65e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.7447020e+08 3.62e+05 7.10e+01 -1.0 1.11e+07 - 6.95e-01 8.63e-03f 1\n", + " 2 5.7446970e+08 3.62e+05 1.99e+03 -1.0 1.18e+07 - 3.56e-02 1.27e-03h 1\n", + " 3 5.7446974e+08 3.62e+05 9.41e+05 -1.0 1.14e+07 - 5.86e-03 1.27e-05h 1\n", + " 4r 5.7446974e+08 3.62e+05 1.00e+03 5.6 0.00e+00 - 0.00e+00 6.37e-08R 2\n", + " 5r 6.0467794e+08 1.90e+06 9.45e+04 5.6 1.48e+07 - 3.02e-03 2.54e-04f 1\n", + " 6r 6.0891640e+08 2.04e+06 9.18e+04 5.6 1.16e+07 - 2.81e-02 5.17e-03f 1\n", + " 7r 6.2726472e+08 2.08e+06 6.09e+04 5.6 1.63e+06 - 3.88e-01 2.45e-02f 1\n", + " 8 5.9613504e+08 2.07e+06 8.21e+01 -1.0 3.33e+06 - 3.94e-01 6.31e-03f 1\n", + " 9 5.8457198e+08 1.83e+06 1.84e+02 -1.0 3.08e+06 - 4.96e-01 2.83e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.8160409e+08 1.33e+06 2.00e+02 -1.0 4.85e+06 - 4.84e-01 4.08e-01f 1\n", + " 11 5.8074592e+08 1.03e+06 1.88e+02 -1.0 7.73e+06 - 8.67e-01 2.53e-01h 1\n", + " 12 5.8072437e+08 1.02e+06 1.89e+03 -1.0 7.49e+06 - 9.03e-01 3.39e-03h 1\n", + " 13 5.8072307e+08 1.02e+06 4.54e+07 -1.0 3.39e+07 - 8.20e-01 3.40e-05h 1\n", + " 14r 5.8072307e+08 1.02e+06 1.00e+03 5.0 0.00e+00 - 0.00e+00 1.70e-07R 2\n", + " 15r 6.3963048e+08 2.83e+06 2.10e+04 5.0 3.49e+06 - 3.79e-02 4.09e-03f 1\n", + " 16 5.9637521e+08 2.82e+06 9.83e+01 -1.0 6.28e+06 - 8.06e-03 6.79e-03f 1\n", + " 17 5.8542008e+08 2.79e+06 9.72e+01 -1.0 6.28e+06 - 2.38e-02 1.10e-02f 1\n", + " 18 5.8112593e+08 2.72e+06 9.49e+01 -1.0 6.26e+06 - 3.75e-01 2.80e-02f 1\n", + " 19 5.8095115e+08 2.64e+06 9.20e+01 -1.0 6.23e+06 - 5.64e-02 3.03e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.8094957e+08 2.64e+06 2.64e+04 -1.0 6.17e+06 - 2.83e-01 3.13e-04h 1\n", + " 21r 5.8094957e+08 2.64e+06 1.00e+03 4.9 0.00e+00 - 0.00e+00 3.91e-07R 4\n", + " 22r 7.5539798e+08 2.98e+06 7.63e+04 4.9 3.93e+06 - 2.25e-01 1.18e-02f 1\n", + " 23 7.5065720e+08 2.94e+06 6.65e+02 -1.0 4.32e+06 - 2.94e-01 1.49e-02f 1\n", + " 24 7.5061583e+08 2.94e+06 1.49e+05 -1.0 4.36e+06 - 4.14e-01 1.65e-04f 1\n", + " 25 7.2100901e+08 2.55e+06 1.25e+05 -1.0 3.66e+06 - 2.20e-02 1.40e-01f 1\n", + " 26 7.2072486e+08 2.54e+06 3.29e+05 -1.0 4.27e+06 - 1.99e-01 1.63e-03f 1\n", + " 27 7.2072214e+08 2.54e+06 4.80e+09 -1.0 4.29e+06 - 2.37e-01 1.63e-05h 1\n", + " 28r 7.2072214e+08 2.54e+06 1.00e+03 4.4 0.00e+00 - 0.00e+00 8.17e-08R 2\n", + " 29r 7.3068830e+08 2.35e+06 4.85e+03 4.4 5.70e+06 - 5.46e-02 4.62e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.0634487e+08 2.33e+06 7.77e+01 -1.0 4.43e+06 - 2.82e-01 7.98e-03f 1\n", + " 31 6.0471027e+08 2.30e+06 3.59e+02 -1.0 4.45e+06 - 4.64e-01 1.60e-02f 1\n", + " 32 6.0470301e+08 2.30e+06 1.36e+06 -1.0 4.51e+06 - 6.02e-01 1.63e-04h 1\n", + " 33r 6.0470301e+08 2.30e+06 1.00e+03 2.9 0.00e+00 - 0.00e+00 4.07e-07R 3\n", + " 34r 6.0488253e+08 1.35e+06 9.99e+02 2.9 6.19e+05 - 2.58e-03 1.28e-03f 1\n", + " 35 6.0431757e+08 1.35e+06 2.16e+03 -1.0 3.36e+06 - 4.36e-01 2.04e-04f 1\n", + " 36r 6.0431757e+08 1.35e+06 1.00e+03 2.3 0.00e+00 - 0.00e+00 2.55e-07R 4\n", + " 37r 6.0437976e+08 5.86e+05 9.99e+02 2.3 4.57e+05 - 1.01e-03 1.17e-03f 1\n", + " 38 6.0437652e+08 5.86e+05 2.33e+05 -1.0 3.41e+06 - 5.44e-01 4.99e-05h 1\n", + " 39r 6.0437652e+08 5.86e+05 1.00e+03 1.6 0.00e+00 - 0.00e+00 2.50e-07R 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40r 6.0433018e+08 2.27e+05 9.99e+02 1.6 1.58e+05 - 2.28e-02 9.92e-04f 1\n", + " 41 6.0430589e+08 2.27e+05 6.46e+04 -1.0 3.53e+06 - 5.72e-01 8.94e-06f 1\n", + " 42r 6.0430589e+08 2.27e+05 1.00e+03 1.1 0.00e+00 - 0.00e+00 4.47e-08R 2\n", + " 43r 6.0410392e+08 5.60e+04 9.99e+02 1.1 3.16e+05 - 9.12e-03 1.27e-03f 1\n", + " 44r 6.0342019e+08 2.66e+05 9.90e+02 1.1 2.73e+05 - 3.43e-02 8.42e-03f 1\n", + " 45r 6.0433443e+08 2.61e+05 9.76e+02 1.1 1.19e+05 - 1.93e-02 1.42e-02f 1\n", + " 46r 6.0544025e+08 2.56e+05 9.60e+02 1.1 5.78e+04 - 1.64e-01 1.61e-02f 1\n", + " 47r 6.0593517e+08 2.15e+05 1.07e+03 1.1 2.66e+04 - 2.45e-01 1.59e-01f 1\n", + " 48r 6.0697151e+08 1.88e+05 8.85e+02 1.1 2.35e+04 - 1.08e-01 1.23e-01f 1\n", + " 49r 6.0934279e+08 1.30e+05 9.67e+02 1.1 2.22e+04 - 1.02e-01 3.06e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50r 6.1483555e+08 4.08e+04 6.67e+02 1.1 1.78e+04 - 4.89e-01 6.93e-01f 1\n", + " 51r 6.2608945e+08 1.30e+03 3.08e+01 1.1 1.00e+04 - 9.84e-01 1.00e+00f 1\n", + " 52r 6.4192961e+08 1.61e+01 8.90e+00 1.1 5.94e+03 - 9.90e-01 1.00e+00f 1\n", + " 53r 6.3965568e+08 1.28e+01 2.60e+00 1.1 1.37e+03 - 9.91e-01 1.00e+00h 1\n", + " 54r 6.2161688e+08 1.40e+02 7.86e+00 0.4 3.88e+03 - 1.00e+00 1.00e+00f 1\n", + " 55r 6.2037630e+08 9.37e+02 4.50e+02 -1.0 4.72e+04 - 4.16e-01 1.46e-01f 1\n", + " 56r 6.2026030e+08 1.01e+04 4.39e+02 -1.0 3.75e+05 - 7.42e-02 4.83e-02f 1\n", + " 57 6.2022732e+08 1.01e+04 7.48e+04 -1.0 5.75e+06 - 5.24e-02 4.48e-04f 1\n", + " 58r 6.2022732e+08 1.01e+04 1.00e+03 1.1 0.00e+00 - 0.00e+00 2.80e-07R 5\n", + " 59r 6.2024452e+08 5.26e+03 1.03e+03 1.1 5.64e+04 - 7.34e-02 4.68e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60r 6.2063460e+08 6.81e+02 4.41e+03 1.1 2.40e+04 - 9.47e-01 1.02e-01f 1\n", + " 61r 6.5543204e+08 2.73e+04 2.54e+01 1.1 3.78e+04 - 9.69e-01 1.00e+00f 1\n", + " 62r 6.5689969e+08 1.34e+02 1.51e+00 1.1 1.85e+03 - 9.90e-01 1.00e+00f 1\n", + " 63 6.5659386e+08 1.39e+02 1.99e+05 -1.0 6.07e+06 - 6.09e-01 2.28e-03f 1\n", + " 64 6.5659278e+08 1.39e+02 4.59e+08 -1.0 6.01e+06 - 5.32e-02 1.14e-05f 2\n", + " 65 6.5659171e+08 1.39e+02 1.80e+13 -1.0 6.00e+06 - 4.58e-01 1.16e-05h 1\n", + " 66r 6.5659171e+08 1.39e+02 1.00e+03 1.0 0.00e+00 - 0.00e+00 5.78e-08R 2\n", + " 67r 6.5682370e+08 8.24e+02 3.70e+03 1.0 3.91e+04 - 9.75e-01 1.18e-01f 1\n", + " 68r 6.9155970e+08 3.66e+04 3.04e+01 1.0 4.11e+04 - 9.88e-01 1.00e+00f 1\n", + " 69r 6.9759142e+08 6.27e+02 1.92e+00 1.0 1.21e+03 - 9.90e-01 1.00e+00f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.7452450e+08 6.28e+02 9.62e+01 -1.0 6.29e+06 - 3.90e-02 1.89e-03f 1\n", + " 71 6.7448634e+08 6.28e+02 7.24e+05 -1.0 6.28e+06 - 6.31e-01 1.89e-05f 1\n", + " 72r 6.7448634e+08 6.28e+02 1.00e+03 0.9 0.00e+00 - 0.00e+00 9.45e-08R 2\n", + " 73r 6.7459022e+08 2.42e+02 3.13e+03 0.9 2.79e+04 - 9.81e-01 4.86e-02f 1\n", + " 74r 7.1081529e+08 8.28e+04 5.09e+01 0.9 5.01e+04 - 9.60e-01 1.00e+00f 1\n", + " 75r 7.1199740e+08 4.46e+04 1.99e+02 0.9 3.84e+03 - 9.90e-01 4.82e-01f 1\n", + " 76r 7.1324031e+08 1.99e+02 1.32e+00 0.9 9.56e+02 - 9.93e-01 1.00e+00f 1\n", + " 77 6.9322057e+08 1.98e+02 9.82e+01 -1.0 6.45e+06 - 9.85e-03 1.45e-03f 1\n", + " 78 6.9313426e+08 1.98e+02 2.07e+04 -1.0 6.45e+06 - 3.86e-02 1.45e-05f 1\n", + " 79r 6.9313426e+08 1.98e+02 1.00e+03 0.7 0.00e+00 - 0.00e+00 7.26e-08R 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80r 6.9314719e+08 1.96e+02 1.90e+03 0.7 2.57e+04 - 5.61e-01 1.04e-03f 1\n", + " 81r 6.9855089e+08 9.21e+03 2.53e+03 0.7 2.80e+04 - 9.78e-01 2.66e-01f 1\n", + " 82r 7.1817372e+08 5.16e+04 1.01e+03 0.7 5.40e+04 - 9.31e-01 6.24e-01f 1\n", + " 83r 7.1881769e+08 4.81e+04 9.97e+02 0.7 4.24e+04 - 9.27e-01 6.85e-02f 1\n", + " 84r 7.2422349e+08 1.87e+04 3.51e+02 0.7 2.02e+04 - 9.90e-01 6.12e-01f 1\n", + " 85r 7.2765164e+08 1.36e+02 5.70e+01 0.7 7.83e+03 - 8.87e-01 1.00e+00f 1\n", + " 86r 7.0515846e+08 3.66e+01 1.62e+00 0.0 1.87e+03 - 1.00e+00 1.00e+00f 1\n", + " 87r 7.0432943e+08 1.82e+03 6.02e+01 -2.1 7.75e+04 - 1.37e-01 8.44e-02f 1\n", + " 88r 7.0430941e+08 1.81e+03 8.01e+02 -2.1 1.48e+06 - 1.11e-01 6.46e-03f 1\n", + " 89r 7.0398802e+08 7.45e+03 1.61e+02 -2.1 1.46e+06 - 1.00e-03 9.64e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90r 7.0398531e+08 7.45e+03 1.69e+02 -2.1 6.06e+05 - 1.88e-02 8.31e-04f 1\n", + " 91r 7.0392990e+08 7.32e+03 7.74e+02 -2.1 8.22e+05 - 4.33e-01 1.68e-02f 1\n", + " 92r 7.0368842e+08 6.94e+03 7.62e+02 -2.1 6.08e+05 - 8.89e-02 5.39e-02f 1\n", + " 93r 7.0352172e+08 6.68e+03 7.49e+02 -2.1 1.09e+05 - 1.11e-01 3.67e-02f 1\n", + " 94r 7.0117147e+08 4.16e+04 4.78e+02 -2.1 3.23e+05 - 1.50e-03 5.00e-01f 1\n", + " 95r 7.0116120e+08 4.15e+04 4.77e+02 -2.1 4.28e+05 - 2.74e-01 3.03e-03f 1\n", + " 96r 7.0103000e+08 4.01e+04 6.74e+02 -2.1 7.45e+04 - 9.60e-01 3.40e-02f 1\n", + " 97r 6.9626445e+08 7.52e+03 1.33e+02 -2.1 7.32e+04 - 1.00e+00 8.11e-01f 1\n", + " 98r 6.9502580e+08 6.66e+02 4.90e+01 -2.1 1.27e+04 - 1.00e+00 9.11e-01f 1\n", + " 99r 6.9490371e+08 5.00e+00 3.12e-01 -2.1 3.96e+03 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100r 6.9348243e+08 5.00e+00 1.67e+01 -3.1 2.45e+03 - 9.55e-01 9.00e-01f 1\n", + " 101r 6.9351443e+08 2.55e+01 3.30e+02 -3.1 4.17e+05 - 5.18e-01 1.47e-01f 1\n", + " 102r 6.9355063e+08 5.33e+01 5.37e+02 -3.1 3.56e+05 - 6.76e-01 1.94e-01f 1\n", + " 103r 6.9359530e+08 8.69e+01 5.96e+02 -3.1 2.87e+05 - 1.00e+00 2.96e-01f 1\n", + " 104r 6.9365343e+08 1.24e+02 2.40e+02 -3.1 2.02e+05 - 1.00e+00 5.49e-01f 1\n", + " 105r 6.9369072e+08 6.17e+01 4.98e+01 -3.1 9.13e+04 - 1.00e+00 7.92e-01f 1\n", + " 106r 6.9370036e+08 5.00e+00 1.79e-01 -3.1 1.90e+04 - 1.00e+00 1.00e+00f 1\n", + " 107r 6.9370037e+08 5.00e+00 1.79e-01 -3.1 1.58e+02 - 1.00e+00 1.00e+00h 1\n", + " 108r 6.9370037e+08 5.00e+00 1.35e-01 -3.1 4.89e+00 - 1.00e+00 1.00e+00h 1\n", + " 109r 6.9370037e+08 5.00e+00 1.35e-01 -3.1 4.73e-03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110r 6.9370037e+08 5.00e+00 1.35e-01 -3.1 1.04e-05 - 1.00e+00 1.00e+00h 1\n", + " 111r 6.9370037e+08 5.00e+00 6.75e-02 -3.1 2.87e-06 - 1.00e+00 5.00e-01h 2\n", + " 112r 6.9370037e+08 5.00e+00 1.35e-01 -3.1 5.63e-06 - 1.00e+00 1.00e+00h 1\n", + " 113r 6.9370037e+08 5.00e+00 1.35e-01 -3.1 7.37e-06 - 1.00e+00 1.00e+00h 1\n", + " 114r 6.9370037e+08 5.00e+00 1.01e-01 -3.1 6.91e-06 - 1.00e+00 2.50e-01h 3\n", + " 115r 6.9370037e+08 5.00e+00 1.35e-01 -3.1 4.84e-06 - 1.00e+00 1.00e+00h 1\n", + " 116r 6.9370037e+08 5.00e+00 1.35e-01 -3.1 7.80e-06 - 1.00e+00 1.00e+00h 1\n", + " 117r 6.9370037e+08 5.00e+00 1.01e-01 -3.1 2.52e-06 - 1.00e+00 2.50e-01h 3\n", + " 118r 6.9370037e+08 5.00e+00 1.35e-01 -3.1 8.37e-06 - 1.00e+00 1.00e+00h 1\n", + " 119r 6.9370037e+08 5.00e+00 6.75e-02 -3.1 8.18e-06 - 1.00e+00 5.00e-01h 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 120r 6.9370037e+08 5.00e+00 3.37e-02 -3.1 4.61e-06 - 1.00e+00 5.00e-01h 2\n", + " 121r 6.9370037e+08 5.00e+00 2.41e-02 -3.1 5.81e-06 - 1.00e+00 5.00e-01h 2\n", + " 122r 6.9320131e+08 5.00e+00 2.25e+01 -4.7 2.21e+03 - 7.19e-01 9.69e-01f 1\n", + " 123r 6.9320763e+08 6.69e+01 1.25e+02 -4.7 3.06e+06 - 1.52e-01 3.23e-02f 1\n", + " 124r 6.9321405e+08 1.38e+02 2.01e+02 -4.7 2.96e+06 - 1.29e-01 3.50e-02f 1\n", + " 125r 6.9321578e+08 1.42e+02 3.12e+02 -4.7 2.85e+06 - 1.61e-01 1.00e-02f 1\n", + " 126r 6.9322247e+08 2.24e+02 5.00e+02 -4.7 2.82e+06 - 3.50e-01 3.99e-02f 1\n", + " 127r 6.9322813e+08 2.80e+02 6.52e+02 -4.7 2.71e+06 - 3.43e-01 3.55e-02f 1\n", + " 128r 6.9323956e+08 5.39e+02 6.20e+02 -4.7 2.62e+06 - 1.29e-01 7.71e-02f 1\n", + " 129r 6.9325955e+08 1.33e+03 5.78e+02 -4.7 2.41e+06 - 3.04e-01 1.47e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 130r 6.9326398e+08 1.33e+03 6.74e+02 -4.7 2.06e+06 - 6.09e-01 3.98e-02f 1\n", + " 131r 6.9327589e+08 1.53e+03 7.37e+02 -4.7 1.98e+06 - 9.96e-01 1.15e-01f 1\n", + " 132r 6.9327596e+08 1.53e+03 7.59e+02 -4.7 9.68e+05 - 1.00e+00 1.28e-03f 1\n", + " 133r 6.9329111e+08 8.51e+02 4.19e+02 -4.7 1.31e+05 - 3.57e-01 4.45e-01f 1\n", + " 134r 6.9329808e+08 5.27e+02 2.68e+02 -4.7 7.27e+04 - 9.39e-01 3.80e-01h 1\n", + " 135r 6.9330795e+08 4.80e+01 2.45e+01 -4.7 4.51e+04 - 9.67e-01 9.09e-01h 1\n", + " 136r 6.9330889e+08 5.00e+00 3.00e-01 -4.7 4.07e+03 - 1.00e+00 1.00e+00h 1\n", + " 137r 6.9330887e+08 5.00e+00 3.00e-01 -4.7 4.58e+02 - 1.00e+00 1.00e+00h 1\n", + " 138r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 5.59e+01 - 1.00e+00 1.00e+00h 1\n", + " 139r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.57e+00 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 140r 6.9330886e+08 5.00e+00 1.50e-01 -4.7 1.24e-03 - 1.00e+00 5.00e-01h 2\n", + " 141r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 6.20e-04 - 1.00e+00 1.00e+00h 1\n", + " 142r 6.9330886e+08 5.00e+00 1.50e-01 -4.7 6.87e-06 - 1.00e+00 5.00e-01h 2\n", + " 143r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 6.77e-06 - 1.00e+00 1.00e+00h 1\n", + " 144r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 5.96e-06 - 1.00e+00 1.00e+00s 22\n", + " 145r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 8.25e-06 - 1.00e+00 0.00e+00S 22\n", + " 146r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 9.94e-06 - 1.00e+00 1.00e+00h 1\n", + " 147r 6.9330886e+08 5.00e+00 2.25e-01 -4.7 1.21e-05 - 1.00e+00 2.50e-01h 3\n", + " 148r 6.9330886e+08 5.00e+00 1.13e-01 -4.7 9.09e-06 - 1.00e+00 5.00e-01h 2\n", + " 149r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 4.78e-06 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 150r 6.9330886e+08 5.00e+00 2.63e-01 -4.7 8.25e-06 - 1.00e+00 1.25e-01h 4\n", + " 151r 6.9330886e+08 5.00e+00 1.69e-01 -4.7 8.71e-06 - 1.00e+00 5.00e-01h 2\n", + " 152r 6.9330886e+08 5.00e+00 8.45e-02 -4.7 8.14e-06 - 1.00e+00 5.00e-01h 2\n", + " 153r 6.9330886e+08 5.00e+00 8.18e-02 -4.7 1.18e-05 - 1.00e+00 3.12e-02h 6\n", + " 154r 6.9330886e+08 5.00e+00 7.93e-02 -4.7 1.11e-05 - 1.00e+00 3.12e-02h 6\n", + " 155r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 5.05e-06 - 1.00e+00 1.00e+00h 1\n", + " 156r 6.9330886e+08 5.00e+00 1.50e-01 -4.7 1.07e-05 - 1.00e+00 5.00e-01h 2\n", + " 157r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 7.69e-06 - 1.00e+00 1.00e+00s 23\n", + " 158r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 5.40e-06 - 1.00e+00 1.00e+00s 23\n", + " 159r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 7.23e-06 - 0.00e+00 0.00e+00R 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 160r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 7.23e-06 - 1.00e+00 1.95e-03f 10\n", + " 161r 6.9330886e+08 5.00e+00 2.99e-01 -4.7 6.79e-06 - 1.00e+00 9.77e-04h 11\n", + " 162r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.00e-05 - 1.00e+00 1.00e+00s 42\n", + " 163r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 7.02e-06 - 1.00e+00 1.00e+00s 42\n", + " 164r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 0.00e+00 0.00e+00R 1\n", + " 165r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 6.10e-05f 15\n", + " 166r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 1.53e-05h 17\n", + " 167r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 7.63e-06h 18\n", + " 168r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 3.81e-06h 19\n", + " 169r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 1.91e-06h 20\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 170r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 2.44e-04h 13\n", + " 171r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 1.22e-04h 14\n", + " 172r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 1.53e-05h 17\n", + " 173r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 1.49e-08h 27\n", + " 174r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 2.98e-08h 26\n", + " 175r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 1.00e+00w 1\n", + " 176r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.55e-05 - 1.00e+00 1.00e+00w 1\n", + " 177r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 6.62e-06 - 1.00e+00 1.00e+00w 1\n", + " 178r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.11e-05 - 1.00e+00 1.00e+00s 26\n", + " 179r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.55e-05 - 0.00e+00 0.00e+00R 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 180r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.55e-05 - 1.00e+00 1.95e-03f 10\n", + " 181r 6.9330886e+08 5.00e+00 2.99e-01 -4.7 1.58e-05 - 1.00e+00 9.77e-04h 11\n", + " 182r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.43e-05 - 1.00e+00 1.00e+00s 40\n", + " 183r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.08e-05 - 1.00e+00 1.00e+00s 40\n", + " 184r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.13e-05 - 0.00e+00 0.00e+00R 1\n", + " 185r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.13e-05 - 1.00e+00 2.44e-04f 13\n", + " 186r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.13e-05 - 1.00e+00 6.10e-05h 15\n", + " 187r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.13e-05 - 1.00e+00 1.00e+00s 42\n", + " 188r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.54e-05 - 0.00e+00 0.00e+00R 1\n", + " 189r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.54e-05 - 1.00e+00 1.95e-03f 10\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 190r 6.9330886e+08 5.00e+00 2.99e-01 -4.7 1.57e-05 - 1.00e+00 9.77e-04h 11\n", + " 191r 6.9330886e+08 5.00e+00 2.99e-01 -4.7 1.42e-05 - 1.00e+00 4.88e-04h 12\n", + " 192r 6.9330886e+08 5.00e+00 2.99e-01 -4.7 1.42e-05 - 1.00e+00 4.88e-04h 12\n", + " 193r 6.9330886e+08 5.00e+00 2.99e-01 -4.7 1.42e-05 - 1.00e+00 3.05e-05h 16\n", + " 194r 6.9330886e+08 5.00e+00 2.99e-01 -4.7 1.42e-05 - 1.00e+00 3.81e-06h 19\n", + " 195r 6.9330886e+08 5.00e+00 2.99e-01 -4.7 1.42e-05 - 1.00e+00 3.81e-06h 19\n", + " 196r 6.9330886e+08 5.00e+00 2.99e-01 -4.7 1.42e-05 - 1.00e+00 3.81e-06h 19\n", + " 197r 6.9330886e+08 5.00e+00 2.99e-01 -4.7 1.42e-05 - 1.00e+00 1.91e-06h 20\n", + " 198r 6.9330886e+08 5.00e+00 2.99e-01 -4.7 1.42e-05 - 1.00e+00 2.38e-07h 23\n", + " 199r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 1.42e-05 - 1.00e+00 1.00e+00w 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 200r 6.9330886e+08 5.00e+00 3.00e-01 -4.7 9.59e-06 - 1.00e+00 1.00e+00w 1\n", + "\n", + "Number of Iterations....: 200\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.9330886026219465e+04 6.9330886026219463e+08\n", + "Dual infeasibility......: 1.0000002024339676e+02 1.0000002024339676e+06\n", + "Constraint violation....: 4.9999999500000003e+00 4.9999999500000003e+00\n", + "Complementarity.........: 1.9140470468592110e-05 1.9140470468592108e-01\n", + "Overall NLP error.......: 1.0000002024339676e+02 1.0000002024339676e+06\n", + "\n", + "\n", + "Number of objective function evaluations = 894\n", + "Number of objective gradient evaluations = 58\n", + "Number of equality constraint evaluations = 899\n", + "Number of inequality constraint evaluations = 899\n", + "Number of equality constraint Jacobian evaluations = 218\n", + "Number of inequality constraint Jacobian evaluations = 218\n", + "Number of Lagrangian Hessian evaluations = 200\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 8.041\n", + "Total CPU secs in NLP function evaluations = 706.932\n", + "\n", + "EXIT: Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:pyomo.core:Loading a SolverResults object with a warning status into model.name=\"unknown\";\n", + " - termination condition: maxIterations\n", + " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 455\n", + "Realized SOC (MPC) 1930606\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15984\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6071\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.9330886e+08 3.49e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.0331690e+08 3.46e+05 7.85e+01 -1.0 1.92e+06 - 7.68e-01 7.62e-03f 1\n", + " 2 6.0324080e+08 3.45e+05 2.65e+04 -1.0 2.19e+06 - 7.69e-01 2.28e-03h 1\n", + " 3 6.0324018e+08 3.45e+05 9.07e+08 -1.0 3.13e+06 - 7.88e-01 2.28e-05h 1\n", + " 4r 6.0324018e+08 3.45e+05 1.00e+03 5.5 0.00e+00 - 0.00e+00 1.14e-07R 2\n", + " 5r 6.0684682e+08 1.90e+06 9.29e+04 5.5 1.54e+07 - 3.27e-03 3.21e-04f 1\n", + " 6r 6.3245857e+08 2.16e+06 9.00e+04 5.5 1.16e+07 - 3.04e-02 5.35e-03f 1\n", + " 7r 6.6956553e+08 2.01e+06 5.75e+04 5.5 2.02e+06 - 4.01e-01 2.62e-02f 1\n", + " 8 6.0958216e+08 2.00e+06 8.34e+01 -1.0 1.43e+07 - 3.27e-01 6.50e-03f 1\n", + " 9 5.8621853e+08 1.91e+06 8.20e+02 -1.0 1.39e+07 - 4.84e-01 2.60e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.8230629e+08 1.53e+06 4.01e+02 -1.0 3.48e+06 - 7.37e-01 3.31e-01f 1\n", + " 11 5.8069068e+08 1.06e+06 4.23e+01 -1.0 2.36e+06 - 3.80e-01 3.67e-01h 1\n", + " 12 5.8067100e+08 1.06e+06 5.62e+02 -1.0 3.21e+06 - 9.22e-01 5.79e-03h 1\n", + " 13 5.8066987e+08 1.06e+06 8.82e+06 -1.0 1.79e+07 - 9.12e-01 5.82e-05h 1\n", + " 14r 5.8066987e+08 1.06e+06 1.00e+03 4.9 0.00e+00 -4.0 0.00e+00 2.91e-07R 2\n", + " 15r 6.4302344e+08 2.93e+06 1.94e+04 4.9 4.24e+06 - 4.15e-02 4.96e-03f 1\n", + " 16 5.9834235e+08 2.91e+06 9.83e+01 -1.0 2.29e+06 - 7.87e-03 6.72e-03f 1\n", + " 17 5.8692274e+08 2.88e+06 9.72e+01 -1.0 2.30e+06 - 2.34e-02 1.09e-02f 1\n", + " 18 5.8018573e+08 2.78e+06 9.37e+01 -1.0 2.32e+06 - 2.60e-01 3.97e-02f 1\n", + " 19 5.8013910e+08 2.72e+06 9.14e+01 -1.0 2.38e+06 - 7.04e-02 2.41e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.8013866e+08 2.72e+06 7.23e+04 -1.0 2.41e+06 - 6.73e-01 2.47e-04h 1\n", + " 21r 5.8013866e+08 2.72e+06 1.00e+03 4.8 0.00e+00 - 0.00e+00 3.09e-07R 4\n", + " 22r 7.4026145e+08 2.85e+06 4.01e+04 4.8 4.98e+06 - 1.54e-01 1.21e-02f 1\n", + " 23 6.0416633e+08 2.83e+06 8.61e+01 -1.0 1.09e+06 - 1.62e-01 8.21e-03f 1\n", + " 24 5.8820581e+08 2.59e+06 8.09e+01 -1.0 1.14e+06 - 2.73e-01 9.93e-02f 1\n", + " 25 5.8756770e+08 2.53e+06 1.18e+02 -1.0 1.58e+06 - 4.57e-01 2.36e-02f 1\n", + " 26 5.8756426e+08 2.53e+06 3.12e+05 -1.0 1.67e+06 - 6.06e-01 2.42e-04h 1\n", + " 27r 5.8756426e+08 2.53e+06 1.00e+03 2.9 0.00e+00 - 0.00e+00 3.03e-07R 4\n", + " 28r 5.8776859e+08 1.52e+06 9.99e+02 2.9 6.25e+05 - 2.41e-03 1.29e-03f 1\n", + " 29 5.8752658e+08 1.52e+06 1.90e+03 -1.0 7.39e+05 - 4.19e-01 2.22e-04f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30r 5.8752658e+08 1.52e+06 1.00e+03 2.4 0.00e+00 - 0.00e+00 2.78e-07R 4\n", + " 31r 5.8763863e+08 6.36e+05 9.99e+02 2.4 5.52e+05 - 9.76e-04 1.21e-03f 1\n", + " 32 5.8763722e+08 6.36e+05 1.76e+05 -1.0 7.94e+05 - 5.33e-01 5.72e-05h 1\n", + " 33r 5.8763722e+08 6.36e+05 1.00e+03 1.7 0.00e+00 - 0.00e+00 2.86e-07R 2\n", + " 34r 5.8768832e+08 2.36e+05 9.99e+02 1.7 1.43e+05 - 2.43e-02 1.00e-03f 1\n", + " 35 5.8767752e+08 2.36e+05 5.72e+04 -1.0 7.47e+05 - 5.68e-01 1.00e-05f 1\n", + " 36r 5.8767752e+08 2.36e+05 1.00e+03 1.1 0.00e+00 - 0.00e+00 5.01e-08R 2\n", + " 37r 5.8780890e+08 6.14e+04 9.99e+02 1.1 3.15e+05 - 9.18e-03 1.12e-03f 1\n", + " 38r 5.8845073e+08 2.95e+05 9.90e+02 1.1 2.73e+05 - 3.37e-02 8.86e-03f 1\n", + " 39r 5.8878069e+08 2.91e+05 9.76e+02 1.1 1.17e+05 - 5.38e-02 1.43e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40r 5.8965212e+08 2.68e+05 9.04e+02 1.1 4.63e+04 - 1.49e-01 7.35e-02f 1\n", + " 41r 5.9051187e+08 2.31e+05 7.80e+02 1.1 2.34e+04 - 1.95e-01 1.37e-01f 1\n", + " 42r 5.9267366e+08 1.57e+05 7.00e+02 1.1 2.29e+04 - 9.41e-02 3.19e-01f 1\n", + " 43r 5.9829997e+08 2.98e+04 1.20e+03 1.1 1.82e+04 - 4.97e-01 8.11e-01f 1\n", + " 44r 6.0878764e+08 2.49e+03 2.82e+01 1.1 8.93e+03 - 9.86e-01 1.00e+00f 1\n", + " 45r 6.2668680e+08 2.12e+02 5.01e+01 1.1 6.86e+03 - 9.90e-01 1.00e+00f 1\n", + " 46 6.2645597e+08 2.12e+02 4.46e+04 -1.0 2.37e+06 - 2.16e-01 2.74e-03f 1\n", + " 47 6.2645498e+08 2.12e+02 1.16e+09 -1.0 2.37e+06 - 7.10e-01 1.37e-05f 2\n", + " 48 6.2645424e+08 2.12e+02 1.72e+13 -1.0 2.16e+06 - 2.09e-01 1.39e-05h 1\n", + " 49r 6.2645424e+08 2.12e+02 1.00e+03 1.1 0.00e+00 - 0.00e+00 6.93e-08R 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50r 6.2694855e+08 2.27e+03 4.06e+03 1.1 3.52e+04 - 9.76e-01 1.96e-01f 1\n", + " 51r 6.4259202e+08 4.48e+03 2.76e+03 1.1 3.30e+04 - 9.89e-01 3.78e-01f 1\n", + " 52r 6.5604024e+08 5.79e+03 1.11e+03 1.1 2.06e+04 - 9.91e-01 5.99e-01f 1\n", + " 53 6.4028900e+08 5.79e+03 9.33e+01 -1.0 2.66e+06 - 8.44e-02 1.95e-03f 1\n", + " 54 6.4027570e+08 5.79e+03 1.62e+06 -1.0 2.66e+06 - 7.17e-01 1.96e-05f 1\n", + " 55r 6.4027570e+08 5.79e+03 1.00e+03 1.0 0.00e+00 - 0.00e+00 9.79e-08R 2\n", + " 56r 6.4029663e+08 2.81e+03 4.49e+03 1.0 2.86e+04 - 9.83e-01 7.72e-03f 1\n", + " 57r 6.8591362e+08 4.96e+04 3.82e+01 1.0 4.23e+04 - 9.85e-01 1.00e+00f 1\n", + " 58r 6.8051191e+08 4.88e+02 2.48e+00 1.0 1.05e+03 - 9.90e-01 1.00e+00f 1\n", + " 59 6.5830829e+08 4.90e+02 9.58e+01 -1.0 2.98e+06 - 4.47e-02 2.11e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.5827636e+08 4.90e+02 8.12e+05 -1.0 2.98e+06 - 7.75e-01 2.11e-05f 1\n", + " 61r 6.5827636e+08 4.90e+02 1.00e+03 0.9 0.00e+00 - 0.00e+00 1.06e-07R 2\n", + " 62r 6.5842406e+08 4.46e+02 3.45e+03 0.9 3.31e+04 - 9.82e-01 7.32e-02f 1\n", + " 63r 6.9599122e+08 7.94e+04 4.75e+01 0.9 4.57e+04 - 9.84e-01 1.00e+00f 1\n", + " 64r 6.9699902e+08 2.27e+04 7.03e+01 0.9 4.18e+03 - 9.90e-01 7.75e-01f 1\n", + " 65r 6.9728065e+08 9.88e+02 2.43e+00 0.9 7.55e+02 - 1.00e+00 1.00e+00f 1\n", + " 66 6.7721623e+08 9.87e+02 9.79e+01 -1.0 3.22e+06 - 1.39e-02 1.64e-03f 1\n", + " 67 6.7714610e+08 9.87e+02 3.18e+04 -1.0 3.21e+06 - 5.54e-02 1.65e-05f 1\n", + " 68r 6.7714610e+08 9.87e+02 1.00e+03 0.7 0.00e+00 - 0.00e+00 8.23e-08R 2\n", + " 69r 6.7716039e+08 9.30e+02 1.85e+03 0.7 2.11e+04 - 5.49e-01 1.33e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70r 6.8369465e+08 2.03e+04 2.15e+03 0.7 2.80e+04 - 9.51e-01 3.58e-01f 1\n", + " 71r 7.0640345e+08 6.98e+04 6.17e+02 0.7 4.67e+04 - 9.57e-01 7.46e-01f 1\n", + " 72r 7.0683921e+08 6.44e+04 7.73e+02 0.7 3.22e+04 - 9.89e-01 7.84e-02f 1\n", + " 73r 7.0961622e+08 2.99e+04 3.97e+02 0.7 2.71e+04 - 7.64e-01 5.36e-01f 1\n", + " 74r 7.1201745e+08 1.69e+03 3.15e+00 0.7 6.10e+03 - 9.92e-01 1.00e+00f 1\n", + " 75r 6.8864371e+08 2.97e+02 6.93e+01 -0.7 2.84e+03 - 9.06e-01 8.77e-01f 1\n", + " 76r 6.8852216e+08 7.44e+03 6.90e+01 -0.7 2.35e+05 - 3.22e-02 5.88e-02f 1\n", + " 77r 6.8852096e+08 7.43e+03 1.60e+02 -0.7 2.21e+05 - 9.34e-02 6.01e-04f 1\n", + " 78r 6.8809742e+08 5.90e+03 2.31e+02 -0.7 2.23e+05 - 1.45e-01 2.07e-01f 1\n", + " 79r 6.8762509e+08 1.75e+04 1.08e+03 -0.7 1.76e+05 - 2.70e-03 2.63e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80r 6.8762241e+08 1.75e+04 7.81e+02 -0.7 1.23e+05 - 3.14e-01 1.88e-03f 1\n", + " 81r 6.8754759e+08 1.66e+04 7.43e+02 -0.7 9.33e+04 - 3.13e-03 4.89e-02f 1\n", + " 82r 6.8753449e+08 1.65e+04 1.09e+03 -0.7 1.22e+05 - 1.00e+00 8.91e-03f 1\n", + " 83r 6.8580487e+08 2.31e+04 1.39e+02 -0.7 1.25e+05 - 9.24e-02 9.94e-01f 1\n", + " 84r 6.8579120e+08 1.60e+02 1.87e+00 -0.7 7.99e+03 - 1.00e+00 1.00e+00f 1\n", + " 85r 6.7918595e+08 2.26e+01 3.52e+01 -2.1 1.46e+03 - 9.84e-01 8.59e-01f 1\n", + " 86r 6.7917446e+08 2.45e+03 2.20e+02 -2.1 5.70e+05 - 8.87e-02 6.36e-02f 1\n", + " 87r 6.7917434e+08 2.45e+03 1.27e+03 -2.1 4.59e+05 - 1.78e-01 6.99e-04f 1\n", + " 88r 6.7916596e+08 2.32e+03 5.54e+02 -2.1 1.25e+05 - 5.48e-01 4.92e-02f 1\n", + " 89r 6.7913682e+08 1.92e+03 8.63e+02 -2.1 1.20e+05 - 1.00e+00 1.76e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90r 6.7906395e+08 9.08e+02 4.17e+02 -2.1 9.87e+04 - 9.01e-01 5.26e-01f 1\n", + " 91r 6.7900207e+08 5.35e+01 2.47e+01 -2.1 4.68e+04 - 1.00e+00 9.41e-01f 1\n", + " 92r 6.7899828e+08 5.00e+00 1.43e-01 -2.1 2.71e+03 - 1.00e+00 1.00e+00f 1\n", + " 93r 6.7749274e+08 5.00e+00 9.49e+00 -3.1 1.99e+03 - 9.58e-01 9.18e-01f 1\n", + " 94r 6.7753268e+08 2.35e+01 7.91e+02 -3.1 3.82e+05 - 9.14e-01 1.55e-01f 1\n", + " 95r 6.7762213e+08 1.33e+02 5.60e+02 -3.1 3.23e+05 - 1.00e+00 4.10e-01f 1\n", + " 96r 6.7764341e+08 1.17e+02 4.96e+02 -3.1 1.91e+05 - 1.00e+00 1.67e-01f 1\n", + " 97r 6.7772271e+08 1.25e+02 1.27e+02 -3.1 1.59e+05 - 1.00e+00 7.46e-01f 1\n", + " 98r 6.7774951e+08 1.11e+01 1.80e-01 -3.1 4.04e+04 - 1.00e+00 1.00e+00f 1\n", + " 99r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 7.18e+01 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 6.82e-01 - 1.00e+00 1.00e+00h 1\n", + " 101r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 6.24e-05 - 1.00e+00 1.00e+00h 1\n", + " 102r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.34e-06 - 1.00e+00 1.00e+00h 1\n", + " 103r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.77e-06 - 1.00e+00 1.00e+00h 1\n", + " 104r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.77e-06 - 1.00e+00 1.00e+00h 1\n", + " 105r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 5.52e-06 - 1.00e+00 1.00e+00h 1\n", + " 106r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.18e-05 - 1.00e+00 1.00e+00h 1\n", + " 107r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.02e-05 - 1.00e+00 1.00e+00h 1\n", + " 108r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 6.91e-06 - 1.00e+00 1.00e+00h 1\n", + " 109r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.14e-05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110r 6.7774951e+08 5.00e+00 1.79e-01 -3.1 8.36e-06 - 1.00e+00 7.81e-03h 8\n", + " 111r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.09e-06 - 1.00e+00 1.00e+00h 1\n", + " 112r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.05e-06 - 1.00e+00 1.00e+00h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 113r 6.7774951e+08 5.00e+00 1.77e-01 -3.1 8.86e-06 - 1.00e+00 1.56e-02h 7\n", + " 114r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.11e-06 - 1.00e+00 1.00e+00h 1\n", + " 115r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 6.97e-06 - 1.00e+00 1.00e+00h 1\n", + " 116r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.17e-05 - 1.00e+00 1.00e+00h 1\n", + " 117r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.50e-06 - 1.00e+00 6.10e-05h 15\n", + " 118r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.50e-06 - 1.00e+00 1.00e+00h 1\n", + " 119r 6.7774951e+08 5.00e+00 1.58e-01 -3.1 7.17e-06 - 1.00e+00 1.25e-01h 4\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 120r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 6.95e-06 - 1.00e+00 1.00e+00s 22\n", + " 121r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.24e-05 - 0.00e+00 0.00e+00R 1\n", + " 122r 6.7774951e+08 5.00e+00 1.79e-01 -3.1 1.24e-05 - 1.00e+00 7.81e-03h 8\n", + " 123r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.24e-05 - 1.00e+00 1.00e+00s 35\n", + " 124r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.83e-06 - 0.00e+00 0.00e+00R 1\n", + " 125r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.83e-06 - 1.00e+00 1.00e+00s 59\n", + " 126r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.12e-05 - 0.00e+00 0.00e+00R 1\n", + " 127r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.12e-05 - 1.00e+00 1.00e+00s 59\n", + " 128r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.21e-05 - 0.00e+00 0.00e+00R 1\n", + " 129r 6.7774951e+08 5.00e+00 1.75e-01 -3.1 1.21e-05 - 1.00e+00 3.12e-02h 6\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 130r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.18e-05 - 1.00e+00 1.00e+00s 34\n", + " 131r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.26e-06 - 0.00e+00 0.00e+00R 1\n", + " 132r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.26e-06 - 1.00e+00 1.00e+00s 59\n", + " 133r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.10e-05 - 0.00e+00 0.00e+00R 1\n", + " 134r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.10e-05 - 1.00e+00 1.00e+00s 59\n", + " 135r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.11e-06 - 0.00e+00 0.00e+00R 1\n", + " 136r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.11e-06 - 1.00e+00 1.00e+00s 59\n", + " 137r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.00e-05 - 0.00e+00 0.00e+00R 1\n", + " 138r 6.7774951e+08 5.00e+00 1.79e-01 -3.1 1.00e-05 - 1.00e+00 7.81e-03h 8\n", + " 139r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.82e-06 - 1.00e+00 1.00e+00s 35\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 140r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.15e-05 - 0.00e+00 0.00e+00R 1\n", + " 141r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.15e-05 - 1.00e+00 1.00e+00s 59\n", + " 142r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.74e-06 - 0.00e+00 0.00e+00R 1\n", + " 143r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.74e-06 - 1.00e+00 1.00e+00s 59\n", + " 144r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.91e-06 - 0.00e+00 0.00e+00R 1\n", + " 145r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.91e-06 - 1.00e+00 1.00e+00s 59\n", + " 146r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.17e-05 - 0.00e+00 0.00e+00R 1\n", + " 147r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.17e-05 - 1.00e+00 1.00e+00s 59\n", + " 148r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.79e-06 - 0.00e+00 0.00e+00R 1\n", + " 149r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.79e-06 - 1.00e+00 1.00e+00s 59\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 150r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.33e-06 - 0.00e+00 0.00e+00R 1\n", + " 151r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.33e-06 - 1.00e+00 1.00e+00s 59\n", + " 152r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.05e-06 - 0.00e+00 0.00e+00R 1\n", + " 153r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.05e-06 - 1.00e+00 1.00e+00s 59\n", + " 154r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.98e-06 - 0.00e+00 0.00e+00R 1\n", + " 155r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.98e-06 - 1.00e+00 1.00e+00s 59\n", + " 156r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.18e-05 - 0.00e+00 0.00e+00R 1\n", + " 157r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.18e-05 - 1.00e+00 1.00e+00s 59\n", + " 158r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.87e-06 - 0.00e+00 0.00e+00R 1\n", + " 159r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.87e-06 - 1.00e+00 1.00e+00s 59\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 160r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.04e-06 - 0.00e+00 0.00e+00R 1\n", + " 161r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.04e-06 - 1.00e+00 1.00e+00s 59\n", + " 162r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.18e-05 - 0.00e+00 0.00e+00R 1\n", + " 163r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.18e-05 - 1.00e+00 1.00e+00s 59\n", + " 164r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.66e-06 - 0.00e+00 0.00e+00R 1\n", + " 165r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.66e-06 - 1.00e+00 1.00e+00s 59\n", + " 166r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.74e-06 - 0.00e+00 0.00e+00R 1\n", + " 167r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.74e-06 - 1.00e+00 1.00e+00s 59\n", + " 168r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.04e-06 - 0.00e+00 0.00e+00R 1\n", + " 169r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.04e-06 - 1.00e+00 1.00e+00s 59\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 170r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.89e-06 - 0.00e+00 0.00e+00R 1\n", + " 171r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.89e-06 - 1.00e+00 1.00e+00s 59\n", + " 172r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.15e-05 - 0.00e+00 0.00e+00R 1\n", + " 173r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.15e-05 - 1.00e+00 1.00e+00s 59\n", + " 174r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.00e-05 - 0.00e+00 0.00e+00R 1\n", + " 175r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.00e-05 - 1.00e+00 1.00e+00s 59\n", + " 176r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.82e-06 - 0.00e+00 0.00e+00R 1\n", + " 177r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.82e-06 - 1.00e+00 1.00e+00s 59\n", + " 178r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.15e-05 - 0.00e+00 0.00e+00R 1\n", + " 179r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.15e-05 - 1.00e+00 1.00e+00s 59\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 180r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.83e-06 - 0.00e+00 0.00e+00R 1\n", + " 181r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.83e-06 - 1.00e+00 1.00e+00s 59\n", + " 182r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.38e-06 - 0.00e+00 0.00e+00R 1\n", + " 183r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.38e-06 - 1.00e+00 1.00e+00s 59\n", + " 184r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.01e-06 - 0.00e+00 0.00e+00R 1\n", + " 185r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.01e-06 - 1.00e+00 1.00e+00s 59\n", + " 186r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.82e-06 - 0.00e+00 0.00e+00R 1\n", + " 187r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.82e-06 - 1.00e+00 1.00e+00s 59\n", + " 188r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.17e-05 - 0.00e+00 0.00e+00R 1\n", + " 189r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.17e-05 - 1.00e+00 1.00e+00s 59\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 190r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.85e-06 - 0.00e+00 0.00e+00R 1\n", + " 191r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.85e-06 - 1.00e+00 1.00e+00s 59\n", + " 192r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.84e-06 - 0.00e+00 0.00e+00R 1\n", + " 193r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.84e-06 - 1.00e+00 1.00e+00s 59\n", + " 194r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.22e-05 - 0.00e+00 0.00e+00R 1\n", + " 195r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 1.22e-05 - 1.00e+00 1.00e+00s 59\n", + " 196r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.83e-06 - 0.00e+00 0.00e+00R 1\n", + " 197r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.83e-06 - 1.00e+00 1.00e+00s 59\n", + " 198r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.39e-06 - 0.00e+00 0.00e+00R 1\n", + " 199r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 9.39e-06 - 1.00e+00 1.00e+00s 59\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 200r 6.7774951e+08 5.00e+00 1.80e-01 -3.1 8.64e-06 - 0.00e+00 0.00e+00R 1\n", + "\n", + "Number of Iterations....: 200\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.7774950809347822e+04 6.7774950809347820e+08\n", + "Dual infeasibility......: 9.9999864169261372e+01 9.9999864169261372e+05\n", + "Constraint violation....: 4.9999999500000003e+00 4.9999999500000003e+00\n", + "Complementarity.........: 8.2677668130828733e-04 8.2677668130828721e+00\n", + "Overall NLP error.......: 9.9999864169261372e+01 9.9999864169261372e+05\n", + "\n", + "\n", + "Number of objective function evaluations = 2515\n", + "Number of objective gradient evaluations = 53\n", + "Number of equality constraint evaluations = 2554\n", + "Number of inequality constraint evaluations = 2554\n", + "Number of equality constraint Jacobian evaluations = 251\n", + "Number of inequality constraint Jacobian evaluations = 251\n", + "Number of Lagrangian Hessian evaluations = 200\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 9.118\n", + "Total CPU secs in NLP function evaluations = 606.082\n", + "\n", + "EXIT: Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:pyomo.core:Loading a SolverResults object with a warning status into model.name=\"unknown\";\n", + " - termination condition: maxIterations\n", + " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 455\n", + "Realized SOC (MPC) 2274499\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15980\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6070\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.7774951e+08 3.44e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.9973391e+08 3.41e+05 8.29e+01 -1.0 1.57e+06 - 8.10e-01 7.61e-03f 1\n", + " 2 5.9966862e+08 3.40e+05 2.94e+04 -1.0 1.81e+06 - 8.12e-01 2.28e-03h 1\n", + " 3 5.9966804e+08 3.40e+05 1.05e+09 -1.0 3.07e+06 - 8.26e-01 2.29e-05h 1\n", + " 4r 5.9966804e+08 3.40e+05 1.00e+03 5.5 0.00e+00 - 0.00e+00 1.15e-07R 2\n", + " 5r 6.0337860e+08 1.90e+06 9.26e+04 5.5 1.21e+07 - 3.31e-03 3.31e-04f 1\n", + " 6r 6.1083292e+08 1.73e+06 8.87e+04 4.8 8.79e+06 - 1.58e-01 8.53e-03f 1\n", + " 7r 6.1969829e+08 6.26e+06 8.63e+04 4.8 5.01e+06 - 2.41e-02 2.80e-02f 1\n", + " 8 5.9427476e+08 6.22e+06 9.84e+01 -1.0 2.00e+06 - 7.67e-03 5.96e-03f 1\n", + " 9 5.8373303e+08 6.15e+06 9.72e+01 -1.0 1.94e+06 - 2.19e-02 1.18e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.7851399e+08 5.91e+06 9.36e+01 -1.0 1.83e+06 - 2.31e-01 3.88e-02f 1\n", + " 11 5.7839014e+08 5.58e+06 8.80e+01 -1.0 1.48e+06 - 7.03e-02 5.91e-02h 1\n", + " 12 5.7838855e+08 5.57e+06 6.63e+03 -1.0 1.02e+06 - 5.72e-01 8.12e-04h 1\n", + " 13 5.7838487e+08 5.56e+06 2.61e+05 -1.0 6.02e+06 - 9.01e-02 2.27e-03h 1\n", + " 14 5.7792109e+08 4.45e+06 1.91e+05 -1.0 6.01e+06 - 9.21e-02 2.84e-01h 1\n", + " 15 5.7791546e+08 4.43e+06 1.02e+05 -1.0 2.13e+06 - 5.17e-01 3.96e-03h 1\n", + " 16 5.7791539e+08 4.43e+06 1.15e+07 -1.0 2.10e+06 - 5.67e-01 3.97e-05h 1\n", + " 17r 5.7791539e+08 4.43e+06 1.00e+03 5.1 0.00e+00 - 0.00e+00 1.99e-07R 2\n", + " 18r 9.5879952e+08 4.44e+06 6.95e+04 5.1 4.18e+06 - 1.43e-01 1.71e-02f 1\n", + " 19 5.8489530e+08 4.39e+06 9.81e+01 -1.0 6.82e+06 - 8.70e-03 9.72e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.7803976e+08 4.34e+06 9.63e+01 -1.0 6.58e+06 - 2.80e-02 1.20e-02f 1\n", + " 21 5.7426530e+08 4.15e+06 9.19e+01 -1.0 6.28e+06 - 4.50e-02 4.58e-02f 1\n", + " 22 5.7406046e+08 3.90e+06 8.20e+01 -1.0 5.19e+06 - 1.30e-01 6.40e-02h 1\n", + " 23 5.7405804e+08 3.89e+06 9.37e+01 -1.0 3.40e+06 - 6.84e-03 2.75e-03h 1\n", + " 24 5.7445373e+08 3.33e+06 1.93e+02 -1.0 3.74e+06 - 4.39e-04 1.71e-01h 1\n", + " 25 5.7445809e+08 3.32e+06 3.30e+02 -1.0 1.04e+06 - 3.69e-01 2.06e-03h 1\n", + " 26 5.7445814e+08 3.32e+06 4.85e+06 -1.0 1.01e+06 - 3.03e-01 2.07e-05h 1\n", + " 27r 5.7445814e+08 3.32e+06 1.00e+03 4.5 0.00e+00 - 0.00e+00 1.03e-07R 2\n", + " 28r 6.1517748e+08 3.01e+06 3.95e+03 4.5 6.64e+06 - 5.26e-02 4.53e-03f 1\n", + " 29 5.8567041e+08 2.99e+06 8.23e+01 -1.0 1.52e+06 - 2.63e-01 7.25e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.8494222e+08 2.94e+06 1.62e+02 -1.0 1.42e+06 - 3.03e-01 1.95e-02f 1\n", + " 31 5.8493855e+08 2.94e+06 3.84e+05 -1.0 1.20e+06 - 4.48e-01 1.99e-04h 1\n", + " 32r 5.8493855e+08 2.94e+06 1.00e+03 3.0 0.00e+00 - 0.00e+00 4.98e-07R 3\n", + " 33r 5.8515952e+08 1.50e+06 9.99e+02 3.0 9.28e+05 - 3.54e-03 1.02e-03f 1\n", + " 34 5.8496211e+08 1.50e+06 1.76e+03 -1.0 3.30e+06 - 3.48e-01 1.99e-04f 1\n", + " 35r 5.8496211e+08 1.50e+06 1.00e+03 2.4 0.00e+00 - 0.00e+00 4.99e-07R 3\n", + " 36r 5.8507417e+08 7.69e+05 9.99e+02 2.4 2.12e+05 - 4.19e-03 1.04e-03f 1\n", + " 37 5.8507282e+08 7.69e+05 1.78e+05 -1.0 3.51e+06 - 4.94e-01 4.86e-05h 1\n", + " 38r 5.8507282e+08 7.69e+05 1.00e+03 1.8 0.00e+00 - 0.00e+00 2.43e-07R 2\n", + " 39r 5.8511401e+08 2.66e+05 9.99e+02 1.8 1.63e+05 - 1.24e-02 1.00e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.8510241e+08 2.66e+05 4.25e+04 -1.0 3.70e+06 - 4.97e-01 1.18e-05f 1\n", + " 41r 5.8510241e+08 2.66e+05 1.00e+03 1.4 0.00e+00 - 0.00e+00 5.90e-08R 2\n", + " 42r 5.8519331e+08 7.66e+04 9.98e+02 1.4 2.89e+05 - 7.80e-03 1.52e-03f 1\n", + " 43r 5.8538641e+08 1.93e+05 9.94e+02 1.4 1.98e+05 - 3.29e-02 3.99e-03f 1\n", + " 44r 5.8608666e+08 2.80e+05 9.69e+02 1.4 1.19e+05 - 1.50e-02 2.55e-02f 1\n", + " 45r 5.8661198e+08 2.72e+05 1.18e+03 1.4 4.98e+04 - 2.43e-01 3.06e-02f 1\n", + " 46r 5.8906575e+08 2.18e+05 5.78e+03 1.4 1.93e+04 - 9.66e-01 1.97e-01f 1\n", + " 47r 6.4800178e+08 2.03e+04 7.60e+02 1.4 2.39e+04 - 3.16e-01 9.10e-01f 1\n", + " 48r 6.2414653e+08 2.47e+02 1.08e+02 1.4 1.18e+04 - 9.90e-01 1.00e+00f 1\n", + " 49r 6.2414654e+08 2.36e+01 2.83e+03 1.4 2.83e-03 6.0 9.90e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50r 6.2489894e+08 2.36e+01 1.44e+02 1.4 8.21e+02 - 1.00e+00 1.00e+00f 1\n", + " 51r 6.1914227e+08 2.36e+01 8.25e+02 -0.0 5.94e+03 - 3.63e-01 2.74e-01f 1\n", + " 52r 6.1908418e+08 3.78e+01 3.97e+03 -0.0 1.15e+05 - 5.18e-01 1.11e-02f 1\n", + " 53r 6.1489266e+08 6.72e+04 3.28e+03 -0.0 1.14e+05 - 1.00e+00 5.34e-01f 1\n", + " 54 6.1476276e+08 6.71e+04 1.86e+04 -1.0 8.33e+05 - 7.54e-02 1.70e-03f 1\n", + " 55 6.1476155e+08 6.71e+04 9.91e+08 -1.0 8.19e+05 - 8.95e-01 1.70e-05h 1\n", + " 56r 6.1476155e+08 6.71e+04 1.00e+03 1.3 0.00e+00 - 0.00e+00 8.52e-08R 2\n", + " 57r 6.1476658e+08 4.56e+04 4.27e+03 1.3 2.93e+04 - 4.80e-01 1.27e-03f 1\n", + " 58r 6.1826849e+08 4.28e+03 4.32e+03 1.3 3.02e+04 - 9.52e-01 4.81e-01f 1\n", + " 59r 6.6698665e+08 5.19e+03 4.67e+00 1.3 1.66e+04 - 9.90e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60r 6.5836456e+08 1.85e+01 2.00e+00 1.3 4.02e+02 - 9.92e-01 1.00e+00f 1\n", + " 61r 6.3545233e+08 1.98e+02 5.77e+02 -0.1 4.60e+03 - 9.07e-01 8.35e-01f 1\n", + " 62r 6.3387999e+08 6.89e+04 9.68e+02 -0.1 1.24e+05 - 1.00e+00 4.55e-01f 1\n", + " 63 6.3092852e+08 6.89e+04 9.89e+01 -1.0 8.02e+05 - 1.17e-03 5.01e-04f 1\n", + " 64 6.3090343e+08 6.89e+04 4.94e+05 -1.0 8.05e+05 - 7.44e-01 5.02e-06f 1\n", + " 65r 6.3090343e+08 6.89e+04 1.00e+03 1.2 0.00e+00 - 0.00e+00 2.51e-08R 2\n", + " 66r 6.3090744e+08 4.54e+04 4.09e+03 1.2 2.51e+04 - 5.70e-01 9.87e-04f 1\n", + " 67r 6.3592615e+08 7.40e+03 2.95e+03 1.2 2.98e+04 - 9.75e-01 5.69e-01f 1\n", + " 68 6.2479664e+08 7.39e+03 9.48e+01 -1.0 1.07e+06 - 6.63e-02 1.83e-03f 1\n", + " 69 6.2478478e+08 7.39e+03 4.94e+05 -1.0 1.07e+06 - 2.43e-01 1.83e-05f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70r 6.2478478e+08 7.39e+03 1.00e+03 1.2 0.00e+00 - 0.00e+00 9.15e-08R 2\n", + " 71r 6.2484595e+08 5.45e+03 5.92e+03 1.2 1.73e+04 - 9.64e-01 7.39e-03f 1\n", + " 72r 6.7728206e+08 3.30e+04 3.50e+01 1.2 3.55e+04 - 9.82e-01 9.95e-01f 1\n", + " 73r 6.6677121e+08 1.61e+02 2.38e+00 1.2 1.52e+03 - 9.90e-01 1.00e+00f 1\n", + " 74 6.4081653e+08 1.72e+02 9.80e+01 -1.0 1.55e+06 - 1.30e-02 2.82e-03f 1\n", + " 75 6.4073559e+08 1.72e+02 1.94e+04 -1.0 1.56e+06 - 9.77e-02 2.83e-05f 1\n", + " 76r 6.4073559e+08 1.72e+02 1.00e+03 1.1 0.00e+00 - 0.00e+00 1.41e-07R 2\n", + " 77r 6.4076353e+08 1.71e+02 4.65e+03 1.1 2.12e+04 - 9.00e-01 1.79e-03f 1\n", + " 78r 6.8542646e+08 4.34e+04 3.19e+01 1.1 3.47e+04 - 9.82e-01 1.00e+00f 1\n", + " 79r 6.8296228e+08 5.62e+02 2.03e+00 1.1 5.33e+03 - 9.90e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 6.8079738e+08 5.66e+02 4.39e+02 -1.0 1.96e+06 - 5.43e-03 2.39e-03f 1\n", + " 81 6.8077695e+08 5.66e+02 2.24e+07 -1.0 1.96e+06 - 8.58e-01 2.39e-05f 1\n", + " 82r 6.8077695e+08 5.66e+02 1.00e+03 1.0 0.00e+00 - 0.00e+00 1.20e-07R 2\n", + " 83r 6.8079712e+08 4.98e+02 4.04e+03 1.0 3.59e+04 - 9.82e-01 9.56e-03f 1\n", + " 84r 7.2121217e+08 7.19e+04 4.25e+01 1.0 4.42e+04 - 9.87e-01 1.00e+00f 1\n", + " 85r 7.2475768e+08 1.56e+03 3.65e+01 1.0 1.91e+03 - 8.66e-01 1.00e+00f 1\n", + " 86 6.9601543e+08 1.56e+03 9.87e+01 -1.0 2.27e+06 - 2.98e-03 1.91e-03f 1\n", + " 87 6.9583589e+08 1.56e+03 4.75e+03 -1.0 2.27e+06 - 3.55e-02 1.92e-05f 1\n", + " 88r 6.9583589e+08 1.56e+03 1.00e+03 0.8 0.00e+00 - 0.00e+00 9.58e-08R 2\n", + " 89r 6.9584596e+08 1.52e+03 9.99e+02 0.8 9.39e+04 - 2.55e-01 5.48e-04f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90r 7.0172872e+08 5.67e+03 2.46e+03 0.8 1.99e+04 - 9.83e-01 2.71e-01f 1\n", + " 91r 7.1642651e+08 1.97e+04 1.38e+03 0.8 4.63e+04 - 9.72e-01 3.98e-01f 1\n", + " 92r 7.2460664e+08 1.13e+04 9.82e+02 0.8 3.51e+04 - 3.19e-01 4.41e-01f 1\n", + " 93 7.2141577e+08 1.13e+04 1.29e+02 -1.0 2.43e+06 - 2.79e-03 1.02e-03f 1\n", + " 94 7.2138616e+08 1.13e+04 1.58e+07 -1.0 2.42e+06 - 9.30e-01 1.02e-05f 1\n", + " 95r 7.2138616e+08 1.13e+04 1.00e+03 0.7 0.00e+00 - 0.00e+00 5.12e-08R 2\n", + " 96r 7.2138812e+08 5.16e+03 9.98e+02 0.7 5.23e+04 - 4.21e-03 1.87e-03f 1\n", + " 97r 7.2139583e+08 2.94e+03 2.10e+03 0.7 5.22e+04 - 9.81e-01 7.36e-03f 1\n", + " 98r 7.2529324e+08 3.00e+03 1.76e+03 0.7 6.12e+04 - 9.42e-02 1.58e-01f 1\n", + " 99r 7.3280294e+08 1.59e+04 1.19e+03 0.7 5.14e+04 - 4.57e-01 3.27e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100r 7.5348995e+08 5.05e+04 4.00e+01 0.7 3.46e+04 - 9.89e-01 1.00e+00f 1\n", + " 101r 7.5736543e+08 1.89e+02 1.04e+00 0.7 6.97e+02 - 9.91e-01 1.00e+00h 1\n", + " 102r 7.3330472e+08 1.34e+01 1.47e+00 0.0 2.19e+03 - 1.00e+00 1.00e+00f 1\n", + " 103r 7.2978626e+08 2.37e+04 7.33e+00 -2.1 7.57e+04 - 3.33e-01 3.49e-01f 1\n", + " 104r 7.2977863e+08 2.39e+04 7.09e+02 -2.1 1.13e+06 - 5.38e-02 2.53e-03f 1\n", + " 105r 7.2974273e+08 2.37e+04 9.08e+02 -2.1 6.97e+05 - 5.01e-01 1.21e-02f 1\n", + " 106r 7.2872728e+08 6.67e+04 8.48e+02 -2.1 6.99e+05 - 4.36e-01 2.51e-01f 1\n", + " 107r 7.2868929e+08 6.61e+04 8.50e+02 -2.1 1.66e+05 - 8.76e-02 9.31e-03f 1\n", + " 108r 7.2837006e+08 6.10e+04 7.45e+02 -2.1 1.17e+05 - 1.00e+00 7.70e-02f 1\n", + " 109r 7.2422726e+08 1.20e+04 1.47e+02 -2.1 1.13e+05 - 4.26e-01 8.03e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110r 7.2331764e+08 1.67e+03 1.04e+02 -2.1 2.13e+04 - 7.35e-01 8.61e-01f 1\n", + " 111r 7.2316579e+08 5.00e+00 4.72e-01 -2.1 4.09e+03 - 1.00e+00 1.00e+00f 1\n", + " 112r 7.2316593e+08 5.00e+00 1.38e-01 -2.1 1.57e+03 - 1.00e+00 1.00e+00f 1\n", + " 113r 7.2174598e+08 5.00e+00 2.66e+00 -3.1 1.91e+03 - 9.05e-01 8.93e-01f 1\n", + " 114r 7.2176370e+08 7.86e+00 4.68e+02 -3.1 4.12e+05 - 5.58e-01 8.33e-02f 1\n", + " 115r 7.2182240e+08 9.32e+01 8.16e+02 -3.1 3.77e+05 - 1.00e+00 3.03e-01f 1\n", + " 116r 7.2185604e+08 9.89e+01 6.05e+02 -3.1 2.63e+05 - 1.00e+00 2.50e-01f 1\n", + " 117r 7.2189926e+08 1.05e+02 3.34e+02 -3.1 1.97e+05 - 1.00e+00 4.30e-01f 1\n", + " 118r 7.2192772e+08 7.35e+01 1.79e+02 -3.1 1.13e+05 - 1.00e+00 4.98e-01f 1\n", + " 119r 7.2195605e+08 2.14e+01 8.66e-02 -3.1 5.65e+04 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 120r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 5.84e+02 - 1.00e+00 1.00e+00h 1\n", + " 121r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 3.64e+01 - 1.00e+00 1.00e+00h 1\n", + " 122r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 1.83e-01 - 1.00e+00 1.00e+00h 1\n", + " 123r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 8.58e-06 - 1.00e+00 1.00e+00h 1\n", + " 124r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 4.96e-06 - 1.00e+00 1.00e+00h 1\n", + " 125r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 2.85e-06 - 1.00e+00 1.00e+00h 1\n", + " 126r 7.2195605e+08 5.00e+00 4.33e-02 -3.1 5.40e-06 - 1.00e+00 5.00e-01h 2\n", + " 127r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 5.89e-06 - 1.00e+00 1.00e+00h 1\n", + " 128r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 4.99e-06 - 1.00e+00 1.00e+00h 1\n", + " 129r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 5.47e-06 - 0.00e+00 4.77e-07R 22\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 130r 7.2195605e+08 5.00e+00 8.53e-02 -3.1 5.47e-06 - 1.00e+00 1.56e-02f 7\n", + " 131r 7.2195605e+08 5.00e+00 8.46e-02 -3.1 6.90e-06 - 1.00e+00 7.81e-03h 8\n", + " 132r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 7.01e-06 - 1.00e+00 1.00e+00s 34\n", + " 133r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 6.81e-06 - 0.00e+00 0.00e+00R 1\n", + " 134r 7.2195605e+08 5.00e+00 8.53e-02 -3.1 6.81e-06 - 1.00e+00 1.56e-02f 7\n", + " 135r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.17e-06 - 1.00e+00 3.91e-03h 9\n", + " 136r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.79e-06 - 1.00e+00 2.44e-04h 13\n", + " 137r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.78e-06 - 1.00e+00 7.63e-06h 18\n", + " 138r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.78e-06 - 1.00e+00 1.91e-06h 20\n", + " 139r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.78e-06 - 1.00e+00 3.81e-06h 19\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 140r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.78e-06 - 1.00e+00 9.54e-07h 21\n", + " 141r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.78e-06 - 1.00e+00 3.05e-05h 16\n", + " 142r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.78e-06 - 1.00e+00 3.81e-06h 19\n", + " 143r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.78e-06 - 1.00e+00 1.22e-04h 14\n", + " 144r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 6.79e-06 - 1.00e+00 1.00e+00w 1\n", + " 145r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 6.62e-06 - 1.00e+00 1.00e+00w 1\n", + " 146r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 5.50e-06 - 1.00e+00 1.00e+00w 1\n", + " 147r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 5.55e-06 - 1.00e+00 5.96e-08h 24\n", + " 148r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.79e-06 - 1.00e+00 1.49e-08h 27\n", + " 149r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.79e-06 - 1.00e+00 9.77e-04h 11\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 150r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.14e-06 - 1.00e+00 1.22e-04h 14\n", + " 151r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.13e-06 - 1.00e+00 6.10e-05h 15\n", + " 152r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.13e-06 - 1.00e+00 1.53e-05h 17\n", + " 153r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.13e-06 - 1.00e+00 7.63e-06h 18\n", + " 154r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.13e-06 - 1.00e+00 1.22e-04h 14\n", + " 155r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.13e-06 - 1.00e+00 3.05e-05h 16\n", + " 156r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.13e-06 - 1.00e+00 1.53e-05h 17\n", + " 157r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 6.13e-06 - 1.00e+00 1.00e+00w 1\n", + " 158r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 7.31e-06 - 1.00e+00 1.00e+00w 1\n", + " 159r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 5.57e-06 - 1.00e+00 1.00e+00w 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 160r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 5.18e-06 - 1.00e+00 4.77e-07h 21\n", + " 161r 7.2195605e+08 5.00e+00 4.78e-02 -3.1 6.13e-06 - 1.00e+00 5.96e-08h 25\n", + " 162r 7.2195605e+08 5.00e+00 4.74e-02 -3.1 6.13e-06 - 1.00e+00 7.81e-03h 8\n", + " 163r 7.2195605e+08 5.00e+00 4.72e-02 -3.1 6.08e-06 - 1.00e+00 3.91e-03h 9\n", + " 164r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 6.06e-06 - 1.00e+00 1.00e+00s 34\n", + " 165r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 7.37e-06 - 0.00e+00 0.00e+00R 1\n", + " 166r 7.2195605e+08 5.00e+00 8.59e-02 -3.1 7.37e-06 - 1.00e+00 7.81e-03f 8\n", + " 167r 7.2195605e+08 5.00e+00 8.53e-02 -3.1 7.27e-06 - 1.00e+00 7.81e-03h 8\n", + " 168r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 7.41e-06 - 1.00e+00 1.00e+00s 34\n", + " 169r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 7.69e-06 - 0.00e+00 0.00e+00R 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 170r 7.2195605e+08 5.00e+00 8.59e-02 -3.1 7.69e-06 - 1.00e+00 7.81e-03f 8\n", + " 171r 7.2195605e+08 5.00e+00 8.56e-02 -3.1 5.95e-06 - 1.00e+00 3.91e-03h 9\n", + " 172r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 5.97e-06 - 1.00e+00 1.00e+00s 35\n", + " 173r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 4.50e-06 - 0.00e+00 0.00e+00R 1\n", + " 174r 7.2195605e+08 5.00e+00 8.59e-02 -3.1 4.50e-06 - 1.00e+00 7.81e-03f 8\n", + " 175r 7.2195605e+08 5.00e+00 8.53e-02 -3.1 7.24e-06 - 1.00e+00 7.81e-03h 8\n", + " 176r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 4.69e-06 - 1.00e+00 1.00e+00s 35\n", + " 177r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 6.12e-06 - 0.00e+00 0.00e+00R 1\n", + " 178r 7.2195605e+08 5.00e+00 8.63e-02 -3.1 6.12e-06 - 1.00e+00 3.91e-03f 9\n", + " 179r 7.2195605e+08 5.00e+00 8.61e-02 -3.1 6.05e-06 - 1.00e+00 1.95e-03h 10\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 180r 7.2195605e+08 5.00e+00 8.61e-02 -3.1 4.30e-06 - 1.00e+00 4.88e-04h 12\n", + " 181r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 4.30e-06 - 1.00e+00 1.00e+00s 36\n", + " 182r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 5.28e-06 - 0.00e+00 0.00e+00R 1\n", + " 183r 7.2195605e+08 5.00e+00 8.65e-02 -3.1 5.28e-06 - 1.00e+00 9.77e-04f 11\n", + " 184r 7.2195605e+08 5.00e+00 8.62e-02 -3.1 6.09e-06 - 1.00e+00 3.91e-03h 9\n", + " 185r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 5.25e-06 - 1.00e+00 1.00e+00s 35\n", + " 186r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 7.51e-06 - 0.00e+00 0.00e+00R 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 187r 7.2195605e+08 5.00e+00 8.53e-02 -3.1 7.51e-06 - 1.00e+00 1.56e-02f 7\n", + " 188r 7.2195605e+08 5.00e+00 8.49e-02 -3.1 6.15e-06 - 1.00e+00 3.91e-03h 9\n", + " 189r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 6.53e-06 - 1.00e+00 1.00e+00s 34\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 190r 7.2195605e+08 5.00e+00 8.66e-02 -3.1 6.25e-06 - 0.00e+00 0.00e+00R 1\n", + " 191r 7.2195605e+08 5.00e+00 8.59e-02 -3.1 6.25e-06 - 1.00e+00 7.81e-03f 8\n", + " 192r 7.2195605e+08 5.00e+00 8.56e-02 -3.1 6.60e-06 - 1.00e+00 3.91e-03h 9\n", + " 193r 7.2195605e+08 5.00e+00 8.55e-02 -3.1 5.78e-06 - 1.00e+00 9.77e-04h 11\n", + " 194r 7.2195605e+08 5.00e+00 8.55e-02 -3.1 5.77e-06 - 1.00e+00 2.44e-04h 13\n", + " 195r 7.2195605e+08 5.00e+00 8.55e-02 -3.1 5.77e-06 - 1.00e+00 2.44e-04h 13\n", + " 196r 7.2195605e+08 5.00e+00 8.55e-02 -3.1 5.77e-06 - 1.00e+00 1.53e-05h 17\n", + " 197r 7.2195605e+08 5.00e+00 8.55e-02 -3.1 5.77e-06 - 1.00e+00 1.22e-04h 14\n", + " 198r 7.2195605e+08 5.00e+00 8.55e-02 -3.1 5.77e-06 - 1.00e+00 3.81e-06h 19\n", + " 199r 7.2195605e+08 5.00e+00 8.55e-02 -3.1 5.77e-06 - 1.00e+00 1.91e-06h 20\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 200r 7.2195605e+08 5.00e+00 8.55e-02 -3.1 5.77e-06 - 1.00e+00 9.54e-07h 21\n", + "\n", + "Number of Iterations....: 200\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 7.2195605492839983e+04 7.2195605492839980e+08\n", + "Dual infeasibility......: 9.9999924589760880e+01 9.9999924589760881e+05\n", + "Constraint violation....: 4.9999999500000003e+00 4.9999999500000003e+00\n", + "Complementarity.........: 7.1554185307518871e-04 7.1554185307518869e+00\n", + "Overall NLP error.......: 9.9999924589760880e+01 9.9999924589760881e+05\n", + "\n", + "\n", + "Number of objective function evaluations = 1209\n", + "Number of objective gradient evaluations = 69\n", + "Number of equality constraint evaluations = 1218\n", + "Number of inequality constraint evaluations = 1218\n", + "Number of equality constraint Jacobian evaluations = 224\n", + "Number of inequality constraint Jacobian evaluations = 224\n", + "Number of Lagrangian Hessian evaluations = 200\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 8.519\n", + "Total CPU secs in NLP function evaluations = 632.844\n", + "\n", + "EXIT: Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:pyomo.core:Loading a SolverResults object with a warning status into model.name=\"unknown\";\n", + " - termination condition: maxIterations\n", + " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 455\n", + "Realized SOC (MPC) 2609024\n", + "Implemented Power (MPC) 455\n", + "Realized SOC (MPC) 2609024\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 76700\n", + "Number of nonzeros in inequality constraint Jacobian.: 572\n", + "Number of nonzeros in Lagrangian Hessian.............: 23760\n", + "\n", + "Total number of variables............................: 29373\n", + " variables with only lower bounds: 0\n", + " variables with lower and upper bounds: 23997\n", + " variables with only upper bounds: 48\n", + "Total number of equality constraints.................: 29135\n", + "Total number of inequality constraints...............: 336\n", + " inequality constraints with only lower bounds: 48\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 288\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 2.1999959e+09 2.53e+06 3.82e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 2.1927079e+09 2.45e+06 4.17e+03 -1.0 5.71e+07 - 3.38e-04 3.43e-02f 1\n", + " 2 2.1926329e+09 2.45e+06 4.17e+03 -1.0 5.49e+07 - 3.01e-02 3.53e-04f 1\n", + " 3 2.1925901e+09 2.44e+06 1.22e+04 -1.0 1.19e+08 - 2.99e-02 2.10e-04f 1\n", + " 4 2.1889400e+09 2.40e+06 1.72e+04 -1.0 1.22e+08 - 3.08e-02 1.75e-02f 1\n", + " 5 2.1888991e+09 2.40e+06 3.56e+04 -1.0 1.20e+08 - 5.11e-02 2.95e-04f 1\n", + " 6 2.1891134e+09 2.37e+06 5.47e+04 -1.0 1.20e+08 - 7.38e-02 1.39e-02h 1\n", + " 7 2.1892724e+09 2.34e+06 7.54e+04 -1.0 1.18e+08 - 8.65e-02 1.01e-02h 1\n", + " 8 2.1893422e+09 2.34e+06 9.64e+04 -1.0 1.17e+08 - 9.64e-02 3.35e-03h 1\n", + " 9 2.1913980e+09 2.11e+06 8.79e+04 -1.0 1.17e+08 - 1.03e-01 9.80e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.1952266e+09 1.68e+06 3.15e+05 -1.0 1.05e+08 - 2.28e-01 2.03e-01h 1\n", + " 11 2.1952647e+09 1.67e+06 3.14e+05 -1.0 8.42e+07 - 5.29e-01 2.55e-03h 1\n", + " 12 2.1952650e+09 1.67e+06 3.14e+05 -1.0 8.40e+07 - 2.23e-03 2.55e-05h 1\n", + " 13 2.1952654e+09 1.67e+06 3.14e+05 -1.0 8.40e+07 - 1.82e-07 1.82e-05h 1\n", + " 14 2.1990631e+09 1.38e+06 3.64e+05 -1.0 8.40e+07 - 1.80e-05 1.74e-01h 1\n", + " 15 2.1991043e+09 1.38e+06 3.64e+05 -1.0 6.96e+07 - 1.75e-01 2.30e-03h 1\n", + " 16 2.1991105e+09 1.38e+06 3.63e+05 -1.0 7.01e+07 - 6.47e-02 3.44e-04h 1\n", + " 17 2.2139324e+09 6.14e+05 1.96e+06 -1.0 7.01e+07 - 6.09e-02 8.24e-01h 1\n", + " 18 2.2168331e+09 2.00e+04 5.05e+04 -1.0 1.27e+07 - 7.94e-01 1.00e+00h 1\n", + " 19 2.2167442e+09 2.33e+03 5.91e+03 -1.0 1.28e+05 - 9.89e-01 8.83e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.2167072e+09 2.31e+02 1.22e+04 -1.0 7.80e+04 - 1.77e-01 9.01e-01f 1\n", + " 21 2.2166840e+09 3.37e+05 8.66e+02 -1.0 3.45e+06 - 2.45e-02 9.27e-01f 1\n", + " 22 2.2166821e+09 4.57e+04 2.97e+02 -1.0 2.84e+05 - 9.69e-01 8.57e-01f 1\n", + " 23 2.2166819e+09 4.47e+01 8.50e-01 -1.0 2.16e+04 - 9.90e-01 1.00e+00f 1\n", + " 24 2.2166819e+09 5.94e-05 7.59e-03 -1.0 5.20e+04 - 9.91e-01 1.00e+00h 1\n", + " 25 2.2166819e+09 5.87e-03 6.48e-06 -1.7 2.62e+04 - 1.00e+00 1.00e+00f 1\n", + " 26 2.2166819e+09 3.61e-04 3.99e-07 -3.8 8.21e+02 - 1.00e+00 1.00e+00f 1\n", + " 27 2.2166819e+09 1.88e-07 1.52e-08 -5.7 1.33e+03 - 1.00e+00 1.00e+00f 1\n", + "In iteration 27, 47 Slacks too small, adjusting variable bounds\n", + " 28 2.2166819e+09 2.38e-07 1.13e-08 -8.6 1.45e+02 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 28\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 2.2166819284615989e+09 2.2166819284615989e+09\n", + "Dual infeasibility......: 1.1279568256359392e-08 1.1279568256359392e-08\n", + "Constraint violation....: 2.5611370801925659e-09 2.3841857910156250e-07\n", + "Complementarity.........: 2.7916672749994405e-09 2.7916672749994405e-09\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.3841857910156250e-07\n", + "\n", + "\n", + "Number of objective function evaluations = 29\n", + "Number of objective gradient evaluations = 29\n", + "Number of equality constraint evaluations = 29\n", + "Number of inequality constraint evaluations = 29\n", + "Number of equality constraint Jacobian evaluations = 29\n", + "Number of inequality constraint Jacobian evaluations = 29\n", + "Number of Lagrangian Hessian evaluations = 28\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 5.156\n", + "Total CPU secs in NLP function evaluations = 158.622\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "\n", + "Pyomo model construction time: 11.45\n", + "\n", + "Pyomo model solve time: 23.68037438392639\n", + "\n", + "Deterministic RUC Cost: 4141771.85\n", + "\n", + "Generator Commitments:\n", + "101_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "101_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "101_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "101_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "102_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "102_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "102_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "102_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "107_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "113_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "116_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "118_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_STEAM_2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "123_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "123_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "202_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "202_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "202_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "202_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "207_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "207_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CC_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "215_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "215_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "216_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "218_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "221_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "223_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "223_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "307_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "307_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "313_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "315_STEAM_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_7 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_8 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "316_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "318_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "321_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "322_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "322_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "323_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "323_CC_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "114_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "121_NUCLEAR_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "214_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "314_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "\n", + "Generator Dispatch Levels:\n", + "101_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_STEAM_3 : 76.00 76.00 76.00 76.00 76.00 76.00 45.30 45.30 45.30 60.70 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 76.00 76.00 76.00 76.00 45.30 45.30 45.30 47.01 76.00 76.00 \n", + "101_STEAM_4 : 76.00 76.00 76.00 76.00 76.00 76.00 45.30 45.30 45.30 50.31 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 76.00 76.00 76.00 76.00 45.30 45.30 45.30 45.30 76.00 76.00 \n", + "102_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_STEAM_3 : 434.68 448.09 447.59 449.17 410.30 350.30 290.30 286.00 286.00 286.00 338.19 353.52 368.19 385.76 429.59 431.18 460.00 460.00 460.00 460.00 458.18 455.58 454.59 449.52 | 449.96 448.15 447.54 449.01 410.30 350.30 290.30 286.00 286.00 286.00 335.49 352.67 \n", + "102_STEAM_4 : 60.70 45.30 45.30 45.30 45.30 45.30 30.00 38.30 40.00 40.00 45.30 45.30 45.30 45.30 45.30 45.30 55.90 49.15 45.82 56.95 45.30 45.30 45.30 45.30 | 45.30 45.30 45.30 45.30 47.21 45.30 30.00 38.30 40.00 40.00 45.30 45.30 \n", + "107_CC_1 : 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 231.70 231.70 239.81 293.30 316.80 329.63 293.30 231.70 231.70 231.70 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "113_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_3 : 124.00 114.77 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 93.00 124.00 124.00 124.00 124.00 155.00 155.00 155.00 155.00 124.00 124.00 124.00 | 124.00 122.52 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 \n", + "116_STEAM_1 : 124.00 124.00 116.81 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 124.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 146.21 155.00 | 124.00 124.00 118.97 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 \n", + "118_CC_1 : 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 231.70 231.70 231.70 293.30 293.30 293.30 293.30 231.70 231.70 231.70 | 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "123_STEAM_2 : 124.00 93.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 93.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 | 124.00 93.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 \n", + "123_STEAM_3 : 280.00 280.00 210.00 210.00 210.00 140.00 140.00 140.00 140.00 140.00 140.00 210.00 280.00 280.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 | 280.00 280.00 210.00 210.00 210.00 140.00 140.00 140.00 140.00 140.00 140.00 210.00 \n", + "123_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_STEAM_3 : 45.30 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 45.30 60.70 76.00 76.00 76.00 76.00 76.00 76.00 76.00 60.70 60.70 | 45.30 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 \n", + "202_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_STEAM_3 : 60.70 60.70 60.70 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 43.23 60.70 60.70 60.70 60.70 60.70 67.16 70.33 76.00 73.03 60.70 60.70 60.70 | 60.70 60.70 60.70 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 32.28 \n", + "202_STEAM_4 : 60.70 60.70 60.70 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 60.70 60.70 60.70 60.70 60.70 60.70 60.70 76.00 60.70 60.70 60.70 60.70 | 60.70 60.70 60.70 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 \n", + "207_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "207_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CC_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "216_STEAM_1 : 124.00 124.00 93.00 93.00 93.00 88.48 62.00 62.00 63.30 67.30 93.00 93.00 123.92 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 124.00 124.00 93.00 93.00 93.00 79.18 62.00 62.00 63.30 67.30 93.00 93.00 \n", + "218_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "221_CC_1 : 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 231.70 293.30 293.30 293.30 293.30 293.30 272.15 231.70 231.70 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "223_STEAM_1 : 155.00 155.00 155.00 155.00 150.00 62.00 62.00 62.00 62.00 62.00 93.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 155.00 155.00 155.00 155.00 155.00 62.00 62.00 62.00 62.00 62.00 93.00 155.00 \n", + "223_STEAM_2 : 155.00 155.00 155.00 155.00 154.01 62.00 62.00 62.00 62.00 62.00 93.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 155.00 155.00 155.00 155.00 155.00 62.00 62.00 62.00 62.00 62.00 93.00 155.00 \n", + "223_STEAM_3 : 243.40 210.00 210.00 210.00 210.00 140.00 140.00 140.00 140.00 140.00 210.00 210.00 210.00 262.59 323.50 350.00 350.00 350.00 350.00 350.00 350.00 350.00 280.00 331.69 | 250.72 210.00 210.00 210.00 210.00 140.00 140.00 140.00 140.00 140.00 210.00 210.00 \n", + "223_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "313_CC_1 : 231.70 231.70 231.70 231.70 231.70 231.70 206.10 214.10 214.10 231.70 231.70 231.70 231.70 231.70 231.70 231.70 231.70 293.30 293.30 293.30 293.30 231.70 231.70 231.70 | 231.70 231.70 231.70 231.70 231.70 231.70 206.10 214.10 214.10 231.70 231.70 231.70 \n", + "315_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_7 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_8 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "316_STEAM_1 : 124.00 124.00 124.00 82.70 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 124.00 124.00 124.00 124.00 124.00 155.00 155.00 155.00 155.00 124.00 124.00 124.00 | 124.00 124.00 124.00 88.96 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 \n", + "318_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "321_CC_1 : 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 231.70 274.67 293.30 293.30 293.30 293.30 293.30 293.30 231.70 231.70 | 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "322_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 170.00 231.70 280.36 293.30 293.30 270.65 231.70 170.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 170.00 220.33 231.70 293.30 293.30 231.70 231.70 170.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "114_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "121_NUCLEAR_1 : 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 | 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 400.00 \n", + "214_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "314_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "\n", + "Generator Reserve Headroom:\n", + "101_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 30.70 30.70 30.70 15.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 30.70 30.70 30.70 28.99 0.00 0.00 \n", + "101_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 30.70 30.70 30.70 25.69 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 30.70 30.70 30.70 30.70 0.00 0.00 \n", + "102_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_STEAM_3 : 25.32 11.91 12.41 10.83 49.70 109.70 120.00 64.30 60.00 60.00 7.81 44.67 45.33 42.43 16.17 28.82 0.00 0.00 0.00 0.00 1.82 4.42 5.41 10.48 | 10.04 11.85 12.46 10.99 49.70 109.70 120.00 64.30 60.00 60.00 10.51 42.82 \n", + "102_STEAM_4 : 15.30 30.70 30.70 30.70 30.70 30.70 46.00 37.70 36.00 36.00 30.70 30.70 30.70 30.70 30.70 30.70 20.10 26.85 30.18 19.05 30.70 30.70 30.70 30.70 | 30.70 30.70 30.70 30.70 28.79 30.70 46.00 37.70 36.00 36.00 30.70 30.70 \n", + "107_CC_1 : 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 123.30 123.30 115.19 61.70 38.20 25.37 61.70 123.30 123.30 123.30 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "113_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_3 : 31.00 40.23 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 62.00 31.00 31.00 31.00 31.00 0.00 0.00 0.00 0.00 31.00 31.00 31.00 | 31.00 32.48 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 \n", + "116_STEAM_1 : 31.00 31.00 38.19 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 31.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.79 0.00 | 31.00 31.00 36.03 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 \n", + "118_CC_1 : 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 123.30 123.30 123.30 61.70 61.70 61.70 61.70 123.30 123.30 123.30 | 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "123_STEAM_2 : 31.00 62.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 62.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 | 31.00 62.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 \n", + "123_STEAM_3 : 70.00 70.00 140.00 140.00 140.00 210.00 210.00 210.00 210.00 210.00 210.00 140.00 70.00 70.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 70.00 70.00 140.00 140.00 140.00 210.00 210.00 210.00 210.00 210.00 210.00 140.00 \n", + "123_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_STEAM_3 : 30.70 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 30.70 15.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15.30 15.30 | 30.70 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 \n", + "202_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_STEAM_3 : 15.30 15.30 15.30 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 32.77 15.30 15.30 15.30 15.30 15.30 8.84 5.67 0.00 2.97 15.30 15.30 15.30 | 15.30 15.30 15.30 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 43.72 \n", + "202_STEAM_4 : 15.30 15.30 15.30 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 15.30 15.30 15.30 15.30 15.30 15.30 15.30 0.00 15.30 15.30 15.30 15.30 | 15.30 15.30 15.30 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 \n", + "207_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "207_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CC_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "216_STEAM_1 : 31.00 31.00 62.00 62.00 62.00 66.52 93.00 93.00 91.70 87.70 62.00 62.00 31.08 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 31.00 31.00 62.00 62.00 62.00 75.82 93.00 93.00 91.70 87.70 62.00 62.00 \n", + "218_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "221_CC_1 : 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 123.30 61.70 61.70 61.70 61.70 61.70 82.85 123.30 123.30 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "223_STEAM_1 : 0.00 0.00 0.00 0.00 5.00 93.00 93.00 93.00 93.00 93.00 62.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 93.00 93.00 93.00 93.00 93.00 62.00 0.00 \n", + "223_STEAM_2 : 0.00 0.00 0.00 0.00 0.99 93.00 93.00 93.00 93.00 93.00 62.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 93.00 93.00 93.00 93.00 93.00 62.00 0.00 \n", + "223_STEAM_3 : 106.60 140.00 140.00 140.00 140.00 210.00 210.00 210.00 210.00 210.00 140.00 140.00 140.00 87.41 26.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 70.00 18.31 | 99.28 140.00 140.00 140.00 140.00 210.00 210.00 210.00 210.00 210.00 140.00 140.00 \n", + "223_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "313_CC_1 : 123.30 123.30 123.30 123.30 123.30 123.30 148.90 140.90 140.90 123.30 123.30 123.30 123.30 123.30 123.30 123.30 123.30 61.70 61.70 61.70 61.70 123.30 123.30 123.30 | 123.30 123.30 123.30 123.30 123.30 123.30 148.90 140.90 140.90 123.30 123.30 123.30 \n", + "315_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_7 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_8 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "316_STEAM_1 : 31.00 31.00 31.00 72.30 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 31.00 31.00 31.00 31.00 31.00 0.00 0.00 0.00 0.00 31.00 31.00 31.00 | 31.00 31.00 31.00 66.04 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 \n", + "318_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "321_CC_1 : 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 123.30 80.33 61.70 61.70 61.70 61.70 61.70 61.70 123.30 123.30 | 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "322_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 123.30 74.64 61.70 61.70 84.35 123.30 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 134.67 123.30 61.70 61.70 123.30 123.30 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "114_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "121_NUCLEAR_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "214_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "314_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "Total : 1173.42 1372.43 1518.20 1643.13 1708.69 2186.22 2325.30 2253.30 2246.00 2203.99 1947.81 1684.44 1443.02 1125.04 828.77 756.65 886.87 588.43 490.55 445.61 597.94 919.77 870.30 814.89 | 1166.22 1364.63 1516.10 1637.03 1700.79 2195.52 2325.30 2253.30 2246.00 2222.69 1950.51 1693.54 \n", + "\n", + "Fixed costs: 2957615.15\n", + "Variable costs: 1184156.70\n", + "\n", + "\n", + "Renewables curtailment summary (time-period, aggregate_quantity):\n", + "2020-07-11 06:00 179.34\n", + "2020-07-11 07:00 255.22\n", + "2020-07-11 08:00 190.51\n", + "2020-07-12 06:00 180.44\n", + "2020-07-12 07:00 259.72\n", + "2020-07-12 08:00 209.41\n", + "Solving day-ahead market\n", + "Computing day-ahead prices using method LMP.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16008\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6077\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.9287229e+08 3.08e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.9286219e+08 3.08e+05 9.95e+01 -1.0 1.29e+07 - 2.46e-04 5.51e-04h 1\n", + " 2 6.9292913e+08 3.07e+05 1.03e+02 -1.0 5.26e+06 - 6.31e-06 3.00e-03h 1\n", + " 3 6.9305932e+08 3.06e+05 1.03e+02 -1.0 4.66e+05 - 2.07e-03 2.97e-03h 1\n", + " 4 6.9342773e+08 3.04e+05 1.03e+02 -1.0 4.60e+05 - 6.36e-03 7.30e-03h 1\n", + " 5 6.9421020e+08 2.99e+05 1.01e+02 -1.0 4.48e+05 - 1.72e-02 1.48e-02h 1\n", + " 6 7.0124673e+08 2.59e+05 1.02e+02 -1.0 4.26e+05 - 5.92e-02 1.34e-01h 1\n", + " 7 7.0686661e+08 2.27e+05 7.34e+01 -1.0 3.32e+05 - 2.09e-01 1.24e-01h 1\n", + " 8 7.2001625e+08 1.52e+05 5.26e+01 -1.0 2.69e+05 - 3.07e-01 3.32e-01h 1\n", + " 9 7.2016774e+08 1.51e+05 7.21e+02 -1.0 1.73e+05 - 5.53e-01 5.78e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.3040443e+08 8.99e+04 1.31e+03 -1.0 3.66e+05 - 5.82e-01 4.04e-01h 1\n", + " 11 7.3156350e+08 8.17e+04 7.26e+02 -1.0 7.43e+05 - 8.23e-01 9.08e-02h 1\n", + " 12 7.3137956e+08 7.53e+04 1.12e+03 -1.0 3.97e+06 - 5.32e-01 7.80e-02h 1\n", + " 13 7.3028406e+08 7.00e+04 1.77e+03 -1.0 8.43e+06 - 9.12e-01 7.02e-02f 1\n", + " 14 7.2642501e+08 6.86e+04 1.73e+03 -1.0 8.28e+07 - 3.38e-02 2.03e-02f 1\n", + " 15 7.2357847e+08 6.74e+04 1.73e+03 -1.0 8.49e+07 - 2.01e-01 1.82e-02f 1\n", + " 16 7.2062058e+08 6.60e+04 1.70e+03 -1.0 7.86e+07 - 7.09e-02 1.98e-02f 1\n", + " 17 7.1835096e+08 6.44e+04 1.67e+03 -1.0 8.55e+07 - 1.73e-01 2.53e-02f 1\n", + " 18 7.1802994e+08 6.34e+04 1.65e+03 -1.0 2.54e+07 - 8.27e-02 1.57e-02f 1\n", + " 19 7.1843312e+08 5.67e+04 1.48e+03 -1.0 1.80e+07 - 1.30e-01 1.05e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.9715074e+08 3.82e+05 5.87e+02 -1.0 7.35e+07 - 3.27e-03 6.02e-01f 1\n", + " 21 6.9632801e+08 3.78e+05 5.56e+02 -1.0 1.43e+08 - 3.12e-01 1.07e-02f 1\n", + " 22 6.9631077e+08 3.77e+05 5.89e+02 -1.0 2.95e+07 - 5.21e-01 2.59e-03h 1\n", + " 23 6.8800594e+08 8.70e+05 9.47e+01 -1.0 6.18e+07 - 9.65e-01 1.00e+00f 1\n", + " 24 6.8438370e+08 9.34e+05 9.24e+01 -1.0 5.90e+08 - 8.69e-02 3.45e-02f 1\n", + " 25 6.8431097e+08 9.33e+05 9.23e+01 -1.0 3.77e+08 - 1.43e-01 1.21e-03f 1\n", + " 26 6.8262644e+08 8.68e+05 8.67e+01 -1.0 1.30e+08 - 2.49e-01 6.01e-02f 1\n", + " 27 6.8214271e+08 8.34e+05 8.36e+01 -1.0 4.25e+07 - 6.58e-02 3.59e-02f 1\n", + " 28 6.8088721e+08 7.17e+05 7.40e+01 -1.0 4.22e+07 - 7.54e-02 1.15e-01f 1\n", + " 29 6.8080449e+08 7.14e+05 7.32e+01 -1.0 3.95e+07 - 9.35e-02 1.09e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.7977591e+08 1.33e+06 6.38e+01 -1.0 4.25e+07 - 1.44e-01 1.29e-01f 1\n", + " 31 6.7670728e+08 7.96e+06 4.23e+01 -1.0 6.53e+07 - 2.26e-01 3.38e-01f 1\n", + " 32 6.7656730e+08 7.90e+06 4.17e+01 -1.0 1.26e+08 - 3.95e-01 1.32e-02f 1\n", + " 33 6.7624553e+08 7.84e+06 4.01e+01 -1.0 9.41e+07 - 6.63e-01 3.96e-02f 1\n", + " 34 6.7624388e+08 7.24e+06 1.53e+03 -1.0 5.59e+04 -4.0 8.04e-02 7.64e-02h 1\n", + " 35 6.7624369e+08 7.18e+06 1.56e+03 -1.0 5.51e+06 - 7.16e-03 8.69e-03h 1\n", + " 36 6.7624512e+08 6.96e+06 1.82e+03 -1.0 6.98e+06 - 4.46e-02 2.96e-02h 1\n", + " 37 6.7628332e+08 6.18e+06 4.20e+03 -1.0 2.52e+06 - 4.33e-02 1.12e-01h 1\n", + " 38 6.7628336e+08 6.16e+06 4.78e+03 -1.0 4.40e+04 -4.5 1.77e-01 3.98e-03h 1\n", + " 39 6.7628359e+08 6.11e+06 4.87e+05 -1.0 4.39e+04 -5.0 6.74e-01 7.47e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.7628429e+08 5.99e+06 4.63e+05 -1.0 4.56e+04 -5.4 9.02e-02 1.97e-02h 1\n", + " 41 6.7630617e+08 2.34e+06 1.12e+05 -1.0 4.53e+04 -5.9 7.94e-01 6.09e-01h 1\n", + " 42 6.7631987e+08 4.14e+02 4.32e+04 -1.0 1.77e+04 -6.4 7.39e-01 1.00e+00h 1\n", + " 43 6.7626108e+08 9.43e+02 1.26e+04 -1.0 6.00e+06 - 9.89e-01 2.01e-02f 1\n", + " 44 6.7608340e+08 6.35e+04 3.67e+03 -1.0 1.44e+06 - 1.00e+00 7.21e-01f 1\n", + " 45 6.7598596e+08 6.42e+04 2.87e+03 -1.0 5.31e+06 - 7.39e-01 2.18e-01f 1\n", + " 46 6.7552329e+08 1.58e+06 4.26e+03 -1.0 7.57e+06 - 1.00e+00 1.00e+00f 1\n", + " 47 6.7552327e+08 2.06e+02 1.71e+00 -1.0 2.75e+03 -6.9 1.00e+00 1.00e+00h 1\n", + " 48 6.7540619e+08 1.16e+05 2.58e+01 -1.7 4.20e+07 - 6.15e-01 5.50e-02f 1\n", + " 49 6.7401966e+08 1.31e+07 3.45e+03 -1.7 2.85e+07 - 1.00e+00 7.99e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.7265742e+08 2.01e+07 3.21e+03 -1.7 2.73e+08 - 4.14e-01 8.35e-02f 1\n", + " 51 6.7265778e+08 1.72e+07 2.75e+03 -1.7 5.43e+04 -7.3 1.54e-01 1.44e-01h 1\n", + " 52 6.7264333e+08 1.70e+07 2.73e+03 -1.7 2.66e+07 - 1.00e+00 8.64e-03h 1\n", + " 53 6.7263215e+08 8.56e+06 1.38e+03 -1.7 4.23e+06 - 1.00e+00 4.92e-01h 1\n", + " 54 6.7263192e+08 8.50e+06 1.37e+03 -1.7 8.32e+06 - 5.53e-02 7.38e-03h 1\n", + " 55 6.7268868e+08 1.07e+06 1.09e+02 -1.7 7.42e+06 - 3.61e-03 1.00e+00h 1\n", + " 56 6.7268872e+08 1.06e+06 1.08e+02 -1.7 2.16e+04 -7.8 6.68e-02 7.86e-03h 1\n", + " 57 6.7268895e+08 1.05e+06 1.06e+03 -1.7 4.50e+05 -8.3 9.05e-02 1.09e-02h 1\n", + " 58 6.7269773e+08 8.47e+05 8.23e+02 -1.7 4.47e+05 -8.8 1.87e-01 1.94e-01h 1\n", + " 59 6.7269607e+08 8.37e+05 9.49e+02 -1.7 1.08e+07 - 9.91e-01 1.11e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.7270335e+08 5.99e+05 5.56e+02 -1.7 3.53e+05 -9.2 3.94e-01 2.82e-01h 1\n", + " 61 6.7272138e+08 1.48e+04 1.60e+01 -1.7 2.47e+05 -9.7 1.00e+00 1.00e+00h 1\n", + " 62 6.7271544e+08 7.77e+03 1.25e+02 -1.7 2.08e+04 -10.2 1.00e+00 4.73e-01h 1\n", + " 63 6.7271212e+08 2.00e+03 3.30e+01 -1.7 1.30e+04 -10.7 1.00e+00 7.42e-01f 1\n", + " 64 6.7271377e+08 1.03e+01 1.08e-02 -1.7 1.84e+04 -11.2 1.00e+00 1.00e+00f 1\n", + " 65 6.7270640e+08 4.99e+01 1.40e+00 -3.8 4.99e+04 -11.6 1.00e+00 8.26e-01f 1\n", + " 66 6.7270509e+08 1.64e+02 6.38e-01 -3.8 1.63e+05 -12.1 1.00e+00 5.43e-01h 1\n", + " 67 6.7270234e+08 4.88e+03 2.37e-03 -3.8 5.07e+05 -12.6 1.00e+00 1.00e+00h 1\n", + " 68 6.7269597e+08 4.47e+04 4.43e-03 -3.8 1.53e+06 -13.1 1.00e+00 1.00e+00h 1\n", + " 69 6.7267610e+08 4.18e+05 4.05e-02 -3.8 4.74e+06 -13.5 1.00e+00 1.00e+00h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.7263979e+08 1.47e+06 1.47e-01 -3.8 1.55e+07 -14.0 1.00e+00 5.41e-01h 1\n", + " 71 6.7263978e+08 1.47e+06 2.53e-01 -3.8 1.16e+07 -14.5 7.88e-01 1.86e-04h 1\n", + " 72 6.7260165e+08 8.31e+06 1.65e+00 -3.8 9.63e+07 -15.0 6.86e-02 3.11e-01h 1\n", + " 73 6.7255218e+08 7.08e+06 8.76e-01 -3.8 2.39e+07 -14.5 1.00e+00 8.56e-01h 1\n", + " 74 6.7253084e+08 7.86e+06 1.02e+00 -3.8 3.05e+08 -15.0 2.65e-01 3.18e-02h 1\n", + " 75 6.7250830e+08 6.98e+06 9.12e-01 -3.8 3.48e+07 -14.6 1.00e+00 2.58e-01h 1\n", + " 76 6.7249428e+08 6.94e+06 1.03e+00 -3.8 5.99e+08 -15.1 1.41e-01 9.43e-03h 1\n", + " 77 6.7249335e+08 6.56e+06 9.04e-01 -3.8 9.37e+06 -14.7 1.00e+00 5.41e-02h 1\n", + " 78 6.7248991e+08 5.68e+06 7.81e-01 -3.8 2.08e+07 -15.1 1.00e+00 1.35e-01h 1\n", + " 79 6.7248270e+08 4.82e+06 6.73e-01 -3.8 6.06e+07 -15.6 1.34e-01 1.51e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 6.7248270e+08 4.82e+06 6.73e-01 -3.8 1.93e+08 - 1.97e-04 1.80e-05h 1\n", + " 81 6.7248295e+08 4.79e+06 6.69e-01 -3.8 7.27e+07 -16.1 5.03e-02 5.96e-03h 1\n", + " 82 6.7248221e+08 4.45e+06 6.22e-01 -3.8 7.12e+06 - 3.46e-01 7.10e-02h 1\n", + " 83 6.7247979e+08 2.50e+06 1.97e+00 -3.8 8.61e+05 - 6.79e-02 4.36e-01h 1\n", + " 84 6.7247790e+08 9.13e+05 7.99e-01 -3.8 2.50e+05 - 1.00e+00 6.31e-01h 1\n", + " 85 6.7247730e+08 3.96e+05 3.56e-01 -3.8 5.38e+04 - 1.00e+00 5.66e-01h 1\n", + " 86 6.7247684e+08 5.55e+02 6.04e-03 -3.8 2.32e+04 - 1.00e+00 1.00e+00h 1\n", + " 87 6.7247684e+08 3.00e-03 8.40e-08 -3.8 7.88e+01 - 1.00e+00 1.00e+00h 1\n", + " 88 6.7247677e+08 1.61e+00 8.36e-07 -5.7 9.13e+03 - 1.00e+00 1.00e+00f 1\n", + " 89 6.7247677e+08 9.54e-07 1.85e-11 -5.7 4.26e+00 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90 6.7247677e+08 2.50e-04 1.29e-10 -8.6 1.13e+02 - 1.00e+00 1.00e+00h 1\n", + " 91 6.7247677e+08 1.19e-06 2.28e-12 -8.6 6.58e-04 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 91\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.7247676728485385e+04 6.7247676728485382e+08\n", + "Dual infeasibility......: 2.2833481410314619e-12 2.2833481410314619e-08\n", + "Constraint violation....: 3.7252902984619141e-09 1.1920928955078125e-06\n", + "Complementarity.........: 2.5062278605500618e-09 2.5062278605500617e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5062278605500617e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 92\n", + "Number of objective gradient evaluations = 92\n", + "Number of equality constraint evaluations = 92\n", + "Number of inequality constraint evaluations = 92\n", + "Number of equality constraint Jacobian evaluations = 92\n", + "Number of inequality constraint Jacobian evaluations = 92\n", + "Number of Lagrangian Hessian evaluations = 91\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.157\n", + "Total CPU secs in NLP function evaluations = 125.601\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 402\n", + "Realized SOC (MPC) 1431366\n", + "Fixed costs: 88758.93\n", + "Variable costs: 31779.07\n", + "\n", + "Number on/offs: 1\n", + "Sum on/off ramps: 170.00\n", + "Sum nominal ramps: 173.58\n", + "\n", + "Simulating time_step 2020-07-10 17:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16004\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6076\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.7267677e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.7266845e+08 1.00e+05 9.90e+01 -1.0 1.16e+06 - 5.09e-04 4.64e-04h 1\n", + " 2 6.7276253e+08 9.96e+04 9.96e+01 -1.0 1.73e+05 - 5.99e-04 3.24e-03h 1\n", + " 3 6.7295542e+08 9.92e+04 9.94e+01 -1.0 2.02e+05 - 3.76e-03 4.28e-03h 1\n", + " 4 6.7347375e+08 9.82e+04 9.86e+01 -1.0 1.12e+05 - 8.96e-03 9.82e-03h 1\n", + " 5 6.7577700e+08 9.41e+04 9.88e+01 -1.0 1.11e+05 - 2.21e-02 4.25e-02h 1\n", + " 6 6.8003782e+08 8.64e+04 8.55e+01 -1.0 1.09e+05 - 3.34e-01 8.17e-02h 1\n", + " 7 7.1906347e+08 1.57e+04 9.36e+01 -1.0 1.29e+05 - 1.81e-01 8.19e-01h 1\n", + " 8 7.2439593e+08 5.52e+03 5.87e+00 -1.0 1.28e+05 - 9.88e-01 6.48e-01h 1\n", + " 9 7.2312223e+08 5.29e+03 2.93e+01 -1.0 9.31e+06 - 6.04e-02 4.16e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.2261700e+08 5.19e+03 2.03e+02 -1.0 1.14e+07 - 1.65e-01 1.81e-02f 1\n", + " 11 7.1845030e+08 4.41e+03 2.32e+02 -1.0 1.36e+07 - 2.11e-01 1.50e-01f 1\n", + " 12 7.1833262e+08 4.40e+03 9.14e+02 -1.0 1.71e+07 - 8.97e-01 4.18e-03f 1\n", + " 13 7.1249503e+08 4.29e+03 8.91e+02 -1.0 1.30e+08 - 2.48e-02 2.54e-02f 1\n", + " 14 7.1161817e+08 4.40e+03 7.11e+02 -1.0 1.12e+08 - 4.14e-01 6.33e-03f 1\n", + " 15 6.9794710e+08 1.06e+05 6.54e+02 -1.0 2.41e+08 - 6.05e-02 9.92e-02f 1\n", + " 16 6.8108956e+08 2.58e+05 5.33e+02 -1.0 2.74e+08 - 2.74e-01 1.11e-01f 1\n", + " 17 6.8091841e+08 2.57e+05 4.69e+02 -1.0 3.06e+08 - 1.97e-01 9.93e-04f 1\n", + " 18 6.7918062e+08 2.13e+05 2.70e+02 -1.0 5.38e+07 - 3.08e-01 1.71e-01f 1\n", + " 19 6.7102447e+08 4.44e+05 3.15e+02 -1.0 7.58e+07 - 2.20e-01 5.36e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.7092342e+08 4.42e+05 1.71e+02 -1.0 9.05e+07 - 3.08e-01 5.39e-03f 1\n", + " 21 6.6600869e+08 6.25e+05 7.61e+01 -1.0 1.25e+08 - 8.83e-01 2.55e-01f 1\n", + " 22 6.6584870e+08 6.23e+05 7.86e+01 -1.0 4.16e+08 - 7.28e-02 3.01e-03f 1\n", + " 23 6.6511865e+08 6.13e+05 7.71e+01 -1.0 4.08e+08 - 1.44e-03 1.58e-02f 1\n", + " 24 6.6509473e+08 6.12e+05 7.65e+01 -1.0 4.94e+07 - 2.56e-01 1.30e-03h 1\n", + " 25 6.6371294e+08 7.62e+05 6.76e+01 -1.0 5.78e+07 - 1.78e-02 9.27e-02f 1\n", + " 26 6.6356031e+08 7.52e+05 6.67e+01 -1.0 4.13e+07 - 9.87e-02 1.30e-02f 1\n", + " 27 6.6169677e+08 2.47e+06 5.64e+01 -1.0 4.16e+07 - 9.99e-02 1.50e-01f 1\n", + " 28 6.6159579e+08 2.45e+06 5.58e+01 -1.0 4.59e+07 - 1.85e-01 9.93e-03f 1\n", + " 29 6.5974383e+08 5.37e+06 4.57e+01 -1.0 4.93e+07 - 7.01e-02 1.71e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.5866399e+08 5.91e+06 4.14e+01 -1.0 5.83e+07 - 3.73e-01 9.13e-02f 1\n", + " 31 6.5682308e+08 7.59e+06 3.62e+01 -1.0 7.48e+07 - 2.21e-01 1.17e-01f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 32 6.5675160e+08 7.53e+06 3.60e+01 -1.0 7.46e+07 - 4.99e-01 7.07e-03f 1\n", + " 33 6.5584909e+08 6.94e+06 3.31e+01 -1.0 1.02e+08 - 1.56e-01 7.90e-02f 1\n", + " 34 6.5515462e+08 7.30e+06 3.68e+01 -1.0 9.99e+07 - 5.30e-01 1.12e-01f 1\n", + " 35 6.5191985e+08 4.79e+07 1.15e+01 -1.0 8.26e+07 - 5.82e-01 6.58e-01f 1\n", + " 36 6.5096349e+08 2.38e+07 2.34e+00 -1.0 2.01e+07 - 7.51e-01 7.80e-01h 1\n", + " 37 6.5097081e+08 1.97e+07 1.10e+04 -1.0 1.01e+05 -4.0 6.10e-02 1.73e-01h 1\n", + " 38 6.5097089e+08 1.96e+07 1.10e+04 -1.0 8.35e+04 -4.5 2.85e-01 1.78e-03h 1\n", + " 39 6.5097089e+08 1.96e+07 1.87e+06 -1.0 8.37e+04 -5.0 6.89e-01 1.93e-05h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.5097400e+08 1.92e+07 3.06e+06 -1.0 7.99e+05 -5.4 1.47e-01 2.08e-02h 1\n", + " 41 6.5098070e+08 1.85e+07 3.17e+06 -1.0 8.04e+05 -5.9 3.79e-01 3.76e-02h 1\n", + " 42 6.5098340e+08 1.83e+07 2.98e+06 -1.0 8.08e+05 -6.4 8.63e-02 1.31e-02h 1\n", + " 43 6.5104610e+08 1.26e+07 2.02e+06 -1.0 8.09e+05 -6.9 3.23e-01 3.02e-01h 1\n", + " 44 6.5104873e+08 1.25e+07 1.29e+06 -1.0 8.17e+05 -7.3 3.32e-01 1.29e-02h 1\n", + " 45 6.5115699e+08 5.78e+06 1.51e+05 -1.0 8.13e+05 -7.8 1.00e+00 5.16e-01h 1\n", + " 46 6.5119527e+08 4.21e+06 1.46e+05 -1.0 6.53e+05 -8.3 6.27e-01 2.69e-01h 1\n", + " 47 6.5127572e+08 1.60e+05 2.67e+04 -1.0 5.26e+05 -8.8 1.00e+00 1.00e+00h 1\n", + " 48 6.5113425e+08 1.58e+05 2.62e+04 -1.0 5.72e+07 - 2.17e-01 1.67e-02f 1\n", + " 49 6.5111820e+08 7.89e+04 1.32e+04 -1.0 6.27e+04 -9.2 1.00e+00 4.98e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.5105979e+08 7.03e+04 1.17e+04 -1.0 6.24e+06 - 1.00e+00 1.09e-01f 1\n", + " 51 6.5105403e+08 2.45e+05 2.39e+02 -1.0 3.41e+06 - 4.23e-01 1.00e+00f 1\n", + " 52 6.5105418e+08 4.60e+01 1.08e-03 -1.0 3.34e+03 -9.7 1.00e+00 1.00e+00h 1\n", + " 53 6.5102375e+08 6.97e+00 5.84e+00 -2.5 2.31e+04 -10.2 1.00e+00 8.56e-01f 1\n", + " 54 6.5101441e+08 1.22e+01 1.44e+00 -2.5 2.88e+04 -10.7 1.00e+00 7.55e-01f 1\n", + " 55 6.5101194e+08 6.58e+01 2.04e-02 -2.5 4.67e+04 -11.2 1.00e+00 1.00e+00h 1\n", + " 56 6.5101059e+08 1.03e+02 7.14e-01 -3.8 1.23e+05 -11.6 1.00e+00 3.63e-01h 1\n", + " 57 6.5100980e+08 1.41e+02 5.91e-01 -3.8 2.90e+05 -12.1 1.00e+00 1.70e-01h 1\n", + " 58 6.5100781e+08 2.27e+03 4.82e-01 -3.8 6.96e+05 -12.6 1.00e+00 3.94e-01h 1\n", + " 59 6.5100473e+08 2.54e+04 3.17e-02 -3.8 9.88e+05 -13.1 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.5100059e+08 6.48e+04 1.52e-02 -3.8 3.03e+06 -13.5 1.00e+00 4.52e-01h 1\n", + " 61 6.5099929e+08 6.80e+04 3.46e-01 -3.8 8.86e+06 -14.0 1.00e+00 5.40e-02h 1\n", + " 62 6.5099681e+08 2.68e+05 7.39e-02 -3.8 5.41e+06 -14.5 1.00e+00 9.72e-01h 1\n", + " 63 6.5098964e+08 1.63e+06 3.70e-01 -3.8 4.36e+07 -15.0 1.00e+00 2.80e-01h 1\n", + " 64 6.5098948e+08 1.54e+06 3.48e-01 -3.8 2.36e+06 -14.5 1.00e+00 5.94e-02h 1\n", + " 65 6.5098378e+08 3.80e+06 8.82e-01 -3.8 2.00e+07 -15.0 1.00e+00 1.00e+00h 1\n", + " 66 6.5097079e+08 1.48e+06 1.96e-01 -3.8 1.04e+07 -14.6 1.00e+00 1.00e+00h 1\n", + " 67 6.5094611e+08 7.05e+06 1.27e+00 -3.8 2.14e+08 -15.1 3.25e-01 1.13e-01h 1\n", + " 68 6.5094607e+08 7.04e+06 1.27e+00 -3.8 2.20e+07 -14.7 1.00e+00 1.14e-03h 1\n", + " 69 6.5091093e+08 1.19e+07 2.34e+00 -3.8 1.01e+09 -15.1 8.35e-02 2.43e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.5091089e+08 1.19e+07 2.37e+00 -3.8 2.66e+08 -15.6 3.78e-01 8.21e-05h 1\n", + " 71 6.5088811e+08 1.13e+07 2.77e+00 -3.8 1.05e+09 -16.1 1.51e-05 1.37e-02h 1\n", + " 72 6.5088808e+08 1.13e+07 2.77e+00 -3.8 1.95e+07 - 1.94e-03 8.00e-04h 1\n", + " 73 6.5088471e+08 9.44e+06 2.35e+00 -3.8 4.78e+06 -14.8 1.75e-01 1.50e-01h 1\n", + " 74 6.5088201e+08 8.07e+06 2.00e+00 -3.8 4.68e+06 - 1.35e-01 1.51e-01h 1\n", + " 75 6.5087730e+08 5.66e+06 1.41e+00 -3.8 7.43e+05 - 4.72e-02 2.94e-01h 1\n", + " 76 6.5087691e+08 5.50e+06 1.37e+00 -3.8 1.55e+07 - 1.27e-01 2.68e-02h 1\n", + " 77 6.5086604e+08 5.82e+04 9.62e-03 -3.8 4.88e+05 - 1.00e+00 1.00e+00h 1\n", + " 78 6.5086603e+08 3.13e+02 1.51e-06 -3.8 1.22e+04 - 1.00e+00 1.00e+00h 1\n", + " 79 6.5086603e+08 6.51e-03 2.16e-09 -3.8 1.37e+02 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 6.5086596e+08 9.19e-01 6.82e-04 -5.7 5.50e+03 - 9.89e-01 1.00e+00f 1\n", + " 81 6.5086596e+08 1.97e-03 1.88e-10 -5.7 2.56e+02 - 1.00e+00 1.00e+00h 1\n", + " 82 6.5086596e+08 1.65e-04 4.44e-11 -8.6 7.37e+01 - 1.00e+00 1.00e+00h 1\n", + " 83 6.5086596e+08 7.15e-07 1.37e-12 -8.6 3.96e-02 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 83\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.5086595548498255e+04 6.5086595548498249e+08\n", + "Dual infeasibility......: 1.3738551858570145e-12 1.3738551858570145e-08\n", + "Constraint violation....: 2.5611370801925659e-09 7.1525573730468750e-07\n", + "Complementarity.........: 2.5065900883137869e-09 2.5065900883137869e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5065900883137869e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 84\n", + "Number of objective gradient evaluations = 84\n", + "Number of equality constraint evaluations = 84\n", + "Number of inequality constraint evaluations = 84\n", + "Number of equality constraint Jacobian evaluations = 84\n", + "Number of inequality constraint Jacobian evaluations = 84\n", + "Number of Lagrangian Hessian evaluations = 83\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.990\n", + "Total CPU secs in NLP function evaluations = 118.939\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 444\n", + "Realized SOC (MPC) 1136248\n", + "Fixed costs: 60712.24\n", + "Variable costs: 38035.81\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 254.80\n", + "\n", + "Simulating time_step 2020-07-10 18:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16000\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6075\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.5106596e+08 2.95e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.5104581e+08 2.95e+05 9.91e+01 -1.0 4.61e+05 - 1.43e-03 1.12e-03h 1\n", + " 2 6.5107944e+08 2.94e+05 9.88e+01 -1.0 3.55e+05 - 2.88e-03 3.82e-03h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 3 6.5124083e+08 2.92e+05 9.86e+01 -1.0 3.55e+05 - 5.28e-03 7.19e-03h 1\n", + " 4 6.5159974e+08 2.88e+05 9.73e+01 -1.0 3.54e+05 - 1.34e-02 1.34e-02h 1\n", + " 5 6.5356305e+08 2.67e+05 9.80e+01 -1.0 3.54e+05 - 3.45e-02 7.17e-02h 1\n", + " 6 6.5459367e+08 2.56e+05 8.62e+01 -1.0 3.79e+05 - 3.96e-01 4.02e-02h 1\n", + " 7 6.5483375e+08 2.54e+05 8.54e+01 -1.0 9.06e+06 - 4.02e-02 9.08e-03h 1\n", + " 8 6.5494210e+08 2.53e+05 2.54e+02 -1.0 9.46e+06 - 8.01e-02 4.12e-03h 1\n", + " 9 6.5495002e+08 2.53e+05 1.16e+05 -1.0 1.22e+07 - 1.32e-01 3.05e-04h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.5875564e+08 2.16e+05 2.13e+04 -1.0 1.28e+07 - 4.50e-02 1.48e-01h 1\n", + " 11 6.6510387e+08 2.45e+05 1.44e+05 -1.0 1.11e+07 - 5.87e-04 2.91e-01h 1\n", + " 12 6.6524308e+08 2.43e+05 1.42e+05 -1.0 1.01e+07 - 8.41e-04 8.30e-03h 1\n", + " 13 6.6535025e+08 2.41e+05 2.31e+05 -1.0 1.19e+07 - 6.03e-01 6.21e-03h 1\n", + " 14 6.7700137e+08 1.57e+06 2.61e+04 -1.0 1.24e+07 - 6.73e-02 7.19e-01h 1\n", + " 15 6.7889573e+08 7.77e+05 1.11e+04 -1.0 3.13e+06 - 5.36e-01 5.48e-01h 1\n", + " 16 6.7889114e+08 7.61e+05 3.05e+04 -1.0 1.38e+06 - 7.79e-01 2.11e-02h 1\n", + " 17 6.7784987e+08 6.31e+05 2.96e+04 -1.0 4.33e+06 - 9.33e-01 1.73e-01f 1\n", + " 18 6.7624088e+08 6.21e+05 2.91e+04 -1.0 5.58e+07 - 2.83e-02 1.62e-02f 1\n", + " 19 6.7461814e+08 6.08e+05 2.85e+04 -1.0 5.89e+07 - 9.71e-02 2.05e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.7070415e+08 5.80e+05 2.73e+04 -1.0 6.37e+07 - 1.15e-01 4.58e-02f 1\n", + " 21 6.7049070e+08 5.77e+05 2.72e+04 -1.0 5.58e+07 - 3.46e-01 5.11e-03f 1\n", + " 22 6.7010344e+08 5.29e+05 2.50e+04 -1.0 1.19e+07 - 3.96e-01 8.40e-02h 1\n", + " 23 6.6819610e+08 1.90e+05 8.92e+03 -1.0 2.09e+07 - 9.55e-02 6.41e-01f 1\n", + " 24 6.6382684e+08 1.18e+05 1.42e+02 -1.0 2.17e+07 - 7.00e-01 1.00e+00f 1\n", + " 25 6.5787029e+08 2.56e+05 8.88e+01 -1.0 6.82e+07 - 4.42e-01 3.90e-01f 1\n", + " 26 6.5778824e+08 2.55e+05 8.85e+01 -1.0 1.13e+08 - 2.34e-01 3.59e-03f 1\n", + " 27 6.5246967e+08 5.12e+05 7.13e+01 -1.0 1.42e+08 - 2.67e-01 2.39e-01f 1\n", + " 28 6.5239720e+08 5.10e+05 7.11e+01 -1.0 1.56e+08 - 2.54e-01 3.16e-03f 1\n", + " 29 6.5203167e+08 4.98e+05 6.94e+01 -1.0 1.55e+08 - 1.43e-01 2.35e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.5188043e+08 4.72e+05 6.58e+01 -1.0 1.27e+07 - 5.72e-01 5.14e-02h 1\n", + " 31 6.5066901e+08 1.81e+06 4.81e+01 -1.0 3.09e+07 - 2.11e-01 2.69e-01f 1\n", + " 32 6.4780601e+08 8.43e+06 2.32e+01 -1.0 3.82e+07 - 6.13e-01 5.14e-01f 1\n", + " 33 6.4558695e+08 9.61e+06 1.93e+01 -1.0 8.84e+07 - 1.84e-01 1.70e-01f 1\n", + " 34 6.4546710e+08 9.53e+06 1.91e+01 -1.0 8.39e+07 - 3.71e-01 8.67e-03f 1\n", + " 35 6.3974644e+08 4.20e+07 1.44e+01 -1.0 1.24e+08 - 2.83e-02 2.75e-01f 1\n", + " 36 6.3963490e+08 4.17e+07 1.43e+01 -1.0 9.72e+07 - 1.13e-01 6.90e-03f 1\n", + " 37 6.3848360e+08 3.96e+07 1.33e+01 -1.0 9.79e+07 - 1.83e-01 6.96e-02f 1\n", + " 38 6.3809795e+08 3.85e+07 1.29e+01 -1.0 9.32e+07 - 5.05e-01 2.98e-02f 1\n", + " 39 6.3287105e+08 5.03e+07 1.03e+01 -1.0 9.34e+07 - 6.63e-01 4.08e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.3281162e+08 4.98e+07 1.25e+01 -1.0 5.30e+07 - 4.75e-01 9.22e-03h 1\n", + " 41 6.3149462e+08 2.33e+07 1.01e+01 -1.0 7.58e+07 - 1.11e-01 5.26e-01h 1\n", + " 42 6.3077401e+08 1.92e+07 9.04e+00 -1.0 4.74e+07 - 1.64e-02 2.02e-01f 1\n", + " 43 6.3076234e+08 1.90e+07 2.81e+01 -1.0 4.11e+07 - 8.13e-01 8.01e-03h 1\n", + " 44 6.3077377e+08 1.79e+07 4.16e+04 -1.0 6.67e+05 -4.0 8.68e-03 5.71e-02h 1\n", + " 45 6.3077389e+08 1.79e+07 4.16e+04 -1.0 6.29e+05 -4.5 8.89e-02 6.15e-04h 1\n", + " 46 6.3077495e+08 1.78e+07 6.47e+04 -1.0 6.15e+05 -5.0 5.60e-02 4.81e-03h 1\n", + " 47 6.3080534e+08 1.54e+07 7.70e+04 -1.0 6.12e+05 -5.4 1.99e-01 1.34e-01h 1\n", + " 48 6.3080576e+08 1.54e+07 7.21e+04 -1.0 5.29e+05 -5.9 2.27e-01 2.12e-03h 1\n", + " 49 6.3100542e+08 8.94e+04 5.59e+05 -1.0 5.26e+05 -6.4 8.36e-01 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.3100405e+08 5.88e+01 5.75e+02 -1.0 1.59e+03 -6.9 9.89e-01 1.00e+00h 1\n", + " 51 6.3100164e+08 1.75e-03 4.57e-02 -1.0 7.27e+02 -7.3 1.00e+00 1.00e+00f 1\n", + " 52 6.3050346e+08 1.79e+06 5.89e+00 -2.5 5.10e+08 - 6.72e-02 1.17e-02f 1\n", + " 53 6.3045940e+08 1.75e+06 6.68e+01 -2.5 2.31e+07 - 8.25e-01 2.18e-02f 1\n", + " 54 6.3025510e+08 3.73e+06 5.85e+01 -2.5 2.35e+07 - 7.30e-01 7.66e-01f 1\n", + " 55 6.3014490e+08 7.47e+06 5.06e+01 -2.5 1.16e+08 - 1.48e-01 1.86e-01h 1\n", + " 56 6.3011773e+08 7.07e+06 4.87e+01 -2.5 7.86e+07 - 5.42e-01 5.73e-02h 1\n", + " 57 6.3011550e+08 6.71e+06 4.54e+01 -2.5 2.76e+07 - 6.57e-01 5.13e-02h 1\n", + " 58 6.3009391e+08 5.13e+06 2.27e+01 -2.5 2.78e+07 - 1.00e+00 5.33e-01h 1\n", + " 59 6.3009019e+08 4.89e+06 2.00e+01 -2.5 3.75e+07 - 5.68e-01 1.23e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.3008977e+08 4.65e+06 1.90e+01 -2.5 1.80e+06 - 1.00e+00 4.98e-02h 1\n", + " 61 6.3008275e+08 2.60e+04 8.58e-02 -2.5 2.09e+05 - 1.00e+00 1.00e+00h 1\n", + " 62 6.3008275e+08 5.62e+01 1.12e-05 -2.5 3.95e+03 - 1.00e+00 1.00e+00h 1\n", + " 63 6.3008132e+08 2.71e+02 1.94e-04 -3.8 1.19e+05 - 1.00e+00 1.00e+00f 1\n", + " 64 6.3008133e+08 1.30e-02 3.57e-09 -3.8 8.70e+02 - 1.00e+00 1.00e+00h 1\n", + " 65 6.3008125e+08 8.56e-01 6.10e-07 -5.7 6.70e+03 - 1.00e+00 1.00e+00f 1\n", + " 66 6.3008125e+08 1.19e-06 1.85e-11 -5.7 2.57e+00 - 1.00e+00 1.00e+00h 1\n", + " 67 6.3008125e+08 1.32e-04 9.38e-11 -8.6 8.31e+01 - 1.00e+00 1.00e+00h 1\n", + " 68 6.3008125e+08 1.43e-06 1.82e-12 -9.0 7.24e-02 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 68\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.3008124529537505e+04 6.3008124529537499e+08\n", + "Dual infeasibility......: 1.8154512832239963e-12 1.8154512832239963e-08\n", + "Constraint violation....: 3.7252902984619141e-09 1.4305114746093750e-06\n", + "Complementarity.........: 9.0929553857292995e-10 9.0929553857292999e-06\n", + "Overall NLP error.......: 3.7252902984619141e-09 9.0929553857292999e-06\n", + "\n", + "\n", + "Number of objective function evaluations = 69\n", + "Number of objective gradient evaluations = 69\n", + "Number of equality constraint evaluations = 69\n", + "Number of inequality constraint evaluations = 69\n", + "Number of equality constraint Jacobian evaluations = 69\n", + "Number of inequality constraint Jacobian evaluations = 69\n", + "Number of Lagrangian Hessian evaluations = 68\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.833\n", + "Total CPU secs in NLP function evaluations = 97.417\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 460\n", + "Realized SOC (MPC) 1153640\n", + "Fixed costs: 60712.24\n", + "Variable costs: 42853.64\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 185.37\n", + "\n", + "Simulating time_step 2020-07-10 19:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15996\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6074\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.3027125e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 6.3021093e+08 9.97e+04 9.88e+01 -1.0 7.86e+05 - 3.73e-03 3.01e-03h 1\n", + " 2 6.3022038e+08 9.91e+04 1.00e+02 -1.0 3.94e+05 - 7.80e-05 6.48e-03h 1\n", + " 3 6.3028239e+08 9.82e+04 9.91e+01 -1.0 1.14e+05 - 9.50e-03 8.67e-03h 1\n", + " 4 6.3068574e+08 9.41e+04 9.89e+01 -1.0 1.06e+05 - 2.16e-02 4.16e-02h 1\n", + " 5 6.3146736e+08 8.67e+04 8.60e+01 -1.0 9.32e+04 - 4.42e-01 7.87e-02h 1\n", + " 6 6.4000988e+08 2.33e+03 9.68e+01 -1.0 1.37e+05 - 1.49e-01 9.73e-01h 1\n", + " 7 6.3997410e+08 1.81e+03 4.00e+01 -1.0 1.46e+05 - 9.88e-01 2.24e-01h 1\n", + " 8 6.3885959e+08 1.71e+03 4.53e+01 -1.0 9.90e+06 - 2.94e-02 5.62e-02f 1\n", + " 9 6.3873741e+08 1.70e+03 2.48e+01 -1.0 1.25e+07 - 1.95e-01 7.00e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.3150472e+08 8.02e+03 1.46e+01 -1.0 1.54e+07 - 9.48e-02 3.44e-01f 1\n", + " 11 6.3142571e+08 7.99e+03 4.17e+01 -1.0 1.68e+07 - 5.93e-01 3.69e-03f 1\n", + " 12 6.3037479e+08 8.31e+03 4.51e+01 -1.0 3.72e+07 - 1.93e-01 4.01e-02f 1\n", + " 13 6.3034540e+08 8.17e+03 5.37e+01 -1.0 5.16e+06 - 3.67e-01 1.75e-02h 1\n", + " 14 6.2854754e+08 1.79e+04 7.05e+01 -1.0 8.37e+06 - 3.56e-01 1.00e+00f 1\n", + " 15 6.2571649e+08 4.45e+04 2.45e+01 -1.0 1.33e+07 - 4.57e-01 9.73e-01f 1\n", + " 16 6.2045486e+08 1.53e+05 8.86e+00 -1.0 2.37e+07 - 6.38e-01 1.00e+00f 1\n", + " 17 6.1882306e+08 1.50e+05 1.55e+01 -1.0 6.18e+07 - 5.55e-01 1.19e-01f 1\n", + " 18 6.1869568e+08 1.49e+05 1.58e+01 -1.0 1.27e+08 - 5.75e-02 6.21e-03f 1\n", + " 19 6.1325605e+08 4.57e+05 8.63e+00 -1.0 1.34e+08 - 6.54e-01 2.59e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.1315566e+08 4.56e+05 1.10e+01 -1.0 2.48e+08 - 1.35e-01 3.14e-03f 1\n", + " 21 6.1252657e+08 4.45e+05 2.18e+01 -1.0 2.68e+08 - 3.22e-01 2.46e-02f 1\n", + " 22 6.1249554e+08 4.42e+05 1.77e+01 -1.0 2.83e+07 - 3.01e-01 5.41e-03h 1\n", + " 23 6.1155616e+08 8.36e+05 1.46e+01 -1.0 3.84e+07 - 1.88e-01 1.50e-01f 1\n", + " 24 6.1149685e+08 8.17e+05 6.22e+01 -1.0 2.09e+07 - 6.57e-01 2.37e-02h 1\n", + " 25 6.1062722e+08 2.19e+06 4.15e+01 -1.0 4.97e+07 - 8.13e-03 2.06e-01f 1\n", + " 26 6.0611512e+08 3.65e+07 1.11e+01 -1.0 6.41e+07 - 1.20e-01 7.15e-01f 1\n", + " 27 6.0607014e+08 3.63e+07 4.30e+00 -1.0 6.30e+07 - 3.72e-01 7.39e-03h 1\n", + " 28 6.0475269e+08 3.73e+07 8.65e+00 -1.0 7.88e+07 - 6.06e-01 2.77e-01f 1\n", + " 29 6.0205077e+08 3.56e+07 5.15e+00 -1.0 5.58e+07 - 3.48e-01 7.95e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.0201389e+08 1.66e+07 2.36e+00 -1.0 3.97e+06 - 6.24e-01 5.40e-01h 1\n", + " 31 6.0202208e+08 1.14e+07 4.41e+04 -1.0 5.69e+04 -4.0 1.27e-01 3.09e-01h 1\n", + " 32 6.0202218e+08 1.14e+07 4.39e+04 -1.0 3.91e+04 -4.5 7.84e-01 4.61e-03h 1\n", + " 33 6.0203428e+08 6.10e+06 4.66e+04 -1.0 3.90e+04 -5.0 7.43e-01 4.60e-01h 1\n", + " 34 6.0203438e+08 6.05e+06 4.40e+04 -1.0 2.09e+04 -5.4 1.00e+00 7.14e-03h 1\n", + " 35 6.0203438e+08 6.05e+06 6.28e+04 -1.0 2.09e+05 -5.9 5.25e-02 8.22e-05h 1\n", + " 36 6.0203887e+08 5.92e+06 1.73e+05 -1.0 1.63e+06 -6.4 5.72e-02 2.10e-02h 1\n", + " 37 6.0204118e+08 5.86e+06 2.98e+05 -1.0 1.60e+06 -6.9 1.66e-01 1.05e-02h 1\n", + " 38 6.0205702e+08 5.52e+06 2.80e+05 -1.0 1.59e+06 -7.3 4.44e-02 5.83e-02h 1\n", + " 39 6.0208427e+08 4.94e+06 1.84e+05 -1.0 1.53e+06 -7.8 3.77e-01 1.03e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.0215147e+08 3.71e+06 1.41e+05 -1.0 1.42e+06 -8.3 2.37e-01 2.43e-01h 1\n", + " 41 6.0230165e+08 1.11e+06 1.27e+05 -1.0 1.16e+06 -8.8 1.00e+00 6.69e-01h 1\n", + " 42 6.0230464e+08 6.51e+05 8.15e+04 -1.0 4.83e+05 -9.2 1.00e+00 4.08e-01h 1\n", + " 43 6.0231968e+08 7.62e+03 1.55e+04 -1.0 2.95e+05 -9.7 1.00e+00 1.00e+00h 1\n", + " 44 6.0219618e+08 7.54e+03 1.54e+04 -1.0 8.75e+07 - 1.00e+00 9.17e-03f 1\n", + " 45 6.0216910e+08 1.99e+01 1.47e+00 -1.0 4.43e+04 -10.2 1.00e+00 1.00e+00f 1\n", + " 46 6.0211729e+08 1.23e+06 5.35e+00 -1.0 2.97e+07 - 2.35e-01 3.74e-01f 1\n", + " 47 6.0211213e+08 4.58e+02 1.54e-01 -1.0 8.86e+04 -10.7 1.00e+00 1.00e+00h 1\n", + " 48 6.0208054e+08 2.49e+01 1.94e+00 -1.7 3.66e+04 -11.2 1.00e+00 9.42e-01f 1\n", + " 49 6.0207459e+08 1.62e+02 8.08e-03 -1.7 7.32e+04 -11.6 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.0206803e+08 3.28e+02 3.63e+00 -2.5 1.87e+05 -12.1 1.00e+00 4.94e-01f 1\n", + " 51 6.0206537e+08 1.23e+03 2.15e+00 -2.5 4.81e+05 -12.6 1.00e+00 4.08e-01h 1\n", + " 52 6.0206277e+08 1.44e+03 1.81e-02 -2.5 3.93e+05 -13.1 1.00e+00 1.00e+00h 1\n", + " 53 6.0206119e+08 1.39e+04 3.13e-03 -2.5 1.22e+06 -13.5 1.00e+00 1.00e+00h 1\n", + " 54 6.0205631e+08 1.42e+05 3.75e-02 -2.5 3.88e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 55 6.0205222e+08 1.96e+05 5.84e+00 -2.5 1.38e+07 -14.5 1.00e+00 2.21e-01h 1\n", + " 56 6.0204008e+08 7.96e+06 1.73e+00 -2.5 3.54e+07 -15.0 1.00e+00 7.72e-01h 1\n", + " 57 6.0203986e+08 7.86e+06 7.65e+00 -2.5 6.86e+06 -14.5 1.00e+00 1.26e-02h 1\n", + " 58 6.0202317e+08 7.45e+06 1.13e+00 -2.5 2.70e+07 -15.0 1.00e+00 9.53e-01h 1\n", + " 59 6.0199899e+08 1.08e+06 4.08e-01 -2.5 1.36e+07 -14.6 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.0199354e+08 1.20e+06 4.44e-01 -2.5 2.02e+08 -15.1 5.84e-01 1.94e-02h 1\n", + " 61 6.0198732e+08 7.30e+05 4.99e-02 -2.5 5.92e+06 -14.7 1.00e+00 1.00e+00h 1\n", + " 62 6.0198053e+08 3.51e+07 4.83e+00 -2.5 1.27e+08 -15.1 4.82e-01 4.01e-01h 1\n", + " 63 6.0197996e+08 3.49e+07 5.03e+00 -2.5 2.29e+07 -14.7 1.00e+00 6.26e-03h 1\n", + " 64 6.0192611e+08 3.60e+06 8.25e-01 -2.5 1.26e+07 - 6.43e-02 1.00e+00h 1\n", + " 65 6.0192257e+08 3.19e+06 6.60e-01 -2.5 1.97e+07 -15.2 1.00e+00 2.81e-01h 1\n", + " 66 6.0191486e+08 5.74e+06 9.13e-01 -2.5 6.24e+07 -15.7 2.85e-01 1.99e-01h 1\n", + " 67 6.0191476e+08 4.56e+06 7.25e-01 -2.5 7.09e+05 - 1.00e+00 2.05e-01h 1\n", + " 68 6.0191430e+08 2.68e+04 3.34e-03 -2.5 5.72e+05 - 1.00e+00 1.00e+00h 1\n", + " 69 6.0191429e+08 4.26e+01 6.85e-06 -2.5 3.73e+03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.0191282e+08 2.21e+02 1.73e-04 -3.8 1.07e+05 - 1.00e+00 1.00e+00f 1\n", + " 71 6.0191282e+08 1.47e-02 5.00e-07 -3.8 9.12e+02 - 1.00e+00 1.00e+00h 1\n", + " 72 6.0191275e+08 5.90e-01 4.29e-01 -5.7 6.03e+03 - 1.00e+00 9.16e-01f 1\n", + " 73 6.0191274e+08 4.68e-03 1.20e-06 -5.7 4.93e+02 - 1.00e+00 1.00e+00h 1\n", + "In iteration 73, 1 Slack too small, adjusting variable bound\n", + " 74 6.0191274e+08 1.30e-04 3.23e-03 -8.6 7.20e+01 - 1.00e+00 9.93e-01h 1\n", + " 75 6.0191274e+08 9.54e-07 1.08e-12 -8.6 4.60e-01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 75\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.0191273784138277e+04 6.0191273784138274e+08\n", + "Dual infeasibility......: 1.0788152964420463e-12 1.0788152964420463e-08\n", + "Constraint violation....: 2.5611370801925659e-09 9.5367431640625000e-07\n", + "Complementarity.........: 2.5082265614433174e-09 2.5082265614433173e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5082265614433173e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 76\n", + "Number of objective gradient evaluations = 76\n", + "Number of equality constraint evaluations = 76\n", + "Number of inequality constraint evaluations = 76\n", + "Number of equality constraint Jacobian evaluations = 76\n", + "Number of inequality constraint Jacobian evaluations = 76\n", + "Number of Lagrangian Hessian evaluations = 75\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.061\n", + "Total CPU secs in NLP function evaluations = 98.901\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 460\n", + "Realized SOC (MPC) 1118848\n", + "Fixed costs: 64170.19\n", + "Variable costs: 45805.42\n", + "\n", + "Number on/offs: 3\n", + "Sum on/off ramps: 24.00\n", + "Sum nominal ramps: 109.51\n", + "\n", + "Simulating time_step 2020-07-10 20:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15992\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6073\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.0211273e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 6.0207484e+08 9.98e+04 9.92e+01 -1.0 2.36e+05 - 3.52e-03 2.11e-03h 1\n", + " 2 6.0208847e+08 9.92e+04 9.86e+01 -1.0 1.69e+05 - 4.15e-03 5.86e-03h 1\n", + " 3 6.0219965e+08 9.81e+04 9.77e+01 -1.0 9.87e+04 - 9.95e-03 1.13e-02h 1\n", + " 4 6.0277702e+08 9.36e+04 9.87e+01 -1.0 1.11e+05 - 2.36e-02 4.60e-02h 1\n", + " 5 6.0400664e+08 8.45e+04 8.40e+01 -1.0 9.31e+04 - 3.83e-01 9.68e-02h 1\n", + " 6 6.0520371e+08 7.54e+04 7.50e+01 -1.0 1.59e+05 - 2.04e-01 1.08e-01h 1\n", + " 7 6.0532586e+08 7.44e+04 2.16e+02 -1.0 4.21e+06 - 3.75e-01 1.33e-02h 1\n", + " 8 6.1057381e+08 1.33e+05 1.01e+02 -1.0 4.55e+06 - 6.79e-01 5.95e-01h 1\n", + " 9 6.1206669e+08 6.96e+04 3.80e+01 -1.0 1.84e+06 - 9.54e-01 7.33e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.1169004e+08 6.86e+04 4.14e+01 -1.0 1.41e+07 - 8.47e-02 1.44e-02f 1\n", + " 11 6.0875063e+08 5.93e+04 3.62e+01 -1.0 1.64e+07 - 1.45e-01 1.37e-01f 1\n", + " 12 6.0490246e+08 5.03e+04 4.47e+01 -1.0 1.90e+07 - 4.74e-01 1.53e-01f 1\n", + " 13 6.0481345e+08 5.02e+04 4.90e+01 -1.0 3.48e+07 - 1.92e-01 2.93e-03f 1\n", + " 14 6.0153224e+08 4.47e+04 6.48e+01 -1.0 4.24e+07 - 7.07e-01 1.12e-01f 1\n", + " 15 6.0147781e+08 4.44e+04 7.62e+01 -1.0 1.65e+07 - 4.26e-01 6.93e-03h 1\n", + " 16 5.9575710e+08 1.78e+05 7.23e+01 -1.0 2.63e+07 - 2.60e-01 1.00e+00f 1\n", + " 17 5.9058086e+08 2.19e+05 2.60e+01 -1.0 3.64e+07 - 4.68e-01 6.55e-01f 1\n", + " 18 5.9051711e+08 2.18e+05 2.36e+01 -1.0 6.38e+07 - 2.18e-01 4.87e-03f 1\n", + " 19 5.8472608e+08 5.24e+05 1.04e+01 -1.0 8.02e+07 - 6.62e-01 4.68e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.8465255e+08 5.22e+05 1.07e+01 -1.0 1.69e+08 - 1.86e-01 2.88e-03f 1\n", + " 21 5.8403849e+08 5.04e+05 1.67e+01 -1.0 1.96e+08 - 5.30e-01 3.38e-02f 1\n", + " 22 5.8399924e+08 5.00e+05 2.18e+01 -1.0 2.45e+07 - 7.76e-01 8.70e-03h 1\n", + " 23 5.8309345e+08 6.37e+05 2.09e+01 -1.0 6.96e+07 - 1.04e-01 7.12e-02f 1\n", + " 24 5.8283708e+08 6.70e+05 5.27e+01 -1.0 6.44e+07 - 4.79e-01 4.87e-02f 1\n", + " 25 5.8282822e+08 5.91e+05 3.18e+03 -1.0 5.74e+04 -4.0 6.90e-02 1.17e-01h 1\n", + " 26 5.8282813e+08 5.91e+05 2.71e+04 -1.0 5.07e+04 -4.5 9.28e-01 1.35e-03h 1\n", + " 27 5.8282538e+08 5.63e+05 1.26e+04 -1.0 5.06e+04 -5.0 2.68e-02 4.60e-02h 1\n", + " 28 5.8282531e+08 5.62e+05 3.55e+04 -1.0 4.74e+04 -5.4 9.45e-02 1.87e-03h 1\n", + " 29 5.8279325e+08 9.28e+04 3.33e+04 -1.0 4.70e+04 -5.9 6.56e-02 8.35e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.8278737e+08 4.41e+00 8.46e+02 -1.0 7.79e+03 -6.4 9.92e-01 1.00e+00h 1\n", + " 31 5.8278733e+08 8.73e-05 1.59e-01 -1.0 9.05e+01 -6.9 1.00e+00 1.00e+00f 1\n", + " 32 5.8277035e+08 5.53e-04 3.65e+00 -2.5 4.25e+02 -7.3 1.00e+00 9.09e-01f 1\n", + " 33 5.8241628e+08 6.91e+05 3.65e+00 -2.5 2.74e+09 - 4.18e-03 2.15e-03f 1\n", + " 34 5.8148212e+08 6.45e+06 3.63e+00 -2.5 3.51e+09 - 4.02e-04 4.90e-03f 1\n", + " 35 5.7964333e+08 2.93e+07 3.59e+00 -2.5 3.69e+09 - 1.02e-02 9.54e-03f 1\n", + " 36 5.7697930e+08 5.36e+07 3.99e+00 -2.5 3.74e+09 - 2.28e-02 1.35e-02f 1\n", + " 37 5.7693519e+08 5.35e+07 4.19e+00 -2.5 2.96e+09 - 6.62e-02 2.50e-04f 1\n", + " 38 5.7638515e+08 4.71e+07 9.70e+00 -2.5 1.84e+09 - 1.20e-01 4.29e-03f 1\n", + " 39 5.7576186e+08 4.64e+07 1.07e+01 -2.5 7.47e+08 - 3.66e-02 1.37e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.7575929e+08 4.64e+07 1.25e+01 -2.5 3.98e+08 - 3.76e-02 8.75e-05h 1\n", + " 41 5.7462812e+08 4.34e+07 1.02e+01 -2.5 4.25e+08 - 1.63e-04 6.54e-02f 1\n", + " 42 5.7461086e+08 4.33e+07 1.03e+01 -2.5 4.91e+08 - 3.67e-02 8.54e-04h 1\n", + " 43 5.7292891e+08 3.97e+07 2.30e+01 -2.5 4.90e+08 - 1.17e-04 8.37e-02f 1\n", + " 44 5.7292432e+08 3.97e+07 2.31e+01 -2.5 8.52e+08 - 6.15e-02 1.34e-04h 1\n", + " 45 5.7292073e+08 3.73e+07 4.56e+01 -2.5 2.02e+07 - 9.46e-01 5.98e-02h 1\n", + " 46 5.7291694e+08 3.42e+07 4.39e+01 -2.5 1.97e+07 - 1.00e+00 8.32e-02h 1\n", + " 47 5.7290230e+08 1.99e+06 1.78e+01 -2.5 9.68e+06 - 1.00e+00 1.00e+00h 1\n", + " 48 5.7290235e+08 1.79e+06 1.75e+01 -2.5 1.40e+04 -7.8 4.39e-02 1.03e-01h 1\n", + " 49 5.7290225e+08 1.78e+06 3.03e+01 -2.5 4.85e+06 - 1.00e+00 4.05e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.7290226e+08 1.63e+06 2.75e+01 -2.5 1.35e+06 - 1.00e+00 8.30e-02h 1\n", + " 51 5.7290246e+08 1.63e+06 2.73e+01 -2.5 1.51e+08 - 2.26e-02 2.72e-03h 5\n", + " 52 5.7291587e+08 1.60e+06 2.41e+01 -2.5 2.36e+07 - 4.72e-04 1.19e-01h 3\n", + " 53 5.7301653e+08 4.23e+05 1.07e+01 -2.5 5.34e+06 - 1.00e+00 1.00e+00h 1\n", + " 54 5.7301585e+08 3.31e+05 4.73e+02 -2.5 8.19e+04 -8.3 6.29e-03 2.18e-01h 1\n", + " 55 5.7301576e+08 2.96e+02 1.47e+01 -2.5 1.43e+04 -8.8 3.04e-01 1.00e+00h 1\n", + " 56 5.7301528e+08 1.93e+02 8.55e+00 -2.5 7.10e+03 -9.2 1.00e+00 3.47e-01h 1\n", + " 57 5.7301477e+08 1.00e+01 3.52e-02 -2.5 1.18e+04 -9.7 1.00e+00 1.00e+00f 1\n", + " 58 5.7301238e+08 9.04e+01 4.20e-03 -2.5 3.53e+04 -10.2 1.00e+00 1.00e+00f 1\n", + " 59 5.7300793e+08 3.10e+02 4.65e-01 -3.8 1.05e+05 -10.7 1.00e+00 5.84e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 5.7300608e+08 3.44e+02 5.52e+00 -3.8 2.88e+05 -11.2 1.00e+00 1.05e-01f 1\n", + " 61 5.7300572e+08 8.89e+01 3.62e+00 -3.8 4.11e+03 -11.6 1.00e+00 7.41e-01h 1\n", + " 62 5.7300558e+08 1.54e+00 1.14e-03 -3.8 1.28e+04 -12.1 1.00e+00 1.00e+00h 1\n", + " 63 5.7300549e+08 1.42e+01 2.26e-06 -5.7 3.88e+04 -12.6 1.00e+00 1.00e+00h 1\n", + " 64 5.7300545e+08 1.26e+02 3.69e-05 -5.7 1.16e+05 -13.1 1.00e+00 1.00e+00h 1\n", + " 65 5.7300532e+08 1.18e+03 2.69e-04 -5.7 3.54e+05 -13.5 1.00e+00 1.00e+00h 1\n", + " 66 5.7300491e+08 1.20e+04 2.74e-03 -5.7 1.13e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 67 5.7300325e+08 1.65e+05 3.75e-02 -5.7 4.17e+06 -14.5 1.00e+00 1.00e+00h 1\n", + " 68 5.7299989e+08 5.31e+05 1.22e-01 -5.7 3.31e+07 -15.0 1.00e+00 1.96e-01h 1\n", + " 69 5.7299910e+08 5.44e+04 1.58e-02 -5.7 1.84e+06 -14.5 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 5.7299494e+08 3.10e+06 6.67e-01 -5.7 1.81e+07 -15.0 1.00e+00 1.00e+00h 1\n", + " 71 5.7298415e+08 1.16e+06 1.78e-01 -5.7 9.05e+06 -14.6 1.00e+00 9.37e-01h 1\n", + " 72 5.7297140e+08 2.58e+06 4.36e-01 -5.7 1.55e+08 -15.1 2.84e-01 7.71e-02h 1\n", + " 73r 5.7297140e+08 2.58e+06 9.99e+02 2.7 0.00e+00 -15.6 0.00e+00 2.26e-07R 5\n", + " 74r 5.7297277e+08 2.58e+06 9.99e+02 2.7 3.08e+08 - 1.25e-05 1.15e-05f 1\n", + " 75r 5.7297743e+08 1.99e+06 9.94e+02 1.3 2.11e+06 - 6.34e-03 1.03e-03f 1\n", + " 76 5.7297077e+08 2.20e+06 5.03e+01 -5.7 1.10e+13 - 7.38e-06 4.30e-07f 1\n", + " 77 5.7295554e+08 5.24e+06 5.03e+01 -5.7 3.42e+12 - 2.33e-05 4.78e-06f 1\n", + " 78 5.7295517e+08 5.24e+06 5.02e+01 -5.7 1.75e+10 - 7.26e-03 1.07e-05h 1\n", + " 79 5.7295511e+08 5.20e+06 3.94e+01 -5.7 2.38e+06 - 8.97e-01 7.22e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 5.7295073e+08 1.07e+07 1.33e+02 -5.7 2.74e+07 -16.0 1.74e-03 9.43e-01h 1\n", + " 81 5.7292470e+08 4.48e+06 7.24e+00 -5.7 1.54e+07 -14.7 1.00e+00 9.80e-01h 1\n", + " 82 5.7292261e+08 3.91e+06 6.25e+00 -5.7 6.75e+06 -14.3 1.00e+00 1.37e-01h 1\n", + " 83 5.7291941e+08 1.65e+05 4.17e-02 -5.7 4.41e+05 - 1.00e+00 1.00e+00h 1\n", + " 84 5.7291870e+08 2.14e+03 4.31e-02 -5.7 4.46e+05 - 1.00e+00 9.90e-01h 1\n", + " 85 5.7291869e+08 4.15e-01 1.71e-02 -5.7 1.62e+02 - 1.00e+00 1.00e+00h 1\n", + " 86 5.7291869e+08 1.19e-06 4.49e-02 -5.7 1.86e-02 - 1.00e+00 1.00e+00h 1\n", + " 87 5.7291869e+08 7.15e-07 4.49e-02 -5.7 2.50e-05 - 1.00e+00 1.00e+00h 1\n", + " 88 5.7291869e+08 9.54e-07 1.85e-11 -5.7 1.60e-05 - 1.00e+00 1.00e+00h 1\n", + " 89 5.7291869e+08 1.05e-03 2.29e-10 -8.6 2.27e+02 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90 5.7291869e+08 9.54e-07 1.10e-12 -8.6 7.56e-03 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 90\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.7291869030302907e+04 5.7291869030302906e+08\n", + "Dual infeasibility......: 1.1042483539180635e-12 1.1042483539180635e-08\n", + "Constraint violation....: 2.5611370801925659e-09 9.5367431640625000e-07\n", + "Complementarity.........: 2.5061259813713776e-09 2.5061259813713776e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5061259813713776e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 107\n", + "Number of objective gradient evaluations = 90\n", + "Number of equality constraint evaluations = 107\n", + "Number of inequality constraint evaluations = 107\n", + "Number of equality constraint Jacobian evaluations = 92\n", + "Number of inequality constraint Jacobian evaluations = 92\n", + "Number of Lagrangian Hessian evaluations = 90\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.275\n", + "Total CPU secs in NLP function evaluations = 145.983\n", + "\n", + "EXIT: Optimal Solution Found.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 452\n", + "Realized SOC (MPC) 1046189\n", + "Fixed costs: 60712.24\n", + "Variable costs: 45575.26\n", + "\n", + "Number on/offs: 3\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 36.68\n", + "\n", + "Simulating time_step 2020-07-10 21:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15988\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6072\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.7311869e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.7301080e+08 9.94e+04 7.53e+01 -1.0 1.11e+05 - 9.61e-01 6.01e-03h 1\n", + " 2 5.7297935e+08 7.46e+04 4.41e+01 -1.0 2.49e+06 - 9.90e-02 2.49e-01h 1\n", + " 3 5.7296494e+08 7.03e+04 4.76e+01 -1.0 6.19e+06 - 2.31e-01 5.82e-02h 1\n", + " 4 5.7296373e+08 7.00e+04 1.34e+03 -1.0 5.93e+06 - 2.86e-01 4.17e-03h 1\n", + " 5 5.7288843e+08 5.98e+04 2.27e+03 -1.0 5.86e+06 - 5.81e-01 1.46e-01h 1\n", + " 6 5.7261261e+08 5.90e+04 1.80e+03 -1.0 4.69e+06 - 3.84e-02 5.22e-01h 1\n", + " 7 5.7260890e+08 5.83e+04 1.59e+03 -1.0 2.48e+06 - 7.57e-02 1.17e-02h 1\n", + " 8 5.7300252e+08 4.30e+04 1.89e+03 -1.0 2.53e+06 - 1.28e-02 3.56e-01h 1\n", + " 9 5.7317571e+08 3.50e+04 2.53e+02 -1.0 1.97e+06 - 6.94e-01 2.03e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.7344518e+08 1.02e+04 3.48e+02 -1.0 3.79e+06 - 5.57e-01 1.00e+00h 1\n", + " 11 5.7195022e+08 1.08e+04 1.26e+02 -1.0 6.79e+06 - 6.39e-01 1.00e+00f 1\n", + " 12 5.6787686e+08 8.32e+04 6.49e+01 -1.0 1.87e+07 - 4.85e-01 1.00e+00f 1\n", + " 13 5.6080203e+08 2.63e+05 2.33e+01 -1.0 3.49e+07 - 6.45e-01 9.18e-01f 1\n", + " 14 5.6071528e+08 2.62e+05 3.27e+01 -1.0 8.98e+07 - 5.83e-01 4.65e-03f 1\n", + " 15 5.5531756e+08 5.47e+05 2.92e+01 -1.0 1.89e+08 - 4.31e-02 1.89e-01f 1\n", + " 16 5.5524820e+08 5.46e+05 2.05e+01 -1.0 1.68e+08 - 8.92e-01 2.81e-03f 1\n", + " 17 5.5456791e+08 5.33e+05 2.63e+01 -1.0 2.57e+08 - 1.59e-01 2.03e-02f 1\n", + " 18 5.5372287e+08 8.35e+05 1.92e+01 -1.0 7.89e+07 - 3.52e-01 6.88e-02f 1\n", + " 19 5.5352628e+08 7.94e+05 4.34e+01 -1.0 4.67e+07 - 4.23e-01 5.00e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.5253546e+08 4.72e+06 2.28e+01 -1.0 6.11e+07 - 7.80e-03 2.28e-01f 1\n", + " 21 5.4850957e+08 4.89e+07 2.67e+01 -1.0 6.84e+07 - 2.44e-01 9.29e-01f 1\n", + " 22 5.4822829e+08 3.24e+07 4.52e+00 -1.0 1.36e+07 - 8.70e-01 3.89e-01h 1\n", + " 23 5.4810243e+08 2.36e+07 4.10e+00 -1.0 5.89e+07 - 5.85e-01 2.85e-01h 1\n", + " 24 5.4782306e+08 5.35e+07 1.24e+01 -1.0 9.70e+07 - 3.78e-01 6.36e-01h 1\n", + " 25 5.4781884e+08 5.20e+07 1.38e+01 -1.0 1.27e+07 - 8.25e-01 2.81e-02h 1\n", + " 26 5.4779150e+08 3.54e+07 9.65e+00 -1.0 5.96e+07 - 3.14e-02 3.27e-01h 1\n", + " 27 5.4778902e+08 1.98e+07 5.09e+00 -1.0 8.62e+06 - 3.94e-01 4.53e-01h 1\n", + " 28 5.4778003e+08 5.48e+06 1.90e+00 -1.0 1.12e+07 - 9.92e-01 7.12e-01h 1\n", + " 29 5.4778337e+08 7.26e+04 8.11e-03 -1.0 7.83e+05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.4778359e+08 6.40e+01 1.70e-04 -1.0 3.84e+04 - 1.00e+00 1.00e+00h 1\n", + " 31 5.4774757e+08 2.60e+05 1.79e+01 -2.5 6.41e+06 - 9.57e-01 5.16e-01f 1\n", + " 32 5.4772482e+08 2.90e+04 2.22e+00 -2.5 4.62e+05 - 1.00e+00 8.87e-01h 1\n", + " 33 5.4772204e+08 4.15e+02 4.61e-04 -2.5 1.45e+05 - 1.00e+00 1.00e+00h 1\n", + " 34 5.4772204e+08 8.17e-04 2.83e-08 -2.5 2.06e+02 - 1.00e+00 1.00e+00h 1\n", + " 35 5.4772054e+08 1.02e+01 2.04e-03 -3.8 2.66e+04 - 1.00e+00 9.98e-01f 1\n", + " 36 5.4772054e+08 3.41e-02 7.05e-09 -3.8 1.28e+03 - 1.00e+00 1.00e+00h 1\n", + " 37 5.4772045e+08 2.55e-02 6.71e-08 -5.7 1.48e+03 - 1.00e+00 1.00e+00f 1\n", + " 38 5.4772045e+08 6.20e-06 1.59e-11 -8.6 1.85e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 38\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.4772045249444061e+04 5.4772045249444056e+08\n", + "Dual infeasibility......: 1.5857529964615223e-11 1.5857529964615223e-07\n", + "Constraint violation....: 3.7252902984619141e-09 6.1988830566406250e-06\n", + "Complementarity.........: 2.5382083211130782e-09 2.5382083211130781e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5382083211130781e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 39\n", + "Number of objective gradient evaluations = 39\n", + "Number of equality constraint evaluations = 39\n", + "Number of inequality constraint evaluations = 39\n", + "Number of equality constraint Jacobian evaluations = 39\n", + "Number of inequality constraint Jacobian evaluations = 39\n", + "Number of Lagrangian Hessian evaluations = 38\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.191\n", + "Total CPU secs in NLP function evaluations = 48.240\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 451\n", + "Realized SOC (MPC) 1464254\n", + "Fixed costs: 60712.24\n", + "Variable costs: 42390.29\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 117.45\n", + "\n", + "Simulating time_step 2020-07-10 22:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15984\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6071\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.4792045e+08 4.18e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 5.4781555e+08 4.16e+05 8.61e+01 -1.0 4.18e+05 - 6.39e-01 5.84e-03h 1\n", + " 2 5.4795509e+08 3.61e+05 1.06e+02 -1.0 1.65e+06 - 1.51e-02 1.32e-01h 1\n", + " 3 5.5002187e+08 5.16e+04 1.05e+02 -1.0 3.61e+05 - 6.16e-02 8.57e-01h 1\n", + " 4 5.5010538e+08 2.81e+04 2.47e+01 -1.0 2.04e+05 - 9.47e-01 4.56e-01h 1\n", + " 5 5.5002012e+08 2.70e+04 2.31e+01 -1.0 3.64e+06 - 2.41e-01 3.80e-02h 1\n", + " 6 5.4882526e+08 1.65e+04 1.97e+01 -1.0 4.88e+06 - 4.90e-01 3.90e-01h 1\n", + " 7 5.4881287e+08 1.64e+04 4.25e+01 -1.0 4.20e+06 - 6.60e-01 4.49e-03h 1\n", + " 8 5.4853344e+08 1.49e+03 1.48e+02 -1.0 2.58e+06 - 1.21e-01 9.74e-01h 1\n", + " 9 5.4799693e+08 1.86e+03 3.80e+01 -1.0 3.34e+06 - 7.57e-01 7.48e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.4507704e+08 4.50e+04 1.11e+01 -1.0 1.37e+07 - 2.58e-01 1.00e+00f 1\n", + " 11 5.4115072e+08 8.12e+04 4.48e+00 -1.0 1.81e+07 - 8.16e-01 1.00e+00f 1\n", + " 12 5.3596411e+08 2.06e+05 4.82e+00 -1.0 9.00e+07 - 3.11e-01 2.66e-01f 1\n", + " 13 5.3588603e+08 2.05e+05 1.15e+01 -1.0 1.22e+08 - 1.51e-01 3.33e-03f 1\n", + " 14 5.3088594e+08 4.43e+05 1.13e+01 -1.0 1.40e+08 - 9.26e-01 2.32e-01f 1\n", + " 15 5.3070185e+08 4.42e+05 1.43e+01 -1.0 4.93e+08 - 6.89e-02 3.01e-03f 1\n", + " 16 5.2993477e+08 4.34e+05 2.58e+01 -1.0 4.83e+08 - 1.65e-01 1.47e-02f 1\n", + " 17 5.2981741e+08 4.30e+05 2.39e+01 -1.0 7.56e+07 - 1.07e-01 9.54e-03f 1\n", + " 18 5.2910327e+08 4.78e+05 2.25e+01 -1.0 5.58e+07 - 5.44e-02 7.25e-02f 1\n", + " 19 5.2891609e+08 4.98e+05 2.10e+01 -1.0 4.07e+07 - 6.77e-02 6.03e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.2771204e+08 5.70e+06 1.68e+01 -1.0 4.38e+07 - 1.50e-01 3.67e-01f 1\n", + " 21 5.2733444e+08 5.95e+06 2.23e+01 -1.0 5.38e+07 - 6.32e-01 1.14e-01f 1\n", + " 22 5.2278414e+08 4.79e+07 1.17e+01 -1.0 9.08e+07 - 3.90e-01 8.27e-01f 1\n", + " 23 5.2270727e+08 2.55e+07 7.38e+00 -1.0 1.57e+06 - 9.90e-01 4.78e-01h 1\n", + " 24 5.2272407e+08 2.08e+07 1.13e+05 -1.0 3.40e+05 -4.0 1.80e-02 1.84e-01h 1\n", + " 25 5.2273561e+08 1.80e+07 1.03e+05 -1.0 2.77e+05 -4.5 2.23e-01 1.30e-01h 1\n", + " 26 5.2273578e+08 1.80e+07 1.02e+05 -1.0 2.41e+05 -5.0 6.67e-01 2.08e-03h 1\n", + " 27 5.2280830e+08 1.45e+06 3.08e+05 -1.0 2.41e+05 -5.4 6.15e-01 8.93e-01h 1\n", + " 28 5.2280852e+08 1.42e+06 3.00e+05 -1.0 2.56e+04 -5.9 1.00e+00 2.67e-02h 1\n", + " 29 5.2280853e+08 1.41e+06 3.00e+05 -1.0 2.49e+04 -6.4 1.00e+00 2.76e-04h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.2281176e+08 1.38e+06 2.94e+05 -1.0 1.95e+06 -6.9 1.80e-02 2.11e-02h 1\n", + " 31 5.2282558e+08 1.26e+06 2.67e+05 -1.0 1.91e+06 -7.3 2.37e-01 9.14e-02h 1\n", + " 32 5.2282747e+08 1.24e+06 2.64e+05 -1.0 1.73e+06 -7.8 1.61e-01 1.09e-02h 1\n", + " 33 5.2284020e+08 1.17e+06 2.48e+05 -1.0 1.71e+06 -8.3 8.94e-01 6.28e-02h 1\n", + " 34 5.2293317e+08 7.59e+05 1.74e+05 -1.0 1.60e+06 -8.8 2.24e-01 3.53e-01h 1\n", + " 35 5.2302981e+08 3.00e+05 1.19e+05 -1.0 1.03e+06 -9.2 1.00e+00 6.14e-01h 1\n", + " 36 5.2307227e+08 3.05e+03 2.43e+04 -1.0 3.96e+05 -9.7 1.00e+00 1.00e+00h 1\n", + " 37 5.2295854e+08 1.09e+03 8.64e+03 -1.0 2.40e+05 -10.2 1.00e+00 6.44e-01f 1\n", + " 38 5.2285374e+08 6.54e+02 5.12e+03 -1.0 3.91e+05 -10.7 1.00e+00 4.07e-01f 1\n", + " 39 5.2280388e+08 4.71e+02 3.69e+03 -1.0 5.86e+05 -11.2 1.00e+00 2.80e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.2279737e+08 1.30e+04 2.53e+03 -1.0 3.51e+06 - 9.89e-01 3.14e-01h 1\n", + " 41 5.2280104e+08 1.45e+06 2.31e+01 -1.0 7.96e+06 - 1.00e+00 1.00e+00f 1\n", + " 42 5.2280105e+08 1.48e+02 2.10e-03 -1.0 3.74e+04 -11.6 1.00e+00 1.00e+00h 1\n", + " 43 5.2275146e+08 7.10e+02 1.84e+00 -2.5 1.92e+05 -12.1 1.00e+00 9.55e-01f 1\n", + " 44 5.2274583e+08 1.59e+03 7.09e-01 -2.5 3.71e+05 -12.6 1.00e+00 6.17e-01h 1\n", + " 45 5.2274496e+08 1.88e+03 9.23e-01 -2.5 7.18e+05 -13.1 1.00e+00 1.97e-01h 1\n", + " 46 5.2274425e+08 7.06e+01 2.49e-03 -2.5 5.72e+04 -13.5 1.00e+00 1.00e+00h 1\n", + " 47 5.2274274e+08 7.34e+02 3.02e-04 -3.8 1.85e+05 -14.0 1.00e+00 1.00e+00h 1\n", + " 48 5.2274271e+08 5.13e+03 5.95e-04 -3.8 5.23e+05 -14.5 1.00e+00 1.00e+00h 1\n", + " 49 5.2274251e+08 1.14e+05 2.31e-02 -3.8 3.32e+06 -15.0 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.2274215e+08 2.85e+04 5.07e-03 -3.8 1.60e+06 -14.5 1.00e+00 1.00e+00h 1\n", + " 51 5.2273854e+08 3.25e+06 6.55e-01 -3.8 1.82e+07 -15.0 1.00e+00 1.00e+00h 1\n", + " 52 5.2272516e+08 1.29e+06 1.64e-01 -3.8 9.52e+06 -14.6 1.00e+00 1.00e+00h 1\n", + " 53 5.2269596e+08 7.42e+06 1.33e+00 -3.8 1.89e+08 -15.1 3.96e-01 1.33e-01h 1\n", + " 54 5.2269595e+08 7.42e+06 2.20e+00 -3.8 2.56e+08 -15.6 6.05e-01 3.75e-05h 1\n", + " 55 5.2269180e+08 5.53e+06 9.91e-01 -3.8 2.76e+06 - 1.00e+00 2.59e-01h 1\n", + " 56 5.2268189e+08 1.46e+04 1.66e-02 -3.8 4.06e+05 - 1.00e+00 1.00e+00h 1\n", + " 57 5.2268188e+08 1.45e+00 8.91e-08 -3.8 4.01e+03 - 1.00e+00 1.00e+00h 1\n", + " 58 5.2268179e+08 3.57e-02 9.38e-08 -5.7 1.27e+03 - 1.00e+00 1.00e+00h 1\n", + " 59 5.2268179e+08 4.77e-06 1.39e-11 -8.6 1.51e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 59\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.2268179292020366e+04 5.2268179292020363e+08\n", + "Dual infeasibility......: 1.3887258465621773e-11 1.3887258465621773e-07\n", + "Constraint violation....: 3.7252902984619141e-09 4.7683715820312500e-06\n", + "Complementarity.........: 2.5224939874834616e-09 2.5224939874834615e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5224939874834615e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 60\n", + "Number of objective gradient evaluations = 60\n", + "Number of equality constraint evaluations = 60\n", + "Number of inequality constraint evaluations = 60\n", + "Number of equality constraint Jacobian evaluations = 60\n", + "Number of inequality constraint Jacobian evaluations = 60\n", + "Number of Lagrangian Hessian evaluations = 59\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.816\n", + "Total CPU secs in NLP function evaluations = 72.049\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 449\n", + "Realized SOC (MPC) 1143862\n", + "Fixed costs: 60712.24\n", + "Variable costs: 33207.34\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 351.37\n", + "\n", + "Simulating time_step 2020-07-10 23:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15980\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6070\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.2288179e+08 3.20e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 5.2276821e+08 3.18e+05 6.82e+01 -1.0 3.21e+05 - 9.33e-01 6.33e-03h 1\n", + " 2 5.2286571e+08 7.73e+04 1.08e+02 -1.0 2.24e+06 - 1.63e-01 7.57e-01h 1\n", + " 3 5.2286532e+08 7.49e+04 9.60e+01 -1.0 5.46e+05 - 9.27e-01 3.12e-02h 1\n", + " 4 5.2304176e+08 4.51e+04 8.10e+01 -1.0 1.97e+06 - 3.21e-02 3.97e-01h 1\n", + " 5 5.2313318e+08 3.77e+04 6.73e+01 -1.0 1.90e+06 - 6.46e-01 1.65e-01h 1\n", + " 6 5.2297303e+08 1.30e+04 1.05e+01 -1.0 4.93e+06 - 3.22e-01 1.00e+00h 1\n", + " 7 5.2146250e+08 1.12e+04 2.90e+00 -1.0 6.87e+06 - 6.62e-01 1.00e+00f 1\n", + " 8 5.1706844e+08 9.82e+04 1.34e+00 -1.0 2.02e+07 - 8.78e-01 1.00e+00f 1\n", + " 9 5.1083638e+08 2.75e+05 3.77e+00 -1.0 1.40e+08 - 2.21e-01 2.02e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.1074196e+08 2.74e+05 1.22e+01 -1.0 1.72e+08 - 1.16e-01 2.87e-03f 1\n", + " 11 5.0531062e+08 5.61e+05 1.06e+01 -1.0 1.88e+08 - 6.64e-01 1.91e-01f 1\n", + " 12 5.0519943e+08 5.59e+05 1.44e+01 -1.0 3.07e+08 - 1.16e-01 2.95e-03f 1\n", + " 13 5.0474298e+08 5.48e+05 3.72e+01 -1.0 2.22e+08 - 7.42e-01 2.04e-02f 1\n", + " 14 5.0398319e+08 7.25e+05 2.32e+01 -1.0 7.80e+07 - 4.97e-01 6.50e-02f 1\n", + " 15 5.0358877e+08 1.28e+06 1.99e+01 -1.0 5.01e+07 - 9.22e-02 1.22e-01f 1\n", + " 16 5.0080340e+08 3.53e+07 3.31e+01 -1.0 5.40e+07 - 2.35e-01 8.06e-01f 1\n", + " 17 4.9953519e+08 2.86e+07 2.07e+01 -1.0 3.61e+07 - 4.18e-01 5.50e-01f 1\n", + " 18 4.9841937e+08 1.80e+07 4.22e+00 -1.0 2.26e+07 - 7.97e-01 7.89e-01f 1\n", + " 19 4.9841451e+08 1.50e+07 3.36e+00 -1.0 2.90e+06 - 2.36e-01 1.68e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 4.9845326e+08 1.37e+06 4.11e+01 -1.0 4.85e+06 - 1.32e-01 1.00e+00h 1\n", + " 21 4.9843929e+08 2.75e+06 1.49e+01 -1.0 1.56e+07 - 3.49e-01 6.54e-01h 1\n", + " 22 4.9832446e+08 1.11e+08 1.67e+01 -1.0 1.11e+08 - 1.94e-01 5.97e-01h 1\n", + " 23 4.9823133e+08 3.55e+06 7.21e-01 -1.0 3.18e+06 - 9.67e-01 1.00e+00h 1\n", + " 24 4.9822543e+08 1.50e+07 1.18e+00 -1.0 2.55e+07 - 3.90e-01 9.42e-01h 1\n", + " 25 4.9822941e+08 4.34e+06 1.34e+00 -1.0 1.72e+07 - 3.19e-01 1.00e+00h 1\n", + " 26 4.9822205e+08 5.17e+05 2.01e-01 -1.0 1.99e+06 - 1.00e+00 8.79e-01h 1\n", + " 27 4.9822896e+08 9.58e+04 9.78e-01 -1.0 3.13e+06 - 4.01e-01 1.00e+00h 1\n", + " 28 4.9822426e+08 3.04e+04 2.11e-02 -1.0 1.81e+06 - 1.00e+00 1.00e+00h 1\n", + " 29 4.9822396e+08 1.25e+02 1.91e-04 -1.0 1.15e+05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 4.9820763e+08 1.86e+01 6.04e+00 -2.5 5.88e+00 -4.0 1.00e+00 8.51e-01f 1\n", + " 31 4.9817423e+08 6.04e+03 2.08e+01 -2.5 2.08e+07 - 9.22e-01 2.66e-02f 1\n", + " 32 4.9817033e+08 7.94e+03 1.74e+01 -2.5 1.75e+06 - 1.00e+00 2.35e-01h 1\n", + " 33 4.9816551e+08 2.74e+02 2.91e+00 -2.5 1.17e+05 - 1.00e+00 1.00e+00h 1\n", + " 34 4.9816312e+08 5.00e+06 2.35e+00 -2.5 5.49e+07 - 7.37e-01 2.83e-01h 1\n", + " 35 4.9816375e+08 3.18e+05 2.61e-02 -2.5 3.43e+06 - 1.00e+00 1.00e+00h 1\n", + " 36 4.9816339e+08 1.82e+05 2.24e-02 -2.5 3.14e+06 - 1.00e+00 1.00e+00h 1\n", + " 37 4.9816337e+08 6.83e+02 1.19e-04 -2.5 2.23e+05 - 1.00e+00 1.00e+00h 1\n", + " 38 4.9816337e+08 1.53e-01 2.83e-08 -2.5 2.97e+03 - 1.00e+00 1.00e+00h 1\n", + " 39 4.9816183e+08 1.04e+03 1.36e-02 -3.8 2.56e+05 - 1.00e+00 9.88e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 4.9816181e+08 3.17e+00 3.89e-07 -3.8 1.29e+04 - 1.00e+00 1.00e+00h 1\n", + " 41 4.9816173e+08 2.49e+00 1.46e-06 -5.7 1.25e+04 - 1.00e+00 1.00e+00h 1\n", + " 42 4.9816173e+08 4.15e-05 1.85e-11 -5.7 4.63e+01 - 1.00e+00 1.00e+00h 1\n", + " 43 4.9816172e+08 3.74e-04 2.22e-10 -8.6 1.54e+02 - 1.00e+00 1.00e+00h 1\n", + " 44 4.9816172e+08 2.38e-07 9.62e-13 -8.6 7.09e-03 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 44\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 4.9816172441164294e+04 4.9816172441164291e+08\n", + "Dual infeasibility......: 9.6221554837401835e-13 9.6221554837401835e-09\n", + "Constraint violation....: 3.7252902984619141e-09 2.3841857910156250e-07\n", + "Complementarity.........: 2.5059781027740572e-09 2.5059781027740571e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5059781027740571e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 45\n", + "Number of objective gradient evaluations = 45\n", + "Number of equality constraint evaluations = 45\n", + "Number of inequality constraint evaluations = 45\n", + "Number of equality constraint Jacobian evaluations = 45\n", + "Number of inequality constraint Jacobian evaluations = 45\n", + "Number of Lagrangian Hessian evaluations = 44\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.295\n", + "Total CPU secs in NLP function evaluations = 54.323\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 451\n", + "Realized SOC (MPC) 1153529\n", + "Fixed costs: 60712.24\n", + "Variable costs: 29781.41\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 146.59\n", + "\n", + "Simulating time_step 2020-07-11 00:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 4.9836172e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 4.9835966e+08 1.00e+05 9.90e+01 -1.0 3.08e+06 - 1.24e-04 1.21e-04h 1\n", + " 2 4.9864077e+08 9.99e+04 1.00e+02 -1.0 1.34e+06 - 1.27e-04 5.46e-04h 1\n", + " 3 4.9946918e+08 9.98e+04 1.00e+02 -1.0 4.69e+05 - 6.59e-04 1.44e-03h 1\n", + " 4 5.0150330e+08 9.94e+04 1.00e+02 -1.0 1.93e+05 - 2.10e-03 3.48e-03h 1\n", + " 5 5.0536841e+08 9.88e+04 9.98e+01 -1.0 1.46e+05 - 5.75e-03 6.59e-03h 1\n", + " 6 5.1308754e+08 9.75e+04 9.84e+01 -1.0 1.33e+05 - 1.35e-02 1.32e-02h 1\n", + " 7 7.5780009e+08 5.62e+04 1.44e+02 -1.0 1.30e+05 - 3.39e-02 4.23e-01h 1\n", + " 8 7.8067462e+08 5.24e+04 5.29e+01 -1.0 8.61e+04 - 9.75e-01 6.88e-02h 1\n", + " 9 8.4515265e+08 4.12e+04 4.16e+01 -1.0 2.54e+06 - 1.38e-01 2.13e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 8.9440737e+08 3.26e+04 3.28e+01 -1.0 3.12e+06 - 8.73e-01 2.09e-01h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 11 8.9776912e+08 3.17e+04 1.19e+02 -1.0 2.35e+07 - 7.45e-02 2.52e-02h 1\n", + " 12 9.0318877e+08 3.04e+04 1.27e+02 -1.0 2.55e+07 - 5.24e-02 4.39e-02h 1\n", + " 13 9.0532284e+08 2.98e+04 5.11e+02 -1.0 2.69e+07 - 3.10e-01 1.82e-02h 1\n", + " 14 9.2013653e+08 2.57e+04 3.32e+02 -1.0 3.82e+07 - 6.99e-02 1.74e-01h 1\n", + " 15 9.2030483e+08 2.56e+04 7.37e+02 -1.0 4.05e+07 - 5.57e-01 3.20e-03h 1\n", + " 16 9.1265751e+08 4.45e+04 6.42e+02 -1.0 8.51e+07 - 1.49e-01 1.25e-01f 1\n", + " 17 9.1247633e+08 4.44e+04 5.94e+02 -1.0 7.52e+07 - 3.80e-01 1.92e-03f 1\n", + " 18 8.3875341e+08 3.79e+05 4.68e+02 -1.0 1.34e+08 - 1.04e-01 3.50e-01f 1\n", + " 19 8.3242264e+08 3.73e+05 4.63e+02 -1.0 1.71e+08 - 3.58e-03 1.85e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 8.3233114e+08 3.73e+05 3.76e+02 -1.0 1.58e+08 - 3.37e-01 2.86e-04f 1\n", + " 21 7.9613814e+08 3.85e+05 3.49e+02 -1.0 2.86e+08 - 1.47e-02 6.89e-02f 1\n", + " 22 7.9565290e+08 3.85e+05 3.69e+02 -1.0 3.06e+08 - 1.05e-01 8.86e-04f 1\n", + " 23 7.6979773e+08 3.95e+05 3.46e+02 -1.0 3.68e+08 - 1.15e-02 3.27e-02f 1\n", + " 24 7.6915383e+08 3.95e+05 3.69e+02 -1.0 3.84e+08 - 8.28e-02 9.05e-04f 1\n", + " 25 7.5277466e+08 4.00e+05 4.19e+02 -1.0 4.35e+08 - 2.32e-01 2.22e-02f 1\n", + " 26 7.4802729e+08 3.96e+05 4.24e+02 -1.0 4.68e+08 - 4.01e-02 1.01e-02f 1\n", + " 27 7.2270590e+08 4.24e+05 4.19e+02 -1.0 5.02e+08 - 1.03e-01 5.06e-02f 1\n", + " 28 7.2240753e+08 4.23e+05 4.08e+02 -1.0 1.74e+08 - 3.26e-02 1.47e-03f 1\n", + " 29 7.1516147e+08 4.10e+05 4.11e+02 -1.0 2.42e+08 - 2.72e-04 3.24e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.1682532e+08 1.63e+06 4.12e+02 -1.0 6.61e+08 - 2.48e-02 1.35e-01f 1\n", + " 31 6.1558752e+08 1.63e+06 3.80e+02 -1.0 7.03e+08 - 9.19e-02 1.27e-03f 1\n", + " 32 6.1033060e+08 1.62e+06 3.64e+02 -1.0 8.04e+08 - 3.12e-02 6.41e-03f 1\n", + " 33 5.9606656e+08 1.60e+06 3.39e+02 -1.0 8.78e+08 - 1.06e-01 1.62e-02f 1\n", + " 34 5.9216365e+08 1.59e+06 3.58e+02 -1.0 1.39e+09 - 3.42e-02 5.33e-03f 1\n", + " 35 5.6731766e+08 1.54e+06 3.64e+02 -1.0 1.58e+09 - 3.91e-02 3.03e-02f 1\n", + " 36 5.6707466e+08 1.54e+06 3.87e+02 -1.0 5.72e+08 - 1.59e-01 8.62e-04f 1\n", + " 37 5.6924603e+08 1.25e+06 2.36e+02 -1.0 2.43e+07 - 3.45e-01 1.86e-01h 1\n", + " 38 5.7037275e+08 1.10e+06 4.50e+02 -1.0 1.97e+07 - 9.29e-01 1.19e-01h 1\n", + " 39 5.7038211e+08 1.10e+06 4.50e+02 -1.0 3.26e+07 - 2.67e-02 1.36e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.7038337e+08 1.10e+06 4.50e+02 -1.0 5.13e+08 - 5.79e-05 1.60e-04h 1\n", + " 41 5.7041157e+08 1.10e+06 4.50e+02 -1.0 2.06e+08 - 2.55e-04 1.46e-03h 1\n", + " 42 5.7489804e+08 8.91e+05 3.57e+02 -1.0 2.64e+07 - 1.59e-03 1.88e-01h 1\n", + " 43 5.7730334e+08 8.23e+05 3.12e+02 -1.0 1.38e+07 - 8.34e-02 1.22e-01h 1\n", + " 44 5.8282006e+08 1.69e+06 1.98e+02 -1.0 2.16e+07 - 1.78e-02 3.51e-01h 1\n", + " 45 5.8300980e+08 1.66e+06 1.94e+02 -1.0 1.87e+07 - 1.46e-01 2.05e-02h 1\n", + " 46 5.8866384e+08 4.69e+07 6.69e+01 -1.0 3.94e+07 - 3.92e-03 9.80e-01h 1\n", + " 47 5.8546096e+08 4.43e+07 5.54e+01 -1.0 1.11e+08 - 7.69e-02 1.95e-01f 1\n", + " 48 5.8442617e+08 4.24e+07 5.22e+01 -1.0 1.22e+08 - 3.01e-02 6.41e-02f 1\n", + " 49 5.8441320e+08 4.24e+07 5.17e+01 -1.0 7.63e+07 - 9.12e-02 1.03e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.8292028e+08 3.21e+07 4.64e+01 -1.0 5.10e+07 - 2.67e-01 2.42e-01f 1\n", + " 51 5.7953242e+08 2.65e+07 4.70e+01 -1.0 9.71e+07 - 3.35e-03 2.45e-01f 1\n", + " 52 5.7954341e+08 2.49e+07 6.37e+02 -1.0 4.10e+04 -4.0 4.63e-02 5.76e-02h 1\n", + " 53 5.7954076e+08 2.48e+07 6.35e+02 -1.0 2.80e+06 - 4.48e-02 4.64e-03h 1\n", + " 54 5.7954478e+08 1.65e+07 8.99e+03 -1.0 2.64e+06 - 4.40e-01 3.35e-01h 1\n", + " 55 5.7940589e+08 2.98e+06 2.23e+04 -1.0 3.40e+06 - 4.33e-01 8.23e-01h 1\n", + " 56 5.7890869e+08 1.99e+06 1.57e+04 -1.0 1.40e+07 - 2.79e-01 3.32e-01f 1\n", + " 57 5.7749769e+08 8.08e+06 9.39e+03 -1.0 2.05e+07 - 6.55e-01 6.50e-01f 1\n", + " 58 5.7694291e+08 8.03e+06 8.44e+03 -1.0 4.73e+07 - 4.10e-01 1.17e-01f 1\n", + " 59 5.7413316e+08 3.26e+07 7.11e+03 -1.0 5.33e+07 - 9.92e-01 5.59e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 5.7410413e+08 3.25e+07 7.08e+03 -1.0 6.97e+07 - 6.67e-01 4.35e-03h 1\n", + " 61 5.7349629e+08 5.23e+06 6.55e+03 -1.0 1.22e+07 - 5.49e-01 1.00e+00h 1\n", + " 62 5.7349744e+08 3.96e+06 4.99e+03 -1.0 8.67e+03 -4.5 2.40e-01 2.43e-01h 1\n", + " 63 5.7349510e+08 3.87e+06 4.87e+03 -1.0 5.09e+05 - 1.00e+00 2.35e-02h 1\n", + " 64 5.7347946e+08 7.38e+04 9.63e+02 -1.0 4.47e+05 - 1.00e+00 1.00e+00h 1\n", + " 65 5.7347946e+08 4.25e-01 8.87e-03 -1.0 1.57e+01 -5.0 1.00e+00 1.00e+00h 1\n", + " 66 5.7346373e+08 6.28e-02 6.04e+00 -2.5 6.05e+00 -5.4 1.00e+00 8.52e-01f 1\n", + " 67 5.7320311e+08 1.18e+06 6.32e+00 -2.5 8.63e+08 - 9.10e-02 5.72e-03f 1\n", + " 68 5.7319929e+08 1.17e+06 6.32e+00 -2.5 5.15e+07 - 1.41e-01 2.20e-03h 1\n", + " 69 5.7305925e+08 1.03e+06 9.27e+00 -2.5 4.79e+07 - 4.03e-01 1.22e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 5.7297465e+08 1.14e+06 1.11e+01 -2.5 5.38e+07 - 2.51e-01 7.58e-02h 1\n", + " 71 5.7294637e+08 1.14e+06 1.90e+01 -2.5 6.73e+07 - 1.00e+00 4.28e-02h 1\n", + " 72 5.7291292e+08 1.12e+06 1.69e+01 -2.5 3.37e+07 - 6.55e-01 8.29e-02h 1\n", + " 73 5.7287449e+08 1.10e+06 1.22e+01 -2.5 3.12e+07 - 1.00e+00 2.26e-01h 1\n", + " 74 5.7287417e+08 1.08e+06 1.28e+01 -2.5 6.00e+06 - 1.00e+00 1.40e-02h 1\n", + " 75 5.7285889e+08 7.30e+05 1.45e+01 -2.5 6.29e+06 - 1.00e+00 1.00e+00h 1\n", + " 76 5.7285912e+08 6.85e+05 9.37e+01 -2.5 1.80e+04 -5.9 1.02e-02 6.21e-02h 1\n", + " 77 5.7285892e+08 6.82e+05 1.12e+02 -2.5 3.19e+05 - 1.00e+00 4.23e-03h 1\n", + " 78 5.7285851e+08 5.25e+03 5.21e+01 -2.5 2.29e+05 - 1.00e+00 1.00e+00h 1\n", + " 79 5.7285850e+08 3.32e-01 4.41e-04 -2.5 4.35e+01 -6.4 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 5.7285792e+08 2.67e-02 1.41e+00 -3.8 4.40e+01 -6.9 1.00e+00 9.19e-01f 1\n", + " 81 5.7285531e+08 3.88e+04 1.55e+01 -3.8 2.22e+07 - 1.00e+00 5.79e-02f 1\n", + " 82 5.7284777e+08 4.29e+05 1.27e+01 -3.8 2.40e+07 - 1.00e+00 1.75e-01h 1\n", + " 83 5.7284640e+08 1.86e+05 2.24e+00 -3.8 3.50e+06 - 1.00e+00 1.00e+00h 1\n", + " 84 5.7284639e+08 1.54e+05 5.32e+01 -3.8 7.37e+03 -7.3 2.29e-02 1.69e-01h 1\n", + " 85 5.7284637e+08 1.54e+05 6.15e+01 -3.8 4.86e+05 - 1.00e+00 1.72e-04h 1\n", + " 86 5.7284607e+08 6.05e+02 5.27e+00 -3.8 2.23e+05 - 1.00e+00 1.00e+00h 1\n", + " 87 5.7284607e+08 2.10e-04 5.24e-06 -3.8 2.31e+01 -7.8 1.00e+00 1.00e+00h 1\n", + " 88 5.7284601e+08 8.91e-05 2.97e-01 -5.7 5.27e+01 -8.3 1.00e+00 9.13e-01f 1\n", + " 89 5.7284600e+08 1.94e-04 5.55e-01 -5.7 1.10e+02 -8.8 1.00e+00 8.73e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90 5.7284600e+08 3.35e-04 8.61e-02 -5.7 2.52e+02 -9.2 1.00e+00 4.21e-01f 1\n", + " 91 5.7284600e+08 5.47e-04 7.24e-01 -5.7 5.17e+02 -9.7 1.00e+00 1.84e-01f 1\n", + " 92 5.7284600e+08 3.13e-03 7.02e-01 -5.7 1.08e+03 -10.2 1.00e+00 2.95e-01f 1\n", + " 93 5.7284600e+08 1.95e-02 5.15e-01 -5.7 2.37e+03 -10.7 1.00e+00 3.19e-01f 1\n", + " 94 5.7284599e+08 2.58e-02 3.33e-05 -5.7 1.33e+03 -11.2 1.00e+00 1.00e+00f 1\n", + " 95 5.7284599e+08 2.53e-01 1.12e-06 -5.7 4.17e+03 -11.6 1.00e+00 1.00e+00h 1\n", + " 96 5.7284599e+08 2.24e+00 1.05e-06 -5.7 1.24e+04 -12.1 1.00e+00 1.00e+00h 1\n", + " 97 5.7284597e+08 2.02e+01 2.49e-06 -5.7 3.73e+04 -12.6 1.00e+00 1.00e+00h 1\n", + " 98 5.7284593e+08 1.85e+02 2.27e-05 -5.7 1.13e+05 -13.1 1.00e+00 1.00e+00h 1\n", + " 99 5.7284579e+08 1.76e+03 2.15e-04 -5.7 3.48e+05 -13.5 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100 5.7284534e+08 1.87e+04 2.28e-03 -5.7 1.13e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 101 5.7284340e+08 2.90e+05 3.51e-02 -5.7 4.43e+06 -14.5 1.00e+00 1.00e+00h 1\n", + " 102 5.7283325e+08 4.94e+06 5.85e-01 -5.7 4.48e+07 -15.0 9.37e-01 3.96e-01h 1\n", + " 103 5.7282055e+08 1.43e+06 2.02e-01 -5.7 8.90e+06 -14.5 1.00e+00 1.00e+00h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 104 5.7281504e+08 1.72e+06 2.29e-01 -5.7 1.22e+08 -15.0 5.17e-01 3.52e-02h 1\n", + " 105 5.7281372e+08 8.89e+05 2.54e-01 -5.7 8.83e+05 - 1.00e+00 4.78e-01h 1\n", + " 106 5.7281268e+08 3.76e+03 1.23e-03 -5.7 8.27e+04 - 1.00e+00 1.00e+00h 1\n", + " 107 5.7281268e+08 1.08e-01 3.34e-11 -5.7 1.14e+02 - 1.00e+00 1.00e+00h 1\n", + " 108 5.7281268e+08 6.38e-06 8.50e-12 -8.6 2.38e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 108\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.7281268323415483e+04 5.7281268323415482e+08\n", + "Dual infeasibility......: 8.5019087888753899e-12 8.5019087888753899e-08\n", + "Constraint violation....: 2.5611370801925659e-09 6.3776969909667969e-06\n", + "Complementarity.........: 2.5492975905363494e-09 2.5492975905363491e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5492975905363491e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 109\n", + "Number of objective gradient evaluations = 109\n", + "Number of equality constraint evaluations = 109\n", + "Number of inequality constraint evaluations = 109\n", + "Number of equality constraint Jacobian evaluations = 109\n", + "Number of inequality constraint Jacobian evaluations = 109\n", + "Number of Lagrangian Hessian evaluations = 108\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.621\n", + "Total CPU secs in NLP function evaluations = 131.247\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 434\n", + "Realized SOC (MPC) 2159066\n", + "Fixed costs: 55834.68\n", + "Variable costs: 25392.33\n", + "\n", + "Number on/offs: 1\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 229.00\n", + "\n", + "Simulating time_step 2020-07-11 01:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.7301268e+08 1.01e+06 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.7300678e+08 1.01e+06 9.90e+01 -1.0 1.59e+06 - 3.46e-04 3.25e-04h 1\n", + " 2 5.7333100e+08 1.00e+06 1.00e+02 -1.0 1.01e+06 - 3.51e-04 1.60e-03h 1\n", + " 3 5.7405854e+08 1.00e+06 1.00e+02 -1.0 1.00e+06 - 1.92e-03 3.30e-03h 1\n", + " 4 5.7544561e+08 9.94e+05 9.97e+01 -1.0 1.00e+06 - 5.33e-03 6.13e-03h 1\n", + " 5 5.7838561e+08 9.81e+05 9.85e+01 -1.0 9.94e+05 - 1.25e-02 1.29e-02h 1\n", + " 6 5.9261953e+08 9.19e+05 9.78e+01 -1.0 9.81e+05 - 3.47e-02 6.31e-02h 1\n", + " 7 6.1690470e+08 8.14e+05 8.02e+01 -1.0 9.19e+05 - 2.98e-01 1.15e-01h 1\n", + " 8 7.2364379e+08 3.49e+05 5.89e+01 -1.0 8.14e+05 - 2.98e-01 5.71e-01h 1\n", + " 9 7.2495839e+08 3.43e+05 3.81e+02 -1.0 3.49e+05 - 7.71e-01 1.65e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.8657506e+08 6.58e+04 3.43e+01 -1.0 8.15e+05 - 7.76e-01 8.08e-01h 1\n", + " 11 7.8669874e+08 6.43e+04 8.46e+02 -1.0 2.74e+06 - 3.35e-01 2.31e-02h 1\n", + " 12 7.8678772e+08 6.02e+04 1.08e+03 -1.0 4.17e+06 - 2.13e-01 6.42e-02h 1\n", + " 13 7.8646712e+08 4.78e+04 7.52e+02 -1.0 5.28e+06 - 7.75e-03 2.06e-01h 1\n", + " 14 7.8637423e+08 4.67e+04 8.40e+02 -1.0 5.30e+06 - 7.52e-01 2.23e-02h 1\n", + " 15 7.6716134e+08 2.86e+04 4.04e+02 -1.0 2.09e+07 - 4.25e-02 3.89e-01f 1\n", + " 16 7.6692532e+08 2.84e+04 6.43e+02 -1.0 2.15e+07 - 7.70e-01 4.30e-03f 1\n", + " 17 7.6049930e+08 2.76e+04 6.25e+02 -1.0 8.54e+07 - 2.34e-02 3.04e-02f 1\n", + " 18 7.5869244e+08 2.73e+04 4.87e+02 -1.0 8.70e+07 - 1.23e-01 9.45e-03f 1\n", + " 19 6.5212220e+08 5.21e+05 6.78e+02 -1.0 9.74e+07 - 8.33e-02 4.94e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.5100986e+08 5.19e+05 2.15e+02 -1.0 9.60e+07 - 7.88e-01 4.94e-03f 1\n", + " 21 6.3782524e+08 5.11e+05 2.12e+02 -1.0 9.51e+08 - 1.22e-01 1.48e-02f 1\n", + " 22 6.1565674e+08 5.02e+05 2.08e+02 -1.0 1.58e+09 - 4.45e-02 1.76e-02f 1\n", + " 23 6.1501059e+08 5.02e+05 2.08e+02 -1.0 3.30e+08 - 3.91e-01 1.21e-03f 1\n", + " 24 5.8404445e+08 4.71e+05 1.97e+02 -1.0 4.06e+08 - 5.27e-01 6.13e-02f 1\n", + " 25 5.8067284e+08 4.65e+05 2.04e+02 -1.0 3.55e+08 - 2.10e-01 1.26e-02f 1\n", + " 26 5.7092275e+08 4.42e+05 3.44e+02 -1.0 2.83e+08 - 2.48e-01 4.81e-02f 1\n", + " 27 5.7070335e+08 4.19e+05 1.91e+02 -1.0 1.31e+07 - 6.44e-01 5.33e-02h 1\n", + " 28 5.6965451e+08 1.38e+06 1.54e+02 -1.0 3.88e+07 - 4.67e-02 1.82e-01f 1\n", + " 29 5.6951107e+08 1.36e+06 1.49e+02 -1.0 2.90e+07 - 4.27e-01 2.88e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.6691487e+08 1.72e+07 9.27e+01 -1.0 1.96e+07 - 7.80e-02 1.00e+00f 1\n", + " 31 5.6632694e+08 1.56e+07 4.58e+01 -1.0 3.65e+07 - 4.63e-01 1.15e-01f 1\n", + " 32 5.6124382e+08 5.19e+07 1.19e+02 -1.0 4.18e+07 - 4.50e-01 9.34e-01f 1\n", + " 33 5.6124851e+08 4.93e+07 1.42e+03 -1.0 6.69e+04 -4.0 4.01e-02 5.01e-02h 1\n", + " 34 5.6124693e+08 4.91e+07 1.42e+03 -1.0 3.45e+06 - 6.07e-02 4.45e-03h 1\n", + " 35 5.6127939e+08 4.23e+07 2.21e+04 -1.0 3.85e+06 - 3.62e-01 1.38e-01h 1\n", + " 36 5.6147820e+08 2.90e+06 8.10e+05 -1.0 3.24e+06 - 2.06e-01 9.57e-01h 1\n", + " 37 5.6140096e+08 2.23e+06 6.23e+05 -1.0 2.21e+06 - 9.81e-01 2.30e-01h 1\n", + " 38 5.6105767e+08 4.44e+05 1.12e+04 -1.0 2.62e+06 - 1.00e+00 1.00e+00f 1\n", + " 39 5.6105804e+08 4.62e+01 3.12e+00 -1.0 3.76e+02 -4.5 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.6096323e+08 1.45e+04 7.29e+02 -2.5 2.29e+06 - 9.82e-01 2.59e-01f 1\n", + " 41 5.6095453e+08 1.47e+04 6.79e+02 -2.5 2.20e+06 - 1.00e+00 7.05e-02f 1\n", + " 42 5.6083823e+08 2.38e+05 2.32e+03 -2.5 2.27e+06 - 1.00e+00 9.46e-01f 1\n", + " 43 5.6065651e+08 1.17e+06 2.05e+03 -2.5 3.21e+07 - 1.00e+00 1.35e-01f 1\n", + " 44 5.6065603e+08 1.17e+06 2.04e+03 -2.5 4.64e+06 - 1.00e+00 2.68e-03h 1\n", + " 45 5.6065705e+08 1.00e+04 2.63e+02 -2.5 9.07e+05 - 1.00e+00 1.00e+00h 1\n", + " 46 5.6065708e+08 7.23e+03 1.90e+02 -2.5 3.90e+02 -5.0 4.89e-01 2.79e-01h 1\n", + " 47 5.6065703e+08 7.17e+03 1.89e+02 -2.5 5.77e+04 - 1.00e+00 8.01e-03h 1\n", + " 48 5.6065705e+08 4.35e+01 1.05e+01 -2.5 5.84e+04 - 1.00e+00 1.00e+00h 1\n", + " 49 5.6065705e+08 7.15e-07 5.34e-06 -2.5 1.43e+00 -5.4 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.6064996e+08 8.45e+04 6.84e-01 -3.8 1.46e+07 - 8.56e-01 1.90e-01f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 51 5.6064886e+08 1.15e+01 1.41e-02 -3.8 1.08e+04 - 9.87e-01 1.00e+00h 1\n", + " 52 5.6064886e+08 3.58e-07 4.84e-06 -3.8 2.24e+00 -5.9 1.00e+00 1.00e+00h 1\n", + " 53 5.6064883e+08 7.87e-01 1.44e+01 -5.7 1.43e+05 - 8.29e-01 6.50e-02f 1\n", + " 54 5.6064879e+08 9.15e-02 2.67e+00 -5.7 5.56e+00 -6.4 9.86e-01 8.84e-01h 1\n", + " 55 5.6064879e+08 9.21e-02 2.65e+00 -5.7 4.19e+07 - 2.13e-03 6.02e-06f 1\n", + " 56 5.6064877e+08 4.37e+00 7.41e+00 -5.7 6.00e+05 - 9.68e-01 2.00e-02f 1\n", + " 57 5.6064876e+08 9.61e+01 4.56e+00 -5.7 1.47e+05 - 2.14e-01 3.78e-01h 1\n", + " 58 5.6064874e+08 1.10e+04 7.51e-01 -5.7 5.97e+05 - 1.00e+00 1.00e+00h 1\n", + " 59 5.6064874e+08 6.19e+02 4.88e+01 -5.7 2.84e+02 -6.9 1.91e-01 9.44e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 5.6064874e+08 6.19e+02 6.12e+01 -5.7 2.52e+05 - 1.00e+00 1.17e-06h 2\n", + " 61 5.6064874e+08 8.57e+00 2.76e-01 -5.7 1.78e+04 - 1.00e+00 1.00e+00h 1\n", + " 62 5.6064874e+08 4.77e-07 1.12e-08 -5.7 2.46e-01 -7.3 1.00e+00 1.00e+00h 1\n", + " 63 5.6064873e+08 7.15e-07 1.86e-02 -8.6 3.48e+00 -7.8 9.99e-01 9.45e-01h 1\n", + " 64 5.6064873e+08 6.17e-07 6.89e-02 -8.6 3.17e+00 -8.3 1.00e+00 7.35e-01f 1\n", + "In iteration 64, 1 Slack too small, adjusting variable bound\n", + " 65 5.6064873e+08 5.66e-07 1.35e-02 -8.6 8.18e-01 -8.8 1.00e+00 9.11e-01f 1\n", + " 66 5.6064873e+08 7.15e-07 1.37e-09 -8.6 2.43e+00 -9.2 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 66\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.6064873468423284e+04 5.6064873468423283e+08\n", + "Dual infeasibility......: 1.3744437462968849e-09 1.3744437462968849e-05\n", + "Constraint violation....: 3.7252902984619141e-09 7.1525573730468750e-07\n", + "Complementarity.........: 2.5150381291695171e-09 2.5150381291695169e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5150381291695169e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 68\n", + "Number of objective gradient evaluations = 67\n", + "Number of equality constraint evaluations = 68\n", + "Number of inequality constraint evaluations = 68\n", + "Number of equality constraint Jacobian evaluations = 67\n", + "Number of inequality constraint Jacobian evaluations = 67\n", + "Number of Lagrangian Hessian evaluations = 66\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.028\n", + "Total CPU secs in NLP function evaluations = 81.132\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 448\n", + "Realized SOC (MPC) 2706928\n", + "Fixed costs: 55834.68\n", + "Variable costs: 21472.26\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 177.75\n", + "\n", + "Simulating time_step 2020-07-11 02:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.6084873e+08 5.48e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.6084283e+08 5.48e+05 9.90e+01 -1.0 1.51e+06 - 3.46e-04 3.25e-04h 1\n", + " 2 5.6115427e+08 5.47e+05 1.00e+02 -1.0 5.80e+05 - 3.51e-04 1.53e-03h 1\n", + " 3 5.6188938e+08 5.45e+05 1.00e+02 -1.0 5.47e+05 - 1.84e-03 3.31e-03h 1\n", + " 4 5.6327088e+08 5.42e+05 9.97e+01 -1.0 5.45e+05 - 5.26e-03 6.03e-03h 1\n", + " 5 5.6865437e+08 5.29e+05 9.96e+01 -1.0 5.42e+05 - 1.23e-02 2.34e-02h 1\n", + " 6 5.8935459e+08 4.81e+05 8.69e+01 -1.0 5.29e+05 - 4.60e-01 9.17e-02h 1\n", + " 7 6.9887425e+08 2.23e+05 5.49e+01 -1.0 4.81e+05 - 1.35e-01 5.35e-01h 1\n", + " 8 7.7590662e+08 4.18e+04 7.55e+00 -1.0 2.23e+05 - 8.87e-01 8.13e-01h 1\n", + " 9 7.7921826e+08 3.09e+04 4.56e+01 -1.0 1.28e+06 - 3.97e-02 2.60e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.7938613e+08 3.03e+04 5.67e+01 -1.0 1.33e+06 - 5.48e-01 1.97e-02h 1\n", + " 11 7.8114458e+08 9.59e+03 8.27e+01 -1.0 2.95e+06 - 1.09e-01 6.84e-01h 1\n", + " 12 7.8108901e+08 9.51e+03 8.39e+01 -1.0 3.29e+06 - 7.56e-01 7.67e-03h 1\n", + " 13 7.6031585e+08 1.33e+04 4.02e+01 -1.0 1.33e+07 - 1.65e-01 5.90e-01f 1\n", + " 14 7.6006988e+08 1.32e+04 4.02e+01 -1.0 1.57e+07 - 5.69e-01 5.57e-03f 1\n", + " 15 6.9220195e+08 1.61e+05 4.40e+01 -1.0 3.54e+07 - 3.41e-01 7.67e-01f 1\n", + " 16 6.9153616e+08 1.60e+05 2.16e+01 -1.0 5.03e+07 - 3.92e-01 5.08e-03f 1\n", + " 17 6.3481929e+08 2.54e+05 3.79e+01 -1.0 7.90e+07 - 1.51e-01 3.17e-01f 1\n", + " 18 6.3422227e+08 2.53e+05 4.74e+01 -1.0 8.41e+07 - 8.60e-01 2.97e-03f 1\n", + " 19 6.3422520e+08 2.44e+05 1.10e+02 -1.0 3.48e+04 -4.0 5.66e-03 3.50e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.3422530e+08 2.44e+05 1.07e+02 -1.0 3.37e+04 -4.5 4.65e-02 1.10e-03h 1\n", + " 21 6.3424746e+08 1.91e+05 3.52e+02 -1.0 3.37e+04 -5.0 1.99e-01 2.16e-01h 1\n", + " 22 6.3424826e+08 1.89e+05 4.66e+03 -1.0 2.64e+04 -5.4 1.56e-01 9.54e-03h 1\n", + " 23 6.3433241e+08 6.18e+01 4.86e+03 -1.0 2.62e+04 -5.9 4.69e-01 1.00e+00h 1\n", + " 24 6.3419439e+08 9.65e+02 5.03e+03 -1.0 3.75e+07 - 2.39e-02 3.74e-03f 1\n", + " 25 6.3419674e+08 6.48e-04 4.45e+03 -1.0 2.79e+02 -6.4 5.13e-01 1.00e+00h 1\n", + " 26 5.9019387e+08 3.56e+05 4.44e+03 -1.0 8.61e+09 - 2.95e-03 5.24e-03f 1\n", + " 27 5.8956228e+08 3.56e+05 4.35e+03 -1.0 4.17e+09 - 2.02e-02 1.09e-04f 1\n", + " 28 5.6138368e+08 3.53e+05 4.21e+03 -1.0 2.47e+09 - 3.11e-02 8.90e-03f 1\n", + " 29 5.6006483e+08 3.52e+05 3.70e+03 -1.0 1.61e+09 - 1.22e-01 1.01e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.5058523e+08 3.46e+05 2.64e+03 -1.0 7.72e+08 - 2.86e-01 1.71e-02f 1\n", + " 31 5.5021960e+08 3.22e+05 8.06e+02 -1.0 2.72e+07 - 6.94e-01 7.04e-02f 1\n", + " 32 5.4926393e+08 1.47e+06 4.80e+02 -1.0 9.77e+07 - 4.01e-01 7.29e-02f 1\n", + " 33 5.4918214e+08 1.42e+06 2.93e+02 -1.0 4.09e+07 - 3.40e-01 3.47e-02h 1\n", + " 34 5.4917950e+08 1.35e+06 2.89e+02 -1.0 9.14e+04 -6.9 3.32e-02 5.04e-02h 1\n", + " 35 5.4913772e+08 1.33e+06 2.88e+02 -1.0 5.03e+07 - 4.97e-03 1.31e-02h 1\n", + " 36 5.4913869e+08 1.06e+06 2.76e+02 -1.0 8.63e+04 -7.3 7.77e-02 2.02e-01h 1\n", + " 37 5.4914838e+08 3.63e+02 2.24e+02 -1.0 6.83e+04 -7.8 2.35e-01 1.00e+00h 1\n", + " 38 5.4908142e+08 1.58e+03 2.18e+02 -1.0 4.34e+07 - 2.17e-02 6.67e-03f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 39 5.4871677e+08 6.29e+05 1.77e+02 -1.0 8.48e+07 - 3.78e-01 8.59e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.4827205e+08 2.71e+06 1.60e+02 -1.0 1.24e+08 - 6.48e-02 9.05e-02f 1\n", + " 41 5.4609206e+08 3.28e+07 3.49e+02 -1.0 8.32e+07 - 5.23e-01 6.49e-01f 1\n", + " 42 5.4603417e+08 1.42e+07 1.39e+02 -1.0 9.67e+06 - 7.17e-01 5.70e-01h 1\n", + " 43 5.4603276e+08 1.41e+07 1.38e+02 -1.0 2.95e+07 - 4.15e-01 9.55e-03h 1\n", + " 44 5.4597699e+08 1.35e+07 9.28e+01 -1.0 3.69e+07 - 2.53e-02 1.00e+00h 1\n", + " 45 5.4584716e+08 1.41e+07 6.76e+01 -1.0 7.93e+07 - 5.76e-01 2.85e-01h 1\n", + " 46 5.4586246e+08 5.79e+05 1.36e+00 -1.0 1.20e+06 - 9.67e-01 1.00e+00h 1\n", + " 47 5.4585861e+08 1.46e+04 2.27e-02 -1.0 1.07e+05 - 1.00e+00 1.00e+00h 1\n", + " 48 5.4585873e+08 1.45e+01 1.13e-04 -1.0 2.29e+04 - 1.00e+00 1.00e+00h 1\n", + " 49 5.4582765e+08 7.76e+04 1.88e+01 -2.5 6.07e+06 - 9.74e-01 4.68e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.4580675e+08 1.39e+04 3.40e+00 -2.5 3.90e+05 - 1.00e+00 8.28e-01h 1\n", + " 51 5.4580286e+08 4.24e+00 1.08e-04 -2.5 2.38e+04 - 1.00e+00 1.00e+00h 1\n", + " 52 5.4580154e+08 1.05e+01 1.55e-05 -3.8 3.38e+04 - 1.00e+00 1.00e+00h 1\n", + " 53 5.4580154e+08 6.07e-03 2.17e-09 -3.8 8.07e+02 - 1.00e+00 1.00e+00h 1\n", + " 54 5.4580147e+08 2.92e-02 4.52e-08 -5.7 1.78e+03 - 1.00e+00 1.00e+00f 1\n", + " 55 5.4580147e+08 4.05e-06 6.22e-12 -8.6 1.96e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 55\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.4580146882087829e+04 5.4580146882087827e+08\n", + "Dual infeasibility......: 6.2218947569154712e-12 6.2218947569154712e-08\n", + "Constraint violation....: 3.7252902984619141e-09 4.0531158447265625e-06\n", + "Complementarity.........: 2.5288444772072871e-09 2.5288444772072870e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5288444772072870e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 56\n", + "Number of objective gradient evaluations = 56\n", + "Number of equality constraint evaluations = 56\n", + "Number of inequality constraint evaluations = 56\n", + "Number of equality constraint Jacobian evaluations = 56\n", + "Number of inequality constraint Jacobian evaluations = 56\n", + "Number of Lagrangian Hessian evaluations = 55\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.811\n", + "Total CPU secs in NLP function evaluations = 74.170\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 447\n", + "Realized SOC (MPC) 3290366\n", + "Fixed costs: 55834.68\n", + "Variable costs: 16496.14\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 242.30\n", + "\n", + "Simulating time_step 2020-07-11 03:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.4600147e+08 5.83e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.4599557e+08 5.83e+05 9.90e+01 -1.0 1.57e+06 - 3.46e-04 3.25e-04h 1\n", + " 2 5.4631724e+08 5.82e+05 1.00e+02 -1.0 5.83e+05 - 3.51e-04 1.53e-03h 1\n", + " 3 5.4710244e+08 5.80e+05 1.00e+02 -1.0 5.82e+05 - 1.84e-03 3.31e-03h 1\n", + " 4 5.4978954e+08 5.74e+05 1.00e+02 -1.0 5.80e+05 - 5.26e-03 1.11e-02h 1\n", + " 5 5.6011271e+08 5.49e+05 9.95e+01 -1.0 5.74e+05 - 2.45e-02 4.28e-02h 1\n", + " 6 5.7381970e+08 5.17e+05 8.77e+01 -1.0 5.49e+05 - 2.06e-01 5.93e-02h 1\n", + " 7 7.3449341e+08 1.35e+05 1.05e+02 -1.0 5.17e+05 - 1.91e-01 7.40e-01h 1\n", + " 8 7.6624181e+08 5.85e+04 1.16e+01 -1.0 1.35e+05 - 9.49e-01 5.65e-01h 1\n", + " 9 7.6794608e+08 5.25e+04 1.06e+01 -1.0 2.04e+06 - 1.49e-01 1.03e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.6898297e+08 4.87e+04 3.15e+01 -1.0 2.41e+06 - 3.91e-01 7.34e-02h 1\n", + " 11 7.7130451e+08 3.35e+04 1.26e+01 -1.0 3.99e+06 - 1.71e-01 3.12e-01h 1\n", + " 12 7.7129979e+08 3.32e+04 1.09e+03 -1.0 4.79e+06 - 6.64e-01 9.93e-03h 1\n", + " 13 7.5459518e+08 1.52e+04 8.51e+01 -1.0 1.41e+07 - 1.33e-01 5.99e-01f 1\n", + " 14 7.5435780e+08 1.51e+04 4.53e+02 -1.0 1.60e+07 - 5.75e-01 5.71e-03f 1\n", + " 15 6.8877781e+08 1.62e+05 4.67e+01 -1.0 3.66e+07 - 3.34e-01 7.40e-01f 1\n", + " 16 6.8811255e+08 1.61e+05 4.64e+01 -1.0 5.14e+07 - 3.51e-01 4.87e-03f 1\n", + " 17 6.2388223e+08 2.50e+05 3.04e+02 -1.0 7.62e+07 - 7.73e-02 3.31e-01f 1\n", + " 18 6.2320193e+08 2.49e+05 1.92e+02 -1.0 7.62e+07 - 3.58e-01 3.29e-03f 1\n", + " 19 6.1702843e+08 2.42e+05 5.08e+02 -1.0 1.07e+08 - 7.21e-01 2.62e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.0284302e+08 2.38e+05 4.86e+02 -1.0 7.68e+08 - 3.67e-02 1.57e-02f 1\n", + " 21 6.0284564e+08 2.37e+05 5.74e+02 -1.0 4.14e+04 -4.0 3.41e-03 4.88e-03h 1\n", + " 22 6.0249329e+08 2.33e+05 1.12e+03 -1.0 1.22e+07 - 4.80e-01 1.83e-02f 1\n", + " 23 5.9086448e+08 3.76e+05 1.58e+04 -1.0 1.51e+07 - 8.19e-03 5.66e-01f 1\n", + " 24 5.8824435e+08 3.61e+05 1.52e+04 -1.0 3.37e+07 - 1.52e-01 5.24e-02f 1\n", + " 25 5.6384183e+08 1.04e+06 1.92e+04 -1.0 3.80e+07 - 5.81e-02 4.43e-01f 1\n", + " 26 5.6356450e+08 1.04e+06 1.92e+04 -1.0 5.40e+07 - 3.17e-01 3.27e-03f 1\n", + " 27 5.5658040e+08 9.44e+05 1.71e+04 -1.0 6.14e+07 - 1.44e-02 1.14e-01f 1\n", + " 28 5.4282781e+08 4.34e+06 1.44e+04 -1.0 8.33e+07 - 1.56e-01 1.74e-01f 1\n", + " 29 5.4264725e+08 4.34e+06 1.43e+04 -1.0 2.07e+08 - 3.92e-02 1.05e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.4129299e+08 4.38e+06 1.43e+04 -1.0 2.51e+08 - 1.93e-03 6.77e-03f 1\n", + " 31 5.4125750e+08 4.38e+06 1.42e+04 -1.0 4.94e+07 - 2.02e-01 8.21e-04f 1\n", + " 32 5.4039431e+08 4.25e+06 1.38e+04 -1.0 4.92e+07 - 2.40e-01 2.92e-02f 1\n", + " 33 5.3704540e+08 3.83e+06 1.23e+04 -1.0 5.04e+07 - 2.28e-01 1.10e-01f 1\n", + " 34 5.3698858e+08 3.80e+06 1.22e+04 -1.0 7.85e+06 - 3.46e-01 7.80e-03f 1\n", + " 35 5.3665059e+08 3.31e+06 1.05e+04 -1.0 5.80e+06 - 2.41e-01 1.36e-01f 1\n", + " 36 5.3630592e+08 2.25e+06 7.30e+03 -1.0 8.11e+06 - 7.23e-01 3.43e-01f 1\n", + " 37 5.3596779e+08 1.61e+06 5.35e+03 -1.0 5.76e+06 - 3.33e-01 2.95e-01f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 38 5.3594203e+08 1.57e+06 5.24e+03 -1.0 2.71e+07 - 1.92e-01 2.14e-02h 1\n", + " 39 5.3470112e+08 8.03e+06 2.53e+03 -1.0 3.12e+07 - 6.38e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.3455284e+08 7.93e+06 2.46e+03 -1.0 1.27e+08 - 2.20e-01 2.91e-02f 1\n", + " 41 5.3308089e+08 2.74e+07 1.53e+03 -1.0 9.13e+07 - 6.13e-01 4.02e-01f 1\n", + " 42 5.3292261e+08 1.92e+07 9.87e+02 -1.0 1.12e+07 - 9.91e-01 3.56e-01h 1\n", + " 43 5.3292244e+08 1.86e+07 9.56e+02 -1.0 1.54e+06 - 1.00e+00 3.04e-02h 1\n", + " 44 5.3298197e+08 2.19e+06 2.63e+00 -1.0 1.44e+06 - 7.86e-01 1.00e+00h 1\n", + " 45 5.3301708e+08 1.65e+05 1.82e-01 -1.0 8.67e+05 - 1.00e+00 1.00e+00h 1\n", + " 46 5.3301487e+08 6.91e+02 3.31e-04 -1.0 6.13e+04 - 1.00e+00 1.00e+00h 1\n", + " 47 5.3298116e+08 7.43e+04 1.53e+01 -2.5 4.54e+06 - 9.50e-01 5.39e-01f 1\n", + " 48 5.3296169e+08 6.73e+03 1.40e+00 -2.5 2.97e+05 - 1.00e+00 9.19e-01h 1\n", + " 49 5.3296030e+08 1.54e+00 1.91e-05 -2.5 5.24e+03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.3295898e+08 1.53e+01 1.81e-05 -3.8 3.56e+04 - 1.00e+00 1.00e+00f 1\n", + " 51 5.3295898e+08 6.29e-03 2.27e-09 -3.8 7.16e+02 - 1.00e+00 1.00e+00h 1\n", + " 52 5.3295891e+08 4.31e-02 5.33e-08 -5.7 1.89e+03 - 1.00e+00 1.00e+00f 1\n", + " 53 5.3295891e+08 5.30e-06 7.36e-12 -8.6 2.13e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 53\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.3295890835198108e+04 5.3295890835198104e+08\n", + "Dual infeasibility......: 7.3609083714902204e-12 7.3609083714902204e-08\n", + "Constraint violation....: 2.5611370801925659e-09 5.3048133850097656e-06\n", + "Complementarity.........: 2.5286620261672731e-09 2.5286620261672730e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5286620261672730e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 54\n", + "Number of objective gradient evaluations = 54\n", + "Number of equality constraint evaluations = 54\n", + "Number of inequality constraint evaluations = 54\n", + "Number of equality constraint Jacobian evaluations = 54\n", + "Number of inequality constraint Jacobian evaluations = 54\n", + "Number of Lagrangian Hessian evaluations = 53\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.480\n", + "Total CPU secs in NLP function evaluations = 82.065\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 446\n", + "Realized SOC (MPC) 3335770\n", + "Fixed costs: 55834.68\n", + "Variable costs: 14669.23\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 86.32\n", + "\n", + "Simulating time_step 2020-07-11 04:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.3315891e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.3315305e+08 1.00e+05 9.90e+01 -1.0 1.56e+06 - 3.46e-04 3.25e-04h 1\n", + " 2 5.3341857e+08 9.98e+04 9.98e+01 -1.0 4.67e+05 - 3.51e-04 1.44e-03h 1\n", + " 3 5.3413488e+08 9.95e+04 1.00e+02 -1.0 2.61e+05 - 1.76e-03 3.32e-03h 1\n", + " 4 5.3555249e+08 9.89e+04 9.98e+01 -1.0 1.56e+05 - 5.18e-03 6.41e-03h 1\n", + " 5 5.4074693e+08 9.65e+04 9.96e+01 -1.0 1.55e+05 - 1.26e-02 2.34e-02h 1\n", + " 6 5.5789769e+08 8.89e+04 8.81e+01 -1.0 1.51e+05 - 4.92e-01 7.89e-02h 1\n", + " 7 6.7584584e+08 3.64e+04 5.54e+01 -1.0 1.55e+05 - 1.23e-01 5.90e-01h 1\n", + " 8 7.5060884e+08 3.04e+03 3.01e+00 -1.0 1.22e+05 - 9.84e-01 9.17e-01h 1\n", + " 9 7.5043011e+08 3.01e+03 1.07e+02 -1.0 8.72e+06 - 9.35e-02 9.03e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.4819183e+08 2.72e+03 1.14e+02 -1.0 9.75e+06 - 1.17e-01 1.04e-01f 1\n", + " 11 7.4709243e+08 2.61e+03 4.94e+02 -1.0 1.10e+07 - 3.44e-01 4.29e-02f 1\n", + " 12 7.4262615e+08 2.45e+03 4.43e+02 -1.0 1.66e+07 - 1.31e-01 1.20e-01f 1\n", + " 13 7.2893272e+08 5.32e+03 8.63e+02 -1.0 1.90e+07 - 7.45e-01 3.09e-01f 1\n", + " 14 7.2851946e+08 5.31e+03 8.42e+02 -1.0 6.83e+07 - 3.51e-02 2.30e-03f 1\n", + " 15 6.7224880e+08 7.35e+04 7.61e+02 -1.0 7.05e+07 - 6.68e-02 3.15e-01f 1\n", + " 16 6.7164620e+08 7.33e+04 4.89e+02 -1.0 7.22e+07 - 2.63e-01 3.06e-03f 1\n", + " 17 6.3345858e+08 9.78e+04 4.50e+02 -1.0 9.43e+07 - 1.11e-01 1.69e-01f 1\n", + " 18 6.3299928e+08 9.76e+04 2.28e+02 -1.0 1.01e+08 - 3.89e-01 1.86e-03f 1\n", + " 19 6.2431696e+08 9.69e+04 1.83e+02 -1.0 1.61e+08 - 1.68e-01 2.53e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.2030073e+08 9.54e+04 3.25e+02 -1.0 2.11e+08 - 4.50e-01 1.58e-02f 1\n", + " 21 6.0674084e+08 1.15e+05 3.25e+02 -1.0 6.16e+08 - 4.79e-02 2.82e-02f 1\n", + " 22 6.0587263e+08 1.16e+05 4.21e+02 -1.0 7.17e+08 - 2.06e-01 2.13e-03f 1\n", + " 23 5.9319891e+08 2.03e+05 4.07e+02 -1.0 1.23e+09 - 2.35e-03 1.90e-02f 1\n", + " 24 5.9266563e+08 2.03e+05 4.04e+02 -1.0 1.44e+08 - 2.74e-04 3.35e-03f 1\n", + " 25 5.9058808e+08 2.00e+05 3.98e+02 -1.0 1.59e+08 - 1.59e-02 1.55e-02f 1\n", + " 26 5.5640964e+08 3.42e+05 2.18e+02 -1.0 1.65e+08 - 2.18e-02 2.46e-01f 1\n", + " 27 5.5606420e+08 3.42e+05 3.68e+02 -1.0 1.47e+08 - 4.21e-01 2.73e-03f 1\n", + " 28 5.5605077e+08 3.32e+05 4.66e+02 -1.0 2.41e+06 - 5.51e-01 2.70e-02h 1\n", + " 29 5.5529091e+08 5.41e+05 3.53e+01 -1.0 5.23e+06 - 1.23e-02 8.16e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.5527300e+08 5.34e+05 8.67e+01 -1.0 5.03e+06 - 8.45e-01 1.37e-02h 1\n", + " 31 5.5121198e+08 4.77e+07 1.96e+01 -1.0 3.83e+07 - 7.04e-02 1.00e+00f 1\n", + " 32 5.4872992e+08 3.02e+07 1.65e+01 -1.0 4.80e+07 - 2.23e-01 5.67e-01f 1\n", + " 33 5.4806980e+08 2.67e+07 4.34e+01 -1.0 5.20e+07 - 4.11e-01 1.44e-01f 1\n", + " 34 5.4327548e+08 5.51e+07 5.46e+00 -1.0 5.86e+07 - 5.78e-01 9.30e-01f 1\n", + " 35 5.4303973e+08 2.85e+07 8.05e+00 -1.0 1.77e+07 - 8.86e-01 4.79e-01h 1\n", + " 36 5.4295512e+08 2.37e+07 7.21e+00 -1.0 1.04e+08 - 3.74e-01 1.69e-01h 1\n", + " 37 5.4290104e+08 1.90e+07 6.82e+00 -1.0 2.97e+07 - 8.91e-01 1.97e-01h 1\n", + " 38 5.4281860e+08 2.03e+06 7.92e-01 -1.0 8.72e+06 - 9.87e-01 8.90e-01h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 39 5.4281353e+08 9.88e+04 1.47e-02 -1.0 2.45e+06 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.4281295e+08 5.14e+02 4.18e-04 -1.0 1.58e+05 - 1.00e+00 1.00e+00h 1\n", + " 41 5.4277846e+08 1.97e+05 1.41e+01 -2.5 7.56e+06 - 8.89e-01 5.12e-01f 1\n", + " 42 5.4276018e+08 3.81e+04 3.48e+00 -2.5 3.60e+05 - 1.00e+00 8.09e-01h 1\n", + " 43 5.4275629e+08 1.26e+02 1.59e-04 -2.5 5.49e+04 - 1.00e+00 1.00e+00h 1\n", + " 44 5.4275496e+08 1.82e+01 2.46e-02 -3.8 3.81e+04 - 9.76e-01 1.00e+00h 1\n", + " 45 5.4275496e+08 1.62e-01 3.67e-08 -3.8 2.61e+03 - 1.00e+00 1.00e+00h 1\n", + " 46 5.4275489e+08 8.91e-02 8.78e-08 -5.7 1.23e+03 - 1.00e+00 1.00e+00h 1\n", + " 47 5.4275489e+08 2.80e-05 1.64e-11 -8.6 1.86e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 47\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.4275488588326734e+04 5.4275488588326728e+08\n", + "Dual infeasibility......: 1.6355175985423827e-11 1.6355175985423827e-07\n", + "Constraint violation....: 2.5611370801925659e-09 2.7962028980255127e-05\n", + "Complementarity.........: 2.7469550421776618e-09 2.7469550421776616e-05\n", + "Overall NLP error.......: 2.7469550421776618e-09 2.7962028980255127e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 48\n", + "Number of objective gradient evaluations = 48\n", + "Number of equality constraint evaluations = 48\n", + "Number of inequality constraint evaluations = 48\n", + "Number of equality constraint Jacobian evaluations = 48\n", + "Number of inequality constraint Jacobian evaluations = 48\n", + "Number of Lagrangian Hessian evaluations = 47\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.606\n", + "Total CPU secs in NLP function evaluations = 73.713\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 440\n", + "Realized SOC (MPC) 2951800\n", + "Fixed costs: 55834.68\n", + "Variable costs: 12902.59\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 88.76\n", + "\n", + "Simulating time_step 2020-07-11 05:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.4293489e+08 2.00e+06 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.4292466e+08 2.00e+06 9.90e+01 -1.0 1.30e+06 - 3.46e-04 3.25e-04h 1\n", + " 2 5.4314322e+08 2.00e+06 9.98e+01 -1.0 1.29e+06 - 3.51e-04 1.44e-03h 1\n", + " 3 5.4386008e+08 1.99e+06 1.00e+02 -1.0 1.29e+06 - 1.76e-03 3.85e-03h 1\n", + " 4 5.4561940e+08 1.97e+06 9.99e+01 -1.0 1.29e+06 - 7.22e-03 9.14e-03h 1\n", + " 5 5.5176589e+08 1.91e+06 9.45e+01 -1.0 1.28e+06 - 3.27e-01 3.20e-02h 1\n", + " 6 6.6821656e+08 7.15e+05 9.43e+01 -1.0 1.24e+06 - 4.84e-02 6.25e-01h 1\n", + " 7 6.6938133e+08 7.03e+05 6.48e+01 -1.0 4.64e+05 - 9.54e-01 1.67e-02h 1\n", + " 8 6.8216832e+08 5.67e+05 5.69e+01 -1.0 7.14e+06 - 5.55e-02 1.94e-01h 1\n", + " 9 7.1760947e+08 1.81e+05 2.19e+02 -1.0 5.76e+06 - 3.71e-01 6.80e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.1768765e+08 1.80e+05 5.60e+02 -1.0 3.00e+06 - 5.90e-01 8.59e-03h 1\n", + " 11 7.1748294e+08 1.67e+05 1.54e+03 -1.0 7.29e+06 - 7.31e-01 7.27e-02h 1\n", + " 12 7.1393764e+08 1.56e+05 1.45e+03 -1.0 2.59e+07 - 1.25e-01 6.39e-02f 1\n", + " 13 7.1067698e+08 1.48e+05 1.34e+03 -1.0 2.84e+07 - 2.19e-01 4.95e-02f 1\n", + " 14 7.0972069e+08 1.46e+05 1.21e+03 -1.0 3.19e+07 - 1.14e-01 1.32e-02f 1\n", + " 15 7.0760358e+08 1.42e+05 7.41e+02 -1.0 3.64e+07 - 5.24e-01 2.62e-02f 1\n", + " 16 7.0149473e+08 1.37e+05 7.08e+02 -1.0 8.27e+07 - 7.11e-02 3.67e-02f 1\n", + " 17 6.9243916e+08 1.30e+05 6.60e+02 -1.0 9.05e+07 - 1.57e-01 4.97e-02f 1\n", + " 18 6.7424462e+08 1.20e+05 6.04e+02 -1.0 1.11e+08 - 2.18e-03 8.24e-02f 1\n", + " 19 6.7240426e+08 1.19e+05 6.03e+02 -1.0 1.03e+08 - 1.34e-01 8.14e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.6926029e+08 1.17e+05 5.93e+02 -1.0 1.13e+08 - 1.71e-03 1.57e-02f 1\n", + " 21 6.5730211e+08 1.10e+05 5.55e+02 -1.0 1.13e+08 - 9.03e-02 5.58e-02f 1\n", + " 22 6.5673972e+08 1.10e+05 5.42e+02 -1.0 1.30e+08 - 6.86e-02 2.84e-03f 1\n", + " 23 6.5106932e+08 1.07e+05 5.14e+02 -1.0 1.43e+08 - 2.83e-01 2.79e-02f 1\n", + " 24 6.4387020e+08 1.04e+05 4.85e+02 -1.0 2.30e+08 - 1.46e-01 3.07e-02f 1\n", + " 25 6.0718885e+08 2.57e+05 4.28e+02 -1.0 2.99e+08 - 2.28e-03 1.21e-01f 1\n", + " 26 6.0677702e+08 2.57e+05 4.24e+02 -1.0 3.22e+08 - 4.36e-02 1.36e-03f 1\n", + " 27 6.0467803e+08 2.57e+05 3.90e+02 -1.0 3.32e+08 - 4.69e-02 1.17e-02f 1\n", + " 28 6.0464915e+08 2.56e+05 2.24e+02 -1.0 3.30e+07 - 2.10e-01 3.53e-03h 1\n", + " 29 6.0222585e+08 2.92e+05 5.01e+02 -1.0 3.97e+07 - 3.36e-02 7.30e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.0092711e+08 2.58e+05 2.26e+02 -1.0 4.12e+07 - 7.12e-01 2.30e-01f 1\n", + " 31 6.0091352e+08 2.58e+05 2.26e+02 -1.0 4.47e+07 - 9.70e-01 2.13e-03h 1\n", + " 32 6.0096807e+08 2.08e+05 1.83e+02 -1.0 7.91e+06 - 7.99e-01 1.92e-01h 1\n", + " 33 6.0128725e+08 2.22e+05 5.39e+00 -1.0 2.62e+06 - 3.01e-01 9.98e-01h 1\n", + " 34 6.0127695e+08 1.38e+05 2.03e+00 -1.0 3.33e+06 - 9.63e-01 6.36e-01h 1\n", + " 35 6.0127359e+08 2.09e+05 8.07e-02 -1.0 4.13e+06 - 5.74e-01 1.00e+00h 1\n", + " 36 6.0127541e+08 1.56e+01 1.37e+03 -1.0 6.86e+03 -4.0 8.98e-01 1.00e+00h 1\n", + " 37 6.0127380e+08 2.71e-01 2.87e+02 -1.0 3.61e+03 - 1.00e+00 1.00e+00h 1\n", + " 38 6.0127266e+08 1.77e+05 8.78e+00 -1.0 4.01e+06 - 8.26e-01 1.00e+00f 1\n", + " 39 6.0127483e+08 1.09e+01 5.12e+02 -1.0 7.80e+03 -4.5 8.17e-01 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.0127218e+08 1.46e-01 2.18e+02 -1.0 9.25e+03 - 1.00e+00 1.00e+00h 1\n", + " 41 6.0127018e+08 9.00e+05 2.19e+01 -1.0 8.58e+06 - 8.41e-01 1.00e+00f 1\n", + " 42 6.0127525e+08 4.50e+05 8.55e+02 -1.0 3.46e+04 -5.0 2.07e-01 5.00e-01h 2\n", + " 43 6.0127027e+08 2.36e+02 2.41e+03 -1.0 4.02e+04 - 1.00e+00 1.00e+00h 1\n", + " 44 6.0127101e+08 2.11e-04 8.34e-02 -1.0 1.70e+02 -5.4 1.00e+00 1.00e+00f 1\n", + " 45 6.0125679e+08 7.00e-06 2.38e-03 -1.7 7.72e+00 -5.9 1.00e+00 1.00e+00f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 46 6.0124079e+08 4.37e+03 2.18e+01 -3.8 1.02e+07 - 8.85e-01 6.12e-02f 1\n", + " 47 6.0122136e+08 8.77e+04 1.30e+01 -3.8 4.74e+06 - 8.53e-01 5.81e-01f 1\n", + " 48 6.0120418e+08 1.98e+06 3.97e+01 -3.8 1.48e+07 - 1.00e+00 8.78e-01h 1\n", + " 49 6.0120434e+08 1.95e+06 1.09e+02 -3.8 8.99e+04 -6.4 2.81e-04 1.47e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.0120426e+08 1.95e+06 1.11e+02 -3.8 2.08e+06 - 1.00e+00 2.50e-04h 1\n", + " 51 6.0120022e+08 1.43e+05 1.08e+01 -3.8 1.25e+05 - 1.00e+00 9.26e-01h 1\n", + " 52 6.0119906e+08 5.03e+03 6.27e+00 -3.8 6.76e+05 - 1.00e+00 1.00e+00h 1\n", + " 53 6.0119907e+08 7.17e-03 1.89e+01 -3.8 2.80e+02 -6.9 2.13e-01 1.00e+00h 1\n", + " 54 6.0119906e+08 7.14e-03 2.40e+01 -3.8 6.95e+05 - 1.00e+00 9.17e-05f 2\n", + " 55 6.0119831e+08 3.51e+03 9.24e+00 -3.8 5.86e+05 - 1.00e+00 1.00e+00f 1\n", + " 56 6.0119831e+08 4.24e-03 2.18e+00 -3.8 2.27e+02 -7.3 7.14e-01 1.00e+00h 1\n", + " 57 6.0119830e+08 3.38e-03 7.61e+00 -3.8 2.26e+06 - 1.00e+00 1.29e-04f 2\n", + " 58 6.0119538e+08 5.22e+04 1.16e+01 -3.8 2.26e+06 - 1.00e+00 1.00e+00f 1\n", + " 59 6.0119532e+08 7.18e+03 3.01e+01 -3.8 3.48e+03 -7.8 1.35e-01 8.62e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.0119530e+08 7.18e+03 3.57e+01 -3.8 7.54e+05 - 1.00e+00 1.75e-04h 1\n", + " 61 6.0119457e+08 2.69e+03 1.24e+01 -3.8 5.17e+05 - 1.00e+00 1.00e+00h 1\n", + " 62 6.0119456e+08 2.59e-03 1.20e-04 -3.8 1.84e+02 -8.3 1.00e+00 1.00e+00h 1\n", + " 63 6.0113414e+08 2.15e+07 1.68e+01 -5.7 8.30e+07 - 2.90e-01 5.19e-01f 1\n", + " 64 6.0113414e+08 2.15e+07 1.68e+01 -5.7 7.23e+06 - 9.42e-01 1.45e-05h 1\n", + " 65 6.0109342e+08 2.88e+05 7.53e-01 -5.7 1.66e+06 - 1.00e+00 1.00e+00h 1\n", + " 66 6.0109314e+08 1.99e+02 7.57e-05 -5.7 7.99e+04 - 1.00e+00 1.00e+00h 1\n", + " 67 6.0109314e+08 1.04e-04 1.85e-11 -5.7 5.19e+01 - 1.00e+00 1.00e+00h 1\n", + " 68 6.0109314e+08 8.76e-06 1.25e-11 -8.6 2.71e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 68\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.0109313637811698e+04 6.0109313637811697e+08\n", + "Dual infeasibility......: 1.2453084389431814e-11 1.2453084389431814e-07\n", + "Constraint violation....: 2.5611370801925659e-09 8.7618827819824219e-06\n", + "Complementarity.........: 2.5377467665750402e-09 2.5377467665750402e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5377467665750402e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 74\n", + "Number of objective gradient evaluations = 69\n", + "Number of equality constraint evaluations = 74\n", + "Number of inequality constraint evaluations = 74\n", + "Number of equality constraint Jacobian evaluations = 69\n", + "Number of inequality constraint Jacobian evaluations = 69\n", + "Number of Lagrangian Hessian evaluations = 68\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.553\n", + "Total CPU secs in NLP function evaluations = 94.099\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 411\n", + "Realized SOC (MPC) 1972390\n", + "Fixed costs: 55834.68\n", + "Variable costs: 9349.54\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 179.54\n", + "\n", + "Simulating time_step 2020-07-11 06:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.0127314e+08 2.00e+06 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.0124452e+08 2.00e+06 9.90e+01 -1.0 1.82e+06 - 3.99e-04 3.71e-04h 1\n", + " 2 6.0132158e+08 2.00e+06 9.98e+01 -1.0 1.82e+06 - 4.11e-04 1.55e-03h 1\n", + " 3 6.0177405e+08 1.98e+06 1.01e+02 -1.0 1.82e+06 - 1.91e-03 5.70e-03h 1\n", + " 4 6.0316204e+08 1.95e+06 1.01e+02 -1.0 1.81e+06 - 8.09e-03 1.58e-02h 1\n", + " 5 6.0754795e+08 1.86e+06 9.19e+01 -1.0 1.79e+06 - 1.37e-01 5.01e-02h 1\n", + " 6 6.2938283e+08 1.37e+06 8.79e+01 -1.0 1.76e+06 - 8.89e-02 2.63e-01h 1\n", + " 7 6.3699894e+08 1.20e+06 5.97e+01 -1.0 1.38e+06 - 8.51e-01 1.25e-01h 1\n", + " 8 6.3713378e+08 1.19e+06 8.96e+01 -1.0 1.84e+07 - 2.84e-02 2.16e-03h 1\n", + " 9 6.3804795e+08 1.18e+06 5.89e+01 -1.0 5.61e+07 - 3.03e-03 1.10e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.4503648e+08 1.63e+05 4.59e+03 -1.0 2.02e+07 - 8.35e-05 1.00e+00h 1\n", + " 11 7.4317109e+08 1.62e+02 5.48e+01 -1.0 4.63e+05 - 8.94e-01 1.00e+00f 1\n", + " 12 7.4039295e+08 3.36e+02 4.59e+01 -1.0 4.54e+06 - 9.82e-01 1.59e-01f 1\n", + " 13 7.3368011e+08 1.15e+03 4.55e+01 -1.0 3.10e+08 - 8.22e-03 8.31e-03f 1\n", + " 14 7.2728528e+08 2.04e+03 7.68e+01 -1.0 2.99e+08 - 3.12e-02 8.66e-03f 1\n", + " 15 7.2246983e+08 2.62e+03 2.44e+02 -1.0 2.92e+08 - 9.05e-02 6.87e-03f 1\n", + " 16 6.7888071e+08 4.58e+04 2.11e+02 -1.0 3.39e+08 - 1.24e-02 4.88e-02f 1\n", + " 17 6.7805449e+08 4.57e+04 2.41e+02 -1.0 2.95e+08 - 6.10e-02 9.91e-04f 1\n", + " 18 6.4357047e+08 7.14e+04 2.78e+02 -1.0 3.30e+08 - 1.45e-01 4.22e-02f 1\n", + " 19 6.4207127e+08 7.14e+04 2.99e+02 -1.0 4.57e+08 - 5.86e-02 1.66e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.2712433e+08 8.46e+04 3.68e+02 -1.0 5.19e+08 - 1.24e-01 1.75e-02f 1\n", + " 21 6.0544689e+08 1.41e+05 3.74e+02 -1.0 7.22e+08 - 5.64e-02 2.56e-02f 1\n", + " 22 5.8228171e+08 2.07e+05 4.24e+02 -1.0 8.65e+08 - 1.30e-01 2.39e-02f 1\n", + " 23 5.8038169e+08 2.06e+05 4.82e+02 -1.0 7.07e+08 - 1.49e-01 3.30e-03f 1\n", + " 24 5.7193797e+08 1.99e+05 2.14e+02 -1.0 2.33e+08 - 6.06e-01 3.58e-02f 1\n", + " 25 5.7066340e+08 1.93e+05 2.61e+02 -1.0 6.05e+07 - 4.63e-01 2.89e-02f 1\n", + " 26 5.6978182e+08 2.56e+05 2.40e+02 -1.0 2.64e+07 - 8.42e-02 1.50e-01f 1\n", + " 27 5.6666132e+08 3.47e+06 2.11e+02 -1.0 3.30e+07 - 1.34e-01 4.35e-01f 1\n", + " 28 5.6155838e+08 1.09e+07 1.13e+02 -1.0 3.99e+07 - 4.71e-01 6.01e-01f 1\n", + " 29 5.6105118e+08 1.06e+07 9.74e+01 -1.0 6.74e+07 - 1.33e-01 3.57e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.6104580e+08 1.06e+07 1.12e+02 -1.0 8.45e+06 - 9.14e-01 2.81e-03h 1\n", + " 31 5.6102199e+08 9.56e+06 1.24e+02 -1.0 6.21e+06 - 9.53e-01 9.96e-02h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 32 5.6091154e+08 5.52e+06 5.79e+01 -1.0 3.68e+07 - 1.98e-01 5.29e-01h 1\n", + " 33 5.6089239e+08 5.17e+05 3.11e+00 -1.0 3.39e+06 - 3.52e-01 1.00e+00h 1\n", + " 34 5.6084712e+08 2.29e+06 1.76e+00 -1.0 1.38e+07 - 5.96e-01 8.65e-01h 1\n", + " 35 5.6083498e+08 4.65e+05 4.88e-02 -1.0 3.34e+06 - 1.00e+00 1.00e+00h 1\n", + " 36 5.6083626e+08 8.82e+03 3.34e-03 -1.0 3.49e+05 - 1.00e+00 1.00e+00h 1\n", + " 37 5.6080204e+08 7.08e+04 9.24e+00 -1.7 2.75e+06 - 1.00e+00 6.99e-01f 1\n", + " 38 5.6079153e+08 1.51e+02 7.55e-04 -1.7 7.37e+04 - 1.00e+00 1.00e+00h 1\n", + " 39 5.6078302e+08 1.18e+03 1.92e-01 -2.5 2.64e+05 - 1.00e+00 9.71e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.6078293e+08 1.20e+01 5.46e-06 -2.5 2.51e+04 - 1.00e+00 1.00e+00h 1\n", + " 41 5.6078161e+08 1.77e+01 1.90e-05 -3.8 3.15e+04 - 1.00e+00 1.00e+00h 1\n", + " 42 5.6078161e+08 9.27e-03 3.02e-09 -3.8 7.07e+02 - 1.00e+00 1.00e+00h 1\n", + " 43 5.6078154e+08 4.88e-02 5.78e-08 -5.7 1.65e+03 - 1.00e+00 1.00e+00f 1\n", + " 44 5.6078154e+08 5.99e-06 8.97e-12 -8.6 1.83e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 44\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.6078153802946523e+04 5.6078153802946520e+08\n", + "Dual infeasibility......: 8.9731566805993049e-12 8.9731566805993049e-08\n", + "Constraint violation....: 2.5611370801925659e-09 5.9902667999267578e-06\n", + "Complementarity.........: 2.5274738797011774e-09 2.5274738797011773e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5274738797011773e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 45\n", + "Number of objective gradient evaluations = 45\n", + "Number of equality constraint evaluations = 45\n", + "Number of inequality constraint evaluations = 45\n", + "Number of equality constraint Jacobian evaluations = 45\n", + "Number of inequality constraint Jacobian evaluations = 45\n", + "Number of Lagrangian Hessian evaluations = 44\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.481\n", + "Total CPU secs in NLP function evaluations = 57.173\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 375\n", + "Realized SOC (MPC) 897065\n", + "Fixed costs: 55834.68\n", + "Variable costs: 2266.41\n", + "\n", + "Renewables curtailment reported at t=1 - total= 21.28\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 388.26\n", + "\n", + "Simulating time_step 2020-07-11 07:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.6097154e+08 1.08e+06 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.6096505e+08 1.07e+06 9.90e+01 -1.0 2.34e+06 - 3.49e-04 3.27e-04h 1\n", + " 2 5.6121776e+08 1.07e+06 9.99e+01 -1.0 2.34e+06 - 3.52e-04 1.36e-03h 1\n", + " 3 5.6207205e+08 1.07e+06 1.00e+02 -1.0 2.34e+06 - 1.68e-03 3.79e-03h 1\n", + " 4 5.6343168e+08 1.06e+06 9.97e+01 -1.0 2.36e+06 - 6.54e-03 5.91e-03h 1\n", + " 5 5.6922615e+08 1.04e+06 9.95e+01 -1.0 2.41e+06 - 1.31e-02 2.52e-02h 1\n", + " 6 5.6937377e+08 1.04e+06 1.32e+02 -1.0 9.80e+06 - 4.65e-02 6.63e-04h 1\n", + " 7 5.7193155e+08 1.02e+06 5.73e+02 -1.0 3.36e+07 - 5.13e-02 1.18e-02h 1\n", + " 8 5.8694404e+08 9.52e+05 2.49e+02 -1.0 3.32e+07 - 4.06e-02 7.02e-02h 1\n", + " 9 7.5100782e+08 1.14e+07 2.23e+04 -1.0 3.09e+07 - 3.02e-01 8.25e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.5263336e+08 1.08e+07 2.13e+04 -1.0 5.40e+06 - 8.96e-01 4.73e-02h 1\n", + " 11 7.5502044e+08 9.97e+06 1.95e+04 -1.0 1.16e+07 - 3.75e-01 7.97e-02h 1\n", + " 12 7.6145180e+08 7.45e+06 1.41e+04 -1.0 1.00e+07 - 1.06e-01 2.59e-01h 1\n", + " 13 7.6157942e+08 7.39e+06 1.40e+04 -1.0 7.99e+06 - 3.06e-02 8.23e-03h 1\n", + " 14 7.6159165e+08 7.38e+06 1.40e+04 -1.0 8.06e+06 - 3.69e-02 6.64e-04h 1\n", + " 15 7.6406442e+08 6.41e+06 1.21e+04 -1.0 8.20e+06 - 1.34e-01 1.33e-01h 1\n", + " 16 7.6409184e+08 6.40e+06 1.21e+04 -1.0 8.44e+06 - 2.05e-01 1.94e-03h 1\n", + " 17 7.6681056e+08 5.18e+06 9.63e+03 -1.0 9.53e+06 - 5.34e-02 1.92e-01h 1\n", + " 18 7.6695355e+08 5.10e+06 9.49e+03 -1.0 8.67e+06 - 2.57e-01 1.46e-02h 1\n", + " 19 7.6751794e+08 4.66e+06 8.64e+03 -1.0 9.06e+06 - 4.48e-01 8.76e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.6749906e+08 4.61e+06 8.55e+03 -1.0 8.65e+06 - 1.22e-01 1.01e-02h 1\n", + " 21 7.6297477e+08 7.19e+05 7.50e+03 -1.0 8.59e+06 - 1.80e-01 1.00e+00f 1\n", + " 22 7.5974453e+08 6.33e+05 6.59e+03 -1.0 8.64e+06 - 8.83e-01 1.21e-01f 1\n", + " 23 7.5686622e+08 6.24e+05 6.51e+03 -1.0 6.46e+07 - 1.09e-01 1.31e-02f 1\n", + " 24 7.4981248e+08 6.04e+05 6.29e+03 -1.0 6.96e+07 - 5.03e-02 3.27e-02f 1\n", + " 25 7.4695925e+08 5.96e+05 6.21e+03 -1.0 7.41e+07 - 6.99e-02 1.37e-02f 1\n", + " 26 7.3409708e+08 5.59e+05 5.82e+03 -1.0 8.06e+07 - 2.06e-01 6.23e-02f 1\n", + " 27 7.1298446e+08 5.15e+05 5.36e+03 -1.0 1.06e+08 - 8.95e-02 7.87e-02f 1\n", + " 28 7.1244690e+08 5.14e+05 5.35e+03 -1.0 1.02e+08 - 1.33e-01 2.09e-03f 1\n", + " 29 6.7036543e+08 4.35e+05 4.53e+03 -1.0 1.22e+08 - 1.91e-01 1.53e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.6970373e+08 4.34e+05 4.52e+03 -1.0 1.67e+08 - 6.91e-02 1.96e-03f 1\n", + " 31 6.5130312e+08 4.10e+05 4.27e+03 -1.0 1.84e+08 - 1.86e-01 5.55e-02f 1\n", + " 32 6.5011907e+08 4.09e+05 4.26e+03 -1.0 2.53e+08 - 9.30e-02 3.35e-03f 1\n", + " 33 6.3529710e+08 3.93e+05 4.09e+03 -1.0 2.95e+08 - 2.59e-01 3.90e-02f 1\n", + " 34 6.2684828e+08 3.85e+05 4.01e+03 -1.0 5.13e+08 - 4.70e-02 1.88e-02f 1\n", + " 35 6.1642249e+08 3.77e+05 3.93e+03 -1.0 5.50e+08 - 1.43e-01 2.17e-02f 1\n", + " 36 6.1424111e+08 3.73e+05 3.89e+03 -1.0 4.17e+08 - 7.81e-02 9.46e-03f 1\n", + " 37 6.0636160e+08 3.61e+05 3.76e+03 -1.0 4.45e+08 - 5.94e-02 3.31e-02f 1\n", + " 38 6.0628212e+08 3.58e+05 3.73e+03 -1.0 2.03e+07 - 7.80e-01 7.31e-03f 1\n", + " 39 6.0602242e+08 1.74e+05 5.15e+02 -1.0 1.82e+06 - 3.63e-02 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.0261338e+08 4.37e+06 5.12e+02 -1.0 1.98e+07 - 1.56e-02 7.37e-01f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 41 6.0256039e+08 4.32e+06 2.15e+02 -1.0 1.75e+07 - 5.73e-01 1.27e-02f 1\n", + " 42 6.0216042e+08 4.10e+06 1.17e+02 -1.0 2.51e+07 - 4.11e-01 6.40e-02f 1\n", + " 43 6.0196990e+08 3.77e+06 1.21e+02 -1.0 1.39e+07 - 4.51e-03 8.29e-02f 1\n", + " 44 5.8593156e+08 1.74e+08 1.07e+02 -1.0 5.23e+07 - 1.18e-01 1.00e+00f 1\n", + " 45 5.7167893e+08 5.48e+07 4.26e+01 -1.0 5.32e+07 - 5.34e-01 9.40e-01f 1\n", + " 46 5.6956243e+08 1.69e+07 3.76e+01 -1.0 4.19e+07 - 5.86e-02 5.15e-01f 1\n", + " 47 5.6932948e+08 1.59e+07 2.93e+01 -1.0 4.17e+07 - 2.07e-01 6.17e-02h 1\n", + " 48 5.6932694e+08 1.58e+07 4.05e+01 -1.0 6.95e+06 - 7.90e-01 3.85e-03h 1\n", + " 49 5.6929311e+08 7.33e+06 2.70e+01 -1.0 2.11e+06 - 9.23e-01 5.30e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.6928143e+08 3.74e+05 3.19e-01 -1.0 3.75e+06 - 9.85e-01 1.00e+00h 1\n", + " 51 5.6928201e+08 2.15e+04 3.96e-03 -1.0 1.37e+06 - 1.00e+00 1.00e+00h 1\n", + " 52 5.6928189e+08 8.55e+01 5.73e-06 -1.0 4.82e+04 - 1.00e+00 1.00e+00h 1\n", + " 53 5.6925073e+08 1.21e+06 9.60e+00 -2.5 2.13e+07 - 6.70e-01 4.27e-01f 1\n", + " 54 5.6922936e+08 3.29e+05 6.21e+00 -2.5 3.60e+05 - 1.00e+00 7.26e-01h 1\n", + " 55 5.6922228e+08 4.43e+02 2.54e-04 -2.5 8.10e+04 - 1.00e+00 1.00e+00h 1\n", + " 56 5.6922229e+08 1.36e-02 1.58e-07 -2.5 6.69e+02 - 1.00e+00 1.00e+00h 1\n", + " 57 5.6922100e+08 2.25e+01 2.35e-02 -3.8 3.98e+04 - 1.00e+00 9.78e-01f 1\n", + " 58 5.6922097e+08 5.25e-02 2.03e-08 -3.8 1.56e+03 - 1.00e+00 1.00e+00h 1\n", + " 59 5.6922090e+08 5.42e-02 5.42e-08 -5.7 1.95e+03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 5.6922090e+08 3.81e-06 7.39e-12 -8.6 1.71e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 60\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.6922089895031335e+04 5.6922089895031333e+08\n", + "Dual infeasibility......: 7.3899392756983774e-12 7.3899392756983774e-08\n", + "Constraint violation....: 2.5611370801925659e-09 3.8146972656250000e-06\n", + "Complementarity.........: 2.5495165233038209e-09 2.5495165233038209e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5495165233038209e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 61\n", + "Number of objective gradient evaluations = 61\n", + "Number of equality constraint evaluations = 61\n", + "Number of inequality constraint evaluations = 61\n", + "Number of equality constraint Jacobian evaluations = 61\n", + "Number of inequality constraint Jacobian evaluations = 61\n", + "Number of Lagrangian Hessian evaluations = 60\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.918\n", + "Total CPU secs in NLP function evaluations = 79.596\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 317\n", + "Realized SOC (MPC) 897065\n", + "Fixed costs: 55834.68\n", + "Variable costs: 1137.80\n", + "\n", + "Renewables curtailment reported at t=1 - total= 237.05\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 63.00\n", + "\n", + "Simulating time_step 2020-07-11 08:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.6941090e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.6941427e+08 1.00e+05 9.90e+01 -1.0 1.17e+06 - 3.99e-04 3.71e-04h 1\n", + " 2 5.6966229e+08 9.98e+04 9.99e+01 -1.0 4.54e+05 - 4.11e-04 1.55e-03h 1\n", + " 3 5.7073647e+08 9.93e+04 1.01e+02 -1.0 2.36e+05 - 1.91e-03 5.52e-03h 1\n", + " 4 5.7384997e+08 9.77e+04 1.01e+02 -1.0 1.92e+05 - 7.86e-03 1.55e-02h 1\n", + " 5 5.8406202e+08 9.27e+04 1.01e+02 -1.0 1.28e+05 - 2.14e-02 5.15e-02h 1\n", + " 6 5.9678437e+08 8.64e+04 1.05e+02 -1.0 1.20e+05 - 1.47e-02 6.77e-02h 1\n", + " 7 6.2140864e+08 7.43e+04 8.28e+01 -1.0 1.15e+05 - 1.79e-01 1.40e-01h 1\n", + " 8 6.7899461e+08 4.59e+04 5.92e+01 -1.0 1.16e+05 - 3.30e-01 3.82e-01h 1\n", + " 9 7.7145188e+08 1.86e+02 1.78e+00 -1.0 1.29e+05 - 9.81e-01 9.96e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.7127577e+08 1.84e+02 1.52e+02 -1.0 5.04e+06 - 1.71e-01 9.65e-03f 1\n", + " 11 7.7028850e+08 1.75e+02 6.59e+02 -1.0 5.71e+06 - 4.13e-01 5.03e-02f 1\n", + " 12 7.6754436e+08 1.83e+02 6.40e+02 -1.0 9.65e+06 - 1.42e-01 9.17e-02f 1\n", + " 13 7.6673176e+08 1.83e+02 1.68e+03 -1.0 1.12e+07 - 8.10e-01 2.68e-02f 1\n", + " 14 7.5955762e+08 1.02e+03 1.61e+03 -1.0 5.53e+07 - 3.76e-02 4.18e-02f 1\n", + " 15 7.5452965e+08 1.45e+03 1.56e+03 -1.0 5.79e+07 - 2.84e-02 2.96e-02f 1\n", + " 16 7.2080685e+08 2.13e+04 1.40e+03 -1.0 6.00e+07 - 2.30e-02 1.87e-01f 1\n", + " 17 7.2036706e+08 2.12e+04 1.21e+03 -1.0 6.30e+07 - 1.97e-01 2.39e-03f 1\n", + " 18 6.9976008e+08 2.85e+04 1.00e+03 -1.0 8.04e+07 - 1.97e-01 9.60e-02f 1\n", + " 19 6.9928899e+08 2.85e+04 8.93e+02 -1.0 8.73e+07 - 1.61e-01 1.95e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.7580643e+08 3.79e+04 6.98e+02 -1.0 1.08e+08 - 2.99e-01 8.77e-02f 1\n", + " 21 6.7444157e+08 3.78e+04 6.14e+02 -1.0 1.77e+08 - 1.11e-01 3.89e-03f 1\n", + " 22 6.6015034e+08 4.70e+04 5.27e+02 -1.0 2.09e+08 - 2.35e-01 3.69e-02f 1\n", + " 23 6.5085541e+08 5.45e+04 5.09e+02 -1.0 3.25e+08 - 9.75e-02 2.14e-02f 1\n", + " 24 6.2220067e+08 1.41e+05 4.79e+02 -1.0 3.97e+08 - 2.07e-01 5.78e-02f 1\n", + " 25 6.1548129e+08 1.48e+05 4.98e+02 -1.0 6.59e+08 - 1.02e-01 1.09e-02f 1\n", + " 26 6.0780459e+08 1.55e+05 5.54e+02 -1.0 6.04e+08 - 2.31e-01 1.27e-02f 1\n", + " 27 6.0497218e+08 1.50e+05 2.48e+02 -1.0 1.71e+08 - 5.90e-01 3.07e-02f 1\n", + " 28 6.0475064e+08 7.76e+04 2.02e+02 -1.0 3.95e+06 - 2.80e-01 4.84e-01h 1\n", + " 29 6.0467701e+08 7.68e+04 1.13e+02 -1.0 5.72e+06 - 4.01e-01 1.43e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.0468103e+08 1.73e+03 1.16e+02 -1.0 3.16e+05 - 6.45e-01 1.00e+00h 1\n", + " 31 6.0460678e+08 2.51e+04 1.14e+02 -1.0 9.02e+05 - 1.97e-02 7.17e-01f 1\n", + " 32 6.0334741e+08 1.10e+07 7.08e+01 -1.0 1.26e+07 - 3.61e-01 1.00e+00f 1\n", + " 33 5.9364448e+08 5.45e+08 8.99e+01 -1.0 9.91e+07 - 1.29e-01 1.00e+00f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 34 5.9172601e+08 5.06e+08 8.79e+01 -1.0 3.86e+08 - 1.43e-01 5.70e-02f 1\n", + " 35 5.9170694e+08 5.04e+08 8.70e+01 -1.0 6.58e+07 - 6.79e-01 3.49e-03h 1\n", + " 36 5.9161791e+08 3.14e+08 5.46e+01 -1.0 1.94e+07 - 7.13e-01 3.73e-01h 1\n", + " 37 5.9154918e+08 2.52e+08 4.39e+01 -1.0 3.34e+07 - 7.44e-01 1.98e-01h 1\n", + " 38 5.9147023e+08 1.84e+08 3.24e+01 -1.0 4.21e+07 - 8.05e-01 2.70e-01h 1\n", + " 39 5.9147663e+08 1.77e+08 2.78e+03 -1.0 2.74e+05 -4.0 2.15e-02 3.58e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.9147586e+08 1.76e+08 2.78e+03 -1.0 6.83e+06 - 2.57e-02 5.52e-03h 1\n", + " 41 5.9163345e+08 1.46e+08 4.64e+04 -1.0 5.85e+06 - 8.22e-03 1.71e-01h 1\n", + " 42 5.9206527e+08 7.70e+07 2.80e+05 -1.0 4.96e+06 - 6.92e-02 4.80e-01h 1\n", + " 43 5.9211608e+08 3.30e+07 1.20e+05 -1.0 1.14e+05 -4.5 1.33e-02 5.71e-01h 1\n", + " 44 5.9216234e+08 1.32e+04 2.67e+04 -1.0 4.95e+04 -5.0 6.39e-01 1.00e+00h 1\n", + " 45 5.9216216e+08 4.51e-01 2.19e+02 -1.0 1.74e+02 -5.4 1.00e+00 1.00e+00h 1\n", + " 46 5.9216201e+08 3.40e-06 2.13e-02 -1.0 2.68e+01 -5.9 1.00e+00 1.00e+00h 1\n", + " 47 5.9167922e+08 3.44e+05 3.45e+00 -2.5 5.87e+08 - 5.80e-02 7.32e-03f 1\n", + " 48 5.9163290e+08 3.36e+05 2.51e+01 -2.5 1.23e+07 - 3.61e-01 2.27e-02f 1\n", + " 49 5.9148946e+08 2.31e+05 4.35e+01 -2.5 9.69e+06 - 9.52e-01 3.13e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.9141888e+08 1.12e+06 7.08e+01 -2.5 1.47e+07 - 1.00e+00 7.13e-01h 1\n", + " 51 5.9138634e+08 2.43e+06 6.62e+01 -2.5 9.40e+07 - 1.00e+00 1.30e-01h 1\n", + " 52 5.9138306e+08 2.12e+06 5.77e+01 -2.5 2.02e+07 - 9.37e-01 1.28e-01h 1\n", + " 53 5.9136848e+08 6.33e+06 3.46e+01 -2.5 4.83e+07 - 1.00e+00 4.03e-01h 1\n", + " 54 5.9136802e+08 6.19e+06 3.38e+01 -2.5 2.41e+06 - 1.00e+00 2.29e-02h 1\n", + " 55 5.9135123e+08 9.02e+04 3.22e-01 -2.5 3.13e+05 - 1.00e+00 1.00e+00h 1\n", + " 56 5.9135124e+08 9.48e+02 1.80e-05 -2.5 2.93e+03 - 1.00e+00 1.00e+00h 1\n", + " 57 5.9135124e+08 4.87e-02 9.41e-08 -2.5 1.29e+02 - 1.00e+00 1.00e+00h 1\n", + " 58 5.9134994e+08 1.89e+01 1.76e-02 -3.8 2.54e+04 - 1.00e+00 9.84e-01f 1\n", + " 59 5.9134992e+08 4.49e-02 1.63e-08 -3.8 1.60e+03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 5.9134985e+08 4.62e-02 4.96e-08 -5.7 1.23e+03 - 1.00e+00 1.00e+00h 1\n", + " 61 5.9134984e+08 3.38e-06 7.44e-12 -8.6 1.09e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 61\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.9134984499932936e+04 5.9134984499932933e+08\n", + "Dual infeasibility......: 7.4395346058892014e-12 7.4395346058892014e-08\n", + "Constraint violation....: 3.7252902984619141e-09 3.3788383007049561e-06\n", + "Complementarity.........: 2.5471431991436234e-09 2.5471431991436232e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5471431991436232e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 62\n", + "Number of objective gradient evaluations = 62\n", + "Number of equality constraint evaluations = 62\n", + "Number of inequality constraint evaluations = 62\n", + "Number of equality constraint Jacobian evaluations = 62\n", + "Number of inequality constraint Jacobian evaluations = 62\n", + "Number of Lagrangian Hessian evaluations = 61\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.090\n", + "Total CPU secs in NLP function evaluations = 76.994\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 286\n", + "Realized SOC (MPC) 897065\n", + "Fixed costs: 55834.68\n", + "Variable costs: 762.72\n", + "\n", + "Renewables curtailment reported at t=1 - total= 163.67\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 39.10\n", + "\n", + "Simulating time_step 2020-07-11 09:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.9154984e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.9154330e+08 1.00e+05 9.90e+01 -1.0 1.17e+06 - 3.99e-04 3.71e-04h 1\n", + " 2 5.9174923e+08 9.98e+04 9.99e+01 -1.0 4.81e+05 - 4.11e-04 1.55e-03h 1\n", + " 3 5.9266757e+08 9.93e+04 1.01e+02 -1.0 2.36e+05 - 1.91e-03 5.51e-03h 1\n", + " 4 5.9535674e+08 9.77e+04 1.01e+02 -1.0 1.90e+05 - 7.85e-03 1.57e-02h 1\n", + " 5 6.0395921e+08 9.28e+04 9.71e+01 -1.0 1.23e+05 - 4.35e-02 5.06e-02h 1\n", + " 6 6.2066872e+08 8.31e+04 9.98e+01 -1.0 1.21e+05 - 3.51e-02 1.04e-01h 1\n", + " 7 6.5541267e+08 6.32e+04 6.25e+01 -1.0 1.14e+05 - 6.18e-01 2.40e-01h 1\n", + " 8 7.5031725e+08 8.37e+03 3.41e+01 -1.0 1.89e+05 - 3.89e-01 8.67e-01h 1\n", + " 9 7.5565616e+08 5.13e+03 2.17e+01 -1.0 2.44e+05 - 9.87e-01 3.87e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.5577708e+08 5.06e+03 5.96e+03 -1.0 3.40e+03 -4.0 9.90e-01 1.35e-02h 1\n", + " 11 7.5587144e+08 5.01e+03 8.55e+05 -1.0 5.42e+03 -4.5 9.89e-01 1.07e-02h 1\n", + " 12 7.6012909e+08 2.56e+03 1.50e+05 -1.0 5.43e+03 -5.0 9.90e-01 4.88e-01h 1\n", + " 13 7.6024055e+08 2.50e+03 9.32e+04 -1.0 2.78e+03 -5.4 1.00e+00 2.50e-02h 1\n", + " 14 7.6273468e+08 1.07e+03 5.45e+04 -1.0 3.00e+03 -5.9 1.00e+00 5.74e-01h 1\n", + " 15 7.6458946e+08 1.84e-01 4.33e+00 -1.0 1.74e+03 -6.4 1.00e+00 1.00e+00h 1\n", + " 16 7.6457862e+08 1.92e-04 3.36e+00 -1.7 2.38e+02 -6.9 9.99e-01 1.00e+00f 1\n", + " 17 7.6457662e+08 6.19e-02 1.74e-02 -1.7 9.24e+02 -7.3 1.00e+00 1.00e+00f 1\n", + " 18 7.5420447e+08 1.48e+04 1.58e+00 -2.5 8.04e+10 - 1.46e-04 1.03e-04f 1\n", + " 19 7.5419400e+08 2.24e+03 2.45e+01 -2.5 2.55e+03 -7.8 9.45e-01 8.48e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.4200408e+08 6.76e+03 2.51e+01 -2.5 2.57e+10 - 1.32e-04 2.54e-04f 1\n", + " 21 7.2668233e+08 1.83e+04 2.59e+01 -2.5 3.11e+10 - 1.33e-04 2.62e-04f 1\n", + " 22 7.1643615e+08 3.19e+04 2.65e+01 -2.5 5.94e+10 - 3.86e-05 1.35e-04f 1\n", + " 23 7.1643345e+08 2.85e+04 4.80e+01 -2.5 8.19e+03 -8.3 1.00e+00 1.05e-01h 1\n", + " 24 7.1641722e+08 2.23e+04 4.05e+01 -2.5 1.92e+04 -8.8 1.00e+00 2.18e-01h 1\n", + " 25 7.1635159e+08 1.49e+04 5.34e+01 -2.5 5.49e+04 -9.2 1.00e+00 3.34e-01h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 26 7.1622653e+08 1.11e+04 6.06e+01 -2.5 1.64e+05 -9.7 1.00e+00 2.50e-01f 1\n", + " 27 7.1558537e+08 6.37e+03 3.53e+01 -2.5 4.91e+05 -10.2 1.00e+00 4.29e-01f 1\n", + " 28 7.1543244e+08 6.15e+03 7.13e+01 -2.5 1.49e+06 -10.7 7.43e-01 3.48e-02f 1\n", + " 29 7.1442196e+08 5.76e+03 6.80e+01 -2.5 4.49e+06 -11.2 1.36e-01 7.81e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 7.1357053e+08 5.69e+03 6.60e+01 -2.5 1.37e+07 -11.6 4.54e-03 2.22e-02f 1\n", + " 31 7.1351776e+08 5.69e+03 6.62e+01 -2.5 4.13e+07 -12.1 5.57e-02 5.63e-04f 1\n", + " 32 7.1003001e+08 6.07e+03 6.54e+01 -2.5 1.24e+08 -12.6 6.85e-03 1.27e-02f 1\n", + " 33 7.0698806e+08 6.08e+03 6.40e+01 -2.5 3.72e+08 -13.1 3.30e-02 3.79e-03f 1\n", + " 34 6.8979416e+08 1.51e+04 6.32e+01 -2.5 1.10e+09 -13.5 1.61e-02 7.33e-03f 1\n", + " 35 6.8952011e+08 1.51e+04 6.30e+01 -2.5 3.16e+09 -14.0 3.94e-03 5.59e-05f 1\n", + " 36 6.8778515e+08 1.55e+04 6.29e+01 -2.5 1.24e+09 -13.6 1.79e-03 1.12e-03f 1\n", + " 37 6.8442854e+08 1.67e+04 6.29e+01 -2.5 3.54e+09 -14.1 1.19e-05 7.49e-04f 1\n", + " 38 6.8428445e+08 1.67e+04 6.10e+01 -2.5 1.39e+09 -13.6 4.36e-02 9.64e-05f 1\n", + " 39 6.4595735e+08 2.70e+05 6.07e+01 -2.5 3.95e+09 -14.1 4.09e-03 9.39e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.4583761e+08 2.70e+05 5.64e+01 -2.5 1.53e+09 -13.7 1.02e-01 7.60e-05f 1\n", + " 41 6.3260187e+08 3.18e+05 5.58e+01 -2.5 4.22e+09 -14.2 1.23e-02 5.78e-03f 1\n", + " 42 6.3256433e+08 3.18e+05 4.38e+01 -2.5 6.01e+08 -13.7 3.80e-01 1.15e-04f 1\n", + " 43 6.3255485e+08 3.07e+05 4.08e+01 -2.5 2.41e+07 -14.2 1.69e-03 3.57e-02h 1\n", + " 44 6.3043346e+08 3.28e+07 1.09e+02 -2.5 5.87e+07 -13.8 1.86e-02 3.53e-01f 1\n", + " 45 6.3013392e+08 3.15e+07 1.07e+02 -2.5 7.45e+07 -14.3 3.02e-01 4.16e-02f 1\n", + " 46 6.2454528e+08 8.41e+07 4.76e+02 -2.5 6.23e+07 -13.8 2.78e-01 9.04e-01f 1\n", + " 47 6.2067135e+08 6.68e+07 2.73e+02 -2.5 9.40e+07 -13.4 2.26e-02 4.44e-01f 1\n", + " 48 6.1936731e+08 6.62e+07 2.58e+02 -2.5 2.57e+08 -13.9 1.13e-02 5.60e-02f 1\n", + " 49 6.1936362e+08 6.62e+07 2.58e+02 -2.5 6.84e+08 -14.4 2.70e-02 5.98e-05h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.1935264e+08 5.58e+07 2.18e+02 -2.5 1.24e+07 -14.0 8.75e-01 1.58e-01h 1\n", + " 51 6.1932865e+08 5.12e+07 2.00e+02 -2.5 4.41e+07 -14.4 2.15e-01 8.09e-02h 1\n", + " 52 6.1923340e+08 4.88e+07 1.92e+02 -2.5 3.52e+08 -14.9 2.70e-01 4.80e-02h 1\n", + " 53 6.1923245e+08 4.85e+07 1.91e+02 -2.5 3.60e+07 -14.5 2.37e-01 5.55e-03h 1\n", + " 54 6.1919765e+08 4.65e+07 1.83e+02 -2.5 2.01e+08 -15.0 3.27e-02 4.21e-02h 1\n", + " 55 6.1919743e+08 4.61e+07 1.82e+02 -2.5 1.22e+07 -14.5 1.00e+00 7.41e-03h 1\n", + " 56 6.1919604e+08 4.49e+07 1.77e+02 -2.5 3.85e+07 - 1.00e+00 2.62e-02h 1\n", + " 57 6.1919238e+08 1.63e+05 2.04e+00 -2.5 7.46e+05 - 1.00e+00 1.00e+00h 1\n", + " 58 6.1919202e+08 1.34e+03 5.85e-05 -2.5 3.73e+04 - 1.00e+00 1.00e+00h 1\n", + " 59 6.1919202e+08 1.05e-01 1.02e-07 -2.5 3.85e+01 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.1919072e+08 1.62e+01 1.25e-02 -3.8 2.34e+04 - 1.00e+00 9.89e-01f 1\n", + " 61 6.1919071e+08 3.89e-02 1.32e-08 -3.8 1.51e+03 - 1.00e+00 1.00e+00h 1\n", + " 62 6.1919063e+08 3.98e-02 4.71e-08 -5.7 1.14e+03 - 1.00e+00 1.00e+00h 1\n", + " 63 6.1919063e+08 3.10e-06 7.96e-12 -8.6 1.14e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 63\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.1919063389743511e+04 6.1919063389743507e+08\n", + "Dual infeasibility......: 7.9565344937328051e-12 7.9565344937328051e-08\n", + "Constraint violation....: 2.5611370801925659e-09 3.1031668186187744e-06\n", + "Complementarity.........: 2.5449689897912701e-09 2.5449689897912700e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5449689897912700e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 64\n", + "Number of objective gradient evaluations = 64\n", + "Number of equality constraint evaluations = 64\n", + "Number of inequality constraint evaluations = 64\n", + "Number of equality constraint Jacobian evaluations = 64\n", + "Number of inequality constraint Jacobian evaluations = 64\n", + "Number of Lagrangian Hessian evaluations = 63\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.348\n", + "Total CPU secs in NLP function evaluations = 79.789\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 286\n", + "Realized SOC (MPC) 897065\n", + "Fixed costs: 55834.68\n", + "Variable costs: 818.25\n", + "\n", + "Renewables curtailment reported at t=1 - total= 140.65\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 3.00\n", + "\n", + "Simulating time_step 2020-07-11 10:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.1939063e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.1938282e+08 1.00e+05 9.90e+01 -1.0 1.17e+06 - 4.81e-04 4.40e-04h 1\n", + " 2 6.1953464e+08 9.98e+04 9.97e+01 -1.0 4.29e+05 - 5.59e-04 1.73e-03h 1\n", + " 3 6.2016626e+08 9.92e+04 1.00e+02 -1.0 1.96e+05 - 2.18e-03 5.55e-03h 1\n", + " 4 6.2210891e+08 9.76e+04 1.00e+02 -1.0 1.85e+05 - 8.16e-03 1.64e-02h 1\n", + " 5 6.2850730e+08 9.24e+04 9.28e+01 -1.0 1.23e+05 - 6.44e-02 5.38e-02h 1\n", + " 6 6.4393583e+08 7.97e+04 8.19e+01 -1.0 1.22e+05 - 1.27e-01 1.37e-01h 1\n", + " 7 6.9379268e+08 3.87e+04 9.25e+01 -1.0 1.17e+05 - 1.84e-01 5.15e-01h 1\n", + " 8 7.1636253e+08 2.00e+04 1.99e+01 -1.0 1.03e+05 - 9.79e-01 4.82e-01h 1\n", + " 9 7.1809045e+08 1.75e+04 5.28e+01 -1.0 3.76e+06 - 9.84e-01 1.26e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.1420136e+08 1.76e+04 4.01e+02 -1.0 2.75e+08 - 2.14e-01 8.13e-03f 1\n", + " 11 6.9695526e+08 2.26e+04 3.96e+02 -1.0 3.80e+08 - 4.53e-02 2.67e-02f 1\n", + " 12 6.9347668e+08 2.24e+04 3.95e+02 -1.0 3.08e+08 - 1.16e-02 5.92e-03f 1\n", + " 13 6.8786760e+08 2.22e+04 3.97e+02 -1.0 3.16e+08 - 2.60e-02 1.01e-02f 1\n", + " 14 6.7769263e+08 2.18e+04 3.83e+02 -1.0 3.39e+08 - 7.27e-04 2.00e-02f 1\n", + " 15 6.7284242e+08 2.30e+04 3.79e+02 -1.0 3.36e+08 - 6.97e-03 9.41e-03f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 16 6.7251130e+08 2.30e+04 4.34e+02 -1.0 3.43e+08 - 1.42e-01 9.11e-04f 1\n", + " 17 6.6729112e+08 2.81e+04 4.31e+02 -1.0 5.00e+08 - 2.62e-02 1.48e-02f 1\n", + " 18 6.5997786e+08 6.41e+04 4.50e+02 -1.0 5.42e+08 - 1.26e-01 2.63e-02f 1\n", + " 19 6.5155582e+08 1.10e+05 4.52e+02 -1.0 7.38e+08 - 6.44e-02 2.20e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.5148889e+08 1.09e+05 6.73e+01 -1.0 7.86e+07 - 7.80e-01 2.36e-03h 1\n", + " 21 6.5426748e+08 7.39e+04 4.76e+01 -1.0 1.08e+07 - 6.07e-01 3.46e-01h 1\n", + " 22 6.5597542e+08 5.06e+04 3.04e+01 -1.0 7.10e+06 - 1.83e-02 3.28e-01h 1\n", + " 23 6.5718941e+08 2.88e+05 2.33e+01 -1.0 1.08e+07 - 1.51e-01 3.72e-01h 1\n", + " 24 6.5857776e+08 6.23e+06 4.80e+01 -1.0 1.01e+07 - 1.81e-01 1.00e+00h 1\n", + " 25 6.5778243e+08 5.54e+06 3.93e+01 -1.0 1.99e+07 - 1.73e-01 3.10e-01f 1\n", + " 26 6.5765944e+08 5.35e+06 2.99e+01 -1.0 2.99e+07 - 2.99e-01 3.70e-02f 1\n", + " 27 6.5213416e+08 5.82e+07 2.70e+01 -1.0 4.63e+07 - 1.22e-01 1.00e+00f 1\n", + " 28 6.4910636e+08 4.05e+07 2.29e+01 -1.0 5.91e+07 - 1.05e-01 2.79e-01f 1\n", + " 29 6.4907150e+08 4.04e+07 2.17e+01 -1.0 7.79e+07 - 2.00e-01 2.60e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.4754256e+08 3.47e+07 2.03e+01 -1.0 1.15e+08 - 3.77e-01 1.42e-01f 1\n", + " 31 6.4234285e+08 8.86e+07 1.06e+01 -1.0 1.30e+08 - 3.37e-01 4.29e-01f 1\n", + " 32 6.4229037e+08 8.76e+07 1.36e+01 -1.0 5.59e+07 - 3.06e-01 1.04e-02h 1\n", + " 33 6.4214297e+08 5.93e+07 1.71e+01 -1.0 2.62e+07 - 1.77e-02 3.23e-01h 1\n", + " 34 6.4211760e+08 5.69e+07 8.30e+00 -1.0 2.27e+07 - 2.63e-01 4.07e-02h 1\n", + " 35 6.4209289e+08 4.98e+07 3.03e+01 -1.0 2.23e+07 - 9.09e-01 1.25e-01h 1\n", + " 36 6.4209678e+08 4.82e+07 1.10e+03 -1.0 2.45e+05 -4.0 1.23e-02 3.21e-02h 1\n", + " 37 6.4211383e+08 4.41e+07 1.31e+03 -1.0 1.48e+06 - 5.12e-02 8.55e-02h 1\n", + " 38 6.4219495e+08 2.92e+07 2.46e+04 -1.0 1.67e+06 - 1.49e-01 3.39e-01h 1\n", + " 39 6.4238370e+08 1.18e+05 8.47e+04 -1.0 8.03e+05 - 2.51e-01 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.4238346e+08 9.09e-01 1.98e+00 -1.0 4.61e+02 -4.5 9.94e-01 1.00e+00h 1\n", + " 41 6.4236866e+08 1.29e-04 1.00e-02 -1.7 1.86e+00 -5.0 1.00e+00 1.00e+00f 1\n", + " 42 6.4217539e+08 5.44e+04 6.12e+00 -2.5 6.12e+08 - 1.93e-01 2.81e-03f 1\n", + " 43 6.4210289e+08 1.18e+05 4.96e+01 -2.5 3.04e+07 - 9.17e-01 9.53e-02f 1\n", + " 44 6.4207658e+08 2.28e+05 4.95e+01 -2.5 3.10e+07 - 9.79e-01 8.72e-02h 1\n", + " 45 6.4204219e+08 4.76e+05 4.27e+01 -2.5 2.73e+07 - 1.00e+00 1.43e-01h 1\n", + " 46 6.4200551e+08 1.45e+06 3.34e+01 -2.5 3.64e+07 - 1.00e+00 2.23e-01h 1\n", + " 47 6.4200356e+08 1.38e+06 3.21e+01 -2.5 4.31e+06 - 1.00e+00 5.07e-02h 1\n", + " 48 6.4196752e+08 3.67e+05 1.83e+01 -2.5 5.37e+06 - 1.00e+00 1.00e+00h 1\n", + " 49 6.4196773e+08 3.33e+05 9.22e+01 -2.5 1.17e+04 -5.4 1.60e-02 9.09e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.4196754e+08 3.32e+05 1.13e+02 -2.5 2.57e+05 - 1.00e+00 4.84e-03h 1\n", + " 51 6.4196715e+08 1.74e+02 3.83e+01 -2.5 2.82e+04 - 1.00e+00 1.00e+00h 1\n", + " 52 6.4196715e+08 2.78e-05 4.13e-06 -2.5 3.37e+00 -5.9 1.00e+00 1.00e+00h 1\n", + " 53 6.4196657e+08 7.24e-06 2.88e-04 -3.8 2.88e+01 -6.4 1.00e+00 1.00e+00f 1\n", + " 54 6.4196620e+08 9.08e+01 1.96e+01 -5.7 2.89e+06 - 9.78e-01 2.90e-02f 1\n", + " 55 6.4196517e+08 3.66e+04 4.16e+00 -5.7 1.86e+06 - 1.00e+00 9.08e-01h 1\n", + " 56 6.4196518e+08 2.88e+04 2.60e+01 -5.7 1.59e+03 -6.9 3.75e-02 2.14e-01h 1\n", + " 57 6.4196517e+08 2.88e+04 3.01e+01 -5.7 2.21e+07 - 1.00e+00 2.91e-06h 1\n", + " 58 6.4196508e+08 1.19e+04 1.29e+01 -5.7 1.55e+05 - 1.00e+00 5.90e-01h 1\n", + " 59 6.4196489e+08 2.06e+03 2.91e+00 -5.7 3.91e+05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.4196488e+08 2.05e-03 2.98e-04 -5.7 9.93e+01 -7.3 1.00e+00 1.00e+00h 1\n", + " 61 6.4196409e+08 4.61e+04 3.98e+00 -5.7 1.95e+06 - 1.00e+00 9.64e-01f 1\n", + " 62 6.4196402e+08 1.09e+00 2.26e+01 -5.7 2.29e+03 -7.8 2.05e-01 1.00e+00h 1\n", + " 63 6.4196402e+08 1.09e+00 2.84e+01 -5.7 2.56e+05 - 1.00e+00 5.99e-06h 3\n", + " 64 6.4196389e+08 8.74e+02 4.41e+00 -5.7 2.56e+05 - 1.00e+00 1.00e+00h 1\n", + " 65 6.4196389e+08 3.62e-04 6.14e-06 -5.7 4.26e+01 -8.3 1.00e+00 1.00e+00h 1\n", + " 66 6.4196389e+08 1.04e-05 6.50e-03 -8.6 1.13e+01 -8.8 1.00e+00 9.67e-01h 1\n", + " 67 6.4196389e+08 2.86e-06 2.68e-02 -8.6 2.36e+01 -9.2 1.00e+00 7.48e-01f 1\n", + "In iteration 67, 1 Slack too small, adjusting variable bound\n", + " 68 6.4196389e+08 3.70e-05 4.54e-04 -8.6 5.28e+01 -9.7 1.00e+00 9.95e-01f 1\n", + " 69 6.4196389e+08 3.33e-04 1.24e-08 -8.6 1.58e+02 -10.2 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.4196389e+08 3.00e-03 9.88e-09 -8.6 4.73e+02 -10.7 1.00e+00 1.00e+00h 1\n", + " 71 6.4196388e+08 2.70e-02 9.88e-09 -8.6 1.42e+03 -11.2 1.00e+00 1.00e+00h 1\n", + " 72 6.4196388e+08 2.43e-01 3.46e-08 -8.6 4.26e+03 -11.6 1.00e+00 1.00e+00h 1\n", + " 73 6.4196388e+08 2.19e+00 3.12e-07 -8.6 1.28e+04 -12.1 1.00e+00 1.00e+00h 1\n", + " 74 6.4196386e+08 1.99e+01 2.82e-06 -8.6 3.85e+04 -12.6 1.00e+00 1.00e+00h 1\n", + " 75 6.4196380e+08 1.82e+02 2.59e-05 -8.6 1.16e+05 -13.1 1.00e+00 1.00e+00h 1\n", + " 76 6.4196361e+08 1.73e+03 2.46e-04 -8.6 3.59e+05 -13.5 1.00e+00 1.00e+00h 1\n", + " 77 6.4196298e+08 1.85e+04 2.63e-03 -8.6 1.17e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 78 6.4196025e+08 2.89e+05 4.20e-02 -8.6 4.68e+06 -14.5 1.00e+00 1.00e+00h 1\n", + " 79 6.4193057e+08 1.91e+07 2.82e+00 -8.6 5.46e+07 -15.0 1.00e+00 6.99e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80r 6.4193057e+08 1.91e+07 9.99e+02 3.7 0.00e+00 -14.5 0.00e+00 2.85e-09R 2\n", + " 81r 6.4205591e+08 1.70e+07 9.99e+02 3.7 1.06e+10 - 1.21e-04 1.21e-04f 1\n", + " 82r 6.4324197e+08 6.70e+06 1.42e+04 3.7 3.56e+06 - 9.16e-03 1.17e-03f 1\n", + " 83r 6.4515860e+08 4.31e+06 1.37e+04 3.7 7.56e+05 - 5.45e-04 2.74e-03f 1\n", + " 84r 6.4732788e+08 2.56e+06 3.84e+04 3.7 6.40e+05 - 9.72e-02 3.29e-03f 1\n", + " 85r 8.9341029e+08 2.58e+06 3.68e+03 3.7 3.73e+01 2.0 9.90e-01 1.00e+00f 1\n", + " 86r 8.9277789e+08 1.20e+06 1.28e+04 3.0 1.27e+06 - 1.73e-01 9.60e-03f 1\n", + " 87r 8.8736861e+08 8.09e+05 3.65e+04 3.0 1.24e+06 - 6.04e-01 1.67e-01f 1\n", + " 88r 8.4971598e+08 4.70e+05 1.89e+04 3.0 1.03e+06 - 1.00e+00 7.06e-01f 1\n", + " 89r 8.3131296e+08 1.37e+04 3.26e+03 2.3 3.21e+00 2.4 9.40e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90r 8.0782191e+08 7.53e+04 1.79e+04 1.6 3.28e+05 - 5.54e-01 1.88e-01f 1\n", + " 91r 7.7051368e+08 5.72e+04 1.65e+04 1.6 2.61e+05 - 1.00e+00 4.97e-01f 1\n", + " 92r 7.2409576e+08 1.68e+04 9.63e+03 1.6 1.30e+05 - 1.00e+00 7.23e-01f 1\n", + " 93r 6.9791505e+08 3.28e+03 4.64e+03 1.6 3.65e+04 - 1.00e+00 8.93e-01f 1\n", + " 94r 6.9165904e+08 4.95e+02 8.47e+00 1.6 5.19e+03 - 1.00e+00 1.00e+00f 1\n", + " 95r 6.7088011e+08 2.58e+03 8.49e+01 -0.5 9.78e+03 - 8.49e-01 8.42e-01f 1\n", + " 96r 6.7049136e+08 9.49e+03 2.34e+02 -0.5 2.18e+05 - 2.69e-01 2.22e-01f 1\n", + " 97r 6.7048366e+08 9.45e+03 6.90e+02 -0.5 1.40e+05 - 1.79e-01 3.52e-03f 1\n", + " 98r 6.7037760e+08 9.06e+03 1.13e+03 -0.5 1.62e+05 - 2.62e-01 4.16e-02f 1\n", + " 99r 6.6860789e+08 6.53e+04 1.24e+02 -0.5 1.55e+05 - 3.19e-01 5.59e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100r 6.6707372e+08 4.44e+04 2.76e+02 -0.5 6.87e+04 - 6.39e-01 4.42e-01f 1\n", + " 101r 6.6644628e+08 3.89e+04 5.68e+02 -0.5 3.82e+04 - 1.00e+00 1.24e-01f 1\n", + " 102r 6.5789111e+08 2.66e+02 8.94e+00 -0.5 3.33e+04 - 1.00e+00 1.00e+00f 1\n", + " 103r 6.5132378e+08 1.43e+01 8.89e+00 -1.2 1.99e+03 - 1.00e+00 9.94e-01f 1\n", + " 104r 6.5134901e+08 2.05e+01 9.82e+02 -1.2 2.91e+05 - 3.52e-01 7.10e-02f 1\n", + " 105r 6.5164416e+08 2.04e+02 2.25e+02 -1.2 2.80e+05 - 7.67e-01 7.60e-01f 1\n", + " 106r 6.5185291e+08 2.01e+01 8.94e+00 -1.2 6.67e+04 - 1.00e+00 1.00e+00f 1\n", + " 107r 6.5186877e+08 7.05e-01 8.93e+00 -1.2 1.41e+03 - 1.00e+00 1.00e+00h 1\n", + " 108r 6.5186877e+08 7.05e-01 8.93e+00 -1.2 2.56e+02 - 1.00e+00 1.00e+00h 1\n", + " 109r 6.5186877e+08 7.05e-01 8.93e+00 -1.2 8.93e+00 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110r 6.5186877e+08 7.05e-01 8.93e+00 -1.2 1.17e-02 - 1.00e+00 1.00e+00h 1\n", + " 111r 6.5186877e+08 7.05e-01 8.93e+00 -1.2 7.79e-04 - 1.00e+00 1.00e+00h 1\n", + " 112r 6.5186877e+08 7.05e-01 8.93e+00 -1.2 7.79e-04 - 1.00e+00 1.00e+00h 1\n", + " 113r 6.5186877e+08 7.05e-01 8.93e+00 -1.2 7.79e-04 - 1.00e+00 1.00e+00h 1\n", + " 114r 6.5186877e+08 7.05e-01 8.93e+00 -1.2 7.78e-04 - 1.00e+00 1.00e+00h 1\n", + " 115r 6.5186877e+08 7.05e-01 7.81e+00 -1.2 7.78e-04 - 1.00e+00 1.25e-01h 4\n", + " 116r 6.5186877e+08 7.05e-01 8.93e+00 -1.2 1.02e-04 - 1.00e+00 1.00e+00h 1\n", + " 117r 6.5186877e+08 7.05e-01 6.69e+00 -1.2 7.78e-04 - 1.00e+00 2.50e-01h 3\n", + " 118r 6.5186877e+08 7.05e-01 2.23e+00 -1.2 1.94e-04 - 1.00e+00 9.54e-07h 21\n", + " 119r 6.4790645e+08 4.64e+00 8.94e+00 -1.9 1.52e+03 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 120r 6.4791294e+08 4.61e+00 4.39e+02 -1.9 6.28e+05 - 5.72e-01 1.27e-02f 1\n", + " 121r 6.4792885e+08 4.61e+00 6.70e+02 -1.9 4.17e+05 - 1.00e+00 2.69e-02f 1\n", + " 122r 6.4808884e+08 1.61e+01 5.28e+02 -1.9 2.47e+05 - 1.00e+00 2.33e-01f 1\n", + " 123r 6.4823123e+08 2.44e+01 3.84e+02 -1.9 1.89e+05 - 4.75e-01 2.74e-01f 1\n", + " 124r 6.4860782e+08 1.06e+02 2.70e+00 -1.9 1.35e+05 - 1.00e+00 1.00e+00f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 125r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 5.97e+02 - 1.00e+00 1.00e+00h 1\n", + " 126r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 1.87e+00 - 1.00e+00 1.00e+00h 1\n", + " 127r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 5.31e-04 - 1.00e+00 1.00e+00h 1\n", + " 128r 6.4860801e+08 3.34e-01 2.69e+00 -1.9 5.17e-04 - 1.00e+00 3.91e-03h 9\n", + " 129r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 5.18e-04 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 130r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 5.20e-04 - 1.00e+00 1.00e+00h 1\n", + " 131r 6.4860801e+08 3.34e-01 1.35e+00 -1.9 5.22e-04 - 1.00e+00 5.00e-01h 2\n", + " 132r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 2.77e-04 - 1.00e+00 1.00e+00h 1\n", + " 133r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 2.51e-04 - 1.00e+00 1.00e+00h 1\n", + " 134r 6.4860801e+08 3.34e-01 1.35e+00 -1.9 2.52e-04 - 1.00e+00 5.00e-01h 2\n", + " 135r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 1.26e-04 - 1.00e+00 1.00e+00h 1\n", + " 136r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 2.52e-04 - 1.00e+00 1.00e+00h 1\n", + " 137r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 2.52e-04 - 1.00e+00 1.95e-03h 10\n", + " 138r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 2.51e-04 - 1.00e+00 1.00e+00h 1\n", + " 139r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 2.52e-04 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 140r 6.4860801e+08 3.34e-01 2.70e+00 -1.9 2.52e-04 - 1.00e+00 9.77e-04h 11\n", + " 141r 6.4860801e+08 3.34e-01 1.35e+00 -1.9 2.51e-04 - 1.00e+00 5.00e-01h 2\n", + " 142r 6.4860801e+08 3.34e-01 6.75e-01 -1.9 1.26e-04 - 1.00e+00 5.00e-01h 2\n", + " 143r 6.4860801e+08 3.34e-01 3.38e-01 -1.9 6.30e-05 - 1.00e+00 5.00e-01h 2\n", + " 144r 6.4571255e+08 3.36e-01 3.32e+00 -2.9 1.74e+03 - 1.00e+00 9.83e-01f 1\n", + " 145r 6.4573240e+08 1.65e+02 8.19e+01 -2.9 9.15e+05 - 2.93e-01 1.80e-01f 1\n", + " 146r 6.4573243e+08 1.65e+02 6.25e+02 -2.9 6.89e+05 - 9.87e-01 3.18e-04f 1\n", + " 147r 6.4573892e+08 1.66e+02 1.09e+03 -2.9 6.85e+05 - 6.08e-01 5.52e-02f 1\n", + " 148r 6.4573925e+08 1.66e+02 1.47e+03 -2.9 2.66e+04 - 1.00e+00 4.04e-03h 1\n", + " 149r 6.4581786e+08 2.97e+00 2.64e+01 -2.9 2.66e+04 - 1.00e+00 9.82e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 150r 6.4581917e+08 1.44e-02 6.62e-01 -2.9 4.74e+02 - 1.00e+00 1.00e+00f 1\n", + " 151r 6.4581918e+08 1.37e-03 6.76e-01 -2.9 1.07e+02 - 1.00e+00 1.00e+00h 1\n", + " 152r 6.4581918e+08 1.37e-03 6.76e-01 -2.9 5.50e+00 - 1.00e+00 1.00e+00h 1\n", + " 153r 6.4581918e+08 1.37e-03 6.76e-01 -2.9 1.43e-02 - 1.00e+00 1.00e+00h 1\n", + " 154r 6.4581918e+08 1.37e-03 6.76e-01 -2.9 3.12e-05 - 1.00e+00 1.00e+00h 1\n", + " 155r 6.4581918e+08 1.37e-03 5.49e-01 -2.9 1.95e-05 - 1.00e+00 1.00e+00h 1\n", + " 156r 6.4581918e+08 1.37e-03 6.76e-01 -2.9 1.05e-05 - 1.00e+00 1.00e+00h 1\n", + " 157r 6.4581918e+08 1.37e-03 6.76e-01 -2.9 2.12e-05 - 1.00e+00 1.00e+00h 1\n", + " 158r 6.4581918e+08 1.37e-03 5.07e-01 -2.9 3.27e-05 - 1.00e+00 2.50e-01h 3\n", + " 159r 6.4581918e+08 1.37e-03 5.49e-01 -2.9 2.50e-05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 160r 6.4581918e+08 1.37e-03 6.76e-01 -2.9 2.56e-05 - 1.00e+00 1.00e+00h 1\n", + " 161r 6.4581918e+08 1.37e-03 3.38e-01 -2.9 2.73e-05 - 1.00e+00 5.00e-01h 2\n", + " 162r 6.4581918e+08 1.37e-03 6.76e-01 -2.9 1.64e-05 - 1.00e+00 1.00e+00h 1\n", + " 163r 6.4581918e+08 1.37e-03 3.38e-01 -2.9 3.11e-05 - 1.00e+00 5.00e-01h 2\n", + " 164r 6.4581918e+08 1.37e-03 1.69e-01 -2.9 2.09e-05 - 1.00e+00 5.00e-01h 2\n", + " 165r 6.4581918e+08 1.37e-03 5.49e-01 -2.9 1.26e-05 - 1.00e+00 1.00e+00h 1\n", + " 166r 6.4581918e+08 1.37e-03 2.74e-01 -2.9 1.11e-05 - 1.00e+00 5.00e-01h 2\n", + " 167r 6.4581918e+08 1.37e-03 5.49e-01 -2.9 1.35e-05 - 1.00e+00 1.00e+00h 1\n", + " 168r 6.4581918e+08 1.37e-03 4.11e-01 -2.9 1.21e-05 - 1.00e+00 2.50e-01h 3\n", + " 169r 6.4581918e+08 1.37e-03 1.03e-01 -2.9 1.01e-05 - 1.00e+00 2.50e-01h 3\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 170r 6.4581918e+08 1.37e-03 5.49e-01 -2.9 8.90e-06 - 1.00e+00 1.00e+00h 1\n", + " 171r 6.4581918e+08 1.37e-03 5.40e-01 -2.9 8.44e-06 - 1.00e+00 1.56e-02h 7\n", + " 172r 6.4581918e+08 1.37e-03 7.09e-02 -2.9 7.29e-06 - 1.00e+00 5.00e-01h 2\n", + " 173r 6.4581918e+08 1.37e-03 5.31e-02 -2.9 7.03e-06 - 1.00e+00 2.50e-01h 3\n", + " 174r 6.4410643e+08 1.17e-02 6.76e+00 -4.3 2.15e+03 - 8.95e-01 9.36e-01f 1\n", + " 175r 6.4409672e+08 2.82e-01 1.26e+02 -4.3 2.19e+05 - 2.21e-01 8.81e-02f 1\n", + " 176r 6.4408769e+08 2.76e-01 5.48e+02 -4.3 1.99e+05 - 6.48e-01 6.79e-02f 1\n", + " 177r 6.4403899e+08 4.85e-01 4.45e+02 -4.3 1.86e+05 - 2.88e-01 2.21e-01f 1\n", + " 178r 6.4402270e+08 4.77e-01 5.14e+02 -4.3 1.44e+05 - 6.32e-01 7.58e-02f 1\n", + " 179r 6.4397080e+08 5.48e-01 4.31e+02 -4.3 1.32e+05 - 4.91e-01 2.01e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 180r 6.4393902e+08 5.25e-01 4.02e+02 -4.3 1.02e+05 - 1.00e+00 1.37e-01f 1\n", + " 181r 6.4380105e+08 9.73e-01 1.57e+02 -4.3 8.06e+04 - 9.02e-01 6.11e-01f 1\n", + " 182r 6.4376713e+08 6.28e-01 9.43e+01 -4.3 3.09e+04 - 1.00e+00 3.97e-01f 1\n", + " 183r 6.4374315e+08 3.46e-01 5.12e+01 -4.3 1.83e+04 - 1.00e+00 4.57e-01h 1\n", + " 184r 6.4371548e+08 2.53e-02 1.03e+00 -4.3 6.78e+03 - 1.00e+00 1.00e+00f 1\n", + " 185r 6.4371543e+08 1.16e-03 1.03e+00 -4.3 4.18e+02 - 1.00e+00 1.00e+00h 1\n", + " 186r 6.4371541e+08 1.16e-03 1.03e+00 -4.3 4.83e+01 - 1.00e+00 1.00e+00h 1\n", + " 187r 6.4371541e+08 1.16e-03 1.03e+00 -4.3 6.65e-01 - 1.00e+00 1.00e+00h 1\n", + " 188r 6.4371541e+08 1.16e-03 1.03e+00 -4.3 1.26e-04 - 1.00e+00 1.00e+00h 1\n", + " 189r 6.4371541e+08 1.16e-03 5.13e-01 -4.3 1.18e-05 - 1.00e+00 5.00e-01h 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 190r 6.4371541e+08 1.16e-03 1.03e+00 -4.3 1.05e-05 - 1.00e+00 1.00e+00h 1\n", + " 191r 6.4371541e+08 1.16e-03 1.03e+00 -4.3 1.06e-05 - 1.00e+00 1.00e+00h 1\n", + " 192r 6.4371541e+08 1.16e-03 1.02e+00 -4.3 1.19e-05 - 1.00e+00 1.95e-03h 10\n", + " 193r 6.4371541e+08 1.16e-03 1.03e+00 -4.3 1.14e-05 - 1.00e+00 1.00e+00h 1\n", + " 194r 6.4371541e+08 1.16e-03 1.01e+00 -4.3 1.01e-05 - 1.00e+00 1.56e-02h 7\n", + " 195r 6.4371541e+08 1.16e-03 1.03e+00 -4.3 6.04e-06 - 1.00e+00 1.00e+00h 1\n", + " 196r 6.4371541e+08 1.16e-03 9.62e-01 -4.3 1.00e-05 - 1.00e+00 6.25e-02h 5\n", + " 197r 6.4371541e+08 1.16e-03 9.58e-01 -4.3 6.64e-06 - 1.00e+00 3.91e-03h 9\n", + " 198r 6.4371541e+08 1.16e-03 1.03e+00 -4.3 6.64e-06 - 1.00e+00 1.00e+00h 1\n", + " 199r 6.4371541e+08 1.16e-03 1.03e+00 -4.3 1.12e-05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 200r 6.4371541e+08 1.16e-03 1.03e+00 -4.3 9.90e-06 - 1.00e+00 4.88e-04h 12\n", + "\n", + "Number of Iterations....: 200\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.4371541377234913e+04 6.4371541377234912e+08\n", + "Dual infeasibility......: 9.9999687135404955e+01 9.9999687135404954e+05\n", + "Constraint violation....: 1.1621312885556900e-03 1.1621312885556900e-03\n", + "Complementarity.........: 4.8285632672494319e-05 4.8285632672494316e-01\n", + "Overall NLP error.......: 9.9999687135404955e+01 9.9999687135404954e+05\n", + "\n", + "\n", + "Number of objective function evaluations = 341\n", + "Number of objective gradient evaluations = 82\n", + "Number of equality constraint evaluations = 341\n", + "Number of inequality constraint evaluations = 341\n", + "Number of equality constraint Jacobian evaluations = 202\n", + "Number of inequality constraint Jacobian evaluations = 202\n", + "Number of Lagrangian Hessian evaluations = 200\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 7.882\n", + "Total CPU secs in NLP function evaluations = 458.384\n", + "\n", + "EXIT: Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:pyomo.core:Loading a SolverResults object with a warning status into model.name=\"unknown\";\n", + " - termination condition: maxIterations\n", + " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 286\n", + "Realized SOC (MPC) 897110\n", + "Fixed costs: 55834.68\n", + "Variable costs: 4322.25\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 202.14\n", + "\n", + "Simulating time_step 2020-07-11 11:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.4371541e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.4326811e+08 9.97e+04 9.93e+01 -1.0 1.05e+06 - 5.25e-03 2.56e-03f 1\n", + " 2 6.4349338e+08 9.93e+04 9.88e+01 -1.0 8.90e+05 - 2.89e-03 4.38e-03h 1\n", + " 3 6.4475858e+08 9.83e+04 9.96e+01 -1.0 9.74e+05 - 3.17e-03 1.03e-02h 1\n", + " 4 6.4616711e+08 9.73e+04 9.71e+01 -1.0 1.02e+06 - 1.75e-02 9.89e-03h 1\n", + " 5 6.4858405e+08 9.57e+04 9.56e+01 -1.0 1.01e+06 - 2.15e-02 1.64e-02h 1\n", + " 6 6.5013711e+08 9.47e+04 9.87e+01 -1.0 9.92e+05 - 4.86e-03 1.04e-02h 1\n", + " 7 6.5959165e+08 8.86e+04 9.63e+01 -1.0 9.81e+05 - 4.26e-02 6.41e-02h 1\n", + " 8 7.1164021e+08 5.53e+04 9.96e+01 -1.0 9.09e+05 - 1.57e-01 3.76e-01h 1\n", + " 9 7.9606893e+08 1.15e+03 8.24e+01 -1.0 5.34e+05 - 4.47e-01 9.79e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.9623366e+08 1.01e+03 3.36e+02 -1.0 1.57e+05 - 9.90e-01 1.23e-01h 1\n", + " 11 7.9332872e+08 9.21e+02 2.22e+02 -1.0 1.19e+07 - 1.83e-02 8.86e-02f 1\n", + " 12 7.9242484e+08 8.97e+02 3.68e+02 -1.0 1.49e+07 - 1.54e-01 2.57e-02f 1\n", + " 13 7.9122211e+08 8.72e+02 5.08e+02 -1.0 1.73e+07 - 1.85e-01 3.22e-02f 1\n", + " 14 7.8942421e+08 8.56e+02 7.19e+02 -1.0 1.91e+07 - 3.34e-01 4.19e-02f 1\n", + " 15 7.8741935e+08 8.78e+02 1.01e+03 -1.0 1.89e+07 - 7.33e-01 4.84e-02f 1\n", + " 16 7.6255090e+08 3.10e+04 9.42e+02 -1.0 7.94e+07 - 4.14e-02 1.30e-01f 1\n", + " 17 7.6213958e+08 3.09e+04 8.45e+02 -1.0 8.58e+07 - 1.43e-01 2.19e-03f 1\n", + " 18 7.4242828e+08 5.53e+04 7.90e+02 -1.0 1.03e+08 - 5.42e-02 9.73e-02f 1\n", + " 19 7.4219943e+08 5.52e+04 6.25e+02 -1.0 9.69e+07 - 3.01e-01 1.20e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.3230518e+08 5.18e+04 6.00e+02 -1.0 1.51e+08 - 9.78e-03 6.09e-02f 1\n", + " 21 7.3200878e+08 5.17e+04 5.99e+02 -1.0 1.58e+08 - 8.89e-04 1.51e-03f 1\n", + " 22 6.8498296e+08 3.87e+05 6.48e+02 -1.0 1.66e+08 - 5.08e-02 2.70e-01f 1\n", + " 23 6.8449548e+08 3.86e+05 5.74e+02 -1.0 1.96e+08 - 8.00e-02 2.39e-03f 1\n", + " 24 6.8392800e+08 3.84e+05 4.15e+02 -1.0 2.20e+08 - 1.79e-01 4.73e-03f 1\n", + " 25 6.8042654e+08 3.82e+05 1.91e+02 -1.0 2.83e+08 - 5.91e-01 2.28e-02f 1\n", + " 26 6.8037592e+08 3.69e+05 4.54e+02 -1.0 2.39e+06 - 8.16e-01 3.38e-02h 1\n", + " 27 6.8019037e+08 3.25e+05 4.16e+02 -1.0 6.20e+06 - 3.42e-01 1.19e-01h 1\n", + " 28 6.8006681e+08 2.60e+05 3.22e+02 -1.0 4.78e+06 - 7.17e-03 2.01e-01h 1\n", + " 29 6.7970801e+08 3.34e+05 2.17e+02 -1.0 6.50e+06 - 4.89e-01 3.49e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.7820364e+08 7.95e+06 6.50e+01 -1.0 1.71e+07 - 9.72e-02 6.51e-01f 1\n", + " 31 6.7726315e+08 7.32e+06 5.29e+01 -1.0 2.61e+07 - 1.39e-01 2.56e-01f 1\n", + " 32 6.7605044e+08 8.02e+06 4.46e+01 -1.0 3.50e+07 - 4.41e-01 2.50e-01f 1\n", + " 33 6.7577667e+08 7.88e+06 4.30e+01 -1.0 6.17e+07 - 1.27e-01 3.87e-02f 1\n", + " 34 6.7026029e+08 1.03e+08 6.12e+01 -1.0 7.53e+07 - 9.79e-02 6.76e-01f 1\n", + " 35 6.7013939e+08 1.02e+08 6.06e+01 -1.0 1.18e+08 - 1.43e-01 1.08e-02h 1\n", + " 36 6.6662879e+08 8.56e+07 4.36e+01 -1.0 1.22e+08 - 1.17e-01 3.03e-01f 1\n", + " 37 6.6515181e+08 7.34e+07 3.62e+01 -1.0 9.14e+07 - 1.06e-01 1.74e-01f 1\n", + " 38 6.6513628e+08 7.32e+07 3.61e+01 -1.0 5.48e+07 - 1.51e-01 2.93e-03h 1\n", + " 39 6.6496214e+08 4.58e+07 2.27e+01 -1.0 9.85e+06 - 4.25e-02 3.73e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.6492386e+08 4.22e+07 2.11e+01 -1.0 1.40e+07 - 7.74e-01 8.05e-02h 1\n", + " 41 6.6486562e+08 3.44e+07 2.61e+01 -1.0 1.54e+07 - 7.92e-01 1.83e-01h 1\n", + " 42 6.6486710e+08 3.31e+07 5.79e+02 -1.0 8.58e+04 -4.0 1.49e-02 3.71e-02h 1\n", + " 43 6.6488626e+08 2.84e+07 2.07e+03 -1.0 8.58e+05 - 1.31e-01 1.45e-01h 1\n", + " 44 6.6499230e+08 1.16e+05 7.06e+04 -1.0 7.34e+05 - 2.39e-01 1.00e+00h 1\n", + " 45 6.6499281e+08 6.72e-01 4.51e-01 -1.0 2.23e+02 -4.5 9.93e-01 1.00e+00h 1\n", + " 46 6.6497779e+08 2.75e-05 9.76e-03 -1.7 2.91e+00 -5.0 1.00e+00 1.00e+00f 1\n", + " 47 6.6481424e+08 1.12e+05 7.72e+00 -3.8 4.63e+08 - 1.92e-01 2.84e-03f 1\n", + " 48 6.6473488e+08 2.04e+05 4.28e+01 -3.8 1.82e+07 - 7.70e-01 8.70e-02f 1\n", + " 49 6.6470526e+08 3.54e+05 3.69e+01 -3.8 1.50e+07 - 6.66e-01 2.54e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.6469560e+08 3.78e+05 3.45e+01 -3.8 1.06e+07 - 9.86e-01 1.64e-01h 1\n", + " 51 6.6468420e+08 1.76e+05 1.62e+01 -3.8 3.04e+06 - 1.00e+00 5.34e-01h 1\n", + " 52 6.6467210e+08 6.25e+06 7.04e+00 -3.8 2.00e+07 - 1.00e+00 9.82e-01h 1\n", + " 53 6.6467215e+08 6.24e+06 1.00e+02 -3.8 1.53e+05 -5.4 1.59e-04 1.47e-03h 1\n", + " 54 6.6467211e+08 6.24e+06 1.02e+02 -3.8 1.16e+06 - 1.07e-01 2.55e-04h 1\n", + " 55 6.6467085e+08 4.47e+06 8.07e+01 -3.8 1.76e+06 - 1.00e+00 2.82e-01h 1\n", + " 56 6.6466742e+08 8.72e+04 1.07e+02 -3.8 1.12e+06 - 3.18e-01 1.00e+00h 1\n", + " 57 6.6466742e+08 8.58e+04 1.05e+02 -3.8 8.00e+02 -5.9 2.75e-02 1.71e-02h 1\n", + " 58 6.6466742e+08 8.05e+04 9.89e+01 -3.8 1.30e+03 -6.4 2.24e-01 6.16e-02h 1\n", + " 59 6.6466752e+08 4.39e+04 5.61e+01 -3.8 1.18e+03 -6.9 1.25e-01 4.55e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.6466744e+08 2.70e+04 3.32e+01 -3.8 7.18e+02 -7.3 1.00e+00 3.84e-01h 1\n", + " 61 6.6466743e+08 4.76e+00 1.31e-02 -3.8 4.11e+02 -7.8 1.00e+00 1.00e+00h 1\n", + " 62 6.6466740e+08 3.51e+00 3.52e+00 -3.8 6.44e+02 -8.3 1.00e+00 2.62e-01h 1\n", + " 63 6.6466741e+08 1.13e-03 1.64e-04 -3.8 4.70e+01 -8.8 1.00e+00 1.00e+00f 1\n", + " 64 6.6466734e+08 6.18e-04 9.87e-03 -5.7 1.47e+02 -9.2 1.00e+00 9.72e-01f 1\n", + " 65 6.6466734e+08 1.92e-03 7.97e-02 -5.7 4.05e+02 -9.7 1.00e+00 7.31e-01f 1\n", + " 66 6.6466733e+08 4.10e-02 9.57e-06 -5.7 1.41e+03 -10.2 1.00e+00 1.00e+00f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 67 6.6466732e+08 2.20e-01 4.60e-04 -8.6 4.22e+03 -10.7 1.00e+00 7.54e-01h 1\n", + " 68 6.6466731e+08 2.31e-01 3.06e-01 -8.6 1.17e+04 -11.2 1.00e+00 1.14e-01h 1\n", + " 69 6.6466731e+08 2.34e-01 6.25e-01 -8.6 2.20e+04 -11.6 1.00e+00 3.10e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.6466718e+08 5.26e+01 7.69e-02 -8.6 6.40e+04 -12.1 1.00e+00 8.99e-01h 1\n", + " 71 6.6466674e+08 5.88e+02 6.21e-04 -8.6 1.93e+05 -12.6 1.00e+00 1.00e+00h 1\n", + " 72 6.6466540e+08 5.39e+03 6.75e-04 -8.6 5.83e+05 -13.1 1.00e+00 1.00e+00h 1\n", + " 73 6.6466357e+08 1.31e+04 5.43e-03 -8.6 1.79e+06 -13.5 1.00e+00 4.42e-01h 1\n", + " 74 6.6466183e+08 9.07e+04 5.00e-02 -8.6 2.31e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 75 6.6465302e+08 1.14e+06 1.11e-01 -8.6 8.93e+06 -14.5 1.00e+00 8.73e-01h 1\n", + " 76r 6.6465302e+08 1.14e+06 9.99e+02 2.4 0.00e+00 - 0.00e+00 2.55e-08R 2\n", + " 77r 6.6465487e+08 1.33e+06 9.99e+02 2.4 4.22e+09 - 6.10e-05 3.09e-05f 2\n", + " 78r 6.6470425e+08 3.66e+05 9.98e+02 2.4 1.88e+06 - 1.34e-03 8.19e-04f 1\n", + " 79r 6.6481527e+08 1.49e+05 9.96e+02 2.4 5.10e+05 - 5.22e-03 1.91e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80r 6.6481963e+08 1.48e+05 9.96e+02 2.4 9.00e+05 - 5.98e-05 7.84e-05f 1\n", + " 81r 6.6482089e+08 1.48e+05 1.00e+04 2.4 4.42e+04 - 9.02e-02 2.26e-05f 1\n", + " 82r 6.6871645e+08 1.12e+05 8.66e+03 2.4 1.26e+05 - 4.60e-03 2.13e-02f 1\n", + " 83r 6.8001534e+08 1.52e+04 5.87e+03 2.4 4.53e+04 - 7.48e-02 1.02e-01f 1\n", + " 84r 6.9006043e+08 1.88e+04 2.06e+04 2.4 4.39e+04 - 5.10e-01 2.11e-01f 1\n", + " 85r 7.4360110e+08 1.35e+03 6.64e+03 2.4 4.92e+04 - 4.91e-01 1.00e+00f 1\n", + " 86r 7.4635757e+08 2.60e+02 7.42e-01 2.4 2.43e+04 - 1.00e+00 1.00e+00f 1\n", + " 87r 7.1480668e+08 1.66e+03 6.49e+02 1.7 2.10e+04 - 1.00e+00 9.64e-01f 1\n", + " 88r 7.0404653e+08 2.57e+02 3.09e+03 1.0 6.83e+03 - 9.82e-01 8.94e-01f 1\n", + " 89r 7.0229156e+08 1.79e+01 4.80e+00 1.0 1.18e+04 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90r 6.8696133e+08 7.25e+00 6.07e+02 -0.4 6.20e+03 - 1.00e+00 8.46e-01f 1\n", + " 91r 6.8600285e+08 3.78e+00 3.64e+02 -0.4 3.59e+04 - 1.00e+00 4.96e-01f 1\n", + " 92r 6.8164684e+08 3.47e-01 2.68e+01 -0.4 4.12e+03 - 1.00e+00 9.56e-01f 1\n", + " 93r 6.8096353e+08 1.05e-01 3.22e+00 -0.4 1.14e+03 - 1.00e+00 1.00e+00f 1\n", + " 94r 6.7351611e+08 6.82e-02 8.93e+00 -1.8 2.30e+03 - 1.00e+00 9.51e-01f 1\n", + " 95r 6.7306013e+08 1.55e-02 6.80e+01 -1.8 5.48e+03 - 1.00e+00 9.20e-01f 1\n", + " 96r 6.7201545e+08 4.65e-03 1.06e-01 -1.8 1.58e+03 - 1.00e+00 1.00e+00f 1\n", + " 97r 6.6894896e+08 1.67e-02 1.04e+01 -2.6 1.99e+03 - 1.00e+00 9.58e-01f 1\n", + " 98r 6.6898780e+08 4.88e-02 1.64e+02 -2.6 6.63e+03 - 1.00e+00 6.52e-01f 1\n", + " 99r 6.6905648e+08 1.86e-02 1.02e-01 -2.6 8.11e+02 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100r 6.6905609e+08 2.88e-05 9.91e-03 -2.6 3.52e+01 - 1.00e+00 1.00e+00h 1\n", + " 101r 6.6702004e+08 3.59e-03 4.62e+00 -3.9 1.11e+03 - 9.37e-01 9.73e-01f 1\n", + " 102r 6.6699265e+08 3.40e-01 3.40e+02 -3.9 2.26e+04 - 8.89e-01 2.79e-01f 1\n", + " 103r 6.6684146e+08 5.54e-01 1.16e+02 -3.9 2.50e+04 - 1.00e+00 7.05e-01f 1\n", + " 104r 6.6679120e+08 3.23e-01 1.12e+02 -3.9 4.19e+03 - 1.00e+00 4.20e-01f 1\n", + " 105r 6.6672015e+08 6.69e-02 6.27e-02 -3.9 2.09e+03 - 1.00e+00 1.00e+00f 1\n", + " 106 6.6672001e+08 6.69e-02 1.00e+02 -8.6 2.71e+14 - 1.71e-07 2.46e-12f 11\n", + " 107 6.6671994e+08 6.69e-02 1.00e+02 -8.6 3.98e+12 - 1.74e-05 8.47e-11f 12\n", + " 108 6.6671987e+08 6.69e-02 9.98e+01 -8.6 8.39e+10 - 1.51e-03 4.30e-09f 13\n", + " 109 6.6671980e+08 6.69e-02 8.41e+01 -8.6 1.74e+09 - 1.13e-01 1.86e-07f 14\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110 6.6671966e+08 6.69e-02 3.87e+01 -8.6 1.92e+07 - 1.00e+00 1.40e-05f 14\n", + " 111 6.6465203e+08 1.53e+01 3.36e-01 -8.6 4.84e+04 - 1.00e+00 1.00e+00f 1\n", + " 112 6.6465174e+08 1.12e-04 4.09e-02 -8.6 1.28e+02 - 1.00e+00 1.00e+00h 1\n", + " 113 6.6465174e+08 1.91e-06 1.69e-12 -8.6 8.55e-03 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 113\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.6465173602455048e+04 6.6465173602455044e+08\n", + "Dual infeasibility......: 1.6935753318836010e-12 1.6935753318836010e-08\n", + "Constraint violation....: 2.5611370801925659e-09 1.9073486328125000e-06\n", + "Complementarity.........: 2.5063437027451393e-09 2.5063437027451392e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5063437027451392e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 182\n", + "Number of objective gradient evaluations = 86\n", + "Number of equality constraint evaluations = 182\n", + "Number of inequality constraint evaluations = 182\n", + "Number of equality constraint Jacobian evaluations = 115\n", + "Number of inequality constraint Jacobian evaluations = 115\n", + "Number of Lagrangian Hessian evaluations = 113\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 5.760\n", + "Total CPU secs in NLP function evaluations = 335.535\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 334\n", + "Realized SOC (MPC) 897110\n", + "Fixed costs: 55834.68\n", + "Variable costs: 6780.12\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 129.17\n", + "\n", + "Simulating time_step 2020-07-11 12:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.6485174e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.6484389e+08 1.00e+05 9.90e+01 -1.0 1.17e+06 - 4.81e-04 4.40e-04h 1\n", + " 2 6.6496478e+08 9.98e+04 9.97e+01 -1.0 4.29e+05 - 5.59e-04 1.73e-03h 1\n", + " 3 6.6530562e+08 9.94e+04 9.99e+01 -1.0 1.85e+05 - 2.18e-03 4.00e-03h 1\n", + " 4 6.6596559e+08 9.87e+04 9.93e+01 -1.0 1.72e+05 - 6.34e-03 6.91e-03h 1\n", + " 5 6.6868300e+08 9.59e+04 9.90e+01 -1.0 1.30e+05 - 1.54e-02 2.79e-02h 1\n", + " 6 6.7812490e+08 8.64e+04 9.14e+01 -1.0 1.22e+05 - 8.76e-02 9.90e-02h 1\n", + " 7 6.9328280e+08 7.12e+04 9.89e+01 -1.0 1.18e+05 - 4.28e-02 1.77e-01h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 8 7.2670237e+08 3.75e+04 3.71e+01 -1.0 1.07e+05 - 6.83e-01 4.73e-01h 1\n", + " 9 7.5762060e+08 5.71e+03 6.45e+00 -1.0 2.52e+05 - 7.74e-01 8.48e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.5766892e+08 5.60e+03 5.10e+02 -1.0 1.08e+06 - 5.66e-01 2.00e-02h 1\n", + " 11 7.5759249e+08 5.04e+03 1.49e+03 -1.0 2.49e+06 - 9.65e-01 9.91e-02h 1\n", + " 12 7.5085835e+08 5.00e+03 1.45e+03 -1.0 5.73e+07 - 1.55e-02 4.01e-02f 1\n", + " 13 7.5055424e+08 4.99e+03 1.16e+03 -1.0 6.33e+07 - 4.63e-01 2.15e-03f 1\n", + " 14 7.4482015e+08 5.16e+03 9.62e+02 -1.0 8.11e+07 - 2.48e-01 3.01e-02f 1\n", + " 15 7.3772328e+08 4.96e+03 9.06e+02 -1.0 1.14e+08 - 1.51e-01 4.06e-02f 1\n", + " 16 7.3188628e+08 7.31e+03 8.87e+02 -1.0 1.34e+08 - 2.89e-03 2.86e-02f 1\n", + " 17 7.3102550e+08 7.38e+03 8.71e+02 -1.0 1.38e+08 - 1.66e-02 5.82e-03f 1\n", + " 18 7.1599033e+08 4.48e+04 8.62e+02 -1.0 1.42e+08 - 2.67e-02 1.01e-01f 1\n", + " 19 7.1580501e+08 4.48e+04 7.13e+02 -1.0 1.51e+08 - 1.99e-01 1.37e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.9387791e+08 3.57e+05 5.49e+02 -1.0 2.09e+08 - 2.47e-01 2.00e-01f 1\n", + " 21 6.9365706e+08 3.57e+05 5.01e+02 -1.0 2.96e+08 - 2.26e-01 1.41e-03f 1\n", + " 22 6.9371288e+08 3.37e+05 2.59e+02 -1.0 2.40e+06 - 9.09e-01 5.43e-02h 1\n", + " 23 6.9389385e+08 2.28e+05 1.87e+02 -1.0 6.71e+06 - 4.58e-01 3.23e-01h 1\n", + " 24 6.9387819e+08 1.83e+05 1.40e+02 -1.0 7.98e+06 - 9.25e-03 1.96e-01h 1\n", + " 25 6.9375197e+08 1.88e+05 1.18e+02 -1.0 8.98e+06 - 3.36e-01 1.99e-01h 1\n", + " 26 6.9203599e+08 1.33e+07 1.48e+01 -1.0 1.61e+07 - 2.76e-02 8.78e-01f 1\n", + " 27 6.9199287e+08 1.31e+07 1.46e+01 -1.0 2.81e+07 - 3.67e-01 1.28e-02h 1\n", + " 28 6.9169923e+08 1.24e+07 1.36e+01 -1.0 4.31e+07 - 1.38e-01 6.67e-02f 1\n", + " 29 6.8670477e+08 1.07e+08 6.16e+01 -1.0 5.16e+07 - 1.63e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.8607729e+08 1.06e+08 6.04e+01 -1.0 4.16e+08 - 5.59e-02 1.63e-02f 1\n", + " 31 6.8070623e+08 1.37e+08 5.17e+01 -1.0 2.96e+08 - 1.04e-01 1.94e-01f 1\n", + " 32 6.8065310e+08 1.35e+08 5.10e+01 -1.0 5.63e+07 - 3.49e-01 1.07e-02h 1\n", + " 33 6.8055640e+08 8.66e+07 3.28e+01 -1.0 1.39e+07 - 1.24e-01 3.58e-01h 1\n", + " 34 6.8051082e+08 7.46e+07 2.82e+01 -1.0 1.48e+07 - 7.61e-01 1.39e-01h 1\n", + " 35 6.8043854e+08 4.56e+07 1.82e+01 -1.0 3.47e+07 - 7.92e-01 3.87e-01h 1\n", + " 36 6.8044403e+08 4.30e+07 1.89e+03 -1.0 1.56e+05 -4.0 2.22e-02 5.66e-02h 1\n", + " 37 6.8045501e+08 4.07e+07 1.62e+03 -1.0 1.51e+06 - 4.25e-02 5.42e-02h 1\n", + " 38 6.8055271e+08 2.52e+07 4.92e+04 -1.0 1.45e+06 - 1.05e-01 3.81e-01h 1\n", + " 39 6.8072126e+08 1.27e+05 1.21e+05 -1.0 8.46e+05 - 3.48e-01 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.8072086e+08 4.16e+01 6.31e+00 -1.0 4.43e+02 -4.5 9.94e-01 1.00e+00h 1\n", + " 41 6.8070577e+08 5.31e-05 5.66e-03 -1.7 2.52e+00 -5.0 1.00e+00 1.00e+00f 1\n", + " 42 6.8049412e+08 6.59e+04 1.75e+01 -3.8 6.75e+08 - 1.74e-01 2.80e-03f 1\n", + " 43 6.8047161e+08 6.29e+04 1.06e+02 -3.8 2.20e+07 - 7.76e-01 4.59e-02f 1\n", + " 44 6.8038568e+08 1.11e+06 9.57e+01 -3.8 2.16e+07 - 9.20e-01 4.93e-01f 1\n", + " 45 6.8038330e+08 1.08e+06 9.30e+01 -3.8 2.04e+07 - 4.13e-01 2.98e-02h 1\n", + " 46 6.8036352e+08 7.25e+05 6.49e+01 -3.8 1.98e+07 - 1.00e+00 3.33e-01h 1\n", + " 47 6.8036000e+08 6.25e+05 5.60e+01 -3.8 1.54e+07 - 1.00e+00 1.38e-01h 1\n", + " 48 6.8034296e+08 1.20e+07 2.66e+01 -3.8 5.09e+07 - 1.00e+00 5.32e-01h 1\n", + " 49 6.8034295e+08 1.20e+07 2.66e+01 -3.8 2.22e+07 - 1.00e+00 1.83e-04h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.8032717e+08 3.85e+06 8.66e+00 -3.8 5.86e+05 - 1.00e+00 6.80e-01h 1\n", + " 51 6.8031989e+08 2.14e+04 2.23e-02 -3.8 1.63e+05 - 1.00e+00 1.00e+00h 1\n", + " 52 6.8031989e+08 6.92e+01 4.09e-08 -3.8 9.01e+02 - 1.00e+00 1.00e+00h 1\n", + " 53 6.8031989e+08 2.80e-04 1.50e-09 -3.8 1.89e+00 - 1.00e+00 1.00e+00h 1\n", + " 54 6.8031982e+08 6.73e-02 6.40e-08 -5.7 2.38e+03 - 1.00e+00 1.00e+00f 1\n", + " 55 6.8031982e+08 1.10e-05 1.02e-11 -8.6 3.04e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 55\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.8031981663250146e+04 6.8031981663250148e+08\n", + "Dual infeasibility......: 1.0163822713063437e-11 1.0163822713063437e-07\n", + "Constraint violation....: 3.7252902984619141e-09 1.0967254638671875e-05\n", + "Complementarity.........: 2.5436460878883048e-09 2.5436460878883046e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5436460878883046e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 56\n", + "Number of objective gradient evaluations = 56\n", + "Number of equality constraint evaluations = 56\n", + "Number of inequality constraint evaluations = 56\n", + "Number of equality constraint Jacobian evaluations = 56\n", + "Number of inequality constraint Jacobian evaluations = 56\n", + "Number of Lagrangian Hessian evaluations = 55\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.093\n", + "Total CPU secs in NLP function evaluations = 70.366\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 337\n", + "Realized SOC (MPC) 897110\n", + "Fixed costs: 55834.68\n", + "Variable costs: 11744.43\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 249.60\n", + "\n", + "Simulating time_step 2020-07-11 13:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.8051982e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.8051196e+08 1.00e+05 9.90e+01 -1.0 1.17e+06 - 4.81e-04 4.40e-04h 1\n", + " 2 6.8064337e+08 9.97e+04 1.00e+02 -1.0 3.99e+05 - 5.59e-04 2.17e-03h 1\n", + " 3 6.8097102e+08 9.93e+04 1.00e+02 -1.0 2.28e+05 - 2.61e-03 4.30e-03h 1\n", + " 4 6.8160210e+08 9.86e+04 9.93e+01 -1.0 1.73e+05 - 7.16e-03 7.41e-03h 1\n", + " 5 6.8430773e+08 9.55e+04 9.90e+01 -1.0 1.24e+05 - 1.65e-02 3.11e-02h 1\n", + " 6 6.9185022e+08 8.70e+04 8.62e+01 -1.0 1.22e+05 - 1.33e-01 8.90e-02h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 7 7.1257188e+08 6.36e+04 9.71e+01 -1.0 1.21e+05 - 4.59e-02 2.69e-01h 1\n", + " 8 7.4155316e+08 3.08e+04 3.05e+01 -1.0 1.05e+05 - 6.96e-01 5.15e-01h 1\n", + " 9 7.6257147e+08 6.31e+03 6.25e+00 -1.0 2.75e+05 - 9.84e-01 7.95e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.6206558e+08 6.23e+03 4.94e+01 -1.0 1.42e+07 - 5.09e-02 1.20e-02f 1\n", + " 11 7.5906201e+08 5.86e+03 8.16e+01 -1.0 1.77e+07 - 8.85e-02 6.17e-02f 1\n", + " 12 7.5878338e+08 5.82e+03 1.12e+03 -1.0 1.93e+07 - 8.74e-01 6.58e-03f 1\n", + " 13 7.5227391e+08 6.04e+03 1.07e+03 -1.0 1.14e+08 - 6.21e-02 2.25e-02f 1\n", + " 14 7.4878939e+08 6.21e+03 9.44e+02 -1.0 1.23e+08 - 2.76e-01 1.93e-02f 1\n", + " 15 7.3723353e+08 1.20e+04 8.70e+02 -1.0 1.83e+08 - 1.77e-01 4.35e-02f 1\n", + " 16 7.3621322e+08 1.19e+04 8.59e+02 -1.0 2.14e+08 - 1.20e-02 8.03e-03f 1\n", + " 17 7.3361696e+08 1.46e+04 8.36e+02 -1.0 2.20e+08 - 2.66e-02 2.23e-02f 1\n", + " 18 7.2534530e+08 5.91e+04 7.63e+02 -1.0 2.31e+08 - 8.39e-02 6.85e-02f 1\n", + " 19 7.2526248e+08 5.91e+04 6.49e+02 -1.0 2.12e+08 - 1.42e-01 7.46e-04f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.2609939e+08 4.22e+04 2.24e+02 -1.0 7.53e+05 - 5.61e-01 2.87e-01h 1\n", + " 21 7.2711908e+08 2.14e+04 5.15e+01 -1.0 8.73e+05 - 8.91e-01 4.93e-01h 1\n", + " 22 7.2747183e+08 2.90e+05 1.51e+01 -1.0 7.14e+06 - 8.20e-02 6.28e-01h 1\n", + " 23 7.2745233e+08 2.87e+05 1.50e+01 -1.0 1.28e+07 - 2.00e-02 1.33e-02h 1\n", + " 24 7.2726450e+08 2.50e+05 1.28e+01 -1.0 1.31e+07 - 1.02e-01 1.33e-01f 1\n", + " 25 7.2695049e+08 5.08e+05 1.06e+01 -1.0 1.52e+07 - 1.34e-01 1.62e-01f 1\n", + " 26 7.2626446e+08 1.76e+06 9.41e+00 -1.0 2.13e+07 - 5.83e-02 2.47e-01f 1\n", + " 27 7.2417924e+08 5.38e+06 2.45e+01 -1.0 3.02e+07 - 1.22e-01 5.48e-01f 1\n", + " 28 7.2403739e+08 5.28e+06 2.23e+01 -1.0 3.26e+07 - 6.90e-02 2.27e-02f 1\n", + " 29 7.2243141e+08 6.88e+06 1.53e+01 -1.0 3.54e+07 - 2.90e-01 2.37e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 7.2233899e+08 6.81e+06 1.55e+01 -1.0 5.86e+07 - 7.59e-02 1.14e-02f 1\n", + " 31 7.2190835e+08 6.71e+06 1.48e+01 -1.0 5.90e+07 - 4.03e-02 4.31e-02f 1\n", + " 32 7.1523310e+08 6.94e+07 1.66e+01 -1.0 6.84e+07 - 5.87e-02 5.64e-01f 1\n", + " 33 7.1342681e+08 6.17e+07 1.38e+01 -1.0 8.05e+07 - 2.28e-01 1.22e-01f 1\n", + " 34 7.1016796e+08 5.57e+07 1.19e+01 -1.0 1.05e+08 - 3.05e-01 1.69e-01f 1\n", + " 35 7.0087892e+08 7.75e+07 9.14e+00 -1.0 1.13e+08 - 2.72e-01 4.47e-01f 1\n", + " 36 7.0078408e+08 7.68e+07 1.30e+01 -1.0 5.92e+07 - 6.17e-01 9.25e-03h 1\n", + " 37 7.0043070e+08 7.13e+07 1.15e+01 -1.0 5.18e+07 - 1.91e-02 7.33e-02h 1\n", + " 38 7.0042265e+08 7.06e+07 1.23e+01 -1.0 2.66e+07 - 1.09e-01 8.82e-03h 1\n", + " 39 7.0030162e+08 5.68e+07 8.70e+00 -1.0 2.92e+07 - 4.86e-02 1.96e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 7.0028285e+08 5.33e+07 3.02e+01 -1.0 2.70e+07 - 7.38e-01 6.11e-02h 1\n", + " 41 7.0025691e+08 4.40e+07 3.32e+01 -1.0 2.44e+07 - 8.41e-01 1.74e-01h 1\n", + " 42 7.0027070e+08 4.16e+07 7.40e+03 -1.0 3.88e+05 -4.0 1.56e-02 5.64e-02h 1\n", + " 43 7.0027522e+08 4.08e+07 6.95e+03 -1.0 2.18e+06 - 1.03e-02 1.93e-02h 1\n", + " 44 7.0029474e+08 3.91e+07 5.34e+03 -1.0 2.14e+06 - 3.50e-02 4.10e-02h 1\n", + " 45 7.0036467e+08 3.56e+07 4.65e+03 -1.0 2.20e+06 - 5.78e-03 8.96e-02h 1\n", + " 46 7.0037430e+08 3.39e+07 3.93e+03 -1.0 3.12e+05 -4.5 4.10e-02 4.73e-02h 1\n", + " 47 7.0037451e+08 3.39e+07 3.92e+03 -1.0 2.97e+05 -5.0 8.44e-02 1.01e-03h 1\n", + " 48 7.0048162e+08 1.72e+07 1.32e+04 -1.0 2.97e+05 -5.4 2.57e-01 4.91e-01h 1\n", + " 49 7.0059122e+08 9.36e+05 3.23e+04 -1.0 1.50e+05 -5.9 7.13e-01 9.45e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 7.0060122e+08 2.54e+01 7.26e+02 -1.0 7.62e+03 -6.4 2.58e-01 1.00e+00h 1\n", + " 51 7.0053740e+08 5.11e+02 6.17e+02 -1.0 1.18e+07 - 4.76e-01 1.44e-02f 1\n", + " 52 7.0031351e+08 5.71e+03 5.29e+02 -1.0 2.36e+06 - 9.94e-01 2.31e-01f 1\n", + " 53 7.0028769e+08 3.56e+03 3.07e+02 -1.0 6.81e+05 - 1.00e+00 3.81e-01f 1\n", + " 54 7.0026448e+08 1.45e+04 2.52e+01 -1.0 1.09e+06 - 1.00e+00 1.00e+00h 1\n", + " 55 7.0026466e+08 8.31e-02 8.96e-03 -1.0 4.58e+02 -6.9 1.00e+00 1.00e+00h 1\n", + " 56 7.0020982e+08 3.35e+07 9.09e+00 -2.5 6.04e+08 - 8.62e-02 8.63e-02f 1\n", + " 57 7.0020806e+08 3.31e+07 3.19e+01 -2.5 1.50e+07 - 9.13e-01 1.30e-02h 1\n", + " 58 7.0010999e+08 8.48e+05 1.39e+01 -2.5 2.92e+06 - 1.00e+00 9.96e-01h 1\n", + " 59 7.0010993e+08 6.82e+05 1.12e+01 -2.5 3.57e+03 -7.3 6.33e-02 1.95e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 7.0010962e+08 6.75e+05 1.11e+01 -2.5 9.20e+06 - 9.32e-01 1.11e-02h 1\n", + " 61 7.0010907e+08 6.44e+05 1.06e+01 -2.5 9.30e+06 - 1.00e+00 4.57e-02h 1\n", + " 62 7.0010022e+08 3.34e+05 3.60e+00 -2.5 9.76e+06 - 1.00e+00 5.28e-01h 1\n", + " 63 7.0009763e+08 3.23e+05 3.17e+00 -2.5 1.26e+07 - 1.00e+00 1.10e-01h 1\n", + " 64 7.0009696e+08 1.56e+05 1.51e+00 -2.5 2.78e+05 - 1.00e+00 5.18e-01h 1\n", + " 65 7.0009660e+08 1.69e+02 8.11e-03 -2.5 4.40e+04 - 1.00e+00 1.00e+00h 1\n", + " 66 7.0009660e+08 1.01e-03 2.83e-08 -2.5 3.18e+02 - 1.00e+00 1.00e+00h 1\n", + " 67 7.0009529e+08 1.92e+01 2.34e-05 -3.8 3.39e+04 - 1.00e+00 1.00e+00f 1\n", + " 68 7.0009529e+08 3.45e-03 1.50e-09 -3.8 4.67e+02 - 1.00e+00 1.00e+00h 1\n", + " 69 7.0009522e+08 5.61e-02 7.00e-08 -5.7 1.83e+03 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 7.0009522e+08 7.54e-06 1.01e-11 -8.6 2.12e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 70\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 7.0009521608936819e+04 7.0009521608936810e+08\n", + "Dual infeasibility......: 1.0056168639021503e-11 1.0056168639021503e-07\n", + "Constraint violation....: 3.7252902984619141e-09 7.5399875640869141e-06\n", + "Complementarity.........: 2.5117902063275182e-09 2.5117902063275182e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5117902063275182e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 71\n", + "Number of objective gradient evaluations = 71\n", + "Number of equality constraint evaluations = 71\n", + "Number of inequality constraint evaluations = 71\n", + "Number of equality constraint Jacobian evaluations = 71\n", + "Number of inequality constraint Jacobian evaluations = 71\n", + "Number of Lagrangian Hessian evaluations = 70\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.179\n", + "Total CPU secs in NLP function evaluations = 89.084\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 347\n", + "Realized SOC (MPC) 1182216\n", + "Fixed costs: 55834.68\n", + "Variable costs: 17211.31\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 258.69\n", + "\n", + "Simulating time_step 2020-07-11 14:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16016\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6079\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 7.0029522e+08 2.85e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 7.0028594e+08 2.85e+05 9.96e+01 -1.0 1.89e+07 - 1.83e-04 5.18e-04h 1\n", + " 2 7.0033199e+08 2.85e+05 1.01e+02 -1.0 7.12e+06 - 7.69e-06 9.61e-04h 1\n", + " 3 7.0050667e+08 2.84e+05 1.02e+02 -1.0 6.28e+06 - 3.53e-04 3.12e-03h 1\n", + " 4 7.0074992e+08 2.83e+05 1.03e+02 -1.0 7.88e+05 - 7.78e-05 3.59e-03h 1\n", + " 5 7.0108243e+08 2.81e+05 1.03e+02 -1.0 6.06e+05 - 4.23e-03 4.52e-03h 1\n", + " 6 7.0236708e+08 2.77e+05 1.03e+02 -1.0 5.99e+05 - 9.82e-03 1.69e-02h 1\n", + " 7 7.0908094e+08 2.52e+05 1.05e+02 -1.0 5.78e+05 - 3.04e-02 8.86e-02h 1\n", + " 8 7.1372202e+08 2.35e+05 8.18e+01 -1.0 4.90e+05 - 2.12e-01 6.76e-02h 1\n", + " 9 7.2407988e+08 1.97e+05 6.86e+01 -1.0 3.89e+05 - 2.63e-01 1.61e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.2420820e+08 1.97e+05 1.74e+03 -1.0 2.82e+05 - 4.18e-01 2.39e-03h 1\n", + " 11 7.3061476e+08 1.73e+05 6.06e+03 -1.0 3.27e+05 - 4.37e-01 1.20e-01h 1\n", + " 12 7.3171056e+08 1.69e+05 5.84e+03 -1.0 4.71e+05 - 5.52e-01 2.38e-02h 1\n", + " 13 7.4189706e+08 1.29e+05 2.73e+03 -1.0 9.14e+05 - 6.06e-01 2.36e-01h 1\n", + " 14 7.5356654e+08 7.44e+04 5.68e+02 -1.0 2.12e+06 - 7.52e-01 4.24e-01h 1\n", + " 15 7.5350950e+08 7.37e+04 3.88e+02 -1.0 8.12e+06 - 3.32e-01 9.38e-03h 1\n", + " 16 7.5198658e+08 6.70e+04 1.35e+03 -1.0 1.22e+07 - 8.70e-01 8.98e-02f 1\n", + " 17 7.4969457e+08 6.58e+04 1.33e+03 -1.0 8.25e+07 - 4.94e-02 1.94e-02f 1\n", + " 18 7.4751890e+08 6.38e+04 1.29e+03 -1.0 8.24e+07 - 2.63e-02 2.90e-02f 1\n", + " 19 7.4727399e+08 6.36e+04 1.29e+03 -1.0 6.89e+07 - 6.49e-03 4.24e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.4003242e+08 5.54e+04 1.16e+03 -1.0 7.23e+07 - 3.03e-01 1.29e-01f 1\n", + " 21 7.3987501e+08 5.52e+04 1.17e+03 -1.0 1.10e+08 - 8.39e-02 2.47e-03f 1\n", + " 22 7.3692455e+08 5.22e+04 1.22e+03 -1.0 1.22e+08 - 7.97e-01 5.47e-02f 1\n", + " 23 7.3675284e+08 5.16e+04 1.21e+03 -1.0 4.97e+07 - 4.79e-02 1.19e-02f 1\n", + " 24 7.2061774e+08 1.74e+05 1.18e+03 -1.0 1.28e+09 - 2.03e-03 2.37e-02f 1\n", + " 25 7.2045685e+08 1.74e+05 1.18e+03 -1.0 7.59e+08 - 6.17e-02 4.03e-04f 1\n", + " 26 7.2095680e+08 1.59e+05 1.08e+03 -1.0 1.04e+07 - 3.21e-01 8.98e-02h 1\n", + " 27 7.2503513e+08 3.70e+04 1.81e+02 -1.0 9.32e+06 - 4.34e-01 8.25e-01h 1\n", + " 28 7.2512699e+08 3.12e+04 1.54e+02 -1.0 1.96e+06 - 2.68e-01 1.58e-01h 1\n", + " 29 7.2543890e+08 1.91e+05 3.75e+01 -1.0 3.03e+06 - 2.81e-01 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 7.2487068e+08 2.91e+05 3.68e+01 -1.0 4.94e+06 - 1.71e-02 4.30e-01f 1\n", + " 31 7.2334504e+08 3.76e+06 1.81e+01 -1.0 7.76e+06 - 4.93e-01 1.00e+00f 1\n", + " 32 7.2181352e+08 8.26e+06 1.46e+01 -1.0 5.04e+07 - 1.90e-01 2.12e-01f 1\n", + " 33 7.2126044e+08 8.39e+06 1.13e+01 -1.0 7.57e+07 - 2.76e-01 5.55e-02f 1\n", + " 34 7.1987443e+08 1.15e+07 9.89e+00 -1.0 1.13e+08 - 2.61e-01 9.47e-02f 1\n", + " 35 7.1916877e+08 1.19e+07 1.51e+01 -1.0 1.12e+08 - 4.44e-01 4.97e-02f 1\n", + " 36 7.1272426e+08 7.80e+07 9.51e+00 -1.0 1.25e+08 - 2.20e-01 3.65e-01f 1\n", + " 37 7.1258922e+08 7.71e+07 1.18e+01 -1.0 8.90e+07 - 5.21e-01 1.09e-02f 1\n", + " 38 7.0593250e+08 6.97e+07 7.26e+00 -1.0 9.50e+07 - 6.94e-01 5.19e-01f 1\n", + " 39 7.0586325e+08 6.89e+07 1.12e+01 -1.0 4.92e+07 - 8.37e-01 1.16e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 7.0485554e+08 4.11e+07 1.84e+01 -1.0 5.28e+07 - 7.56e-01 4.67e-01h 1\n", + " 41 7.0426135e+08 2.76e+07 1.45e+01 -1.0 2.60e+07 - 9.49e-01 5.33e-01h 1\n", + " 42 7.0412904e+08 2.06e+07 1.09e+01 -1.0 1.09e+07 - 1.00e+00 2.89e-01h 1\n", + " 43 7.0412761e+08 1.81e+07 9.73e+00 -1.0 7.30e+06 - 1.00e+00 1.21e-01h 1\n", + " 44 7.0413073e+08 2.20e+06 1.52e+00 -1.0 1.11e+07 - 1.00e+00 1.00e+00h 1\n", + " 45 7.0413126e+08 1.29e+05 3.23e-02 -1.0 1.94e+06 - 1.00e+00 1.00e+00h 1\n", + " 46 7.0413122e+08 1.19e+03 2.33e-04 -1.0 3.24e+05 - 1.00e+00 1.00e+00h 1\n", + " 47 7.0409847e+08 4.20e+04 7.90e+00 -1.7 1.91e+06 - 1.00e+00 7.53e-01f 1\n", + " 48 7.0409525e+08 2.09e+00 2.74e+01 -1.7 9.23e+02 -4.0 1.00e+00 1.00e+00h 1\n", + " 49 7.0408921e+08 1.54e+00 1.83e+01 -2.5 1.94e+04 - 1.00e+00 2.65e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 7.0408299e+08 3.89e+00 2.45e+01 -2.5 1.59e+04 - 1.00e+00 1.00e+00f 1\n", + " 51 7.0408174e+08 6.88e+04 2.12e+01 -2.5 1.34e+07 - 8.85e-01 1.35e-01f 1\n", + " 52 7.0408058e+08 1.18e+06 1.78e+01 -2.5 5.00e+07 - 6.71e-01 1.57e-01h 1\n", + " 53 7.0407953e+08 4.63e+04 1.22e-02 -2.5 6.59e+05 - 1.00e+00 1.00e+00h 1\n", + " 54 7.0407931e+08 6.13e+03 6.47e-04 -2.5 5.19e+05 - 1.00e+00 1.00e+00h 1\n", + " 55 7.0407930e+08 2.56e+01 1.39e-06 -2.5 2.27e+04 - 1.00e+00 1.00e+00h 1\n", + " 56 7.0407810e+08 1.67e+02 1.02e-01 -3.8 8.17e+04 - 1.00e+00 9.05e-01h 1\n", + " 57 7.0407798e+08 1.09e+00 5.00e-07 -3.8 8.82e+03 - 1.00e+00 1.00e+00h 1\n", + " 58 7.0407791e+08 3.42e-01 1.25e-07 -5.7 3.36e+03 - 1.00e+00 1.00e+00h 1\n", + " 59 7.0407791e+08 2.52e-05 1.85e-11 -5.7 2.92e+01 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 7.0407790e+08 4.95e-05 1.80e-11 -8.6 4.04e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 60\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 7.0407790450907036e+04 7.0407790450907028e+08\n", + "Dual infeasibility......: 1.8037265545777685e-11 1.8037265545777685e-07\n", + "Constraint violation....: 5.3995476768072347e-09 4.9538910388946533e-05\n", + "Complementarity.........: 2.6403436465439624e-09 2.6403436465439621e-05\n", + "Overall NLP error.......: 5.3995476768072347e-09 4.9538910388946533e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 61\n", + "Number of objective gradient evaluations = 61\n", + "Number of equality constraint evaluations = 61\n", + "Number of inequality constraint evaluations = 61\n", + "Number of equality constraint Jacobian evaluations = 61\n", + "Number of inequality constraint Jacobian evaluations = 61\n", + "Number of Lagrangian Hessian evaluations = 60\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.879\n", + "Total CPU secs in NLP function evaluations = 76.138\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 384\n", + "Realized SOC (MPC) 1163381\n", + "Fixed costs: 55834.68\n", + "Variable costs: 36675.50\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 830.36\n", + "\n", + "Simulating time_step 2020-07-11 15:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16012\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6078\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 7.0427790e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 7.0426610e+08 9.99e+04 9.91e+01 -1.0 8.26e+05 - 7.52e-04 6.57e-04h 1\n", + " 2 7.0432353e+08 9.96e+04 9.95e+01 -1.0 1.95e+05 - 9.84e-04 3.24e-03h 1\n", + " 3 7.0447593e+08 9.91e+04 9.93e+01 -1.0 1.79e+05 - 3.95e-03 4.75e-03h 1\n", + " 4 7.0487668e+08 9.81e+04 9.85e+01 -1.0 1.31e+05 - 9.29e-03 1.02e-02h 1\n", + " 5 7.0658935e+08 9.40e+04 9.76e+01 -1.0 1.07e+05 - 2.56e-02 4.23e-02h 1\n", + " 6 7.1097873e+08 8.34e+04 8.27e+01 -1.0 1.07e+05 - 2.43e-01 1.12e-01h 1\n", + " 7 7.2828003e+08 4.16e+04 7.08e+01 -1.0 1.15e+05 - 2.26e-01 5.01e-01h 1\n", + " 8 7.4272350e+08 6.27e+03 6.21e+00 -1.0 1.23e+05 - 9.86e-01 8.49e-01h 1\n", + " 9 7.4246402e+08 6.20e+03 7.70e+01 -1.0 7.41e+06 - 8.07e-02 1.18e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.3874819e+08 5.30e+03 6.80e+02 -1.0 8.97e+06 - 6.12e-01 1.45e-01f 1\n", + " 11 7.3804046e+08 5.23e+03 7.04e+02 -1.0 2.25e+07 - 8.74e-02 1.30e-02f 1\n", + " 12 7.3545275e+08 5.00e+03 9.83e+02 -1.0 2.47e+07 - 8.38e-01 4.44e-02f 1\n", + " 13 7.3044270e+08 4.88e+03 9.58e+02 -1.0 1.22e+08 - 2.67e-02 2.31e-02f 1\n", + " 14 7.2851990e+08 4.83e+03 8.97e+02 -1.0 1.12e+08 - 6.93e-02 1.16e-02f 1\n", + " 15 7.2681306e+08 4.74e+03 7.35e+02 -1.0 1.14e+08 - 5.03e-01 1.87e-02f 1\n", + " 16 7.2403124e+08 6.50e+03 7.03e+02 -1.0 2.14e+08 - 4.79e-02 2.38e-02f 1\n", + " 17 7.2396589e+08 6.33e+03 8.75e+01 -1.0 3.80e+07 - 6.66e-01 2.52e-02h 1\n", + " 18 7.1928974e+08 1.22e+06 2.72e+02 -1.0 9.63e+07 - 3.33e-02 7.98e-01f 1\n", + " 19 7.1730702e+08 1.08e+06 1.77e+02 -1.0 1.00e+08 - 4.50e-01 2.59e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.1728632e+08 1.08e+06 1.76e+02 -1.0 1.15e+08 - 7.85e-01 2.26e-03h 1\n", + " 21 7.1606226e+08 2.82e+06 3.49e+01 -1.0 1.20e+07 - 3.52e-02 8.99e-01f 1\n", + " 22 7.1592399e+08 2.77e+06 3.43e+01 -1.0 5.68e+07 - 6.79e-03 1.67e-02f 1\n", + " 23 7.1404037e+08 1.22e+07 2.65e+01 -1.0 6.42e+07 - 1.13e-01 2.09e-01f 1\n", + " 24 7.1399893e+08 1.21e+07 2.64e+01 -1.0 8.48e+07 - 1.79e-01 3.87e-03f 1\n", + " 25 7.1325836e+08 1.17e+07 2.35e+01 -1.0 5.27e+07 - 1.13e-01 1.05e-01f 1\n", + " 26 7.1170095e+08 1.54e+07 1.93e+01 -1.0 7.90e+07 - 4.70e-03 1.66e-01f 1\n", + " 27 7.1158030e+08 1.52e+07 1.90e+01 -1.0 5.90e+07 - 5.00e-02 1.61e-02f 1\n", + " 28 7.1108826e+08 1.47e+07 1.79e+01 -1.0 6.74e+07 - 2.81e-01 5.98e-02f 1\n", + " 29 7.0987403e+08 1.62e+07 1.60e+01 -1.0 1.04e+08 - 1.83e-02 9.90e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 7.0920041e+08 1.59e+07 1.50e+01 -1.0 8.86e+07 - 8.41e-02 6.22e-02f 1\n", + " 31 7.0452007e+08 5.58e+07 9.67e+00 -1.0 9.71e+07 - 1.67e-01 4.22e-01f 1\n", + " 32 7.0250694e+08 4.75e+07 1.01e+01 -1.0 7.82e+07 - 3.84e-01 2.24e-01f 1\n", + " 33 7.0253343e+08 3.84e+07 1.79e+04 -1.0 3.04e+05 -4.0 1.88e-02 1.91e-01h 1\n", + " 34 7.0253460e+08 3.73e+07 1.72e+04 -1.0 1.99e+06 - 1.39e-02 2.83e-02h 1\n", + " 35 7.0256780e+08 3.38e+07 1.39e+04 -1.0 2.10e+06 - 2.15e-02 9.32e-02h 1\n", + " 36 7.0260720e+08 3.04e+07 2.23e+04 -1.0 2.03e+06 - 1.01e-01 1.03e-01h 1\n", + " 37 7.0284608e+08 1.02e+07 6.58e+05 -1.0 1.83e+06 - 2.08e-01 6.70e-01h 1\n", + " 38 7.0293217e+08 3.83e+04 1.38e+05 -1.0 5.29e+05 - 9.84e-01 1.00e+00h 1\n", + " 39 7.0293237e+08 1.44e-01 3.89e-01 -1.0 1.26e+02 -4.5 9.97e-01 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 7.0291627e+08 1.62e-02 3.46e+01 -2.5 2.93e+00 -5.0 1.00e+00 8.87e-01f 1\n", + " 41 7.0291554e+08 2.56e-06 1.16e-03 -2.5 9.24e+00 -5.4 1.00e+00 1.00e+00f 1\n", + " 42 7.0250447e+08 1.01e+06 8.88e-02 -3.8 1.12e+10 - 1.31e-03 4.82e-04f 1\n", + " 43 7.0233124e+08 1.22e+06 1.01e-01 -3.8 4.96e+09 - 6.46e-04 4.70e-04f 1\n", + " 44 7.0171716e+08 4.21e+06 1.59e+00 -3.8 5.39e+09 - 1.82e-02 1.71e-03f 1\n", + " 45 7.0084103e+08 1.03e+07 1.61e+00 -3.8 4.69e+09 - 3.52e-03 3.21e-03f 1\n", + " 46 7.0084123e+08 8.80e+06 1.48e+01 -3.8 2.05e+04 -5.9 2.12e-02 1.49e-01h 1\n", + " 47 7.0084106e+08 8.80e+06 1.48e+01 -3.8 1.13e+08 - 2.68e-03 1.33e-05h 1\n", + " 48 7.0069203e+08 8.68e+06 1.51e+01 -3.8 1.09e+08 - 3.51e-03 1.37e-02f 1\n", + " 49 7.0066826e+08 8.65e+06 1.51e+01 -3.8 6.38e+07 - 3.44e-03 3.30e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 7.0057476e+08 8.53e+06 1.51e+01 -3.8 5.83e+07 - 4.83e-03 1.38e-02f 1\n", + " 51 7.0043707e+08 8.35e+06 1.79e+01 -3.8 5.89e+07 - 1.96e-01 2.03e-02f 1\n", + " 52 6.9965847e+08 7.36e+06 1.27e+02 -3.8 6.00e+07 - 3.85e-02 1.14e-01f 1\n", + " 53 6.9965808e+08 7.36e+06 1.27e+02 -3.8 6.70e+07 - 3.98e-01 5.27e-05h 1\n", + " 54 6.9958782e+08 7.29e+06 1.26e+02 -3.8 6.70e+07 - 7.51e-01 9.69e-03f 1\n", + " 55 6.9901079e+08 6.71e+06 9.18e+01 -3.8 6.73e+07 - 1.00e+00 8.38e-02f 1\n", + " 56 6.9900763e+08 6.71e+06 9.17e+01 -3.8 6.49e+07 - 2.23e-01 5.16e-04h 1\n", + " 57 6.9868973e+08 6.20e+06 7.27e+01 -3.8 4.43e+07 - 1.00e+00 7.56e-02f 1\n", + " 58 6.9863482e+08 3.57e+06 3.80e+02 -3.8 9.41e+06 - 2.79e-01 4.09e-01h 1\n", + " 59 6.9842516e+08 3.01e+06 1.37e+03 -3.8 1.65e+07 - 4.75e-01 7.14e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.9806804e+08 8.45e+06 1.18e+03 -3.8 5.86e+07 - 1.41e-04 2.97e-01f 1\n", + " 61 6.9806787e+08 8.45e+06 1.18e+03 -3.8 7.60e+07 - 8.55e-03 6.49e-05h 1\n", + " 62 6.9803261e+08 8.35e+06 1.16e+03 -3.8 6.91e+07 - 1.14e-01 1.43e-02h 1\n", + " 63 6.9803245e+08 8.35e+06 1.16e+03 -3.8 5.98e+07 - 2.29e-02 1.38e-04h 1\n", + " 64 6.9791384e+08 7.44e+06 1.03e+03 -3.8 5.99e+07 - 5.08e-01 1.09e-01h 1\n", + " 65 6.9791367e+08 7.44e+06 1.03e+03 -3.8 2.92e+07 - 1.67e-01 4.29e-04h 1\n", + " 66 6.9791104e+08 6.88e+06 9.54e+02 -3.8 1.05e+07 - 6.03e-01 7.53e-02h 1\n", + " 67 6.9787072e+08 1.66e+06 3.57e+01 -3.8 1.14e+07 - 3.88e-01 1.00e+00h 1\n", + " 68 6.9787074e+08 1.65e+06 5.63e+01 -3.8 6.68e+04 -6.4 3.76e-04 4.25e-03h 1\n", + " 69 6.9787072e+08 1.65e+06 5.63e+01 -3.8 4.71e+06 - 6.39e-03 1.69e-04h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.9787019e+08 1.57e+06 5.48e+01 -3.8 9.56e+06 - 3.49e-01 4.67e-02h 1\n", + " 71 6.9786699e+08 9.34e+05 3.20e+01 -3.8 5.10e+06 - 2.82e-01 4.10e-01h 1\n", + " 72 6.9786699e+08 9.25e+05 9.17e+01 -3.8 5.04e+04 -6.9 5.52e-04 9.28e-03h 1\n", + " 73 6.9786636e+08 6.92e+05 6.83e+01 -3.8 2.46e+07 - 2.20e-01 2.53e-01h 1\n", + " 74 6.9786604e+08 6.89e+05 6.86e+01 -3.8 5.33e+07 - 1.37e-01 4.60e-03h 1\n", + " 75 6.9785919e+08 4.66e+05 4.88e+01 -3.8 2.65e+06 - 1.00e+00 3.29e-01h 1\n", + " 76 6.9784849e+08 3.86e+05 4.07e+01 -3.8 6.23e+06 - 1.00e+00 1.00e+00h 1\n", + " 77 6.9784847e+08 3.64e+05 5.47e+01 -3.8 2.42e+04 -7.3 6.84e-03 5.57e-02h 1\n", + " 78 6.9784843e+08 3.64e+05 6.22e+01 -3.8 2.74e+07 - 1.00e+00 1.71e-04h 1\n", + " 79 6.9782445e+08 3.88e+05 5.17e+01 -3.8 2.74e+07 - 1.00e+00 1.70e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 6.9782444e+08 3.86e+05 5.14e+01 -3.8 1.01e+06 - 1.00e+00 4.54e-03h 1\n", + " 81 6.9782250e+08 1.09e+04 5.77e+00 -3.8 1.02e+06 - 1.00e+00 1.00e+00h 1\n", + " 82 6.9782248e+08 3.92e-02 3.93e+00 -3.8 6.83e+02 -7.8 7.00e-01 1.00e+00h 1\n", + " 83 6.9782248e+08 3.73e-02 5.61e+00 -3.8 5.08e+02 -8.3 1.00e+00 4.85e-02h 1\n", + " 84 6.9782248e+08 3.40e-03 1.80e-04 -3.8 2.95e+01 -8.8 1.00e+00 1.00e+00f 1\n", + " 85 6.9782243e+08 5.70e-04 3.49e-01 -5.7 1.87e+02 -9.2 1.00e+00 8.24e-01f 1\n", + " 86 6.9782242e+08 3.41e-03 1.43e-01 -5.7 5.72e+02 -9.7 1.00e+00 7.24e-01f 1\n", + " 87 6.9782241e+08 3.62e-03 5.89e-01 -5.7 6.67e+02 -10.2 1.00e+00 4.55e-01f 1\n", + " 88 6.9782241e+08 9.74e-03 4.96e-06 -5.7 1.03e+03 -10.7 1.00e+00 1.00e+00f 1\n", + " 89 6.9782241e+08 1.04e-02 2.37e-02 -8.6 2.71e+03 -11.2 1.00e+00 1.94e-01h 1\n", + "In iteration 89, 1 Slack too small, adjusting variable bound\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90 6.9782240e+08 3.42e-01 1.02e-03 -8.6 6.02e+03 -11.6 1.00e+00 9.96e-01h 1\n", + " 91 6.9782239e+08 3.11e+00 8.43e-07 -8.6 1.81e+04 -12.1 1.00e+00 1.00e+00h 1\n", + " 92 6.9782233e+08 2.81e+01 6.18e-06 -8.6 5.44e+04 -12.6 1.00e+00 1.00e+00h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 93 6.9782218e+08 2.57e+02 5.66e-05 -8.6 1.65e+05 -13.1 1.00e+00 1.00e+00h 1\n", + " 94 6.9782169e+08 2.43e+03 5.35e-04 -8.6 5.06e+05 -13.5 1.00e+00 1.00e+00h 1\n", + " 95 6.9782007e+08 2.55e+04 5.60e-03 -8.6 1.64e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 96 6.9781333e+08 3.78e+05 8.25e-02 -8.6 6.27e+06 -14.5 1.00e+00 1.00e+00h 1\n", + " 97 6.9780240e+08 8.95e+05 1.99e-01 -8.6 5.35e+07 -15.0 4.79e-01 1.45e-01h 1\n", + " 98 6.9779069e+08 1.09e+06 1.76e-01 -8.6 1.10e+07 -14.5 1.00e+00 9.71e-01h 1\n", + " 99r 6.9779069e+08 1.09e+06 9.99e+02 2.4 0.00e+00 -15.0 0.00e+00 1.10e-08R 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100r 6.9779079e+08 1.17e+06 9.99e+02 2.4 2.09e+11 - 3.11e-08 2.82e-08f 1\n", + " 101 6.9778987e+08 1.17e+06 9.50e+01 -8.6 1.78e+15 - 3.29e-08 1.82e-09f 1\n", + " 102 6.9776948e+08 3.26e+07 9.50e+01 -8.6 4.04e+15 - 1.81e-08 1.25e-08f 1\n", + " 103r 6.9776948e+08 3.26e+07 9.99e+02 3.8 0.00e+00 - 0.00e+00 5.45e-10R 2\n", + " 104r 6.9776948e+08 3.26e+07 1.03e+03 3.8 2.09e+11 - 7.02e-09 1.51e-11f 4\n", + " 105r 6.9791671e+08 2.03e+07 1.00e+03 1.7 5.49e+06 - 8.61e-03 1.11e-03f 1\n", + " 106r 6.9830687e+08 1.06e+07 1.01e+03 1.7 2.31e+06 - 2.18e-03 4.97e-03f 1\n", + " 107r 6.9852616e+08 8.18e+06 9.77e+02 1.7 2.16e+05 - 1.62e-02 2.88e-03f 1\n", + " 108r 7.0001015e+08 2.36e+06 9.45e+03 1.7 2.09e+05 - 4.16e-01 2.02e-02f 1\n", + " 109r 7.1401460e+08 1.07e+06 6.91e+03 1.7 1.89e+05 - 1.25e-01 2.36e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110r 7.2062394e+08 7.56e+05 8.02e+03 1.7 1.39e+02 0.0 8.54e-01 1.67e-01f 1\n", + " 111r 7.2387056e+08 6.39e+05 7.27e+03 1.7 5.15e+04 - 3.91e-01 1.25e-01f 1\n", + " 112r 7.3955696e+08 1.93e+05 3.00e+03 1.7 4.54e+04 - 1.00e+00 6.18e-01f 1\n", + " 113r 7.4877386e+08 3.78e+04 1.01e+03 1.7 1.15e+04 - 1.00e+00 8.04e-01f 1\n", + " 114r 7.5068534e+08 1.51e+03 5.02e+01 1.7 2.84e+04 - 1.00e+00 1.00e+00f 1\n", + " 115r 7.2916487e+08 3.17e+03 1.21e+03 0.3 1.02e+04 - 7.58e-01 8.46e-01f 1\n", + " 116r 7.2797772e+08 2.66e+04 2.28e+03 0.3 1.56e+05 - 2.72e-01 5.55e-01f 1\n", + " 117r 7.2669809e+08 1.78e+04 4.83e+02 0.3 8.33e+04 - 8.95e-01 5.81e-01f 1\n", + " 118r 7.2659316e+08 1.73e+04 1.07e+03 0.3 2.32e+04 - 9.92e-01 2.55e-02f 1\n", + " 119r 7.2153355e+08 1.62e+02 8.93e+00 0.3 1.48e+04 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 120r 7.1177524e+08 8.36e+01 1.21e+02 -1.1 9.27e+03 - 1.00e+00 8.53e-01f 1\n", + " 121r 7.1167213e+08 8.58e+02 5.23e+02 -1.1 3.98e+05 - 4.34e-01 9.55e-02f 1\n", + " 122r 7.1135706e+08 4.05e+03 5.34e+02 -1.1 3.60e+05 - 6.20e-01 2.14e-01f 1\n", + " 123r 7.1037396e+08 1.45e+04 2.81e+02 -1.1 2.83e+05 - 1.00e+00 4.99e-01f 1\n", + " 124r 7.0843953e+08 1.44e+04 8.94e+00 -1.1 1.42e+05 - 1.00e+00 1.00e+00f 1\n", + " 125r 7.0835313e+08 1.84e+00 8.94e+00 -1.1 5.19e+02 - 1.00e+00 1.00e+00h 1\n", + " 126r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 9.33e+00 - 1.00e+00 1.00e+00h 1\n", + " 127r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 1.03e-02 - 1.00e+00 1.00e+00h 1\n", + " 128r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 2.84e-03 - 1.00e+00 1.00e+00h 1\n", + " 129r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 2.84e-03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 130r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 2.84e-03 - 1.00e+00 1.00e+00h 1\n", + " 131r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 2.84e-03 - 1.00e+00 1.00e+00H 1\n", + " 132r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 2.80e-05 - 1.00e+00 1.00e+00h 1\n", + " 133r 7.0835277e+08 1.84e+00 6.71e+00 -1.1 2.84e-03 - 1.00e+00 2.50e-01h 3\n", + " 134r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 7.10e-04 - 1.00e+00 1.00e+00h 1\n", + " 135r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 2.84e-03 - 1.00e+00 1.00e+00h 1\n", + " 136r 7.0835277e+08 1.84e+00 4.47e+00 -1.1 2.84e-03 - 1.00e+00 5.00e-01h 2\n", + " 137r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 1.42e-03 - 1.00e+00 1.00e+00h 1\n", + " 138r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 2.84e-03 - 1.00e+00 1.00e+00H 1\n", + " 139r 7.0835277e+08 1.84e+00 8.92e+00 -1.1 3.43e-05 - 1.00e+00 1.95e-03h 10\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 140r 7.0835277e+08 1.84e+00 4.46e+00 -1.1 3.21e-05 - 1.00e+00 5.00e-01h 2\n", + " 141r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 1.64e-05 - 1.00e+00 1.00e+00h 1\n", + " 142r 7.0835277e+08 1.84e+00 4.47e+00 -1.1 2.84e-03 - 1.00e+00 5.00e-01h 2\n", + " 143r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 1.42e-03 - 1.00e+00 1.00e+00h 1\n", + " 144r 7.0835277e+08 1.84e+00 4.47e+00 -1.1 2.84e-03 - 1.00e+00 5.00e-01h 2\n", + " 145r 7.0835277e+08 1.84e+00 8.94e+00 -1.1 1.42e-03 - 1.00e+00 1.00e+00h 1\n", + " 146r 7.0835277e+08 1.84e+00 4.47e+00 -1.1 2.84e-03 - 1.00e+00 5.00e-01h 2\n", + " 147r 7.0835277e+08 1.84e+00 4.46e+00 -1.1 1.42e-03 - 1.00e+00 1.95e-03h 10\n", + " 148r 7.0835277e+08 1.84e+00 2.23e+00 -1.1 1.42e-03 - 1.00e+00 5.00e-01h 2\n", + " 149r 7.0411552e+08 1.85e+00 8.94e+00 -1.8 1.56e+03 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 150r 7.0423364e+08 7.11e+03 4.44e+01 -1.8 6.11e+05 - 2.66e-01 2.23e-01f 1\n", + " 151r 7.0448429e+08 2.58e+04 1.38e+02 -1.8 4.73e+05 - 1.00e+00 5.10e-01f 1\n", + " 152r 7.0448884e+08 2.55e+04 3.04e+02 -1.8 2.24e+05 - 8.81e-01 1.09e-02f 1\n", + " 153r 7.0464889e+08 1.84e+04 1.92e+02 -1.8 1.54e+05 - 1.00e+00 4.02e-01f 1\n", + " 154r 7.0465365e+08 1.81e+04 1.91e+02 -1.8 8.70e+04 - 1.00e+00 1.99e-02f 1\n", + " 155r 7.0488914e+08 2.36e+03 6.44e+00 -1.8 8.25e+04 - 1.00e+00 1.00e+00f 1\n", + " 156r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 2.54e+02 - 1.00e+00 1.00e+00h 1\n", + " 157r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 1.70e+00 - 1.00e+00 1.00e+00h 1\n", + " 158r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 1.76e-03 - 1.00e+00 1.00e+00h 1\n", + " 159r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 1.68e-03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 160r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 7.59e-04 - 1.00e+00 1.00e+00h 1\n", + " 161r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 7.60e-04 - 1.00e+00 1.00e+00h 1\n", + " 162r 7.0488916e+08 9.50e-01 3.22e+00 -1.8 1.75e-03 - 1.00e+00 5.00e-01h 2\n", + " 163r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 8.50e-04 - 1.00e+00 1.00e+00h 1\n", + " 164r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 7.60e-04 - 1.00e+00 1.00e+00h 1\n", + " 165r 7.0488916e+08 9.50e-01 3.22e+00 -1.8 7.60e-04 - 1.00e+00 5.00e-01h 2\n", + " 166r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 3.81e-04 - 1.00e+00 1.00e+00h 1\n", + " 167r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 7.61e-04 - 1.00e+00 1.00e+00h 1\n", + " 168r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 7.61e-04 - 1.00e+00 3.05e-05h 16\n", + " 169r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 7.61e-04 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 170r 7.0488916e+08 9.50e-01 3.22e+00 -1.8 7.61e-04 - 1.00e+00 5.00e-01h 2\n", + " 171r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 3.80e-04 - 1.00e+00 1.00e+00h 1\n", + " 172r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 7.61e-04 - 1.00e+00 3.05e-05h 16\n", + " 173r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 7.61e-04 - 1.00e+00 1.00e+00h 1\n", + " 174r 7.0488916e+08 9.50e-01 6.34e+00 -1.8 7.60e-04 - 1.00e+00 1.56e-02h 7\n", + " 175r 7.0488916e+08 9.50e-01 3.17e+00 -1.8 7.49e-04 - 1.00e+00 5.00e-01h 2\n", + " 176r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 3.74e-04 - 1.00e+00 1.00e+00h 1\n", + " 177r 7.0488916e+08 9.50e-01 6.44e+00 -1.8 7.60e-04 - 1.00e+00 4.88e-04h 12\n", + " 178r 7.0488916e+08 9.50e-01 3.09e-01 -1.8 1.42e-04 - 1.00e+00 7.81e-03h 8\n", + " 179r 7.0199149e+08 9.52e-01 1.67e+01 -2.7 2.25e+03 - 1.00e+00 9.36e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 180r 7.0199535e+08 2.49e+02 4.46e+02 -2.7 1.03e+06 - 4.65e-01 3.28e-02f 1\n", + " 181r 7.0199692e+08 2.70e+02 4.52e+02 -2.7 9.63e+05 - 3.46e-02 1.27e-02f 1\n", + " 182r 7.0199712e+08 2.69e+02 7.16e+02 -2.7 7.22e+05 - 3.06e-01 2.62e-03f 1\n", + " 183r 7.0203295e+08 1.32e+03 6.56e+02 -2.7 7.20e+05 - 9.75e-01 4.72e-01f 1\n", + " 184r 7.0204490e+08 1.09e+03 4.95e+02 -2.7 3.80e+05 - 8.37e-01 2.55e-01f 1\n", + " 185r 7.0204493e+08 1.09e+03 4.96e+02 -2.7 2.58e+05 - 1.00e+00 9.07e-04f 1\n", + " 186r 7.0205208e+08 8.64e+02 3.66e+02 -2.7 2.57e+05 - 1.00e+00 2.62e-01f 1\n", + " 187r 7.0205212e+08 8.61e+02 3.53e+02 -2.7 5.06e+04 - 1.00e+00 2.68e-03h 1\n", + " 188r 7.0206241e+08 8.36e+01 3.39e+01 -2.7 7.54e+03 - 1.00e+00 9.03e-01h 1\n", + " 189r 7.0206350e+08 4.43e-03 2.13e+00 -2.7 7.32e+02 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 190r 7.0206350e+08 4.43e-03 2.13e+00 -2.7 2.25e+00 - 1.00e+00 1.00e+00h 1\n", + " 191r 7.0206350e+08 4.43e-03 1.06e+00 -2.7 6.81e-04 - 1.00e+00 5.00e-01h 2\n", + " 192r 7.0206350e+08 4.43e-03 2.13e+00 -2.7 3.41e-04 - 1.00e+00 1.00e+00h 1\n", + " 193r 7.0206350e+08 4.43e-03 2.13e+00 -2.7 1.20e-04 - 1.00e+00 1.00e+00h 1\n", + " 194r 7.0206350e+08 4.43e-03 2.12e+00 -2.7 1.17e-04 - 1.00e+00 1.95e-03h 10\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 195r 7.0206350e+08 4.43e-03 1.07e+00 -2.7 1.19e-04 - 1.00e+00 1.00e+00h 1\n", + " 196r 7.0206350e+08 4.43e-03 1.07e+00 -2.7 1.60e-05 - 1.00e+00 1.00e+00h 1\n", + " 197r 7.0206350e+08 4.43e-03 1.07e+00 -2.7 1.69e-05 - 1.00e+00 1.00e+00h 1\n", + " 198r 7.0206350e+08 4.43e-03 1.07e+00 -2.7 1.33e-05 - 1.00e+00 1.00e+00h 1\n", + " 199r 7.0206350e+08 4.43e-03 1.07e+00 -2.7 1.36e-05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 200r 7.0206350e+08 4.43e-03 1.07e+00 -2.7 1.39e-05 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 200\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 7.0206349998483885e+04 7.0206349998483884e+08\n", + "Dual infeasibility......: 9.9990993963818028e+01 9.9990993963818031e+05\n", + "Constraint violation....: 4.4314433032728306e-03 4.4314433032728306e-03\n", + "Complementarity.........: 1.9761824321884243e-03 1.9761824321884241e+01\n", + "Overall NLP error.......: 9.9990993963818028e+01 9.9990993963818031e+05\n", + "\n", + "\n", + "Number of objective function evaluations = 321\n", + "Number of objective gradient evaluations = 105\n", + "Number of equality constraint evaluations = 321\n", + "Number of inequality constraint evaluations = 321\n", + "Number of equality constraint Jacobian evaluations = 203\n", + "Number of inequality constraint Jacobian evaluations = 203\n", + "Number of Lagrangian Hessian evaluations = 200\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 6.871\n", + "Total CPU secs in NLP function evaluations = 465.594\n", + "\n", + "EXIT: Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:pyomo.core:Loading a SolverResults object with a warning status into model.name=\"unknown\";\n", + " - termination condition: maxIterations\n", + " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 387\n", + "Realized SOC (MPC) 1258117\n", + "Fixed costs: 121683.17\n", + "Variable costs: 29525.51\n", + "\n", + "Number on/offs: 2\n", + "Sum on/off ramps: 340.00\n", + "Sum nominal ramps: 289.91\n", + "\n", + "Simulating time_step 2020-07-11 16:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16008\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6077\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 7.0206350e+08 9.47e+04 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.9955604e+08 9.42e+04 9.78e+01 -1.0 2.10e+06 - 2.46e-02 5.97e-03f 1\n", + " 2 6.9936665e+08 9.31e+04 9.68e+01 -1.0 2.17e+06 - 6.19e-03 1.14e-02h 1\n", + " 3 6.9949749e+08 9.16e+04 9.46e+01 -1.0 2.21e+06 - 2.16e-02 1.62e-02h 1\n", + " 4 7.0033777e+08 8.88e+04 9.17e+01 -1.0 2.13e+06 - 3.04e-02 3.01e-02h 1\n", + " 5 7.0227579e+08 8.37e+04 8.64e+01 -1.0 2.05e+06 - 5.77e-02 5.81e-02h 1\n", + " 6 7.0682109e+08 7.21e+04 7.44e+01 -1.0 1.94e+06 - 1.46e-01 1.38e-01h 1\n", + " 7 7.1559009e+08 4.99e+04 5.15e+01 -1.0 1.69e+06 - 4.52e-01 3.08e-01h 1\n", + " 8 7.3191682e+08 8.04e+03 3.51e+01 -1.0 1.27e+06 - 6.21e-01 8.39e-01h 1\n", + " 9 7.3214034e+08 7.08e+03 3.84e+02 -1.0 6.08e+05 - 9.42e-01 1.20e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.3088297e+08 6.61e+03 3.31e+02 -1.0 7.29e+06 - 1.09e-01 6.59e-02f 1\n", + " 11 7.2884764e+08 5.98e+03 7.02e+02 -1.0 8.41e+06 - 6.06e-01 9.54e-02f 1\n", + " 12 7.2798143e+08 5.86e+03 7.25e+02 -1.0 2.05e+07 - 1.00e-01 2.00e-02f 1\n", + " 13 7.2586688e+08 5.60e+03 7.03e+02 -1.0 2.28e+07 - 7.31e-02 4.54e-02f 1\n", + " 14 7.2513419e+08 5.48e+03 7.84e+02 -1.0 2.45e+07 - 2.88e-01 2.05e-02f 1\n", + " 15 7.2350254e+08 5.25e+03 7.82e+02 -1.0 3.35e+07 - 1.88e-01 4.30e-02f 1\n", + " 16 7.2093049e+08 4.86e+03 8.01e+02 -1.0 3.94e+07 - 5.84e-01 7.33e-02f 1\n", + " 17 7.2016658e+08 4.73e+03 7.68e+02 -1.0 5.14e+07 - 8.99e-02 2.68e-02f 1\n", + " 18 6.9886436e+08 2.86e+05 4.11e+02 -1.0 5.85e+07 - 4.78e-01 6.65e-01f 1\n", + " 19 6.9865364e+08 2.86e+05 4.10e+02 -1.0 1.56e+08 - 2.94e-01 2.42e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.9852874e+08 2.78e+05 4.08e+02 -1.0 3.16e+07 - 6.14e-01 2.68e-02f 1\n", + " 21 6.9159259e+08 4.74e+05 5.52e+02 -1.0 7.69e+07 - 1.26e-01 6.16e-01f 1\n", + " 22 6.8433181e+08 7.59e+05 4.11e+02 -1.0 8.41e+07 - 5.52e-01 5.74e-01f 1\n", + " 23 6.8425237e+08 7.57e+05 4.10e+02 -1.0 1.41e+08 - 4.43e-01 3.47e-03f 1\n", + " 24 6.8365973e+08 7.32e+05 3.97e+02 -1.0 2.09e+08 - 3.35e-01 3.25e-02f 1\n", + " 25 6.8363428e+08 7.20e+05 3.90e+02 -1.0 8.43e+06 - 9.10e-01 1.62e-02h 1\n", + " 26 6.8234567e+08 1.56e+06 3.49e+02 -1.0 8.55e+07 - 2.35e-02 1.09e-01f 1\n", + " 27 6.8212216e+08 1.58e+06 3.42e+02 -1.0 8.91e+07 - 7.85e-02 2.06e-02f 1\n", + " 28 6.8160857e+08 1.86e+06 3.21e+02 -1.0 1.03e+08 - 1.09e-01 6.16e-02f 1\n", + " 29 6.8150551e+08 1.82e+06 3.14e+02 -1.0 7.15e+07 - 6.39e-01 2.26e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.7782607e+08 3.76e+07 9.19e+01 -1.0 7.07e+07 - 3.25e-01 8.32e-01f 1\n", + " 31 6.7773808e+08 1.72e+07 4.17e+01 -1.0 7.43e+06 - 7.40e-01 5.51e-01h 1\n", + " 32 6.7773998e+08 1.44e+07 2.11e+04 -1.0 7.63e+04 -4.0 9.74e-02 1.61e-01h 1\n", + " 33 6.7773955e+08 1.44e+07 2.11e+04 -1.0 1.50e+07 - 1.23e-02 1.72e-03h 1\n", + " 34 6.7774079e+08 1.40e+07 2.04e+04 -1.0 5.09e+05 - 1.32e-02 2.27e-02h 1\n", + " 35 6.7775732e+08 1.06e+07 3.73e+04 -1.0 5.77e+05 - 9.92e-01 2.44e-01h 1\n", + " 36 6.7778598e+08 2.59e+06 1.11e+05 -1.0 4.44e+05 - 4.18e-01 7.47e-01h 1\n", + " 37 6.7778502e+08 2.54e+06 1.09e+05 -1.0 4.10e+05 - 1.00e+00 2.08e-02h 1\n", + " 38 6.7778438e+08 2.54e+06 1.09e+05 -1.0 1.04e+07 - 3.30e-03 3.86e-04h 1\n", + " 39 6.7774594e+08 2.33e+06 9.72e+04 -1.0 3.07e+06 - 2.51e-04 8.21e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.7774550e+08 2.30e+06 9.60e+04 -1.0 2.49e+06 - 3.96e-01 1.18e-02h 1\n", + " 41 6.7776766e+08 1.02e+06 5.69e+04 -1.0 2.84e+06 - 1.06e-01 5.41e-01h 1\n", + " 42 6.7778296e+08 5.90e+05 3.60e+04 -1.0 1.17e+06 - 1.00e+00 4.16e-01h 1\n", + " 43 6.7780631e+08 9.85e+03 7.96e+03 -1.0 7.10e+05 - 1.00e+00 1.00e+00h 1\n", + " 44 6.7780652e+08 1.50e-01 1.29e-02 -1.0 3.84e+01 -4.5 1.00e+00 1.00e+00h 1\n", + " 45 6.7778417e+08 1.42e+04 3.73e+01 -2.5 1.92e+06 - 9.53e-01 3.67e-01f 1\n", + " 46 6.7774881e+08 3.46e+04 1.16e+02 -2.5 1.47e+06 - 1.00e+00 1.00e+00h 1\n", + " 47 6.7774920e+08 2.34e+03 8.74e+01 -2.5 9.63e+02 -5.0 2.05e-01 9.32e-01h 1\n", + " 48 6.7774902e+08 2.33e+03 1.11e+02 -2.5 5.30e+05 - 1.00e+00 6.26e-03h 1\n", + " 49 6.7774793e+08 6.27e+03 2.42e+02 -2.5 5.61e+05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.7774794e+08 1.65e-03 6.03e-04 -2.5 2.47e+01 -5.4 1.00e+00 1.00e+00h 1\n", + " 51 6.7773006e+08 2.13e+05 3.79e+00 -3.8 1.77e+08 - 3.65e-01 1.80e-02f 1\n", + " 52 6.7768449e+08 1.06e+06 5.14e+00 -3.8 7.18e+07 - 3.62e-01 1.04e-01f 1\n", + " 53 6.7768419e+08 1.05e+06 9.04e+00 -3.8 5.24e+06 - 8.68e-01 9.82e-03h 1\n", + " 54 6.7767124e+08 5.84e+05 2.14e+01 -3.8 5.26e+06 - 1.00e+00 4.43e-01h 1\n", + " 55 6.7766091e+08 3.76e+05 3.27e+01 -3.8 9.55e+06 - 1.00e+00 3.56e-01h 1\n", + " 56 6.7766113e+08 3.57e+05 5.40e+01 -3.8 9.69e+03 -5.9 6.97e-03 5.02e-02h 1\n", + " 57 6.7766104e+08 3.57e+05 6.01e+01 -3.8 2.83e+06 - 6.07e-01 3.73e-04h 1\n", + " 58 6.7765964e+08 1.05e+05 2.10e+01 -3.8 8.78e+05 - 1.00e+00 7.06e-01h 1\n", + " 59 6.7765682e+08 1.76e+05 3.40e+01 -3.8 3.01e+06 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.7765683e+08 1.66e+05 4.15e+01 -3.8 3.27e+03 -6.4 7.68e-03 6.13e-02h 1\n", + " 61 6.7765681e+08 1.66e+05 4.74e+01 -3.8 9.99e+06 - 1.00e+00 1.72e-04h 1\n", + " 62 6.7764894e+08 7.16e+05 2.41e+01 -3.8 1.76e+07 - 1.00e+00 4.92e-01h 1\n", + " 63 6.7764678e+08 6.78e+05 2.28e+01 -3.8 3.87e+07 - 7.15e-01 5.28e-02h 1\n", + " 64 6.7764552e+08 5.39e+05 1.82e+01 -3.8 7.79e+06 - 1.00e+00 2.05e-01h 1\n", + " 65 6.7763781e+08 1.87e+06 2.20e+01 -3.8 1.13e+07 - 1.00e+00 9.79e-01h 1\n", + " 66 6.7763425e+08 1.87e+06 2.17e+01 -3.8 1.95e+08 - 4.66e-02 1.63e-02h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 67 6.7760807e+08 3.54e+07 1.09e+01 -3.8 8.08e+07 - 8.38e-01 5.68e-01h 1\n", + " 68 6.7760807e+08 3.54e+07 1.09e+01 -3.8 9.77e+06 - 1.00e+00 6.62e-04h 1\n", + " 69 6.7761129e+08 4.43e+05 3.16e-02 -3.8 1.42e+06 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.7761112e+08 5.38e+02 5.21e-06 -3.8 1.30e+04 - 1.00e+00 1.00e+00h 1\n", + " 71 6.7761112e+08 1.40e-03 1.50e-09 -3.8 4.86e+01 - 1.00e+00 1.00e+00h 1\n", + " 72 6.7761104e+08 3.16e-01 4.60e-07 -5.7 4.48e+03 - 1.00e+00 1.00e+00f 1\n", + " 73 6.7761104e+08 2.86e-06 1.85e-11 -5.7 4.85e+00 - 1.00e+00 1.00e+00h 1\n", + " 74 6.7761104e+08 4.77e-05 7.06e-11 -8.6 5.55e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 74\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.7761104332687406e+04 6.7761104332687402e+08\n", + "Dual infeasibility......: 7.0575683527313371e-11 7.0575683527313371e-07\n", + "Constraint violation....: 8.7343268426429380e-09 4.7683715820312500e-05\n", + "Complementarity.........: 2.5845757037752036e-09 2.5845757037752033e-05\n", + "Overall NLP error.......: 8.7343268426429380e-09 4.7683715820312500e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 75\n", + "Number of objective gradient evaluations = 75\n", + "Number of equality constraint evaluations = 75\n", + "Number of inequality constraint evaluations = 75\n", + "Number of equality constraint Jacobian evaluations = 75\n", + "Number of inequality constraint Jacobian evaluations = 75\n", + "Number of Lagrangian Hessian evaluations = 74\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.575\n", + "Total CPU secs in NLP function evaluations = 122.297\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 414\n", + "Realized SOC (MPC) 1223225\n", + "Fixed costs: 65589.81\n", + "Variable costs: 35205.97\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 237.11\n", + "\n", + "Simulating time_step 2020-07-11 17:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16004\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6076\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.7781104e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.7779545e+08 9.99e+04 9.91e+01 -1.0 9.21e+05 - 1.04e-03 8.66e-04h 1\n", + " 2 6.7783456e+08 9.96e+04 9.93e+01 -1.0 9.22e+05 - 1.59e-03 3.40e-03h 1\n", + " 3 6.7797241e+08 9.90e+04 9.91e+01 -1.0 9.20e+05 - 4.34e-03 5.78e-03h 1\n", + " 4 6.7841158e+08 9.75e+04 9.84e+01 -1.0 9.15e+05 - 1.09e-02 1.47e-02h 1\n", + " 5 6.8143514e+08 8.81e+04 1.01e+02 -1.0 9.01e+05 - 4.30e-02 9.66e-02h 1\n", + " 6 6.8247333e+08 8.49e+04 8.42e+01 -1.0 8.12e+05 - 2.96e-01 3.69e-02h 1\n", + " 7 6.8248686e+08 8.48e+04 1.18e+04 -1.0 8.15e+05 - 3.54e-01 5.00e-04h 1\n", + " 8 6.8329142e+08 8.23e+04 3.99e+04 -1.0 1.30e+06 - 3.11e-01 3.00e-02h 1\n", + " 9 6.8891936e+08 6.43e+04 3.87e+04 -1.0 1.28e+06 - 4.50e-01 2.19e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.8900288e+08 6.40e+04 3.81e+04 -1.0 1.02e+06 - 1.89e-02 4.27e-03h 1\n", + " 11 7.0759810e+08 1.62e+04 2.83e+04 -1.0 2.10e+06 - 2.08e-04 9.16e-01h 1\n", + " 12 7.0761487e+08 1.55e+04 1.86e+04 -1.0 4.47e+05 - 6.47e-01 4.29e-02h 1\n", + " 13 7.0750618e+08 1.45e+04 1.74e+04 -1.0 1.20e+06 - 5.65e-02 6.22e-02h 1\n", + " 14 7.0750100e+08 1.45e+04 1.74e+04 -1.0 1.29e+06 - 2.74e-03 2.89e-03h 1\n", + " 15 7.0742044e+08 1.38e+04 1.66e+04 -1.0 1.27e+06 - 1.67e-02 4.64e-02f 1\n", + " 16 7.0570856e+08 1.18e+03 1.55e+04 -1.0 1.29e+06 - 6.46e-02 9.17e-01f 1\n", + " 17 7.0566990e+08 1.17e+03 3.88e+03 -1.0 1.36e+06 - 6.62e-01 1.06e-02f 1\n", + " 18 7.0379856e+08 9.33e+02 1.33e+03 -1.0 4.01e+06 - 9.01e-01 2.08e-01f 1\n", + " 19 7.0278542e+08 9.19e+02 1.31e+03 -1.0 3.81e+07 - 6.72e-02 1.64e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.0076267e+08 9.79e+02 1.29e+03 -1.0 4.10e+07 - 3.70e-01 3.17e-02f 1\n", + " 21 6.9742656e+08 3.87e+03 1.23e+03 -1.0 6.11e+07 - 8.15e-02 5.50e-02f 1\n", + " 22 6.9684462e+08 3.90e+03 1.39e+03 -1.0 4.34e+07 - 5.75e-01 1.15e-02f 1\n", + " 23 6.8023856e+08 1.51e+05 9.61e+02 -1.0 9.92e+07 - 9.67e-02 2.91e-01f 1\n", + " 24 6.7805962e+08 1.49e+05 9.85e+02 -1.0 1.22e+08 - 4.97e-01 3.12e-02f 1\n", + " 25 6.7801729e+08 1.49e+05 9.96e+02 -1.0 3.95e+07 - 2.13e-01 2.60e-03f 1\n", + " 26 6.6742281e+08 5.20e+05 3.53e+02 -1.0 4.96e+07 - 6.94e-01 1.00e+00f 1\n", + " 27 6.6507798e+08 5.08e+05 2.46e+02 -1.0 1.40e+08 - 3.02e-01 7.76e-02f 1\n", + " 28 6.6496978e+08 5.06e+05 2.29e+02 -1.0 1.85e+08 - 6.65e-02 3.61e-03f 1\n", + " 29 6.5925600e+08 7.53e+05 1.14e+02 -1.0 1.96e+08 - 5.05e-01 1.93e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.5915892e+08 7.50e+05 9.70e+01 -1.0 2.60e+08 - 1.46e-01 2.97e-03f 1\n", + " 31 6.5840608e+08 7.27e+05 4.31e+01 -1.0 2.79e+08 - 5.37e-01 3.05e-02f 1\n", + " 32 6.5836873e+08 7.18e+05 3.26e+01 -1.0 1.77e+07 - 1.94e-01 1.31e-02h 1\n", + " 33 6.5693670e+08 2.39e+06 2.00e+01 -1.0 2.16e+07 - 7.37e-01 4.59e-01f 1\n", + " 34 6.5650926e+08 2.54e+06 2.02e+01 -1.0 8.10e+07 - 1.43e-01 5.26e-02f 1\n", + " 35 6.5621879e+08 2.57e+06 2.36e+01 -1.0 8.73e+07 - 3.43e-01 3.31e-02f 1\n", + " 36 6.5582524e+08 2.84e+06 2.66e+01 -1.0 6.88e+07 - 5.26e-01 5.71e-02f 1\n", + " 37 6.5245174e+08 3.48e+07 6.67e+00 -1.0 6.73e+07 - 6.71e-01 8.04e-01f 1\n", + " 38 6.5235770e+08 1.46e+07 3.30e+00 -1.0 1.22e+07 - 7.93e-01 5.89e-01h 1\n", + " 39 6.5236105e+08 1.17e+07 1.90e+04 -1.0 6.08e+04 -4.0 9.93e-02 1.98e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.5236048e+08 1.16e+07 1.90e+04 -1.0 7.66e+06 - 2.35e-02 2.94e-03h 1\n", + " 41 6.5236336e+08 1.09e+07 1.70e+04 -1.0 5.14e+05 - 9.96e-01 5.80e-02h 1\n", + " 42 6.5237315e+08 4.82e+06 6.48e+04 -1.0 5.75e+05 - 3.21e-01 5.55e-01h 1\n", + " 43 6.5237401e+08 2.99e+06 4.56e+04 -1.0 1.18e+05 - 1.00e+00 3.79e-01h 1\n", + " 44 6.5237390e+08 2.97e+06 4.53e+04 -1.0 1.15e+05 - 1.00e+00 5.87e-03h 1\n", + " 45 6.5237029e+08 2.97e+06 4.52e+04 -1.0 2.16e+07 - 5.95e-04 1.18e-03h 1\n", + " 46 6.5236272e+08 2.87e+06 4.34e+04 -1.0 1.87e+06 - 1.59e-04 3.35e-02f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 47 6.5236140e+08 2.61e+06 3.92e+04 -1.0 2.20e+06 - 1.59e-01 9.12e-02h 1\n", + " 48 6.5238707e+08 1.38e+06 2.99e+04 -1.0 2.45e+06 - 1.48e-01 4.57e-01h 1\n", + " 49 6.5240337e+08 9.16e+05 2.30e+04 -1.0 1.38e+06 - 6.59e-01 3.34e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.5243799e+08 1.70e+04 1.36e+04 -1.0 8.70e+05 - 1.00e+00 1.00e+00h 1\n", + " 51 6.5243801e+08 1.23e+04 9.83e+03 -1.0 1.24e+02 -4.5 1.00e+00 2.75e-01h 1\n", + " 52 6.5240427e+08 3.61e+05 6.29e+03 -1.0 1.23e+07 - 1.00e+00 3.58e-01f 1\n", + " 53 6.5235465e+08 1.44e+06 3.57e+03 -1.0 1.95e+07 - 1.00e+00 4.26e-01h 1\n", + " 54 6.5235813e+08 1.07e+05 1.46e+02 -1.0 2.46e+06 - 1.00e+00 1.00e+00h 1\n", + " 55 6.5235916e+08 2.61e+02 2.19e+01 -1.0 2.76e+03 -5.0 1.00e+00 1.00e+00h 1\n", + " 56 6.5233049e+08 3.34e+02 9.26e+01 -1.7 1.51e+05 - 1.00e+00 7.61e-01f 1\n", + " 57 6.5231843e+08 8.68e+03 1.80e+02 -1.7 5.86e+05 - 1.00e+00 1.00e+00h 1\n", + " 58 6.5231849e+08 1.63e-01 3.24e-02 -1.7 1.66e+02 -5.4 1.00e+00 1.00e+00h 1\n", + " 59 6.5230594e+08 7.53e+04 5.53e+01 -3.8 3.82e+06 - 8.73e-01 7.41e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.5229615e+08 4.17e+05 4.54e+01 -3.8 2.04e+07 - 6.90e-01 3.05e-01h 1\n", + " 61 6.5228127e+08 2.46e+06 4.28e+01 -3.8 7.41e+07 - 6.87e-01 2.01e-01h 1\n", + " 62 6.5227925e+08 2.43e+06 4.20e+01 -3.8 7.02e+07 - 7.99e-01 2.15e-02h 1\n", + " 63 6.5226267e+08 3.19e+06 3.82e+01 -3.8 2.02e+07 - 1.00e+00 7.41e-01h 1\n", + " 64 6.5225748e+08 3.36e+06 3.67e+01 -3.8 1.23e+08 - 1.61e-01 4.43e-02h 1\n", + " 65 6.5224635e+08 8.13e+06 2.90e+01 -3.8 5.64e+07 - 1.00e+00 3.03e-01h 1\n", + " 66 6.5223702e+08 1.13e+07 2.31e+01 -3.8 5.69e+07 - 1.00e+00 2.78e-01h 1\n", + " 67 6.5223741e+08 1.24e+05 3.75e-01 -3.8 6.53e+05 - 1.00e+00 1.00e+00h 1\n", + " 68 6.5223711e+08 6.31e+03 4.64e-04 -3.8 5.23e+05 - 1.00e+00 1.00e+00h 1\n", + " 69 6.5223711e+08 3.83e-01 1.10e-08 -3.8 2.87e+03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.5223704e+08 2.28e-01 3.30e-07 -5.7 3.01e+03 - 1.00e+00 1.00e+00h 1\n", + " 71 6.5223704e+08 3.91e-06 1.85e-11 -5.7 1.22e+01 - 1.00e+00 1.00e+00h 1\n", + " 72 6.5223704e+08 3.45e-05 5.08e-11 -8.6 3.73e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 72\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.5223703595387960e+04 6.5223703595387959e+08\n", + "Dual infeasibility......: 5.0784232262987618e-11 5.0784232262987618e-07\n", + "Constraint violation....: 8.1742035995836416e-09 3.4455209970474243e-05\n", + "Complementarity.........: 2.5347633346497338e-09 2.5347633346497338e-05\n", + "Overall NLP error.......: 8.1742035995836416e-09 3.4455209970474243e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 73\n", + "Number of objective gradient evaluations = 73\n", + "Number of equality constraint evaluations = 73\n", + "Number of inequality constraint evaluations = 73\n", + "Number of equality constraint Jacobian evaluations = 73\n", + "Number of inequality constraint Jacobian evaluations = 73\n", + "Number of Lagrangian Hessian evaluations = 72\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.129\n", + "Total CPU secs in NLP function evaluations = 84.571\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 436\n", + "Realized SOC (MPC) 1188433\n", + "Fixed costs: 65589.81\n", + "Variable costs: 38797.77\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 141.93\n", + "\n", + "Simulating time_step 2020-07-11 18:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 16000\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6075\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.5243704e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.5242292e+08 9.99e+04 9.91e+01 -1.0 1.42e+06 - 9.22e-04 7.84e-04h 1\n", + " 2 6.5246355e+08 9.96e+04 9.93e+01 -1.0 1.43e+06 - 1.32e-03 3.05e-03h 1\n", + " 3 6.5259429e+08 9.91e+04 9.91e+01 -1.0 1.42e+06 - 4.09e-03 5.25e-03h 1\n", + " 4 6.5297738e+08 9.79e+04 9.84e+01 -1.0 1.42e+06 - 9.89e-03 1.21e-02h 1\n", + " 5 6.5481891e+08 9.25e+04 9.75e+01 -1.0 1.40e+06 - 3.36e-02 5.50e-02h 1\n", + " 6 6.5579974e+08 8.97e+04 8.89e+01 -1.0 1.32e+06 - 2.11e-01 3.07e-02h 1\n", + " 7 6.5581120e+08 8.96e+04 6.69e+03 -1.0 1.31e+06 - 1.70e-01 3.73e-04h 1\n", + " 8 6.5713818e+08 8.58e+04 5.60e+04 -1.0 1.82e+06 - 2.70e-01 4.33e-02h 1\n", + " 9 6.6110083e+08 7.41e+04 5.58e+04 -1.0 1.75e+06 - 2.18e-01 1.36e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.6115030e+08 7.39e+04 6.15e+04 -1.0 1.54e+06 - 2.85e-01 1.95e-03h 1\n", + " 11 6.6789398e+08 5.52e+04 4.88e+04 -1.0 3.43e+06 - 5.30e-03 2.54e-01h 1\n", + " 12 6.8594110e+08 1.31e+04 7.72e+04 -1.0 1.98e+06 - 3.60e-04 9.31e-01h 1\n", + " 13 6.8598536e+08 1.20e+04 2.71e+04 -1.0 2.87e+05 - 9.87e-01 8.75e-02h 1\n", + " 14 6.8198762e+08 1.11e+04 2.50e+04 -1.0 1.84e+07 - 3.24e-02 7.46e-02f 1\n", + " 15 6.8185741e+08 1.10e+04 2.52e+04 -1.0 2.05e+07 - 2.07e-01 2.65e-03f 1\n", + " 16 6.8009164e+08 1.07e+04 2.45e+04 -1.0 2.56e+07 - 1.30e-01 3.25e-02f 1\n", + " 17 6.7818371e+08 1.02e+04 2.39e+04 -1.0 2.93e+07 - 6.05e-01 4.16e-02f 1\n", + " 18 6.7550490e+08 9.87e+03 2.30e+04 -1.0 6.74e+07 - 6.01e-02 3.68e-02f 1\n", + " 19 6.7367385e+08 9.59e+03 2.21e+04 -1.0 6.44e+07 - 3.98e-01 2.89e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.7197406e+08 9.12e+03 2.07e+04 -1.0 5.18e+07 - 1.74e-01 5.62e-02f 1\n", + " 21 6.7129740e+08 8.87e+03 2.01e+04 -1.0 3.75e+07 - 2.07e-01 2.95e-02f 1\n", + " 22 6.7083480e+08 7.87e+03 1.82e+04 -1.0 2.07e+07 - 2.91e-01 1.18e-01f 1\n", + " 23 6.6507328e+08 1.89e+05 1.76e+03 -1.0 3.00e+07 - 1.81e-01 1.00e+00f 1\n", + " 24 6.5927104e+08 2.10e+05 6.02e+02 -1.0 3.52e+07 - 6.58e-01 7.55e-01f 1\n", + " 25 6.5848177e+08 2.05e+05 2.49e+02 -1.0 9.49e+07 - 5.90e-01 3.89e-02f 1\n", + " 26 6.5779015e+08 2.05e+05 2.35e+02 -1.0 2.00e+08 - 5.48e-02 2.31e-02f 1\n", + " 27 6.5231036e+08 4.89e+05 1.71e+02 -1.0 2.08e+08 - 2.75e-01 1.76e-01f 1\n", + " 28 6.5222414e+08 4.87e+05 1.36e+02 -1.0 2.16e+08 - 2.06e-01 3.09e-03f 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 29 6.5156117e+08 4.72e+05 4.57e+01 -1.0 2.46e+08 - 7.88e-01 3.08e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.5150977e+08 4.66e+05 4.45e+01 -1.0 3.00e+07 - 3.30e-02 1.25e-02h 1\n", + " 31 6.4975879e+08 2.59e+06 3.80e+01 -1.0 3.09e+07 - 9.43e-02 3.03e-01f 1\n", + " 32 6.4958988e+08 2.55e+06 3.19e+01 -1.0 3.33e+07 - 1.91e-01 2.45e-02f 1\n", + " 33 6.4601165e+08 2.99e+07 2.89e+01 -1.0 7.50e+07 - 4.17e-02 3.00e-01f 1\n", + " 34 6.4587455e+08 2.96e+07 2.33e+01 -1.0 1.18e+08 - 2.19e-01 8.95e-03f 1\n", + " 35 6.4370802e+08 3.64e+07 2.04e+01 -1.0 2.28e+08 - 1.43e-01 8.30e-02f 1\n", + " 36 6.3548758e+08 1.69e+08 1.43e+01 -1.0 1.74e+08 - 2.70e-01 4.19e-01f 1\n", + " 37 6.3536246e+08 1.66e+08 1.45e+01 -1.0 5.98e+07 - 8.26e-01 1.66e-02h 1\n", + " 38 6.3274821e+08 1.99e+07 1.92e+01 -1.0 3.44e+07 - 1.89e-01 8.34e-01f 1\n", + " 39 6.3276113e+08 1.66e+07 2.28e+04 -1.0 3.03e+05 -4.0 2.50e-02 1.67e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.3275273e+08 1.61e+07 2.08e+04 -1.0 3.23e+06 - 3.29e-02 3.25e-02h 1\n", + " 41 6.3275346e+08 1.59e+07 2.05e+04 -1.0 2.43e+05 -4.5 3.94e-03 1.20e-02h 1\n", + " 42 6.3275430e+08 1.59e+07 2.05e+04 -1.0 1.30e+07 - 2.59e-04 8.41e-04h 1\n", + " 43 6.3275432e+08 1.58e+07 2.33e+04 -1.0 2.41e+05 -5.0 3.34e-01 3.96e-04h 1\n", + " 44 6.3275890e+08 1.56e+07 2.31e+04 -1.0 6.06e+06 - 3.79e-03 1.60e-02h 1\n", + " 45 6.3278663e+08 7.90e+06 6.52e+04 -1.0 2.34e+05 -5.4 1.45e-01 4.89e-01h 1\n", + " 46 6.3279742e+08 5.01e+06 4.68e+04 -1.0 1.20e+05 -5.9 1.48e-02 3.65e-01h 1\n", + " 47 6.3279806e+08 5.00e+06 4.67e+04 -1.0 5.37e+06 - 7.48e-03 1.04e-03h 1\n", + " 48 6.3279190e+08 4.90e+06 4.58e+04 -1.0 2.17e+06 - 6.63e-02 2.07e-02h 1\n", + " 49 6.3279464e+08 4.77e+06 4.46e+04 -1.0 1.32e+06 - 6.53e-02 2.59e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.3280151e+08 4.36e+06 4.09e+04 -1.0 1.04e+06 - 3.51e-01 8.51e-02h 1\n", + " 51 6.3287513e+08 1.51e+06 4.56e+04 -1.0 9.93e+05 - 2.01e-01 6.54e-01h 1\n", + " 52 6.3286335e+08 5.18e+04 1.38e+04 -1.0 4.51e+05 - 9.68e-01 9.65e-01h 1\n", + " 53 6.3280464e+08 5.19e+04 1.32e+04 -1.0 7.96e+06 - 9.89e-01 4.74e-02f 1\n", + " 54 6.3274968e+08 7.87e+03 1.57e+03 -1.0 6.18e+05 - 1.00e+00 8.75e-01f 1\n", + " 55 6.3274255e+08 6.46e+03 1.28e+03 -1.0 1.04e+06 - 1.00e+00 1.81e-01h 1\n", + " 56 6.3273814e+08 5.76e+04 4.52e+01 -1.0 2.03e+06 - 1.00e+00 1.00e+00h 1\n", + " 57 6.3273863e+08 6.29e-01 3.64e-01 -1.0 1.86e+03 -6.4 1.00e+00 1.00e+00h 1\n", + " 58 6.3269903e+08 2.62e+04 4.33e+01 -1.7 1.89e+06 - 9.29e-01 8.75e-01f 1\n", + " 59 6.3267183e+08 3.86e+06 4.73e+01 -1.7 6.88e+07 - 3.88e-01 3.01e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.3267871e+08 3.30e+06 1.21e+02 -1.7 1.74e+05 -6.9 1.07e-02 1.44e-01h 1\n", + " 61 6.3267379e+08 3.20e+06 1.33e+02 -1.7 2.00e+06 - 1.00e+00 3.25e-02h 1\n", + " 62 6.3264830e+08 1.26e+05 3.14e+02 -1.7 2.27e+06 - 1.00e+00 1.00e+00h 1\n", + " 63 6.3264860e+08 2.62e+01 2.90e+00 -1.7 2.44e+03 -7.3 5.19e-01 1.00e+00h 1\n", + " 64 6.3264852e+08 7.67e-04 6.96e-03 -1.7 2.39e+02 -7.8 1.00e+00 1.00e+00h 1\n", + " 65 6.3264414e+08 2.85e-03 4.21e+00 -3.8 8.98e+02 -8.3 1.00e+00 7.76e-01f 1\n", + " 66 6.3264136e+08 2.23e+03 2.80e+00 -3.8 4.93e+07 - 8.89e-02 6.02e-03f 1\n", + " 67 6.3262028e+08 2.22e+05 1.73e+00 -3.8 4.97e+07 - 2.00e-01 6.13e-02f 1\n", + " 68 6.3261537e+08 2.34e+05 1.31e+01 -3.8 4.82e+07 - 1.00e+00 1.52e-02h 1\n", + " 69 6.3261134e+08 2.04e+05 1.13e+01 -3.8 2.14e+07 - 8.46e-01 1.28e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.3260389e+08 4.72e+05 8.39e+00 -3.8 1.63e+07 - 1.00e+00 2.57e-01h 1\n", + " 71 6.3259739e+08 4.30e+05 6.92e+00 -3.8 3.02e+07 - 1.00e+00 1.78e-01h 1\n", + " 72 6.3258602e+08 2.81e+06 1.25e+01 -3.8 1.81e+07 - 1.00e+00 6.68e-01h 1\n", + " 73 6.3256449e+08 1.43e+07 1.34e+01 -3.8 4.74e+07 - 1.00e+00 5.68e-01h 1\n", + " 74 6.3254867e+08 1.95e+07 1.11e+01 -3.8 6.66e+07 - 1.00e+00 3.30e-01h 1\n", + " 75 6.3254867e+08 1.95e+07 1.11e+01 -3.8 1.46e+06 - 1.00e+00 1.94e-03h 1\n", + " 76 6.3255058e+08 1.94e+05 1.75e-01 -3.8 7.00e+05 - 1.00e+00 1.00e+00h 1\n", + " 77 6.3255054e+08 1.81e+02 1.91e-06 -3.8 4.18e+03 - 1.00e+00 1.00e+00h 1\n", + " 78 6.3255054e+08 3.63e-04 1.50e-09 -3.8 1.14e+01 - 1.00e+00 1.00e+00h 1\n", + " 79 6.3255046e+08 2.93e-01 3.46e-07 -5.7 4.09e+03 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 6.3255046e+08 1.91e-06 1.85e-11 -5.7 3.18e+00 - 1.00e+00 1.00e+00h 1\n", + " 81 6.3255046e+08 4.49e-05 5.30e-11 -8.6 5.06e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 81\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.3255045873672105e+04 6.3255045873672104e+08\n", + "Dual infeasibility......: 5.3047415596337355e-11 5.3047415596337355e-07\n", + "Constraint violation....: 7.4190121790422839e-09 4.4852495193481445e-05\n", + "Complementarity.........: 2.5241299796739729e-09 2.5241299796739728e-05\n", + "Overall NLP error.......: 7.4190121790422839e-09 4.4852495193481445e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 82\n", + "Number of objective gradient evaluations = 82\n", + "Number of equality constraint evaluations = 82\n", + "Number of inequality constraint evaluations = 82\n", + "Number of equality constraint Jacobian evaluations = 82\n", + "Number of inequality constraint Jacobian evaluations = 82\n", + "Number of Lagrangian Hessian evaluations = 81\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.200\n", + "Total CPU secs in NLP function evaluations = 94.269\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 460\n", + "Realized SOC (MPC) 1175440\n", + "Fixed costs: 65589.81\n", + "Variable costs: 43071.77\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 247.93\n", + "\n", + "Simulating time_step 2020-07-11 19:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15996\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6074\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.3275046e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 6.3269788e+08 9.97e+04 9.93e+01 -1.0 1.60e+05 - 6.60e-03 2.92e-03h 1\n", + " 2 6.3271516e+08 9.89e+04 9.85e+01 -1.0 1.54e+05 - 5.70e-03 7.69e-03h 1\n", + " 3 6.3283340e+08 9.76e+04 9.72e+01 -1.0 1.20e+05 - 1.18e-02 1.37e-02h 1\n", + " 4 6.3343077e+08 9.18e+04 9.81e+01 -1.0 9.68e+04 - 2.97e-02 5.90e-02h 1\n", + " 5 6.3464969e+08 8.06e+04 8.02e+01 -1.0 9.11e+04 - 4.65e-01 1.22e-01h 1\n", + " 6 6.4260205e+08 4.15e+03 7.34e+01 -1.0 1.36e+05 - 2.63e-01 9.49e-01h 1\n", + " 7 6.4256215e+08 2.53e+03 1.51e+02 -1.0 1.79e+05 - 9.88e-01 3.89e-01h 1\n", + " 8 6.4109254e+08 2.42e+03 1.48e+02 -1.0 1.21e+07 - 3.19e-02 4.47e-02f 1\n", + " 9 6.3879430e+08 2.28e+03 9.91e+01 -1.0 1.52e+07 - 2.06e-01 5.63e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.3846661e+08 2.26e+03 7.04e+01 -1.0 1.89e+07 - 1.42e-01 8.38e-03f 1\n", + " 11 6.3598953e+08 2.14e+03 3.85e+01 -1.0 2.20e+07 - 3.34e-01 5.68e-02f 1\n", + " 12 6.3453202e+08 2.06e+03 4.16e+01 -1.0 3.23e+07 - 1.06e-01 3.50e-02f 1\n", + " 13 6.3374557e+08 2.01e+03 7.55e+01 -1.0 3.57e+07 - 6.45e-01 2.62e-02f 1\n", + " 14 6.3160791e+08 3.46e+03 7.31e+01 -1.0 7.48e+07 - 7.09e-02 4.01e-02f 1\n", + " 15 6.3153176e+08 3.38e+03 7.84e+01 -1.0 1.18e+07 - 3.96e-01 2.23e-02h 1\n", + " 16 6.2736647e+08 8.46e+04 1.29e+02 -1.0 2.02e+07 - 1.41e-01 1.00e+00f 1\n", + " 17 6.2303186e+08 9.71e+04 2.42e+01 -1.0 2.24e+07 - 5.76e-01 8.91e-01f 1\n", + " 18 6.1783717e+08 1.82e+05 9.84e+00 -1.0 5.05e+07 - 7.52e-01 4.75e-01f 1\n", + " 19 6.1774457e+08 1.82e+05 1.80e+01 -1.0 1.73e+08 - 1.06e-01 2.94e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.1175532e+08 5.20e+05 1.39e+01 -1.0 1.89e+08 - 3.18e-01 2.10e-01f 1\n", + " 21 6.1167472e+08 5.18e+05 1.35e+01 -1.0 2.06e+08 - 1.92e-01 2.74e-03f 1\n", + " 22 6.1087148e+08 4.98e+05 2.38e+01 -1.0 2.30e+08 - 4.63e-01 3.96e-02f 1\n", + " 23 6.1083784e+08 4.89e+05 6.19e+01 -1.0 1.11e+07 - 8.86e-01 1.66e-02h 1\n", + " 24 6.1082877e+08 4.48e+05 2.93e+03 -1.0 7.74e+04 -4.0 5.09e-02 8.44e-02h 1\n", + " 25 6.1082868e+08 4.48e+05 2.30e+04 -1.0 7.08e+04 -4.5 5.61e-01 9.34e-04h 1\n", + " 26 6.1082760e+08 4.42e+05 5.86e+04 -1.0 7.07e+04 -5.0 4.87e-02 1.36e-02h 1\n", + " 27 6.1082733e+08 4.40e+05 9.85e+04 -1.0 6.82e+04 -5.4 1.09e-01 4.69e-03h 1\n", + " 28 6.1080533e+08 2.77e+05 5.06e+04 -1.0 6.78e+04 -5.9 7.02e-02 3.70e-01h 1\n", + " 29 6.1076871e+08 1.24e+02 1.07e+04 -1.0 4.27e+04 -6.4 9.90e-01 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.1076874e+08 4.98e-04 2.59e+02 -1.0 9.26e+01 -6.9 9.92e-01 1.00e+00h 1\n", + " 31 6.0899047e+08 2.71e+07 2.55e+02 -1.0 2.35e+09 - 1.56e-02 1.58e-02f 1\n", + " 32 6.0900468e+08 1.01e+05 9.11e+02 -1.0 7.39e+04 -7.3 1.57e-01 1.00e+00h 1\n", + " 33 6.0890693e+08 2.30e+05 9.09e+02 -1.0 4.98e+08 - 2.12e-02 3.65e-03f 1\n", + " 34 6.0852876e+08 4.41e+05 8.74e+02 -1.0 1.23e+08 - 2.67e-02 3.83e-02f 1\n", + " 35 6.0812022e+08 1.07e+06 8.37e+02 -1.0 1.33e+08 - 8.23e-02 4.26e-02f 1\n", + " 36 6.0772741e+08 1.38e+06 8.29e+02 -1.0 9.27e+08 - 4.14e-04 9.48e-03f 1\n", + " 37 6.0767673e+08 1.41e+06 8.28e+02 -1.0 1.12e+09 - 5.02e-02 1.04e-03f 1\n", + " 38 6.0704722e+08 3.95e+06 7.26e+02 -1.0 1.09e+08 - 2.28e-01 1.24e-01f 1\n", + " 39 6.0703562e+08 3.91e+06 9.82e+02 -1.0 2.96e+07 - 1.00e+00 8.42e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 6.0630697e+08 1.66e+07 1.88e+04 -1.0 3.05e+07 - 8.43e-01 1.00e+00f 1\n", + " 41 6.0631257e+08 1.43e+07 1.62e+04 -1.0 1.10e+05 -7.8 5.69e-02 1.40e-01h 1\n", + " 42 6.0634642e+08 4.03e+06 4.58e+03 -1.0 9.84e+04 -8.3 1.65e-01 7.17e-01h 1\n", + " 43 6.0635990e+08 1.31e+03 3.78e+00 -1.0 2.46e+04 -8.8 1.00e+00 1.00e+00h 1\n", + " 44 6.0577531e+08 2.90e+06 1.29e+01 -1.0 2.39e+10 - 4.06e-03 4.08e-04f 1\n", + " 45 6.0492209e+08 8.63e+06 1.36e+01 -1.0 3.59e+08 - 4.97e-02 3.84e-02f 1\n", + " 46 6.0491428e+08 8.47e+06 4.33e+01 -1.0 4.85e+06 - 8.03e-01 1.84e-02h 1\n", + " 47 6.0492398e+08 6.25e+06 3.12e+01 -1.0 3.58e+07 - 1.56e-01 2.56e-01h 1\n", + " 48 6.0497293e+08 4.70e+05 1.49e+01 -1.0 6.94e+06 - 5.67e-01 1.00e+00h 1\n", + " 49 6.0497346e+08 4.09e+05 5.43e+01 -1.0 2.80e+04 -9.2 7.56e-01 1.29e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 6.0498348e+08 7.03e+03 2.37e+00 -1.0 1.70e+05 -9.7 1.00e+00 1.00e+00h 1\n", + " 51 6.0498336e+08 1.16e+00 7.86e-02 -1.0 1.23e+04 -10.2 1.00e+00 1.00e+00h 1\n", + " 52 6.0494993e+08 6.57e+00 4.74e+00 -2.5 2.77e+04 -10.7 1.00e+00 8.83e-01f 1\n", + " 53 6.0494151e+08 4.43e+01 2.05e-01 -2.5 3.99e+04 -11.2 1.00e+00 9.57e-01f 1\n", + " 54 6.0493819e+08 1.98e+02 3.34e-01 -2.5 1.00e+05 -11.6 1.00e+00 7.87e-01f 1\n", + " 55 6.0493757e+08 1.96e+02 1.29e+00 -2.5 2.61e+05 -12.1 1.00e+00 1.95e-01h 1\n", + " 56 6.0493616e+08 1.95e+03 1.06e+00 -2.5 6.44e+05 -12.6 1.00e+00 3.94e-01h 1\n", + " 57 6.0493607e+08 1.95e+03 1.58e-02 -2.5 3.01e+05 -13.1 1.00e+00 1.00e+00h 1\n", + " 58 6.0493488e+08 1.55e+04 9.27e-04 -2.5 8.48e+05 -13.5 1.00e+00 1.00e+00h 1\n", + " 59 6.0493200e+08 1.28e+05 1.29e-02 -2.5 2.44e+06 -14.0 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 6.0493021e+08 1.38e+05 6.36e-02 -2.5 7.27e+06 -14.5 1.00e+00 2.09e-01h 1\n", + " 61 6.0491828e+08 2.67e+06 6.31e-01 -2.5 1.96e+07 -15.0 1.00e+00 8.43e-01h 1\n", + " 62 6.0490662e+08 5.93e+05 1.16e-01 -2.5 6.96e+06 -14.5 1.00e+00 1.00e+00h 1\n", + " 63 6.0489254e+08 2.43e+06 5.07e-01 -2.5 8.94e+07 -15.0 4.60e-01 1.58e-01h 1\n", + " 64 6.0487712e+08 1.57e+06 3.12e-01 -2.5 1.16e+07 -14.6 1.00e+00 9.31e-01h 1\n", + " 65 6.0487156e+08 1.69e+06 3.49e-01 -2.5 1.75e+08 -15.1 3.54e-01 2.15e-02h 1\n", + " 66 6.0486752e+08 1.94e+06 1.03e+00 -2.5 4.09e+08 - 1.65e-01 1.22e-02h 1\n", + " 67 6.0483356e+08 3.07e+07 4.05e+00 -2.5 3.29e+08 - 4.60e-01 1.29e-01h 1\n", + " 68 6.0483352e+08 3.02e+07 3.89e+00 -2.5 7.07e+06 - 1.00e+00 1.70e-02h 1\n", + " 69 6.0483414e+08 5.54e+05 3.70e-02 -2.5 1.28e+06 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 6.0483403e+08 1.91e+03 7.19e-07 -2.5 1.40e+04 - 1.00e+00 1.00e+00h 1\n", + " 71 6.0483403e+08 4.35e-02 2.83e-08 -2.5 1.17e+02 - 1.00e+00 1.00e+00h 1\n", + " 72 6.0483258e+08 6.80e+01 1.05e-04 -3.8 6.15e+04 - 1.00e+00 1.00e+00f 1\n", + " 73 6.0483258e+08 2.49e-02 1.76e-09 -3.8 1.01e+03 - 1.00e+00 1.00e+00h 1\n", + " 74 6.0483250e+08 1.96e-01 3.10e-07 -5.7 3.30e+03 - 1.00e+00 1.00e+00f 1\n", + " 75 6.0483250e+08 9.54e-07 1.85e-11 -5.7 2.99e+00 - 1.00e+00 1.00e+00h 1\n", + " 76 6.0483250e+08 3.01e-05 4.76e-11 -8.6 4.09e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 76\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 6.0483249872821347e+04 6.0483249872821343e+08\n", + "Dual infeasibility......: 4.7642816967962643e-11 4.7642816967962643e-07\n", + "Constraint violation....: 4.9358832306788570e-09 3.0100345611572269e-05\n", + "Complementarity.........: 2.5243144675193707e-09 2.5243144675193706e-05\n", + "Overall NLP error.......: 4.9358832306788570e-09 3.0100345611572269e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 77\n", + "Number of objective gradient evaluations = 77\n", + "Number of equality constraint evaluations = 77\n", + "Number of inequality constraint evaluations = 77\n", + "Number of equality constraint Jacobian evaluations = 77\n", + "Number of inequality constraint Jacobian evaluations = 77\n", + "Number of Lagrangian Hessian evaluations = 76\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 3.516\n", + "Total CPU secs in NLP function evaluations = 88.767\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 460\n", + "Realized SOC (MPC) 1140648\n", + "Fixed costs: 70230.69\n", + "Variable costs: 44057.83\n", + "\n", + "Number on/offs: 4\n", + "Sum on/off ramps: 32.00\n", + "Sum nominal ramps: 39.07\n", + "\n", + "Simulating time_step 2020-07-11 20:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15992\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6073\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.0503250e+08 1.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 6.0498214e+08 9.97e+04 9.93e+01 -1.0 1.62e+05 - 6.00e-03 2.80e-03h 1\n", + " 2 6.0503065e+08 9.90e+04 9.86e+01 -1.0 1.51e+05 - 3.56e-03 7.44e-03h 1\n", + " 3 6.0519256e+08 9.76e+04 9.78e+01 -1.0 1.22e+05 - 1.12e-02 1.41e-02h 1\n", + " 4 6.0600912e+08 9.16e+04 9.60e+01 -1.0 9.70e+04 - 4.06e-02 6.18e-02h 1\n", + " 5 6.0773133e+08 7.93e+04 7.89e+01 -1.0 9.10e+04 - 2.19e-01 1.34e-01h 1\n", + " 6 6.1132634e+08 5.31e+04 5.28e+01 -1.0 9.74e+04 - 3.49e-01 3.31e-01h 1\n", + " 7 6.1142713e+08 5.23e+04 1.52e+02 -1.0 1.14e+06 - 9.66e-01 1.45e-02h 1\n", + " 8 6.1048952e+08 4.03e+04 4.01e+01 -1.0 4.58e+06 - 9.37e-01 2.29e-01h 1\n", + " 9 6.0899200e+08 3.98e+04 3.96e+01 -1.0 5.98e+07 - 8.05e-02 1.27e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.0701005e+08 3.91e+04 3.86e+01 -1.0 6.40e+07 - 2.21e-01 1.66e-02f 1\n", + " 11 6.0382953e+08 3.79e+04 3.66e+01 -1.0 7.30e+07 - 1.05e-01 3.27e-02f 1\n", + " 12 6.0365485e+08 3.73e+04 1.95e+01 -1.0 1.35e+07 - 3.25e-01 1.58e-02h 1\n", + " 13 6.0198097e+08 2.39e+04 1.80e+01 -1.0 1.51e+07 - 2.76e-01 4.05e-01h 1\n", + " 14 5.9916120e+08 3.67e+04 3.84e+01 -1.0 2.08e+07 - 4.21e-01 6.02e-01f 1\n", + " 15 5.9147949e+08 2.79e+05 5.36e+01 -1.0 3.58e+07 - 4.99e-01 1.00e+00f 1\n", + " 16 5.8967024e+08 2.61e+05 5.08e+01 -1.0 6.70e+07 - 5.64e-01 1.26e-01f 1\n", + " 17 5.8956398e+08 2.60e+05 5.84e+01 -1.0 1.40e+08 - 4.81e-01 4.85e-03f 1\n", + " 18 5.8348783e+08 6.20e+05 4.94e+01 -1.0 2.36e+08 - 3.99e-02 1.76e-01f 1\n", + " 19 5.8340597e+08 6.18e+05 4.04e+01 -1.0 1.99e+08 - 9.48e-01 2.93e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.8246967e+08 6.03e+05 3.96e+01 -1.0 4.60e+08 - 2.91e-02 1.94e-02f 1\n", + " 21 5.8236303e+08 5.96e+05 3.90e+01 -1.0 8.18e+07 - 2.25e-01 9.09e-03f 1\n", + " 22 5.8140137e+08 1.61e+06 3.58e+01 -1.0 1.12e+08 - 5.81e-02 8.20e-02f 1\n", + " 23 5.8093526e+08 2.10e+06 3.42e+01 -1.0 1.15e+08 - 1.31e-02 4.69e-02f 1\n", + " 24 5.8065576e+08 2.05e+06 3.32e+01 -1.0 1.65e+08 - 2.26e-01 2.45e-02f 1\n", + " 25 5.7859506e+08 1.48e+07 2.70e+01 -1.0 1.54e+08 - 2.80e-02 1.90e-01f 1\n", + " 26 5.7856825e+08 1.47e+07 2.65e+01 -1.0 7.25e+07 - 7.01e-01 3.98e-03h 1\n", + " 27 5.7578806e+08 2.91e+07 5.84e+00 -1.0 5.56e+07 - 9.60e-01 7.94e-01f 1\n", + " 28 5.7578916e+08 2.61e+07 1.68e+04 -1.0 1.04e+05 -4.0 6.74e-02 1.02e-01h 1\n", + " 29 5.7578917e+08 2.60e+07 1.68e+04 -1.0 9.28e+04 -4.5 2.74e-01 1.17e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.7579012e+08 2.53e+07 6.30e+04 -1.0 9.28e+04 -5.0 1.18e-01 3.02e-02h 1\n", + " 31 5.7582167e+08 9.58e+05 1.03e+05 -1.0 9.00e+04 -5.4 9.95e-01 1.00e+00h 1\n", + " 32 5.7582151e+08 4.81e+05 9.68e+04 -1.0 1.86e+03 -5.9 9.86e-01 4.99e-01h 1\n", + " 33 5.7581981e+08 4.80e+05 9.81e+04 -1.0 3.29e+06 - 7.26e-01 1.41e-03h 2\n", + " 34 5.7582080e+08 4.05e+05 8.33e+04 -1.0 1.76e+06 - 3.78e-01 1.52e-01f 2\n", + " 35 5.7582627e+08 5.54e+04 4.36e+04 -1.0 1.47e+06 - 6.20e-01 8.58e-01H 1\n", + " 36 5.7582097e+08 1.06e+04 1.04e+04 -1.0 2.46e+05 - 1.00e+00 7.95e-01f 1\n", + " 37 5.7581554e+08 2.28e+04 1.34e+03 -1.0 1.06e+06 - 1.00e+00 1.00e+00f 1\n", + " 38 5.7581565e+08 5.42e-01 1.68e+00 -1.0 5.30e+02 -6.4 1.00e+00 1.00e+00h 1\n", + " 39 5.7580173e+08 1.28e+06 7.86e+01 -1.0 1.16e+07 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.7581426e+08 5.48e+02 1.22e+02 -1.0 5.57e+04 -6.9 1.12e-01 1.00e+00h 1\n", + " 41 5.7580415e+08 4.86e+02 1.05e+02 -1.0 6.79e+05 - 1.00e+00 1.12e-01f 1\n", + " 42 5.7579790e+08 5.59e+04 4.42e+02 -1.0 1.64e+06 - 1.00e+00 1.00e+00f 1\n", + " 43 5.7579797e+08 4.14e+00 2.20e-02 -1.0 1.26e+03 -7.3 1.00e+00 1.00e+00h 1\n", + " 44 5.7577783e+08 9.73e-02 9.55e-01 -2.5 1.00e+03 -7.8 1.00e+00 9.76e-01f 1\n", + " 45 5.7576263e+08 2.26e+03 1.36e+01 -2.5 2.86e+07 - 6.67e-01 1.11e-02f 1\n", + " 46 5.7571151e+08 1.13e+06 1.54e+01 -2.5 3.20e+07 - 1.00e+00 2.46e-01f 1\n", + " 47 5.7571110e+08 1.12e+06 1.49e+01 -2.5 6.57e+06 - 1.00e+00 1.32e-02h 1\n", + " 48 5.7568955e+08 1.03e+06 1.57e+01 -2.5 7.10e+06 - 1.00e+00 1.00e+00h 1\n", + " 49 5.7568962e+08 5.28e+05 2.16e+01 -2.5 1.76e+04 -8.3 8.91e-02 4.86e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.7568943e+08 5.26e+05 2.64e+01 -2.5 9.77e+05 - 1.00e+00 3.36e-03h 1\n", + " 51 5.7568832e+08 1.31e+04 1.19e+01 -2.5 9.11e+05 - 1.00e+00 1.00e+00h 1\n", + " 52 5.7568832e+08 8.54e-03 4.73e-05 -2.5 2.04e+02 -8.8 1.00e+00 1.00e+00h 1\n", + " 53 5.7568715e+08 1.12e-02 6.39e-02 -3.8 9.60e+02 -9.2 1.00e+00 9.85e-01f 1\n", + " 54 5.7568701e+08 3.09e-02 4.40e-02 -3.8 1.01e+03 -9.7 1.00e+00 9.93e-01f 1\n", + " 55 5.7568695e+08 6.77e-02 4.76e-02 -3.8 2.40e+03 -10.2 1.00e+00 6.03e-01f 1\n", + " 56 5.7568694e+08 4.32e-01 8.92e-01 -3.8 7.13e+03 -10.7 1.00e+00 5.23e-01f 1\n", + " 57 5.7568695e+08 1.50e-01 1.92e-04 -3.8 3.77e+03 -11.2 1.00e+00 1.00e+00f 1\n", + " 58 5.7568685e+08 1.14e+00 1.34e-05 -5.7 1.04e+04 -11.6 1.00e+00 1.00e+00h 1\n", + " 59 5.7568682e+08 1.09e+01 1.07e-05 -5.7 3.22e+04 -12.1 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 5.7568672e+08 9.88e+01 1.82e-05 -5.7 9.68e+04 -12.6 1.00e+00 1.00e+00h 1\n", + " 61 5.7568641e+08 9.06e+02 1.72e-04 -5.7 2.93e+05 -13.1 1.00e+00 1.00e+00h 1\n", + " 62 5.7568547e+08 8.60e+03 1.64e-03 -5.7 9.04e+05 -13.5 1.00e+00 1.00e+00h 1\n", + " 63 5.7568232e+08 9.13e+04 1.74e-02 -5.7 2.95e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 64 5.7566921e+08 1.37e+06 2.67e-01 -5.7 1.16e+07 -14.5 1.00e+00 1.00e+00h 1\n", + " 65 5.7564479e+08 4.23e+06 8.13e-01 -5.7 1.11e+08 -15.0 5.72e-01 1.56e-01h 1\n", + " 66 5.7564402e+08 4.16e+06 7.98e-01 -5.7 2.07e+07 -14.5 1.00e+00 1.83e-02h 1\n", + " 67 5.7562736e+08 4.96e+06 9.30e-01 -5.7 1.37e+08 -15.0 5.45e-01 7.17e-02h 1\n", + " 68 5.7562736e+08 4.96e+06 1.06e+00 -5.7 1.27e+09 - 4.71e-02 1.61e-06h 1\n", + " 69 5.7556872e+08 3.34e+07 4.87e+00 -5.7 1.10e+09 - 1.04e-01 4.13e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70r 5.7556872e+08 3.34e+07 9.99e+02 3.9 0.00e+00 - 0.00e+00 2.94e-07R 6\n", + " 71r 5.7731009e+08 2.91e+07 3.11e+03 3.9 6.34e+08 - 2.14e-03 1.11e-03f 1\n", + " 72r 5.8116997e+08 2.05e+07 5.49e+03 3.9 3.39e+05 - 8.63e-03 3.20e-03f 1\n", + " 73r 5.8411630e+08 1.66e+07 4.66e+03 3.9 7.10e+05 - 1.09e-03 3.68e-03f 1\n", + " 74r 5.8765779e+08 1.26e+07 3.29e+04 3.9 2.42e+05 - 1.04e-01 4.82e-03f 1\n", + " 75r 6.1281784e+08 3.27e+06 9.14e+04 3.9 2.52e+05 - 9.68e-01 9.13e-02f 1\n", + " 76r 7.1541964e+08 1.69e+05 2.19e+02 3.9 3.99e+05 - 1.00e+00 1.00e+00f 1\n", + " 77r 7.6751856e+08 5.84e+04 2.21e+02 3.9 1.40e+05 - 1.00e+00 1.00e+00f 1\n", + " 78r 6.8969974e+08 2.25e+05 1.91e+03 3.2 7.04e+04 - 8.28e-01 9.95e-01f 1\n", + " 79r 6.6904474e+08 1.85e+05 2.21e+03 2.5 1.96e+04 - 9.05e-01 8.25e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80r 6.6331172e+08 1.12e+04 1.24e+02 2.5 3.90e+04 - 1.00e+00 1.00e+00f 1\n", + " 81r 6.3084225e+08 2.15e+03 2.19e+03 1.8 1.99e+04 - 1.00e+00 8.99e-01f 1\n", + " 82r 6.2108309e+08 1.47e+03 6.15e+03 1.1 8.17e+04 - 8.50e-01 6.81e-01f 1\n", + " 83r 6.1968481e+08 1.05e+03 1.40e+04 1.1 1.15e+05 - 1.00e+00 3.19e-01f 1\n", + " 84r 6.1469669e+08 5.00e+02 3.37e+03 1.1 2.92e+04 - 1.00e+00 7.29e-01f 1\n", + " 85r 6.1249634e+08 5.83e+01 8.49e+00 1.1 4.85e+03 - 1.00e+00 1.00e+00f 1\n", + " 86r 5.9775306e+08 4.61e+01 7.66e+02 -1.0 1.17e+04 - 9.65e-01 8.04e-01f 1\n", + " 87r 5.9749370e+08 1.16e+04 6.95e+02 -1.0 3.20e+05 - 4.46e-01 1.69e-01f 1\n", + " 88r 5.9710961e+08 1.65e+04 5.95e+02 -1.0 3.06e+05 - 2.74e-01 1.62e-01f 1\n", + " 89r 5.9710388e+08 1.65e+04 7.15e+02 -1.0 2.56e+05 - 6.87e-01 2.02e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90r 5.9693889e+08 1.60e+04 7.38e+02 -1.0 2.88e+05 - 9.98e-01 3.16e-02f 1\n", + " 91r 5.8837544e+08 5.45e+02 2.69e+01 -1.0 2.79e+05 - 1.00e+00 9.66e-01f 1\n", + " 92r 5.8671686e+08 1.64e+00 8.94e+00 -1.0 8.71e+03 - 1.00e+00 1.00e+00f 1\n", + " 93r 5.8661589e+08 1.64e+00 8.94e+00 -1.0 4.12e+02 - 1.00e+00 1.00e+00h 1\n", + " 94r 5.8661543e+08 1.64e+00 8.94e+00 -1.0 6.20e+00 - 1.00e+00 1.00e+00h 1\n", + " 95r 5.8661543e+08 1.64e+00 8.94e+00 -1.0 3.51e-03 - 1.00e+00 1.00e+00h 1\n", + " 96r 5.8661543e+08 1.64e+00 4.47e+00 -1.0 7.27e-04 - 1.00e+00 5.00e-01h 2\n", + " 97r 5.8661543e+08 1.64e+00 8.94e+00 -1.0 3.11e-04 - 1.00e+00 1.00e+00h 1\n", + " 98r 5.8661543e+08 1.64e+00 8.87e+00 -1.0 6.21e-04 - 1.00e+00 7.81e-03h 8\n", + " 99r 5.8661543e+08 1.64e+00 8.94e+00 -1.0 5.94e-04 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100r 5.8661543e+08 1.64e+00 8.94e+00 -1.0 7.02e-04 - 1.00e+00 6.10e-05h 15\n", + " 101r 5.8661543e+08 1.64e+00 6.71e+00 -1.0 7.02e-04 - 1.00e+00 2.50e-01h 3\n", + " 102r 5.8661543e+08 1.64e+00 1.12e+00 -1.0 4.52e-04 - 1.00e+00 5.00e-01h 2\n", + " 103r 5.8219583e+08 1.64e+00 8.94e+00 -1.7 1.36e+03 - 1.00e+00 1.00e+00f 1\n", + " 104r 5.8257176e+08 1.41e+03 2.23e+02 -1.7 5.63e+05 - 3.22e-01 7.10e-01f 1\n", + " 105r 5.8263777e+08 1.12e+03 4.18e+02 -1.7 1.63e+05 - 1.00e+00 2.12e-01f 1\n", + " 106r 5.8263989e+08 1.11e+03 2.13e+02 -1.7 6.98e+04 - 1.00e+00 6.07e-03h 1\n", + " 107r 5.8298231e+08 2.66e+01 7.42e+00 -1.7 4.87e+04 - 1.00e+00 1.00e+00f 1\n", + " 108r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 7.16e+01 - 1.00e+00 1.00e+00h 1\n", + " 109r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 2.31e-02 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.04e-03 - 1.00e+00 1.00e+00h 1\n", + " 111r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.04e-03 - 1.00e+00 1.00e+00h 1\n", + " 112r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.04e-03 - 1.00e+00 1.00e+00h 1\n", + " 113r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.04e-03 - 1.00e+00 1.00e+00h 1\n", + " 114r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.04e-03 - 1.00e+00 1.00e+00h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 115r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.04e-03 - 1.00e+00 1.00e+00h 1\n", + " 116r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.04e-03 - 1.00e+00 1.00e+00h 1\n", + " 117r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.04e-03 - 1.00e+00 1.00e+00h 1\n", + " 118r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.03e-03 - 1.00e+00 1.00e+00h 1\n", + " 119r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.04e-03 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 120r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.04e-03 - 1.00e+00 1.00e+00h 1\n", + " 121r 5.8298238e+08 9.59e-01 3.71e+00 -1.7 1.04e-03 - 1.00e+00 5.00e-01h 2\n", + " 122r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 5.17e-04 - 1.00e+00 1.00e+00h 1\n", + " 123r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 1.04e-03 - 1.00e+00 4.88e-04h 12\n", + " 124r 5.8298238e+08 9.59e-01 7.42e+00 -1.7 9.51e-05 - 1.00e+00 1.00e+00h 1\n", + " 125r 5.8298238e+08 9.59e-01 7.19e+00 -1.7 1.04e-03 - 1.00e+00 3.12e-02h 6\n", + " 126r 5.8298238e+08 9.59e-01 4.81e-01 -1.7 9.16e-05 - 1.00e+00 7.63e-06h 18\n", + " 127r 5.7998028e+08 9.59e-01 1.45e+01 -2.6 2.49e+03 - 1.00e+00 9.41e-01f 1\n", + " 128r 5.7999777e+08 2.22e+02 3.35e+02 -2.6 6.56e+05 - 6.06e-01 2.14e-01f 1\n", + " 129r 5.8005527e+08 1.35e+03 2.36e+02 -2.6 5.15e+05 - 1.00e+00 6.54e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 130r 5.8007219e+08 9.45e+02 1.67e+02 -2.6 1.78e+05 - 1.00e+00 3.29e-01f 1\n", + " 131r 5.8007225e+08 9.44e+02 1.56e+02 -2.6 8.03e+04 - 1.00e+00 1.86e-03h 1\n", + " 132r 5.8010352e+08 1.99e-02 1.14e+00 -2.6 4.18e+03 - 1.00e+00 1.00e+00h 1\n", + " 133r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 4.86e+01 - 1.00e+00 1.00e+00h 1\n", + " 134r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 7.28e-01 - 1.00e+00 1.00e+00h 1\n", + " 135r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.53e-04 - 1.00e+00 1.00e+00h 1\n", + " 136r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.82e-05 - 1.00e+00 1.00e+00h 1\n", + " 137r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.84e-05 - 1.00e+00 1.00e+00h 1\n", + " 138r 5.8010352e+08 4.94e-03 8.54e-01 -2.6 1.85e-05 - 1.00e+00 2.50e-01h 3\n", + " 139r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.39e-05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 140r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.85e-05 - 1.00e+00 1.00e+00h 1\n", + " 141r 5.8010352e+08 4.94e-03 9.97e-01 -2.6 1.83e-05 - 1.00e+00 1.25e-01h 4\n", + " 142r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.60e-05 - 1.00e+00 1.00e+00h 1\n", + " 143r 5.8010352e+08 4.94e-03 5.70e-01 -2.6 1.83e-05 - 1.00e+00 5.00e-01h 2\n", + " 144r 5.8010352e+08 4.94e-03 5.69e-01 -2.6 9.28e-06 - 1.00e+00 4.88e-04h 12\n", + " 145r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 9.26e-06 - 1.00e+00 1.00e+00h 1\n", + " 146r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.85e-05 - 1.00e+00 6.10e-05h 15\n", + " 147r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.85e-05 - 1.00e+00 1.00e+00h 1\n", + " 148r 5.8010352e+08 4.94e-03 8.54e-01 -2.6 1.84e-05 - 1.00e+00 2.50e-01h 3\n", + " 149r 5.8010352e+08 4.94e-03 6.41e-01 -2.6 1.36e-05 - 1.00e+00 2.50e-01h 3\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 150r 5.8010352e+08 4.94e-03 6.41e-01 -2.6 1.03e-05 - 1.00e+00 2.44e-04h 13\n", + " 151r 5.8010352e+08 4.94e-03 6.40e-01 -2.6 1.03e-05 - 1.00e+00 2.44e-04h 13\n", + " 152r 5.8010352e+08 4.94e-03 3.20e-01 -2.6 1.03e-05 - 1.00e+00 5.00e-01h 2\n", + " 153r 5.8010352e+08 4.94e-03 1.89e-01 -2.6 6.26e-06 - 1.00e+00 5.00e-01h 2\n", + " 154r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 4.60e-06 - 1.00e+00 5.00e-01h 2\n", + " 155r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 2.44e-04h 13\n", + " 156r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.81e-06h 19\n", + " 157r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 0.00e+00 4.77e-07R 22\n", + " 158r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 9.54e-07h 21\n", + " 159r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 4.77e-07h 22\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 160r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.73e-09h 29\n", + " 161r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 1.49e-08h 27\n", + " 162r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 9.31e-10h 31\n", + " 163r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.73e-09h 29\n", + " 164r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 9.31e-10h 31\n", + " 165r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 2.33e-10h 33\n", + " 166r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 5.82e-11h 35\n", + " 167r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 168r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 9.65e-06 - 1.00e+00 1.00e+00w 1\n", + " 169r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.84e-05 - 1.00e+00 1.00e+00w 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 170r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.81e-05 - 1.00e+00 1.00e+00w 1\n", + " 171r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 1.81e-05 - 1.00e+00 3.64e-12h 38\n", + " 172r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 173r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 174r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 175r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 176r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 177r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 178r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 179r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 180r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 181r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 9.65e-06 - 1.00e+00 1.00e+00w 1\n", + " 182r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.84e-05 - 1.00e+00 1.00e+00w 1\n", + " 183r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.81e-05 - 1.00e+00 1.00e+00w 1\n", + " 184r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 1.81e-05 - 1.00e+00 3.64e-12h 38\n", + " 185r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 186r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 187r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 188r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 189r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 190r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 191r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 192r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 193r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 194r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 9.65e-06 - 1.00e+00 1.00e+00w 1\n", + " 195r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.84e-05 - 1.00e+00 1.00e+00w 1\n", + " 196r 5.8010352e+08 4.94e-03 1.14e+00 -2.6 1.81e-05 - 1.00e+00 1.00e+00w 1\n", + " 197r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 1.81e-05 - 1.00e+00 3.64e-12h 38\n", + " 198r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + " 199r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 200r 5.8010352e+08 4.94e-03 1.25e-01 -2.6 9.65e-06 - 1.00e+00 3.64e-12h 39\n", + "\n", + "Number of Iterations....: 200\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.8010351742945364e+04 5.8010351742945361e+08\n", + "Dual infeasibility......: 9.9990217524770770e+01 9.9990217524770775e+05\n", + "Constraint violation....: 4.9430072617325793e-03 4.9430072617325793e-03\n", + "Complementarity.........: 2.5449832034452331e-03 2.5449832034452331e+01\n", + "Overall NLP error.......: 9.9990217524770770e+01 9.9990217524770775e+05\n", + "\n", + "\n", + "Number of objective function evaluations = 1633\n", + "Number of objective gradient evaluations = 72\n", + "Number of equality constraint evaluations = 1634\n", + "Number of inequality constraint evaluations = 1634\n", + "Number of equality constraint Jacobian evaluations = 203\n", + "Number of inequality constraint Jacobian evaluations = 203\n", + "Number of Lagrangian Hessian evaluations = 200\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 8.248\n", + "Total CPU secs in NLP function evaluations = 397.194\n", + "\n", + "EXIT: Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:pyomo.core:Loading a SolverResults object with a warning status into model.name=\"unknown\";\n", + " - termination condition: maxIterations\n", + " - message from solver: Ipopt 3.13.2\\x3a Maximum Number of Iterations Exceeded.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 455\n", + "Realized SOC (MPC) 1372762\n", + "Fixed costs: 65589.81\n", + "Variable costs: 45613.93\n", + "\n", + "Number on/offs: 4\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 86.39\n", + "\n", + "Simulating time_step 2020-07-11 21:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15988\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6072\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.8010352e+08 2.32e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.7607845e+08 2.30e+05 4.14e+01 -1.0 1.44e+06 - 6.50e-01 8.99e-03f 1\n", + " 2 5.7610262e+08 2.24e+05 3.86e+01 -1.0 4.82e+06 - 2.13e-02 2.54e-02h 1\n", + " 3 5.7662869e+08 1.96e+05 8.87e+01 -1.0 1.40e+06 - 2.04e-02 1.24e-01h 1\n", + " 4 5.7918151e+08 7.30e+04 2.28e+02 -1.0 1.23e+06 - 1.31e-01 6.28e-01h 1\n", + " 5 5.8045742e+08 1.31e+04 3.72e+01 -1.0 4.68e+05 - 8.83e-01 8.21e-01h 1\n", + " 6 5.7947745e+08 7.67e+03 2.19e+01 -1.0 1.92e+06 - 3.90e-01 4.14e-01h 1\n", + " 7 5.7945993e+08 7.62e+03 1.41e+02 -1.0 3.18e+06 - 5.65e-01 5.98e-03h 1\n", + " 8 5.7712641e+08 4.00e+03 8.04e+01 -1.0 7.24e+06 - 2.68e-01 4.75e-01f 1\n", + " 9 5.7475759e+08 5.08e+03 5.56e+01 -1.0 9.81e+06 - 5.19e-01 3.48e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.7473342e+08 5.07e+03 5.12e+01 -1.0 1.27e+07 - 7.15e-01 2.66e-03h 1\n", + " 11 5.7317684e+08 1.18e+04 7.16e+01 -1.0 7.41e+06 - 1.27e-01 1.00e+00f 1\n", + " 12 5.7223509e+08 1.02e+04 2.77e+01 -1.0 8.65e+06 - 9.21e-01 5.12e-01f 1\n", + " 13 5.6191770e+08 5.73e+05 2.21e+01 -1.0 1.01e+08 - 1.19e-01 4.96e-01f 1\n", + " 14 5.6180032e+08 5.70e+05 2.19e+01 -1.0 1.06e+08 - 3.61e-01 5.35e-03f 1\n", + " 15 5.5597036e+08 8.23e+05 2.16e+01 -1.0 1.56e+08 - 7.22e-01 2.53e-01f 1\n", + " 16 5.5587395e+08 8.21e+05 2.15e+01 -1.0 2.98e+08 - 1.22e-01 2.57e-03f 1\n", + " 17 5.5488295e+08 7.91e+05 4.01e+01 -1.0 3.14e+08 - 5.86e-01 3.66e-02f 1\n", + " 18 5.5484909e+08 7.82e+05 3.60e+01 -1.0 2.63e+07 - 1.61e-01 1.03e-02h 1\n", + " 19 5.5398449e+08 2.20e+06 1.45e+01 -1.0 3.17e+07 - 7.65e-01 3.07e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.5356152e+08 3.20e+06 1.35e+01 -1.0 9.59e+07 - 1.67e-01 7.17e-02f 1\n", + " 21 5.4955529e+08 4.19e+07 1.05e+01 -1.0 8.93e+07 - 5.93e-01 7.31e-01f 1\n", + " 22 5.4947484e+08 2.10e+07 6.43e+00 -1.0 4.73e+06 - 9.55e-01 5.10e-01h 1\n", + " 23 5.4947726e+08 1.81e+07 3.01e+04 -1.0 1.07e+05 -4.0 5.77e-02 1.35e-01h 1\n", + " 24 5.4947729e+08 1.81e+07 3.00e+04 -1.0 9.31e+04 -4.5 2.77e-01 1.59e-03h 1\n", + " 25 5.4947845e+08 1.74e+07 8.45e+04 -1.0 9.55e+04 -5.0 2.10e-01 3.60e-02h 1\n", + " 26 5.4950875e+08 5.67e+05 1.20e+05 -1.0 9.22e+04 -5.4 9.96e-01 9.56e-01h 1\n", + " 27 5.4950879e+08 5.47e+05 1.34e+05 -1.0 5.21e+03 -5.9 1.00e+00 3.57e-02h 1\n", + " 28 5.4950879e+08 5.47e+05 1.34e+05 -1.0 1.01e+04 -6.4 1.00e+00 3.74e-04h 1\n", + " 29 5.4951136e+08 5.36e+05 1.31e+05 -1.0 1.42e+06 -6.9 2.25e-02 1.97e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.4952804e+08 4.66e+05 1.13e+05 -1.0 1.39e+06 -7.3 2.76e-01 1.31e-01h 1\n", + " 31 5.4952863e+08 4.64e+05 1.13e+05 -1.0 1.20e+06 -7.8 2.10e-01 4.21e-03h 1\n", + " 32 5.4954952e+08 4.04e+05 9.99e+04 -1.0 1.19e+06 -8.3 1.00e+00 1.30e-01h 1\n", + " 33 5.4967730e+08 7.82e+04 1.07e+05 -1.0 1.03e+06 -8.8 3.39e-01 8.65e-01h 1\n", + " 34 5.4965999e+08 5.18e+04 7.14e+04 -1.0 1.17e+05 -9.2 1.00e+00 3.38e-01f 1\n", + " 35 5.4962015e+08 1.90e+02 1.75e+03 -1.0 9.02e+04 -9.7 1.00e+00 1.00e+00f 1\n", + " 36 5.4955848e+08 1.90e+02 1.72e+03 -1.0 8.16e+06 - 1.00e+00 1.68e-02f 1\n", + " 37 5.4952700e+08 4.28e+04 6.09e+00 -1.0 1.85e+06 - 1.00e+00 1.00e+00f 1\n", + " 38 5.4952714e+08 5.66e-01 1.82e-04 -1.0 2.77e+03 -10.2 1.00e+00 1.00e+00h 1\n", + " 39 5.4948712e+08 1.37e+01 2.31e+00 -2.5 3.21e+04 -10.7 1.00e+00 9.43e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.4948078e+08 1.73e+01 1.48e+00 -2.5 3.31e+04 -11.2 1.00e+00 8.08e-01h 1\n", + " 41 5.4947594e+08 2.37e+02 1.02e-02 -2.5 1.10e+05 -11.6 1.00e+00 1.00e+00f 1\n", + " 42 5.4947472e+08 2.17e+02 1.58e+00 -2.5 2.19e+05 -12.1 1.00e+00 1.99e-01h 1\n", + " 43 5.4947337e+08 1.65e+03 1.90e+00 -2.5 6.34e+05 -12.6 1.00e+00 3.71e-01h 1\n", + " 44 5.4947296e+08 1.65e+03 2.09e+00 -2.5 7.25e+05 -13.1 1.00e+00 1.05e-01h 1\n", + " 45 5.4947289e+08 1.05e+03 2.85e-02 -2.5 3.25e+05 -13.5 1.00e+00 1.00e+00h 1\n", + " 46 5.4947223e+08 1.12e+04 2.42e-03 -2.5 1.06e+06 -14.0 1.00e+00 1.00e+00h 1\n", + " 47 5.4946970e+08 1.81e+05 3.84e-02 -2.5 4.30e+06 -14.5 1.00e+00 1.00e+00h 1\n", + " 48 5.4944857e+08 9.05e+06 2.15e+00 -2.5 4.10e+07 -15.0 8.97e-01 7.88e-01h 1\n", + " 49 5.4944748e+08 8.79e+06 2.09e+00 -2.5 1.45e+07 -14.5 1.00e+00 2.86e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.4944435e+08 8.50e+06 2.04e+00 -2.5 4.92e+07 -15.0 1.00e+00 3.78e-02h 1\n", + " 51 5.4939723e+08 4.35e+07 7.40e+00 -2.5 5.14e+08 - 1.25e-01 1.03e-01h 1\n", + " 52 5.4939708e+08 4.33e+07 7.46e+00 -2.5 3.23e+07 - 1.00e+00 4.44e-03h 1\n", + " 53 5.4938712e+08 1.66e+06 8.03e-02 -2.5 2.44e+06 - 1.00e+00 1.00e+00h 1\n", + " 54 5.4938687e+08 1.99e+04 9.85e-06 -2.5 3.46e+04 - 1.00e+00 1.00e+00h 1\n", + " 55 5.4938687e+08 5.76e+00 2.83e-08 -2.5 1.09e+03 - 1.00e+00 1.00e+00h 1\n", + " 56 5.4938537e+08 3.86e+01 8.30e-05 -3.8 3.96e+04 - 1.00e+00 1.00e+00f 1\n", + " 57 5.4938537e+08 2.33e-02 1.50e-09 -3.8 9.81e+02 - 1.00e+00 1.00e+00h 1\n", + " 58 5.4938529e+08 1.08e-01 2.43e-07 -5.7 2.09e+03 - 1.00e+00 1.00e+00f 1\n", + " 59 5.4938528e+08 1.31e-05 3.32e-11 -8.6 2.30e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 59\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.4938528446219294e+04 5.4938528446219289e+08\n", + "Dual infeasibility......: 3.3187711164840185e-11 3.3187711164840185e-07\n", + "Constraint violation....: 3.7252902984619141e-09 1.3113021850585939e-05\n", + "Complementarity.........: 2.5241214338246992e-09 2.5241214338246991e-05\n", + "Overall NLP error.......: 3.7252902984619141e-09 2.5241214338246991e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 60\n", + "Number of objective gradient evaluations = 60\n", + "Number of equality constraint evaluations = 60\n", + "Number of inequality constraint evaluations = 60\n", + "Number of equality constraint Jacobian evaluations = 60\n", + "Number of inequality constraint Jacobian evaluations = 60\n", + "Number of Lagrangian Hessian evaluations = 59\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 4.125\n", + "Total CPU secs in NLP function evaluations = 78.435\n", + "\n", + "EXIT: Optimal Solution Found.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 455\n", + "Realized SOC (MPC) 1605927\n", + "Fixed costs: 65589.81\n", + "Variable costs: 39218.83\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 239.74\n", + "\n", + "Simulating time_step 2020-07-11 22:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15984\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6071\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.4958528e+08 2.33e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.4953278e+08 2.32e+05 9.93e+01 -1.0 2.33e+05 - 6.60e-03 2.92e-03h 1\n", + " 2 5.4953028e+08 2.31e+05 9.85e+01 -1.0 2.32e+05 - 8.17e-03 7.64e-03h 1\n", + " 3 5.4968023e+08 2.23e+05 9.58e+01 -1.0 2.31e+05 - 2.21e-02 3.14e-02h 1\n", + " 4 5.5119602e+08 1.75e+05 9.96e+01 -1.0 2.23e+05 - 8.78e-02 2.15e-01h 1\n", + " 5 5.5199428e+08 1.46e+05 6.26e+01 -1.0 1.75e+05 - 4.74e-01 1.65e-01h 1\n", + " 6 5.5586205e+08 1.45e+04 9.02e+00 -1.0 1.59e+05 - 8.34e-01 9.01e-01h 1\n", + " 7 5.5532349e+08 4.61e+03 3.51e+00 -1.0 8.61e+05 - 6.94e-01 6.82e-01h 1\n", + " 8 5.5437369e+08 3.43e+03 1.14e+02 -1.0 2.82e+06 - 5.42e-01 2.56e-01f 1\n", + " 9 5.5198332e+08 2.44e+03 8.21e+01 -1.0 6.10e+06 - 2.73e-01 2.87e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.5194945e+08 2.44e+03 9.74e+01 -1.0 8.36e+06 - 3.67e-01 3.79e-03h 1\n", + " 11 5.4851227e+08 6.86e+03 5.95e+01 -1.0 1.31e+07 - 4.55e-01 3.75e-01f 1\n", + " 12 5.4847727e+08 6.84e+03 6.75e+01 -1.0 1.52e+07 - 3.12e-01 3.22e-03f 1\n", + " 13 5.4769208e+08 2.99e+03 1.81e+01 -1.0 3.79e+06 - 8.17e-01 1.00e+00f 1\n", + " 14 5.4360615e+08 7.96e+04 1.76e+01 -1.0 1.97e+07 - 1.99e-01 9.83e-01f 1\n", + " 15 5.3840874e+08 1.33e+05 1.12e+01 -1.0 2.44e+07 - 7.58e-01 1.00e+00f 1\n", + " 16 5.3491418e+08 1.73e+05 9.75e+00 -1.0 9.24e+07 - 4.02e-01 1.79e-01f 1\n", + " 17 5.3483448e+08 1.73e+05 1.28e+01 -1.0 1.42e+08 - 9.63e-02 3.29e-03f 1\n", + " 18 5.2889742e+08 5.16e+05 1.19e+01 -1.0 1.55e+08 - 6.03e-01 2.60e-01f 1\n", + " 19 5.2880685e+08 5.15e+05 1.61e+01 -1.0 2.49e+08 - 1.53e-01 2.81e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.2803880e+08 4.98e+05 3.24e+01 -1.0 2.71e+08 - 4.24e-01 3.31e-02f 1\n", + " 21 5.2802394e+08 4.95e+05 2.60e+01 -1.0 1.60e+07 - 3.84e-01 6.21e-03h 1\n", + " 22 5.2617769e+08 9.24e+06 3.30e+00 -1.0 2.02e+07 - 8.31e-01 1.00e+00f 1\n", + " 23 5.2612074e+08 9.16e+06 2.80e+00 -1.0 6.99e+07 - 2.25e-01 9.67e-03h 1\n", + " 24 5.2295797e+08 3.49e+07 6.20e+00 -1.0 7.22e+07 - 6.54e-01 7.22e-01f 1\n", + " 25 5.2289808e+08 1.69e+07 4.19e+00 -1.0 4.52e+06 - 9.29e-01 5.23e-01h 1\n", + " 26 5.2290617e+08 1.21e+07 5.61e+04 -1.0 1.17e+05 -4.0 5.25e-02 2.84e-01h 1\n", + " 27 5.2290627e+08 1.20e+07 5.59e+04 -1.0 8.36e+04 -4.5 4.64e-01 4.09e-03h 1\n", + " 28 5.2292945e+08 2.36e+06 5.26e+04 -1.0 8.54e+04 -5.0 1.00e+00 7.92e-01h 1\n", + " 29 5.2292959e+08 2.31e+06 1.22e+05 -1.0 1.77e+04 -5.4 1.00e+00 2.30e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.2292959e+08 2.31e+06 1.28e+05 -1.0 1.75e+04 -5.9 1.00e+00 2.37e-04h 1\n", + " 31 5.2293207e+08 2.25e+06 1.25e+05 -1.0 1.24e+06 -6.4 1.46e-02 2.58e-02h 1\n", + " 32 5.2293949e+08 2.07e+06 1.19e+05 -1.0 1.21e+06 -6.9 2.02e-01 7.86e-02h 1\n", + " 33 5.2293978e+08 2.07e+06 1.21e+05 -1.0 1.13e+06 -7.3 1.50e-01 2.55e-03h 1\n", + " 34 5.2296018e+08 1.74e+06 9.80e+04 -1.0 1.13e+06 -7.8 5.76e-01 1.55e-01h 1\n", + " 35 5.2298601e+08 1.42e+06 8.07e+04 -1.0 9.63e+05 -8.3 3.13e-01 1.83e-01h 1\n", + " 36 5.2303317e+08 8.72e+05 5.65e+04 -1.0 7.96e+05 -8.8 1.00e+00 3.82e-01h 1\n", + " 37 5.2306316e+08 4.64e+05 4.14e+04 -1.0 5.04e+05 -9.2 1.00e+00 4.64e-01h 1\n", + " 38 5.2308397e+08 3.94e+03 2.11e+04 -1.0 2.78e+05 -9.7 1.00e+00 1.00e+00h 1\n", + " 39 5.2302602e+08 2.51e+03 1.35e+04 -1.0 2.27e+05 -10.2 1.00e+00 3.62e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 5.2297187e+08 1.88e+03 1.01e+04 -1.0 3.53e+05 -10.7 1.00e+00 2.51e-01f 1\n", + " 41 5.2296722e+08 1.15e+03 6.15e+03 -1.0 8.30e+04 -11.2 1.00e+00 3.90e-01f 1\n", + " 42 5.2297375e+08 5.82e+01 7.49e-01 -1.0 5.44e+04 -11.6 1.00e+00 1.00e+00f 1\n", + " 43 5.2292905e+08 1.27e+03 8.54e-03 -1.7 2.54e+05 -12.1 1.00e+00 1.00e+00f 1\n", + " 44 5.2292023e+08 2.97e+03 2.42e-01 -1.7 4.89e+05 -12.6 1.00e+00 7.50e-01h 1\n", + " 45 5.2291249e+08 7.56e+04 1.08e-01 -1.7 1.82e+06 -13.1 1.00e+00 1.00e+00h 1\n", + " 46 5.2288802e+08 4.68e+05 8.06e-02 -1.7 5.25e+06 -13.5 1.00e+00 8.58e-01h 1\n", + " 47 5.2288761e+08 3.52e+05 6.08e-01 -1.7 7.65e+05 -14.0 1.00e+00 2.48e-01h 1\n", + " 48 5.2288682e+08 5.99e+04 7.72e-02 -1.7 2.47e+06 -14.5 1.00e+00 1.00e+00h 1\n", + " 49 5.2287932e+08 4.09e+06 8.23e-01 -1.7 1.99e+07 -15.0 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 5.2286904e+08 1.75e+06 3.89e-01 -1.7 9.20e+06 -14.5 1.00e+00 6.25e-01h 1\n", + " 51 5.2286122e+08 3.43e+06 7.54e-01 -1.7 1.90e+08 - 2.99e-01 7.08e-02h 1\n", + " 52 5.2284290e+08 2.23e+07 3.01e+00 -1.7 1.23e+08 - 1.00e+00 2.68e-01h 1\n", + " 53 5.2284399e+08 5.69e+05 1.62e-02 -1.7 2.25e+06 - 1.00e+00 1.00e+00h 1\n", + " 54 5.2284317e+08 5.80e+04 4.55e-03 -1.7 1.64e+06 - 1.00e+00 1.00e+00h 1\n", + " 55 5.2284315e+08 1.93e+02 1.00e-05 -1.7 7.77e+04 - 1.00e+00 1.00e+00h 1\n", + " 56 5.2283321e+08 8.39e+03 1.20e+00 -3.8 6.83e+05 - 1.00e+00 8.55e-01f 1\n", + " 57 5.2283168e+08 7.43e-01 1.02e-05 -3.8 9.03e+03 - 1.00e+00 1.00e+00h 1\n", + " 58 5.2283159e+08 3.35e-01 4.19e-07 -5.7 3.69e+03 - 1.00e+00 1.00e+00h 1\n", + " 59 5.2283159e+08 1.43e-06 1.85e-11 -5.7 4.43e+00 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 5.2283159e+08 4.94e-05 6.35e-11 -8.6 4.54e+01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 60\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 5.2283159298637060e+04 5.2283159298637056e+08\n", + "Dual infeasibility......: 6.3521142815607326e-11 6.3521142815607326e-07\n", + "Constraint violation....: 7.2182044811360208e-09 4.9352645874023444e-05\n", + "Complementarity.........: 2.5228807332450792e-09 2.5228807332450790e-05\n", + "Overall NLP error.......: 7.2182044811360208e-09 4.9352645874023444e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 61\n", + "Number of objective gradient evaluations = 61\n", + "Number of equality constraint evaluations = 61\n", + "Number of inequality constraint evaluations = 61\n", + "Number of equality constraint Jacobian evaluations = 61\n", + "Number of inequality constraint Jacobian evaluations = 61\n", + "Number of Lagrangian Hessian evaluations = 60\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.745\n", + "Total CPU secs in NLP function evaluations = 68.562\n", + "\n", + "EXIT: Optimal Solution Found.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Implemented Power (MPC) 453\n", + "Realized SOC (MPC) 1936597\n", + "Fixed costs: 65589.81\n", + "Variable costs: 29547.85\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 387.30\n", + "\n", + "Simulating time_step 2020-07-11 23:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: max_iter=200\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 15980\n", + "Number of nonzeros in inequality constraint Jacobian.: 116\n", + "Number of nonzeros in Lagrangian Hessian.............: 4950\n", + "\n", + "Total number of variables............................: 6137\n", + " variables with only lower bounds: 20\n", + " variables with lower and upper bounds: 4997\n", + " variables with only upper bounds: 10\n", + "Total number of equality constraints.................: 6070\n", + "Total number of inequality constraints...............: 70\n", + " inequality constraints with only lower bounds: 10\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 60\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 5.2303159e+08 3.31e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 5.2296647e+08 3.29e+05 9.93e+01 -1.0 3.31e+05 - 1.18e-02 3.63e-03h 1\n", + " 2 5.2294099e+08 3.21e+05 9.32e+01 -1.0 3.29e+05 - 7.90e-01 2.52e-02h 1\n", + " 3 5.2610375e+08 6.71e+03 1.47e+02 -1.0 6.61e+05 - 3.19e-02 9.79e-01h 1\n", + " 4 5.2603466e+08 3.94e+03 1.11e+02 -1.0 3.30e+05 - 9.60e-01 4.13e-01h 1\n", + " 5 5.2243737e+08 6.80e+03 2.02e+02 -1.0 8.09e+06 - 2.98e-01 6.47e-01f 1\n", + " 6 5.2240101e+08 6.77e+03 1.43e+02 -1.0 1.01e+07 - 2.08e-01 5.13e-03h 1\n", + " 7 5.2209656e+08 4.84e+02 2.87e+01 -1.0 1.52e+06 - 7.36e-01 1.00e+00h 1\n", + " 8 5.2121884e+08 3.63e+03 5.63e+01 -1.0 5.34e+06 - 2.99e-01 7.64e-01f 1\n", + " 9 5.1949679e+08 1.41e+04 1.20e+01 -1.0 8.15e+06 - 6.83e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.1416728e+08 1.41e+05 3.21e+00 -1.0 2.55e+07 - 4.95e-01 1.00e+00f 1\n", + " 11 5.0889355e+08 2.09e+05 2.85e+00 -1.0 4.76e+07 - 6.17e-01 5.19e-01f 1\n", + " 12 5.0881801e+08 2.08e+05 3.07e+01 -1.0 1.13e+08 - 4.51e-01 3.53e-03f 1\n", + " 13 5.0313406e+08 5.30e+05 2.72e+01 -1.0 1.87e+08 - 4.67e-02 2.09e-01f 1\n", + " 14 5.0306397e+08 5.28e+05 2.23e+01 -1.0 1.61e+08 - 9.54e-01 2.96e-03f 1\n", + " 15 5.0223348e+08 5.15e+05 2.31e+01 -1.0 4.52e+08 - 3.00e-02 2.00e-02f 1\n", + " 16 5.0217692e+08 5.08e+05 1.60e+01 -1.0 7.04e+07 - 5.68e-01 1.10e-02h 1\n", + " 17 4.9773790e+08 4.51e+07 1.18e+01 -1.0 8.99e+07 - 6.62e-02 7.91e-01f 1\n", + " 18 4.9765274e+08 2.66e+07 7.87e+00 -1.0 3.97e+06 - 9.43e-01 4.21e-01h 1\n", + " 19 4.9749347e+08 2.67e+07 1.60e+00 -1.0 3.78e+07 - 7.62e-01 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 4.9749048e+08 2.17e+07 1.64e+00 -1.0 2.19e+07 - 1.00e+00 2.12e-01h 1\n", + " 21 4.9749328e+08 2.14e+07 3.08e+00 -1.0 1.37e+08 - 8.25e-02 3.44e-02h 1\n", + " 22 4.9749701e+08 2.13e+07 1.08e+01 -1.0 1.51e+08 - 3.28e-01 4.31e-02h 4\n", + " 23 4.9760536e+08 2.77e+06 8.89e-01 -1.0 1.79e+07 - 1.00e+00 1.00e+00h 1\n", + " 24 4.9759260e+08 4.23e+06 4.33e-01 -1.0 1.42e+07 - 1.00e+00 1.00e+00h 1\n", + " 25 4.9759205e+08 1.70e+05 3.25e-02 -1.0 3.74e+06 - 1.00e+00 1.00e+00h 1\n", + " 26 4.9759212e+08 4.25e+03 4.13e-04 -1.0 4.40e+05 - 1.00e+00 1.00e+00h 1\n", + " 27 4.9755232e+08 9.14e+05 8.18e+00 -1.7 1.02e+07 - 1.00e+00 7.55e-01f 1\n", + " 28 4.9754192e+08 4.29e+05 7.70e-02 -1.7 4.86e+06 - 1.00e+00 1.00e+00h 1\n", + " 29 4.9754203e+08 1.85e+04 1.88e-03 -1.7 9.29e+05 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 4.9754202e+08 1.72e+01 2.62e-06 -1.7 3.34e+04 - 1.00e+00 1.00e+00h 1\n", + " 31 4.9753169e+08 8.59e+04 7.93e-01 -3.8 2.58e+06 - 9.71e-01 8.75e-01f 1\n", + " 32 4.9753037e+08 1.90e+01 4.35e-05 -3.8 2.12e+04 - 1.00e+00 1.00e+00h 1\n", + " 33 4.9753037e+08 3.94e-03 1.50e-09 -3.8 4.63e+02 - 1.00e+00 1.00e+00h 1\n", + " 34 4.9753028e+08 3.30e+00 1.66e-06 -5.7 1.42e+04 - 1.00e+00 1.00e+00f 1\n", + " 35 4.9753028e+08 6.20e-06 1.84e-11 -5.7 1.88e+01 - 1.00e+00 1.00e+00h 1\n", + " 36 4.9753028e+08 5.05e-04 2.55e-10 -8.6 1.76e+02 - 1.00e+00 1.00e+00h 1\n", + " 37 4.9753028e+08 9.54e-07 1.42e-12 -8.6 2.88e-03 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 37\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 4.9753028108726918e+04 4.9753028108726913e+08\n", + "Dual infeasibility......: 1.4238393056976036e-12 1.4238393056976036e-08\n", + "Constraint violation....: 2.5611370801925659e-09 9.5367431640625000e-07\n", + "Complementarity.........: 2.5059436047460212e-09 2.5059436047460209e-05\n", + "Overall NLP error.......: 2.5611370801925659e-09 2.5059436047460209e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 43\n", + "Number of objective gradient evaluations = 38\n", + "Number of equality constraint evaluations = 43\n", + "Number of inequality constraint evaluations = 43\n", + "Number of equality constraint Jacobian evaluations = 38\n", + "Number of inequality constraint Jacobian evaluations = 38\n", + "Number of Lagrangian Hessian evaluations = 37\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 2.045\n", + "Total CPU secs in NLP function evaluations = 47.514\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Implemented Power (MPC) 449\n", + "Realized SOC (MPC) 1945233\n", + "Fixed costs: 55834.68\n", + "Variable costs: 34300.62\n", + "\n", + "Number on/offs: 2\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 205.26\n", + "\n", + "\n", + "Saving bidding results to disk...\n", + "\n", + "Saving tracking results to disk...\n", + "Simulation Complete\n", + "Total simulation time: 11204.20 seconds\n" + ] + } + ], + "source": [ + "Prescient().simulate(**options)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "732e3a69", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/integrated_storage_with_powerplant.ipynb b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/integrated_storage_with_powerplant.ipynb new file mode 100644 index 000000000..ca11bfa14 --- /dev/null +++ b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/integrated_storage_with_powerplant.ipynb @@ -0,0 +1,681 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "72b7a962", + "metadata": {}, + "source": [ + "## Integrated Model for an Ultra-supercritical Power Plant with Thermal Energy Storage System\n" + ] + }, + { + "cell_type": "markdown", + "id": "6c77fefe", + "metadata": {}, + "source": [ + "Author: Naresh Susarla (naresh.susarla@netl.doe.gov)" + ] + }, + { + "cell_type": "markdown", + "id": "314f5b8e", + "metadata": {}, + "source": [ + "This notebook presents an integrated model for the ultra-supercritical power plant with the thermal energy storage (TES) system. The design of TES system and its optimal integration with the ultra-supercritical power plant are studied separately. The optimal solution obtained from the design model is used to develop the integrated model presented in this tutorial. For further details on the ultra-supercritical power plant model and the design of TES system, readers are welcomed to refer to other Jupyter Notebook tutorials included in this repository to specifically describe those problems.\n", + "\n", + "In this notebook, the components for TES implementation are the following: (1) Storage fluid: Solar salt, (2) steam source during charge: HP steam, (3) condensate recycle: Boiler Feed Pump, and (4) condensate source during discharge: Boiler Feed Pump. An overview of the integrated plant flowsheet is shown in the following process flow diagram." + ] + }, + { + "attachments": { + "integrated_ultra_supercritical_powerplant.png": { + "image/png": "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" + } + }, + "cell_type": "markdown", + "id": "5b335126", + "metadata": {}, + "source": [ + "
\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "b1ddeb0d", + "metadata": {}, + "source": [ + "Note that in this model, both the charge and discharge heat exchangers are included in the same flowsheet.\n", + "The integrated model is also constructed using the unit models from the power generation unit model library in addition to the IAPWS property package for steam and water, and the Solar salt property package in the storage heat exchangers. The unit models used are shown in the table below: \n", + "\n", + "| Unit Model | Units in Flowsheet |\n", + "| :--- | :---- |\n", + "|`HelmTurbineStage` | Turbines (`T_1` to `T_11`) and `BFPT` |\n", + "|`HelmSplitter` | Turbine Splitters |\n", + "|`Heater` | Boiler Components (`Boiler`, `RH_1`, and `RH_2`) |\n", + "|`HelmMixer` | Mixers (`CM` and `DA`) |\n", + "|`HelmIsentropicCompresssor` | Pumps (`CP`, `BP`, `BFWP`, and `SP`) |\n", + "|`HeatExchanger` | Condenser, Feed Water Heaters (`FWH_1` to `FWH_9`), |\n", + "| |and Storage Systems (`HXC` and `HXD`) |" + ] + }, + { + "cell_type": "markdown", + "id": "c1db1872", + "metadata": {}, + "source": [ + "The integrated ultra-supercritical power plant model has a total of 4 degrees of freedom, listed below:\n", + "\n", + "1) Boiler feed water flow (`boiler.inlet.flow_mol`),\n", + "\n", + "2) Steam flow to charge heat exchanger (`HXC.inlet_1.flow_mol`)\n", + "\n", + "3) Condensate flow to discharge heat exchanger (`HXD.inlet_2.flow_mol`),\n", + "\n", + "4) Cooler enthalpy at outlet (`cooler.outlet.enth_mol`)" + ] + }, + { + "cell_type": "markdown", + "id": "09b3321b", + "metadata": {}, + "source": [ + "To describe the process, first import flowsheet module. The detailed model can be accessed from the Dispatches repository, `integrated_storage_with_ultrasupercritical_power_plant.py`. " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ca943556", + "metadata": {}, + "outputs": [], + "source": [ + "from dispatches.models.fossil_case.ultra_supercritical_plant import (ultra_supercritical_powerplant as usc)\n", + "import integrated_storage_with_ultrasupercritical_power_plant as isp\n", + "from idaes.core.solvers import get_solver" + ] + }, + { + "cell_type": "markdown", + "id": "8536bbdb", + "metadata": {}, + "source": [ + "The integrated model (`isp`) first imports the ultra-supercritical power plant model and then adds all the unit models required for the integration of a TES system (`create_integrated_model`). These unit models are connected using Arcs (`_create_arcs`). Further flowsheet constraints (`_make_constraints`) are added to the model along with model inputs (`set_model_input`), bounds (`add_bounds`) and scaling factors (`set_scaling_factors`) to all variables in the flowsheets. " + ] + }, + { + "cell_type": "markdown", + "id": "9ede6cd5", + "metadata": {}, + "source": [ + "The important variables and constraints are described below along with the methods to construct them in the model. Also, note that it is assumed that the power plant alone can produce a maximum power of 436 MW." + ] + }, + { + "cell_type": "markdown", + "id": "4cf58bdb", + "metadata": {}, + "source": [ + "### Notable Variables\n", + "\n", + "|Variable Name |Description |\n", + "|:--- |:---- |\n", + "|`PlantPowerOut` |Power out from the power pant in MW |\n", + "|`Revenue` |Revenue in $ per hour |\n", + "|`SaltInventory` |Total solar salt inventor y in kg |\n", + "|`HotSaltInventory` |Hot solar salt inventory in kg |\n" + ] + }, + { + "cell_type": "markdown", + "id": "3712f880", + "metadata": {}, + "source": [ + "### Notable Constraints\n", + "\n", + "1) The net power is given by the sum of the power produced by the storage system and the plant as shown in the following equation:\n", + "\n", + "$$\n", + " NetPower = PlantPowerOut + ST.mechanical_{work}\n", + "$$\n", + "\n", + "2) The revenue is calculated by considering the given electricity price `lmp_signal` and the amount of net power `NetPower` produced by the plant and the storage system. This is shown in the equation below:\n", + "\n", + "$$\n", + " Revenue = lmp_{signal} * NetPower\n", + "$$\n", + "\n", + "3) The salt inventory `SaltInventory` is given by the hot salt and total salt material balances, the latter involving a fixed amount of salt `total_salt`. The material balances are shown in the following equations:\n", + "\n", + "$$\n", + " HotSaltInventory = HotSaltInventory + F^{charge}_{salt, outlet} - F^{discharge}_{salt, inlet}\n", + "$$\n", + "$$\n", + " total_salt = HotSaltInventory + ColdSaltInventory\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "36d528d8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-06-28 15:58:08 [INFO] idaes.init.fs.boiler.control_volume: Initialization Complete\n", + "2022-06-28 15:58:08 [INFO] idaes.init.fs.boiler: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:08 [INFO] idaes.init.fs.turbine_splitter[1]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:09 [INFO] idaes.init.fs.turbine_splitter[2]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:09 [INFO] idaes.init.fs.reheater[1].control_volume: Initialization Complete\n", + "2022-06-28 15:58:09 [INFO] idaes.init.fs.reheater[1]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:09 [INFO] idaes.init.fs.turbine_splitter[3]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:09 [INFO] idaes.init.fs.turbine_splitter[4]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:09 [INFO] idaes.init.fs.reheater[2].control_volume: Initialization Complete\n", + "2022-06-28 15:58:09 [INFO] idaes.init.fs.reheater[2]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:09 [INFO] idaes.init.fs.turbine_splitter[5]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:09 [INFO] idaes.init.fs.turbine_splitter[6]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:10 [INFO] idaes.init.fs.turbine_splitter[7]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:10 [INFO] idaes.init.fs.turbine_splitter[8]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:10 [INFO] idaes.init.fs.turbine_splitter[9]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:10 [INFO] idaes.init.fs.turbine_splitter[10]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:10 [INFO] idaes.init.fs.condenser_mix: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:10 [INFO] idaes.init.fs.condenser.control_volume: Initialization Complete\n", + "2022-06-28 15:58:10 [INFO] idaes.init.fs.condenser: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh_mixer[1]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh[1].shell: Initialization Complete\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh[1].tube: Initialization Complete\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh[1]: Initialization Completed, optimal - Optimal Solution Found\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh_mixer[2]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh[2].shell: Initialization Complete\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh[2].tube: Initialization Complete\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh[2]: Initialization Completed, optimal - Optimal Solution Found\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh_mixer[3]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh[3].shell: Initialization Complete\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh[3].tube: Initialization Complete\n", + "2022-06-28 15:58:11 [INFO] idaes.init.fs.fwh[3]: Initialization Completed, optimal - Optimal Solution Found\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.fwh_mixer[4]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.fwh[4].shell: Initialization Complete\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.fwh[4].tube: Initialization Complete\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.fwh[4]: Initialization Completed, optimal - Optimal Solution Found\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.fwh[5].shell: Initialization Complete\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.fwh[5].tube: Initialization Complete\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.fwh[5]: Initialization Completed, optimal - Optimal Solution Found\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.deaerator: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.fwh_mixer[6]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.fwh[6].shell: Initialization Complete\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.fwh[6].tube: Initialization Complete\n", + "2022-06-28 15:58:12 [INFO] idaes.init.fs.fwh[6]: Initialization Completed, optimal - Optimal Solution Found\n", + "2022-06-28 15:58:13 [INFO] idaes.init.fs.fwh_mixer[7]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:13 [INFO] idaes.init.fs.fwh[7].shell: Initialization Complete\n", + "2022-06-28 15:58:13 [INFO] idaes.init.fs.fwh[7].tube: Initialization Complete\n", + "2022-06-28 15:58:13 [INFO] idaes.init.fs.fwh[7]: Initialization Completed, optimal - Optimal Solution Found\n", + "2022-06-28 15:58:13 [INFO] idaes.init.fs.fwh_mixer[8]: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:13 [INFO] idaes.init.fs.fwh[8].shell: Initialization Complete\n", + "2022-06-28 15:58:13 [INFO] idaes.init.fs.fwh[8].tube: Initialization Complete\n", + "2022-06-28 15:58:13 [INFO] idaes.init.fs.fwh[8]: Initialization Completed, optimal - Optimal Solution Found\n", + "2022-06-28 15:58:13 [INFO] idaes.init.fs.fwh[9].shell: Initialization Complete\n", + "2022-06-28 15:58:13 [INFO] idaes.init.fs.fwh[9].tube: Initialization Complete\n", + "2022-06-28 15:58:13 [INFO] idaes.init.fs.fwh[9]: Initialization Completed, optimal - Optimal Solution Found\n", + "Model Initialization = optimal\n", + "******************* USC Model Initialized ********************\n", + "2022-06-28 15:58:16 [INFO] idaes.init.fs.ess_hp_split: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:16 [INFO] idaes.init.fs.hxc.shell: Initialization Complete\n", + "2022-06-28 15:58:16 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: fs.hxc.tube.properties_in Initialisation Step 1 Complete.\n", + "2022-06-28 15:58:16 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: Initialization Step 1 Complete.\n", + "2022-06-28 15:58:16 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: fs.hxc.tube.properties_out Initialisation Step 1 Complete.\n", + "2022-06-28 15:58:16 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: Initialization Step 1 Complete.\n", + "2022-06-28 15:58:16 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: State Released.\n", + "2022-06-28 15:58:16 [INFO] idaes.init.fs.hxc.tube: Initialization Complete\n", + "2022-06-28 15:58:17 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: State Released.\n", + "2022-06-28 15:58:17 [INFO] idaes.init.fs.hxc: Initialization Completed, optimal - Optimal Solution Found\n", + "2022-06-28 15:58:17 [INFO] idaes.init.fs.cooler.control_volume: Initialization Complete\n", + "2022-06-28 15:58:17 [INFO] idaes.init.fs.cooler: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:17 [INFO] idaes.init.fs.hx_pump.control_volume: Initialization Complete\n", + "2022-06-28 15:58:17 [INFO] idaes.init.fs.hx_pump: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:17 [INFO] idaes.init.fs.ess_bfp_split: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:17 [INFO] idaes.init.fs.recycle_mixer: Initialization Complete: optimal - Optimal Solution Found\n", + "2022-06-28 15:58:17 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: fs.hxd.shell.properties_in Initialisation Step 1 Complete.\n", + "2022-06-28 15:58:17 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: Initialization Step 1 Complete.\n", + "2022-06-28 15:58:18 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: fs.hxd.shell.properties_out Initialisation Step 1 Complete.\n", + "2022-06-28 15:58:18 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: Initialization Step 1 Complete.\n", + "2022-06-28 15:58:18 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: State Released.\n", + "2022-06-28 15:58:18 [INFO] idaes.init.fs.hxd.shell: Initialization Complete\n", + "2022-06-28 15:58:18 [INFO] idaes.init.fs.hxd.tube: Initialization Complete\n", + "2022-06-28 15:58:18 [INFO] idaes.init.dispatches.models.fossil_case.properties.solarsalt_properties: State Released.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-06-28 15:58:18 [INFO] idaes.init.fs.hxd: Initialization Completed, optimal - Optimal Solution Found\n", + "Integrated Model Initialization = optimal\n", + "*************** Integrated Model Initialized ***************\n", + "Cost Initialization = optimal\n", + "******************** Costing Initialized *************************\n", + "\n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Build the ultra-supercritical power plant model and initialize\n", + "max_power = 436\n", + "\n", + "m = usc.build_plant_model()\n", + "usc.initialize(m)\n", + "\n", + "# Create the integrated flowsheet, add properties, unit models, and arcs\n", + "m = isp.create_integrated_model(m, max_power=max_power)\n", + "\n", + "# Give all the required inputs to the model\n", + "isp.set_model_input(m)\n", + "\n", + "# Add scaling factor\n", + "isp.set_scaling_factors(m)\n", + "\n", + "# Initialize the model with a sequential initialization and custom\n", + "# routines\n", + "isp.initialize(m)\n", + "\n", + "# Add cost correlations\n", + "m = isp.build_costing(m)\n", + "\n", + "# Initialize with bounds\n", + "isp.initialize_with_costing(m)\n", + "\n", + "# Add bounds\n", + "isp.add_bounds(m)" + ] + }, + { + "cell_type": "markdown", + "id": "1c6078ed", + "metadata": {}, + "source": [ + "Next, set up the model inputs, fix the degress of freedom, and solve the model using the `model_analysis` method for an initial empty Solar salt tank scenario." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "8c42b250", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "max_iter=150\n", + "linear_solver=ma27\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 1595\n", + "Number of nonzeros in inequality constraint Jacobian.: 8\n", + "Number of nonzeros in Lagrangian Hessian.............: 503\n", + "\n", + "Total number of variables............................: 611\n", + " variables with only lower bounds: 0\n", + " variables with lower and upper bounds: 499\n", + " variables with only upper bounds: 1\n", + "Total number of equality constraints.................: 605\n", + "Total number of inequality constraints...............: 7\n", + " inequality constraints with only lower bounds: 2\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 5\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 1.1204060e+00 2.83e+08 1.00e+00 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 1.1207661e+00 2.82e+08 8.78e+00 -1.0 3.09e+06 - 1.98e-02 2.23e-03h 1\n", + " 2 1.1224973e+00 2.82e+08 5.67e+01 -1.0 3.24e+07 - 1.31e-02 2.19e-03h 1\n", + " 3 1.1347610e+00 2.77e+08 6.83e+02 -1.0 3.28e+07 - 1.60e-01 1.53e-02h 1\n", + " 4 1.9901656e+00 2.96e+08 2.20e+05 -1.0 3.34e+07 - 2.19e-02 1.00e+00h 1\n", + " 5 2.0841051e+00 2.57e+08 1.91e+05 -1.0 3.57e+07 - 6.61e-01 1.34e-01h 1\n", + " 6 2.0843658e+00 2.57e+08 1.73e+06 -1.0 3.09e+07 -4.0 5.72e-02 1.87e-04h 1\n", + " 7 2.2789487e+00 2.21e+08 2.58e+06 -1.0 3.09e+07 -4.5 2.70e-01 1.40e-01h 1\n", + " 8 3.2045263e+00 4.22e+07 3.04e+06 -1.0 2.66e+07 -5.0 5.96e-02 7.65e-01h 1\n", + " 9 3.3039281e+00 2.03e+06 9.06e+06 -1.0 6.24e+06 -5.4 4.40e-02 8.57e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.2569455e+00 2.40e+04 3.63e+06 -1.0 8.91e+05 -5.9 3.50e-02 1.00e+00h 1\n", + " 11 3.2558914e+00 3.19e-01 3.66e+04 -1.0 4.80e+03 -6.4 9.90e-01 1.00e+00h 1\n", + " 12 3.2536204e+00 6.54e+01 4.17e+02 -1.0 5.99e+04 - 9.89e-01 1.00e+00f 1\n", + " 13 2.9463217e+00 1.45e+05 2.51e+01 -1.0 2.33e+06 - 9.40e-01 1.00e+00f 1\n", + " 14 1.0171245e+00 6.16e+06 1.29e+01 -1.0 2.42e+07 - 4.86e-01 7.29e-01f 1\n", + " 15 1.0149567e+00 5.99e+06 4.23e+01 -1.0 8.34e+05 -6.9 4.24e-02 3.19e-02h 1\n", + " 16 1.0149268e+00 5.98e+06 4.22e+01 -1.0 6.28e+05 -7.3 3.15e-03 2.53e-04h 1\n", + " 17 1.0148377e+00 5.97e+06 4.37e+01 -1.0 1.07e+06 -7.8 1.24e-01 2.68e-03h 1\n", + " 18 9.8197869e-01 2.76e+06 1.59e+04 -1.0 1.06e+06 -8.3 4.43e-03 1.00e+00f 1\n", + " 19 9.5530740e-01 3.46e+05 1.59e+03 -1.0 1.54e+05 -8.8 9.90e-01 8.19e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 9.4910890e-01 5.21e+03 7.71e+01 -1.0 2.81e+04 -9.2 1.00e+00 1.00e+00f 1\n", + " 21 9.4853133e-01 2.35e+00 3.24e-02 -1.0 5.10e+03 -9.7 1.00e+00 1.00e+00f 1\n", + " 22 -1.6284490e+00 2.92e+06 5.01e+00 -2.5 2.67e+08 - 3.63e-01 1.01e-01f 1\n", + " 23 -3.2202779e+00 5.85e+06 7.80e+00 -2.5 8.80e+07 - 6.58e-01 2.11e-01h 1\n", + " 24 -5.1406299e+00 3.34e+06 4.16e+00 -2.5 4.21e+07 - 8.31e-01 8.53e-01h 1\n", + " 25 -5.1145904e+00 8.79e+05 2.49e-01 -2.5 1.11e+06 - 9.34e-01 9.44e-01h 1\n", + " 26 -5.1165908e+00 7.90e+05 6.73e-01 -2.5 3.36e+05 - 7.16e-01 1.03e-01h 1\n", + " 27 -5.1309775e+00 4.79e+05 2.66e-01 -2.5 6.77e+05 - 7.84e-02 4.09e-01h 1\n", + " 28 -5.1363847e+00 3.84e+05 5.35e-01 -2.5 1.98e+05 - 3.25e-02 1.95e-01h 1\n", + " 29 -5.1359045e+00 3.68e+05 4.93e-01 -2.5 8.87e+04 -9.3 4.99e-03 4.11e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -5.1236928e+00 3.54e+05 4.56e-01 -2.5 1.86e+06 - 1.05e-01 3.75e-02h 3\n", + " 31 -5.1317184e+00 2.54e+05 3.53e-01 -2.5 3.28e+05 - 2.66e-01 2.91e-01h 1\n", + " 32 -5.1398679e+00 1.29e+05 1.15e+00 -2.5 2.31e+05 - 6.82e-03 5.44e-01h 1\n", + " 33 -5.1406439e+00 9.50e+03 8.66e-01 -2.5 1.12e+05 - 7.36e-01 1.00e+00H 1\n", + " 34 -5.1446582e+00 2.80e+04 5.00e-01 -2.5 3.11e+05 - 6.87e-01 5.95e-01h 1\n", + " 35 -5.1403844e+00 2.03e+04 3.15e-01 -2.5 1.90e+05 - 4.79e-01 5.00e-01h 2\n", + " 36 -5.1275151e+00 9.12e+03 1.81e-01 -2.5 3.10e+05 - 9.68e-01 1.00e+00h 1\n", + " 37 -5.1119901e+00 1.45e+04 6.19e-03 -2.5 3.47e+05 - 1.00e+00 1.00e+00H 1\n", + " 38 -5.1128670e+00 1.57e+03 5.31e-04 -2.5 5.55e+04 - 1.00e+00 1.00e+00h 1\n", + " 39 -5.1130838e+00 7.81e+01 4.89e-04 -2.5 1.75e+04 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -5.1130580e+00 1.18e-01 4.89e-04 -2.5 8.49e+02 - 1.00e+00 1.00e+00h 1\n", + " 41 -5.1667338e+00 2.51e+04 1.04e-01 -3.8 8.19e+05 - 8.85e-01 1.00e+00f 1\n", + " 42 -5.1677924e+00 5.55e+02 2.31e-05 -3.8 1.96e+04 - 1.00e+00 1.00e+00h 1\n", + " 43 -5.1678080e+00 2.49e-01 4.57e-04 -3.8 2.84e+02 - 1.00e+00 1.00e+00h 1\n", + " 44 -5.1709188e+00 1.95e+02 4.56e-04 -5.7 4.56e+04 - 9.92e-01 1.00e+00h 1\n", + " 45 -5.1709220e+00 1.96e-01 7.29e-05 -5.7 1.91e+01 -9.8 1.00e+00 1.00e+00h 1\n", + " 46 -5.1709241e+00 1.08e-03 1.42e-07 -5.7 8.69e+01 - 1.00e+00 1.00e+00h 1\n", + " 47 -5.1709605e+00 7.83e-01 8.55e-07 -7.0 5.39e+02 - 1.00e+00 1.00e+00h 1\n", + " 48 -5.1709605e+00 2.63e-03 1.73e-04 -7.0 5.38e+01 - 1.00e+00 1.00e+00H 1\n", + " 49 -5.1709605e+00 5.44e-06 4.56e-04 -7.0 5.99e+00 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -5.1709605e+00 7.96e-08 4.56e-04 -7.0 2.19e+01 - 1.00e+00 1.00e+00H 1\n", + " 51 -5.1709605e+00 9.19e-08 4.03e-05 -7.0 1.61e-01 - 1.00e+00 1.00e+00h 1\n", + " 52 -5.1709605e+00 4.47e-08 4.03e-05 -7.0 2.70e-06 - 1.00e+00 1.00e+00h 1\n", + " 53 -5.1709605e+00 4.47e-08 3.86e-05 -7.0 3.88e-06 - 1.00e+00 1.00e+00h 1\n", + " 54 -5.1709605e+00 2.98e-08 2.90e-05 -7.0 8.49e-07 - 1.00e+00 2.50e-01h 3\n", + " 55 -5.1709605e+00 1.19e-07 9.09e-13 -7.0 1.00e-06 - 1.00e+00 1.00e+00H 1\n", + "\n", + "Number of Iterations....: 55\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -5.1709604695437292e+00 -5.1709604695437292e+00\n", + "Dual infeasibility......: 9.0909224592650162e-13 9.0909224592650162e-13\n", + "Constraint violation....: 1.8626451492309570e-09 1.1920928955078125e-07\n", + "Complementarity.........: 9.0909092075492566e-08 9.0909092075492566e-08\n", + "Overall NLP error.......: 9.0909092075492566e-08 1.1920928955078125e-07\n", + "\n", + "\n", + "Number of objective function evaluations = 69\n", + "Number of objective gradient evaluations = 56\n", + "Number of equality constraint evaluations = 69\n", + "Number of inequality constraint evaluations = 69\n", + "Number of equality constraint Jacobian evaluations = 56\n", + "Number of inequality constraint Jacobian evaluations = 56\n", + "Number of Lagrangian Hessian evaluations = 55\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.582\n", + "Total CPU secs in NLP function evaluations = 8.814\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "================================\n", + "\n", + "\n", + "***************** Optimization Results ******************\n", + "Revenue ($/h): 9627.765289\n", + "Storage Capital Cost ($/h): 46.535959\n", + "Fuel Cost ($/h): 7388.289769\n", + "Hot Previous Salt Inventory (kg): 75000.000000\n", + "Hot Salt Inventory (kg): 0.243754\n", + "Cold Previous Salt Inventory (kg): 6664292.000000\n", + "Cold Salt Inventory (kg): 6739291.756246\n", + "Salt Amount (kg): 6739292.000000\n", + "\n", + "\n", + "***************** Costing Results ******************\n", + "Obj (M$/year): 5.170960\n", + "Plant capital cost (M$/y): 63.043181\n", + "Plant fixed operating costs (M$/y): 0.470617\n", + "Plant variable operating costs (M$/y): 14.617427\n", + "Charge capital cost (M$/y): 0.407655\n", + "Charge Operating costs (M$/y): 64.721418\n", + "\n", + "\n", + "***************** Power Plant Operation ******************\n", + "\n", + "Net Power (MW): 437.625695\n", + "Plant Power (MW): 436.000002\n", + "ES turbine Power (MW): 1.625693\n", + "Boiler feed water flow (mol/s): 17889.191735\n", + "Boiler duty (MW_th): 919.470165\n", + "Cooling duty (MW_th): 0.000001\n", + "HXC heat duty (MW): 0.000027\n", + "HXD heat duty (MW): 10.009721\n", + "Makeup water flow: 239.921403\n", + "\n", + "\n", + "***************** Charge Heat Exchanger (HXC) ******************\n", + "\n", + "HXC area (m2): 24.707797\n", + "HXC Salt flow (kg/s): 0.000057\n", + "HXC Salt temperature in (K): 513.150000\n", + "HXC Salt temperature out (K): 831.000000\n", + "HXC Steam flow to storage (mol/s): 0.000633\n", + "HXC Water temperature in (K): 866.150000\n", + "HXC Steam temperature out (K): 551.419468\n", + "HXC Delta temperature at inlet (K): 35.150000\n", + "HXC Delta temperature at outlet (K): 38.269468\n", + "\n", + "\n", + "*************** Discharge Heat Exchanger (HXD) ****************\n", + "\n", + "HXD area (m2): 2204.883492\n", + "HXD Salt flow (kg/s): 20.833322\n", + "HXD Salt temperature in (K): 831.000000\n", + "HXD Salt temperature out (K): 513.150000\n", + "HXD Steam flow to storage (mol/s): 239.921403\n", + "HXD Water temperature in (K): 483.857199\n", + "HXD Steam temperature out (K): 826.099818\n", + "HXD Delta temperature at inlet (K): 4.900182\n", + "HXD Delta temperature at outlet (K): 29.292801\n", + "\n", + "\n", + "Solver details\n", + "\n", + "Problem: \n", + "- Lower bound: -inf\n", + " Upper bound: inf\n", + " Number of objectives: 1\n", + " Number of constraints: 612\n", + " Number of variables: 611\n", + " Sense: unknown\n", + "Solver: \n", + "- Status: ok\n", + " Message: Ipopt 3.13.2\\x3a Optimal Solution Found\n", + " Termination condition: optimal\n", + " Id: 0\n", + " Error rc: 0\n", + " Time: 9.571093559265137\n", + "Solution: \n", + "- number of solutions: 0\n", + " number of solutions displayed: 0\n", + "\n", + " \n", + "==============================================================\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "optarg = {\"max_iter\": 300}\n", + "solver = get_solver('ipopt', optarg)\n", + "\n", + "power_demand = 460\n", + "\n", + "# Tank scenarios: \"hot_empty\", \"hot_full\", \"hot_half_full\"\n", + "tank_scenario = \"hot_empty\"\n", + "\n", + "# If hot_empty is selected and fix_power is True\n", + "# then ensure that power_demand <= max_power\n", + "fix_power = False\n", + "\n", + "isp.model_analysis(m,\n", + " solver,\n", + " power=power_demand,\n", + " max_power=max_power,\n", + " tank_scenario=tank_scenario,\n", + " fix_power=fix_power)" + ] + }, + { + "cell_type": "markdown", + "id": "bf195370", + "metadata": {}, + "source": [ + "Print the charge and discharge heat exchangers report to see the results." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "e312881d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "====================================================================================\n", + "Unit : fs.hxc Time: 0.0\n", + "------------------------------------------------------------------------------------\n", + " Unit Performance\n", + "\n", + " Variables: \n", + "\n", + " Key : Value : Units : Fixed : Bounds\n", + " HX Area : 24.708 : meter ** 2 : False : (0, 6000)\n", + " HX Coefficient : 0.030095 : kilogram / kelvin / second ** 3 : False : (0, 10000)\n", + " Heat Duty : 27.281 : watt : False : (0, 200000000.0)\n", + "\n", + " Expressions: \n", + "\n", + " Key : Value : Units\n", + " Delta T Driving : 36.688 : kelvin\n", + " Delta T In : 35.150 : kelvin\n", + " Delta T Out : 38.269 : kelvin\n", + "\n", + "------------------------------------------------------------------------------------\n", + " Stream Table\n", + " Units Hot Inlet Hot Outlet Cold Inlet Cold Outlet\n", + " Molar Flow (mol/s) mole / second 0.00063260 0.00063260 - -\n", + " Mass Flow (kg/s) kilogram / second 1.1397e-05 1.1397e-05 - -\n", + " T (K) kelvin 866.15 551.42 - -\n", + " P (Pa) pascal 8.6047e+06 8.6047e+06 - -\n", + " Vapor Fraction dimensionless 1.0000 0.0000 - -\n", + " Molar Enthalpy (J/mol) Vap joule / mole 65223. 54612. - -\n", + " Molar Enthalpy (J/mol) Liq joule / mole 65223. 22099. - -\n", + " flow_mass kilogram / second - - 5.6779e-05 5.6779e-05\n", + " temperature kelvin - - 513.15 831\n", + " pressure pascal - - 101325 1.0132e+05\n", + "====================================================================================\n", + "\n", + "====================================================================================\n", + "Unit : fs.hxd Time: 0.0\n", + "------------------------------------------------------------------------------------\n", + " Unit Performance\n", + "\n", + " Variables: \n", + "\n", + " Key : Value : Units : Fixed : Bounds\n", + " HX Area : 2204.9 : meter ** 2 : False : (0, 6000)\n", + " HX Coefficient : 332.30 : kilogram / kelvin / second ** 3 : False : (0, 10000)\n", + " Heat Duty : 1.0010e+07 : watt : False : (0, 200000000.0)\n", + "\n", + " Expressions: \n", + "\n", + " Key : Value : Units\n", + " Delta T Driving : 13.662 : kelvin\n", + " Delta T In : 4.9002 : kelvin\n", + " Delta T Out : 29.293 : kelvin\n", + "\n", + "------------------------------------------------------------------------------------\n", + " Stream Table\n", + " Units Hot Inlet Hot Outlet Cold Inlet Cold Outlet\n", + " flow_mass kilogram / second 20.833 20.833 - -\n", + " temperature kelvin 831 513.15 - -\n", + " pressure pascal 101325 1.0132e+05 - -\n", + " Molar Flow (mol/s) mole / second - - 239.92 239.92\n", + " Mass Flow (kg/s) kilogram / second - - 4.3223 4.3223\n", + " T (K) kelvin - - 483.86 826.10\n", + " P (Pa) pascal - - 3.4958e+07 3.4958e+07\n", + " Vapor Fraction dimensionless - - 0.0000 0.0000\n", + " Molar Enthalpy (J/mol) Vap joule / mole - - 52205. 58189.\n", + " Molar Enthalpy (J/mol) Liq joule / mole - - 16468. 58189.\n", + "====================================================================================\n" + ] + } + ], + "source": [ + "m.fs.hxc.report()\n", + "m.fs.hxd.report()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/integrated_storage_with_ultrasupercritical_power_plant.py b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/integrated_storage_with_ultrasupercritical_power_plant.py index ed798b5d0..f0756f36c 100644 --- a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/integrated_storage_with_ultrasupercritical_power_plant.py +++ b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/integrated_storage_with_ultrasupercritical_power_plant.py @@ -665,11 +665,12 @@ def initialize(m, solver=None, """Initialize the units included in the flowsheet """ - optarg = { - "max_iter": 300, - "halt_on_ampl_error": "yes", - } - solver = get_solver(solver, optarg) + if solver is None: + optarg = { + "max_iter": 300, + "halt_on_ampl_error": "yes", + } + solver = get_solver(solver, optarg) # Include scaling factors iscale.calculate_scaling_factors(m) @@ -736,8 +737,7 @@ def initialize(m, solver=None, print("*************** Integrated Model Initialized ***************") -def build_costing(m, solver=None, - optarg={"tol": 1e-8, "max_iter": 300}): +def build_costing(m): """This method adds cost correlations for the storage design analysis and it is used to estimate the capital and operatig cost of integrating an energy storage system. It contains cost @@ -754,8 +754,6 @@ def build_costing(m, solver=None, # power plant. The cost correlations used here are taken from the # IDAES costing method. - if solver is None: - solver = get_solver('ipopt', optarg) ########################################################################### # Data # ########################################################################### @@ -911,7 +909,16 @@ def op_variable_plant_cost_rule(b): return m -def initialize_with_costing(m): +def initialize_with_costing(m, solver=None): + + # Create a solver object if it is not passed + if solver is None: + optarg = { + "max_iter": 300, + "halt_on_ampl_error": "yes", + } + solver = get_solver(solver, optarg) + # Initialize operating cost calculate_variable_from_constraint( m.fs.operating_cost, @@ -1304,6 +1311,15 @@ def model_analysis(m, solver, expr=m.fs.es_turbine.work[0] * (-1e-6) <= max_power_storage ) + # Add LMP signal value + m.fs.lmp = Var( + m.fs.time, + domain=Reals, + initialize=80, + doc="Hourly LMP in $/MWh" + ) + m.fs.lmp[0].fix(22) + # Fix boiler outlet pressure and storage heat exchangers area and # salt temperatures m.fs.boiler.outlet.pressure.fix(m.main_steam_pressure) @@ -1335,6 +1351,7 @@ def model_analysis(m, solver, # Add bounds to salt inventory inventory_max = 1e7 # Units in kg inventory_min = 75000 # Units in kg + tank_max = 6739292 # Units in kg # Add salt inventory mass balances m.fs.previous_salt_inventory_hot = Var( @@ -1354,14 +1371,14 @@ def model_analysis(m, solver, m.fs.previous_salt_inventory_cold = Var( m.fs.time, domain=NonNegativeReals, - initialize=inventory_max-inventory_min, + initialize=tank_max-inventory_min, bounds=(0, inventory_max), doc="Cold salt at the beginning of the time period in kg" ) m.fs.salt_inventory_cold = Var( m.fs.time, domain=NonNegativeReals, - initialize=inventory_max-inventory_min, + initialize=tank_max-inventory_min, bounds=(0, inventory_max), doc="Cold salt inventory at the end of the time period in kg" ) @@ -1395,7 +1412,6 @@ def constraint_salt_maxflow_cold(b): ) # Fix the previous salt inventory based on the tank scenario - tank_max = 6739291 # Units in kg if tank_scenario == "hot_empty": m.fs.previous_salt_inventory_hot[0].fix(inventory_min) m.fs.previous_salt_inventory_cold[0].fix(tank_max - inventory_min) @@ -1440,6 +1456,8 @@ def constraint_salt_maxflow_cold(b): ) print_results(m, results) + + return m if __name__ == "__main__": @@ -1460,15 +1478,6 @@ def constraint_salt_maxflow_cold(b): # Build integrated ultra-supercritical plant model m_isp = main(max_power=max_power) - # Add LMP signal value - m_isp.fs.lmp = Var( - m_isp.fs.time, - domain=Reals, - initialize=80, - doc="Hourly LMP in $/MWh" - ) - m_isp.fs.lmp[0].fix(22) - # Solve the optimization problem m = model_analysis(m_isp, solver, diff --git a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/multiperiod_double_loop_usc.py b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/multiperiod_double_loop_usc.py new file mode 100644 index 000000000..b3e5be38c --- /dev/null +++ b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/multiperiod_double_loop_usc.py @@ -0,0 +1,368 @@ +############################################################################## +# DISPATCHES was produced under the DOE Design Integration and Synthesis +# Platform to Advance Tightly Coupled Hybrid Energy Systems program (DISPATCHES), +# and is copyright (c) 2021 by the software owners: The Regents of the University +# of California, through Lawrence Berkeley National Laboratory, National +# Technology & Engineering Solutions of Sandia, LLC, Alliance for Sustainable +# Energy, LLC, Battelle Energy Alliance, LLC, University of Notre Dame du Lac, et +# al. All rights reserved. +# +# Please see the files COPYRIGHT.md and LICENSE.md for full copyright and license +# information, respectively. Both files are also available online at the URL: +# "https://github.com/gmlc-dispatches/dispatches". +# +############################################################################## + +""" +This script describes a multiperiod class to build an object for the +integrated ultra-supercritical power plant and motlen-salt based +thermal energy storage model. +""" + +__author__ = "Naresh Susarla" + +import pyomo.environ as pyo +import pandas as pd +from collections import deque +from dispatches.models.fossil_case.ultra_supercritical_plant \ + .storage.multiperiod_integrated_storage_usc import create_multiperiod_usc_model + + +class MultiPeriodUsc: + def __init__( + self, horizon=4, model_data=None + ): + """ + Arguments: + horizon::Int64 - number of time points to use for associated multi-period model + + Returns: + Float64: Value of power output in last time step + """ + self.horizon = horizon + self.multiperiod_usc = None + self.result_list = [] + self.result_listimp = [] + self.model_data = model_data + + def populate_model(self, b): + """ + Create a integrated ultra-supercritical power plant and molten salt + thermal energy storage model using the `MultiPeriod` package. + + Arguments: + blk: this is an empty block passed in from eithe a bidder or tracker + + Returns: + None + """ + tank_min = 76000 # in kg + tank_max = 6739292 # in kg + + blk = b + if not blk.is_constructed(): + blk.construct() + + multiperiod_usc = create_multiperiod_usc_model( + n_time_points=self.horizon, + pmin=self.model_data.p_min, pmax=self.model_data.p_max + ) + blk.usc_mp = multiperiod_usc + + active_blks = multiperiod_usc.get_active_process_blocks() + active_blks[0].usc_mp.previous_salt_inventory_hot.fix(tank_min) + active_blks[0].usc_mp.previous_salt_inventory_cold.fix(tank_max-tank_min) + active_blks[0].usc_mp.previous_power.fix(380) + + # create expression that references underlying power variables + blk.HOUR = pyo.Set(initialize=range(self.horizon)) + blk.P_T = pyo.Expression(blk.HOUR) + blk.tot_cost = pyo.Expression(blk.HOUR) + blk.hot_level = pyo.Expression(blk.HOUR) + blk.storage_power = pyo.Expression(blk.HOUR) + blk.plant_power = pyo.Expression(blk.HOUR) + blk.plant_duty = pyo.Expression(blk.HOUR) + blk.hxc_salt = pyo.Expression(blk.HOUR) + blk.hxc_duty = pyo.Expression(blk.HOUR) + blk.hxc_salt_Tin = pyo.Expression(blk.HOUR) + blk.hxc_salt_Tout = pyo.Expression(blk.HOUR) + blk.hxd_salt = pyo.Expression(blk.HOUR) + blk.hxd_duty = pyo.Expression(blk.HOUR) + blk.hxd_salt_Tin = pyo.Expression(blk.HOUR) + blk.hxd_salt_Tout = pyo.Expression(blk.HOUR) + blk.hxd_steam_Tout = pyo.Expression(blk.HOUR) + blk.hxd_steam_vfrac = pyo.Expression(blk.HOUR) + for (t, b) in enumerate(active_blks): + blk.P_T[t] = b.usc_mp.fs.net_power + blk.hot_level[t] = b.usc_mp.salt_inventory_hot + blk.storage_power[t] = ((-1e-6) + * b.usc_mp.fs.es_turbine.work_mechanical[0]) + blk.plant_duty[t] = b.usc_mp.fs.plant_heat_duty[0] + blk.tot_cost[t] = ( + b.usc_mp.fs.operating_cost + + (b.usc_mp.fs.plant_fixed_operating_cost + + b.usc_mp.fs.plant_variable_operating_cost) / (365 * 24) + ) + blk.plant_power[t] = b.usc_mp.fs.plant_power_out[0] + blk.hxc_salt[t] = b.usc_mp.fs.hxc.inlet_2.flow_mass[0] + blk.hxc_duty[t] = b.usc_mp.fs.hxc.heat_duty[0] + blk.hxc_salt_Tin[t] = b.usc_mp.fs.hxc.inlet_2.temperature[0] + blk.hxc_salt_Tout[t] = b.usc_mp.fs.hxc.outlet_2.temperature[0] + blk.hxd_salt[t] = b.usc_mp.fs.hxd.inlet_1.flow_mass[0] + blk.hxd_duty[t] = b.usc_mp.fs.hxd.heat_duty[0] + blk.hxd_salt_Tin[t] = b.usc_mp.fs.hxd.inlet_1.temperature[0] + blk.hxd_salt_Tout[t] = b.usc_mp.fs.hxd.outlet_1.temperature[0] + blk.hxd_steam_Tout[t] = b.usc_mp.fs.hxd.side_2.properties_out[0].temperature + blk.hxd_steam_vfrac[t] = b.usc_mp.fs.hxd.side_2.properties_out[0].vapor_frac + + + self.multiperiod_usc = multiperiod_usc + return + + def update_model(self, b, implemented_power_output, realized_soc): + + """ + Update `blk` variables using the actual implemented power output. + + Arguments: + blk: the block that needs to be updated + realized soc, i.e. the hot salt storage tank level: + implemented_power_output: + + Returns: + None + """ + blk = b + multiperiod_usc = blk.usc_mp + active_blks = multiperiod_usc.get_active_process_blocks() + + implemented_power = round(implemented_power_output[-1]) + realized_soc = round(realized_soc[-1]) + print("Implemented Power (MPC)", implemented_power) + print("Realized SOC (MPC)", realized_soc) + + active_blks[0].usc_mp.previous_power.fix(implemented_power) + active_blks[0].usc_mp.previous_salt_inventory_hot.fix(realized_soc) + + return + + @staticmethod + def get_last_delivered_power(b, last_implemented_time_step): + + """ + Returns the last delivered power output. + + Arguments: + blk: the block + last_implemented_time_step: time index for the last implemented time + step + + Returns: + Float64: Value of power output in last time step + """ + blk = b + return pyo.value(blk.P_T[last_implemented_time_step]) + + @staticmethod + def get_implemented_profile(b, last_implemented_time_step): + + """ + This method gets the implemented variable profiles in the last optimization solve. + + Arguments: + blk: a Pyomo block + last_implemented_time_step: time index for the last implemented time step + + Returns: + profile: the intended profile, {unit: [...]} + """ + blk = b + multiperiod_usc = blk.usc_mp + active_blks = multiperiod_usc.get_active_process_blocks() + implemented_power_output = deque( + [ + pyo.value(active_blks[t].usc_mp.fs.net_power) + for t in range(last_implemented_time_step + 1) + ] + ) + realized_soc = deque( + [ + pyo.value(active_blks[t].usc_mp.salt_inventory_hot) + for t in range(last_implemented_time_step + 1) + ] + ) + + return { + "implemented_power_output": implemented_power_output, + "realized_soc": realized_soc, + } + + def record_results(self, b, date=None, hour=None, **kwargs): + + """ + Record the operations stats for the model. + + Arguments: + blk: pyomo block + date: current simulation date + hour: current simulation hour + + Returns: + None + + """ + blk = b + df_list = [] + df_listimp = [] + for t in blk.HOUR: + result_dict = {} + result_implemented = {} + + result_dict["Date"] = date + result_dict["Hour"] = hour + + + # simulation inputs + result_dict["Horizon [hr]"] = int(t) + + # model vars + result_dict["Thermal Power Generated [MW]"] = float( + round(pyo.value(blk.P_T[t]), 2) + ) + result_dict["Total Cost [$]"] = float( + round(pyo.value(blk.tot_cost[t]), 2) + ) + result_dict["Hot Tank Level [MT]"] = float( + round(pyo.value(blk.hot_level[t]), 2) + ) + result_dict["Plant Heat Duty [MWth]"] = float( + round(pyo.value(blk.plant_duty[t]), 2) + ) + result_dict["Storage Power [MW]"] = float( + round(pyo.value(blk.storage_power[t]), 2) + ) + result_dict["Plant Power [MW]"] = float( + round(pyo.value(blk.plant_power[t]), 2) + ) + result_dict["HXC Duty"] = float( + round(pyo.value(blk.hxc_duty[t] * 1e-6), 2) + ) + result_dict["HXD Duty"] = float( + round(pyo.value(blk.hxd_duty[t] * 1e-6), 2) + ) + result_dict["HXC Salt Flow"] = float( + round(pyo.value(blk.hxc_salt[t]), 2) + ) + result_dict["HXD Salt Flow"] = float( + round(pyo.value(blk.hxd_salt[t]), 2) + ) + result_dict["HXC Salt T in"] = float( + round(pyo.value(blk.hxc_salt_Tin[t]), 2) + ) + result_dict["HXC Salt T out"] = float( + round(pyo.value(blk.hxc_salt_Tout[t]), 2) + ) + result_dict["HXD Salt T in"] = float( + round(pyo.value(blk.hxd_salt_Tin[t]), 2) + ) + result_dict["HXD Salt T out"] = float( + round(pyo.value(blk.hxd_salt_Tout[t]), 2) + ) + result_dict["HXD Steam T out"] = float( + round(pyo.value(blk.hxd_steam_Tout[t]), 2) + ) + result_dict["HXD Steam out Vfrac"] = float( + round(pyo.value(blk.hxd_steam_vfrac[t]), 2) + ) + + if t == 0: + # simulation inputs + result_implemented["Date"] = date + result_implemented["Hour"] = hour + result_implemented["Horizon [hr]"] = int(t) + + # model vars + result_implemented["Thermal Power Generated [MW]"] = float( + round(pyo.value(blk.P_T[t]), 2) + ) + result_implemented["Total Cost [$]"] = float( + round(pyo.value(blk.tot_cost[t]), 2) + ) + result_implemented["Hot Tank Level [MT]"] = float( + round(pyo.value(blk.hot_level[t]), 2) + ) + result_implemented["Plant Heat Duty [MWth]"] = float( + round(pyo.value(blk.plant_duty[t]), 2) + ) + result_implemented["Storage Power [MW]"] = float( + round(pyo.value(blk.storage_power[t]), 2) + ) + result_implemented["Plant Power [MW]"] = float( + round(pyo.value(blk.plant_power[t]), 2) + ) + result_implemented["HXC Duty"] = float( + round(pyo.value(blk.hxc_duty[t] * 1e-6), 2) + ) + result_implemented["HXD Duty"] = float( + round(pyo.value(blk.hxd_duty[t] * 1e-6), 2) + ) + result_implemented["HXC Salt Flow"] = float( + round(pyo.value(blk.hxc_salt[t]), 2) + ) + result_implemented["HXD Salt Flow"] = float( + round(pyo.value(blk.hxd_salt[t]), 2) + ) + result_implemented["HXC Salt T in"] = float( + round(pyo.value(blk.hxc_salt_Tin[t]), 2) + ) + result_implemented["HXC Salt T out"] = float( + round(pyo.value(blk.hxc_salt_Tout[t]), 2) + ) + result_implemented["HXD Salt T in"] = float( + round(pyo.value(blk.hxd_salt_Tin[t]), 2) + ) + result_implemented["HXD Salt T out"] = float( + round(pyo.value(blk.hxd_salt_Tout[t]), 2) + ) + result_implemented["HXD Steam T out"] = float( + round(pyo.value(blk.hxd_steam_Tout[t]), 2) + ) + result_implemented["HXD Steam out Vfrac"] = float( + round(pyo.value(blk.hxd_steam_vfrac[t]), 2) + ) + for key in kwargs: + result_dict[key] = kwargs[key] + result_implemented[key] = kwargs[key] + + result_df = pd.DataFrame.from_dict(result_dict, orient="index") + df_list.append(result_df.T) + result_df2 = pd.DataFrame.from_dict(result_implemented, orient="index") + df_listimp.append(result_df2.T) + + # append to result list + self.result_list.append(pd.concat(df_list)) + self.result_listimp.append(pd.concat(df_listimp)) + + return + + def write_results(self, path): + """ + Write the saved results to a csv file. + + Arguments: + path: the path to write the results. + + Return: + None + """ + + pd.concat(self.result_list).to_csv(path, index=False) + pd.concat(self.result_listimp).to_csv("tracking_results.csv") + + @property + def power_output(self): + return "P_T" + + @property + def total_cost(self): + return ("tot_cost", 1) diff --git a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/multiperiod_integrated_storage_usc.py b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/multiperiod_integrated_storage_usc.py index fdbe62a6b..e84cea767 100644 --- a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/multiperiod_integrated_storage_usc.py +++ b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/multiperiod_integrated_storage_usc.py @@ -25,12 +25,13 @@ __author__ = "Naresh Susarla and Soraya Rawlings" - +from pathlib import Path from pyomo.environ import (NonNegativeReals, ConcreteModel, Constraint, Var) from idaes.apps.grid_integration.multiperiod.multiperiod import ( MultiPeriodModel) from dispatches.models.fossil_case.ultra_supercritical_plant.storage import ( integrated_storage_with_ultrasupercritical_power_plant as usc) +from dispatches.models.fossil_case.ultra_supercritical_plant import storage def create_usc_model(pmin, pmax): @@ -42,8 +43,19 @@ def create_usc_model(pmin, pmax): max_power = 436 # in MW min_power = int(0.65 * max_power) # 283 in MW + # create a pathlib.Path object pointing to the directory + dir_path = Path(storage.__path__._path[0]).resolve() + # if using Python 3.8 and up, the following shorter syntax can be used + # dir_path = Path(storage.__path__[0]).resolve() + assert dir_path.is_dir() + + # create a pathlib.Path object pointing to the file + data_file_path = dir_path / "initialized_integrated_storage_usc.json" + assert data_file_path.is_absolute() + assert data_file_path.is_file() + # Load from the json file for faster initialization - load_from_file = 'initialized_integrated_storage_usc.json' + load_from_file = str(data_file_path) m = ConcreteModel() m.usc_mp = usc.main(max_power=max_power, @@ -113,6 +125,8 @@ def create_usc_mp_block(pmin=None, pmax=None): inventory_max = 1e7 inventory_min = 75000 + tank_max = 6739292 # Units in kg + b1.previous_salt_inventory_hot = Var( domain=NonNegativeReals, initialize=inventory_min, @@ -127,13 +141,13 @@ def create_usc_mp_block(pmin=None, pmax=None): ) b1.previous_salt_inventory_cold = Var( domain=NonNegativeReals, - initialize=inventory_max-inventory_min, + initialize=tank_max-inventory_min, bounds=(0, inventory_max), doc="Cold salt at the beginning of the hour (or time period), kg" ) b1.salt_inventory_cold = Var( domain=NonNegativeReals, - initialize=inventory_max-inventory_min, + initialize=tank_max-inventory_min, bounds=(0, inventory_max), doc="Cold salt inventory at the end of the hour (or time period), kg" ) diff --git a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/pricetaker_integrated_ultrasupercritical_power_plant.ipynb b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/pricetaker_integrated_ultrasupercritical_power_plant.ipynb new file mode 100644 index 000000000..fa063fb04 --- /dev/null +++ b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/pricetaker_integrated_ultrasupercritical_power_plant.ipynb @@ -0,0 +1,795 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ce70ecff", + "metadata": {}, + "source": [ + "## Market Analysis with Integrated Ultra-supercritical Power Plant Model: Pricetaker Assumption" + ] + }, + { + "cell_type": "markdown", + "id": "d8c785bb", + "metadata": {}, + "source": [ + "Author: Naresh Susarla (naresh.susarla@netl.doe.gov)" + ] + }, + { + "cell_type": "markdown", + "id": "e11cca0a", + "metadata": {}, + "source": [ + "This notebook presents a market analysis considering the pricetaker assumption for the integrated system of ultra-supercritical power plant and Solar salt as the storage fluid in thermal energy storage system. The electricity prices or LMP (locational marginal prices) are given and remain constant through the assumed time horizon. The prices used in this study are obtained from a synthetic database, i.e. RTS-GMLC." + ] + }, + { + "cell_type": "markdown", + "id": "28dbb567", + "metadata": {}, + "source": [ + "To start this analysis, first import all packages and libraries required." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "daf2ca9d", + "metadata": {}, + "outputs": [], + "source": [ + "from pyomo.environ import Param, Objective, Expression, SolverFactory, value\n", + "import numpy as np\n", + "from dispatches.models.fossil_case.ultra_supercritical_plant.storage.\\\n", + " multiperiod_integrated_storage_usc import create_multiperiod_usc_model\n", + "\n", + "# For plots\n", + "from matplotlib import pyplot as plt\n", + "import matplotlib\n", + "matplotlib.rc('font', size=24)\n", + "plt.rc('axes', titlesize=24)" + ] + }, + { + "cell_type": "markdown", + "id": "707b052f", + "metadata": {}, + "source": [ + "Get the LMP data from a database or define a list of electricity prices. In this analysis, we define a list and populate it with custom electricity prices. This list is named `price`." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ebd1dfae", + "metadata": {}, + "outputs": [], + "source": [ + "# Select LMP source data and scaling factor\n", + "use_rts_data = False\n", + "use_mod_rts_data = True\n", + "if use_rts_data:\n", + " print('>>>>>> Using RTS lmp data')\n", + " with open('rts_results_all_prices_base_case.npy', 'rb') as f:\n", + " price = np.load(f)\n", + "elif use_mod_rts_data:\n", + " price = [22.9684, 21.1168, 20.4, 20.419,\n", + " 20.419, 21.2877, 23.07, 25,\n", + " 18.4634, 0, 0, 0,\n", + " 0, 0, 0, 0,\n", + " 19.0342, 23.07, 200, 200,\n", + " 200, 200, 200, 200]\n", + "else:\n", + " print('>>>>>> Using NREL lmp data')\n", + " price = np.load(\"nrel_scenario_average_hourly.npy\")\n", + "\n", + "if use_rts_data:\n", + " lmp = price[0:number_hours].tolist()\n", + "elif use_mod_rts_data:\n", + " lmp = price" + ] + }, + { + "cell_type": "markdown", + "id": "d4dc74cf", + "metadata": {}, + "source": [ + "Define the time horizon and period for the market analysis using the pricetaker assumption and add the initial status of the Solar salt storage tank." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "03940f6a", + "metadata": {}, + "outputs": [], + "source": [ + "# Add number of days and hours per week\n", + "ndays = 1\n", + "nweeks = 1\n", + "number_hours = 24 * ndays\n", + "n_time_points = nweeks * number_hours\n", + "\n", + "# Add status for storage tanks in kg\n", + "tank_status = \"hot_empty\"\n", + "tank_min = 1\n", + "tank_max = 6739292" + ] + }, + { + "cell_type": "markdown", + "id": "6dabb79d", + "metadata": {}, + "source": [ + "Construct a time-indexed multiperiod model using the multiperiod method with the integrated ultra-supercritical power plant. During this step, the model is initialized for each time period." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "5994b7aa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n", + ">>> Creating USC model and initialization for each time period\n" + ] + } + ], + "source": [ + "# Create the multiperiod model object\n", + "multiperiod_usc = create_multiperiod_usc_model(\n", + " n_time_points=n_time_points, pmin=None, pmax=None\n", + ")\n", + "\n", + "# Retrieve pyomo model and active time blocks\n", + "m = multiperiod_usc.pyomo_model\n", + "blks = multiperiod_usc.get_active_process_blocks()" + ] + }, + { + "cell_type": "markdown", + "id": "612e25ee", + "metadata": {}, + "source": [ + "Use the LMP data from the `price` list above to assign the electricity prices to each time period. Also, include revenue and operating cost functions to calculate a total cost." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "1885cdac", + "metadata": {}, + "outputs": [], + "source": [ + "count = 0\n", + "for blk in blks:\n", + " blk_usc_mp = blk.usc_mp\n", + " blk.lmp_signal = Param(default=0, mutable=True)\n", + " blk.revenue = lmp[count]*blk.usc_mp.fs.net_power\n", + " blk.operating_cost = Expression(\n", + " expr=(\n", + " (blk_usc_mp.fs.operating_cost\n", + " + blk_usc_mp.fs.plant_fixed_operating_cost\n", + " + blk_usc_mp.fs.plant_variable_operating_cost) / (365 * 24)\n", + " )\n", + " )\n", + " blk.cost = Expression(expr=-(blk.revenue - blk.operating_cost))\n", + " count += 1" + ] + }, + { + "cell_type": "markdown", + "id": "363e29f3", + "metadata": {}, + "source": [ + "Add the total cost expression as the objective function." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "941d0d79", + "metadata": {}, + "outputs": [], + "source": [ + "m.obj = Objective(expr=sum([blk.cost for blk in blks]))" + ] + }, + { + "cell_type": "markdown", + "id": "9c6d2329", + "metadata": {}, + "source": [ + "Add initial state for the two linking variables in the model: the Solar salt tank for different scenarios and the power." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "9c332516", + "metadata": {}, + "outputs": [], + "source": [ + "# Initial state for Solar salt tank for differrent tank scenarios:\"hot_empty\",\"hot_full\",\"hot_half_full\"\n", + "if tank_status == \"hot_empty\":\n", + " blks[0].usc_mp.previous_salt_inventory_hot.fix(1103053.48)\n", + " blks[0].usc_mp.previous_salt_inventory_cold.fix(tank_max-1103053.48)\n", + "elif tank_status == \"half_full\":\n", + " blks[0].usc_mp.previous_salt_inventory_hot.fix(tank_max/2)\n", + " blks[0].usc_mp.previous_salt_inventory_cold.fix(tank_max/2)\n", + "elif tank_status == \"hot_full\":\n", + " blks[0].usc_mp.previous_salt_inventory_hot.fix(tank_max-tank_min)\n", + " blks[0].usc_mp.previous_salt_inventory_cold.fix(tank_min)\n", + "else:\n", + " print(\"Unrecognized scenario! Try hot_empty, hot_full, or half_full\")\n", + "\n", + "# Initial state for power linking variable\n", + "blks[0].usc_mp.previous_power.fix(447.66)" + ] + }, + { + "cell_type": "markdown", + "id": "97dfb8d1", + "metadata": {}, + "source": [ + "Finally, solve the entire multi-period model and save the results in lists to be used later to plot the results." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "76e7fe54", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + ">>>>>> Solving for week 1: 24 hours of operation in 1 day(s) \n", + "Ipopt 3.13.2: \n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 38348\n", + "Number of nonzeros in inequality constraint Jacobian.: 284\n", + "Number of nonzeros in Lagrangian Hessian.............: 11880\n", + "\n", + "Total number of variables............................: 14685\n", + " variables with only lower bounds: 0\n", + " variables with lower and upper bounds: 11997\n", + " variables with only upper bounds: 24\n", + "Total number of equality constraints.................: 14567\n", + "Total number of inequality constraints...............: 168\n", + " inequality constraints with only lower bounds: 24\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 144\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.6195143e+05 3.34e+08 1.00e+02 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.7026756e+05 3.46e+08 1.25e+06 -1.0 4.01e+07 - 1.25e-06 9.48e-01f 1\n", + " 2 -3.7025319e+05 3.45e+08 1.24e+06 -1.0 7.47e+07 - 9.36e-05 1.65e-03h 1\n", + " 3 -3.7023560e+05 3.44e+08 1.24e+06 -1.0 4.95e+07 - 2.26e-04 1.94e-03h 1\n", + " 4 -3.6961337e+05 3.30e+08 1.16e+06 -1.0 4.62e+07 - 2.36e-04 6.82e-02h 1\n", + " 5 -3.6957659e+05 3.29e+08 1.15e+06 -1.0 3.90e+07 - 7.22e-04 4.11e-03h 1\n", + " 6 -3.6183421e+05 4.56e+08 9.37e+04 -1.0 3.69e+07 - 7.23e-05 8.66e-01h 1\n", + " 7 -3.6136822e+05 3.19e+08 6.57e+04 -1.0 4.23e+06 - 8.26e-03 3.00e-01h 1\n", + " 8 -3.6022203e+05 9.52e+06 1.19e+04 -1.0 2.83e+06 - 1.48e-02 1.00e+00h 1\n", + " 9 -3.6015086e+05 3.53e+05 3.85e+02 -1.0 8.53e+05 - 7.40e-01 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 -3.6027717e+05 4.42e+02 1.21e+01 -1.0 2.00e+05 - 9.12e-01 1.00e+00f 1\n", + " 11 -3.6177457e+05 1.30e+03 2.34e+00 -1.0 2.18e+06 - 2.70e-01 1.00e+00f 1\n", + " 12 -3.6383428e+05 2.44e+03 3.85e-01 -1.0 3.00e+06 - 6.01e-01 1.00e+00f 1\n", + " 13 -3.6905559e+05 1.56e+04 6.76e-01 -1.0 7.60e+06 - 4.55e-01 1.00e+00f 1\n", + " 14 -3.7885905e+05 5.37e+04 1.12e+00 -1.0 1.43e+07 - 5.19e-01 1.00e+00f 1\n", + " 15 -4.0022144e+05 2.46e+05 2.43e+00 -1.0 3.12e+07 - 5.86e-01 1.00e+00f 1\n", + " 16 -4.1081688e+05 2.57e+05 3.19e+00 -1.0 8.53e+07 - 5.45e-01 1.82e-01f 1\n", + " 17 -4.1094134e+05 2.57e+05 1.42e+01 -1.0 2.02e+08 - 4.93e-01 9.95e-04f 1\n", + " 18 -4.1119824e+05 2.43e+05 3.05e+01 -1.0 2.79e+07 - 2.78e-01 5.44e-02f 1\n", + " 19 -4.1251280e+05 1.61e+05 1.97e+01 -1.0 3.80e+07 - 3.24e-01 3.35e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 -4.1810215e+05 7.56e+05 2.67e+01 -1.0 5.42e+07 - 3.71e-01 1.00e+00f 1\n", + " 21 -4.1966467e+05 6.78e+05 8.99e+00 -1.0 7.66e+07 - 6.63e-01 1.86e-01f 1\n", + " 22 -4.1982865e+05 6.73e+05 9.09e+00 -1.0 1.95e+08 - 3.42e-01 7.92e-03f 1\n", + " 23 -4.2176974e+05 7.08e+05 2.09e+01 -1.0 3.74e+08 - 3.47e-01 6.71e-02f 1\n", + " 24 -4.2325496e+05 7.21e+05 1.95e+01 -1.0 5.47e+08 - 1.32e-01 3.82e-02f 1\n", + " 25 -4.2476372e+05 7.44e+05 1.72e+01 -1.0 4.52e+08 - 1.46e-01 4.16e-02f 1\n", + " 26 -4.2605895e+05 7.61e+05 2.34e+01 -1.0 4.50e+08 - 2.66e-01 3.66e-02f 1\n", + " 27 -4.2849793e+05 9.79e+05 2.19e+01 -1.0 3.32e+08 - 2.10e-02 7.40e-02f 1\n", + " 28 -4.2939062e+05 1.05e+06 2.14e+01 -1.0 2.39e+08 - 2.26e-02 3.17e-02f 1\n", + " 29 -4.2960216e+05 1.05e+06 2.12e+01 -1.0 2.35e+08 - 9.25e-03 1.30e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -4.3233755e+05 3.86e+06 1.68e+01 -1.0 2.36e+08 - 2.05e-01 1.71e-01f 1\n", + " 31 -4.3245657e+05 3.84e+06 1.38e+01 -1.0 2.39e+08 - 1.57e-01 7.67e-03f 1\n", + " 32 -4.3339951e+05 4.04e+06 9.05e+00 -1.0 1.85e+08 - 5.32e-01 6.01e-02f 1\n", + " 33 -4.3702388e+05 1.04e+07 7.45e+00 -1.0 8.82e+07 - 5.42e-01 2.06e-01f 1\n", + " 34 -4.5216928e+05 9.77e+07 3.02e+00 -1.0 7.08e+07 - 6.95e-01 9.48e-01f 1\n", + " 35 -4.5420008e+05 3.17e+07 3.29e+00 -1.0 4.62e+07 - 7.51e-01 7.55e-01f 1\n", + " 36 -4.5422349e+05 3.05e+07 5.02e+00 -1.0 5.57e+07 - 4.08e-01 3.84e-02h 1\n", + " 37 -4.5428523e+05 2.72e+07 6.68e+00 -1.0 1.20e+08 - 4.33e-01 1.14e-01h 1\n", + " 38 -4.5436396e+05 2.28e+07 6.54e+00 -1.0 1.61e+08 - 4.84e-01 1.64e-01h 1\n", + " 39 -4.5445361e+05 1.67e+07 5.42e+00 -1.0 9.24e+07 - 6.97e-01 2.57e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -4.5449047e+05 1.28e+07 4.51e+00 -1.0 2.61e+07 - 9.01e-01 2.29e-01h 1\n", + " 41 -4.5448693e+05 1.23e+07 4.38e+03 -1.0 3.09e+05 -4.0 2.83e-02 3.98e-02h 1\n", + " 42 -4.5448689e+05 1.23e+07 4.37e+03 -1.0 2.96e+05 -4.5 1.39e-01 4.11e-04h 1\n", + " 43 -4.5448689e+05 1.23e+07 8.03e+06 -1.0 1.12e+06 -5.0 1.05e-01 3.60e-05h 1\n", + " 44 -4.5448656e+05 1.22e+07 1.31e+07 -1.0 1.26e+06 -5.4 2.48e-01 3.43e-03h 1\n", + " 45 -4.5448532e+05 1.21e+07 1.28e+07 -1.0 1.34e+06 -5.9 8.16e-02 9.55e-03h 1\n", + " 46 -4.5447754e+05 1.15e+07 9.93e+06 -1.0 1.33e+06 -6.4 2.87e-01 5.11e-02h 1\n", + " 47 -4.5447672e+05 1.14e+07 8.67e+06 -1.0 1.29e+06 -6.9 1.38e-01 5.58e-03h 1\n", + " 48 -4.5447277e+05 1.11e+07 3.32e+06 -1.0 1.29e+06 -7.3 6.21e-01 2.52e-02h 1\n", + " 49 -4.5443704e+05 8.58e+06 2.88e+06 -1.0 1.27e+06 -7.8 1.38e-01 2.27e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -4.5433013e+05 8.46e+05 1.47e+06 -1.0 1.08e+06 -8.3 5.20e-01 8.80e-01h 1\n", + " 51 -4.5432975e+05 7.92e+05 8.29e+04 -1.0 2.97e+05 -8.8 9.93e-01 6.45e-02h 1\n", + " 52 -4.5434596e+05 3.95e+05 4.76e+04 -1.0 2.77e+05 -9.2 1.00e+00 5.02e-01h 1\n", + " 53 -4.5436542e+05 3.18e+05 3.94e+04 -1.0 1.39e+05 -9.7 1.00e+00 1.94e-01h 1\n", + " 54 -4.5437694e+05 1.30e+03 5.84e+02 -1.0 1.13e+05 -10.2 1.00e+00 1.00e+00h 1\n", + " 55 -4.5441945e+05 6.52e+02 2.29e+02 -1.0 2.13e+05 -10.7 1.00e+00 6.08e-01f 1\n", + " 56 -4.5447296e+05 7.47e+02 1.50e+02 -1.0 5.26e+05 -11.2 1.00e+00 3.47e-01f 1\n", + " 57 -4.5449740e+05 1.00e+03 1.14e+02 -1.0 6.68e+05 -11.6 1.00e+00 2.39e-01f 1\n", + " 58 -4.5450659e+05 3.20e+04 4.28e+01 -1.0 1.05e+06 -12.1 1.00e+00 6.25e-01h 1\n", + " 59 -4.5451163e+05 5.39e+04 3.00e+01 -1.0 2.13e+06 -12.6 1.00e+00 3.02e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 -4.5452071e+05 2.94e+04 4.37e-01 -1.0 1.14e+06 -13.1 1.00e+00 1.00e+00h 1\n", + " 61 -4.5454348e+05 2.11e+05 4.06e-02 -1.0 3.06e+06 -13.5 1.00e+00 1.00e+00h 1\n", + " 62 -4.5456536e+05 3.25e+05 1.22e+00 -1.0 5.87e+06 -14.0 1.00e+00 5.03e-01h 1\n", + " 63 -4.5457458e+05 1.38e+06 1.27e+00 -1.0 1.59e+07 -14.5 1.00e+00 5.43e-01h 1\n", + " 64 -4.5458411e+05 5.28e+06 3.73e-01 -1.0 2.47e+07 -15.0 1.00e+00 9.05e-01h 1\n", + " 65 -4.5458287e+05 2.50e+06 7.68e-02 -1.0 1.24e+07 -15.5 1.00e+00 1.00e+00h 1\n", + " 66 -4.5458556e+05 2.39e+05 1.70e-02 -1.0 3.73e+06 -15.0 1.00e+00 1.00e+00h 1\n", + " 67 -4.5459207e+05 1.42e+07 2.01e+00 -1.0 4.17e+07 -15.5 1.00e+00 1.00e+00H 1\n", + " 68 -4.5459536e+05 8.22e+06 6.16e-01 -1.0 2.19e+07 -15.1 1.00e+00 1.00e+00h 1\n", + " 69 -4.5459781e+05 1.76e+05 1.16e-01 -1.0 8.15e+06 -14.7 1.00e+00 1.00e+00h 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 -4.5459986e+05 8.63e+05 2.62e-01 -1.0 2.24e+07 -15.1 1.00e+00 4.00e-01h 1\n", + " 71 -4.5459964e+05 1.72e+05 3.58e-02 -1.0 3.94e+06 -14.7 1.00e+00 1.00e+00h 1\n", + " 72 -4.5460169e+05 3.55e+06 3.98e-01 -1.0 1.75e+07 -15.2 1.00e+00 1.00e+00h 1\n", + " 73 -4.5460339e+05 3.64e+05 7.96e-02 -1.0 7.50e+06 -14.8 1.00e+00 1.00e+00h 1\n", + " 74 -4.5460864e+05 1.12e+07 1.38e+00 -1.0 3.74e+07 -15.2 1.00e+00 8.51e-01h 1\n", + " 75 -4.5460624e+05 4.80e+06 6.25e-01 -1.0 1.92e+07 - 1.00e+00 1.00e+00h 1\n", + " 76 -4.5460938e+05 1.81e+06 1.95e-01 -1.0 1.10e+07 - 1.00e+00 1.00e+00h 1\n", + " 77 -4.5460958e+05 8.58e+04 2.33e-02 -1.0 4.17e+06 - 1.00e+00 1.00e+00h 1\n", + " 78 -4.5460960e+05 6.07e+02 8.30e-05 -1.0 2.43e+05 - 1.00e+00 1.00e+00h 1\n", + " 79 -4.5462293e+05 1.01e+05 1.85e+01 -2.5 3.69e+06 - 9.72e-01 5.41e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 -4.5462888e+05 5.24e+04 6.09e+00 -2.5 1.29e+06 -14.8 1.00e+00 6.91e-01h 1\n", + " 81 -4.5463144e+05 2.75e+06 2.30e-01 -2.5 1.43e+07 -15.3 1.00e+00 9.86e-01h 1\n", + " 82 -4.5463183e+05 5.06e+05 1.52e-02 -2.5 4.03e+06 -14.9 1.00e+00 1.00e+00h 1\n", + " 83 -4.5463266e+05 4.99e+06 3.33e-01 -2.5 1.24e+08 -15.3 2.60e-01 1.39e-01h 1\n", + " 84 -4.5463404e+05 1.67e+06 1.68e-01 -2.5 1.15e+07 -14.9 1.00e+00 8.68e-01h 1\n", + " 85 -4.5463454e+05 2.41e+05 4.24e-02 -2.5 3.17e+06 -14.5 1.00e+00 8.58e-01h 1\n", + " 86 -4.5463568e+05 1.53e+06 1.50e-01 -2.5 1.42e+07 -15.0 1.00e+00 7.70e-01h 1\n", + " 87 -4.5463672e+05 6.25e+05 3.88e-02 -2.5 5.53e+06 -14.5 1.00e+00 1.00e+00h 1\n", + " 88 -4.5463780e+05 1.29e+06 1.86e-01 -2.5 2.58e+07 -15.0 1.00e+00 2.56e-01h 1\n", + " 89 -4.5463786e+05 3.26e+05 4.34e-02 -2.5 6.68e+05 - 1.00e+00 7.24e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90 -4.5463797e+05 1.67e+04 2.38e-03 -2.5 4.70e+05 - 1.00e+00 1.00e+00h 1\n", + " 91 -4.5463797e+05 6.73e-01 1.73e-06 -2.5 1.11e+03 - 1.00e+00 1.00e+00h 1\n", + " 92 -4.5463850e+05 3.15e+01 4.15e-02 -3.8 4.36e+04 - 1.00e+00 9.65e-01f 1\n", + " 93 -4.5463851e+05 1.51e+00 3.39e-07 -3.8 1.19e+04 - 1.00e+00 1.00e+00h 1\n", + " 94 -4.5463854e+05 7.42e-02 7.69e-08 -5.7 2.39e+03 - 1.00e+00 1.00e+00h 1\n", + " 95 -4.5463854e+05 1.06e-05 1.84e-11 -5.7 3.08e+01 - 1.00e+00 1.00e+00h 1\n", + " 96 -4.5463854e+05 1.11e-05 1.22e-11 -8.6 2.96e+01 - 1.00e+00 1.00e+00h 1\n", + " 97 -4.5463854e+05 9.54e-07 7.69e-13 -9.0 2.81e-02 - 1.00e+00 1.00e+00h 1\n", + " 98 -4.5463854e+05 4.77e-07 9.03e-13 -9.0 6.97e-06 - 1.00e+00 1.00e+00h 1\n", + " 99 -4.5463854e+05 9.54e-07 1.16e-12 -9.0 6.42e-06 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100 -4.5463854e+05 9.54e-07 1.00e-12 -9.0 4.75e-06 - 1.00e+00 1.00e+00H 1\n", + " 101 -4.5463854e+05 4.77e-07 1.12e-12 -9.0 4.91e-06 - 1.00e+00 2.50e-01h 3\n", + " 102 -4.5463854e+05 4.77e-07 8.62e-13 -9.0 4.54e-06 - 1.00e+00 1.56e-02h 7\n", + " 103 -4.5463854e+05 4.77e-07 8.16e-13 -9.0 4.71e-06 - 1.00e+00 1.00e+00h 1\n", + " 104 -4.5463854e+05 1.43e-06 1.32e-12 -9.0 4.69e-06 - 1.00e+00 1.00e+00h 1\n", + " 105 -4.5463854e+05 7.15e-07 1.32e-12 -9.0 6.95e-06 - 1.00e+00 2.50e-01h 3\n", + " 106 -4.5463854e+05 7.15e-07 1.32e-12 -9.0 4.64e-06 - 1.00e+00 1.56e-02h 7\n", + " 107 -4.5463854e+05 5.07e-07 1.32e-12 -9.0 4.41e-06 - 1.00e+00 3.12e-02h 6\n", + " 108 -4.5463854e+05 5.07e-07 1.32e-12 -9.0 3.54e-06 - 1.00e+00 2.44e-04h 13\n", + " 109 -4.5463854e+05 5.07e-07 1.32e-12 -9.0 3.54e-06 - 1.00e+00 1.22e-04h 14\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110 -4.5463854e+05 4.77e-07 8.50e-13 -9.0 3.54e-06 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 110\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.2731927239529302e+05 -4.5463854479058605e+05\n", + "Dual infeasibility......: 8.4954444442330601e-13 1.6990888888466120e-12\n", + "Constraint violation....: 2.1287373134068081e-08 4.7683715820312500e-07\n", + "Complementarity.........: 9.1066538784262700e-10 1.8213307756852540e-09\n", + "Overall NLP error.......: 2.1287373134068081e-08 4.7683715820312500e-07\n", + "\n", + "\n", + "Number of objective function evaluations = 162\n", + "Number of objective gradient evaluations = 111\n", + "Number of equality constraint evaluations = 162\n", + "Number of inequality constraint evaluations = 162\n", + "Number of equality constraint Jacobian evaluations = 111\n", + "Number of inequality constraint Jacobian evaluations = 111\n", + "Number of Lagrangian Hessian evaluations = 110\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 9.717\n", + "Total CPU secs in NLP function evaluations = 314.856\n", + "\n", + "EXIT: Solved To Acceptable Level.\n" + ] + } + ], + "source": [ + "# Declare NLP solver\n", + "opt = SolverFactory('ipopt')\n", + "\n", + "# Declare lists to save results\n", + "hot_tank_level = []\n", + "cold_tank_level = []\n", + "net_power = []\n", + "hxc_duty = []\n", + "hxd_duty = []\n", + "for week in range(nweeks):\n", + " print()\n", + " print(\">>>>>> Solving for week {}: {} hours of operation in {} day(s) \"\n", + " .format(week + 1, number_hours, ndays))\n", + "\n", + " # Solve the multi-period model\n", + " opt.solve(m, tee=True)\n", + "\n", + " hot_tank_level.append([(value(blks[i].usc_mp.salt_inventory_hot)) * 1e-3\n", + " for i in range(n_time_points)])\n", + " cold_tank_level.append([(value(blks[i].usc_mp.salt_inventory_cold)) * 1e-3\n", + " for i in range(n_time_points)])\n", + " net_power.append([value(blks[i].usc_mp.fs.net_power)\n", + " for i in range(n_time_points)])\n", + " hxc_duty.append([value(blks[i].usc_mp.fs.hxc.heat_duty[0]) * 1e-6\n", + " for i in range(n_time_points)])\n", + " hxd_duty.append([value(blks[i].usc_mp.fs.hxd.heat_duty[0]) * 1e-6\n", + " for i in range(n_time_points)])" + ] + }, + { + "cell_type": "markdown", + "id": "79b85724", + "metadata": {}, + "source": [ + "Add maximum and minimum values for the power plant power production and storage heat duty. This is needed when plotting the results." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "21a045ff", + "metadata": {}, + "outputs": [], + "source": [ + "max_power = 436\n", + "max_power_storage = 30\n", + "max_power_total = max_power + max_power_storage\n", + "min_storage_heat_duty = 10\n", + "max_storage_heat_duty = 200" + ] + }, + { + "cell_type": "markdown", + "id": "ad5d1140", + "metadata": {}, + "source": [ + "In Figure 1, plot the Solar salt levels in the storage tank for the entire time horizon." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "dd0a674d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "hours = np.arange(n_time_points * nweeks)\n", + "lmp_array = np.asarray(lmp[0:n_time_points])\n", + "hot_tank_array = np.asarray(hot_tank_level[0:nweeks]).flatten()\n", + "cold_tank_array = np.asarray(cold_tank_level[0:nweeks]).flatten()\n", + "\n", + "# Convert array to list to include hot tank level at time zero\n", + "hot_tank_array0 = value(blks[0].usc_mp.previous_salt_inventory_hot) * 1e-3\n", + "cold_tank_array0 = value(blks[0].usc_mp.previous_salt_inventory_cold) * 1e-3\n", + "hours_list = hours.tolist() + [n_time_points]\n", + "hot_tank_list = [hot_tank_array0] + hot_tank_array.tolist()\n", + "cold_tank_list = [cold_tank_array0] + cold_tank_array.tolist()\n", + "\n", + "# Declare settings for plot\n", + "font = {'size': 16}\n", + "plt.rc('font', **font)\n", + "fig1, ax1 = plt.subplots(figsize=(12, 8))\n", + "color = ['r', 'b', 'tab:green', 'k', 'tab:orange']\n", + "\n", + "ax1.set_xlabel('Time Period (hr)')\n", + "ax1.set_ylabel('Salt Tank Level (metric ton)',\n", + " color=color[3])\n", + "ax1.spines[\"top\"].set_visible(False)\n", + "ax1.spines[\"right\"].set_visible(False)\n", + "ax1.grid(linestyle=':', which='both',\n", + " color='gray', alpha=0.30)\n", + "plt.axhline(tank_max * 1e-3, \n", + " ls=':', lw=1.75,\n", + " color=color[4])\n", + "plt.text(n_time_points / 2 - 1.5,\n", + " tank_max * 1e-3 + 100, \n", + " 'max salt',\n", + " color=color[4])\n", + "ax1.step(hours_list, hot_tank_list,\n", + " marker='^', ms=4,\n", + " lw=1, color=color[0], \n", + " label='Hot Salt')\n", + "ax1.step(hours_list, cold_tank_list,\n", + " marker='v', ms=4,\n", + " lw=1, color=color[1], \n", + " label='Cold Salt')\n", + "ax1.legend(loc=\"center right\", frameon=False)\n", + "ax1.tick_params(axis='y')\n", + "ax1.set_xticks(np.arange(0, n_time_points * nweeks + 1, step=2))\n", + "\n", + "ax2 = ax1.twinx()\n", + "ax2.set_ylabel('LMP ($/MWh)',\n", + " color=color[2])\n", + "ax2.step([x + 1 for x in hours], lmp_array,\n", + " marker='o', ms=3, alpha=0.5,\n", + " ls='-', lw=1,\n", + " color=color[2])\n", + "ax2.tick_params(axis='y',\n", + " labelcolor=color[2])" + ] + }, + { + "cell_type": "markdown", + "id": "fa04c353", + "metadata": {}, + "source": [ + "In Figure 2, plot the operating profile of the power plant in terms of total power for the entire time horizon." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "33005343", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "font = {'size': 18}\n", + "plt.rc('font', **font)\n", + "\n", + "power_array = np.asarray(net_power[0:nweeks]).flatten()\n", + "\n", + "# Convert array to list to include net power at time zero\n", + "power_array0 = value(blks[0].usc_mp.previous_power)\n", + "power_list = [power_array0] + power_array.tolist()\n", + "\n", + "fig2, ax3 = plt.subplots(figsize=(12, 8))\n", + "ax3.set_xlabel('Time Period (hr)')\n", + "ax3.set_ylabel('Net Power Output (MW)',\n", + " color=color[1])\n", + "ax3.spines[\"top\"].set_visible(False)\n", + "ax3.spines[\"right\"].set_visible(False)\n", + "ax3.grid(linestyle=':', which='both',\n", + " color='gray', alpha=0.30)\n", + "plt.text(n_time_points / 2 - 3, max_power - 5.5,\n", + " 'max plant power',\n", + " color=color[4])\n", + "plt.text(n_time_points / 2 - 2.8, max_power_total + 1,\n", + " 'max net power',\n", + " color=color[4])\n", + "plt.axhline(max_power, \n", + " ls='-.', lw=1.75, \n", + " color=color[4])\n", + "plt.axhline(max_power_total, \n", + " ls=':', lw=1.75, \n", + " color=color[4])\n", + "ax3.step(hours_list, power_list,\n", + " marker='o', ms=4,\n", + " lw=1, color=color[1])\n", + "ax3.tick_params(axis='y',\n", + " labelcolor=color[1])\n", + "ax3.set_xticks(np.arange(0, n_time_points * nweeks + 1, step=2))\n", + "\n", + "ax4 = ax3.twinx()\n", + "ax4.set_ylabel('LMP ($/MWh)',\n", + " color=color[2])\n", + "ax4.step([x + 1 for x in hours], lmp_array,\n", + " marker='o', ms=3, alpha=0.5,\n", + " ls='-', lw=1,\n", + " color=color[2])\n", + "ax4.tick_params(axis='y',\n", + " labelcolor=color[2])" + ] + }, + { + "cell_type": "markdown", + "id": "6213a458", + "metadata": {}, + "source": [ + "In Figure 3, plot the storage heat exchanger operating profiles in terms of heat duties for the entire time horizon." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "63875c64", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "zero_point = True\n", + "hxc_array = np.asarray(hxc_duty[0:nweeks]).flatten()\n", + "hxd_array = np.asarray(hxd_duty[0:nweeks]).flatten()\n", + "hxc_duty0 = 0\n", + "hxc_duty_list = [hxc_duty0] + hxc_array.tolist()\n", + "hxd_duty0 = 0\n", + "hxd_duty_list = [hxd_duty0] + hxd_array.tolist()\n", + "\n", + "fig3, ax5 = plt.subplots(figsize=(12, 8))\n", + "ax5.set_xlabel('Time Period (hr)')\n", + "ax5.set_ylabel('Storage Heat Duty (MW)',\n", + " color=color[3])\n", + "ax5.spines[\"top\"].set_visible(False)\n", + "ax5.spines[\"right\"].set_visible(False)\n", + "ax5.grid(linestyle=':', which='both',\n", + " color='gray', alpha=0.30)\n", + "plt.text(n_time_points / 2 - 2.2, \n", + " max_storage_heat_duty + 1,\n", + " 'max storage',\n", + " color=color[4])\n", + "plt.text(n_time_points / 2 - 2, \n", + " min_storage_heat_duty - 6.5,\n", + " 'min storage',\n", + " color=color[4])\n", + "plt.axhline(max_storage_heat_duty, \n", + " ls=':', lw=1.75,\n", + " color=color[4])\n", + "plt.axhline(min_storage_heat_duty, \n", + " ls=':', lw=1.75,\n", + " color=color[4])\n", + "if zero_point:\n", + " ax5.step(hours_list, hxc_duty_list,\n", + " marker='^', ms=4,\n", + " color=color[0], label='Charge',)\n", + " ax5.step(hours_list, hxd_duty_list,\n", + " marker='v', ms=4,\n", + " color=color[1], label='Discharge')\n", + "else:\n", + " ax5.step([x + 1 for x in hours], hxc_array,\n", + " marker='^', ms=4, lw=1,\n", + " color=color[0], label='Charge')\n", + " ax5.step([x + 1 for x in hours], hxd_array,\n", + " marker='v', ms=4, lw=1,\n", + " color=color[1], label='Discharge')\n", + "ax5.legend(loc=\"center right\", frameon=False)\n", + "ax5.tick_params(axis='y',\n", + " labelcolor=color[3])\n", + "ax5.set_xticks(np.arange(0, n_time_points * nweeks + 1, step=2))\n", + "\n", + "ax6 = ax5.twinx()\n", + "ax6.set_ylabel('LMP ($/MWh)',\n", + " color=color[2])\n", + "ax6.step([x + 1 for x in hours], lmp_array,\n", + " marker='o', ms=3,\n", + " alpha=0.5, ls='-',\n", + " color=color[2])\n", + "ax6.tick_params(axis='y',\n", + " labelcolor=color[2])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "512b6183", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/pricetaker_with_multiperiod_integrated_storage_usc.py b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/pricetaker_with_multiperiod_integrated_storage_usc.py index 539323da9..98b80678b 100644 --- a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/pricetaker_with_multiperiod_integrated_storage_usc.py +++ b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/pricetaker_with_multiperiod_integrated_storage_usc.py @@ -387,7 +387,7 @@ def plot_results(ndays, nweeks, lmp, m, blks, hot_tank_level, cold_tank_level, nweeks = 1 tank_status = "hot_empty" - tank_min = 1 # in kg 92006046.67 + tank_min = 1 # in kg tank_max = 6739292 # in kg (lmp, m, blks, hot_tank_level, cold_tank_level, net_power, diff --git a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/test_integrated_storage_with_ultrasupercritical_power_plant.py b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/test_integrated_storage_with_ultrasupercritical_power_plant.py new file mode 100644 index 000000000..066d39a1c --- /dev/null +++ b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/test_integrated_storage_with_ultrasupercritical_power_plant.py @@ -0,0 +1,106 @@ +################################################################################# +# DISPATCHES was produced under the DOE Design Integration and Synthesis +# Platform to Advance Tightly Coupled Hybrid Energy Systems program (DISPATCHES), +# and is copyright (c) 2021 by the software owners: The Regents of the University +# of California, through Lawrence Berkeley National Laboratory, National +# Technology & Engineering Solutions of Sandia, LLC, Alliance for Sustainable +# Energy, LLC, Battelle Energy Alliance, LLC, University of Notre Dame du Lac, et +# al. All rights reserved. +# +# Please see the files COPYRIGHT.md and LICENSE.md for full copyright and license +# information, respectively. Both files are also available online at the URL: +# "https://github.com/gmlc-dispatches/dispatches". +################################################################################# + +"""Test for integrated storage with ultrasupercritical power plant model + +""" + +__author__ = "Naresh Susarla" + +import pytest + +from pyomo.environ import value +from pyomo.util.check_units import assert_units_consistent +from dispatches.models.fossil_case.ultra_supercritical_plant import ( + ultra_supercritical_powerplant as usc) +import integrated_storage_with_ultrasupercritical_power_plant as isp + +from idaes.core.util.model_statistics import degrees_of_freedom + +from idaes.core.util import get_solver + + +@pytest.fixture(scope="module") +def model(): + + # Build ultra-supercritical plant base model + m = usc.build_plant_model() + usc.initialize(m) + # Create a flowsheet, add properties, unit models, and arcs + m = isp.create_integrated_model(m, max_power=436) + + # Give all the required inputs to the model + isp.set_model_input(m) + + # Add scaling factor + isp.set_scaling_factors(m) + + return m + + +@pytest.mark.integration +def test_build(model): + + if degrees_of_freedom(model) != 0: + raise Exception("Degrees of freedom after model build is not zero") + +@pytest.mark.integration +def test_initialization(model): + # Check that the cost correlations in charge model are initialized + # properly and have 0 degrees of freedom + isp.initialize(model) + + if degrees_of_freedom(model) != 0: + raise Exception("Degrees of freedom after model initialize is not zero") + + +@pytest.mark.integration +def test_costing_method(model): + # Add missing functions to complete the charge model (add bounds + # and disjunctions) + m = isp.build_costing(model) + + # Initialize with bounds + isp.initialize_with_costing(m) + isp.add_bounds(m) + + if degrees_of_freedom(m) != 0: + raise Exception("Degrees of freedom after model initialize is not zero") + +@pytest.mark.integration +def test_main_function(): + + optarg = {"max_iter": 300} + solver = get_solver('ipopt', optarg) + + + model = isp.main(max_power=436) + + model = isp.model_analysis( + model, + solver, + power=460, + max_power=436, + tank_scenario="hot_empty", + fix_power=False) + + assert value(model.fs.revenue) == pytest.approx(9627.76, abs=1e-1) + assert value(model.obj) == pytest.approx(5.17, abs=1e-1) + assert value(model.fs.hxd.area) == pytest.approx(2204.88, + abs=1e-1) + +# TODO: Add the unit consistency check once the PR #2395 is merged in Pyomo +# @pytest.mark.integration +# def test_unit_consistency(m): +# assert_units_consistent(m) diff --git a/dispatches/models/fossil_case/ultra_supercritical_plant/storage/test_multiperiod_integrated_storage_usc.py b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/test_multiperiod_integrated_storage_usc.py new file mode 100644 index 000000000..d87975d27 --- /dev/null +++ b/dispatches/models/fossil_case/ultra_supercritical_plant/storage/test_multiperiod_integrated_storage_usc.py @@ -0,0 +1,99 @@ +################################################################################# +# DISPATCHES was produced under the DOE Design Integration and Synthesis +# Platform to Advance Tightly Coupled Hybrid Energy Systems program (DISPATCHES), +# and is copyright (c) 2021 by the software owners: The Regents of the University +# of California, through Lawrence Berkeley National Laboratory, National +# Technology & Engineering Solutions of Sandia, LLC, Alliance for Sustainable +# Energy, LLC, Battelle Energy Alliance, LLC, University of Notre Dame du Lac, et +# al. All rights reserved. +# +# Please see the files COPYRIGHT.md and LICENSE.md for full copyright and license +# information, respectively. Both files are also available online at the URL: +# "https://github.com/gmlc-dispatches/dispatches". +################################################################################# + +"""Test for ultra supercritical power plant integrated with charge +storage system + +""" + +__author__ = "Naresh Susarla" + +import pytest +from pyomo.environ import (value, Constraint, Var) +import multiperiod_integrated_storage_usc as mp_usc + + +pmin = int(0.65 * 436) + 1 +pmax = 436 + 30 + + +@pytest.fixture(scope="module") +def usc_model(): + + # Build ultra-supercritical plant base model + m = mp_usc.create_usc_model(pmin, pmax) + return m + + +@pytest.mark.unit +def test_usc_model(usc_model): + + assert isinstance(usc_model.usc_mp.fs.plant_min_power_eq, Constraint) + assert isinstance(usc_model.usc_mp.fs.plant_max_power_eq, Constraint) + + assert usc_model.usc_mp.fs.hxc.area.fixed + assert value(usc_model.usc_mp.fs.hxc.area) == 1904 + assert usc_model.usc_mp.fs.hxd.area.fixed + assert value(usc_model.usc_mp.fs.hxd.area) == 2830 + assert usc_model.usc_mp.fs.hxc.outlet_2.temperature[0].fixed + assert value(usc_model.usc_mp.fs.hxc.outlet_2.temperature[0]) == 831 + assert usc_model.usc_mp.fs.hxd.inlet_1.temperature[0].fixed + assert value(usc_model.usc_mp.fs.hxd.inlet_1.temperature[0]) == 831 + assert usc_model.usc_mp.fs.hxd.outlet_1.temperature[0].fixed + assert value(usc_model.usc_mp.fs.hxd.outlet_1.temperature[0]) == 513.15 + + +@pytest.fixture(scope="module") +def mp_model(): + + # Build the multi-period usc model + m = mp_usc.create_usc_mp_block(pmin=pmin, pmax=pmax) + return m + +@pytest.mark.unit +def test_mp_model(mp_model): + + assert isinstance(mp_model.usc_mp.previous_power, Var) + assert value(mp_model.usc_mp.previous_power) == 300 + + assert isinstance(mp_model.usc_mp.previous_salt_inventory_hot, Var) + assert value(mp_model.usc_mp.previous_salt_inventory_hot) == 75000 + + assert isinstance(mp_model.usc_mp.salt_inventory_hot, Var) + assert value(mp_model.usc_mp.salt_inventory_hot) == 75000 + + assert isinstance(mp_model.usc_mp.previous_salt_inventory_cold, Var) + assert value(mp_model.usc_mp.previous_salt_inventory_cold) == 6739292 - 75000 + + assert isinstance(mp_model.usc_mp.salt_inventory_cold, Var) + assert value(mp_model.usc_mp.salt_inventory_cold) == 6739292 - 75000 + + assert isinstance(mp_model.usc_mp.fs.constraint_ramp_down, Constraint) + assert isinstance(mp_model.usc_mp.fs.constraint_ramp_up, Constraint) + assert isinstance(mp_model.usc_mp.fs.constraint_salt_inventory_hot, Constraint) + assert isinstance(mp_model.usc_mp.fs.constraint_salt_maxflow_hot, Constraint) + assert isinstance(mp_model.usc_mp.fs.constraint_salt_maxflow_cold, Constraint) + assert isinstance(mp_model.usc_mp.fs.constraint_salt_inventory, Constraint) + +@pytest.mark.unit +def test_get_usc_link_variable_pairs(): + assert str('[(blk1.usc_mp.salt_inventory_hot,' + 'blk2.usc_mp.previous_salt_inventory_hot),' + '(blk1.usc_mp.fs.plant_power_out[0],' + 'blk2.usc_mp.previous_power)]') + +@pytest.mark.unit +def test_get_usc_periodic_variable_pairs(): + assert str('[(b1.usc_mp.salt_inventory_hot,' + 'b2.usc_mp.previous_salt_inventory_hot)]') diff --git a/dispatches/models/nuclear_case/flowsheets/nuclear_flowsheet_double_loop.ipynb b/dispatches/models/nuclear_case/flowsheets/nuclear_flowsheet_double_loop.ipynb new file mode 100644 index 000000000..09107a38c --- /dev/null +++ b/dispatches/models/nuclear_case/flowsheets/nuclear_flowsheet_double_loop.ipynb @@ -0,0 +1,12018 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "compatible-panic", + "metadata": {}, + "source": [ + "# Nuclear Case Study - Double Loop Workflow\n", + "\n", + "In this notebook, we illustrate the simulation of a base-load nuclear power plant integrated with a low temperature electrolysis system for hydrogen production using the double loop workflow. In addition to DISPATCHES, we need IDAES grid integration tools and Prescient. \n", + "\n", + "For a given integrated energy system, the double loop workflow has six key steps:\n", + "- Forecasting: Generate plausible price forcasts for the bidding horizon (chosen to be 48 hours).\n", + "- Bidding: Formulate and solve a multi-period bidding problem for the generated set of forcasted price signals. The solution of the bidding problem yields a time-varying bid curve.\n", + "- Day Ahead (DA) Market: Using the bid curve generated in the previous step, solve the unit commitment problem for the day ahead market.\n", + "- Real Time Market: Fix unit commitment decisions and solve the unit commitment problem for the real time market. The solution yields real time local marginal prices and the optimal dispatch profile for each generator.\n", + "- Tracking: Formulate and solve a tracking problem to track the optimal dispatch profile obtained in the previous step, and minimize the cost of production of electricity by minimizing the penalty associated with under-/over-production.\n", + "- Settlement: Compute all the cash flows" + ] + }, + { + "cell_type": "markdown", + "id": "5fddaa2d", + "metadata": {}, + "source": [ + "First, we import the required python packages, grid integration tools from IDAES, Prescient, and `MultiPeriodNuclear` class (defined in `nuclear_flowsheet_multiperiod_class.py` file). \n", + "\n", + "The `MultiPeriodNuclear` class generates a multi-period model of the base-load nuclear power plant integrated with a PEM electrolyzer and a hydrogen storage tank. The details related to the flowsheet model can be found in `nuclear_flowsheet_fixed_design.py`." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "bc20326c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Interactive Python mode detected; using default matplotlib backend for plotting.\n" + ] + } + ], + "source": [ + "# Import general python packages\n", + "from types import ModuleType\n", + "from importlib import resources\n", + "import pathlib\n", + "import sys\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Imports from the IDAES package\n", + "from idaes.apps.grid_integration import Tracker\n", + "from idaes.apps.grid_integration import Bidder\n", + "from idaes.apps.grid_integration import PlaceHolderForecaster\n", + "from idaes.apps.grid_integration import DoubleLoopCoordinator\n", + "# from idaes.apps.grid_integration.model_data import GeneratorModelData\n", + "from idaes.core.solvers import get_solver\n", + "from idaes.apps.grid_integration.model_data import (\n", + " GeneratorModelData as _UpstreamGeneratorModelData,\n", + " RealValueValidator,\n", + " AtLeastPminValidator\n", + ")\n", + "\n", + "# Import Prescient and the RTS-GMLC dataset\n", + "from prescient.simulator import Prescient\n", + "from dispatches_sample_data import rts_gmlc\n", + "\n", + "# Import nuclear flowsheet\n", + "from nuclear_flowsheet_multiperiod_class import MultiPeriodNuclear" + ] + }, + { + "cell_type": "markdown", + "id": "80eee487", + "metadata": {}, + "source": [ + "Next, we define a dictionary containing the generator data, and construct the `model_data` object using it. \n", + "\n", + "- `gen_name`: The id of the generator in the RTS - GMLC that is being replaced by the integrated energy system. There is only one nuclear generator (`121_NUCLEAR_1`) in the RTS - GMLC dataset, so `gen_name` = `121_NUCLEAR_1`\n", + "- `generator_type`: Accepts either `thermal` or `renewable`. We choose `thermal` for both fossil and nuclear generators\n", + "- `p_min`: Minimum power output to the grid (in MW). The capacity of the nuclear power plant is 500 MW and that of the PEM electrolyzer is 100 MW. Nuclear power plant is always operated at it base-load, so the minimum power output to the grid = 500 $-$ 100 = 400 MW\n", + "- `p_max`: Maximum power output to the grid (in MW). Power output is maximum when the PEM electrolyzer is turned off, and it is equal to base-load power output from the nuclear power plant i.e., 500 MW\n", + "- `min_down_time`: Mininum downtime after the generator is shutdown (chosen to be 48 hours)\n", + "- `min_up_time`: Minimum uptime after the generator is turned on (chosen to be 24 hours)\n", + "- `ramp_up_60min`: Ramp up rate (in MW/hr). Since the PEM electrolyzer is amenable for fast ramp up/ramp down, and for fast startup/shutdown, the ramp rate for the power output to the grid is the same as the capacity of the PEM electrolyzer i.e., 100 MW/hr\n", + "- `ramp_down_60min`: Ramp down rate (in MW/hr). Same as above.\n", + "- `shutdown_capacity`: Power output when shutdown is initiated (in MW). Since the nuclear power plant is always operated at base-load, the shutdown capacity is the same as the base-load value i.e., 500 MW\n", + "- `startup_capacity`: Power output when the generator is turned on. Same as above.\n", + "- `production_cost_bid_pairs`: Cost of production of electricity in \\$/MW as function of power output i.e., (power output in MW, cost in \\$/MW)\n", + "- `startup_cost_pairs`: (\\# hours after shutdown, cost of startup)\n", + "- `fixed_commitment`: 0/1 indicates that plant shutdown is allowed/not allowed." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8e149b73", + "metadata": {}, + "outputs": [], + "source": [ + "class GeneratorModelData(_UpstreamGeneratorModelData):\n", + " p_min_agc = RealValueValidator(min_val=0)\n", + " p_max_agc = AtLeastPminValidator()\n", + "\n", + " def __init__(self, **kwargs):\n", + " super().__init__(**kwargs)\n", + " self.p_min_agc = self.p_min\n", + " self.p_max_agc = self.p_max\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "529ed5d2", + "metadata": {}, + "outputs": [], + "source": [ + "generator_data = {\n", + " \"gen_name\": \"121_NUCLEAR_1\",\n", + " \"generator_type\": \"thermal\",\n", + " \"p_min\": 400,\n", + " \"p_max\": 500,\n", + " \"min_down_time\": 48,\n", + " \"min_up_time\": 24,\n", + " \"ramp_up_60min\": 100,\n", + " \"ramp_down_60min\": 100,\n", + " \"shutdown_capacity\": 500,\n", + " \"startup_capacity\": 500,\n", + " \"production_cost_bid_pairs\": [\n", + " (400, 15),\n", + " (450, 17.5),\n", + " (500, 20),\n", + " ],\n", + " \"startup_cost_pairs\": [(48, 7355.42)],\n", + " \"fixed_commitment\": 1\n", + "}\n", + "\n", + "model_data = GeneratorModelData(**generator_data)" + ] + }, + { + "cell_type": "markdown", + "id": "5d5740c5", + "metadata": {}, + "source": [ + "Next, we set the parameters needed for the double loop workflow\n", + "\n", + "- `n_scenario`: Number of scenarios to be considered for the bidding problem. The file `idaes.apps.grid_integration.examples.lmp_forecasts_concat.csv` has data for ten scenarios, so we can choose any number between 1 and 10.\n", + "- `bidding_horizon`: Length of the bidding horizon. We choose it to be 48 hours.\n", + "- `tracking_horizon`: Length of the tracking horizon. We choose it to be 12 hours.\n", + "- `n_tracking_hour`: Frequency at which the tracking problem needs to be solved (every hour)\n", + "- `num_days`: Simulation horizon (number of days)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2538e874", + "metadata": {}, + "outputs": [], + "source": [ + "n_scenario = 3 # for bidding\n", + "bidding_horizon = 48 # hours\n", + "tracking_horizon = 12 # hours\n", + "n_tracking_hour = 1 # advance n_tracking_hour\n", + "num_days = 3" + ] + }, + { + "cell_type": "markdown", + "id": "278f755c", + "metadata": {}, + "source": [ + "Import the forcast price data and create a solver objecct" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "017932a9", + "metadata": {}, + "outputs": [], + "source": [ + "# Import the forcasted price data\n", + "with resources.open_text(\"idaes.apps.grid_integration.examples\", \"lmp_forecasts_concat.csv\") as f:\n", + " forecasts_df = pd.read_csv(f)\n", + "forecaster = PlaceHolderForecaster(price_forecasts_df=forecasts_df)\n", + "\n", + "# Create the solver object\n", + "solver = get_solver()" + ] + }, + { + "cell_type": "markdown", + "id": "cadef696", + "metadata": {}, + "source": [ + "Create bidder, tracker and coordinator objects using the IDAES grid integration tools `Bidder`, `Tracker` and `DoubleLoopCoordinator`" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e743d93a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-06-29 10:50:13 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:14 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:14 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:15 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:16 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:16 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:17 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:18 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:18 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:19 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:20 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:20 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:21 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:22 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:23 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:24 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:24 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:25 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:26 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:26 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:27 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:28 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:28 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:29 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:29 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:30 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:31 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:31 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:32 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:33 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:33 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:34 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:35 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:35 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:36 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:36 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:37 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:38 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:38 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:39 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:40 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:40 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:41 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:41 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:42 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:42 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:43 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:44 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:44 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:45 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:46 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:46 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:47 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:47 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:48 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:49 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:49 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:50 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:51 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:51 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:52 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:53 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:53 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:54 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:55 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:55 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:56 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:57 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:57 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:58 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:58 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:50:59 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:00 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:00 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:01 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:02 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:02 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:03 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:04 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:04 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:05 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:06 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:06 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:07 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:08 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:08 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:09 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:09 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:10 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:11 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:11 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:12 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:13 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:13 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:14 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:14 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:15 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:16 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:16 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:17 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:18 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:18 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:19 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:20 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:20 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:21 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:21 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:22 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:23 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:24 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:24 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:25 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:26 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:26 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:27 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:28 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:28 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:29 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:30 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:30 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:31 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:32 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:33 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:33 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:34 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:35 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:35 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:36 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:37 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:37 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:38 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:39 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:40 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:41 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:41 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:42 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:43 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:44 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:44 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:45 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:46 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:46 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:47 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:48 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:48 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:49 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:50 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:50 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:51 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:52 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:52 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:53 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:54 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:55 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:55 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:56 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:57 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:57 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:58 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:51:59 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:52:00 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:52:00 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:52:01 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:52:02 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:52:02 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:52:03 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:52:04 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n", + "2022-06-29 10:52:04 [INFO] idaes.init.fs.pem.outlet_state: Property package initialization: optimal - Optimal Solution Found.\n" + ] + } + ], + "source": [ + "# Setup trackers, bidder, and coordinator\n", + "#################################################################################\n", + "# Tracker\n", + "mp_nuclear_tracker = MultiPeriodNuclear(\n", + " horizon=tracking_horizon,\n", + " model_data=model_data\n", + ")\n", + "nuclear_tracker = Tracker(\n", + " tracking_model_object=mp_nuclear_tracker,\n", + " n_tracking_hour=n_tracking_hour,\n", + " solver=solver,\n", + ")\n", + "\n", + "# Projection Tracker\n", + "mp_nuclear_projection_tracker = MultiPeriodNuclear(\n", + " horizon=tracking_horizon,\n", + " model_data=model_data\n", + ")\n", + "nuclear_projection_tracker = Tracker(\n", + " tracking_model_object=mp_nuclear_projection_tracker,\n", + " n_tracking_hour=n_tracking_hour,\n", + " solver=solver,\n", + ")\n", + "\n", + "# Bidder\n", + "mp_nuclear_bidder = MultiPeriodNuclear(\n", + " horizon=bidding_horizon,\n", + " model_data=model_data\n", + ")\n", + "nuclear_bidder = Bidder(\n", + " bidding_model_object=mp_nuclear_bidder,\n", + " n_scenario=n_scenario,\n", + " solver=solver,\n", + " forecaster=forecaster,\n", + ")\n", + "\n", + "# Coordinator\n", + "coordinator = DoubleLoopCoordinator(\n", + " bidder=nuclear_bidder,\n", + " tracker=nuclear_tracker,\n", + " projection_tracker=nuclear_projection_tracker,\n", + ")\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "52783019", + "metadata": {}, + "source": [ + "Create a plugin for the double loop simulation" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "46b92160", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a class to create the plugin\n", + "class PrescientPluginModule(ModuleType):\n", + " def __init__(self, get_configuration, register_plugins):\n", + " self.get_configuration = get_configuration\n", + " self.register_plugins = register_plugins\n", + "\n", + "\n", + "plugin_module = PrescientPluginModule(\n", + " get_configuration=coordinator.get_configuration,\n", + " register_plugins=coordinator.register_plugins,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "770f457e", + "metadata": {}, + "source": [ + "Set Prescient options and run double loop simulation\n", + "\n", + "**IMPORTANT** Before proceeding with the rest of the notebook:\n", + "\n", + "1. Install the `dispatches-sample-data` package by running `pip install dispatches-sample-data` in the terminal\n", + "\n", + "OR\n", + "\n", + "1. Download the RTS-GMLC dataset from [this repository](https://github.com/GridMod/RTS-GMLC) (or directly as a zipfile [here](https://github.com/GridMod/RTS-GMLC/archive/refs/heads/master.zip)) to your local machine\n", + "2. Update the value of the `rst_gmlc_data_dir` variable in the cell below to the appropriate location of the `RTS_Data/SourceData` subfolder on your local machine." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "473ced77", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Initializing simulation...\n", + "Did not find reserves.csv; assuming no reserves\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\Radhakrishna\\Anaconda3\\lib\\site-packages\\pandas\\io\\parsers.py:3339: FutureWarning: \n", + " Use pd.to_datetime instead.\n", + "\n", + " return generic_parser(date_parser, *date_cols)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Setting default t0 state in RTS-GMLC parser\n", + "Dates to simulate: 2020-07-10 to 2020-07-12\n", + "RUC activation hours: 0\n", + "Final RUC date: 2020-07-12\n", + "Using current day's forecasts for RUC solves\n", + "Using persistent forecast error model when projecting demand and renewables in SCED\n", + "\n", + "\n", + "Extracting scenario to simulate\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 6903\n", + "Number of nonzeros in inequality constraint Jacobian.: 536\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 4317\n", + " variables with only lower bounds: 864\n", + " variables with lower and upper bounds: 3309\n", + " variables with only upper bounds: 144\n", + "Total number of equality constraints.................: 4029\n", + "Total number of inequality constraints...............: 288\n", + " inequality constraints with only lower bounds: 288\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -1.3859730e+06 2.24e+05 3.41e-01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -1.6123076e+06 2.24e+03 5.20e+01 -1.0 2.24e+05 - 1.83e-02 9.90e-01f 1\n", + " 2 -1.6135259e+06 1.92e+03 4.45e+01 -1.0 2.24e+03 - 1.08e-01 1.43e-01f 1\n", + " 3 -1.6223937e+06 1.90e+01 6.61e+02 -1.0 1.92e+03 - 4.24e-01 9.90e-01f 1\n", + " 4 -1.6348273e+06 5.82e-11 1.05e+05 -1.0 3.17e+03 - 9.61e-02 1.00e+00f 1\n", + " 5 -1.6493558e+06 6.55e-11 3.27e+06 -1.0 3.47e+03 - 6.73e-01 1.00e+00f 1\n", + " 6 -1.7019474e+06 1.16e-10 2.89e+06 -1.0 1.13e+04 - 1.15e-01 1.00e+00f 1\n", + " 7 -1.7692682e+06 1.16e-10 1.75e+06 -1.0 1.43e+04 - 3.95e-01 1.00e+00f 1\n", + " 8 -1.8466290e+06 1.75e-10 6.99e+05 -1.0 2.30e+04 - 6.00e-01 6.49e-01f 1\n", + " 9 -1.8491837e+06 1.16e-10 3.16e+05 -1.0 3.90e+04 - 5.48e-01 1.11e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 -1.8764891e+06 2.33e-10 1.85e+05 -1.0 6.38e+04 - 4.16e-01 9.28e-02f 1\n", + " 11 -1.9114621e+06 2.33e-10 1.01e+05 -1.0 8.54e+04 - 4.51e-01 1.33e-01f 1\n", + " 12 -1.9327902e+06 2.33e-10 7.40e+04 -1.0 1.05e+05 - 2.69e-01 1.08e-01f 1\n", + " 13 -1.9474872e+06 2.33e-10 7.19e+04 -1.0 1.09e+05 - 2.85e-02 1.16e-01f 1\n", + " 14 -1.9516492e+06 3.49e-10 7.11e+04 -1.0 1.01e+05 - 1.12e-02 6.08e-02f 1\n", + " 15 -1.9530126e+06 2.33e-10 7.05e+04 -1.0 2.12e+05 - 8.29e-03 3.21e-02f 1\n", + " 16 -1.9542968e+06 2.33e-10 6.67e+04 -1.0 1.50e+05 - 5.36e-02 4.24e-02f 1\n", + " 17 -1.9551033e+06 3.49e-10 6.09e+04 -1.0 1.76e+05 - 8.74e-02 5.60e-02f 1\n", + " 18 -1.9556961e+06 3.49e-10 5.69e+04 -1.0 1.98e+05 - 6.59e-02 7.76e-02f 1\n", + " 19 -1.9561336e+06 2.33e-10 5.63e+04 -1.0 2.17e+05 - 9.86e-03 7.48e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 -1.9562155e+06 3.49e-10 5.21e+04 -1.0 2.20e+05 - 7.56e-02 2.22e-02f 1\n", + " 21 -1.9563980e+06 3.49e-10 4.56e+04 -1.0 2.39e+05 - 1.25e-01 6.19e-02f 1\n", + " 22 -1.9565528e+06 4.66e-10 4.40e+04 -1.0 2.69e+05 - 3.47e-02 6.78e-02f 1\n", + " 23 -1.9572926e+06 2.33e-10 4.15e+04 -1.0 2.70e+05 - 5.59e-02 3.30e-01f 1\n", + " 24 -1.9583173e+06 2.33e-10 3.76e+04 -1.0 2.04e+05 - 9.38e-02 4.72e-01f 1\n", + " 25 -1.9588767e+06 2.33e-10 3.53e+04 -1.0 1.62e+05 - 6.18e-02 3.20e-01f 1\n", + " 26 -1.9595936e+06 2.33e-10 2.99e+04 -1.0 1.57e+05 - 1.53e-01 4.18e-01f 1\n", + " 27 -1.9603247e+06 2.33e-10 2.22e+04 -1.0 1.86e+05 - 2.58e-01 4.76e-01f 1\n", + " 28 -1.9609164e+06 2.33e-10 2.12e+04 -1.0 2.37e+05 - 4.66e-02 4.54e-01f 1\n", + " 29 -1.9611095e+06 2.33e-10 1.89e+04 -1.0 2.10e+05 - 1.08e-01 2.09e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -1.9619544e+06 2.33e-10 1.83e+04 -1.0 5.05e+05 - 3.13e-02 3.60e-01f 1\n", + " 31 -1.9623736e+06 2.33e-10 1.44e+04 -1.0 4.00e+05 - 2.12e-01 2.19e-01f 1\n", + " 32 -1.9626521e+06 2.33e-10 1.29e+04 -1.0 2.38e+05 - 1.07e-01 2.73e-01f 1\n", + " 33 -1.9627399e+06 2.33e-10 1.26e+04 -1.0 4.07e+05 - 2.38e-02 3.78e-02f 1\n", + " 34 -1.9631712e+06 2.33e-10 1.22e+04 -1.0 4.91e+05 - 3.18e-02 1.39e-01f 1\n", + " 35 -1.9633127e+06 2.33e-10 1.18e+04 -1.0 9.72e+05 - 3.48e-02 2.25e-02f 1\n", + " 36 -1.9635669e+06 2.33e-10 1.05e+04 -1.0 5.30e+05 - 1.03e-01 7.83e-02f 1\n", + " 37 -1.9648518e+06 3.49e-10 1.02e+04 -1.0 4.91e+05 - 3.08e-02 2.95e-01f 1\n", + " 38 -1.9655376e+06 2.33e-10 9.75e+03 -1.0 4.59e+05 - 4.64e-02 2.04e-01f 1\n", + " 39 -1.9664644e+06 2.33e-10 8.87e+03 -1.0 3.40e+05 - 8.98e-02 2.55e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -1.9677810e+06 2.33e-10 8.58e+03 -1.0 5.23e+05 - 3.35e-02 2.77e-01f 1\n", + " 41 -1.9684681e+06 2.33e-10 8.07e+03 -1.0 1.13e+06 - 5.94e-02 9.33e-02f 1\n", + " 42 -1.9684933e+06 3.49e-10 7.52e+03 -1.0 6.92e+05 - 6.79e-02 3.66e-03f 1\n", + " 43 -1.9687015e+06 3.49e-10 7.45e+03 -1.0 7.40e+05 - 8.95e-03 3.09e-02f 1\n", + " 44 -1.9699982e+06 3.49e-10 6.60e+03 -1.0 7.24e+05 - 1.14e-01 2.27e-01f 1\n", + " 45 -1.9704242e+06 2.33e-10 6.26e+03 -1.0 7.17e+05 - 5.09e-02 1.13e-01f 1\n", + " 46 -1.9706546e+06 2.33e-10 6.05e+03 -1.0 7.74e+05 - 3.37e-02 5.04e-02f 1\n", + " 47 -1.9706934e+06 3.49e-10 5.68e+03 -1.0 6.18e+05 - 6.13e-02 1.12e-02f 1\n", + " 48 -1.9709649e+06 3.49e-10 5.66e+03 -1.0 7.13e+05 - 3.42e-03 4.14e-02f 1\n", + " 49 -1.9716946e+06 2.33e-10 5.48e+03 -1.0 6.59e+05 - 3.17e-02 1.15e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -1.9719232e+06 3.49e-10 5.12e+03 -1.0 8.36e+05 - 6.72e-02 3.37e-02f 1\n", + " 51 -1.9727345e+06 3.49e-10 5.06e+03 -1.0 8.38e+05 - 1.01e-02 1.22e-01f 1\n", + " 52 -1.9730047e+06 3.49e-10 4.53e+03 -1.0 4.35e+05 - 1.05e-01 6.75e-02f 1\n", + " 53 -1.9740668e+06 3.49e-10 4.25e+03 -1.0 6.61e+05 - 6.25e-02 2.33e-01f 1\n", + " 54 -1.9751838e+06 2.33e-10 3.97e+03 -1.0 7.88e+05 - 6.53e-02 2.03e-01f 1\n", + " 55 -1.9766411e+06 2.33e-10 3.66e+03 -1.0 8.27e+05 - 7.73e-02 2.15e-01f 1\n", + " 56 -1.9767909e+06 2.33e-10 3.45e+03 -1.0 1.11e+06 - 5.73e-02 2.15e-02f 1\n", + " 57 -1.9771673e+06 3.49e-10 3.25e+03 -1.0 1.12e+06 - 5.80e-02 5.03e-02f 1\n", + " 58 -1.9776393e+06 4.66e-10 3.16e+03 -1.0 8.65e+05 - 2.75e-02 5.98e-02f 1\n", + " 59 -1.9781238e+06 4.66e-10 3.03e+03 -1.0 9.90e+05 - 4.24e-02 5.91e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 -1.9786687e+06 4.66e-10 2.92e+03 -1.0 1.03e+06 - 3.52e-02 6.48e-02f 1\n", + " 61 -1.9792931e+06 4.66e-10 2.82e+03 -1.0 1.37e+06 - 3.53e-02 6.88e-02f 1\n", + " 62 -1.9793667e+06 3.49e-10 2.53e+03 -1.0 1.29e+06 - 1.01e-01 9.42e-03f 1\n", + " 63 -1.9796065e+06 3.49e-10 9.73e+03 -1.7 9.89e+05 - 3.48e-02 3.63e-02f 1\n", + " 64 -1.9798527e+06 4.66e-10 2.04e+05 -1.7 9.65e+05 - 7.27e-02 4.51e-02f 1\n", + " 65 -1.9801783e+06 4.66e-10 7.08e+04 -1.7 9.43e+05 - 4.66e-02 6.34e-02f 1\n", + " 66 -1.9817414e+06 3.49e-10 1.74e+06 -1.7 1.23e+06 - 4.17e-03 2.67e-01f 1\n", + " 67 -1.9817941e+06 3.49e-10 1.40e+06 -1.7 1.35e+06 - 5.86e-02 1.13e-02f 1\n", + " 68 -1.9820394e+06 3.49e-10 1.43e+06 -1.7 1.58e+06 - 3.28e-02 4.69e-02f 1\n", + " 69 -1.9825005e+06 3.49e-10 1.66e+06 -1.7 1.60e+06 - 3.17e-02 8.93e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 -1.9825646e+06 4.66e-10 1.32e+06 -1.7 1.41e+06 - 6.58e-02 1.31e-02f 1\n", + " 71 -1.9826569e+06 3.49e-10 1.10e+06 -1.7 1.22e+06 - 5.53e-02 2.13e-02f 1\n", + " 72 -1.9829488e+06 3.49e-10 1.26e+06 -1.7 1.20e+06 - 2.98e-02 7.59e-02f 1\n", + " 73 -1.9834577e+06 4.66e-10 1.37e+06 -1.7 1.35e+06 - 8.36e-02 1.39e-01f 1\n", + " 74 -1.9839376e+06 3.49e-10 1.65e+06 -1.7 1.45e+06 - 3.40e-02 1.31e-01f 1\n", + " 75 -1.9846501e+06 3.49e-10 2.02e+06 -1.7 1.45e+06 - 2.50e-02 1.68e-01f 1\n", + " 76 -1.9847461e+06 4.66e-10 1.82e+06 -1.7 1.21e+06 - 6.01e-02 2.95e-02f 1\n", + " 77 -1.9848199e+06 4.66e-10 1.81e+06 -1.7 1.45e+06 - 1.28e-02 1.79e-02f 1\n", + " 78 -1.9850346e+06 3.49e-10 1.82e+06 -1.7 1.41e+06 - 2.51e-02 4.87e-02f 1\n", + " 79 -1.9850548e+06 4.66e-10 1.55e+06 -1.7 1.31e+06 - 7.08e-02 6.34e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 -1.9853242e+06 4.66e-10 1.65e+06 -1.7 1.40e+06 - 1.43e-02 6.81e-02f 1\n", + " 81 -1.9853499e+06 4.66e-10 1.56e+06 -1.7 1.41e+06 - 2.72e-02 6.70e-03f 1\n", + " 82 -1.9856389e+06 4.66e-10 1.64e+06 -1.7 1.50e+06 - 1.11e-02 6.20e-02f 1\n", + " 83 -1.9856972e+06 4.66e-10 1.53e+06 -1.7 1.13e+06 - 4.03e-02 1.45e-02f 1\n", + " 84 -1.9858929e+06 4.66e-10 1.47e+06 -1.7 1.37e+06 - 4.20e-02 4.62e-02f 1\n", + " 85 -1.9864579e+06 4.66e-10 1.61e+06 -1.7 1.29e+06 - 3.39e-02 1.39e-01f 1\n", + " 86 -1.9865432e+06 4.66e-10 1.56e+06 -1.7 1.08e+06 - 2.72e-02 2.08e-02f 1\n", + " 87 -1.9873139e+06 3.49e-10 1.62e+06 -1.7 1.03e+06 - 7.36e-02 1.93e-01f 1\n", + " 88 -1.9873374e+06 4.66e-10 1.56e+06 -1.7 9.69e+05 - 2.51e-02 8.01e-03f 1\n", + " 89 -1.9876398e+06 5.82e-10 1.66e+06 -1.7 1.21e+06 - 6.66e-03 9.71e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90 -1.9876912e+06 6.98e-10 1.38e+06 -1.7 1.27e+06 - 1.06e-01 1.69e-02f 1\n", + " 91 -1.9881461e+06 5.82e-10 1.49e+06 -1.7 1.28e+06 - 5.78e-03 1.14e-01f 1\n", + " 92 -1.9881746e+06 6.98e-10 1.30e+06 -1.7 1.21e+06 - 8.21e-02 7.58e-03f 1\n", + " 93 -1.9887864e+06 6.98e-10 1.40e+06 -1.7 1.23e+06 - 1.19e-02 1.41e-01f 1\n", + " 94 -1.9888117e+06 6.98e-10 1.25e+06 -1.7 1.48e+06 - 7.22e-02 6.80e-03f 1\n", + " 95 -1.9896308e+06 5.82e-10 1.39e+06 -1.7 1.46e+06 - 2.59e-03 1.76e-01f 1\n", + " 96 -1.9897046e+06 5.82e-10 1.19e+06 -1.7 1.17e+06 - 9.98e-02 1.68e-02f 1\n", + " 97 -1.9901921e+06 5.82e-10 1.25e+06 -1.7 1.24e+06 - 1.18e-02 1.17e-01f 1\n", + " 98 -1.9902937e+06 5.82e-10 1.18e+06 -1.7 1.43e+06 - 4.24e-02 2.62e-02f 1\n", + " 99 -1.9903472e+06 6.98e-10 1.18e+06 -1.7 1.09e+06 - 6.04e-03 1.53e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100 -1.9905525e+06 5.82e-10 1.16e+06 -1.7 9.92e+05 - 2.96e-02 5.95e-02f 1\n", + " 101 -1.9907384e+06 6.98e-10 1.04e+06 -1.7 9.80e+05 - 8.85e-02 5.51e-02f 1\n", + " 102 -1.9909276e+06 8.15e-10 9.95e+05 -1.7 1.10e+06 - 5.04e-02 5.78e-02f 1\n", + " 103 -1.9912818e+06 9.31e-10 1.03e+06 -1.7 1.14e+06 - 4.69e-03 9.79e-02f 1\n", + " 104 -1.9913043e+06 6.98e-10 9.55e+05 -1.7 1.10e+06 - 5.57e-02 7.85e-03f 1\n", + " 105 -1.9915866e+06 8.15e-10 8.45e+05 -1.7 1.25e+06 - 1.10e-01 9.95e-02f 1\n", + " 106 -1.9919127e+06 9.31e-10 8.79e+05 -1.7 1.15e+06 - 4.06e-03 1.05e-01f 1\n", + " 107 -1.9923711e+06 9.31e-10 8.53e+05 -1.7 1.05e+06 - 6.33e-02 1.52e-01f 1\n", + " 108 -1.9923864e+06 9.31e-10 8.02e+05 -1.7 1.09e+06 - 4.62e-02 6.40e-03f 1\n", + " 109 -1.9927289e+06 9.31e-10 8.19e+05 -1.7 1.20e+06 - 2.10e-02 1.43e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110 -1.9928702e+06 9.31e-10 7.77e+05 -1.7 1.32e+06 - 5.74e-02 7.93e-02f 1\n", + " 111 -1.9930664e+06 9.31e-10 7.60e+05 -1.7 1.43e+06 - 4.56e-02 1.28e-01f 1\n", + " 112 -1.9932672e+06 9.31e-10 5.68e+05 -1.7 1.33e+06 - 2.29e-01 1.35e-01f 1\n", + " 113 -1.9934609e+06 8.15e-10 5.90e+05 -1.7 1.25e+06 - 4.72e-03 1.54e-01f 1\n", + " 114 -1.9935735e+06 8.15e-10 5.53e+05 -1.7 9.90e+05 - 6.90e-02 9.30e-02f 1\n", + " 115 -1.9937192e+06 8.15e-10 5.41e+05 -1.7 8.61e+05 - 4.28e-02 1.34e-01f 1\n", + " 116 -1.9939084e+06 8.15e-10 3.72e+05 -1.7 7.55e+05 - 2.95e-01 2.16e-01f 1\n", + " 117 -1.9939510e+06 9.31e-10 3.49e+05 -1.7 4.75e+05 - 6.78e-02 8.97e-02f 1\n", + " 118 -1.9940186e+06 1.16e-09 3.45e+05 -1.7 4.22e+05 - 3.82e-02 1.58e-01f 1\n", + " 119 -1.9941290e+06 5.82e-10 2.71e+05 -1.7 3.69e+05 - 2.33e-01 3.38e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 120 -1.9941315e+06 6.98e-10 1.89e+05 -1.7 1.75e+05 - 2.64e-01 1.93e-02f 1\n", + " 121 -1.9941985e+06 4.66e-10 2.08e+05 -1.7 1.88e+05 - 6.71e-03 4.86e-01f 1\n", + " 122 -1.9942431e+06 4.66e-10 1.80e+05 -1.7 2.08e+05 - 1.74e-01 5.52e-01f 1\n", + " 123 -1.9942685e+06 4.66e-10 1.37e+05 -1.7 3.82e+05 - 2.56e-01 5.09e-01f 1\n", + " 124 -1.9942932e+06 4.66e-10 1.04e+05 -1.7 9.62e+05 - 2.47e-01 4.57e-01f 1\n", + " 125 -1.9942992e+06 5.82e-10 3.61e+04 -1.7 3.03e+05 - 6.45e-01 3.38e-01f 1\n", + " 126 -1.9943002e+06 3.49e-10 2.91e+02 -1.7 1.06e+04 - 1.00e+00 8.33e-01f 1\n", + " 127 -1.9943001e+06 3.49e-10 3.17e+00 -1.7 1.80e+03 - 9.81e-02 1.00e+00f 1\n", + " 128 -1.9943114e+06 4.66e-10 1.01e+05 -3.8 6.48e+03 - 8.42e-01 8.93e-01f 1\n", + " 129 -1.9943128e+06 3.49e-10 1.51e-09 -3.8 7.59e+02 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 130 -1.9943129e+06 4.66e-10 1.35e+02 -5.7 4.87e+01 - 1.00e+00 9.91e-01f 1\n", + " 131 -1.9943129e+06 3.49e-10 1.84e-11 -5.7 4.17e-01 - 1.00e+00 1.00e+00f 1\n", + " 132 -1.9943129e+06 4.66e-10 1.31e+01 -7.0 5.59e-01 - 1.00e+00 9.25e-01f 1\n", + " 133 -1.9943129e+06 3.49e-10 9.09e-13 -7.0 2.83e-02 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 133\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -1.9943128662363144e+06 -1.9943128662363144e+06\n", + "Dual infeasibility......: 9.0949470177292824e-13 9.0949470177292824e-13\n", + "Constraint violation....: 5.8207660913467407e-11 3.4924596548080444e-10\n", + "Complementarity.........: 5.0927662373384102e-07 5.0927662373384102e-07\n", + "Overall NLP error.......: 5.0927662373384102e-07 5.0927662373384102e-07\n", + "\n", + "\n", + "Number of objective function evaluations = 134\n", + "Number of objective gradient evaluations = 134\n", + "Number of equality constraint evaluations = 134\n", + "Number of inequality constraint evaluations = 134\n", + "Number of equality constraint Jacobian evaluations = 134\n", + "Number of inequality constraint Jacobian evaluations = 134\n", + "Number of Lagrangian Hessian evaluations = 133\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 1.883\n", + "Total CPU secs in NLP function evaluations = 0.079\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Calculating PTDF Matrix Factorization\n", + "\n", + "Pyomo model construction time: 9.88\n", + "\n", + "Pyomo model solve time: 27.289525508880615\n", + "\n", + "Deterministic RUC Cost: 4145186.78\n", + "\n", + "Generator Commitments:\n", + "101_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "101_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "101_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "101_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "102_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "102_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "102_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "102_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "107_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "113_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "116_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "118_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_STEAM_2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "123_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "123_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "202_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "202_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "202_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "202_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "207_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "207_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CC_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "215_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "215_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "216_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "218_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "221_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "223_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "223_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "307_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "307_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "313_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "315_STEAM_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_7 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_8 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "316_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "318_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "321_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "322_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "322_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "323_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "323_CC_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "114_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "121_NUCLEAR_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "214_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "314_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "\n", + "Generator Dispatch Levels:\n", + "101_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_STEAM_3 : 76.00 76.00 66.00 76.00 76.00 73.33 66.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 76.00 76.00 76.00 76.00 60.70 60.70 45.30 76.00 76.00 76.00 \n", + "101_STEAM_4 : 76.00 76.00 73.67 76.00 76.00 67.33 67.67 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 76.00 76.00 76.00 76.00 60.70 49.30 47.70 76.00 76.00 76.00 \n", + "102_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_STEAM_3 : 45.30 45.30 40.00 45.30 45.30 40.00 40.00 45.30 45.30 60.70 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 60.70 60.70 60.70 45.30 45.30 40.00 40.00 40.00 45.30 45.30 60.70 \n", + "102_STEAM_4 : 45.30 45.30 40.00 45.30 45.30 40.00 40.00 45.30 45.30 60.70 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 60.70 60.70 60.70 45.30 45.30 40.00 39.97 34.97 45.30 45.30 60.70 \n", + "107_CC_1 : 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 231.70 312.55 293.30 293.30 293.30 328.29 355.00 355.00 355.00 293.30 231.70 231.70 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "113_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_3 : 93.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 70.03 93.00 124.00 124.00 124.00 125.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 124.00 124.00 | 124.00 123.66 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 \n", + "116_STEAM_1 : 93.00 62.00 62.00 93.00 62.00 62.00 62.00 76.43 93.00 124.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 124.00 | 124.00 124.00 103.09 93.00 93.00 62.00 62.00 62.00 62.00 62.00 93.00 93.00 \n", + "118_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 170.00 231.70 231.70 293.30 293.30 299.07 293.30 293.30 231.70 231.70 | 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "123_STEAM_2 : 93.00 62.00 62.00 93.00 67.34 62.00 62.00 93.00 93.00 93.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 124.00 | 124.00 93.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 93.00 93.00 \n", + "123_STEAM_3 : 210.00 140.00 140.00 140.00 140.00 140.00 140.00 140.00 210.00 262.51 280.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 335.15 | 280.00 280.00 210.00 210.00 210.00 140.00 140.00 140.00 140.00 140.00 140.00 210.00 \n", + "123_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_STEAM_3 : 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 45.30 60.70 71.70 60.70 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 45.30 | 45.30 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 \n", + "202_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_STEAM_3 : 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 60.70 60.70 60.70 60.70 60.70 60.70 60.70 61.31 66.78 69.28 76.00 72.78 76.00 60.70 60.70 | 60.70 60.70 60.70 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 43.09 \n", + "202_STEAM_4 : 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 60.70 60.70 60.70 60.70 60.70 60.70 60.70 60.70 60.70 60.70 76.00 60.70 61.28 60.70 60.70 | 60.70 60.70 60.70 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 45.30 \n", + "207_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "207_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CC_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "216_STEAM_1 : 93.00 93.00 77.00 93.00 93.00 77.00 77.00 93.00 93.00 93.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 124.00 | 124.00 124.00 93.00 93.00 93.00 93.00 68.97 62.00 62.00 69.61 93.00 93.00 \n", + "218_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "221_CC_1 : 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 185.94 231.70 231.70 293.30 293.30 293.30 293.30 293.30 293.30 293.30 293.30 293.30 293.30 231.70 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "223_STEAM_1 : 155.00 62.00 62.00 124.00 93.00 62.00 62.00 93.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 155.00 155.00 155.00 155.00 133.64 83.73 62.00 62.00 62.00 62.00 104.94 155.00 \n", + "223_STEAM_2 : 148.36 62.00 62.00 109.89 93.00 62.00 62.00 93.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 155.00 155.00 155.00 155.00 155.00 75.70 62.00 62.00 62.00 62.00 93.00 155.00 \n", + "223_STEAM_3 : 210.00 179.66 145.67 210.00 210.00 152.67 152.67 210.00 210.00 210.00 280.00 294.27 350.00 347.56 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 280.00 | 237.66 210.00 210.00 210.00 210.00 210.00 140.00 140.00 140.00 140.00 210.00 210.00 \n", + "223_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "313_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 170.00 293.30 293.30 293.30 293.30 293.30 293.30 293.30 231.70 231.70 | 231.70 231.70 231.70 231.70 231.70 231.70 231.70 231.70 231.70 231.70 231.70 231.70 \n", + "315_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_7 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_8 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "316_STEAM_1 : 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 124.00 124.00 124.00 124.00 125.00 150.04 129.00 155.00 155.00 155.00 155.00 155.00 155.00 124.00 124.00 | 124.00 124.00 124.00 108.29 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 \n", + "318_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "321_CC_1 : 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 231.70 231.70 293.30 293.30 293.30 293.30 293.30 293.30 293.30 293.30 293.30 293.30 231.70 | 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "322_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 170.00 231.70 293.30 355.00 355.00 355.00 231.70 170.00 170.00 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "323_CC_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 170.00 231.70 293.30 297.05 355.00 334.75 244.13 226.62 170.00 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "114_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "121_NUCLEAR_1 : 400.00 400.00 441.67 450.00 450.00 441.67 441.67 450.00 500.00 500.00 450.00 403.12 450.00 500.00 400.00 400.00 450.00 500.00 500.00 450.00 450.00 450.00 450.00 450.00 | 450.00 500.00 450.00 500.00 500.00 450.00 413.41 408.33 408.33 450.00 450.00 400.00 \n", + "214_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "314_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "\n", + "Generator Reserve Headroom:\n", + "101_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_STEAM_3 : 0.00 0.00 10.00 0.00 0.00 2.67 10.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 15.30 15.30 30.70 0.00 0.00 0.00 \n", + "101_STEAM_4 : 0.00 0.00 2.33 0.00 0.00 8.67 8.33 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 15.30 26.70 28.30 0.00 0.00 0.00 \n", + "102_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_STEAM_3 : 30.70 30.70 36.00 30.70 30.70 36.00 36.00 30.70 30.70 15.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 15.30 15.30 15.30 30.70 30.70 36.00 36.00 36.00 30.70 30.70 15.30 \n", + "102_STEAM_4 : 30.70 30.70 36.00 30.70 30.70 36.00 36.00 30.70 30.70 15.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 15.30 15.30 15.30 30.70 30.70 36.00 36.03 41.03 30.70 30.70 15.30 \n", + "107_CC_1 : 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 123.30 42.45 61.70 61.70 61.70 26.71 0.00 0.00 0.00 61.70 123.30 123.30 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "113_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_3 : 62.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 84.97 62.00 31.00 31.00 31.00 30.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 31.00 31.00 | 31.00 31.34 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 \n", + "116_STEAM_1 : 62.00 93.00 93.00 62.00 93.00 93.00 93.00 78.57 62.00 31.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 31.00 | 31.00 31.00 51.91 62.00 62.00 93.00 93.00 93.00 93.00 93.00 62.00 62.00 \n", + "118_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 123.30 123.30 61.70 61.70 55.93 61.70 61.70 123.30 123.30 | 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "123_STEAM_2 : 62.00 93.00 93.00 62.00 87.66 93.00 93.00 62.00 62.00 62.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 31.00 | 31.00 62.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 62.00 62.00 \n", + "123_STEAM_3 : 140.00 210.00 210.00 210.00 210.00 210.00 210.00 210.00 140.00 87.49 70.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14.85 | 70.00 70.00 140.00 140.00 140.00 210.00 210.00 210.00 210.00 210.00 210.00 140.00 \n", + "123_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_STEAM_3 : 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 30.70 15.30 4.30 15.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 30.70 | 30.70 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 \n", + "202_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_STEAM_3 : 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 15.30 15.30 15.30 15.30 15.30 15.30 15.30 14.69 9.22 6.72 0.00 3.22 0.00 15.30 15.30 | 15.30 15.30 15.30 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 32.91 \n", + "202_STEAM_4 : 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 15.30 15.30 15.30 15.30 15.30 15.30 15.30 15.30 15.30 15.30 0.00 15.30 14.72 15.30 15.30 | 15.30 15.30 15.30 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 30.70 \n", + "207_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "207_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CC_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "216_STEAM_1 : 62.00 62.00 78.00 62.00 62.00 78.00 78.00 62.00 62.00 62.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 31.00 | 31.00 31.00 62.00 62.00 62.00 62.00 86.03 93.00 93.00 85.39 62.00 62.00 \n", + "218_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "221_CC_1 : 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 169.06 123.30 123.30 61.70 61.70 61.70 61.70 61.70 61.70 61.70 61.70 61.70 61.70 123.30 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "223_STEAM_1 : 0.00 93.00 93.00 31.00 62.00 93.00 93.00 62.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 21.36 71.27 93.00 93.00 93.00 93.00 50.06 0.00 \n", + "223_STEAM_2 : 6.64 93.00 93.00 45.11 62.00 93.00 93.00 62.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 79.30 93.00 93.00 93.00 93.00 62.00 0.00 \n", + "223_STEAM_3 : 140.00 170.34 204.33 140.00 140.00 197.33 197.33 140.00 140.00 140.00 70.00 55.73 0.00 2.44 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 70.00 | 112.34 140.00 140.00 140.00 140.00 140.00 210.00 210.00 210.00 210.00 140.00 140.00 \n", + "223_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "313_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 61.70 61.70 61.70 61.70 61.70 61.70 61.70 123.30 123.30 | 123.30 123.30 123.30 123.30 123.30 123.30 123.30 123.30 123.30 123.30 123.30 123.30 \n", + "315_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_7 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_8 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "316_STEAM_1 : 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 31.00 31.00 31.00 31.00 30.00 4.96 26.00 0.00 0.00 0.00 0.00 0.00 0.00 31.00 31.00 | 31.00 31.00 31.00 46.71 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 \n", + "318_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "321_CC_1 : 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 123.30 123.30 61.70 61.70 61.70 61.70 61.70 61.70 61.70 61.70 61.70 61.70 123.30 | 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "322_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 123.30 61.70 0.00 0.00 0.00 123.30 185.00 185.00 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "323_CC_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 123.30 61.70 57.95 0.00 20.25 110.87 128.38 185.00 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "114_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "121_NUCLEAR_1 : 96.00 100.00 58.33 50.00 50.00 58.33 58.33 50.00 0.00 0.00 50.00 96.88 50.00 0.00 100.00 100.00 50.00 0.00 0.00 50.00 50.00 50.00 50.00 50.00 | 50.00 0.00 50.00 0.00 0.00 50.00 86.59 91.67 91.67 50.00 50.00 100.00 \n", + "214_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "314_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "Total : 1478.04 1854.74 1886.00 1602.51 1707.06 1878.00 1885.00 1666.97 1460.37 1137.69 883.66 661.41 547.80 305.18 351.66 557.70 727.69 452.43 357.76 322.03 366.56 638.39 980.28 1337.65 | 1558.54 1721.54 1939.41 1946.01 2075.06 2417.27 2624.52 2648.00 2670.00 2546.09 2316.76 2094.51 \n", + "\n", + "Fixed costs: 2844852.60\n", + "Variable costs: 1300334.19\n", + "\n", + "\n", + "Renewables curtailment summary (time-period, aggregate_quantity):\n", + "2020-07-10 02:00 141.61\n", + "2020-07-10 05:00 66.57\n", + "2020-07-10 06:00 9.02\n", + "2020-07-11 07:00 69.47\n", + "2020-07-11 08:00 20.07\n", + "Solving day-ahead market\n", + "Computing day-ahead prices using method LMP.\n", + "Simulating time_step 2020-07-10 00:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 1.6295791e+04 2.24e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 1.6194337e+04 2.24e+05 9.90e+01 -1.0 2.24e+05 - 4.50e-04 4.14e-04h 1\n", + " 2 2.1095734e+04 2.23e+05 1.00e+02 -1.0 2.24e+05 - 2.82e-04 1.54e-03h 1\n", + " 3 3.4715219e+04 2.23e+05 1.00e+02 -1.0 2.23e+05 - 1.44e-03 3.12e-03h 1\n", + " 4 3.7406410e+05 2.07e+05 1.09e+02 -1.0 2.23e+05 - 3.59e-03 7.25e-02h 1\n", + " 5 4.5104605e+05 2.03e+05 9.46e+01 -1.0 2.07e+05 - 8.18e-02 1.86e-02h 1\n", + " 6 2.9494995e+06 7.68e+04 1.30e+02 -1.0 2.03e+05 - 1.03e-01 6.21e-01h 1\n", + " 7 3.2498610e+06 5.96e+04 7.62e+01 -1.0 7.68e+04 - 3.74e-01 2.24e-01h 1\n", + " 8 4.0482102e+06 5.96e+02 1.01e+02 -1.0 5.96e+04 - 6.05e-03 9.90e-01h 1\n", + " 9 3.5941024e+06 5.74e+00 1.37e+03 -1.0 4.13e+03 - 6.26e-01 9.90e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.1741253e+06 1.16e-10 1.05e+05 -1.0 1.30e+04 - 7.19e-01 1.00e+00f 1\n", + " 11 1.9173545e+06 1.16e-10 3.16e+06 -1.0 5.28e+04 - 3.82e-01 4.69e-02f 1\n", + " 12 1.9114059e+06 1.75e-10 6.08e+06 -1.0 5.21e+04 - 4.87e-01 1.50e-03f 1\n", + " 13 1.3820124e+06 1.16e-10 6.76e+06 -1.0 5.21e+04 - 7.00e-01 1.60e-01f 1\n", + " 14 1.3721252e+06 1.16e-10 7.55e+06 -1.0 4.27e+04 - 8.99e-01 5.23e-03f 1\n", + " 15 9.8069865e+05 1.16e-10 5.21e+06 -1.0 4.15e+04 - 1.17e-01 3.08e-01f 1\n", + " 16 8.9878546e+05 1.16e-10 4.60e+06 -1.0 2.54e+05 - 9.00e-03 1.15e-01f 1\n", + " 17 7.3898245e+05 1.16e-10 3.47e+06 -1.0 2.64e+05 - 8.32e-02 2.42e-01f 1\n", + " 18 7.2211062e+05 1.16e-10 3.31e+06 -1.0 6.09e+04 - 3.47e-02 4.77e-02f 1\n", + " 19 4.5490423e+05 2.33e-10 2.23e+06 -1.0 5.19e+05 - 8.16e-03 3.18e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 4.5222600e+05 2.33e-10 2.25e+06 -1.0 3.52e+05 - 3.61e-01 4.71e-03f 1\n", + " 21 4.4238781e+05 2.33e-10 2.14e+06 -1.0 3.40e+04 - 2.98e-02 4.56e-02f 1\n", + " 22 1.7252882e+05 1.16e-10 1.05e+06 -1.0 3.34e+05 - 7.21e-03 5.00e-01f 1\n", + " 23 1.6978806e+05 2.33e-10 1.07e+06 -1.0 1.60e+05 - 6.97e-01 1.05e-02f 1\n", + " 24 1.5591587e+05 2.33e-10 9.84e+05 -1.0 8.02e+04 - 1.25e-02 7.93e-02f 1\n", + " 25 6.2552015e+04 1.16e-10 5.79e+05 -1.0 1.38e+05 - 1.14e-01 4.08e-01f 1\n", + " 26 6.1549451e+04 1.16e-10 5.79e+05 -1.0 7.76e+04 - 4.38e-01 7.93e-03f 1\n", + " 27 -3.0165854e+04 2.33e-10 2.55e+04 -1.0 7.65e+04 - 6.85e-02 9.46e-01f 1\n", + " 28 -3.0544237e+04 2.33e-10 2.57e+04 -1.0 9.26e+03 - 7.42e-01 1.36e-01f 1\n", + " 29 -3.2092346e+04 1.16e-10 9.51e+02 -1.0 3.49e+04 - 3.97e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.2421815e+04 1.16e-10 8.85e+05 -1.7 1.01e+04 - 8.88e-01 9.99e-01f 1\n", + " 31 -3.2418455e+04 1.16e-10 2.88e+05 -1.7 7.13e+04 - 6.78e-01 1.00e+00f 1\n", + " 32 -3.2408761e+04 1.16e-10 7.90e+04 -1.7 1.25e+05 - 7.26e-01 1.00e+00f 1\n", + " 33 -3.2397125e+04 1.75e-10 2.00e-07 -1.7 1.23e+05 - 1.00e+00 1.00e+00f 1\n", + " 34 -3.2487710e+04 2.33e-10 1.34e+05 -5.7 2.65e+05 - 7.37e-01 8.05e-01f 1\n", + " 35 -3.2506785e+04 1.16e-10 4.11e+04 -5.7 1.51e+05 - 8.76e-01 7.28e-01f 1\n", + " 36 -3.2513409e+04 1.16e-10 1.13e+04 -5.7 6.00e+04 - 7.91e-01 9.77e-01f 1\n", + " 37 -3.2513513e+04 1.16e-10 1.52e+03 -5.7 1.37e+03 - 8.68e-01 8.79e-01f 1\n", + " 38 -3.2513522e+04 1.16e-10 1.85e-11 -5.7 5.40e+01 - 1.00e+00 1.00e+00f 1\n", + " 39 -3.2513532e+04 1.16e-10 9.38e-13 -7.0 5.26e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 39\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.2513532217574715e+02 -3.2513532217574713e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.3244234505395520e-07 1.3244234505395521e-05\n", + "Overall NLP error.......: 1.3244234505395520e-07 1.3244234505395521e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 40\n", + "Number of objective gradient evaluations = 40\n", + "Number of equality constraint evaluations = 40\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 40\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 39\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.029\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 42614.68\n", + "Variable costs: 9629.81\n", + "\n", + "Number on/offs: 56\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 515.29\n", + "\n", + "Simulating time_step 2020-07-10 01:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.9763904e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.9847037e+04 2.91e+05 9.90e+01 -1.0 2.70e+04 - 4.12e-04 3.82e-04h 1\n", + " 2 -2.7672998e+04 2.91e+05 9.99e+01 -1.0 2.36e+04 - 3.93e-04 1.38e-03h 1\n", + " 3 -1.9285647e+04 2.89e+05 1.01e+02 -1.0 7.88e+03 - 1.05e-03 3.91e-03h 1\n", + " 4 -4.9468361e+03 2.88e+05 1.00e+02 -1.0 5.11e+03 - 5.88e-03 6.09e-03h 1\n", + " 5 2.1497734e+04 2.85e+05 9.90e+01 -1.0 4.76e+03 - 1.12e-02 1.08e-02h 1\n", + " 6 2.3335711e+04 2.84e+05 2.61e+02 -1.0 1.43e+05 - 6.58e-02 7.28e-04h 1\n", + " 7 2.2022619e+05 2.63e+05 9.53e+01 -1.0 8.80e+04 - 1.70e-03 7.51e-02h 1\n", + " 8 2.4305867e+05 2.61e+05 1.65e+02 -1.0 3.40e+04 - 9.44e-02 9.27e-03h 1\n", + " 9 6.1292681e+05 2.22e+05 1.51e+02 -1.0 2.79e+04 - 9.25e-02 1.50e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 8.2875295e+05 1.99e+05 1.04e+02 -1.0 2.37e+04 - 2.62e-01 1.04e-01h 1\n", + " 11 1.9138652e+06 7.92e+04 9.28e+01 -1.0 2.11e+04 - 3.02e-01 6.01e-01h 1\n", + " 12 1.9729866e+06 7.04e+04 6.13e+01 -1.0 8.07e+03 - 2.39e-01 1.11e-01h 1\n", + " 13 2.0325470e+06 5.87e+04 3.35e+01 -1.0 8.00e+03 - 3.15e-01 1.66e-01h 1\n", + " 14 2.0419695e+06 5.20e+04 3.66e+01 -1.0 1.16e+04 - 2.20e-01 1.14e-01h 1\n", + " 15 2.0421055e+06 5.18e+04 4.38e+01 -1.0 1.40e+04 - 3.33e-01 3.72e-03h 1\n", + " 16 2.0207688e+06 4.21e+04 3.40e+01 -1.0 2.48e+04 - 4.82e-02 1.87e-01f 1\n", + " 17 1.8832549e+06 2.38e+04 3.65e+01 -1.0 2.78e+04 - 4.36e-02 4.35e-01f 1\n", + " 18 1.8726596e+06 2.35e+04 3.67e+01 -1.0 4.29e+04 - 5.38e-03 1.46e-02f 1\n", + " 19 1.5420201e+06 1.27e+04 7.90e+01 -1.0 4.36e+04 - 5.00e-02 4.60e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.4082698e+06 1.17e+04 2.59e+02 -1.0 7.60e+04 - 1.53e-02 7.33e-02f 1\n", + " 21 1.1305355e+06 1.01e+04 2.28e+02 -1.0 8.71e+04 - 7.83e-02 1.43e-01f 1\n", + " 22 1.1276583e+06 1.00e+04 2.29e+02 -1.0 7.81e+04 - 3.41e-01 1.57e-03f 1\n", + " 23 9.0123423e+05 8.67e+03 1.97e+02 -1.0 8.19e+04 - 3.08e-01 1.37e-01f 1\n", + " 24 8.9847742e+05 8.65e+03 3.38e+02 -1.0 7.26e+04 - 8.03e-01 2.00e-03f 1\n", + " 25 5.2065682e+05 6.51e+03 2.67e+02 -1.0 4.74e+05 - 2.86e-01 2.47e-01f 1\n", + " 26 5.1275059e+05 6.48e+03 2.66e+02 -1.0 1.07e+06 - 4.02e-03 4.05e-03f 1\n", + " 27 5.0514454e+05 6.46e+03 2.64e+02 -1.0 1.08e+06 - 1.11e-04 3.08e-03f 1\n", + " 28 2.1767526e+05 5.84e+03 2.57e+02 -1.0 1.35e+06 - 1.37e-01 9.58e-02f 1\n", + " 29 2.1513657e+05 5.84e+03 3.27e+02 -1.0 9.32e+05 - 1.42e-01 1.11e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 1.9560982e+05 5.72e+03 4.77e+02 -1.0 5.94e+05 - 3.34e-01 1.98e-02f 1\n", + " 31 1.2298980e+05 4.83e+03 6.77e+02 -1.0 3.25e+05 - 6.97e-01 1.56e-01f 1\n", + " 32 1.7921602e+04 2.48e+03 1.79e+02 -1.0 1.17e+05 - 2.05e-01 4.86e-01f 1\n", + " 33 1.6557553e+04 2.44e+03 9.18e+02 -1.0 3.73e+04 - 6.49e-01 1.59e-02f 1\n", + " 34 -3.0341249e+04 5.27e+01 6.13e+02 -1.0 6.16e+04 - 4.47e-01 9.78e-01f 1\n", + " 35 -3.1172242e+04 2.71e+01 6.74e+03 -1.0 7.08e+04 - 3.69e-01 4.86e-01f 1\n", + " 36 -3.2081135e+04 4.99e+00 3.32e+04 -1.0 7.39e+04 - 5.15e-01 8.16e-01f 1\n", + " 37 -3.2067961e+04 3.74e+00 1.25e+05 -1.0 1.69e+04 - 5.23e-01 2.50e-01f 3\n", + " 38 -3.2111428e+04 1.97e+00 1.37e+05 -1.0 1.69e+04 - 5.77e-01 4.74e-01f 2\n", + " 39 -3.2126563e+04 9.83e-01 9.01e+04 -1.0 4.00e+04 - 3.67e-01 5.00e-01f 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.2131400e+04 4.92e-01 2.52e+05 -1.0 6.06e+04 - 6.48e-01 5.00e-01f 2\n", + " 41 -3.2126057e+04 1.16e-10 1.66e+06 -1.0 1.52e+05 - 4.06e-01 1.00e+00f 1\n", + " 42 -3.2111535e+04 1.16e-10 3.54e+05 -1.0 1.86e+05 - 9.44e-01 1.00e+00f 1\n", + " 43 -3.2070186e+04 1.16e-10 1.07e+05 -1.0 4.17e+05 - 6.98e-01 1.00e+00f 1\n", + " 44 -3.2060031e+04 1.16e-10 1.00e-06 -1.0 1.02e+05 - 1.00e+00 1.00e+00f 1\n", + " 45 -3.2504624e+04 1.16e-10 2.97e+06 -5.7 2.61e+05 - 6.62e-01 9.59e-01f 1\n", + " 46 -3.2556167e+04 1.16e-10 9.71e+05 -5.7 4.71e+05 - 6.87e-01 7.89e-01f 1\n", + " 47 -3.2576004e+04 1.16e-10 4.21e+05 -5.7 2.93e+05 - 5.80e-01 7.35e-01f 1\n", + " 48 -3.2580289e+04 1.16e-10 5.76e+04 -5.7 1.17e+05 - 8.51e-01 6.37e-01f 1\n", + " 49 -3.2582069e+04 1.16e-10 8.34e+03 -5.7 5.55e+04 - 8.46e-01 7.84e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -3.2582491e+04 2.33e-10 9.07e+02 -5.7 1.14e+04 - 8.96e-01 9.20e-01f 1\n", + " 51 -3.2582522e+04 2.33e-10 1.85e-11 -5.7 8.54e+02 - 1.00e+00 1.00e+00f 1\n", + " 52 -3.2582532e+04 2.33e-10 9.38e-13 -7.0 5.14e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 52\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.2582531842349084e+02 -3.2582531842349083e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.2589866307288661e-07 1.2589866307288661e-05\n", + "Overall NLP error.......: 1.2589866307288661e-07 1.2589866307288661e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 58\n", + "Number of objective gradient evaluations = 53\n", + "Number of equality constraint evaluations = 58\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 53\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 52\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.058\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 44722.68\n", + "Variable costs: 1726.33\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 409.29\n", + "\n", + "Simulating time_step 2020-07-10 02:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.9831603e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.9914035e+04 2.91e+05 9.90e+01 -1.0 2.70e+04 - 4.12e-04 3.82e-04h 1\n", + " 2 -2.7293183e+04 2.91e+05 9.99e+01 -1.0 2.36e+04 - 3.89e-04 1.38e-03h 1\n", + " 3 -1.6814045e+04 2.89e+05 1.01e+02 -1.0 7.95e+03 - 1.06e-03 3.91e-03h 1\n", + " 4 2.3768544e+04 2.85e+05 1.01e+02 -1.0 5.12e+03 - 5.88e-03 1.39e-02h 1\n", + " 5 3.4386026e+04 2.84e+05 9.76e+01 -1.0 2.46e+04 - 1.87e-02 3.58e-03h 1\n", + " 6 4.2554030e+04 2.84e+05 1.66e+02 -1.0 1.96e+05 - 5.41e-02 2.85e-03h 1\n", + " 7 1.9643424e+05 2.68e+05 9.12e+01 -1.0 1.56e+05 - 2.44e-02 5.51e-02h 1\n", + " 8 2.7153508e+05 2.60e+05 1.50e+02 -1.0 8.89e+04 - 8.46e-02 2.98e-02h 1\n", + " 9 6.1894038e+05 2.23e+05 1.51e+02 -1.0 2.76e+04 - 4.69e-02 1.44e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 8.0795899e+05 2.02e+05 1.07e+02 -1.0 2.37e+04 - 2.10e-01 9.15e-02h 1\n", + " 11 2.2044891e+06 4.80e+04 1.66e+02 -1.0 2.15e+04 - 1.43e-01 7.63e-01h 1\n", + " 12 2.2166520e+06 4.57e+04 1.68e+02 -1.0 5.43e+03 - 5.19e-03 4.79e-02h 1\n", + " 13 2.2607361e+06 3.66e+04 1.02e+02 -1.0 5.29e+03 - 3.32e-01 2.00e-01h 1\n", + " 14 2.2674556e+06 2.12e+04 1.07e+02 -1.0 6.65e+03 - 1.47e-01 4.22e-01h 1\n", + " 15 2.2667259e+06 2.11e+04 4.19e+01 -1.0 7.85e+03 - 4.69e-01 3.98e-03f 1\n", + " 16 2.2170914e+06 1.85e+04 7.17e+01 -1.0 1.46e+04 - 3.74e-01 1.22e-01f 1\n", + " 17 2.2138402e+06 1.84e+04 7.74e+01 -1.0 2.24e+04 - 4.35e-02 4.88e-03f 1\n", + " 18 1.8895881e+06 9.83e+03 4.13e+01 -1.0 2.43e+04 - 3.89e-02 4.66e-01f 1\n", + " 19 1.8753152e+06 9.68e+03 4.08e+01 -1.0 4.77e+04 - 1.45e-02 1.61e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.7544994e+06 8.69e+03 1.05e+03 -1.0 4.93e+04 - 6.41e-03 1.02e-01f 1\n", + " 21 1.5639079e+06 7.69e+03 9.76e+02 -1.0 8.69e+04 - 4.93e-02 1.14e-01f 1\n", + " 22 9.1815060e+05 4.67e+03 5.92e+02 -1.0 8.17e+04 - 2.17e-01 3.93e-01f 1\n", + " 23 9.1219784e+05 4.65e+03 5.89e+02 -1.0 5.50e+04 - 2.96e-03 4.34e-03f 1\n", + " 24 9.1177821e+05 4.65e+03 5.89e+02 -1.0 6.60e+04 - 1.19e-03 2.72e-04f 1\n", + " 25 8.4207154e+05 4.43e+03 5.61e+02 -1.0 6.88e+04 - 4.38e-01 4.68e-02f 1\n", + " 26 8.4083823e+05 4.42e+03 5.61e+02 -1.0 5.74e+04 - 5.45e-02 1.08e-03f 1\n", + " 27 6.3587758e+05 3.53e+03 4.47e+02 -1.0 6.78e+04 - 5.57e-02 2.02e-01f 1\n", + " 28 6.3368839e+05 3.52e+03 7.25e+02 -1.0 4.93e+04 - 8.28e-01 2.78e-03f 1\n", + " 29 4.8889456e+05 2.52e+03 3.59e+02 -1.0 1.02e+05 - 9.25e-02 2.85e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 4.7738706e+05 2.46e+03 3.27e+02 -1.0 9.86e+04 - 1.08e-03 2.19e-02f 1\n", + " 31 4.7616983e+05 2.46e+03 4.85e+02 -1.0 1.34e+06 - 1.34e-01 6.85e-04f 1\n", + " 32 1.4629334e+05 1.86e+03 2.36e+02 -1.0 1.02e+06 - 2.60e-03 2.44e-01f 1\n", + " 33 1.4172825e+05 1.84e+03 1.28e+03 -1.0 2.37e+05 - 7.80e-01 1.06e-02f 1\n", + " 34 1.3942507e+05 1.82e+03 1.62e+03 -1.0 8.82e+03 - 2.39e-01 1.35e-02f 1\n", + " 35 -2.5109853e+04 2.14e+01 9.70e+02 -1.0 8.70e+03 - 3.71e-01 9.88e-01f 1\n", + " 36 -2.6173720e+04 7.92e+00 4.23e+03 -1.0 1.08e+04 - 6.00e-01 6.29e-01f 1\n", + " 37 -2.6903133e+04 1.16e-10 1.99e+05 -1.0 2.04e+04 - 4.32e-01 1.00e+00f 1\n", + " 38 -2.7081136e+04 2.33e-10 3.15e+06 -1.0 2.09e+04 - 6.77e-01 1.00e+00f 1\n", + " 39 -2.7237475e+04 1.16e-10 1.75e+06 -1.0 1.97e+04 - 4.45e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.7292187e+04 1.16e-10 4.78e+05 -1.0 1.54e+04 - 7.26e-01 1.00e+00f 1\n", + " 41 -2.7299793e+04 1.16e-10 2.63e+05 -1.0 5.40e+04 - 4.50e-01 1.00e+00f 1\n", + " 42 -2.7293717e+04 2.33e-10 6.10e+04 -1.0 9.12e+04 - 7.68e-01 1.00e+00f 1\n", + " 43 -2.7270922e+04 1.16e-10 2.71e+04 -1.0 2.48e+05 - 5.55e-01 1.00e+00f 1\n", + " 44 -2.7242791e+04 1.16e-10 1.00e-06 -1.0 2.60e+05 - 1.00e+00 1.00e+00f 1\n", + " 45 -2.7730631e+04 2.33e-10 2.91e+06 -5.7 2.26e+05 - 7.03e-01 9.93e-01f 1\n", + " 46 -2.7769032e+04 1.16e-10 6.13e+05 -5.7 3.18e+05 - 7.90e-01 8.43e-01f 1\n", + " 47 -2.7780752e+04 2.33e-10 1.23e+05 -5.7 1.94e+05 - 7.97e-01 6.51e-01f 1\n", + " 48 -2.7783514e+04 1.16e-10 2.92e+04 -5.7 1.11e+05 - 7.55e-01 5.05e-01f 1\n", + " 49 -2.7785230e+04 1.16e-10 2.24e+03 -5.7 5.83e+04 - 9.15e-01 7.84e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -2.7785643e+04 1.16e-10 3.67e+01 -5.7 1.23e+04 - 9.85e-01 9.91e-01f 1\n", + " 51 -2.7785645e+04 1.16e-10 1.85e-11 -5.7 8.16e+01 - 1.00e+00 1.00e+00f 1\n", + " 52 -2.7785656e+04 1.16e-10 9.38e-13 -7.0 5.13e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 52\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.7785655649237475e+02 -2.7785655649237473e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.4245598329718347e-07 1.4245598329718346e-05\n", + "Overall NLP error.......: 1.4245598329718347e-07 1.4245598329718346e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 53\n", + "Number of objective gradient evaluations = 53\n", + "Number of equality constraint evaluations = 53\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 53\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 52\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.072\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 42058.68\n", + "Variable costs: 3974.22\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 125.38\n", + "\n", + "Simulating time_step 2020-07-10 03:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.5134230e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.5175195e+04 1.64e+05 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.3567274e+04 1.64e+05 9.99e+01 -1.0 2.66e+04 - 2.15e-04 8.26e-04h 1\n", + " 3 -1.7975736e+04 1.63e+05 1.00e+02 -1.0 1.84e+04 - 7.87e-04 1.79e-03h 1\n", + " 4 -1.1546914e+03 1.63e+05 1.00e+02 -1.0 5.26e+03 - 1.73e-03 4.39e-03h 1\n", + " 5 5.9839114e+04 1.60e+05 1.01e+02 -1.0 4.52e+03 - 6.14e-03 1.57e-02h 1\n", + " 6 2.8165170e+05 1.51e+05 9.92e+01 -1.0 2.38e+03 - 3.65e-02 5.71e-02h 1\n", + " 7 5.8009084e+05 1.39e+05 8.64e+01 -1.0 2.47e+03 - 1.07e-01 8.20e-02h 1\n", + " 8 9.1648679e+05 1.25e+05 7.53e+01 -1.0 2.77e+03 - 3.30e-01 1.01e-01h 1\n", + " 9 1.8858160e+06 8.31e+04 5.02e+01 -1.0 4.13e+03 - 3.63e-01 3.33e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.6676955e+06 4.61e+04 3.19e+01 -1.0 6.43e+03 - 2.36e-01 4.46e-01h 1\n", + " 11 2.7948609e+06 3.80e+04 2.36e+01 -1.0 8.48e+03 - 2.48e-01 1.75e-01h 1\n", + " 12 2.7960767e+06 3.79e+04 4.09e+01 -1.0 1.06e+04 - 2.69e-01 2.76e-03h 1\n", + " 13 3.0685721e+06 5.22e+03 5.32e+01 -1.0 1.41e+04 - 1.61e-01 8.62e-01h 1\n", + " 14 3.0599960e+06 5.13e+03 4.74e+01 -1.0 1.35e+04 - 2.59e-01 1.77e-02f 1\n", + " 15 2.6896698e+06 2.38e+03 1.40e+02 -1.0 3.11e+04 - 2.93e-02 5.36e-01f 1\n", + " 16 2.1545685e+06 1.15e+03 2.52e+03 -1.0 4.64e+04 - 1.68e-02 5.18e-01f 1\n", + " 17 2.1405793e+06 1.14e+03 2.47e+03 -1.0 8.33e+04 - 6.81e-02 6.07e-03f 1\n", + " 18 2.1381722e+06 1.14e+03 2.47e+03 -1.0 8.72e+04 - 8.22e-02 1.17e-03f 1\n", + " 19 1.1497382e+06 5.99e+02 1.30e+03 -1.0 8.92e+04 - 1.54e-01 4.74e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.1392619e+06 5.94e+02 1.86e+03 -1.0 5.26e+04 - 8.93e-01 8.14e-03f 1\n", + " 21 1.1307578e+06 5.90e+02 2.49e+03 -1.0 1.63e+05 - 2.45e-01 7.76e-03f 1\n", + " 22 1.0671754e+06 5.65e+02 2.29e+03 -1.0 5.89e+05 - 3.25e-03 4.14e-02f 1\n", + " 23 1.0602445e+06 5.64e+02 2.27e+03 -1.0 1.25e+06 - 3.94e-04 2.99e-03f 1\n", + " 24 6.5291250e+05 4.66e+02 1.76e+03 -1.0 1.36e+06 - 1.33e-01 1.74e-01f 1\n", + " 25 6.1489473e+05 4.44e+02 2.64e+03 -1.0 3.26e+05 - 3.23e-01 4.73e-02f 1\n", + " 26 6.1360442e+05 4.43e+02 2.64e+03 -1.0 7.93e+04 - 4.45e-03 2.72e-03f 1\n", + " 27 6.0263511e+05 4.36e+02 2.55e+03 -1.0 3.65e+05 - 1.66e-04 1.50e-02f 1\n", + " 28 5.9995303e+05 4.34e+02 5.30e+03 -1.0 4.90e+05 - 7.40e-01 3.37e-03f 1\n", + " 29 1.4091367e+05 1.26e+02 1.43e+03 -1.0 3.55e+05 - 2.00e-02 7.09e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -1.3250609e+04 1.69e+01 1.25e+02 -1.0 9.83e+04 - 8.82e-01 8.67e-01f 1\n", + " 31 -2.3066102e+04 1.78e-01 5.30e+04 -1.0 1.00e+04 - 4.37e-01 9.89e-01f 1\n", + " 32 -2.3274174e+04 1.16e-10 2.21e+06 -1.0 1.30e+04 - 5.37e-01 1.00e+00f 1\n", + " 33 -2.3395224e+04 1.16e-10 4.49e+06 -1.0 1.58e+04 - 3.92e-01 1.00e+00f 1\n", + " 34 -2.3482100e+04 1.16e-10 9.45e+05 -1.0 2.01e+04 - 7.89e-01 1.00e+00f 1\n", + " 35 -2.3531669e+04 1.16e-10 4.86e+05 -1.0 7.59e+04 - 4.86e-01 1.00e+00f 1\n", + " 36 -2.3528801e+04 1.16e-10 8.86e+04 -1.0 1.37e+05 - 8.18e-01 1.00e+00f 1\n", + " 37 -2.3499109e+04 5.82e-11 3.48e+04 -1.0 3.13e+05 - 6.07e-01 1.00e+00f 1\n", + " 38 -2.3476599e+04 1.16e-10 1.00e-06 -1.0 2.33e+05 - 1.00e+00 1.00e+00f 1\n", + " 39 -2.4052367e+04 5.82e-11 2.74e+06 -5.7 2.09e+05 - 7.11e-01 9.85e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.4108950e+04 1.16e-10 9.41e+05 -5.7 3.91e+05 - 6.72e-01 9.55e-01f 1\n", + " 41 -2.4120640e+04 1.16e-10 1.74e+05 -5.7 1.85e+05 - 8.14e-01 7.16e-01f 1\n", + " 42 -2.4122869e+04 1.16e-10 3.97e+04 -5.7 1.05e+05 - 7.68e-01 4.38e-01f 1\n", + " 43 -2.4124947e+04 2.33e-10 2.31e+03 -5.7 6.00e+04 - 9.40e-01 8.74e-01f 1\n", + " 44 -2.4125206e+04 1.16e-10 7.14e-01 -5.7 6.73e+03 - 1.00e+00 9.98e-01f 1\n", + " 45 -2.4125206e+04 1.16e-10 1.85e-11 -5.7 3.27e+01 - 1.00e+00 1.00e+00f 1\n", + " 46 -2.4125218e+04 1.16e-10 9.24e-13 -7.0 5.75e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 46\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.4125217852184076e+02 -2.4125217852184076e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.3463273041926242e-07 1.3463273041926242e-05\n", + "Overall NLP error.......: 1.3463273041926242e-07 1.3463273041926242e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 47\n", + "Number of objective gradient evaluations = 47\n", + "Number of equality constraint evaluations = 47\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 47\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 46\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.031\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 36982.68\n", + "Variable costs: 19063.23\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 739.98\n", + "\n", + "Simulating time_step 2020-07-10 04:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.1575886e+04 4.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.1616815e+04 4.00e+05 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -1.9772518e+04 3.99e+05 9.99e+01 -1.0 2.66e+04 - 2.15e-04 8.26e-04h 1\n", + " 3 -1.3882303e+04 3.99e+05 1.00e+02 -1.0 1.84e+04 - 8.03e-04 1.79e-03h 1\n", + " 4 3.3020110e+03 3.97e+05 1.00e+02 -1.0 5.35e+03 - 1.74e-03 4.47e-03h 1\n", + " 5 3.1480189e+04 3.94e+05 9.99e+01 -1.0 4.67e+03 - 6.37e-03 7.21e-03h 1\n", + " 6 1.4780767e+05 3.82e+05 9.94e+01 -1.0 2.39e+03 - 1.69e-02 2.96e-02h 1\n", + " 7 4.5003659e+05 3.52e+05 8.72e+01 -1.0 2.42e+03 - 1.05e-01 7.92e-02h 1\n", + " 8 1.3231927e+06 2.64e+05 7.17e+01 -1.0 2.71e+03 - 2.10e-01 2.50e-01h 1\n", + " 9 3.1082718e+06 7.87e+04 7.05e+01 -1.0 3.43e+03 - 3.41e-01 7.02e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.5665679e+06 1.25e+04 6.22e+01 -1.0 5.15e+03 - 2.73e-01 8.41e-01h 1\n", + " 11 3.5552131e+06 1.19e+04 8.13e+01 -1.0 7.08e+03 - 3.45e-01 4.93e-02f 1\n", + " 12 3.5535419e+06 1.18e+04 1.54e+02 -1.0 1.01e+04 - 2.66e-01 5.60e-03f 1\n", + " 13 3.5288934e+06 1.09e+04 1.83e+02 -1.0 1.33e+04 - 1.92e-01 7.29e-02f 1\n", + " 14 3.2577292e+06 4.30e+03 1.10e+02 -1.0 1.57e+04 - 1.09e-01 6.06e-01f 1\n", + " 15 3.2491085e+06 4.23e+03 6.05e+01 -1.0 1.98e+04 - 1.36e-01 1.71e-02f 1\n", + " 16 2.6787243e+06 7.88e+01 2.90e+03 -1.0 2.93e+04 - 2.60e-02 9.81e-01f 1\n", + " 17 2.4677531e+06 5.77e+01 1.13e+04 -1.0 4.10e+04 - 5.64e-02 2.67e-01f 1\n", + " 18 2.4594465e+06 5.75e+01 1.03e+04 -1.0 8.40e+04 - 1.79e-02 2.95e-03f 1\n", + " 19 2.4462876e+06 5.73e+01 9.00e+03 -1.0 8.87e+04 - 2.24e-02 4.82e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 9.8217585e+05 2.78e+01 3.68e+04 -1.0 9.18e+04 - 4.69e-02 5.15e-01f 1\n", + " 21 9.6652110e+05 2.75e+01 3.67e+04 -1.0 5.23e+04 - 5.26e-01 9.33e-03f 1\n", + " 22 9.6271982e+05 2.74e+01 1.58e+05 -1.0 5.27e+04 - 8.57e-01 3.11e-03f 1\n", + " 23 9.2192151e+05 2.62e+01 1.53e+05 -1.0 4.81e+04 - 6.01e-02 4.32e-02f 1\n", + " 24 8.8636632e+05 2.48e+01 1.38e+05 -1.0 5.40e+04 - 6.66e-04 5.29e-02f 1\n", + " 25 5.4583523e+05 2.07e+01 1.10e+05 -1.0 1.35e+06 - 1.32e-01 1.65e-01f 1\n", + " 26 4.9729253e+05 1.92e+01 1.59e+05 -1.0 4.03e+05 - 3.82e-01 7.27e-02f 1\n", + " 27 4.9599530e+05 1.91e+01 1.90e+05 -1.0 7.70e+04 - 1.68e-01 4.64e-03f 1\n", + " 28 3.4176727e+05 6.02e+00 7.52e+04 -1.0 7.64e+04 - 2.06e-03 6.85e-01f 1\n", + " 29 3.2925890e+05 5.85e+00 1.85e+05 -1.0 3.50e+05 - 4.57e-01 2.83e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -8.5376081e+03 2.07e+00 2.94e+05 -1.0 4.38e+05 - 4.83e-02 6.46e-01f 1\n", + " 31 -1.9856112e+04 8.10e-01 3.94e+05 -1.0 4.61e+03 - 9.44e-01 6.08e-01f 1\n", + " 32 -2.5187133e+04 2.33e-10 1.86e+06 -1.0 5.40e+03 - 2.89e-01 1.00e+00f 1\n", + " 33 -2.5196761e+04 1.16e-10 3.03e+06 -1.0 6.09e+03 - 5.77e-01 1.00e+00f 1\n", + " 34 -2.5232841e+04 1.16e-10 9.49e+05 -1.0 1.43e+04 - 6.87e-01 1.00e+00f 1\n", + " 35 -2.5266040e+04 1.16e-10 4.98e+05 -1.0 4.40e+04 - 4.76e-01 1.00e+00f 1\n", + " 36 -2.5273678e+04 1.75e-10 1.29e+05 -1.0 7.53e+04 - 7.40e-01 1.00e+00f 1\n", + " 37 -2.5258818e+04 2.33e-10 5.87e+04 -1.0 1.97e+05 - 5.46e-01 1.00e+00f 1\n", + " 38 -2.5234947e+04 2.33e-10 1.00e-06 -1.0 2.26e+05 - 1.00e+00 1.00e+00f 1\n", + " 39 -2.5756002e+04 1.16e-10 2.82e+06 -5.7 1.47e+05 - 7.04e-01 9.86e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.5773653e+04 1.16e-10 6.20e+05 -5.7 2.40e+05 - 7.67e-01 4.99e-01f 1\n", + " 41 -2.5795074e+04 1.16e-10 1.39e+05 -5.7 2.59e+05 - 7.74e-01 7.65e-01f 1\n", + " 42 -2.5798290e+04 1.16e-10 2.98e+04 -5.7 1.11e+05 - 7.57e-01 5.09e-01f 1\n", + " 43 -2.5800294e+04 1.16e-10 2.36e+03 -5.7 5.73e+04 - 8.89e-01 7.69e-01f 1\n", + " 44 -2.5800834e+04 2.33e-10 1.91e+02 -5.7 1.28e+04 - 9.54e-01 9.99e-01f 1\n", + " 45 -2.5800834e+04 2.33e-10 1.73e+02 -5.7 3.49e+02 - 9.35e-02 2.54e-02f 2\n", + " 46 -2.5800830e+04 2.33e-10 1.85e-11 -5.7 2.71e+01 - 1.00e+00 1.00e+00f 1\n", + " 47 -2.5800842e+04 1.16e-10 9.38e-13 -7.0 4.77e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 47\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.5800841623088422e+02 -2.5800841623088421e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.9738443098866608e-07 1.9738443098866609e-05\n", + "Overall NLP error.......: 1.9738443098866608e-07 1.9738443098866609e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 51\n", + "Number of objective gradient evaluations = 48\n", + "Number of equality constraint evaluations = 51\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 48\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 47\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.085\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 42758.68\n", + "Variable costs: 3953.92\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 741.06\n", + "\n", + "Simulating time_step 2020-07-10 05:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.3202408e+04 6.25e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.3244181e+04 6.25e+03 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.1377685e+04 6.24e+03 1.00e+02 -1.0 2.66e+04 - 2.15e-04 8.26e-04h 1\n", + " 3 -1.5264977e+04 6.23e+03 1.00e+02 -1.0 1.84e+04 - 8.03e-04 1.75e-03h 1\n", + " 4 3.4633925e+03 6.20e+03 1.00e+02 -1.0 5.26e+03 - 1.65e-03 4.46e-03h 1\n", + " 5 3.3772962e+04 6.16e+03 9.99e+01 -1.0 4.54e+03 - 6.39e-03 7.14e-03h 1\n", + " 6 1.5854260e+05 5.98e+03 9.94e+01 -1.0 2.38e+03 - 1.68e-02 2.94e-02h 1\n", + " 7 4.8415181e+05 5.51e+03 8.72e+01 -1.0 2.42e+03 - 1.05e-01 7.90e-02h 1\n", + " 8 1.4200401e+06 4.14e+03 7.18e+01 -1.0 2.71e+03 - 2.09e-01 2.48e-01h 1\n", + " 9 3.3549946e+06 1.24e+03 7.06e+01 -1.0 3.42e+03 - 3.41e-01 7.00e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.8713446e+06 1.97e+02 6.22e+01 -1.0 5.14e+03 - 2.75e-01 8.41e-01h 1\n", + " 11 3.8561927e+06 1.84e+02 7.73e+01 -1.0 7.08e+03 - 3.44e-01 6.77e-02f 1\n", + " 12 3.8548640e+06 1.83e+02 1.51e+02 -1.0 1.01e+04 - 2.72e-01 4.10e-03f 1\n", + " 13 3.4867961e+06 4.07e+01 1.61e+02 -1.0 1.33e+04 - 2.07e-01 7.78e-01f 1\n", + " 14 3.4769441e+06 4.00e+01 1.14e+02 -1.0 1.39e+04 - 1.95e-01 1.76e-02f 1\n", + " 15 2.9611400e+06 9.73e+00 1.05e+03 -1.0 2.51e+04 - 6.80e-02 7.57e-01f 1\n", + " 16 2.3550777e+06 4.88e+00 6.40e+03 -1.0 4.79e+04 - 3.18e-02 4.99e-01f 1\n", + " 17 2.3399266e+06 4.85e+00 6.36e+03 -1.0 8.41e+04 - 2.42e-02 5.77e-03f 1\n", + " 18 2.3385511e+06 4.85e+00 6.35e+03 -1.0 8.82e+04 - 3.09e-02 5.56e-04f 1\n", + " 19 1.7513486e+06 3.71e+00 4.86e+03 -1.0 9.14e+04 - 1.18e-01 2.36e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.7456633e+06 3.70e+00 4.84e+03 -1.0 7.51e+04 - 3.38e-01 2.71e-03f 1\n", + " 21 1.6463392e+06 3.49e+00 1.57e+04 -1.0 7.79e+04 - 8.81e-01 5.71e-02f 1\n", + " 22 1.1629531e+06 2.53e+00 8.54e+03 -1.0 7.65e+04 - 1.14e-01 2.74e-01f 1\n", + " 23 1.1575339e+06 2.52e+00 8.44e+03 -1.0 5.27e+04 - 1.33e-03 4.18e-03f 1\n", + " 24 1.1555599e+06 2.52e+00 8.43e+03 -1.0 1.36e+06 - 5.10e-04 7.15e-04f 1\n", + " 25 9.0744551e+05 2.35e+00 6.83e+03 -1.0 1.39e+06 - 2.50e-02 6.67e-02f 1\n", + " 26 9.0422518e+05 2.35e+00 9.63e+03 -1.0 1.11e+06 - 1.07e-01 1.16e-03f 1\n", + " 27 6.9766681e+05 2.05e+00 1.20e+04 -1.0 9.16e+05 - 2.62e-01 1.27e-01f 1\n", + " 28 6.5677944e+05 1.91e+00 1.66e+04 -1.0 2.68e+05 - 2.45e-01 6.72e-02f 1\n", + " 29 5.7266671e+05 1.50e+00 6.10e+03 -1.0 1.34e+05 - 3.27e-03 2.16e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.6453388e+05 1.49e+00 6.01e+03 -1.0 1.31e+06 - 3.29e-03 4.81e-03f 1\n", + " 31 4.3461671e+05 1.37e+00 5.74e+03 -1.0 1.29e+06 - 8.64e-02 8.13e-02f 1\n", + " 32 4.3312186e+05 1.37e+00 1.36e+04 -1.0 5.30e+05 - 1.77e-01 1.98e-03f 1\n", + " 33 4.0988275e+05 1.20e+00 6.69e+03 -1.0 6.18e+04 - 2.31e-03 1.20e-01f 1\n", + " 34 4.0354183e+05 1.19e+00 2.91e+04 -1.0 3.04e+05 - 4.53e-01 1.44e-02f 1\n", + " 35 8.7798682e+04 4.80e-01 1.81e+04 -1.0 3.94e+05 - 2.10e-02 5.95e-01f 1\n", + " 36 -1.6206437e+04 1.74e-01 1.54e+04 -1.0 1.18e+05 - 8.10e-01 6.38e-01f 1\n", + " 37 -2.4519027e+04 6.34e-02 3.22e+04 -1.0 1.34e+05 - 7.14e-01 6.36e-01f 1\n", + " 38 -2.8781166e+04 4.44e-04 6.13e+05 -1.0 1.13e+04 - 2.80e-01 9.93e-01f 1\n", + " 39 -2.8902117e+04 2.76e-04 9.83e+05 -1.0 4.57e+04 - 3.09e-01 3.78e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.8907376e+04 1.16e-10 1.93e+06 -1.0 1.04e+04 - 6.96e-01 1.00e+00f 1\n", + " 41 -2.8989158e+04 2.33e-10 6.99e+05 -1.0 3.58e+04 - 6.84e-01 1.00e+00f 1\n", + " 42 -2.9019730e+04 1.16e-10 3.56e+05 -1.0 9.98e+04 - 4.91e-01 1.00e+00f 1\n", + " 43 -2.9016540e+04 1.16e-10 4.86e+04 -1.0 1.51e+05 - 8.63e-01 1.00e+00f 1\n", + " 44 -2.8974987e+04 1.16e-10 2.07e+04 -1.0 4.11e+05 - 5.74e-01 1.00e+00f 1\n", + " 45 -2.8968295e+04 1.16e-10 1.00e-06 -1.0 1.51e+05 - 1.00e+00 1.00e+00f 1\n", + " 46 -2.9492436e+04 1.16e-10 2.40e+06 -5.7 1.76e+05 - 7.34e-01 9.75e-01f 1\n", + " 47 -2.9550678e+04 1.16e-10 1.16e+06 -5.7 4.13e+05 - 5.62e-01 9.90e-01f 1\n", + " 48 -2.9553714e+04 1.16e-10 3.51e+05 -5.7 1.62e+05 - 6.97e-01 3.62e-01f 1\n", + " 49 -2.9557959e+04 2.33e-10 6.53e+04 -5.7 1.80e+05 - 8.13e-01 6.04e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -2.9559614e+04 3.49e-10 1.45e+03 -5.7 7.41e+04 - 9.76e-01 7.55e-01f 1\n", + " 51 -2.9560044e+04 1.16e-10 2.22e+01 -5.7 1.60e+04 - 1.00e+00 9.50e-01f 1\n", + " 52 -2.9560052e+04 2.33e-10 1.85e-11 -5.7 1.83e+02 - 1.00e+00 1.00e+00f 1\n", + " 53 -2.9560062e+04 2.33e-10 9.24e-13 -7.0 5.25e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 53\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.9560062277089969e+02 -2.9560062277089968e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.2652855801677797e-07 1.2652855801677796e-05\n", + "Overall NLP error.......: 1.2652855801677797e-07 1.2652855801677796e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 54\n", + "Number of objective gradient evaluations = 54\n", + "Number of equality constraint evaluations = 54\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 54\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 53\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.097\n", + "Total CPU secs in NLP function evaluations = 0.003\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 45058.68\n", + "Variable costs: 1278.72\n", + "\n", + "Renewables curtailment reported at t=1 - total= 0.90\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 152.30\n", + "\n", + "Simulating time_step 2020-07-10 06:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.6810436e+04 2.15e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.6851886e+04 2.15e+05 9.90e+01 -1.0 2.69e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.4950089e+04 2.15e+05 1.00e+02 -1.0 2.65e+04 - 2.15e-04 8.26e-04h 1\n", + " 3 -1.8506102e+04 2.15e+05 1.00e+02 -1.0 1.83e+04 - 8.03e-04 1.79e-03h 1\n", + " 4 4.3854133e+02 2.14e+05 1.00e+02 -1.0 5.10e+03 - 1.74e-03 4.41e-03h 1\n", + " 5 3.1673903e+04 2.12e+05 9.99e+01 -1.0 4.26e+03 - 6.19e-03 7.21e-03h 1\n", + " 6 9.9120575e+04 2.09e+05 9.81e+01 -1.0 2.46e+03 - 1.68e-02 1.55e-02h 1\n", + " 7 1.1102833e+05 2.08e+05 9.82e+01 -1.0 2.94e+04 - 7.12e-04 2.68e-03h 1\n", + " 8 7.8713634e+05 1.77e+05 9.58e+01 -1.0 2.85e+04 - 8.70e-02 1.52e-01h 1\n", + " 9 1.4057386e+06 1.48e+05 8.17e+01 -1.0 1.76e+04 - 1.55e-01 1.65e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 4.1736758e+06 1.54e+04 9.52e+01 -1.0 1.51e+04 - 3.13e-01 8.96e-01h 1\n", + " 11 4.2434607e+06 4.83e+03 7.56e+01 -1.0 4.53e+03 - 2.38e-01 6.86e-01h 1\n", + " 12 4.1909568e+06 3.58e+03 5.87e+01 -1.0 5.98e+03 - 5.00e-01 2.59e-01f 1\n", + " 13 4.1898156e+06 3.57e+03 1.86e+02 -1.0 1.10e+04 - 2.14e-01 2.41e-03f 1\n", + " 14 3.7805604e+06 8.75e+02 2.65e+02 -1.0 1.35e+04 - 2.40e-01 7.55e-01f 1\n", + " 15 3.7682504e+06 8.60e+02 1.75e+02 -1.0 1.64e+04 - 1.56e-01 1.71e-02f 1\n", + " 16 3.3209947e+06 4.33e+02 1.16e+03 -1.0 2.67e+04 - 5.82e-02 4.97e-01f 1\n", + " 17 2.4593443e+06 1.62e+02 9.98e+03 -1.0 4.59e+04 - 2.89e-02 6.27e-01f 1\n", + " 18 2.4395365e+06 1.60e+02 9.90e+03 -1.0 8.48e+04 - 2.99e-02 7.13e-03f 1\n", + " 19 2.4382541e+06 1.60e+02 9.90e+03 -1.0 8.88e+04 - 3.67e-02 4.90e-04f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.9255423e+06 1.29e+02 7.95e+03 -1.0 9.12e+04 - 1.24e-01 1.96e-01f 1\n", + " 21 1.9204225e+06 1.29e+02 7.94e+03 -1.0 7.79e+04 - 3.02e-01 2.24e-03f 1\n", + " 22 1.2324770e+06 8.31e+01 1.01e+04 -1.0 8.05e+04 - 8.84e-01 3.54e-01f 1\n", + " 23 1.2211464e+06 8.26e+01 1.30e+04 -1.0 6.62e+05 - 1.18e-01 5.41e-03f 1\n", + " 24 1.2102489e+06 8.21e+01 1.28e+04 -1.0 8.00e+05 - 1.35e-03 6.33e-03f 1\n", + " 25 1.1503273e+06 8.06e+01 1.22e+04 -1.0 1.35e+06 - 6.08e-03 1.89e-02f 1\n", + " 26 1.1424320e+06 8.03e+01 1.61e+04 -1.0 1.30e+06 - 1.50e-01 3.31e-03f 1\n", + " 27 7.7496883e+05 6.64e+01 9.53e+03 -1.0 1.10e+06 - 3.12e-02 1.72e-01f 1\n", + " 28 7.4769806e+05 6.46e+01 2.26e+04 -1.0 3.88e+05 - 4.44e-01 2.83e-02f 1\n", + " 29 5.9641712e+05 5.92e+01 2.13e+04 -1.0 1.24e+06 - 1.00e-01 8.27e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.9454489e+05 5.91e+01 2.13e+04 -1.0 6.09e+05 - 1.25e-03 1.69e-03f 1\n", + " 31 5.9053725e+05 5.88e+01 3.67e+04 -1.0 3.97e+05 - 4.36e-01 5.16e-03f 1\n", + " 32 4.8445781e+05 4.38e+01 2.07e+04 -1.0 1.00e+05 - 7.23e-02 2.56e-01f 1\n", + " 33 4.7960735e+05 4.34e+01 2.13e+04 -1.0 4.28e+05 - 2.24e-02 7.26e-03f 1\n", + " 34 2.1803175e+04 1.29e+01 8.48e+03 -1.0 4.39e+05 - 4.00e-01 7.02e-01f 1\n", + " 35 9.4097318e+01 7.44e+00 8.39e+04 -1.0 3.56e+04 - 9.71e-01 4.24e-01f 1\n", + " 36 -2.9241156e+04 3.88e-02 2.48e+05 -1.0 3.18e+05 - 8.93e-02 9.95e-01f 1\n", + " 37 -2.9664715e+04 1.16e-10 2.93e+06 -1.0 3.75e+04 - 6.45e-01 1.00e+00f 1\n", + " 38 -2.9693344e+04 1.16e-10 1.41e+06 -1.0 3.29e+04 - 6.80e-01 1.00e+00f 1\n", + " 39 -2.9687840e+04 1.16e-10 5.43e+05 -1.0 7.45e+04 - 6.16e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.9673539e+04 2.33e-10 8.67e+04 -1.0 1.52e+05 - 8.40e-01 1.00e+00f 1\n", + " 41 -2.9639695e+04 2.33e-10 1.98e+04 -1.0 3.53e+05 - 7.72e-01 1.00e+00f 1\n", + " 42 -2.9636362e+04 1.16e-10 1.00e-06 -1.0 9.58e+04 - 1.00e+00 1.00e+00f 1\n", + " 43 -3.0179965e+04 2.33e-10 2.26e+06 -5.7 1.43e+05 - 7.34e-01 9.60e-01f 1\n", + " 44 -3.0233410e+04 1.16e-10 1.30e+06 -5.7 3.85e+05 - 4.83e-01 8.17e-01f 1\n", + " 45 -3.0252815e+04 1.16e-10 4.03e+05 -5.7 2.07e+05 - 6.94e-01 7.51e-01f 1\n", + " 46 -3.0255502e+04 1.16e-10 9.80e+04 -5.7 6.88e+04 - 7.47e-01 5.27e-01f 1\n", + " 47 -3.0257100e+04 1.16e-10 5.06e+03 -5.7 5.22e+04 - 9.32e-01 7.42e-01f 1\n", + " 48 -3.0257497e+04 1.16e-10 6.33e+02 -5.7 1.33e+04 - 1.00e+00 7.76e-01f 1\n", + " 49 -3.0257607e+04 1.16e-10 1.85e-11 -5.7 2.96e+03 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -3.0257618e+04 1.16e-10 9.38e-13 -7.0 4.06e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 50\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.0257617582493100e+02 -3.0257617582493098e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2884933365163805e-07 1.2884933365163804e-05\n", + "Overall NLP error.......: 1.2884933365163805e-07 1.2884933365163804e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 51\n", + "Number of objective gradient evaluations = 51\n", + "Number of equality constraint evaluations = 51\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 51\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 50\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.037\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 36982.68\n", + "Variable costs: 1335.31\n", + "\n", + "Renewables curtailment reported at t=1 - total= 2.92\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 3.00\n", + "\n", + "Simulating time_step 2020-07-10 07:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.7507713e+04 2.15e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.7549212e+04 2.15e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.5642066e+04 2.15e+05 1.00e+02 -1.0 2.56e+04 - 2.15e-04 8.26e-04h 1\n", + " 3 -1.9177004e+04 2.15e+05 1.00e+02 -1.0 1.83e+04 - 8.03e-04 1.79e-03h 1\n", + " 4 1.9511465e+02 2.14e+05 1.00e+02 -1.0 3.00e+03 - 1.74e-03 4.51e-03h 1\n", + " 5 3.1372445e+04 2.12e+05 9.96e+01 -1.0 2.36e+03 - 7.74e-03 7.22e-03h 1\n", + " 6 1.0973930e+05 2.08e+05 9.80e+01 -1.0 3.88e+03 - 1.73e-02 1.82e-02h 1\n", + " 7 1.2312601e+05 2.08e+05 2.68e+02 -1.0 4.13e+04 - 3.25e-01 3.29e-03h 1\n", + " 8 1.3594857e+05 2.07e+05 2.68e+02 -1.0 2.40e+04 - 4.32e-02 3.22e-03h 1\n", + " 9 1.6131296e+05 2.06e+05 2.71e+02 -1.0 1.62e+05 - 8.66e-03 6.21e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.8580393e+05 1.85e+05 3.76e+02 -1.0 1.04e+05 - 1.42e-04 1.03e-01h 1\n", + " 11 4.3575163e+06 1.84e+03 1.59e+02 -1.0 1.91e+04 - 8.46e-02 9.90e-01h 1\n", + " 12 4.2499130e+06 3.90e+02 8.40e+02 -1.0 4.10e+03 - 7.08e-02 7.89e-01f 1\n", + " 13 4.0721345e+06 3.69e+00 2.95e+03 -1.0 4.33e+03 - 4.58e-01 9.91e-01f 1\n", + " 14 3.7659604e+06 3.10e-01 2.26e+05 -1.0 7.56e+03 - 5.06e-01 9.16e-01f 1\n", + " 15 3.7565916e+06 3.05e-01 6.96e+05 -1.0 1.48e+04 - 2.48e-01 1.69e-02f 1\n", + " 16 3.0032118e+06 1.16e-10 3.21e+06 -1.0 1.99e+04 - 1.13e-01 1.00e+00f 1\n", + " 17 2.4441900e+06 1.16e-10 5.18e+06 -1.0 4.48e+04 - 3.95e-02 4.51e-01f 1\n", + " 18 2.1870884e+06 1.16e-10 5.36e+06 -1.0 7.25e+04 - 1.40e-02 1.03e-01f 1\n", + " 19 2.1838784e+06 1.16e-10 4.74e+06 -1.0 8.47e+04 - 7.89e-02 1.14e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.5723857e+06 1.16e-10 4.09e+06 -1.0 8.82e+04 - 1.74e-01 2.43e-01f 1\n", + " 21 1.5664573e+06 1.16e-10 9.96e+05 -1.0 7.16e+04 - 5.17e-01 2.79e-03f 1\n", + " 22 1.4264538e+06 1.75e-10 1.26e+06 -1.0 7.47e+04 - 8.30e-01 7.69e-02f 1\n", + " 23 1.1842560e+06 1.16e-10 1.13e+06 -1.0 8.66e+05 - 4.90e-02 9.32e-02f 1\n", + " 24 1.1815602e+06 1.16e-10 1.12e+06 -1.0 7.14e+05 - 5.60e-04 1.13e-03f 1\n", + " 25 7.3874495e+05 2.33e-10 9.52e+05 -1.0 1.45e+06 - 1.22e-01 1.44e-01f 1\n", + " 26 7.3478630e+05 2.33e-10 1.07e+06 -1.0 5.08e+05 - 2.90e-01 2.42e-03f 1\n", + " 27 5.5287969e+05 1.16e-10 1.02e+06 -1.0 2.29e+05 - 7.77e-01 1.98e-01f 1\n", + " 28 5.4702856e+05 2.33e-10 1.01e+06 -1.0 1.71e+05 - 1.06e-02 1.40e-02f 1\n", + " 29 5.2908640e+05 2.33e-10 9.76e+05 -1.0 3.13e+05 - 6.32e-03 3.16e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.2211757e+05 2.33e-10 9.90e+05 -1.0 3.01e+05 - 4.21e-01 1.25e-02f 1\n", + " 31 -6.9655425e+03 2.33e-10 7.08e+04 -1.0 3.64e+05 - 3.84e-02 8.96e-01f 1\n", + " 32 -2.1606971e+04 1.16e-10 3.20e+04 -1.0 4.32e+03 - 9.85e-01 6.94e-01f 1\n", + " 33 -2.7335590e+04 1.16e-10 2.20e+01 -1.0 3.59e+04 - 9.59e-01 1.00e+00f 1\n", + " 34 -2.7955960e+04 1.16e-10 1.26e+06 -3.8 4.19e+04 - 8.74e-01 1.00e+00f 1\n", + " 35 -2.7970287e+04 2.33e-10 3.11e+05 -3.8 1.75e+05 - 7.53e-01 1.00e+00f 1\n", + " 36 -2.7975611e+04 1.16e-10 1.07e+05 -3.8 1.44e+05 - 6.57e-01 7.55e-01f 1\n", + " 37 -2.7977833e+04 2.33e-10 1.50e-09 -3.8 6.90e+04 - 1.00e+00 1.00e+00f 1\n", + " 38 -2.7978875e+04 1.16e-10 1.87e+03 -5.7 2.76e+03 - 1.00e+00 8.74e-01f 1\n", + " 39 -2.7978986e+04 1.16e-10 2.94e+02 -5.7 3.42e+02 - 8.93e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.7978982e+04 1.16e-10 1.85e-11 -5.7 2.94e-01 - 1.00e+00 1.00e+00f 1\n", + " 41 -2.7978995e+04 1.16e-10 9.24e-13 -7.0 4.12e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 41\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.7978994558427422e+02 -2.7978994558427421e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2391379639051489e-07 1.2391379639051489e-05\n", + "Overall NLP error.......: 1.2391379639051489e-07 1.2391379639051489e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 42\n", + "Number of objective gradient evaluations = 42\n", + "Number of equality constraint evaluations = 42\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 42\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 41\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.040\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 36982.68\n", + "Variable costs: 2096.46\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 46.43\n", + "\n", + "Simulating time_step 2020-07-10 08:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.5279764e+04 1.70e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.5321384e+04 1.69e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.3087686e+04 1.69e+05 1.00e+02 -1.0 2.56e+04 - 2.15e-04 8.26e-04h 1\n", + " 3 -1.5801262e+04 1.69e+05 1.00e+02 -1.0 1.83e+04 - 8.03e-04 1.79e-03h 1\n", + " 4 1.6343893e+04 1.68e+05 1.01e+02 -1.0 3.00e+03 - 1.74e-03 6.91e-03h 1\n", + " 5 9.9064625e+04 1.65e+05 1.00e+02 -1.0 2.36e+03 - 1.07e-02 1.78e-02h 1\n", + " 6 1.8244531e+05 1.62e+05 9.45e+01 -1.0 4.70e+03 - 1.51e-01 1.83e-02h 1\n", + " 7 3.3222594e+05 1.56e+05 9.13e+01 -1.0 2.75e+04 - 5.71e-02 3.44e-02h 1\n", + " 8 4.4811201e+06 1.56e+03 1.97e+02 -1.0 2.46e+04 - 2.88e-01 9.90e-01h 1\n", + " 9 4.3967381e+06 1.81e+02 7.87e+02 -1.0 4.17e+03 - 1.60e-01 8.84e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 4.2399291e+06 1.64e+00 4.22e+03 -1.0 4.85e+03 - 5.41e-01 9.91e-01f 1\n", + " 11 3.9929870e+06 4.65e-01 3.74e+05 -1.0 1.05e+04 - 3.18e-01 7.16e-01f 1\n", + " 12 3.9861033e+06 4.57e-01 1.77e+05 -1.0 1.51e+04 - 9.02e-02 1.65e-02f 1\n", + " 13 3.5031940e+06 1.16e-10 2.56e+06 -1.0 1.27e+04 - 1.44e-03 1.00e+00f 1\n", + " 14 3.4432472e+06 2.33e-10 1.85e+05 -1.0 2.22e+04 - 3.14e-01 8.67e-02f 1\n", + " 15 3.0282271e+06 1.16e-10 1.97e+06 -1.0 3.92e+04 - 1.45e-02 2.99e-01f 1\n", + " 16 3.0167037e+06 2.33e-10 1.90e+06 -1.0 8.43e+04 - 1.32e-02 3.29e-03f 1\n", + " 17 1.4251007e+06 1.16e-10 3.70e+06 -1.0 8.84e+04 - 1.52e-02 4.28e-01f 1\n", + " 18 1.4111315e+06 1.16e-10 9.18e+05 -1.0 6.12e+04 - 4.49e-01 4.97e-03f 1\n", + " 19 1.3724041e+06 1.16e-10 4.41e+05 -1.0 6.41e+04 - 4.07e-01 1.45e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.0326213e+06 1.16e-10 1.40e+06 -1.0 6.38e+04 - 6.27e-01 1.27e-01f 1\n", + " 21 1.0235144e+06 1.75e-10 1.77e+06 -1.0 5.36e+04 - 4.98e-01 4.71e-03f 1\n", + " 22 9.2676421e+05 2.33e-10 1.63e+06 -1.0 4.42e+04 - 9.94e-03 6.46e-02f 1\n", + " 23 9.0212996e+05 1.16e-10 1.60e+06 -1.0 7.84e+05 - 2.33e-04 1.67e-02f 1\n", + " 24 5.3601956e+05 1.75e-10 1.30e+06 -1.0 1.35e+06 - 1.36e-01 1.78e-01f 1\n", + " 25 5.3044434e+05 1.75e-10 1.45e+06 -1.0 2.45e+05 - 5.20e-01 9.83e-03f 1\n", + " 26 5.2808861e+05 2.33e-10 1.44e+06 -1.0 8.38e+04 - 8.90e-03 8.86e-03f 1\n", + " 27 5.2035224e+05 2.33e-10 1.42e+06 -1.0 3.00e+05 - 6.57e-04 1.45e-02f 1\n", + " 28 3.9468796e+05 1.16e-10 1.09e+06 -1.0 2.77e+05 - 3.94e-01 2.46e-01f 1\n", + " 29 7.0858474e+03 2.33e-10 2.89e+05 -1.0 3.89e+05 - 1.59e-01 6.89e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -1.6141487e+04 5.82e-11 1.46e+05 -1.0 4.96e+03 - 9.76e-01 5.97e-01f 1\n", + " 31 -2.9694034e+04 1.16e-10 4.45e+01 -1.0 1.04e+04 - 9.77e-01 1.00e+00f 1\n", + " 32 -3.0241175e+04 1.16e-10 8.92e+05 -3.8 2.61e+04 - 9.11e-01 1.00e+00f 1\n", + " 33 -3.0254638e+04 1.16e-10 5.98e+05 -3.8 1.68e+05 - 3.30e-01 1.00e+00f 1\n", + " 34 -3.0256880e+04 1.16e-10 1.76e+05 -3.8 1.04e+05 - 7.06e-01 4.51e-01f 1\n", + " 35 -3.0259806e+04 1.16e-10 9.14e+03 -3.8 1.45e+05 - 9.48e-01 6.95e-01f 1\n", + " 36 -3.0261164e+04 1.16e-10 1.50e-09 -3.8 5.42e+04 - 1.00e+00 1.00e+00f 1\n", + " 37 -3.0262104e+04 2.33e-10 1.87e+03 -5.7 2.79e+03 - 1.00e+00 8.74e-01f 1\n", + " 38 -3.0262207e+04 1.16e-10 2.94e+02 -5.7 3.53e+02 - 8.93e-01 1.00e+00f 1\n", + " 39 -3.0262205e+04 2.33e-10 1.85e-11 -5.7 3.14e+00 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.0262216e+04 1.16e-10 9.38e-13 -7.0 4.04e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 40\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.0262215740905731e+02 -3.0262215740905729e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2391502661594992e-07 1.2391502661594991e-05\n", + "Overall NLP error.......: 1.2391502661594992e-07 1.2391502661594991e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 41\n", + "Number of objective gradient evaluations = 41\n", + "Number of equality constraint evaluations = 41\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 41\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 40\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.018\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 42562.68\n", + "Variable costs: 3993.85\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 104.99\n", + "\n", + "Simulating time_step 2020-07-10 09:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.7562709e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.7604004e+04 1.64e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.5455623e+04 1.64e+05 1.00e+02 -1.0 2.56e+04 - 2.15e-04 8.26e-04h 1\n", + " 3 -1.8674063e+04 1.63e+05 1.00e+02 -1.0 1.83e+04 - 8.03e-04 1.79e-03h 1\n", + " 4 1.1034787e+04 1.62e+05 1.01e+02 -1.0 3.00e+03 - 1.74e-03 6.91e-03h 1\n", + " 5 7.6849135e+04 1.60e+05 1.00e+02 -1.0 2.36e+03 - 1.09e-02 1.53e-02h 1\n", + " 6 2.6217309e+05 1.53e+05 9.26e+01 -1.0 2.39e+03 - 5.97e-02 4.36e-02h 1\n", + " 7 1.3984355e+06 1.10e+05 9.63e+01 -1.0 2.55e+03 - 1.18e-01 2.80e-01h 1\n", + " 8 2.0085492e+06 8.68e+04 5.85e+01 -1.0 2.89e+03 - 3.70e-01 2.11e-01h 1\n", + " 9 4.1928264e+06 8.68e+02 5.84e+01 -1.0 4.56e+03 - 4.22e-01 9.90e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.9673630e+06 8.52e+00 1.35e+03 -1.0 7.66e+03 - 2.75e-01 9.90e-01f 1\n", + " 11 3.7913538e+06 4.00e+00 3.66e+04 -1.0 9.49e+03 - 3.40e-01 5.30e-01f 1\n", + " 12 3.7848400e+06 3.94e+00 7.28e+04 -1.0 1.22e+04 - 2.94e-01 1.60e-02f 1\n", + " 13 3.1090655e+06 1.16e-10 3.67e+05 -1.0 2.35e+04 - 6.55e-02 1.00e+00f 1\n", + " 14 2.5904511e+06 1.16e-10 4.01e+06 -1.0 4.87e+04 - 3.46e-02 4.23e-01f 1\n", + " 15 2.5737351e+06 1.16e-10 3.84e+06 -1.0 8.41e+04 - 2.11e-02 4.89e-03f 1\n", + " 16 2.5715435e+06 2.33e-10 3.59e+06 -1.0 8.97e+04 - 2.72e-02 6.56e-04f 1\n", + " 17 1.7770299e+06 1.16e-10 3.82e+06 -1.0 9.17e+04 - 1.15e-01 2.35e-01f 1\n", + " 18 1.7608594e+06 1.75e-10 1.35e+06 -1.0 7.54e+04 - 3.14e-01 6.62e-03f 1\n", + " 19 1.6934561e+06 2.62e-10 1.21e+06 -1.0 7.77e+04 - 4.91e-01 3.01e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.6733854e+06 2.62e-10 2.56e+06 -1.0 7.75e+04 - 5.00e-01 1.11e-02f 1\n", + " 21 1.1351114e+06 2.04e-10 2.23e+06 -1.0 1.12e+05 - 5.97e-01 2.93e-01f 1\n", + " 22 1.1285569e+06 1.75e-10 2.22e+06 -1.0 1.93e+05 - 1.48e-02 5.06e-03f 1\n", + " 23 1.1228984e+06 1.75e-10 2.21e+06 -1.0 2.07e+05 - 1.77e-04 5.24e-03f 1\n", + " 24 6.9028524e+05 1.16e-10 1.78e+06 -1.0 1.39e+06 - 1.28e-01 1.82e-01f 1\n", + " 25 6.8183275e+05 1.16e-10 1.99e+06 -1.0 2.45e+05 - 4.89e-01 1.03e-02f 1\n", + " 26 6.7784263e+05 2.33e-10 1.97e+06 -1.0 2.48e+05 - 8.57e-03 7.66e-03f 1\n", + " 27 4.4442217e+05 2.33e-10 1.48e+06 -1.0 5.03e+05 - 1.17e-04 2.22e-01f 1\n", + " 28 4.4243347e+05 2.33e-10 1.52e+06 -1.0 1.56e+06 - 1.62e-01 9.62e-04f 1\n", + " 29 4.3513336e+05 3.49e-10 1.46e+06 -1.0 7.07e+04 - 2.09e-03 3.49e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 4.2770862e+05 1.75e-10 1.52e+06 -1.0 3.24e+05 - 4.40e-01 1.55e-02f 1\n", + " 31 1.7541548e+05 2.33e-10 6.39e+05 -1.0 3.06e+05 - 2.00e-02 5.42e-01f 1\n", + " 32 -1.7861655e+04 1.16e-10 2.08e+05 -1.0 2.19e+05 - 6.69e-01 6.74e-01f 1\n", + " 33 -2.9848373e+04 1.16e-10 4.19e+04 -1.0 2.10e+03 - 9.88e-01 8.27e-01f 1\n", + " 34 -3.1991054e+04 1.16e-10 4.16e+01 -1.0 5.17e+04 - 9.07e-01 1.00e+00f 1\n", + " 35 -3.2473494e+04 1.16e-10 9.82e+05 -3.8 3.67e+04 - 9.02e-01 1.00e+00f 1\n", + " 36 -3.2486921e+04 2.33e-10 2.08e+05 -3.8 1.92e+05 - 7.89e-01 9.00e-01f 1\n", + " 37 -3.2491448e+04 1.16e-10 7.27e+04 -3.8 1.55e+05 - 6.50e-01 8.81e-01f 1\n", + " 38 -3.2492559e+04 1.16e-10 1.50e-09 -3.8 4.71e+04 - 1.00e+00 1.00e+00f 1\n", + " 39 -3.2493404e+04 1.16e-10 1.87e+03 -5.7 3.32e+03 - 1.00e+00 8.74e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.2493500e+04 1.16e-10 2.94e+02 -5.7 4.19e+02 - 8.93e-01 1.00e+00f 1\n", + " 41 -3.2493498e+04 1.16e-10 1.85e-11 -5.7 1.21e+00 - 1.00e+00 1.00e+00f 1\n", + " 42 -3.2493508e+04 1.16e-10 9.24e-13 -7.0 4.09e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 42\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.2493507938465837e+02 -3.2493507938465835e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2391526194049904e-07 1.2391526194049903e-05\n", + "Overall NLP error.......: 1.2391526194049904e-07 1.2391526194049903e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 43\n", + "Number of objective gradient evaluations = 43\n", + "Number of equality constraint evaluations = 43\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 43\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 42\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.029\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 44022.68\n", + "Variable costs: 6778.56\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 145.80\n", + "\n", + "Simulating time_step 2020-07-10 10:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.9743600e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.9784891e+04 1.64e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.7963958e+04 1.64e+05 1.00e+02 -1.0 2.56e+04 - 2.15e-04 8.26e-04h 1\n", + " 3 -2.1915403e+04 1.63e+05 1.00e+02 -1.0 1.69e+04 - 8.03e-04 1.84e-03h 1\n", + " 4 4.2315471e+03 1.62e+05 1.01e+02 -1.0 2.47e+03 - 1.89e-03 6.90e-03h 1\n", + " 5 6.3415915e+04 1.60e+05 1.00e+02 -1.0 2.23e+03 - 1.11e-02 1.55e-02h 1\n", + " 6 2.2837639e+05 1.53e+05 9.25e+01 -1.0 2.26e+03 - 6.00e-02 4.38e-02h 1\n", + " 7 8.3266639e+05 1.27e+05 8.59e+01 -1.0 2.42e+03 - 1.19e-01 1.68e-01h 1\n", + " 8 1.0162832e+06 1.19e+05 7.21e+01 -1.0 2.79e+03 - 3.41e-01 6.13e-02h 1\n", + " 9 3.2577135e+06 2.29e+04 4.09e+01 -1.0 4.34e+03 - 4.87e-01 8.08e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.6104478e+06 2.29e+02 5.67e+01 -1.0 8.29e+03 - 2.02e-01 9.90e-01h 1\n", + " 11 3.3766225e+06 2.12e+00 4.14e+03 -1.0 9.49e+03 - 4.13e-01 9.91e-01f 1\n", + " 12 2.9321214e+06 2.33e-10 5.59e+05 -1.0 1.33e+04 - 2.19e-01 1.00e+00f 1\n", + " 13 2.2916350e+06 1.16e-10 6.49e+06 -1.0 3.75e+04 - 9.71e-02 7.42e-01f 1\n", + " 14 2.2774779e+06 1.16e-10 6.44e+06 -1.0 5.08e+04 - 7.69e-03 7.40e-03f 1\n", + " 15 2.2769316e+06 2.33e-10 6.32e+06 -1.0 8.89e+04 - 1.34e-02 2.37e-04f 1\n", + " 16 1.3223769e+06 1.16e-10 5.79e+06 -1.0 9.27e+04 - 1.66e-01 3.84e-01f 1\n", + " 17 1.3142689e+06 1.16e-10 2.96e+06 -1.0 6.43e+04 - 3.92e-01 4.37e-03f 1\n", + " 18 1.2989013e+06 1.16e-10 9.16e+05 -1.0 6.57e+04 - 8.81e-01 1.05e-02f 1\n", + " 19 8.8137897e+05 1.16e-10 7.06e+05 -1.0 6.16e+05 - 1.17e-01 1.89e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 8.7415790e+05 1.16e-10 7.67e+05 -1.0 1.24e+06 - 1.40e-01 3.08e-03f 1\n", + " 21 6.3384724e+05 1.75e-10 7.15e+05 -1.0 1.05e+06 - 2.98e-01 1.46e-01f 1\n", + " 22 4.7989275e+05 1.16e-10 5.73e+05 -1.0 3.52e+05 - 3.12e-01 2.31e-01f 1\n", + " 23 4.7583248e+05 1.16e-10 5.63e+05 -1.0 1.21e+05 - 4.27e-03 1.41e-02f 1\n", + " 24 4.6774896e+05 1.16e-10 6.35e+05 -1.0 3.50e+05 - 4.42e-01 1.55e-02f 1\n", + " 25 1.5046109e+05 1.16e-10 3.94e+04 -1.0 1.89e+05 - 2.90e-02 8.07e-01f 1\n", + " 26 -2.4237339e+04 2.33e-10 9.77e+03 -1.0 2.25e+05 - 6.21e-01 6.57e-01f 1\n", + " 27 -2.9732072e+04 1.16e-10 8.93e+03 -1.0 2.07e+03 - 9.89e-01 8.09e-01f 1\n", + " 28 -3.0622949e+04 3.49e-10 4.46e+01 -1.0 3.89e+04 - 9.50e-01 1.00e+00f 1\n", + " 29 -3.1106383e+04 1.16e-10 1.16e+06 -3.8 4.50e+04 - 8.84e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.1120732e+04 1.16e-10 3.20e+05 -3.8 1.90e+05 - 7.25e-01 9.01e-01f 1\n", + " 31 -3.1123471e+04 1.16e-10 1.13e+05 -3.8 1.38e+05 - 6.45e-01 5.64e-01f 1\n", + " 32 -3.1125842e+04 1.16e-10 6.94e+02 -3.8 9.94e+04 - 9.94e-01 9.32e-01f 1\n", + " 33 -3.1125997e+04 2.33e-10 1.50e-09 -3.8 6.66e+03 - 1.00e+00 1.00e+00f 1\n", + " 34 -3.1126846e+04 1.16e-10 1.87e+03 -5.7 3.34e+03 - 1.00e+00 8.74e-01f 1\n", + " 35 -3.1126942e+04 1.16e-10 2.94e+02 -5.7 4.28e+02 - 8.93e-01 1.00e+00f 1\n", + " 36 -3.1126941e+04 1.16e-10 1.85e-11 -5.7 2.41e-01 - 1.00e+00 1.00e+00f 1\n", + " 37 -3.1126951e+04 1.16e-10 9.24e-13 -7.0 4.11e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 37\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.1126951025445186e+02 -3.1126951025445185e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2391522653443052e-07 1.2391522653443052e-05\n", + "Overall NLP error.......: 1.2391522653443052e-07 1.2391522653443052e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 38\n", + "Number of objective gradient evaluations = 38\n", + "Number of equality constraint evaluations = 38\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 38\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 37\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.030\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 44802.68\n", + "Variable costs: 13658.74\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 338.84\n", + "\n", + "Simulating time_step 2020-07-10 11:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.8427442e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.8468747e+04 1.64e+05 9.90e+01 -1.0 2.67e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.6642248e+04 1.64e+05 1.00e+02 -1.0 2.63e+04 - 2.15e-04 8.26e-04h 1\n", + " 3 -2.0449351e+04 1.63e+05 1.00e+02 -1.0 1.83e+04 - 8.03e-04 1.87e-03h 1\n", + " 4 5.7642808e+03 1.62e+05 1.01e+02 -1.0 3.84e+03 - 2.04e-03 6.88e-03h 1\n", + " 5 7.5096003e+04 1.59e+05 1.00e+02 -1.0 3.46e+03 - 1.13e-02 1.81e-02h 1\n", + " 6 2.6060383e+05 1.51e+05 9.19e+01 -1.0 3.06e+03 - 6.64e-02 4.91e-02h 1\n", + " 7 9.0172788e+05 1.24e+05 8.40e+01 -1.0 2.61e+03 - 1.32e-01 1.79e-01h 1\n", + " 8 2.1128153e+06 7.29e+04 6.08e+01 -1.0 2.99e+03 - 3.41e-01 4.14e-01h 1\n", + " 9 3.5758317e+06 7.14e+03 5.59e+01 -1.0 4.50e+03 - 4.22e-01 9.02e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.5033616e+06 7.13e+01 1.94e+02 -1.0 7.54e+03 - 2.80e-01 9.90e-01f 1\n", + " 11 3.3266935e+06 3.28e+01 4.05e+03 -1.0 9.47e+03 - 3.66e-01 5.40e-01f 1\n", + " 12 3.3244989e+06 3.27e+01 8.21e+03 -1.0 1.26e+04 - 2.51e-01 4.33e-03f 1\n", + " 13 2.7044458e+06 1.64e-01 4.49e+04 -1.0 2.07e+04 - 9.33e-02 9.95e-01f 1\n", + " 14 2.5738486e+06 1.46e-01 4.24e+05 -1.0 4.63e+04 - 3.57e-02 1.13e-01f 1\n", + " 15 1.7515544e+06 9.18e-02 2.15e+06 -1.0 6.41e+04 - 6.62e-03 3.71e-01f 1\n", + " 16 1.7404517e+06 9.14e-02 1.12e+06 -1.0 7.85e+04 - 1.68e-01 4.37e-03f 1\n", + " 17 1.7284009e+06 9.10e-02 8.78e+05 -1.0 8.19e+04 - 3.61e-01 5.31e-03f 1\n", + " 18 1.2711745e+06 7.39e-02 1.41e+06 -1.0 8.55e+04 - 3.49e-01 1.87e-01f 1\n", + " 19 1.2659584e+06 7.37e-02 3.32e+06 -1.0 7.12e+04 - 5.37e-01 2.65e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 9.4629707e+05 5.83e-02 3.63e+06 -1.0 7.07e+04 - 6.57e-01 2.10e-01f 1\n", + " 21 8.5372179e+05 5.54e-02 3.50e+06 -1.0 9.48e+05 - 8.33e-02 4.93e-02f 1\n", + " 22 8.4941961e+05 5.52e-02 3.64e+06 -1.0 9.93e+05 - 1.29e-01 2.92e-03f 1\n", + " 23 5.3131654e+05 4.04e-02 2.72e+06 -1.0 8.10e+05 - 3.15e-01 2.68e-01f 1\n", + " 24 4.4799300e+05 2.65e-02 1.55e+06 -1.0 1.10e+05 - 9.80e-02 3.44e-01f 1\n", + " 25 4.3595498e+05 2.53e-02 1.45e+06 -1.0 1.12e+05 - 1.52e-03 4.43e-02f 1\n", + " 26 2.0496623e+05 1.16e-02 5.21e+05 -1.0 2.75e+05 - 3.94e-01 5.44e-01f 1\n", + " 27 -1.4183920e+04 4.68e-03 5.31e+04 -1.0 2.93e+05 - 3.54e-01 5.95e-01f 1\n", + " 28 -2.4588351e+04 1.72e-03 1.81e+05 -1.0 3.05e+03 - 9.86e-01 6.32e-01f 1\n", + " 29 -2.9473721e+04 2.33e-10 5.40e+02 -1.0 1.82e+04 - 9.72e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.9860350e+04 1.16e-10 2.00e-07 -1.7 3.42e+04 - 1.00e+00 1.00e+00f 1\n", + " 31 -2.9960875e+04 5.82e-11 5.77e+05 -5.7 2.30e+05 - 5.78e-01 8.66e-01f 1\n", + " 32 -2.9976406e+04 1.16e-10 2.23e+05 -5.7 1.52e+05 - 6.73e-01 8.03e-01f 1\n", + " 33 -2.9980502e+04 1.16e-10 1.22e+04 -5.7 6.79e+04 - 9.45e-01 9.42e-01f 1\n", + " 34 -2.9980596e+04 1.16e-10 1.27e+03 -5.7 1.24e+03 - 8.40e-01 5.33e-01f 1\n", + " 35 -2.9980674e+04 1.16e-10 8.56e+01 -5.7 5.69e+02 - 9.65e-01 1.00e+00f 1\n", + " 36 -2.9980674e+04 1.16e-10 1.85e-11 -5.7 1.21e+00 - 1.00e+00 1.00e+00h 1\n", + " 37 -2.9980684e+04 5.82e-11 9.38e-13 -7.0 4.12e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 37\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.9980684393758918e+02 -2.9980684393758918e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 1.2644591487210187e-07 1.2644591487210186e-05\n", + "Overall NLP error.......: 1.2644591487210187e-07 1.2644591487210186e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 38\n", + "Number of objective gradient evaluations = 38\n", + "Number of equality constraint evaluations = 38\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 38\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 37\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.029\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 42982.68\n", + "Variable costs: 19558.20\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 359.33\n", + "\n", + "Simulating time_step 2020-07-10 12:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.7332874e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.7374545e+04 2.91e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.5536215e+04 2.91e+05 1.00e+02 -1.0 2.56e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -1.9663940e+04 2.90e+05 1.00e+02 -1.0 1.68e+04 - 8.09e-04 1.94e-03h 1\n", + " 4 3.3314386e+03 2.88e+05 1.01e+02 -1.0 2.39e+03 - 2.99e-03 6.85e-03h 1\n", + " 5 4.7017564e+04 2.85e+05 9.95e+01 -1.0 4.06e+03 - 1.18e-02 1.29e-02h 1\n", + " 6 4.9228735e+04 2.84e+05 2.84e+02 -1.0 1.44e+05 - 8.53e-02 6.78e-04h 1\n", + " 7 5.0283995e+05 2.43e+05 1.02e+02 -1.0 7.41e+04 - 3.29e-02 1.45e-01h 1\n", + " 8 3.0969551e+06 2.43e+03 1.47e+02 -1.0 2.56e+04 - 1.44e-01 9.90e-01h 1\n", + " 9 3.0827999e+06 1.34e+03 5.11e+02 -1.0 3.09e+03 - 2.58e-02 4.47e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.0295703e+06 1.31e+01 1.34e+03 -1.0 3.20e+03 - 3.75e-01 9.90e-01f 1\n", + " 11 2.9466905e+06 3.06e+00 4.58e+04 -1.0 5.02e+03 - 5.57e-01 7.67e-01f 1\n", + " 12 2.7159562e+06 1.16e-10 5.88e+05 -1.0 1.05e+04 - 3.15e-01 1.00e+00f 1\n", + " 13 2.4184178e+06 5.82e-11 6.78e+06 -1.0 1.21e+04 - 2.94e-01 1.00e+00f 1\n", + " 14 1.8511060e+06 1.16e-10 6.38e+06 -1.0 3.43e+04 - 5.98e-02 1.00e+00f 1\n", + " 15 1.5830782e+06 5.82e-11 6.29e+06 -1.0 5.49e+04 - 1.44e-02 1.68e-01f 1\n", + " 16 1.5788738e+06 5.82e-11 5.70e+06 -1.0 8.31e+04 - 9.27e-02 1.91e-03f 1\n", + " 17 7.1935487e+05 5.82e-11 5.69e+06 -1.0 8.70e+04 - 2.67e-03 3.88e-01f 1\n", + " 18 7.1377591e+05 1.16e-10 2.78e+06 -1.0 5.75e+04 - 5.11e-01 3.21e-03f 1\n", + " 19 6.7504773e+05 2.33e-10 1.03e+06 -1.0 5.98e+04 - 6.30e-01 3.24e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.9017586e+05 1.16e-10 2.06e+05 -1.0 5.72e+04 - 8.00e-01 9.29e-02f 1\n", + " 21 5.8678460e+05 1.16e-10 1.99e+05 -1.0 1.45e+05 - 2.96e-02 1.05e-02f 1\n", + " 22 5.6912508e+05 1.16e-10 1.99e+05 -1.0 1.31e+05 - 4.39e-04 4.87e-02f 1\n", + " 23 4.3906586e+05 1.16e-10 1.14e+05 -1.0 2.78e+05 - 4.30e-01 2.52e-01f 1\n", + " 24 6.6469425e+02 1.16e-10 9.99e+04 -1.0 5.53e+05 - 1.20e-01 5.97e-01f 1\n", + " 25 -1.4700727e+04 1.16e-10 2.10e+03 -1.0 7.74e+03 - 9.79e-01 4.58e-01f 1\n", + " 26 -2.8458884e+04 2.33e-10 4.03e+04 -1.7 2.31e+03 - 9.87e-01 9.92e-01f 1\n", + " 27 -2.8559750e+04 2.33e-10 2.90e+02 -1.7 4.05e+04 - 9.97e-01 1.00e+00f 1\n", + " 28 -2.8548615e+04 5.82e-11 2.00e-07 -1.7 1.33e+05 - 1.00e+00 1.00e+00f 1\n", + " 29 -2.8662431e+04 1.16e-10 7.06e+05 -5.7 2.48e+05 - 5.56e-01 9.09e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.8675729e+04 1.16e-10 7.83e+04 -5.7 1.05e+05 - 8.50e-01 6.98e-01f 1\n", + " 31 -2.8681273e+04 1.16e-10 1.22e+04 -5.7 5.02e+04 - 8.91e-01 9.57e-01f 1\n", + " 32 -2.8681421e+04 1.16e-10 1.70e+03 -5.7 1.72e+03 - 8.70e-01 9.20e-01f 1\n", + " 33 -2.8681430e+04 1.16e-10 1.85e-11 -5.7 1.26e+02 - 1.00e+00 1.00e+00f 1\n", + " 34 -2.8681441e+04 2.33e-10 9.38e-13 -7.0 4.10e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 34\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.8681441153736966e+02 -2.8681441153736967e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 3.2452344603764988e-07 3.2452344603764985e-05\n", + "Overall NLP error.......: 3.2452344603764988e-07 3.2452344603764985e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 35\n", + "Number of objective gradient evaluations = 35\n", + "Number of equality constraint evaluations = 35\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 35\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 34\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.027\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 44438.68\n", + "Variable costs: 21667.73\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 104.01\n", + "\n", + "Simulating time_step 2020-07-10 13:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.6082729e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.6123735e+04 1.64e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.4585559e+04 1.64e+05 1.00e+02 -1.0 2.56e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -1.9648580e+04 1.63e+05 1.01e+02 -1.0 1.68e+04 - 7.93e-04 1.94e-03h 1\n", + " 4 3.0348345e+00 1.62e+05 1.01e+02 -1.0 2.39e+03 - 2.15e-03 6.84e-03h 1\n", + " 5 5.3126499e+04 1.59e+05 1.00e+02 -1.0 2.23e+03 - 1.13e-02 1.82e-02h 1\n", + " 6 1.9431124e+05 1.51e+05 9.29e+01 -1.0 2.26e+03 - 6.17e-02 4.90e-02h 1\n", + " 7 6.5677798e+05 1.26e+05 8.25e+01 -1.0 2.49e+03 - 1.41e-01 1.70e-01h 1\n", + " 8 1.6034447e+06 7.27e+04 6.10e+01 -1.0 2.91e+03 - 3.37e-01 4.22e-01h 1\n", + " 9 2.7247731e+06 6.96e+03 5.60e+01 -1.0 4.42e+03 - 4.23e-01 9.04e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.6975758e+06 6.95e+01 1.92e+02 -1.0 7.46e+03 - 2.80e-01 9.90e-01f 1\n", + " 11 2.5000202e+06 5.32e-01 1.48e+04 -1.0 9.40e+03 - 3.66e-01 9.92e-01f 1\n", + " 12 2.2259061e+06 1.16e-10 1.69e+06 -1.0 1.14e+04 - 2.81e-01 1.00e+00f 1\n", + " 13 1.7476363e+06 5.82e-11 8.52e+06 -1.0 2.89e+04 - 8.71e-02 1.00e+00f 1\n", + " 14 1.3303773e+06 5.82e-11 8.44e+06 -1.0 5.39e+04 - 9.19e-03 2.72e-01f 1\n", + " 15 1.3236266e+06 1.16e-10 7.34e+06 -1.0 8.08e+04 - 1.30e-01 3.23e-03f 1\n", + " 16 1.3096828e+06 1.16e-10 5.10e+06 -1.0 8.47e+04 - 3.06e-01 7.98e-03f 1\n", + " 17 6.2083819e+05 1.16e-10 3.73e+06 -1.0 8.79e+04 - 2.68e-01 3.78e-01f 1\n", + " 18 6.0998364e+05 1.16e-10 2.66e+05 -1.0 5.70e+04 - 9.29e-01 1.17e-02f 1\n", + " 19 5.6213880e+05 1.16e-10 2.45e+05 -1.0 1.55e+05 - 7.94e-02 5.95e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.6084181e+05 2.33e-10 2.45e+05 -1.0 1.45e+05 - 9.97e-04 3.34e-03f 1\n", + " 21 5.5146255e+05 1.75e-10 1.42e+05 -1.0 3.56e+05 - 4.22e-01 1.63e-02f 1\n", + " 22 3.2997373e+05 1.16e-10 1.34e+05 -1.0 1.62e+05 - 5.26e-02 5.90e-01f 1\n", + " 23 -1.0698603e+04 1.16e-10 1.15e+05 -1.0 4.71e+05 - 1.40e-01 5.91e-01f 1\n", + " 24 -2.0556869e+04 1.16e-10 2.08e+03 -1.0 5.62e+03 - 9.82e-01 5.15e-01f 1\n", + " 25 -2.7169307e+04 1.16e-10 4.46e+04 -1.7 2.07e+03 - 9.89e-01 9.95e-01f 1\n", + " 26 -2.7195538e+04 1.16e-10 2.00e-07 -1.7 5.63e+04 - 1.00e+00 1.00e+00f 1\n", + " 27 -2.7287348e+04 1.16e-10 2.40e+05 -5.7 1.90e+05 - 6.95e-01 8.15e-01f 1\n", + " 28 -2.7308859e+04 2.33e-10 1.06e+05 -5.7 1.60e+05 - 7.21e-01 8.26e-01f 1\n", + " 29 -2.7313654e+04 1.16e-10 2.83e+03 -5.7 6.28e+04 - 9.69e-01 9.63e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.7313760e+04 1.16e-10 4.76e+02 -5.7 5.84e+02 - 8.70e-01 9.15e-01f 1\n", + " 31 -2.7313767e+04 1.16e-10 1.85e-11 -5.7 4.51e+01 - 1.00e+00 1.00e+00f 1\n", + " 32 -2.7313778e+04 1.16e-10 9.13e-13 -7.0 4.14e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 32\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.7313778099523239e+02 -2.7313778099523239e+04\n", + "Dual infeasibility......: 9.1304741545172874e-13 9.1304741545172874e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 3.2554899141017316e-07 3.2554899141017318e-05\n", + "Overall NLP error.......: 3.2554899141017316e-07 3.2554899141017318e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 33\n", + "Number of objective gradient evaluations = 33\n", + "Number of equality constraint evaluations = 33\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 33\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 32\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.023\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 43818.68\n", + "Variable costs: 27847.00\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 273.54\n", + "\n", + "Simulating time_step 2020-07-10 14:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.4765463e+04 1.86e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.4806788e+04 1.86e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.3370324e+04 1.86e+05 1.00e+02 -1.0 2.56e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -1.9119081e+04 1.85e+05 1.00e+02 -1.0 1.68e+04 - 8.09e-04 1.94e-03h 1\n", + " 4 -2.8633248e+03 1.84e+05 1.01e+02 -1.0 2.26e+03 - 3.02e-03 6.85e-03h 1\n", + " 5 4.4342014e+04 1.81e+05 1.00e+02 -1.0 2.23e+03 - 1.18e-02 1.94e-02h 1\n", + " 6 1.7633403e+05 1.71e+05 9.09e+01 -1.0 2.27e+03 - 1.09e-01 5.48e-02h 1\n", + " 7 7.4500040e+05 1.28e+05 8.67e+01 -1.0 2.57e+03 - 1.14e-01 2.51e-01h 1\n", + " 8 1.5577219e+06 6.63e+04 6.37e+01 -1.0 2.95e+03 - 3.60e-01 4.81e-01h 1\n", + " 9 2.3137285e+06 6.73e+03 5.88e+01 -1.0 4.67e+03 - 3.67e-01 8.99e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.3261840e+06 6.71e+01 1.81e+02 -1.0 7.16e+03 - 3.35e-01 9.90e-01h 1\n", + " 11 2.2167633e+06 4.87e-01 1.79e+04 -1.0 9.70e+03 - 3.45e-01 9.93e-01f 1\n", + " 12 2.0534864e+06 1.16e-10 2.04e+06 -1.0 1.12e+04 - 2.62e-01 1.00e+00f 1\n", + " 13 1.6804529e+06 1.16e-10 8.30e+06 -1.0 2.78e+04 - 1.04e-01 1.00e+00f 1\n", + " 14 1.2642124e+06 1.46e-10 8.21e+06 -1.0 4.92e+04 - 1.08e-02 2.85e-01f 1\n", + " 15 1.2571542e+06 1.46e-10 6.92e+06 -1.0 8.15e+04 - 1.57e-01 3.39e-03f 1\n", + " 16 1.2434220e+06 1.16e-10 3.33e+05 -1.0 8.36e+04 - 9.52e-01 7.97e-03f 1\n", + " 17 5.1631882e+05 1.16e-10 2.81e+05 -1.0 9.50e+04 - 1.56e-01 3.70e-01f 1\n", + " 18 5.0896787e+05 1.16e-10 1.21e+04 -1.0 5.56e+04 - 9.57e-01 6.43e-03f 1\n", + " 19 4.9392749e+05 5.82e-11 6.77e+03 -1.0 5.02e+04 - 4.41e-01 2.78e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.5216721e+05 5.82e-11 6.73e+03 -1.0 1.07e+05 - 6.84e-03 4.65e-01f 1\n", + " 21 1.5838033e+05 1.16e-10 2.80e+03 -1.0 2.41e+05 - 5.83e-01 3.28e-01f 1\n", + " 22 -2.6937152e+04 1.16e-10 1.06e+03 -1.0 1.63e+05 - 6.22e-01 9.73e-01f 1\n", + " 23 -2.9299239e+04 1.16e-10 3.81e+04 -1.7 3.24e+03 - 9.89e-01 9.85e-01f 1\n", + " 24 -2.9312097e+04 1.16e-10 4.78e+02 -1.7 8.15e+04 - 9.94e-01 1.00e+00f 1\n", + " 25 -2.9300049e+04 2.33e-10 2.00e-07 -1.7 9.15e+04 - 1.00e+00 1.00e+00f 1\n", + " 26 -2.9390341e+04 5.82e-11 3.86e+05 -5.7 2.21e+05 - 6.25e-01 8.18e-01f 1\n", + " 27 -2.9411361e+04 5.82e-11 3.30e+04 -5.7 1.05e+05 - 8.50e-01 7.81e-01f 1\n", + " 28 -2.9417536e+04 2.33e-10 4.13e+03 -5.7 5.33e+04 - 9.41e-01 9.68e-01f 1\n", + " 29 -2.9417643e+04 1.16e-10 7.73e+02 -5.7 7.00e+02 - 9.46e-01 7.77e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.9417671e+04 1.16e-10 1.85e-11 -5.7 1.53e+02 - 1.00e+00 1.00e+00f 1\n", + " 31 -2.9417680e+04 1.16e-10 9.38e-13 -7.0 4.13e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 31\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.9417680285220615e+02 -2.9417680285220613e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2766012563040392e-07 1.2766012563040392e-05\n", + "Overall NLP error.......: 1.2766012563040392e-07 1.2766012563040392e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 32\n", + "Number of objective gradient evaluations = 32\n", + "Number of equality constraint evaluations = 32\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 32\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 31\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.032\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 109114.67\n", + "Variable costs: 33817.63\n", + "\n", + "Number on/offs: 2\n", + "Sum on/off ramps: 340.00\n", + "Sum nominal ramps: 416.18\n", + "\n", + "Simulating time_step 2020-07-10 15:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.6869365e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.6952029e+04 2.91e+05 9.90e+01 -1.0 2.60e+04 - 4.12e-04 3.82e-04h 1\n", + " 2 -2.5514174e+04 2.91e+05 9.99e+01 -1.0 2.22e+04 - 3.89e-04 1.38e-03h 1\n", + " 3 -1.6794566e+04 2.89e+05 1.01e+02 -1.0 5.99e+03 - 1.08e-03 6.69e-03h 1\n", + " 4 2.9908520e+03 2.85e+05 1.01e+02 -1.0 2.76e+03 - 9.33e-03 1.39e-02h 1\n", + " 5 3.7803919e+03 2.85e+05 3.54e+02 -1.0 1.22e+05 - 1.03e-01 5.16e-04h 1\n", + " 6 4.9450258e+05 2.04e+05 2.71e+02 -1.0 3.00e+04 - 3.31e-02 2.84e-01h 1\n", + " 7 9.5611486e+05 1.27e+05 1.83e+02 -1.0 2.17e+04 - 3.12e-01 3.75e-01h 1\n", + " 8 1.4729700e+06 3.91e+04 1.16e+02 -1.0 1.34e+04 - 3.89e-01 6.93e-01h 1\n", + " 9 1.6412983e+06 3.91e+02 1.26e+02 -1.0 6.36e+03 - 2.11e-01 9.90e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.5560777e+06 3.62e+00 3.20e+03 -1.0 7.59e+03 - 5.62e-01 9.91e-01f 1\n", + " 11 1.3564780e+06 1.16e-10 7.09e+05 -1.0 1.37e+04 - 4.67e-02 1.00e+00f 1\n", + " 12 1.0972765e+06 1.16e-10 7.81e+06 -1.0 1.53e+04 - 2.16e-01 1.00e+00f 1\n", + " 13 7.4653732e+05 8.73e-11 7.55e+06 -1.0 4.89e+04 - 3.31e-02 5.55e-01f 1\n", + " 14 7.3756369e+05 1.16e-10 7.17e+06 -1.0 8.85e+04 - 5.01e-02 6.61e-03f 1\n", + " 15 7.3684254e+05 1.16e-10 5.68e+05 -1.0 8.97e+04 - 9.21e-01 7.21e-04f 1\n", + " 16 5.2780196e+04 1.16e-10 5.42e+05 -1.0 5.79e+05 - 4.61e-02 3.89e-01f 1\n", + " 17 4.8309477e+04 2.33e-10 3.34e+05 -1.0 7.45e+05 - 3.84e-01 3.02e-03f 1\n", + " 18 1.7588936e+04 1.16e-10 1.49e+04 -1.0 5.81e+04 - 9.55e-01 4.95e-02f 1\n", + " 19 5.1670677e+03 1.46e-10 8.82e+03 -1.0 3.87e+04 - 4.08e-01 2.93e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.3691465e+03 1.16e-10 3.17e+03 -1.0 9.49e+04 - 6.40e-01 1.12e-01f 1\n", + " 21 -2.7492994e+04 1.16e-10 5.25e+01 -1.0 6.47e+03 - 9.83e-01 9.93e-01f 1\n", + " 22 -2.8102717e+04 1.16e-10 8.74e+05 -3.8 2.73e+04 - 9.08e-01 9.96e-01f 1\n", + " 23 -2.8111183e+04 1.16e-10 2.17e+05 -3.8 1.73e+05 - 7.58e-01 8.73e-01f 1\n", + " 24 -2.8114733e+04 1.16e-10 9.92e+04 -3.8 1.53e+05 - 5.53e-01 1.00e+00f 1\n", + " 25 -2.8116062e+04 1.16e-10 1.03e+03 -3.8 6.45e+04 - 9.90e-01 1.00e+00f 1\n", + " 26 -2.8116094e+04 1.16e-10 1.50e-09 -3.8 1.24e+03 - 1.00e+00 1.00e+00f 1\n", + " 27 -2.8116894e+04 1.16e-10 1.87e+03 -5.7 3.46e+03 - 1.00e+00 8.74e-01f 1\n", + " 28 -2.8116994e+04 5.82e-11 2.94e+02 -5.7 4.44e+02 - 8.93e-01 1.00e+00f 1\n", + " 29 -2.8116992e+04 1.16e-10 1.85e-11 -5.7 1.90e-02 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.8117002e+04 2.33e-10 9.24e-13 -7.0 4.12e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 30\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.8117002241856699e+02 -2.8117002241856699e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.2391525778005693e-07 1.2391525778005693e-05\n", + "Overall NLP error.......: 1.2391525778005693e-07 1.2391525778005693e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 31\n", + "Number of objective gradient evaluations = 31\n", + "Number of equality constraint evaluations = 31\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 31\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 30\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.016\n", + "Total CPU secs in NLP function evaluations = 0.004\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 118869.80\n", + "Variable costs: 26061.00\n", + "\n", + "Number on/offs: 2\n", + "Sum on/off ramps: 340.00\n", + "Sum nominal ramps: 537.34\n", + "\n", + "Simulating time_step 2020-07-10 16:00\n", + "\n", + "Creating and solving SCED to determine UC initial conditions for date: 2020-07-11 hour: 0\n", + "Using persistent forecast error model when projecting demand and renewables in SCED\n", + "\n", + "\n", + "Extracting scenario to simulate\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.5617786e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.5700457e+04 2.91e+05 9.90e+01 -1.0 2.60e+04 - 4.12e-04 3.82e-04h 1\n", + " 2 -2.4265358e+04 2.91e+05 9.99e+01 -1.0 2.22e+04 - 3.89e-04 1.38e-03h 1\n", + " 3 -8.6110383e+03 2.87e+05 1.03e+02 -1.0 6.01e+03 - 1.08e-03 1.20e-02h 1\n", + " 4 4.5705404e+03 2.84e+05 9.68e+01 -1.0 7.36e+03 - 5.05e-01 9.07e-03h 1\n", + " 5 6.2005291e+04 2.72e+05 9.25e+01 -1.0 1.69e+05 - 2.78e-02 4.45e-02h 1\n", + " 6 8.4052456e+04 2.67e+05 9.08e+01 -1.0 1.11e+05 - 8.25e-02 1.88e-02h 1\n", + " 7 1.1391831e+06 2.67e+03 1.21e+02 -1.0 2.84e+04 - 4.90e-03 9.90e-01h 1\n", + " 8 1.0920352e+06 2.64e+01 8.30e+02 -1.0 5.34e+03 - 2.30e-01 9.90e-01f 1\n", + " 9 1.0187578e+06 5.82e-11 5.17e+04 -1.0 7.03e+03 - 5.27e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 8.8278517e+05 1.16e-10 7.12e+06 -1.0 1.46e+04 - 2.84e-01 1.00e+00f 1\n", + " 11 7.4582515e+05 1.16e-10 5.76e+06 -1.0 1.99e+04 - 1.91e-01 1.00e+00f 1\n", + " 12 5.8765119e+05 5.82e-11 5.61e+06 -1.0 2.37e+04 - 2.56e-02 1.00e+00f 1\n", + " 13 1.1207508e+05 5.82e-11 5.22e+06 -1.0 8.63e+04 - 7.07e-02 5.03e-01f 1\n", + " 14 1.0324864e+05 1.16e-10 5.08e+06 -1.0 5.05e+04 - 2.53e-02 8.59e-03f 1\n", + " 15 1.0302630e+05 1.16e-10 4.81e+06 -1.0 5.80e+04 - 5.45e-02 2.99e-04f 1\n", + " 16 2.0374099e+03 1.16e-10 2.87e+06 -1.0 5.86e+04 - 4.04e-01 1.68e-01f 1\n", + " 17 1.0152121e+03 5.82e-11 2.24e+06 -1.0 4.50e+04 - 2.19e-01 2.18e-03f 1\n", + " 18 -1.5377199e+04 1.16e-10 7.31e+04 -1.0 2.28e+03 - 9.67e-01 7.22e-01f 1\n", + " 19 -2.6399887e+04 5.82e-11 1.25e+03 -1.0 1.12e+03 - 9.83e-01 9.96e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 -2.6734022e+04 5.82e-11 9.28e+04 -1.7 2.59e+03 - 9.88e-01 1.00e+00f 1\n", + " 21 -2.6724253e+04 5.82e-11 2.00e-07 -1.7 5.66e+04 - 1.00e+00 1.00e+00f 1\n", + " 22 -2.6804204e+04 5.82e-11 2.55e+05 -5.7 1.69e+05 - 7.32e-01 8.59e-01f 1\n", + " 23 -2.6820995e+04 1.16e-10 2.25e+05 -5.7 1.53e+05 - 5.74e-01 9.88e-01f 1\n", + " 24 -2.6821951e+04 5.82e-11 3.00e+03 -5.7 4.31e+04 - 9.85e-01 8.73e-01f 1\n", + " 25 -2.6822057e+04 5.82e-11 2.53e-02 -5.7 4.11e+03 - 1.00e+00 1.00e+00f 1\n", + " 26 -2.6822057e+04 1.16e-10 2.00e+01 -5.7 4.07e+01 - 5.05e-01 1.00e+00f 1\n", + " 27 -2.6822057e+04 5.82e-11 1.85e-11 -5.7 7.74e+00 - 1.00e+00 1.00e+00f 1\n", + " 28 -2.6822067e+04 2.33e-10 9.38e-13 -7.0 4.33e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 28\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.6822067110131451e+02 -2.6822067110131451e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.2652833647367491e-07 1.2652833647367490e-05\n", + "Overall NLP error.......: 1.2652833647367491e-07 1.2652833647367490e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 29\n", + "Number of objective gradient evaluations = 29\n", + "Number of equality constraint evaluations = 29\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 29\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 28\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.022\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.4371949e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.4453313e+04 1.64e+05 9.90e+01 -1.0 2.53e+04 - 4.12e-04 3.82e-04f 1\n", + " 2 -2.3686252e+04 1.64e+05 9.98e+01 -1.0 2.10e+04 - 4.75e-04 1.38e-03h 1\n", + " 3 -1.3535249e+04 1.62e+05 1.02e+02 -1.0 2.72e+03 - 1.06e-03 1.21e-02h 1\n", + " 4 1.1550301e+05 1.40e+05 1.04e+02 -1.0 1.28e+03 - 5.01e-02 1.30e-01h 1\n", + " 5 1.7010489e+05 1.31e+05 7.92e+01 -1.0 2.43e+03 - 2.02e-01 6.77e-02h 1\n", + " 6 9.3323841e+05 1.31e+03 5.01e+01 -1.0 3.06e+03 - 6.60e-01 9.90e-01h 1\n", + " 7 8.6517437e+05 2.13e+02 8.73e+02 -1.0 8.92e+03 - 1.40e-01 8.37e-01f 1\n", + " 8 7.7156619e+05 1.97e+00 4.80e+03 -1.0 9.65e+03 - 3.67e-01 9.91e-01f 1\n", + " 9 6.5208281e+05 5.82e-11 5.28e+05 -1.0 1.20e+04 - 3.12e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 5.4375628e+05 5.82e-11 9.22e+06 -1.0 1.00e+04 - 5.54e-02 1.00e+00f 1\n", + " 11 9.8786042e+03 5.82e-11 9.06e+06 -1.0 5.11e+04 - 1.75e-02 9.50e-01f 1\n", + " 12 4.7945421e+03 1.16e-10 2.68e+05 -1.0 5.01e+04 - 9.70e-01 9.69e-03f 1\n", + " 13 4.5707808e+03 1.16e-10 1.02e+04 -1.0 4.71e+03 - 9.62e-01 5.86e-03f 1\n", + " 14 -2.4849117e+04 5.82e-11 2.10e+02 -1.0 2.33e+04 - 9.80e-01 9.87e-01f 1\n", + " 15 -2.5440115e+04 5.82e-11 9.40e+04 -2.5 1.24e+03 - 9.90e-01 1.00e+00f 1\n", + " 16 -2.5438175e+04 1.16e-10 5.30e+04 -2.5 1.33e+05 - 4.36e-01 1.00e+00f 1\n", + " 17 -2.5441508e+04 5.82e-11 2.83e-08 -2.5 2.02e+05 - 1.00e+00 1.00e+00f 1\n", + " 18 -2.5458432e+04 1.16e-10 4.09e+04 -5.7 3.51e+04 - 8.50e-01 9.95e-01f 1\n", + " 19 -2.5458701e+04 1.16e-10 4.12e+02 -5.7 5.41e+03 - 9.90e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 -2.5458702e+04 1.16e-10 1.85e-11 -5.7 1.73e+01 - 1.00e+00 1.00e+00f 1\n", + " 21 -2.5458712e+04 5.82e-11 9.24e-13 -7.0 4.17e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 21\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.5458712118622870e+02 -2.5458712118622869e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 1.2645480861661295e-07 1.2645480861661296e-05\n", + "Overall NLP error.......: 1.2645480861661295e-07 1.2645480861661296e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 22\n", + "Number of objective gradient evaluations = 22\n", + "Number of equality constraint evaluations = 22\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 22\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 21\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.016\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.3058990e+04 4.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.3140324e+04 3.99e+05 9.90e+01 -1.0 1.11e+02 - 4.12e-04 3.82e-04h 1\n", + " 2 -1.9469341e+04 3.95e+05 1.00e+02 -1.0 1.11e+02 - 4.75e-04 1.14e-02h 1\n", + " 3 7.8677509e+04 3.20e+05 7.90e+01 -1.0 1.10e+02 - 3.65e-01 1.91e-01h 1\n", + " 4 2.3331637e+05 1.94e+05 5.19e+01 -1.0 8.88e+01 - 2.05e-01 3.92e-01h 1\n", + " 5 4.7571655e+05 1.94e+03 5.97e+01 -1.0 5.39e+01 - 4.26e-01 9.90e-01h 1\n", + " 6 4.7787048e+05 1.90e+01 1.45e+03 -1.0 3.51e+00 - 2.87e-01 9.90e-01h 1\n", + " 7 4.7788828e+05 9.51e+00 3.56e+04 -1.0 1.00e+01 - 3.31e-01 5.00e-01f 2\n", + " 8 4.7761489e+05 1.16e-10 2.80e+05 -1.0 3.40e+01 - 3.02e-01 1.00e+00f 1\n", + " 9 4.7007565e+05 1.16e-10 9.26e+06 -1.0 7.50e+02 - 5.60e-02 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.6092329e+04 5.82e-11 9.10e+06 -1.0 4.41e+04 - 1.78e-02 1.00e+00f 1\n", + " 11 -2.5015465e+04 5.82e-11 9.56e+05 -1.0 5.46e+04 - 8.95e-01 9.30e-02f 1\n", + " 12 -2.5526534e+04 5.82e-11 1.52e+04 -1.0 3.85e+04 - 9.84e-01 1.32e-03f 1\n", + " 13 -2.5479093e+04 1.16e-10 1.64e+02 -1.0 1.07e+03 - 9.89e-01 1.00e+00f 1\n", + " 14 -2.5829516e+04 5.82e-11 2.65e+04 -2.5 1.75e+03 - 9.97e-01 1.00e+00f 1\n", + " 15 -2.5824427e+04 5.82e-11 2.83e-08 -2.5 2.43e+04 - 1.00e+00 1.00e+00f 1\n", + " 16 -2.5838140e+04 1.16e-10 1.29e+04 -5.7 2.61e+04 - 8.58e-01 9.03e-01f 1\n", + " 17 -2.5839386e+04 5.82e-11 1.47e+02 -5.7 3.64e+03 - 9.99e-01 9.94e-01f 1\n", + " 18 -2.5839393e+04 5.82e-11 1.85e-11 -5.7 2.20e+01 - 1.00e+00 1.00e+00f 1\n", + " 19 -2.5839402e+04 5.82e-11 9.24e-13 -7.0 1.74e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 19\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.5839402011179084e+02 -2.5839402011179081e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 1.3650734054962958e-07 1.3650734054962958e-05\n", + "Overall NLP error.......: 1.3650734054962958e-07 1.3650734054962958e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 21\n", + "Number of objective gradient evaluations = 20\n", + "Number of equality constraint evaluations = 21\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 20\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 19\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.015\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.3439684e+04 5.00e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.3522250e+04 5.00e+03 9.90e+01 -1.0 2.59e+01 - 4.12e-04 3.82e-04f 1\n", + " 2 -1.9888137e+04 4.94e+03 1.00e+02 -1.0 5.00e+01 - 4.75e-04 1.14e-02h 1\n", + " 3 7.7651588e+04 4.00e+03 7.90e+01 -1.0 4.94e+01 - 7.80e-01 1.91e-01h 1\n", + " 4 4.0564292e+05 6.85e+02 2.16e+01 -1.0 4.00e+01 - 2.02e-01 8.29e-01h 1\n", + " 5 4.7348675e+05 6.84e+00 3.82e+01 -1.0 1.73e+01 - 4.69e-01 9.90e-01h 1\n", + " 6 4.6345474e+05 6.35e-02 7.06e+03 -1.0 1.07e+03 - 2.40e-02 9.91e-01f 1\n", + " 7 -2.4291431e+04 9.38e-03 6.10e+05 -1.0 5.68e+04 - 1.89e-02 8.52e-01f 1\n", + " 8 -2.9168922e+04 9.29e-03 2.80e+06 -1.0 5.02e+04 - 9.90e-01 9.64e-03f 1\n", + " 9 -2.9217680e+04 9.24e-03 5.04e+06 -1.0 1.02e+03 - 9.88e-01 4.75e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 -2.9191960e+04 5.82e-11 1.40e+04 -1.0 1.12e+04 - 9.91e-01 1.00e+00f 1\n", + " 11 -2.9152895e+04 1.16e-10 1.33e+06 -1.0 3.48e+05 - 1.00e+00 5.21e-01f 1\n", + " 12 -2.9103423e+04 1.16e-10 1.82e+05 -1.0 3.78e+05 - 1.00e+00 8.63e-01f 1\n", + " 13 -2.9107759e+04 1.16e-10 1.00e-06 -1.0 8.09e+04 - 1.00e+00 1.00e+00f 1\n", + " 14 -2.9368706e+04 5.82e-11 2.03e+06 -5.7 1.60e+05 - 7.57e-01 9.60e-01f 1\n", + " 15 -2.9434393e+04 1.16e-10 1.29e+06 -5.7 3.57e+05 - 4.69e-01 9.96e-01f 1\n", + " 16 -2.9440937e+04 1.16e-10 5.94e+05 -5.7 7.67e+04 - 5.39e-01 9.14e-01f 1\n", + " 17 -2.9442864e+04 1.16e-10 3.85e+04 -5.7 4.16e+04 - 9.35e-01 9.90e-01f 1\n", + " 18 -2.9442966e+04 5.82e-11 2.28e-02 -5.7 2.91e+03 - 1.00e+00 9.82e-01f 1\n", + " 19 -2.9442966e+04 5.82e-11 1.85e-11 -5.7 1.83e+01 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 -2.9442974e+04 1.16e-10 9.24e-13 -7.0 1.74e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 20\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.9442974322140378e+02 -2.9442974322140377e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 9.1088471545660851e-08 9.1088471545660845e-06\n", + "Overall NLP error.......: 9.1088471545660851e-08 9.1088471545660845e-06\n", + "\n", + "\n", + "Number of objective function evaluations = 21\n", + "Number of objective gradient evaluations = 21\n", + "Number of equality constraint evaluations = 21\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 21\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 20\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.018\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.7042975e+04 1.00e-02 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.9408672e+04 9.89e-03 1.08e+01 -1.0 7.90e+00 - 9.90e-01 1.10e-02f 1\n", + " 2 -2.9202851e+04 9.89e-05 1.08e-01 -1.0 9.85e+00 - 9.90e-01 9.90e-01h 1\n", + " 3 -2.9198319e+04 9.79e-07 5.17e-01 -1.0 9.84e+02 - 9.91e-01 9.90e-01f 1\n", + " 4 -2.9173280e+04 1.16e-10 1.00e-06 -1.0 8.80e+04 - 1.00e+00 1.00e+00f 1\n", + " 5 -2.9430087e+04 5.82e-11 1.19e+04 -3.8 4.83e+04 - 8.56e-01 9.93e-01f 1\n", + " 6 -2.9440655e+04 1.16e-10 1.02e+03 -3.8 6.36e+04 - 9.15e-01 9.23e-01f 1\n", + " 7 -2.9442268e+04 1.16e-10 7.28e+01 -3.8 2.36e+04 - 9.32e-01 1.00e+00f 1\n", + " 8 -2.9442268e+04 1.16e-10 1.50e-09 -3.8 3.81e+02 - 1.00e+00 1.00e+00f 1\n", + " 9 -2.9442966e+04 5.82e-11 1.85e-11 -5.7 1.47e+03 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 -2.9442974e+04 5.82e-11 9.24e-13 -7.0 1.84e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 10\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.9442974322176036e+02 -2.9442974322176036e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 9.1235823999943838e-08 9.1235823999943832e-06\n", + "Overall NLP error.......: 9.1235823999943838e-08 9.1235823999943832e-06\n", + "\n", + "\n", + "Number of objective function evaluations = 11\n", + "Number of objective gradient evaluations = 11\n", + "Number of equality constraint evaluations = 11\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 11\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 10\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.000\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.7042975e+04 1.00e-02 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.9408672e+04 9.89e-03 1.08e+01 -1.0 7.90e+00 - 9.90e-01 1.10e-02f 1\n", + " 2 -2.9202851e+04 9.89e-05 1.08e-01 -1.0 9.85e+00 - 9.90e-01 9.90e-01h 1\n", + " 3 -2.9198319e+04 9.79e-07 5.17e-01 -1.0 9.84e+02 - 9.91e-01 9.90e-01f 1\n", + " 4 -2.9173280e+04 5.82e-11 1.00e-06 -1.0 8.80e+04 - 1.00e+00 1.00e+00f 1\n", + " 5 -2.9430087e+04 5.82e-11 1.19e+04 -3.8 4.83e+04 - 8.56e-01 9.93e-01f 1\n", + " 6 -2.9440655e+04 1.16e-10 1.02e+03 -3.8 6.36e+04 - 9.15e-01 9.23e-01f 1\n", + " 7 -2.9442268e+04 1.16e-10 7.28e+01 -3.8 2.36e+04 - 9.32e-01 1.00e+00f 1\n", + " 8 -2.9442268e+04 5.82e-11 1.50e-09 -3.8 3.81e+02 - 1.00e+00 1.00e+00f 1\n", + " 9 -2.9442966e+04 5.82e-11 1.85e-11 -5.7 1.47e+03 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 -2.9442974e+04 5.82e-11 9.24e-13 -7.0 1.84e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 10\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.9442974322176042e+02 -2.9442974322176040e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 9.1235823999923126e-08 9.1235823999923131e-06\n", + "Overall NLP error.......: 9.1235823999923126e-08 9.1235823999923131e-06\n", + "\n", + "\n", + "Number of objective function evaluations = 11\n", + "Number of objective gradient evaluations = 11\n", + "Number of equality constraint evaluations = 11\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 11\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 10\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.011\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.7042975e+04 1.00e-02 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.9408672e+04 9.89e-03 1.08e+01 -1.0 7.90e+00 - 9.90e-01 1.10e-02f 1\n", + " 2 -2.9202851e+04 9.89e-05 1.08e-01 -1.0 9.85e+00 - 9.90e-01 9.90e-01h 1\n", + " 3 -2.9198319e+04 9.79e-07 5.17e-01 -1.0 9.84e+02 - 9.91e-01 9.90e-01f 1\n", + " 4 -2.9173280e+04 1.16e-10 1.00e-06 -1.0 8.80e+04 - 1.00e+00 1.00e+00f 1\n", + " 5 -2.9430087e+04 1.16e-10 1.19e+04 -3.8 4.83e+04 - 8.56e-01 9.93e-01f 1\n", + " 6 -2.9440655e+04 1.16e-10 1.02e+03 -3.8 6.36e+04 - 9.15e-01 9.23e-01f 1\n", + " 7 -2.9442268e+04 1.16e-10 7.28e+01 -3.8 2.36e+04 - 9.32e-01 1.00e+00f 1\n", + " 8 -2.9442268e+04 5.82e-11 1.50e-09 -3.8 3.81e+02 - 1.00e+00 1.00e+00f 1\n", + " 9 -2.9442966e+04 5.82e-11 1.85e-11 -5.7 1.47e+03 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 -2.9442974e+04 1.16e-10 9.24e-13 -7.0 1.84e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 10\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.9442974322176036e+02 -2.9442974322176036e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 9.1235823999924264e-08 9.1235823999924266e-06\n", + "Overall NLP error.......: 9.1235823999924264e-08 9.1235823999924266e-06\n", + "\n", + "\n", + "Number of objective function evaluations = 11\n", + "Number of objective gradient evaluations = 11\n", + "Number of equality constraint evaluations = 11\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 11\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 10\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.007\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.7042975e+04 1.00e-02 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.9408672e+04 9.89e-03 1.08e+01 -1.0 7.90e+00 - 9.90e-01 1.10e-02f 1\n", + " 2 -2.9202851e+04 9.89e-05 1.08e-01 -1.0 9.85e+00 - 9.90e-01 9.90e-01h 1\n", + " 3 -2.9198319e+04 9.79e-07 5.17e-01 -1.0 9.84e+02 - 9.91e-01 9.90e-01f 1\n", + " 4 -2.9173280e+04 5.82e-11 1.00e-06 -1.0 8.80e+04 - 1.00e+00 1.00e+00f 1\n", + " 5 -2.9430087e+04 5.82e-11 1.19e+04 -3.8 4.83e+04 - 8.56e-01 9.93e-01f 1\n", + " 6 -2.9440655e+04 5.82e-11 1.02e+03 -3.8 6.36e+04 - 9.15e-01 9.23e-01f 1\n", + " 7 -2.9442268e+04 5.82e-11 7.28e+01 -3.8 2.36e+04 - 9.32e-01 1.00e+00f 1\n", + " 8 -2.9442268e+04 5.82e-11 1.50e-09 -3.8 3.81e+02 - 1.00e+00 1.00e+00f 1\n", + " 9 -2.9442966e+04 1.16e-10 1.85e-11 -5.7 1.47e+03 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 -2.9442974e+04 1.16e-10 9.24e-13 -7.0 1.84e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 10\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.9442974322176036e+02 -2.9442974322176036e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 9.1235823999924489e-08 9.1235823999924486e-06\n", + "Overall NLP error.......: 9.1235823999924489e-08 9.1235823999924486e-06\n", + "\n", + "\n", + "Number of objective function evaluations = 11\n", + "Number of objective gradient evaluations = 11\n", + "Number of equality constraint evaluations = 11\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 11\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 10\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.012\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 6903\n", + "Number of nonzeros in inequality constraint Jacobian.: 536\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 4317\n", + " variables with only lower bounds: 864\n", + " variables with lower and upper bounds: 3309\n", + " variables with only upper bounds: 144\n", + "Total number of equality constraints.................: 4029\n", + "Total number of inequality constraints...............: 288\n", + " inequality constraints with only lower bounds: 288\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -1.9472200e+06 3.11e+04 3.38e-01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -1.9472205e+06 3.10e+04 2.80e+00 -1.0 9.77e+04 - 2.98e-04 7.79e-05h 1\n", + " 2 -1.9472203e+06 3.10e+04 2.39e+00 -1.0 9.97e+04 - 5.38e-05 6.88e-05h 1\n", + " 3 -1.9472198e+06 3.10e+04 8.23e+00 -1.0 9.99e+04 - 2.22e-04 1.27e-04h 1\n", + " 4 -1.9472202e+06 3.10e+04 1.23e+01 -1.0 1.00e+05 - 1.54e-05 5.33e-04h 1\n", + " 5 -1.9472215e+06 3.10e+04 2.42e+01 -1.0 9.99e+04 - 1.70e-03 5.98e-04h 1\n", + " 6 -1.9472242e+06 3.10e+04 1.52e+01 -1.0 9.99e+04 - 9.18e-04 1.26e-03h 1\n", + " 7 -1.9472267e+06 3.09e+04 2.79e+00 -1.0 9.97e+04 - 5.12e-04 1.26e-03h 1\n", + " 8 -1.9472335e+06 3.08e+04 5.78e+01 -1.0 9.96e+04 - 1.03e-03 4.01e-03f 1\n", + " 9 -1.9472327e+06 3.08e+04 6.43e+01 -1.0 1.45e+05 - 6.36e-04 1.11e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 -1.9472315e+06 3.08e+04 5.23e+01 -1.0 3.91e+05 - 9.95e-03 5.98e-04h 1\n", + " 11 -1.9472201e+06 3.07e+04 5.15e+01 -1.0 3.80e+05 - 2.98e-03 3.09e-03h 1\n", + " 12 -1.9472088e+06 3.06e+04 8.25e+01 -1.0 3.62e+05 - 5.77e-03 1.44e-03h 1\n", + " 13 -1.9471674e+06 3.05e+04 5.87e+01 -1.0 3.62e+05 - 1.15e-04 3.74e-03h 1\n", + " 14 -1.9471166e+06 3.04e+04 1.94e+02 -1.0 3.62e+05 - 1.47e-02 4.13e-03h 1\n", + " 15 -1.9470525e+06 3.03e+04 1.58e+02 -1.0 3.86e+05 - 3.69e-04 3.47e-03h 1\n", + " 16 -1.9470221e+06 3.02e+04 1.82e+02 -1.0 4.13e+05 - 3.55e-03 1.29e-03h 1\n", + " 17 -1.9470049e+06 3.02e+04 1.76e+02 -1.0 4.40e+05 - 1.52e-04 7.17e-04h 1\n", + " 18 -1.9469838e+06 3.02e+04 1.70e+02 -1.0 4.43e+05 - 3.27e-04 9.88e-04h 1\n", + " 19 -1.9469416e+06 3.01e+04 1.75e+02 -1.0 4.46e+05 - 2.58e-03 1.94e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 -1.9468893e+06 3.01e+04 1.77e+02 -1.0 4.51e+05 - 2.35e-03 2.08e-03h 1\n", + " 21 -1.9467242e+06 2.99e+04 1.37e+02 -1.0 4.48e+05 - 1.09e-03 6.25e-03h 1\n", + " 22 -1.9466573e+06 2.98e+04 1.32e+02 -1.0 4.38e+05 - 1.54e-03 2.26e-03h 1\n", + " 23 -1.9465307e+06 2.97e+04 1.09e+02 -1.0 4.32e+05 - 1.16e-03 4.94e-03h 1\n", + " 24 -1.9463708e+06 2.95e+04 1.37e+02 -1.0 4.20e+05 - 1.12e-02 5.91e-03h 1\n", + " 25 -1.9462185e+06 2.93e+04 1.88e+02 -1.0 3.87e+05 - 1.82e-02 4.56e-03h 1\n", + " 26 -1.9454550e+06 2.87e+04 2.04e+02 -1.0 3.33e+05 - 3.02e-02 2.12e-02h 1\n", + " 27 -1.9448299e+06 2.83e+04 2.01e+02 -1.0 1.88e+05 - 1.56e-02 1.56e-02h 1\n", + " 28 -1.9436496e+06 2.75e+04 1.91e+02 -1.0 1.32e+05 - 1.45e-02 2.90e-02h 1\n", + " 29 -1.9423776e+06 2.66e+04 1.87e+02 -1.0 9.72e+04 - 4.70e-02 3.14e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -1.9415884e+06 2.61e+04 1.78e+02 -1.0 8.56e+04 - 1.01e-01 1.97e-02h 1\n", + " 31 -1.9398715e+06 2.50e+04 1.71e+02 -1.0 8.40e+04 - 3.90e-02 4.28e-02h 1\n", + " 32 -1.9380121e+06 2.38e+04 1.66e+02 -1.0 8.04e+04 - 3.12e-02 4.81e-02h 1\n", + " 33 -1.9376389e+06 2.35e+04 1.66e+02 -1.0 7.65e+04 - 5.30e-03 1.01e-02h 1\n", + " 34 -1.9363534e+06 2.27e+04 1.45e+02 -1.0 7.57e+04 - 9.87e-02 3.49e-02h 1\n", + " 35 -1.9338367e+06 2.11e+04 1.49e+02 -1.0 7.31e+04 - 1.55e-02 7.05e-02h 1\n", + " 36 -1.9326919e+06 2.04e+04 1.47e+02 -1.0 6.79e+04 - 2.24e-02 3.43e-02h 1\n", + " 37 -1.9300710e+06 1.87e+04 1.44e+02 -1.0 6.78e+04 - 4.81e-02 8.13e-02h 1\n", + " 38 -1.9293425e+06 1.83e+04 1.45e+02 -1.0 6.73e+04 - 9.77e-03 2.47e-02h 1\n", + " 39 -1.9285172e+06 1.77e+04 1.47e+02 -1.0 6.69e+04 - 5.43e-03 2.98e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -1.9283299e+06 1.76e+04 1.45e+02 -1.0 6.63e+04 - 1.27e-02 7.62e-03h 1\n", + " 41 -1.9280734e+06 1.74e+04 1.40e+02 -1.0 6.65e+04 - 1.96e-02 9.84e-03h 1\n", + " 42 -1.9274124e+06 1.70e+04 1.30e+02 -1.0 6.71e+04 - 4.71e-02 2.58e-02h 1\n", + " 43 -1.9271469e+06 1.68e+04 1.28e+02 -1.0 6.99e+04 - 1.51e-02 1.02e-02h 1\n", + " 44 -1.9265047e+06 1.64e+04 1.29e+02 -1.0 7.01e+04 - 9.01e-03 2.50e-02h 1\n", + " 45 -1.9260249e+06 1.60e+04 1.07e+02 -1.0 6.96e+04 - 8.27e-02 1.90e-02h 1\n", + " 46 -1.9242419e+06 1.49e+04 1.05e+02 -1.0 7.22e+04 - 5.32e-02 7.28e-02h 1\n", + " 47 -1.9232042e+06 1.42e+04 9.53e+01 -1.0 7.14e+04 - 6.36e-02 4.63e-02h 1\n", + " 48 -1.9212135e+06 1.29e+04 9.03e+01 -1.0 7.19e+04 - 8.10e-02 9.42e-02h 1\n", + " 49 -1.9204594e+06 1.23e+04 9.48e+01 -1.0 7.06e+04 - 1.34e-02 4.00e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -1.9192243e+06 1.15e+04 1.04e+02 -1.0 6.94e+04 - 1.83e-02 6.87e-02h 1\n", + " 51 -1.9190933e+06 1.14e+04 9.43e+01 -1.0 6.71e+04 - 3.54e-02 7.86e-03h 1\n", + " 52 -1.9183745e+06 1.09e+04 6.98e+01 -1.0 6.78e+04 - 2.78e-01 4.32e-02h 1\n", + " 53 -1.9165127e+06 9.56e+03 6.15e+01 -1.0 7.55e+04 - 8.05e-02 1.24e-01h 1\n", + " 54 -1.9155451e+06 8.82e+03 5.54e+01 -1.0 7.19e+04 - 9.79e-02 7.71e-02h 1\n", + " 55 -1.9149323e+06 8.33e+03 1.22e+02 -1.0 1.19e+05 - 2.48e-01 5.55e-02h 1\n", + " 56 -1.9148162e+06 8.23e+03 1.81e+02 -1.0 1.16e+05 - 3.18e-01 1.18e-02h 1\n", + " 57 -1.9127545e+06 6.26e+03 1.38e+02 -1.0 1.07e+05 - 2.53e-01 2.40e-01h 1\n", + " 58 -1.9121858e+06 5.52e+03 1.05e+02 -1.0 8.20e+04 - 3.48e-01 1.17e-01h 1\n", + " 59 -1.9119593e+06 4.96e+03 9.99e+01 -1.0 9.11e+04 - 6.03e-02 1.03e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 -1.9118235e+06 4.42e+03 1.02e+02 -1.0 8.86e+04 - 2.05e-02 1.08e-01h 1\n", + " 61 -1.9118098e+06 4.26e+03 1.01e+02 -1.0 8.46e+04 - 2.23e-02 3.57e-02h 1\n", + " 62 -1.9118796e+06 4.13e+03 1.19e+02 -1.0 8.42e+04 - 6.28e-03 3.14e-02f 1\n", + " 63 -1.9118798e+06 4.12e+03 1.09e+02 -1.0 8.32e+04 - 5.96e-02 2.08e-03h 1\n", + " 64 -1.9118754e+06 3.80e+03 1.01e+02 -1.0 8.60e+04 - 1.34e-02 7.73e-02h 1\n", + " 65 -1.9119140e+06 3.37e+03 9.67e+01 -1.0 8.38e+04 - 8.62e-02 1.13e-01f 1\n", + " 66 -1.9120320e+06 3.06e+03 8.45e+01 -1.0 8.45e+04 - 1.04e-01 9.30e-02f 1\n", + " 67 -1.9121859e+06 2.85e+03 7.55e+01 -1.0 8.80e+04 - 1.65e-01 6.73e-02f 1\n", + " 68 -1.9124339e+06 2.65e+03 6.97e+01 -1.0 9.84e+04 - 1.57e-01 7.05e-02f 1\n", + " 69 -1.9133664e+06 2.15e+03 5.65e+01 -1.0 1.11e+05 - 1.92e-01 1.90e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 -1.9135605e+06 2.09e+03 1.47e+02 -1.0 1.29e+05 - 3.65e-01 2.69e-02f 1\n", + " 71 -1.9136524e+06 2.07e+03 1.55e+02 -1.0 1.97e+05 - 5.74e-02 1.02e-02f 1\n", + " 72 -1.9148573e+06 1.81e+03 1.25e+02 -1.0 2.08e+05 - 6.78e-02 1.25e-01f 1\n", + " 73 -1.9154335e+06 1.72e+03 1.09e+02 -1.0 2.22e+05 - 8.66e-04 4.99e-02f 1\n", + " 74 -1.9173343e+06 1.53e+03 1.09e+02 -1.0 4.96e+05 - 1.69e-01 1.08e-01f 1\n", + " 75 -1.9178571e+06 1.50e+03 1.05e+02 -1.0 6.62e+05 - 1.65e-02 2.35e-02f 1\n", + " 76 -1.9187137e+06 1.44e+03 1.00e+02 -1.0 6.80e+05 - 3.17e-02 3.72e-02f 1\n", + " 77 -1.9204659e+06 1.34e+03 9.28e+01 -1.0 7.08e+05 - 5.14e-02 7.28e-02f 1\n", + " 78 -1.9211088e+06 1.31e+03 9.26e+01 -1.0 7.41e+05 - 1.28e-03 2.34e-02f 1\n", + " 79 -1.9214410e+06 1.29e+03 9.74e+01 -1.0 7.36e+05 - 1.05e-01 1.23e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 -1.9232381e+06 1.21e+03 8.56e+01 -1.0 7.83e+05 - 1.94e-02 6.05e-02f 1\n", + " 81 -1.9244234e+06 1.17e+03 9.25e+01 -1.0 7.47e+05 - 9.19e-03 3.71e-02f 1\n", + " 82 -1.9252291e+06 1.14e+03 9.42e+01 -1.0 7.13e+05 - 1.50e-01 2.55e-02f 1\n", + " 83 -1.9269706e+06 1.08e+03 8.94e+01 -1.0 6.49e+05 - 4.87e-02 4.96e-02f 1\n", + " 84 -1.9270080e+06 1.08e+03 1.10e+02 -1.0 5.54e+05 - 1.68e-01 1.22e-03f 1\n", + " 85 -1.9300755e+06 9.73e+02 9.77e+01 -1.0 7.88e+05 - 8.70e-02 9.78e-02f 1\n", + " 86 -1.9301374e+06 9.71e+02 1.42e+02 -1.0 8.49e+05 - 1.52e-01 2.18e-03f 1\n", + " 87 -1.9310170e+06 9.38e+02 1.67e+02 -1.0 9.30e+05 - 1.25e-01 3.40e-02f 1\n", + " 88 -1.9333418e+06 8.58e+02 2.71e+02 -1.0 9.22e+05 - 5.03e-02 8.53e-02f 1\n", + " 89 -1.9340114e+06 8.37e+02 2.64e+02 -1.0 8.01e+05 - 2.91e-02 2.49e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90 -1.9344580e+06 8.23e+02 2.58e+02 -1.0 7.43e+05 - 3.12e-02 1.62e-02f 1\n", + " 91 -1.9346092e+06 8.18e+02 2.57e+02 -1.0 5.92e+05 - 2.35e-02 6.40e-03f 1\n", + " 92 -1.9347529e+06 8.11e+02 2.58e+02 -1.0 2.42e+05 - 1.08e-01 8.14e-03f 1\n", + " 93 -1.9358266e+06 7.68e+02 2.44e+02 -1.0 2.80e+05 - 1.06e-02 5.34e-02f 1\n", + " 94 -1.9362473e+06 7.52e+02 2.39e+02 -1.0 2.83e+05 - 4.91e-02 2.05e-02f 1\n", + " 95 -1.9365906e+06 7.40e+02 2.35e+02 -1.0 2.97e+05 - 4.29e-02 1.66e-02f 1\n", + " 96 -1.9396085e+06 6.38e+02 2.03e+02 -1.0 3.09e+05 - 2.11e-02 1.38e-01f 1\n", + " 97 -1.9396461e+06 6.37e+02 2.02e+02 -1.0 3.11e+05 - 4.53e-02 1.71e-03f 1\n", + " 98 -1.9399529e+06 6.28e+02 1.99e+02 -1.0 3.24e+05 - 5.19e-03 1.41e-02f 1\n", + " 99 -1.9410991e+06 5.95e+02 1.89e+02 -1.0 3.25e+05 - 1.28e-01 5.32e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100 -1.9431161e+06 5.48e+02 1.74e+02 -1.0 3.83e+05 - 1.33e-02 7.88e-02f 1\n", + " 101 -1.9431527e+06 5.47e+02 1.74e+02 -1.0 3.92e+05 - 4.98e-02 1.41e-03f 1\n", + " 102 -1.9451450e+06 5.05e+02 1.61e+02 -1.0 4.04e+05 - 1.59e-02 7.63e-02f 1\n", + " 103 -1.9452041e+06 5.04e+02 1.60e+02 -1.0 3.84e+05 - 9.19e-02 2.33e-03f 1\n", + " 104 -1.9456222e+06 4.94e+02 1.57e+02 -1.0 3.97e+05 - 3.27e-03 2.03e-02f 1\n", + " 105 -1.9461479e+06 4.81e+02 1.53e+02 -1.0 3.93e+05 - 6.29e-02 2.62e-02f 1\n", + " 106 -1.9463234e+06 4.77e+02 1.54e+02 -1.0 4.21e+05 - 2.30e-02 8.84e-03f 1\n", + " 107 -1.9470610e+06 4.61e+02 1.46e+02 -1.0 4.47e+05 - 1.19e-03 3.28e-02f 1\n", + " 108 -1.9471060e+06 4.60e+02 1.66e+02 -1.0 5.07e+05 - 5.96e-02 2.20e-03f 1\n", + " 109 -1.9526968e+06 3.53e+02 2.10e+02 -1.0 5.65e+05 - 3.53e-03 2.32e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110 -1.9528991e+06 3.50e+02 1.38e+02 -1.0 6.15e+05 - 1.94e-01 7.90e-03f 1\n", + " 111 -1.9531610e+06 3.47e+02 1.55e+02 -1.0 8.82e+05 - 2.98e-02 8.91e-03f 1\n", + " 112 -1.9537991e+06 3.40e+02 1.54e+02 -1.0 9.23e+05 - 2.46e-02 2.13e-02f 1\n", + " 113 -1.9549607e+06 3.27e+02 1.19e+02 -1.0 9.61e+05 - 4.57e-03 3.73e-02f 1\n", + " 114 -1.9550031e+06 3.27e+02 1.76e+02 -1.0 9.86e+05 - 6.18e-02 1.51e-03f 1\n", + " 115 -1.9553800e+06 3.22e+02 1.67e+02 -1.0 1.08e+06 - 7.67e-03 1.39e-02f 1\n", + " 116 -1.9562432e+06 3.12e+02 2.01e+02 -1.0 1.09e+06 - 7.32e-02 3.31e-02f 1\n", + " 117 -1.9565030e+06 3.09e+02 1.94e+02 -1.0 1.25e+06 - 5.43e-03 9.68e-03f 1\n", + " 118 -1.9565325e+06 3.08e+02 2.71e+02 -1.0 9.42e+05 - 7.83e-02 1.86e-03f 1\n", + " 119 -1.9567016e+06 3.03e+02 3.51e+02 -1.0 5.04e+05 - 1.00e-01 1.60e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 120 -1.9577207e+06 2.75e+02 2.40e+02 -1.0 5.23e+05 - 1.68e-02 9.36e-02f 1\n", + " 121 -1.9578171e+06 2.72e+02 3.52e+02 -1.0 5.19e+05 - 1.12e-01 1.01e-02f 1\n", + " 122 -1.9584404e+06 2.53e+02 2.54e+02 -1.0 5.61e+05 - 5.24e-03 6.97e-02f 1\n", + " 123 -1.9600330e+06 2.10e+02 6.60e+01 -1.0 5.53e+05 - 4.39e-02 1.71e-01f 1\n", + " 124 -1.9600502e+06 2.09e+02 4.82e+02 -1.0 4.70e+05 - 2.91e-01 2.08e-03f 1\n", + " 125 -1.9604517e+06 1.93e+02 5.30e+02 -1.0 5.20e+05 - 1.33e-01 7.62e-02f 1\n", + " 126 -1.9610921e+06 1.68e+02 3.84e+02 -1.0 3.93e+05 - 8.24e-02 1.30e-01f 1\n", + " 127 -1.9613594e+06 1.58e+02 3.02e+02 -1.0 2.85e+05 - 2.91e-02 6.07e-02f 1\n", + " 128 -1.9618123e+06 1.41e+02 2.83e+02 -1.0 2.90e+05 - 1.12e-01 1.05e-01f 1\n", + " 129 -1.9624956e+06 1.22e+02 7.23e+01 -1.0 7.05e+05 - 4.91e-03 1.37e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 130 -1.9628174e+06 1.14e+02 6.78e+01 -1.0 1.14e+06 - 9.37e-02 6.37e-02f 1\n", + " 131 -1.9633902e+06 1.00e+02 6.75e+01 -1.0 8.95e+05 - 8.52e-02 1.21e-01f 1\n", + " 132 -1.9641242e+06 8.33e+01 2.48e+02 -1.0 5.09e+05 - 1.08e-01 1.70e-01f 1\n", + " 133 -1.9643768e+06 7.76e+01 2.57e+02 -1.0 3.14e+05 - 6.16e-02 6.88e-02f 1\n", + " 134 -1.9655494e+06 5.40e+01 1.32e+03 -1.0 3.54e+05 - 1.80e-02 3.03e-01f 1\n", + " 135 -1.9659751e+06 4.65e+01 1.34e+03 -1.0 2.95e+05 - 1.05e-01 1.40e-01f 1\n", + " 136 -1.9664792e+06 3.88e+01 1.88e+03 -1.0 3.17e+05 - 5.09e-02 1.66e-01f 1\n", + " 137 -1.9668640e+06 3.37e+01 2.09e+03 -1.0 3.19e+05 - 7.39e-02 1.30e-01f 1\n", + " 138 -1.9670269e+06 3.19e+01 1.14e+03 -1.0 3.44e+05 - 1.44e-01 5.30e-02f 1\n", + " 139 -1.9677533e+06 2.52e+01 2.28e+03 -1.0 4.31e+05 - 6.79e-02 2.11e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 140 -1.9681841e+06 2.20e+01 2.97e+03 -1.0 4.58e+05 - 4.66e-02 1.26e-01f 1\n", + " 141 -1.9684289e+06 2.01e+01 2.55e+03 -1.0 4.11e+05 - 9.76e-02 8.61e-02f 1\n", + " 142 -1.9689959e+06 1.59e+01 4.68e+03 -1.0 4.05e+05 - 3.87e-02 2.13e-01f 1\n", + " 143 -1.9691252e+06 1.48e+01 4.94e+03 -1.0 3.28e+05 - 3.84e-02 6.80e-02f 1\n", + " 144 -1.9693180e+06 1.32e+01 6.50e+03 -1.0 3.62e+05 - 6.43e-03 1.06e-01f 1\n", + " 145 -1.9695539e+06 1.13e+01 5.21e+03 -1.0 3.72e+05 - 1.60e-01 1.45e-01f 1\n", + " 146 -1.9696684e+06 1.05e+01 6.21e+03 -1.0 4.39e+05 - 1.75e-02 6.69e-02f 1\n", + " 147 -1.9697606e+06 9.96e+00 2.41e+03 -1.0 4.37e+05 - 1.73e-01 5.53e-02f 1\n", + " 148 -1.9701356e+06 7.70e+00 5.33e+03 -1.0 5.01e+05 - 1.15e-01 2.27e-01f 1\n", + " 149 -1.9703104e+06 6.83e+00 7.17e+03 -1.0 3.57e+05 - 5.21e-02 1.13e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 150 -1.9703833e+06 6.44e+00 2.40e+03 -1.0 3.73e+05 - 1.54e-01 5.70e-02f 1\n", + " 151 -1.9706892e+06 4.92e+00 1.13e+04 -1.0 3.21e+05 - 3.87e-02 2.36e-01f 1\n", + " 152 -1.9708911e+06 4.07e+00 9.20e+03 -1.0 4.00e+05 - 1.74e-01 1.72e-01f 1\n", + " 153 -1.9710174e+06 3.55e+00 1.40e+04 -1.0 4.41e+05 - 4.99e-02 1.29e-01f 1\n", + " 154 -1.9712708e+06 2.51e+00 1.99e+04 -1.0 4.59e+05 - 1.76e-01 2.92e-01f 1\n", + " 155 -1.9713313e+06 2.24e+00 5.66e+03 -1.0 3.75e+05 - 2.08e-01 1.08e-01f 1\n", + " 156 -1.9713913e+06 1.77e+00 2.10e+04 -1.0 1.93e+05 - 8.83e-02 2.10e-01f 1\n", + " 157 -1.9714412e+06 1.37e+00 3.85e+04 -1.0 1.47e+05 - 9.37e-02 2.24e-01f 1\n", + " 158 -1.9714688e+06 1.16e+00 1.20e+03 -1.0 1.75e+05 - 3.08e-01 1.54e-01f 1\n", + " 159 -1.9715025e+06 1.02e+00 1.52e+04 -1.0 9.36e+05 - 6.08e-02 1.24e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 160 -1.9715524e+06 7.95e-01 2.51e+04 -1.0 8.48e+05 - 3.47e-01 2.20e-01f 1\n", + " 161 -1.9716109e+06 3.84e-01 1.42e+05 -1.0 3.48e+05 - 9.45e-02 5.16e-01f 1\n", + " 162 -1.9716368e+06 2.42e-01 2.42e+05 -1.0 1.17e+05 - 1.60e-01 3.71e-01f 1\n", + " 163 -1.9716720e+06 1.27e-01 5.41e+05 -1.0 1.77e+05 - 9.27e-02 4.73e-01f 1\n", + " 164 -1.9717044e+06 2.03e-02 6.22e+05 -1.0 2.64e+05 - 5.52e-01 8.41e-01f 1\n", + " 165 -1.9717158e+06 2.65e-03 9.97e+05 -1.0 4.90e+04 - 6.89e-01 8.69e-01f 1\n", + " 166 -1.9717157e+06 1.99e-03 2.64e+06 -1.0 9.07e+03 - 1.00e+00 2.50e-01f 3\n", + " 167 -1.9717149e+06 3.49e-10 1.00e-06 -1.0 1.08e+04 - 1.00e+00 1.00e+00h 1\n", + " 168 -1.9717449e+06 4.66e-10 3.79e+06 -5.7 4.33e+04 - 8.42e-01 4.63e-01f 1\n", + " 169 -1.9717622e+06 4.66e-10 2.50e+06 -5.7 2.29e+04 - 8.91e-01 5.02e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 170 -1.9717784e+06 3.49e-10 8.42e+04 -5.7 1.12e+04 - 8.84e-01 9.61e-01f 1\n", + " 171 -1.9717791e+06 4.66e-10 9.86e+01 -5.7 3.82e+02 - 9.97e-01 9.98e-01f 1\n", + " 172 -1.9717791e+06 4.66e-10 1.84e-11 -5.7 4.26e-01 - 1.00e+00 1.00e+00f 1\n", + " 173 -1.9717791e+06 4.66e-10 1.68e+01 -7.0 7.35e-01 - 1.00e+00 9.04e-01f 1\n", + " 174 -1.9717791e+06 3.49e-10 9.09e-13 -7.0 6.75e-02 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 174\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -1.9717791134228932e+06 -1.9717791134228932e+06\n", + "Dual infeasibility......: 9.0949470177292824e-13 9.0949470177292824e-13\n", + "Constraint violation....: 5.8207660913467407e-11 3.4924596548080444e-10\n", + "Complementarity.........: 4.7875190673898384e-07 4.7875190673898384e-07\n", + "Overall NLP error.......: 4.7875190673898384e-07 4.7875190673898384e-07\n", + "\n", + "\n", + "Number of objective function evaluations = 177\n", + "Number of objective gradient evaluations = 175\n", + "Number of equality constraint evaluations = 177\n", + "Number of inequality constraint evaluations = 177\n", + "Number of equality constraint Jacobian evaluations = 175\n", + "Number of inequality constraint Jacobian evaluations = 175\n", + "Number of Lagrangian Hessian evaluations = 174\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 1.262\n", + "Total CPU secs in NLP function evaluations = 0.061\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "\n", + "Pyomo model construction time: 8.12\n", + "\n", + "Pyomo model solve time: 46.82629179954529\n", + "\n", + "Deterministic RUC Cost: 4319462.46\n", + "\n", + "Generator Commitments:\n", + "101_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "101_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "101_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "101_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "102_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "102_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "102_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "102_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "107_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "113_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "116_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "118_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_STEAM_2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "123_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "123_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "202_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "202_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "202_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "202_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "207_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "207_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CC_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "215_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "215_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "216_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "218_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "221_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "223_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "223_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "307_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "307_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "313_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "315_STEAM_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_7 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_8 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "316_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "318_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "321_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "322_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "322_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "323_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "323_CC_2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "114_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "121_NUCLEAR_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "214_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "314_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "\n", + "Generator Dispatch Levels:\n", + "101_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_STEAM_3 : 76.00 76.00 76.00 76.00 76.00 76.00 45.30 45.30 45.30 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 76.00 76.00 76.00 76.00 45.30 45.30 45.30 60.70 76.00 76.00 \n", + "101_STEAM_4 : 76.00 76.00 76.00 76.00 76.00 76.00 45.30 45.30 45.30 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 76.00 76.00 76.00 76.00 45.30 45.30 45.30 73.94 76.00 76.00 \n", + "102_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_STEAM_3 : 76.00 76.00 60.70 60.70 60.70 45.30 30.00 31.97 34.97 40.31 45.30 60.70 71.11 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 60.70 60.70 60.70 45.30 36.30 30.00 30.00 38.97 45.30 60.70 \n", + "102_STEAM_4 : 76.00 76.00 60.70 60.70 60.70 45.30 30.00 30.00 30.00 30.00 45.30 60.70 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 60.70 60.70 60.70 45.30 30.00 31.97 34.97 30.00 45.30 60.70 \n", + "107_CC_1 : 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 211.65 231.70 293.30 293.30 355.00 355.00 355.00 355.00 293.30 293.30 231.70 | 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "113_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_3 : 124.00 124.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 124.00 124.00 124.00 133.35 155.00 155.00 155.00 155.00 155.00 155.00 139.70 124.00 | 124.00 124.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 \n", + "116_STEAM_1 : 124.00 124.00 124.00 124.00 93.00 62.00 62.00 62.00 62.00 62.00 93.00 93.00 124.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 124.00 124.00 124.00 124.00 93.00 62.00 62.00 62.00 62.00 62.00 93.00 93.00 \n", + "118_CC_1 : 231.70 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 231.70 231.70 293.30 313.60 313.60 355.00 293.30 293.30 231.70 231.70 | 231.70 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "123_STEAM_2 : 124.00 124.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 93.00 93.00 93.00 124.00 124.00 124.00 124.00 125.00 125.00 134.19 124.00 124.00 124.00 124.00 | 124.00 93.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 93.00 93.00 \n", + "123_STEAM_3 : 280.00 280.00 280.00 229.37 210.00 140.00 140.00 140.00 140.00 140.00 140.00 210.00 280.00 280.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 | 300.58 280.00 280.00 280.00 210.00 140.00 140.00 140.00 140.00 140.00 140.00 210.00 \n", + "123_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_STEAM_3 : 45.30 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 45.30 45.30 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 45.30 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 \n", + "202_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 8.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_STEAM_3 : 60.70 60.70 60.70 60.70 45.30 30.00 30.00 30.00 30.00 30.00 30.00 57.95 60.70 60.70 60.70 60.70 60.70 60.70 76.00 76.00 60.70 75.81 60.70 60.70 | 60.70 60.70 60.70 60.70 45.30 30.00 30.00 30.00 30.00 30.00 30.00 38.85 \n", + "202_STEAM_4 : 60.70 60.70 60.70 60.70 45.30 30.00 30.00 30.00 30.00 30.00 30.00 60.70 60.70 60.70 60.70 60.70 63.59 67.16 76.00 76.00 73.03 60.70 60.70 60.70 | 60.70 60.70 60.70 60.70 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 \n", + "207_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "207_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CC_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "216_STEAM_1 : 124.00 124.00 117.30 93.00 93.00 93.00 62.00 62.00 62.00 62.00 93.00 93.00 124.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 124.00 124.00 119.40 98.47 93.00 93.00 62.00 62.00 62.00 62.00 93.00 93.00 \n", + "218_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "221_CC_1 : 206.78 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 281.19 293.30 293.30 293.30 304.17 296.92 293.30 293.30 293.30 231.70 | 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "223_STEAM_1 : 155.00 155.00 155.00 155.00 155.00 62.00 62.00 62.00 62.00 62.00 103.89 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 155.00 155.00 155.00 155.00 155.00 62.00 62.00 62.00 62.00 62.00 93.00 155.00 \n", + "223_STEAM_2 : 155.00 155.00 155.00 155.00 155.00 72.48 62.00 62.00 62.00 62.00 93.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 155.00 155.00 155.00 155.00 155.00 63.18 62.00 62.00 62.00 62.00 101.19 155.00 \n", + "223_STEAM_3 : 280.00 217.77 210.00 210.00 210.00 210.00 140.00 140.00 140.00 140.00 210.00 210.00 210.00 280.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 | 280.00 210.00 210.00 210.00 210.00 210.00 140.00 140.00 140.00 140.00 210.00 210.00 \n", + "223_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "313_CC_1 : 231.70 231.70 231.70 231.70 231.70 231.70 208.10 216.10 216.10 231.70 231.70 231.70 231.70 231.70 231.70 293.30 293.30 308.33 313.60 314.35 293.30 293.30 293.30 231.70 | 231.70 231.70 231.70 231.70 231.70 231.70 208.10 216.10 216.10 231.70 231.70 231.70 \n", + "315_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_7 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_8 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "316_STEAM_1 : 124.00 124.00 124.00 124.00 89.61 62.00 62.00 62.00 62.00 62.00 62.00 124.00 124.00 124.00 124.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 124.00 124.00 | 124.00 124.00 124.00 124.00 97.51 62.00 62.00 62.00 62.00 62.00 62.00 62.00 \n", + "318_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "321_CC_1 : 231.70 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 293.30 293.30 293.30 293.30 313.60 313.60 293.30 293.30 293.30 270.91 | 231.70 228.27 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "322_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 170.00 231.70 332.85 354.15 355.00 337.14 259.22 231.70 170.00 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "323_CC_2 : 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 242.64 355.00 355.00 355.00 355.00 170.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "114_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "121_NUCLEAR_1 : 500.00 400.00 500.00 450.00 500.00 450.00 406.30 408.33 408.33 450.00 450.00 400.00 450.00 450.00 400.00 450.00 500.00 483.33 483.33 483.33 500.00 500.00 500.00 500.00 | 400.00 450.00 500.00 400.00 500.00 450.00 400.00 408.33 408.33 450.00 450.00 500.00 \n", + "214_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "314_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "\n", + "Generator Reserve Headroom:\n", + "101_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 30.70 30.70 30.70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 30.70 30.70 30.70 15.30 0.00 0.00 \n", + "101_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 30.70 30.70 30.70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 30.70 30.70 30.70 2.06 0.00 0.00 \n", + "102_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_STEAM_3 : 0.00 0.00 15.30 15.30 15.30 30.70 46.00 44.03 41.03 35.69 30.70 15.30 4.89 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 15.30 15.30 15.30 30.70 39.70 46.00 46.00 37.03 30.70 15.30 \n", + "102_STEAM_4 : 0.00 0.00 15.30 15.30 15.30 30.70 46.00 46.00 46.00 46.00 30.70 15.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 15.30 15.30 15.30 30.70 46.00 44.03 41.03 46.00 30.70 15.30 \n", + "107_CC_1 : 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 143.35 123.30 61.70 61.70 0.00 0.00 0.00 0.00 61.70 61.70 123.30 | 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "113_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_3 : 31.00 31.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 31.00 31.00 31.00 21.65 0.00 0.00 0.00 0.00 0.00 0.00 15.30 31.00 | 31.00 31.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 \n", + "116_STEAM_1 : 31.00 31.00 31.00 31.00 62.00 93.00 93.00 93.00 93.00 93.00 62.00 62.00 31.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 31.00 31.00 31.00 31.00 62.00 93.00 93.00 93.00 93.00 93.00 62.00 62.00 \n", + "118_CC_1 : 123.30 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 123.30 123.30 61.70 41.40 41.40 0.00 61.70 61.70 123.30 123.30 | 123.30 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "123_STEAM_2 : 31.00 31.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 62.00 62.00 62.00 31.00 31.00 31.00 31.00 30.00 30.00 20.81 31.00 31.00 31.00 31.00 | 31.00 62.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 62.00 62.00 \n", + "123_STEAM_3 : 70.00 70.00 70.00 120.63 140.00 210.00 210.00 210.00 210.00 210.00 210.00 140.00 70.00 70.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 49.42 70.00 70.00 70.00 140.00 210.00 210.00 210.00 210.00 210.00 210.00 140.00 \n", + "123_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_STEAM_3 : 30.70 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 30.70 30.70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 30.70 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 \n", + "202_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_STEAM_3 : 15.30 15.30 15.30 15.30 30.70 46.00 46.00 46.00 46.00 46.00 46.00 18.05 15.30 15.30 15.30 15.30 15.30 15.30 0.00 0.00 15.30 0.19 15.30 15.30 | 15.30 15.30 15.30 15.30 30.70 46.00 46.00 46.00 46.00 46.00 46.00 37.15 \n", + "202_STEAM_4 : 15.30 15.30 15.30 15.30 30.70 46.00 46.00 46.00 46.00 46.00 46.00 15.30 15.30 15.30 15.30 15.30 12.41 8.84 0.00 0.00 2.97 15.30 15.30 15.30 | 15.30 15.30 15.30 15.30 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 \n", + "207_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "207_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CC_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "216_STEAM_1 : 31.00 31.00 37.70 62.00 62.00 62.00 93.00 93.00 93.00 93.00 62.00 62.00 31.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 31.00 31.00 35.60 56.53 62.00 62.00 93.00 93.00 93.00 93.00 62.00 62.00 \n", + "218_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "221_CC_1 : 148.22 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 73.81 61.70 61.70 61.70 50.83 58.08 61.70 61.70 61.70 123.30 | 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "223_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 93.00 93.00 93.00 93.00 93.00 51.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 93.00 93.00 93.00 93.00 93.00 62.00 0.00 \n", + "223_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 82.52 93.00 93.00 93.00 93.00 62.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 91.82 93.00 93.00 93.00 93.00 53.81 0.00 \n", + "223_STEAM_3 : 70.00 132.23 140.00 140.00 140.00 140.00 210.00 210.00 210.00 210.00 140.00 140.00 140.00 70.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 70.00 140.00 140.00 140.00 140.00 140.00 210.00 210.00 210.00 210.00 140.00 140.00 \n", + "223_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "313_CC_1 : 123.30 123.30 123.30 123.30 123.30 123.30 146.90 138.90 138.90 123.30 123.30 123.30 123.30 123.30 123.30 61.70 61.70 46.67 41.40 40.65 61.70 61.70 61.70 123.30 | 123.30 123.30 123.30 123.30 123.30 123.30 146.90 138.90 138.90 123.30 123.30 123.30 \n", + "315_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_7 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_8 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "316_STEAM_1 : 31.00 31.00 31.00 31.00 65.39 93.00 93.00 93.00 93.00 93.00 93.00 31.00 31.00 31.00 31.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 31.00 31.00 | 31.00 31.00 31.00 31.00 57.49 93.00 93.00 93.00 93.00 93.00 93.00 93.00 \n", + "318_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "321_CC_1 : 123.30 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 61.70 61.70 61.70 61.70 41.40 41.40 61.70 61.70 61.70 84.09 | 123.30 126.73 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "322_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 123.30 22.15 0.85 0.00 17.86 95.78 123.30 185.00 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "323_CC_2 : 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 112.36 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "114_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "121_NUCLEAR_1 : 0.00 100.00 0.00 50.00 0.00 50.00 93.70 91.67 91.67 50.00 50.00 100.00 50.00 50.00 100.00 50.00 0.00 16.67 16.67 16.67 0.00 0.00 0.00 0.00 | 100.00 50.00 0.00 100.00 0.00 50.00 100.00 91.67 91.67 50.00 50.00 0.00 \n", + "214_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "314_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "Total : 1244.42 1443.43 1589.20 1714.13 1779.69 2257.22 2528.00 2516.00 2513.00 2388.99 2132.81 1817.25 1560.49 1227.85 914.01 657.65 602.87 304.43 222.55 177.61 313.94 450.77 601.30 885.89 | 1237.22 1435.63 1587.10 1708.03 1771.79 2266.52 2528.00 2516.00 2513.00 2407.69 2135.51 1829.05 \n", + "\n", + "Fixed costs: 2947836.41\n", + "Variable costs: 1371626.05\n", + "\n", + "\n", + "Renewables curtailment summary (time-period, aggregate_quantity):\n", + "2020-07-11 06:00 97.34\n", + "2020-07-11 07:00 173.22\n", + "2020-07-11 08:00 108.51\n", + "2020-07-12 06:00 98.44\n", + "2020-07-12 07:00 177.72\n", + "2020-07-12 08:00 127.41\n", + "Solving day-ahead market\n", + "Computing day-ahead prices using method LMP.\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.5617786e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.5699713e+04 2.91e+05 9.90e+01 -1.0 2.70e+04 - 4.12e-04 3.82e-04h 1\n", + " 2 -2.3411289e+04 2.91e+05 9.99e+01 -1.0 2.36e+04 - 3.89e-04 1.38e-03h 1\n", + " 3 8.2776208e+03 2.87e+05 1.03e+02 -1.0 7.07e+03 - 1.06e-03 1.20e-02h 1\n", + " 4 3.4194476e+04 2.84e+05 1.00e+02 -1.0 7.35e+03 - 1.77e-02 9.07e-03h 1\n", + " 5 3.7110268e+04 2.84e+05 3.34e+02 -1.0 1.83e+05 - 1.14e-01 1.07e-03h 1\n", + " 6 2.5375447e+06 2.84e+03 1.67e+02 -1.0 2.96e+04 - 2.72e-02 9.90e-01h 1\n", + " 7 2.5144664e+06 2.05e+03 1.31e+02 -1.0 2.78e+03 - 2.16e-01 2.80e-01f 1\n", + " 8 2.3930969e+06 2.02e+01 9.43e+02 -1.0 3.53e+03 - 3.28e-01 9.90e-01f 1\n", + " 9 2.2278129e+06 4.23e+00 4.56e+04 -1.0 5.34e+03 - 4.71e-01 7.90e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.9224105e+06 7.28e-01 2.33e+05 -1.0 9.98e+03 - 4.75e-01 8.28e-01f 1\n", + " 11 1.9146208e+06 7.16e-01 2.28e+05 -1.0 1.86e+04 - 1.83e-01 1.64e-02f 1\n", + " 12 1.4218169e+06 1.16e-10 2.41e+06 -1.0 2.27e+04 - 8.62e-02 1.00e+00f 1\n", + " 13 1.2919845e+06 2.33e-10 4.38e+06 -1.0 2.40e+04 - 2.12e-02 3.33e-01f 1\n", + " 14 6.8186584e+05 1.16e-10 6.36e+06 -1.0 8.79e+04 - 3.56e-02 5.29e-01f 1\n", + " 15 6.7406106e+05 1.16e-10 6.06e+06 -1.0 5.03e+04 - 3.86e-02 9.25e-03f 1\n", + " 16 6.7374676e+05 1.16e-10 5.95e+06 -1.0 5.92e+04 - 1.36e-02 3.56e-04f 1\n", + " 17 5.1259921e+05 1.16e-10 3.36e+06 -1.0 6.06e+04 - 3.78e-01 2.11e-01f 1\n", + " 18 5.1089121e+05 1.16e-10 2.24e+06 -1.0 4.84e+04 - 2.26e-01 2.64e-03f 1\n", + " 19 4.9709321e+05 1.16e-10 9.19e+05 -1.0 5.96e+03 - 8.58e-01 7.79e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.9875083e+05 1.16e-10 4.86e+05 -1.0 6.79e+03 - 6.02e-02 9.81e-01f 1\n", + " 21 1.2645012e+05 1.16e-10 5.04e+05 -1.0 2.20e+05 - 1.78e-03 6.87e-01f 1\n", + " 22 -2.0074672e+04 1.16e-10 4.33e+05 -1.0 9.19e+05 - 1.40e-01 1.44e-01f 1\n", + " 23 -2.1696700e+04 1.16e-10 2.17e+05 -1.0 9.27e+03 - 4.93e-01 1.43e-01f 1\n", + " 24 -2.2647404e+04 1.16e-10 2.55e+04 -1.0 1.68e+02 - 8.85e-01 1.00e+00f 1\n", + " 25 -2.2686218e+04 1.16e-10 1.98e+04 -1.0 1.42e+03 - 2.25e-01 1.00e+00f 1\n", + " 26 -2.2666087e+04 1.16e-10 6.31e+03 -1.0 1.79e+03 - 6.81e-01 1.00e+00f 1\n", + " 27 -2.2664581e+04 5.82e-11 2.52e+03 -1.0 5.25e+03 - 6.00e-01 1.00e+00f 1\n", + " 28 -2.2661068e+04 1.16e-10 1.11e+03 -1.0 1.13e+04 - 5.58e-01 1.00e+00f 1\n", + " 29 -2.3091796e+04 1.16e-10 8.45e+05 -1.7 3.68e+03 - 8.94e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.3090188e+04 1.16e-10 3.89e+05 -1.7 3.06e+04 - 5.40e-01 1.00e+00f 1\n", + " 31 -2.3085961e+04 1.16e-10 1.07e+05 -1.7 5.41e+04 - 7.26e-01 1.00e+00f 1\n", + " 32 -2.3076954e+04 1.16e-10 2.43e+04 -1.7 9.69e+04 - 7.72e-01 1.00e+00f 1\n", + " 33 -2.3067719e+04 5.82e-11 2.00e-07 -1.7 9.08e+04 - 1.00e+00 1.00e+00f 1\n", + " 34 -2.3190199e+04 5.82e-11 3.77e+05 -5.7 1.93e+05 - 7.00e-01 8.89e-01f 1\n", + " 35 -2.3205753e+04 1.16e-10 9.81e+04 -5.7 1.02e+05 - 7.30e-01 7.13e-01f 1\n", + " 36 -2.3212292e+04 1.16e-10 1.15e+04 -5.7 6.03e+04 - 9.01e-01 9.29e-01f 1\n", + " 37 -2.3212585e+04 1.16e-10 1.65e+03 -5.7 3.22e+03 - 1.00e+00 6.36e-01f 1\n", + " 38 -2.3212733e+04 5.82e-11 1.60e+02 -5.7 1.14e+03 - 9.16e-01 1.00e+00f 1\n", + " 39 -2.3212732e+04 2.33e-10 1.85e-11 -5.7 1.79e+00 - 1.00e+00 1.00e+00h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.3212744e+04 2.33e-10 9.24e-13 -7.0 4.12e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 40\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.3212743816508134e+02 -2.3212743816508133e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.2587497954783794e-07 1.2587497954783794e-05\n", + "Overall NLP error.......: 1.2587497954783794e-07 1.2587497954783794e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 41\n", + "Number of objective gradient evaluations = 41\n", + "Number of equality constraint evaluations = 41\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 41\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 40\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.028\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 68068.44\n", + "Variable costs: 33918.54\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 343.58\n", + "\n", + "Simulating time_step 2020-07-10 17:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.0713806e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.0754381e+04 1.64e+05 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -1.8176311e+04 1.64e+05 1.00e+02 -1.0 2.66e+04 - 1.94e-04 8.73e-04h 1\n", + " 3 -1.1070329e+04 1.63e+05 1.00e+02 -1.0 1.85e+04 - 8.11e-04 1.84e-03h 1\n", + " 4 4.4228513e+04 1.61e+05 1.01e+02 -1.0 2.65e+03 - 1.89e-03 1.27e-02h 1\n", + " 5 5.0299716e+05 1.44e+05 1.08e+02 -1.0 2.33e+03 - 1.71e-02 1.05e-01h 1\n", + " 6 6.3607123e+05 1.39e+05 8.42e+01 -1.0 2.37e+03 - 1.43e-01 3.44e-02h 1\n", + " 7 4.3367053e+06 1.39e+03 1.26e+02 -1.0 2.77e+03 - 2.39e-01 9.90e-01h 1\n", + " 8 4.3055005e+06 7.96e+02 2.99e+02 -1.0 3.63e+03 - 1.80e-01 4.29e-01f 1\n", + " 9 4.1954861e+06 7.79e+00 9.39e+02 -1.0 4.39e+03 - 5.35e-01 9.90e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.9215792e+06 1.16e-10 1.49e+05 -1.0 8.94e+03 - 2.78e-01 1.00e+00f 1\n", + " 11 3.5879685e+06 8.73e-11 5.58e+06 -1.0 1.05e+04 - 4.39e-01 1.00e+00f 1\n", + " 12 2.9939031e+06 1.16e-10 5.20e+06 -1.0 2.34e+04 - 6.83e-02 1.00e+00f 1\n", + " 13 2.0284319e+06 5.82e-11 5.11e+06 -1.0 5.39e+04 - 1.70e-02 7.51e-01f 1\n", + " 14 1.9770662e+06 9.15e-11 4.32e+06 -1.0 7.88e+04 - 1.55e-01 1.91e-02f 1\n", + " 15 1.7146702e+06 1.16e-10 2.68e+06 -1.0 8.18e+04 - 3.79e-01 1.02e-01f 1\n", + " 16 1.2811479e+06 1.16e-10 1.07e+06 -1.0 7.82e+04 - 6.02e-01 1.75e-01f 1\n", + " 17 1.2254550e+06 1.16e-10 2.72e+05 -1.0 1.03e+05 - 7.44e-01 3.26e-02f 1\n", + " 18 9.3126953e+05 5.82e-11 2.65e+05 -1.0 2.11e+05 - 2.91e-02 1.61e-01f 1\n", + " 19 9.2652138e+05 1.16e-10 2.64e+05 -1.0 3.50e+05 - 4.76e-04 2.71e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.5027662e+05 1.16e-10 2.08e+05 -1.0 9.47e+05 - 2.12e-01 8.95e-02f 1\n", + " 21 3.9066857e+05 1.16e-10 2.08e+05 -1.0 3.73e+05 - 2.68e-03 2.87e-01f 1\n", + " 22 3.6115029e+05 1.16e-10 2.01e+05 -1.0 8.19e+05 - 3.13e-02 2.18e-02f 1\n", + " 23 3.6055171e+05 1.16e-10 7.35e+03 -1.0 1.83e+05 - 9.63e-01 9.98e-04f 1\n", + " 24 1.0059645e+05 1.16e-10 6.94e+03 -1.0 3.11e+04 - 5.64e-02 6.84e-01f 1\n", + " 25 8.9904135e+04 5.82e-11 4.93e+03 -1.0 6.52e+04 - 2.89e-01 9.25e-02f 1\n", + " 26 -1.6762718e+04 1.16e-10 4.36e+03 -1.0 8.01e+04 - 1.16e-01 9.98e-01f 1\n", + " 27 -1.7633170e+04 1.16e-10 6.05e+02 -1.0 3.82e+03 - 9.08e-01 9.93e-01f 1\n", + " 28 -1.8107216e+04 1.16e-10 2.23e+06 -1.7 8.36e+03 - 7.22e-01 1.00e+00f 1\n", + " 29 -1.8105893e+04 1.16e-10 1.01e+06 -1.7 2.01e+04 - 5.44e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -1.8102785e+04 1.16e-10 3.08e+05 -1.7 3.93e+04 - 6.96e-01 1.00e+00f 1\n", + " 31 -1.8095551e+04 1.16e-10 1.02e+05 -1.7 8.31e+04 - 6.69e-01 1.00e+00f 1\n", + " 32 -1.8086607e+04 1.16e-10 8.73e+03 -1.7 9.79e+04 - 9.14e-01 1.00e+00f 1\n", + " 33 -1.8083027e+04 5.82e-11 2.00e-07 -1.7 1.84e+05 - 1.00e+00 1.00e+00f 1\n", + " 34 -1.8234553e+04 5.82e-11 6.52e+05 -5.7 2.13e+05 - 6.73e-01 9.99e-01f 1\n", + " 35 -1.8243693e+04 1.16e-10 2.43e+05 -5.7 1.70e+05 - 6.29e-01 8.24e-01f 1\n", + " 36 -1.8245199e+04 1.16e-10 1.61e+04 -5.7 4.16e+04 - 9.33e-01 6.91e-01f 1\n", + " 37 -1.8245794e+04 1.16e-10 4.03e+01 -5.7 1.22e+04 - 9.97e-01 9.91e-01f 1\n", + " 38 -1.8245795e+04 5.82e-11 1.85e-11 -5.7 3.41e+01 - 1.00e+00 1.00e+00f 1\n", + " 39 -1.8245808e+04 1.16e-10 9.38e-13 -7.0 4.18e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 39\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -1.8245808444861930e+02 -1.8245808444861930e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.8856055994693922e-07 1.8856055994693922e-05\n", + "Overall NLP error.......: 1.8856055994693922e-07 1.8856055994693922e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 40\n", + "Number of objective gradient evaluations = 40\n", + "Number of equality constraint evaluations = 40\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 40\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 39\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.028\n", + "Total CPU secs in NLP function evaluations = 0.002\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 64688.44\n", + "Variable costs: 40286.93\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 254.80\n", + "\n", + "Simulating time_step 2020-07-10 18:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -1.5797542e+04 4.00e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -1.5838102e+04 4.00e+05 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -1.2121048e+04 3.99e+05 1.00e+02 -1.0 2.66e+04 - 1.94e-04 8.73e-04h 1\n", + " 3 -2.8380376e+03 3.98e+05 1.00e+02 -1.0 1.85e+04 - 8.40e-04 1.84e-03h 1\n", + " 4 6.5659228e+04 3.93e+05 1.01e+02 -1.0 2.38e+03 - 2.68e-03 1.27e-02h 1\n", + " 5 6.9877273e+05 3.47e+05 1.08e+02 -1.0 2.33e+03 - 2.43e-02 1.18e-01h 1\n", + " 6 9.0147613e+05 3.32e+05 8.23e+01 -1.0 2.39e+03 - 3.31e-01 4.31e-02h 1\n", + " 7 5.3484098e+06 3.32e+03 9.17e+01 -1.0 3.58e+03 - 2.81e-01 9.90e-01h 1\n", + " 8 5.3014397e+06 4.92e+02 8.30e+02 -1.0 4.93e+03 - 1.63e-01 8.52e-01f 1\n", + " 9 5.1916635e+06 4.53e+00 3.31e+03 -1.0 5.72e+03 - 5.84e-01 9.91e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 4.9319008e+06 1.16e-10 6.25e+05 -1.0 1.20e+04 - 2.29e-01 1.00e+00f 1\n", + " 11 4.6301524e+06 5.82e-11 7.33e+06 -1.0 1.11e+04 - 2.53e-01 1.00e+00f 1\n", + " 12 3.8938882e+06 5.82e-11 7.10e+06 -1.0 4.53e+04 - 3.19e-02 1.00e+00f 1\n", + " 13 2.5189415e+06 5.82e-11 6.89e+06 -1.0 8.62e+04 - 2.98e-02 3.11e-01f 1\n", + " 14 2.4824646e+06 1.16e-10 4.92e+06 -1.0 7.07e+04 - 2.85e-01 9.87e-03f 1\n", + " 15 2.0586075e+06 1.16e-10 2.52e+06 -1.0 7.32e+04 - 4.88e-01 1.15e-01f 1\n", + " 16 1.9387468e+06 1.16e-10 4.05e+05 -1.0 6.92e+04 - 8.39e-01 4.06e-02f 1\n", + " 17 1.3830445e+06 1.16e-10 3.59e+05 -1.0 2.05e+05 - 1.12e-01 1.79e-01f 1\n", + " 18 1.3761239e+06 1.16e-10 3.59e+05 -1.0 1.83e+05 - 1.32e-03 2.96e-03f 1\n", + " 19 1.3670492e+06 1.16e-10 3.33e+05 -1.0 9.29e+05 - 7.16e-02 3.75e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.0742104e+05 1.16e-10 3.33e+05 -1.0 4.28e+05 - 8.26e-04 3.35e-01f 1\n", + " 21 7.0585541e+05 1.16e-10 3.17e+05 -1.0 7.78e+05 - 4.80e-02 8.70e-04f 1\n", + " 22 6.8973728e+05 1.75e-10 1.68e+05 -1.0 1.69e+05 - 4.71e-01 2.09e-02f 1\n", + " 23 5.7829661e+05 1.16e-10 1.40e+05 -1.0 6.85e+04 - 1.62e-01 2.53e-01f 1\n", + " 24 3.9510450e+05 1.16e-10 1.40e+05 -1.0 3.91e+04 - 2.14e-03 5.24e-01f 1\n", + " 25 3.7938423e+05 1.16e-10 5.32e+04 -1.0 3.83e+05 - 6.20e-01 2.94e-02f 1\n", + " 26 1.6809904e+05 1.16e-10 5.16e+04 -1.0 2.95e+05 - 2.93e-02 4.65e-01f 1\n", + " 27 1.6533486e+05 1.16e-10 4.03e+04 -1.0 8.33e+04 - 2.19e-01 1.66e-02f 1\n", + " 28 3.4165164e+04 1.16e-10 4.02e+04 -1.0 7.67e+04 - 2.37e-03 8.46e-01f 1\n", + " 29 -2.4124910e+04 1.16e-10 9.62e+03 -1.0 6.36e+04 - 7.61e-01 7.77e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.5355182e+04 1.16e-10 5.47e+03 -1.0 2.10e+03 - 4.31e-01 9.68e-01f 1\n", + " 31 -2.5339914e+04 1.16e-10 2.18e+03 -1.0 3.14e+03 - 6.01e-01 1.00e+00f 1\n", + " 32 -2.5721841e+04 1.16e-10 8.94e+05 -1.7 1.61e+03 - 8.88e-01 1.00e+00f 1\n", + " 33 -2.5721525e+04 2.33e-10 4.27e+05 -1.7 1.33e+04 - 5.22e-01 1.00e+00f 1\n", + " 34 -2.5719239e+04 1.16e-10 1.44e+05 -1.7 2.61e+04 - 6.62e-01 1.00e+00f 1\n", + " 35 -2.5712996e+04 1.16e-10 5.40e+04 -1.7 5.92e+04 - 6.25e-01 1.00e+00f 1\n", + " 36 -2.5703292e+04 1.16e-10 4.70e+03 -1.7 9.13e+04 - 9.13e-01 1.00e+00f 1\n", + " 37 -2.5689924e+04 1.16e-10 2.00e-07 -1.7 1.05e+05 - 1.00e+00 1.00e+00f 1\n", + " 38 -2.5808540e+04 1.16e-10 4.23e+05 -5.7 2.19e+05 - 7.04e-01 9.16e-01f 1\n", + " 39 -2.5820630e+04 1.16e-10 8.68e+04 -5.7 1.25e+05 - 7.75e-01 7.24e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.5824840e+04 1.16e-10 1.80e+03 -5.7 5.71e+04 - 9.26e-01 8.25e-01f 1\n", + " 41 -2.5825438e+04 1.16e-10 1.73e+03 -5.7 8.58e+03 - 9.84e-01 7.67e-01f 1\n", + " 42 -2.5825592e+04 1.16e-10 2.85e+02 -5.7 1.91e+03 - 8.93e-01 1.00e+00f 1\n", + " 43 -2.5825591e+04 2.33e-10 1.85e-11 -5.7 1.08e+00 - 1.00e+00 1.00e+00f 1\n", + " 44 -2.5825602e+04 1.16e-10 9.24e-13 -7.0 4.12e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 44\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.5825601741697602e+02 -2.5825601741697603e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2429630732907041e-07 1.2429630732907041e-05\n", + "Overall NLP error.......: 1.2429630732907041e-07 1.2429630732907041e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 45\n", + "Number of objective gradient evaluations = 45\n", + "Number of equality constraint evaluations = 45\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 45\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 44\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.031\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 62776.44\n", + "Variable costs: 46103.63\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 385.37\n", + "\n", + "Simulating time_step 2020-07-10 19:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.3277566e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.3319501e+04 2.91e+05 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.0552856e+04 2.91e+05 1.00e+02 -1.0 2.66e+04 - 1.94e-04 8.46e-04h 1\n", + " 3 -1.3245262e+04 2.90e+05 1.00e+02 -1.0 1.87e+04 - 8.33e-04 1.72e-03h 1\n", + " 4 4.6439979e+04 2.87e+05 1.02e+02 -1.0 3.45e+03 - 1.65e-03 1.25e-02h 1\n", + " 5 8.2219679e+04 2.85e+05 9.90e+01 -1.0 5.25e+03 - 1.68e-02 7.50e-03h 1\n", + " 6 8.6172851e+04 2.84e+05 3.47e+02 -1.0 1.51e+05 - 8.24e-02 8.55e-04h 1\n", + " 7 1.9228789e+06 1.66e+05 2.58e+02 -1.0 3.03e+04 - 3.30e-02 4.15e-01h 1\n", + " 8 2.0552567e+06 1.58e+05 2.30e+02 -1.0 1.84e+04 - 1.02e-01 5.19e-02h 1\n", + " 9 3.5415269e+06 6.04e+04 1.31e+02 -1.0 1.73e+04 - 4.64e-01 6.17e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.8647633e+06 3.53e+04 1.15e+02 -1.0 7.11e+03 - 2.28e-01 4.15e-01h 1\n", + " 11 3.8977477e+06 3.19e+04 6.36e+01 -1.0 7.08e+03 - 3.33e-01 9.64e-02h 1\n", + " 12 4.0827418e+06 3.19e+02 9.17e+01 -1.0 1.03e+04 - 2.16e-01 9.90e-01h 1\n", + " 13 4.0097784e+06 2.53e+02 4.79e+02 -1.0 1.12e+04 - 1.61e-01 2.07e-01f 1\n", + " 14 4.0047259e+06 2.49e+02 2.08e+02 -1.0 1.22e+04 - 7.57e-02 1.66e-02f 1\n", + " 15 3.6924692e+06 2.20e+00 8.68e+03 -1.0 1.29e+04 - 2.48e-01 9.91e-01f 1\n", + " 16 3.5076779e+06 1.45e+00 3.16e+05 -1.0 3.05e+04 - 7.59e-02 3.42e-01f 1\n", + " 17 2.0980635e+06 4.21e-02 1.61e+06 -1.0 5.16e+04 - 8.13e-03 9.71e-01f 1\n", + " 18 2.0420928e+06 4.11e-02 2.15e+05 -1.0 7.36e+04 - 2.29e-01 2.27e-02f 1\n", + " 19 1.8176243e+06 3.71e-02 1.05e+05 -1.0 7.61e+04 - 5.40e-02 9.71e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.7943137e+06 3.67e-02 1.68e+05 -1.0 6.98e+04 - 1.70e-03 1.13e-02f 1\n", + " 21 1.3048265e+06 2.85e-02 2.02e+06 -1.0 6.91e+04 - 5.45e-01 2.23e-01f 1\n", + " 22 1.2993814e+06 2.85e-02 2.84e+06 -1.0 7.06e+04 - 2.37e-01 2.92e-03f 1\n", + " 23 1.2226573e+06 2.69e-02 4.06e+06 -1.0 8.63e+04 - 5.49e-01 5.51e-02f 1\n", + " 24 1.2147806e+06 2.67e-02 4.03e+06 -1.0 1.40e+05 - 1.22e-02 8.28e-03f 1\n", + " 25 8.2714751e+05 1.72e-02 2.11e+06 -1.0 1.68e+05 - 1.48e-04 3.55e-01f 1\n", + " 26 8.0517311e+05 1.69e-02 2.64e+06 -1.0 8.76e+05 - 4.14e-01 1.57e-02f 1\n", + " 27 5.3504395e+05 1.24e-02 1.71e+06 -1.0 5.73e+05 - 5.81e-03 2.66e-01f 1\n", + " 28 5.2236041e+05 1.23e-02 1.69e+06 -1.0 4.72e+05 - 3.25e-03 8.63e-03f 1\n", + " 29 5.2145326e+05 1.23e-02 1.84e+06 -1.0 4.71e+05 - 1.70e-01 7.00e-04f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 4.6162045e+05 1.17e-02 1.70e+06 -1.0 3.89e+05 - 2.14e-03 5.31e-02f 1\n", + " 31 4.6026401e+05 1.16e-02 1.75e+06 -1.0 3.77e+05 - 7.02e-02 1.44e-03f 1\n", + " 32 3.5198439e+05 1.01e-02 1.88e+06 -1.0 3.59e+05 - 6.43e-01 1.28e-01f 1\n", + " 33 1.2163933e+05 4.79e-03 7.69e+05 -1.0 1.85e+05 - 7.24e-02 5.27e-01f 1\n", + " 34 1.1621219e+05 4.57e-03 7.69e+05 -1.0 4.98e+04 - 1.92e-01 4.72e-02f 1\n", + " 35 5.4029537e+04 1.85e-03 2.02e+05 -1.0 7.84e+04 - 4.64e-02 5.94e-01f 1\n", + " 36 -1.8083608e+04 1.16e-10 1.70e+05 -1.0 5.93e+04 - 1.21e-01 1.00e+00f 1\n", + " 37 -2.5296257e+04 1.16e-10 5.21e+04 -1.0 7.26e+03 - 6.95e-01 9.07e-01f 1\n", + " 38 -2.5363190e+04 1.16e-10 2.39e+04 -1.0 7.82e+02 - 5.43e-01 1.00e+00f 1\n", + " 39 -2.5349793e+04 1.16e-10 1.02e+04 -1.0 1.55e+03 - 5.75e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.5344712e+04 1.16e-10 3.82e+03 -1.0 3.73e+03 - 6.24e-01 1.00e+00f 1\n", + " 41 -2.5335996e+04 1.16e-10 1.73e+03 -1.0 9.68e+03 - 5.46e-01 1.00e+00f 1\n", + " 42 -2.5718464e+04 1.16e-10 8.06e+05 -1.7 4.17e+03 - 8.99e-01 1.00e+00f 1\n", + " 43 -2.5719462e+04 1.16e-10 3.76e+05 -1.7 3.58e+04 - 5.33e-01 1.00e+00f 1\n", + " 44 -2.5714628e+04 1.16e-10 9.24e+04 -1.7 6.00e+04 - 7.54e-01 1.00e+00f 1\n", + " 45 -2.5705635e+04 1.16e-10 1.92e+04 -1.7 1.05e+05 - 7.93e-01 1.00e+00f 1\n", + " 46 -2.5699491e+04 1.16e-10 2.00e-07 -1.7 8.21e+04 - 1.00e+00 1.00e+00f 1\n", + " 47 -2.5809384e+04 2.33e-10 2.80e+05 -5.7 2.13e+05 - 7.10e-01 8.50e-01f 1\n", + " 48 -2.5825786e+04 2.33e-10 1.82e+04 -5.7 1.32e+05 - 7.88e-01 6.50e-01f 1\n", + " 49 -2.5833897e+04 2.33e-10 1.84e+02 -5.7 6.99e+04 - 8.93e-01 8.73e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -2.5834796e+04 1.16e-10 2.05e+03 -5.7 7.36e+03 - 9.96e-01 8.42e-01f 1\n", + " 51 -2.5834934e+04 1.16e-10 3.05e+02 -5.7 1.09e+03 - 8.81e-01 9.73e-01f 1\n", + " 52 -2.5834935e+04 2.33e-10 1.85e-11 -5.7 2.92e+01 - 1.00e+00 1.00e+00f 1\n", + " 53 -2.5834946e+04 1.16e-10 9.38e-13 -7.0 4.12e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 53\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.5834946077156388e+02 -2.5834946077156386e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 3.1779287818427350e-07 3.1779287818427351e-05\n", + "Overall NLP error.......: 3.1779287818427350e-07 3.1779287818427351e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 54\n", + "Number of objective gradient evaluations = 54\n", + "Number of equality constraint evaluations = 54\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 54\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 53\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.036\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 69611.82\n", + "Variable costs: 48662.52\n", + "\n", + "Number on/offs: 3\n", + "Sum on/off ramps: 24.00\n", + "Sum nominal ramps: 109.51\n", + "\n", + "Simulating time_step 2020-07-10 20:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.3285608e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.3326882e+04 1.64e+05 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.0786266e+04 1.64e+05 1.00e+02 -1.0 2.66e+04 - 1.94e-04 8.73e-04h 1\n", + " 3 -1.4231219e+04 1.63e+05 1.00e+02 -1.0 1.85e+04 - 8.40e-04 1.75e-03h 1\n", + " 4 1.1083352e+04 1.62e+05 1.01e+02 -1.0 3.42e+03 - 1.68e-03 5.91e-03h 1\n", + " 5 6.5793486e+04 1.60e+05 1.00e+02 -1.0 2.36e+03 - 9.56e-03 1.27e-02h 1\n", + " 6 2.4747937e+05 1.54e+05 9.88e+01 -1.0 2.39e+03 - 2.69e-02 4.25e-02h 1\n", + " 7 8.8478564e+05 1.30e+05 9.46e+01 -1.0 2.46e+03 - 9.71e-02 1.56e-01h 1\n", + " 8 1.4126021e+06 1.10e+05 6.63e+01 -1.0 2.72e+03 - 5.22e-01 1.54e-01h 1\n", + " 9 4.1757026e+06 1.10e+03 5.31e+01 -1.0 5.67e+03 - 3.46e-01 9.90e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 4.1615156e+06 1.04e+03 3.29e+02 -1.0 8.34e+03 - 2.82e-01 5.51e-02f 1\n", + " 11 4.1554005e+06 1.02e+03 5.25e+02 -1.0 1.13e+04 - 1.47e-01 1.91e-02f 1\n", + " 12 3.8298382e+06 1.30e+02 1.01e+03 -1.0 1.29e+04 - 2.05e-01 8.72e-01f 1\n", + " 13 3.8233514e+06 1.28e+02 1.45e+03 -1.0 1.31e+04 - 2.12e-01 1.75e-02f 1\n", + " 14 3.5859321e+06 5.53e+01 5.45e+03 -1.0 1.54e+04 - 9.29e-02 5.69e-01f 1\n", + " 15 2.8923519e+06 3.90e-01 2.82e+04 -1.0 3.93e+04 - 3.93e-02 9.93e-01f 1\n", + " 16 1.9700086e+06 2.63e-01 9.18e+05 -1.0 8.34e+04 - 2.17e-02 3.26e-01f 1\n", + " 17 1.6544604e+06 2.31e-01 2.42e+05 -1.0 7.15e+04 - 2.71e-01 1.24e-01f 1\n", + " 18 1.6386488e+06 2.29e-01 2.28e+06 -1.0 6.66e+04 - 6.91e-01 8.54e-03f 1\n", + " 19 1.2877017e+06 1.85e-01 3.22e+06 -1.0 8.57e+04 - 7.13e-01 1.92e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.2296541e+06 1.78e-01 3.19e+06 -1.0 1.83e+05 - 7.70e-02 3.64e-02f 1\n", + " 21 1.2267047e+06 1.77e-01 3.18e+06 -1.0 1.84e+05 - 8.59e-04 2.56e-03f 1\n", + " 22 1.1941658e+06 1.75e-01 3.32e+06 -1.0 1.39e+06 - 1.03e-01 1.27e-02f 1\n", + " 23 1.1827196e+06 1.74e-01 3.28e+06 -1.0 3.21e+05 - 1.17e-03 8.09e-03f 1\n", + " 24 1.0238866e+06 1.64e-01 3.06e+06 -1.0 1.36e+06 - 3.80e-02 5.65e-02f 1\n", + " 25 1.0219790e+06 1.64e-01 3.22e+06 -1.0 8.78e+05 - 8.33e-02 8.56e-04f 1\n", + " 26 8.3950101e+05 1.38e-01 2.59e+06 -1.0 4.39e+05 - 9.33e-02 1.58e-01f 1\n", + " 27 6.1923247e+05 1.11e-01 2.09e+06 -1.0 5.17e+05 - 1.93e-01 1.94e-01f 1\n", + " 28 5.9428891e+05 1.07e-01 1.94e+06 -1.0 3.47e+05 - 1.41e-03 3.68e-02f 1\n", + " 29 5.6660335e+05 1.05e-01 2.22e+06 -1.0 3.40e+05 - 1.88e-01 2.36e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.6472798e+05 1.04e-01 2.24e+06 -1.0 3.20e+05 - 1.33e-02 2.38e-03f 1\n", + " 31 1.6665147e+05 4.99e-02 2.05e+05 -1.0 3.81e+05 - 2.89e-02 5.22e-01f 1\n", + " 32 1.5760485e+05 4.77e-02 2.21e+06 -1.0 1.59e+04 - 9.73e-01 4.41e-02f 1\n", + " 33 1.8827592e+04 1.15e-02 2.33e+05 -1.0 5.79e+04 - 2.19e-01 7.58e-01f 1\n", + " 34 -2.4851353e+04 1.78e-04 3.41e+05 -1.0 3.48e+04 - 3.65e-01 9.85e-01f 1\n", + " 35 -2.5279473e+04 1.16e-10 9.41e+04 -1.0 7.01e+03 - 7.60e-01 1.00e+00f 1\n", + " 36 -2.5265207e+04 3.49e-10 3.03e+04 -1.0 2.81e+04 - 6.79e-01 1.00e+00f 1\n", + " 37 -2.5251846e+04 1.16e-10 1.30e+04 -1.0 1.02e+05 - 5.72e-01 1.00e+00f 1\n", + " 38 -2.5237737e+04 1.16e-10 3.69e+03 -1.0 1.29e+05 - 7.16e-01 1.00e+00f 1\n", + " 39 -2.5213031e+04 1.16e-10 8.76e+01 -1.0 2.42e+05 - 9.76e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.5681094e+04 1.16e-10 1.60e+06 -2.5 1.82e+05 - 7.55e-01 9.20e-01f 1\n", + " 41 -2.5741907e+04 1.16e-10 8.52e+05 -2.5 1.84e+05 - 6.42e-01 1.00e+00f 1\n", + " 42 -2.5753518e+04 1.16e-10 2.83e-08 -2.5 1.24e+05 - 1.00e+00 1.00e+00f 1\n", + " 43 -2.5771081e+04 1.16e-10 3.31e+03 -5.7 9.35e+04 - 8.33e-01 8.45e-01f 1\n", + " 44 -2.5773992e+04 1.16e-10 4.15e+03 -5.7 1.69e+04 - 9.86e-01 8.90e-01f 1\n", + " 45 -2.5774198e+04 5.82e-11 1.63e+03 -5.7 1.40e+03 - 1.00e+00 6.60e-01f 1\n", + " 46 -2.5774290e+04 1.16e-10 1.62e+02 -5.7 4.70e+02 - 9.15e-01 1.00e+00f 1\n", + " 47 -2.5774288e+04 1.16e-10 1.85e-11 -5.7 1.73e+00 - 1.00e+00 1.00e+00f 1\n", + " 48 -2.5774300e+04 1.16e-10 9.38e-13 -7.0 4.12e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 48\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.5774299709928715e+02 -2.5774299709928713e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2583877605386285e-07 1.2583877605386284e-05\n", + "Overall NLP error.......: 1.2583877605386285e-07 1.2583877605386284e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 49\n", + "Number of objective gradient evaluations = 49\n", + "Number of equality constraint evaluations = 49\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 49\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 48\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.034\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 68400.44\n", + "Variable costs: 48349.81\n", + "\n", + "Number on/offs: 3\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 27.43\n", + "\n", + "Simulating time_step 2020-07-10 21:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.3224958e+04 1.15e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.3266309e+04 1.15e+05 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.0726127e+04 1.15e+05 1.00e+02 -1.0 2.66e+04 - 1.94e-04 8.73e-04h 1\n", + " 3 -1.4172378e+04 1.14e+05 1.00e+02 -1.0 1.85e+04 - 8.40e-04 1.75e-03h 1\n", + " 4 1.1135336e+04 1.14e+05 1.01e+02 -1.0 3.42e+03 - 1.68e-03 5.91e-03h 1\n", + " 5 7.9407390e+04 1.12e+05 1.00e+02 -1.0 2.36e+03 - 9.56e-03 1.58e-02h 1\n", + " 6 2.6930823e+05 1.07e+05 9.86e+01 -1.0 2.39e+03 - 3.06e-02 4.45e-02h 1\n", + " 7 6.9622802e+05 9.58e+04 8.26e+01 -1.0 2.47e+03 - 3.60e-01 1.05e-01h 1\n", + " 8 3.4661289e+06 2.18e+04 6.23e+01 -1.0 3.85e+03 - 3.38e-01 7.73e-01h 1\n", + " 9 3.8094839e+06 1.03e+04 5.23e+01 -1.0 5.75e+03 - 2.42e-01 5.26e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.8100457e+06 1.03e+04 3.89e+01 -1.0 7.39e+03 - 3.54e-01 3.68e-03h 1\n", + " 11 3.8650794e+06 1.03e+02 9.25e+01 -1.0 1.11e+04 - 1.62e-01 9.90e-01h 1\n", + " 12 3.8255375e+06 9.09e+01 2.65e+03 -1.0 1.11e+04 - 3.59e-01 1.14e-01f 1\n", + " 13 3.8107313e+06 8.75e+01 3.26e+03 -1.0 1.50e+04 - 9.29e-02 3.71e-02f 1\n", + " 14 3.4835633e+06 2.99e+01 7.30e+03 -1.0 1.78e+04 - 5.19e-02 6.58e-01f 1\n", + " 15 3.2477260e+06 2.37e+01 1.28e+04 -1.0 5.16e+04 - 1.44e-02 2.08e-01f 1\n", + " 16 2.0081889e+06 1.46e+01 2.48e+04 -1.0 8.79e+04 - 3.34e-02 3.85e-01f 1\n", + " 17 1.9892269e+06 1.45e+01 1.36e+04 -1.0 6.54e+04 - 4.97e-01 7.99e-03f 1\n", + " 18 1.4925713e+06 1.12e+01 2.88e+04 -1.0 6.91e+04 - 4.61e-01 2.27e-01f 1\n", + " 19 1.4674437e+06 1.10e+01 1.05e+05 -1.0 5.36e+04 - 7.70e-01 1.44e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.4461514e+06 1.08e+01 1.05e+05 -1.0 1.53e+05 - 3.35e-02 1.64e-02f 1\n", + " 21 1.1646606e+06 8.61e+00 6.19e+04 -1.0 1.54e+05 - 3.71e-04 2.06e-01f 1\n", + " 22 1.1635863e+06 8.60e+00 7.22e+04 -1.0 3.60e+05 - 8.06e-02 7.60e-04f 1\n", + " 23 1.0323290e+06 7.73e+00 5.19e+04 -1.0 1.67e+05 - 9.33e-04 1.01e-01f 1\n", + " 24 9.5088724e+05 7.49e+00 5.38e+04 -1.0 1.46e+06 - 5.49e-02 3.07e-02f 1\n", + " 25 9.4973447e+05 7.49e+00 9.14e+04 -1.0 6.02e+05 - 2.55e-01 7.23e-04f 1\n", + " 26 8.2567449e+05 6.40e+00 1.04e+05 -1.0 3.02e+05 - 3.18e-01 1.45e-01f 1\n", + " 27 6.0203340e+05 4.93e+00 4.10e+04 -1.0 6.17e+05 - 2.92e-03 2.30e-01f 1\n", + " 28 5.9736263e+05 4.91e+00 1.54e+05 -1.0 3.98e+05 - 5.17e-01 3.95e-03f 1\n", + " 29 5.7501345e+05 4.74e+00 1.45e+05 -1.0 2.84e+05 - 1.38e-02 3.39e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 1.7184165e+04 7.16e-01 1.25e+05 -1.0 2.92e+05 - 2.01e-01 8.49e-01f 1\n", + " 31 5.6381115e+03 5.51e-01 8.42e+05 -1.0 2.93e+04 - 9.41e-01 2.30e-01f 1\n", + " 32 -2.5287228e+04 1.26e-02 4.96e+05 -1.0 1.83e+04 - 6.18e-01 9.77e-01f 1\n", + " 33 -2.5656548e+04 2.33e-10 2.10e+06 -1.0 9.98e+03 - 6.87e-01 1.00e+00f 1\n", + " 34 -2.5639703e+04 1.16e-10 1.13e+06 -1.0 3.37e+04 - 6.02e-01 1.00e+00f 1\n", + " 35 -2.5627314e+04 1.16e-10 4.44e+05 -1.0 7.27e+04 - 6.07e-01 1.00e+00f 1\n", + " 36 -2.5612907e+04 2.33e-10 9.10e+04 -1.0 1.40e+05 - 7.95e-01 1.00e+00f 1\n", + " 37 -2.5585967e+04 1.16e-10 1.48e+04 -1.0 2.62e+05 - 8.38e-01 1.00e+00f 1\n", + " 38 -2.5573379e+04 1.75e-10 1.00e-06 -1.0 1.57e+05 - 1.00e+00 1.00e+00f 1\n", + " 39 -2.6084189e+04 2.33e-10 2.58e+06 -5.7 1.72e+05 - 7.07e-01 9.65e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.6128275e+04 1.16e-10 1.11e+06 -5.7 3.37e+05 - 5.98e-01 8.03e-01f 1\n", + " 41 -2.6145702e+04 1.16e-10 4.45e+05 -5.7 2.00e+05 - 6.08e-01 7.53e-01f 1\n", + " 42 -2.6150955e+04 1.16e-10 9.20e+04 -5.7 9.98e+04 - 7.93e-01 7.82e-01f 1\n", + " 43 -2.6152141e+04 1.16e-10 4.57e+03 -5.7 3.56e+04 - 9.38e-01 6.37e-01f 1\n", + " 44 -2.6152771e+04 1.16e-10 2.99e+02 -5.7 1.24e+04 - 9.48e-01 9.95e-01f 1\n", + " 45 -2.6152770e+04 1.16e-10 1.92e+02 -5.7 4.26e+01 - 3.72e-01 1.00e+00f 1\n", + " 46 -2.6152770e+04 1.16e-10 1.85e-11 -5.7 8.18e+00 - 1.00e+00 1.00e+00h 1\n", + " 47 -2.6152782e+04 1.16e-10 9.24e-13 -7.0 4.12e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 47\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.6152781530665050e+02 -2.6152781530665048e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2652993049053692e-07 1.2652993049053692e-05\n", + "Overall NLP error.......: 1.2652993049053692e-07 1.2652993049053692e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 48\n", + "Number of objective gradient evaluations = 48\n", + "Number of equality constraint evaluations = 48\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 48\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 47\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.029\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 62776.44\n", + "Variable costs: 45043.33\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 117.45\n", + "\n", + "Simulating time_step 2020-07-10 22:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.3553040e+04 6.25e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.3594427e+04 6.25e+03 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.0900085e+04 6.24e+03 1.00e+02 -1.0 2.66e+04 - 1.94e-04 8.73e-04h 1\n", + " 3 -1.3671159e+04 6.23e+03 1.00e+02 -1.0 1.85e+04 - 8.40e-04 1.75e-03h 1\n", + " 4 1.4111241e+04 6.20e+03 1.01e+02 -1.0 3.42e+03 - 1.68e-03 5.91e-03h 1\n", + " 5 9.2078793e+04 6.09e+03 1.00e+02 -1.0 2.36e+03 - 9.56e-03 1.65e-02h 1\n", + " 6 2.9075463e+05 5.83e+03 9.83e+01 -1.0 2.39e+03 - 3.14e-02 4.27e-02h 1\n", + " 7 7.8867863e+05 5.18e+03 8.21e+01 -1.0 2.47e+03 - 3.55e-01 1.12e-01h 1\n", + " 8 3.6359601e+06 1.39e+03 5.85e+01 -1.0 3.83e+03 - 3.46e-01 7.31e-01h 1\n", + " 9 4.0994333e+06 6.49e+02 4.99e+01 -1.0 5.79e+03 - 2.50e-01 5.34e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 4.1002193e+06 6.47e+02 3.80e+01 -1.0 7.51e+03 - 3.34e-01 3.60e-03h 1\n", + " 11 4.1996895e+06 6.46e+00 7.98e+01 -1.0 1.10e+04 - 1.64e-01 9.90e-01h 1\n", + " 12 4.1375012e+06 5.60e+00 2.15e+03 -1.0 1.19e+04 - 3.64e-01 1.34e-01f 1\n", + " 13 4.1160919e+06 5.41e+00 2.76e+03 -1.0 2.63e+04 - 9.40e-02 3.25e-02f 1\n", + " 14 3.5641483e+06 1.70e+00 7.55e+03 -1.0 3.15e+04 - 5.28e-02 6.85e-01f 1\n", + " 15 3.2621968e+06 1.36e+00 1.20e+04 -1.0 5.17e+04 - 1.48e-02 2.03e-01f 1\n", + " 16 3.1083759e+06 1.30e+00 1.20e+04 -1.0 8.79e+04 - 3.25e-02 4.33e-02f 1\n", + " 17 3.1063038e+06 1.30e+00 7.54e+03 -1.0 8.82e+04 - 2.89e-01 5.66e-04f 1\n", + " 18 1.8817259e+06 8.71e-01 5.67e+03 -1.0 9.30e+04 - 1.84e-01 3.29e-01f 1\n", + " 19 1.8584325e+06 8.63e-01 2.89e+04 -1.0 6.59e+04 - 4.95e-01 9.89e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.4555679e+06 6.99e-01 6.11e+04 -1.0 6.61e+04 - 7.19e-01 1.90e-01f 1\n", + " 21 1.4501986e+06 6.97e-01 8.40e+04 -1.0 1.30e+05 - 2.67e-01 3.24e-03f 1\n", + " 22 1.0476821e+06 4.78e-01 3.06e+04 -1.0 1.56e+05 - 3.65e-03 3.13e-01f 1\n", + " 23 1.0190198e+06 4.72e-01 2.89e+04 -1.0 1.28e+06 - 2.33e-03 1.26e-02f 1\n", + " 24 1.0180032e+06 4.72e-01 4.55e+04 -1.0 3.13e+05 - 1.30e-01 8.55e-04f 1\n", + " 25 9.2510171e+05 4.29e-01 2.98e+04 -1.0 1.55e+05 - 1.55e-03 9.14e-02f 1\n", + " 26 8.7236628e+05 4.18e-01 3.27e+04 -1.0 1.27e+06 - 5.20e-02 2.60e-02f 1\n", + " 27 8.7153680e+05 4.17e-01 7.75e+04 -1.0 3.19e+05 - 3.10e-01 9.24e-04f 1\n", + " 28 6.7919976e+05 2.84e-01 7.19e+03 -1.0 2.96e+05 - 4.16e-03 3.19e-01f 1\n", + " 29 3.5922072e+05 2.02e-01 4.34e+04 -1.0 3.30e+05 - 5.94e-02 2.89e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 3.5663039e+05 2.01e-01 4.95e+04 -1.0 2.85e+05 - 3.19e-01 3.35e-03f 1\n", + " 31 2.8261201e+05 1.68e-01 5.17e+03 -1.0 2.25e+05 - 6.43e-03 1.66e-01f 1\n", + " 32 2.5398576e+04 6.04e-02 1.11e+05 -1.0 2.38e+05 - 9.65e-01 6.40e-01f 1\n", + " 33 3.2515210e+03 3.57e-02 1.28e+05 -1.0 3.41e+05 - 4.79e-01 4.09e-01f 1\n", + " 34 -1.7023604e+03 2.99e-02 3.41e+05 -1.0 2.13e+04 - 3.39e-01 1.63e-01f 1\n", + " 35 -2.6862416e+04 1.60e-04 4.73e+05 -1.0 1.23e+04 - 6.71e-01 9.95e-01f 1\n", + " 36 -2.6995049e+04 2.33e-10 3.77e+06 -1.0 2.70e+04 - 4.84e-01 1.00e+00f 1\n", + " 37 -2.6983414e+04 1.16e-10 1.52e+06 -1.0 4.81e+04 - 6.17e-01 1.00e+00f 1\n", + " 38 -2.6976857e+04 2.33e-10 4.45e+05 -1.0 1.15e+05 - 7.07e-01 1.00e+00f 1\n", + " 39 -2.6962685e+04 1.16e-10 6.81e+04 -1.0 1.59e+05 - 8.47e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.6941255e+04 1.16e-10 1.00e-06 -1.0 3.62e+05 - 1.00e+00 1.00e+00f 1\n", + " 41 -2.7454781e+04 1.75e-10 2.36e+06 -5.7 1.39e+05 - 7.28e-01 9.63e-01f 1\n", + " 42 -2.7496155e+04 1.16e-10 1.15e+06 -5.7 3.60e+05 - 5.64e-01 8.89e-01f 1\n", + " 43 -2.7509424e+04 2.33e-10 4.22e+05 -5.7 2.00e+05 - 6.41e-01 9.05e-01f 1\n", + " 44 -2.7512515e+04 1.16e-10 7.58e+04 -5.7 8.11e+04 - 8.18e-01 6.01e-01f 1\n", + " 45 -2.7514578e+04 5.82e-11 6.25e+03 -5.7 3.52e+04 - 9.19e-01 9.66e-01f 1\n", + " 46 -2.7514603e+04 1.16e-10 1.85e-11 -5.7 7.71e+02 - 1.00e+00 1.00e+00f 1\n", + " 47 -2.7514614e+04 1.16e-10 9.24e-13 -7.0 4.98e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 47\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.7514613829920171e+02 -2.7514613829920170e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2601120180840352e-07 1.2601120180840352e-05\n", + "Overall NLP error.......: 1.2601120180840352e-07 1.2601120180840352e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 48\n", + "Number of objective gradient evaluations = 48\n", + "Number of equality constraint evaluations = 48\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 48\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 47\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.058\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 62776.44\n", + "Variable costs: 35693.78\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 351.37\n", + "\n", + "Simulating time_step 2020-07-10 23:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.4864472e+04 6.25e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.4905865e+04 6.25e+03 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.2211533e+04 6.24e+03 1.00e+02 -1.0 2.66e+04 - 1.94e-04 8.73e-04h 1\n", + " 3 -1.4982655e+04 6.23e+03 1.00e+02 -1.0 1.85e+04 - 8.40e-04 1.75e-03h 1\n", + " 4 1.2799461e+04 6.20e+03 1.01e+02 -1.0 3.42e+03 - 1.68e-03 5.91e-03h 1\n", + " 5 9.0641058e+04 6.09e+03 1.00e+02 -1.0 2.36e+03 - 9.56e-03 1.65e-02h 1\n", + " 6 2.8963635e+05 5.83e+03 9.83e+01 -1.0 2.39e+03 - 3.14e-02 4.27e-02h 1\n", + " 7 7.8517701e+05 5.18e+03 8.21e+01 -1.0 2.47e+03 - 3.56e-01 1.11e-01h 1\n", + " 8 3.6456557e+06 1.38e+03 5.88e+01 -1.0 3.83e+03 - 3.45e-01 7.34e-01h 1\n", + " 9 4.1034660e+06 6.42e+02 5.01e+01 -1.0 5.78e+03 - 2.50e-01 5.34e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 4.1042345e+06 6.40e+02 3.81e+01 -1.0 7.50e+03 - 3.35e-01 3.61e-03h 1\n", + " 11 4.1978978e+06 6.39e+00 8.07e+01 -1.0 1.10e+04 - 1.64e-01 9.90e-01h 1\n", + " 12 4.1362193e+06 5.54e+00 2.18e+03 -1.0 1.19e+04 - 3.64e-01 1.33e-01f 1\n", + " 13 4.1146634e+06 5.36e+00 2.80e+03 -1.0 2.63e+04 - 9.40e-02 3.27e-02f 1\n", + " 14 3.5640188e+06 1.70e+00 7.54e+03 -1.0 3.15e+04 - 5.28e-02 6.84e-01f 1\n", + " 15 3.2615791e+06 1.35e+00 1.21e+04 -1.0 5.16e+04 - 1.48e-02 2.04e-01f 1\n", + " 16 3.1043653e+06 1.29e+00 1.21e+04 -1.0 8.79e+04 - 3.25e-02 4.42e-02f 1\n", + " 17 3.1022634e+06 1.29e+00 7.51e+03 -1.0 8.82e+04 - 2.94e-01 5.74e-04f 1\n", + " 18 1.8799095e+06 8.67e-01 5.49e+03 -1.0 9.30e+04 - 1.85e-01 3.28e-01f 1\n", + " 19 1.8565384e+06 8.58e-01 2.92e+04 -1.0 6.59e+04 - 4.96e-01 9.93e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.4535269e+06 6.95e-01 6.49e+04 -1.0 6.61e+04 - 7.64e-01 1.90e-01f 1\n", + " 21 1.4480394e+06 6.93e-01 7.50e+04 -1.0 1.45e+05 - 1.21e-01 3.29e-03f 1\n", + " 22 1.2539328e+06 5.90e-01 5.08e+04 -1.0 1.55e+05 - 1.39e-03 1.49e-01f 1\n", + " 23 1.2233394e+06 5.83e-01 6.28e+04 -1.0 1.29e+06 - 1.34e-01 1.21e-02f 1\n", + " 24 1.2132419e+06 5.78e-01 6.17e+04 -1.0 1.74e+05 - 1.58e-03 7.69e-03f 1\n", + " 25 1.1461005e+06 5.64e-01 5.77e+04 -1.0 1.34e+06 - 2.06e-03 2.52e-02f 1\n", + " 26 1.1021559e+06 5.54e-01 6.40e+04 -1.0 1.33e+06 - 8.44e-02 1.69e-02f 1\n", + " 27 1.0691818e+06 5.47e-01 6.88e+04 -1.0 1.22e+06 - 6.45e-02 1.34e-02f 1\n", + " 28 1.0645433e+06 5.44e-01 1.31e+05 -1.0 1.79e+05 - 5.64e-01 4.49e-03f 1\n", + " 29 6.8187352e+05 4.18e-01 7.91e+04 -1.0 8.48e+05 - 4.11e-02 2.32e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.7790631e+05 4.16e-01 8.20e+04 -1.0 4.07e+05 - 2.76e-02 4.84e-03f 1\n", + " 31 6.7684141e+05 4.15e-01 8.17e+04 -1.0 1.95e+05 - 7.49e-04 1.64e-03f 1\n", + " 32 6.3718036e+04 9.81e-02 2.99e+04 -1.0 3.15e+05 - 8.37e-01 7.64e-01f 1\n", + " 33 -1.5659558e+04 1.53e-02 2.51e+05 -1.0 4.90e+04 - 4.02e-01 8.44e-01f 1\n", + " 34 -2.7636340e+04 6.06e-04 8.05e+05 -1.0 6.54e+04 - 6.70e-01 9.60e-01f 1\n", + " 35 -2.8221457e+04 3.56e-04 3.42e+05 -1.0 1.43e+05 - 4.32e-01 4.13e-01f 1\n", + " 36 -2.8210159e+04 2.33e-10 2.45e+06 -1.0 2.13e+04 - 4.37e-01 1.00e+00f 1\n", + " 37 -2.8362719e+04 1.16e-10 8.38e+05 -1.0 3.33e+04 - 6.51e-01 5.81e-01f 1\n", + " 38 -2.8339381e+04 2.33e-10 4.78e+05 -1.0 3.61e+04 - 4.93e-01 1.00e+00f 1\n", + " 39 -2.8335949e+04 1.16e-10 1.44e+05 -1.0 6.51e+04 - 7.00e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.8324745e+04 1.16e-10 3.87e+04 -1.0 1.72e+05 - 7.31e-01 1.00e+00f 1\n", + " 41 -2.8313413e+04 1.16e-10 1.00e-06 -1.0 1.55e+05 - 1.00e+00 1.00e+00f 1\n", + " 42 -2.8833007e+04 1.16e-10 1.62e+06 -5.7 1.26e+05 - 7.99e-01 9.61e-01f 1\n", + " 43 -2.8856343e+04 2.33e-10 9.03e+05 -5.7 3.57e+05 - 4.60e-01 5.39e-01f 1\n", + " 44 -2.8868948e+04 2.33e-10 3.59e+05 -5.7 2.02e+05 - 6.01e-01 5.94e-01f 1\n", + " 45 -2.8879053e+04 1.16e-10 1.24e+05 -5.7 1.53e+05 - 7.07e-01 9.67e-01f 1\n", + " 46 -2.8879803e+04 1.16e-10 1.63e+04 -5.7 2.96e+04 - 8.69e-01 9.13e-01f 1\n", + " 47 -2.8879864e+04 2.33e-10 1.85e-11 -5.7 2.42e+03 - 1.00e+00 1.00e+00f 1\n", + " 48 -2.8879875e+04 1.16e-10 9.24e-13 -7.0 3.64e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 48\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.8879874619828064e+02 -2.8879874619828064e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 3.2463425700943716e-07 3.2463425700943718e-05\n", + "Overall NLP error.......: 3.2463425700943716e-07 3.2463425700943718e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 49\n", + "Number of objective gradient evaluations = 49\n", + "Number of equality constraint evaluations = 49\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 49\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 48\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.033\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 65504.44\n", + "Variable costs: 32056.36\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 143.91\n", + "\n", + "Simulating time_step 2020-07-11 00:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.6179333e+04 6.25e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.6221096e+04 6.25e+03 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.3430423e+04 6.24e+03 1.00e+02 -1.0 2.66e+04 - 1.94e-04 8.73e-04h 1\n", + " 3 -1.5615866e+04 6.23e+03 1.00e+02 -1.0 1.85e+04 - 8.24e-04 1.75e-03h 1\n", + " 4 1.4968943e+04 6.20e+03 1.01e+02 -1.0 3.57e+03 - 1.68e-03 5.90e-03h 1\n", + " 5 1.0053380e+05 6.09e+03 1.00e+02 -1.0 2.36e+03 - 9.49e-03 1.65e-02h 1\n", + " 6 3.1764659e+05 5.84e+03 9.84e+01 -1.0 2.39e+03 - 3.11e-02 4.24e-02h 1\n", + " 7 8.6014367e+05 5.19e+03 8.22e+01 -1.0 2.47e+03 - 3.69e-01 1.11e-01h 1\n", + " 8 1.4032755e+06 4.53e+03 7.18e+01 -1.0 3.91e+03 - 3.50e-01 1.26e-01h 1\n", + " 9 3.2215698e+06 2.28e+03 3.62e+01 -1.0 6.65e+03 - 3.19e-01 4.96e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.3467551e+06 2.11e+03 3.34e+01 -1.0 9.81e+03 - 2.10e-01 7.75e-02h 1\n", + " 11 3.3694765e+06 2.07e+03 3.28e+01 -1.0 1.24e+04 - 2.01e-01 1.62e-02h 1\n", + " 12 4.6227136e+06 2.07e+01 5.91e+01 -1.0 1.55e+04 - 1.64e-01 9.90e-01h 1\n", + " 13 4.5778789e+06 1.91e+01 6.53e+02 -1.0 1.90e+04 - 3.01e-01 7.68e-02f 1\n", + " 14 4.5431261e+06 1.83e+01 6.30e+02 -1.0 3.12e+04 - 4.41e-02 4.27e-02f 1\n", + " 15 3.9002736e+06 5.83e+00 7.02e+03 -1.0 3.42e+04 - 2.99e-02 6.81e-01f 1\n", + " 16 3.6388716e+06 5.12e+00 7.54e+03 -1.0 5.32e+04 - 1.48e-02 1.22e-01f 1\n", + " 17 3.5033719e+06 4.93e+00 7.26e+03 -1.0 8.70e+04 - 5.27e-02 3.70e-02f 1\n", + " 18 3.5013815e+06 4.93e+00 7.26e+03 -1.0 8.74e+04 - 3.12e-01 5.41e-04f 1\n", + " 19 2.2846910e+06 3.35e+00 4.94e+03 -1.0 9.22e+04 - 2.76e-01 3.19e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.2574707e+06 3.32e+00 1.30e+04 -1.0 7.46e+04 - 6.93e-01 1.11e-02f 1\n", + " 21 1.7800253e+06 2.71e+00 1.71e+04 -1.0 3.24e+05 - 5.28e-01 1.84e-01f 1\n", + " 22 1.7717784e+06 2.70e+00 2.03e+04 -1.0 7.51e+05 - 1.48e-01 3.26e-03f 1\n", + " 23 1.2997749e+06 2.08e+00 1.05e+04 -1.0 6.54e+05 - 1.76e-03 2.28e-01f 1\n", + " 24 1.2670232e+06 2.06e+00 1.04e+04 -1.0 1.29e+06 - 1.16e-02 1.16e-02f 1\n", + " 25 1.2648384e+06 2.05e+00 1.61e+04 -1.0 3.28e+05 - 1.91e-01 1.33e-03f 1\n", + " 26 1.0686194e+06 1.79e+00 1.01e+04 -1.0 2.60e+05 - 2.39e-03 1.31e-01f 1\n", + " 27 9.9413379e+05 1.73e+00 8.97e+03 -1.0 1.11e+06 - 8.84e-03 3.13e-02f 1\n", + " 28 9.9305649e+05 1.73e+00 1.60e+04 -1.0 4.88e+05 - 1.96e-01 6.90e-04f 1\n", + " 29 8.8041951e+05 1.50e+00 1.87e+04 -1.0 2.50e+05 - 2.66e-01 1.32e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 6.0373780e+05 1.02e+00 1.50e+03 -1.0 4.19e+05 - 2.87e-03 3.22e-01f 1\n", + " 31 5.6183345e+05 9.80e-01 2.12e+04 -1.0 3.55e+05 - 3.94e-01 3.70e-02f 1\n", + " 32 5.6044839e+05 9.78e-01 2.15e+04 -1.0 2.89e+05 - 7.73e-03 1.88e-03f 1\n", + " 33 5.0104871e+04 2.72e-01 3.92e+04 -1.0 3.70e+05 - 4.57e-03 7.22e-01f 1\n", + " 34 4.7981470e+04 2.68e-01 1.53e+05 -1.0 5.71e+04 - 8.76e-01 1.48e-02f 1\n", + " 35 -2.6078357e+04 1.09e-02 1.67e+04 -1.0 3.14e+04 - 8.56e-01 9.59e-01f 1\n", + " 36 -2.8302993e+04 4.99e-03 1.46e+05 -1.0 1.52e+05 - 5.04e-01 5.44e-01f 1\n", + " 37 -2.9501089e+04 1.16e-10 1.63e+06 -1.0 2.17e+04 - 6.23e-01 1.00e+00f 1\n", + " 38 -2.9589896e+04 1.16e-10 6.40e+05 -1.0 4.54e+04 - 7.16e-01 7.66e-01f 1\n", + " 39 -2.9572404e+04 1.16e-10 7.60e+05 -1.0 1.32e+05 - 4.75e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.9566321e+04 2.33e-10 1.00e-06 -1.0 1.43e+05 - 1.00e+00 1.00e+00f 1\n", + " 41 -3.0142162e+04 1.16e-10 1.47e+06 -5.7 1.00e+05 - 8.16e-01 9.63e-01f 1\n", + " 42 -3.0157221e+04 1.16e-10 4.93e+05 -5.7 2.39e+05 - 6.21e-01 4.50e-01f 1\n", + " 43 -3.0170997e+04 1.16e-10 1.34e+05 -5.7 1.41e+05 - 7.63e-01 8.48e-01f 1\n", + " 44 -3.0174161e+04 1.16e-10 1.86e+04 -5.7 9.11e+04 - 8.74e-01 9.27e-01f 1\n", + " 45 -3.0174376e+04 1.16e-10 2.50e+03 -5.7 7.46e+03 - 8.73e-01 9.30e-01f 1\n", + " 46 -3.0174391e+04 2.33e-10 1.85e-11 -5.7 5.11e+02 - 1.00e+00 1.00e+00f 1\n", + " 47 -3.0174401e+04 1.16e-10 4.79e-01 -7.0 3.72e+01 - 9.97e-01 1.00e+00f 1\n", + " 48 -3.0174401e+04 1.16e-10 9.24e-13 -7.0 9.21e-01 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 48\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.0174400679693770e+02 -3.0174400679693768e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.7119428578022848e-07 1.7119428578022850e-05\n", + "Overall NLP error.......: 1.7119428578022848e-07 1.7119428578022850e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 49\n", + "Number of objective gradient evaluations = 49\n", + "Number of equality constraint evaluations = 49\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 49\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 48\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.032\n", + "Total CPU secs in NLP function evaluations = 0.002\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 57898.87\n", + "Variable costs: 27481.10\n", + "\n", + "Number on/offs: 1\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 298.20\n", + "\n", + "Simulating time_step 2020-07-11 01:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.7424758e+04 6.25e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.7466867e+04 6.25e+03 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.4541069e+04 6.24e+03 1.00e+02 -1.0 2.66e+04 - 1.94e-04 8.46e-04h 1\n", + " 3 -1.6529893e+04 6.23e+03 1.00e+02 -1.0 1.87e+04 - 8.16e-04 1.72e-03h 1\n", + " 4 1.4153430e+04 6.20e+03 1.01e+02 -1.0 3.62e+03 - 1.65e-03 5.90e-03h 1\n", + " 5 9.9587405e+04 6.09e+03 1.00e+02 -1.0 2.36e+03 - 9.47e-03 1.64e-02h 1\n", + " 6 3.1639283e+05 5.84e+03 9.84e+01 -1.0 2.39e+03 - 3.09e-02 4.22e-02h 1\n", + " 7 8.5920445e+05 5.19e+03 8.23e+01 -1.0 2.47e+03 - 3.64e-01 1.10e-01h 1\n", + " 8 1.3836868e+06 4.56e+03 7.23e+01 -1.0 3.88e+03 - 3.45e-01 1.21e-01h 1\n", + " 9 3.2052741e+06 2.34e+03 3.71e+01 -1.0 5.90e+03 - 3.25e-01 4.86e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.3600207e+06 2.14e+03 3.38e+01 -1.0 8.57e+03 - 2.09e-01 8.85e-02h 1\n", + " 11 3.3799766e+06 2.11e+03 3.34e+01 -1.0 1.06e+04 - 2.06e-01 1.31e-02h 1\n", + " 12 4.7834810e+06 2.11e+01 5.89e+01 -1.0 1.31e+04 - 1.62e-01 9.90e-01h 1\n", + " 13 4.7433316e+06 1.93e+01 6.34e+02 -1.0 1.65e+04 - 3.04e-01 8.28e-02f 1\n", + " 14 4.7113481e+06 1.86e+01 6.15e+02 -1.0 3.14e+04 - 4.21e-02 4.00e-02f 1\n", + " 15 4.0267339e+06 5.79e+00 7.14e+03 -1.0 3.43e+04 - 2.96e-02 6.88e-01f 1\n", + " 16 3.7307970e+06 5.11e+00 7.61e+03 -1.0 5.33e+04 - 1.49e-02 1.17e-01f 1\n", + " 17 3.5788075e+06 4.92e+00 7.33e+03 -1.0 8.72e+04 - 5.08e-02 3.73e-02f 1\n", + " 18 3.5765858e+06 4.92e+00 7.33e+03 -1.0 8.75e+04 - 3.11e-01 5.40e-04f 1\n", + " 19 2.2198565e+06 3.39e+00 5.05e+03 -1.0 9.24e+04 - 2.75e-01 3.10e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.2065656e+06 3.38e+00 9.17e+03 -1.0 6.71e+04 - 4.78e-01 4.33e-03f 1\n", + " 21 2.1564679e+06 3.30e+00 2.20e+04 -1.0 7.41e+04 - 7.32e-01 2.23e-02f 1\n", + " 22 1.6439799e+06 2.69e+00 1.67e+04 -1.0 4.73e+05 - 1.20e-01 1.87e-01f 1\n", + " 23 1.6358694e+06 2.68e+00 1.66e+04 -1.0 5.60e+05 - 1.40e-03 3.52e-03f 1\n", + " 24 1.6044113e+06 2.65e+00 2.14e+04 -1.0 1.30e+06 - 2.25e-01 9.35e-03f 1\n", + " 25 1.5648738e+06 2.61e+00 2.08e+04 -1.0 6.41e+05 - 2.91e-03 1.55e-02f 1\n", + " 26 1.5164057e+06 2.57e+00 2.01e+04 -1.0 1.09e+06 - 4.54e-04 1.48e-02f 1\n", + " 27 1.4291910e+06 2.50e+00 2.13e+04 -1.0 1.15e+06 - 9.65e-02 2.66e-02f 1\n", + " 28 1.3317063e+06 2.43e+00 2.11e+04 -1.0 1.06e+06 - 4.96e-02 3.15e-02f 1\n", + " 29 1.3273697e+06 2.42e+00 3.32e+04 -1.0 5.24e+05 - 4.78e-01 2.25e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 7.0552218e+05 1.64e+00 1.91e+04 -1.0 5.80e+05 - 1.88e-01 3.21e-01f 1\n", + " 31 6.8520986e+05 1.60e+00 2.03e+04 -1.0 3.26e+05 - 7.06e-02 2.56e-02f 1\n", + " 32 6.8452203e+05 1.60e+00 2.03e+04 -1.0 1.17e+05 - 9.75e-04 1.16e-03f 1\n", + " 33 1.7520456e+05 6.73e-01 1.11e+04 -1.0 3.24e+05 - 6.46e-01 5.79e-01f 1\n", + " 34 3.4327864e+04 2.29e-01 1.39e+04 -1.0 9.87e+04 - 4.66e-01 6.61e-01f 1\n", + " 35 2.3853585e+04 1.95e-01 1.79e+05 -1.0 7.26e+04 - 8.76e-01 1.49e-01f 1\n", + " 36 -2.9684240e+04 1.75e-02 2.18e+04 -1.0 9.63e+04 - 9.29e-01 9.10e-01f 1\n", + " 37 -3.0688721e+04 1.39e-02 1.33e+06 -1.0 1.01e+05 - 7.37e-01 2.06e-01f 1\n", + " 38 -3.4635242e+04 4.18e-06 1.54e+06 -1.0 1.69e+05 - 3.41e-01 1.00e+00f 1\n", + " 39 -3.4624321e+04 2.33e-10 9.37e+04 -1.0 1.95e+05 - 9.86e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.4623311e+04 1.16e-10 1.00e-06 -1.0 7.19e+04 - 1.00e+00 1.00e+00f 1\n", + " 41 -3.5097522e+04 1.16e-10 1.57e+06 -5.7 7.65e+04 - 7.95e-01 9.52e-01f 1\n", + " 42 -3.5128651e+04 1.16e-10 6.97e+05 -5.7 4.15e+05 - 5.98e-01 7.35e-01f 1\n", + " 43 -3.5139109e+04 1.16e-10 2.98e+05 -5.7 1.51e+05 - 6.36e-01 9.81e-01f 1\n", + " 44 -3.5140720e+04 1.16e-10 4.45e+04 -5.7 7.12e+04 - 8.51e-01 9.06e-01f 1\n", + " 45 -3.5140902e+04 1.16e-10 1.52e+01 -5.7 7.64e+03 - 1.00e+00 9.90e-01f 1\n", + " 46 -3.5140902e+04 1.16e-10 1.85e-11 -5.7 3.29e+01 - 1.00e+00 1.00e+00f 1\n", + " 47 -3.5140911e+04 1.16e-10 9.38e-13 -7.0 4.13e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 47\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.5140911444255653e+02 -3.5140911444255653e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2652016124809698e-07 1.2652016124809697e-05\n", + "Overall NLP error.......: 1.2652016124809698e-07 1.2652016124809697e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 48\n", + "Number of objective gradient evaluations = 48\n", + "Number of equality constraint evaluations = 48\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 48\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 47\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.037\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 57058.87\n", + "Variable costs: 24220.08\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 149.70\n", + "\n", + "Simulating time_step 2020-07-11 02:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.2340593e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.2410675e+04 2.91e+05 9.90e+01 -1.0 2.70e+04 - 3.41e-04 3.20e-04h 1\n", + " 2 -2.9131427e+04 2.91e+05 9.99e+01 -1.0 2.49e+04 - 3.59e-04 1.22e-03h 1\n", + " 3 -1.2343886e+04 2.89e+05 1.01e+02 -1.0 1.12e+04 - 9.41e-04 4.66e-03h 1\n", + " 4 1.2279349e+04 2.87e+05 1.01e+02 -1.0 2.50e+03 - 4.83e-03 6.39e-03h 1\n", + " 5 5.1417123e+04 2.85e+05 9.92e+01 -1.0 4.79e+03 - 1.46e-02 1.02e-02h 1\n", + " 6 5.4445133e+04 2.84e+05 3.45e+02 -1.0 1.45e+05 - 8.58e-02 8.16e-04h 1\n", + " 7 7.6420713e+05 2.27e+05 3.00e+02 -1.0 3.03e+04 - 3.03e-02 2.02e-01h 1\n", + " 8 9.0578155e+05 2.15e+05 2.38e+02 -1.0 2.46e+04 - 2.24e-01 5.05e-02h 1\n", + " 9 2.4903366e+06 8.61e+04 1.41e+02 -1.0 2.34e+04 - 4.05e-01 6.01e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.5931295e+06 7.65e+04 9.71e+01 -1.0 9.57e+03 - 2.52e-01 1.11e-01h 1\n", + " 11 2.7841927e+06 5.68e+04 7.93e+01 -1.0 8.67e+03 - 2.13e-01 2.58e-01h 1\n", + " 12 2.7869244e+06 5.64e+04 3.95e+01 -1.0 9.57e+03 - 3.03e-01 6.16e-03h 1\n", + " 13 3.1003944e+06 1.45e+03 7.77e+01 -1.0 1.33e+04 - 1.71e-01 9.74e-01h 1\n", + " 14 3.0923640e+06 1.43e+03 5.10e+02 -1.0 1.80e+04 - 2.94e-01 1.85e-02f 1\n", + " 15 2.6900436e+06 5.99e+02 1.80e+03 -1.0 3.23e+04 - 2.94e-02 5.81e-01f 1\n", + " 16 2.3283438e+06 4.08e+02 4.87e+03 -1.0 4.81e+04 - 3.03e-02 3.19e-01f 1\n", + " 17 2.3191448e+06 4.07e+02 4.84e+03 -1.0 8.62e+04 - 2.43e-02 3.50e-03f 1\n", + " 18 2.3098005e+06 4.05e+02 4.82e+03 -1.0 8.96e+04 - 3.23e-02 3.79e-03f 1\n", + " 19 1.3607389e+06 2.53e+02 3.01e+03 -1.0 9.11e+04 - 1.88e-01 3.76e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.3524950e+06 2.52e+02 3.00e+03 -1.0 6.34e+04 - 1.51e-01 4.40e-03f 1\n", + " 21 1.3462468e+06 2.51e+02 2.98e+03 -1.0 6.38e+04 - 1.95e-03 4.44e-03f 1\n", + " 22 1.2379701e+06 2.37e+02 2.82e+03 -1.0 6.72e+04 - 4.19e-03 5.51e-02f 1\n", + " 23 1.2245672e+06 2.35e+02 5.65e+03 -1.0 6.41e+04 - 5.72e-01 9.31e-03f 1\n", + " 24 1.0237136e+06 2.04e+02 4.21e+03 -1.0 6.59e+04 - 7.23e-02 1.30e-01f 1\n", + " 25 1.0211972e+06 2.04e+02 1.50e+04 -1.0 7.23e+04 - 7.61e-01 2.04e-03f 1\n", + " 26 5.4075817e+05 1.40e+02 6.63e+03 -1.0 5.48e+05 - 5.19e-02 3.11e-01f 1\n", + " 27 5.3364850e+05 1.40e+02 6.50e+03 -1.0 5.01e+05 - 6.57e-04 4.95e-03f 1\n", + " 28 5.3130289e+05 1.39e+02 7.91e+03 -1.0 1.32e+06 - 6.89e-02 1.01e-03f 1\n", + " 29 4.9550148e+05 1.37e+02 7.37e+03 -1.0 8.21e+05 - 7.94e-04 1.94e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 4.8440633e+05 1.36e+02 8.28e+03 -1.0 1.49e+06 - 4.85e-02 4.23e-03f 1\n", + " 31 4.3076991e+05 1.33e+02 7.78e+03 -1.0 1.53e+06 - 5.78e-03 2.08e-02f 1\n", + " 32 4.2968641e+05 1.33e+02 1.25e+04 -1.0 4.30e+05 - 2.19e-01 9.12e-04f 1\n", + " 33 2.4049837e+05 9.97e+01 1.53e+04 -1.0 3.57e+05 - 5.23e-01 2.51e-01f 1\n", + " 34 4.6117117e+04 8.20e+01 9.82e+03 -1.0 8.52e+05 - 8.35e-02 1.78e-01f 1\n", + " 35 4.4052573e+04 8.17e+01 2.76e+04 -1.0 4.14e+05 - 5.10e-01 3.66e-03f 1\n", + " 36 3.9607110e+04 7.77e+01 5.78e+04 -1.0 3.53e+04 - 9.43e-01 4.95e-02f 1\n", + " 37 -2.4334344e+03 3.56e+01 4.01e+04 -1.0 1.74e+05 - 9.08e-01 5.41e-01f 1\n", + " 38 -1.2066893e+04 2.62e+01 7.63e+04 -1.0 2.85e+05 - 8.51e-01 2.65e-01f 1\n", + " 39 -1.6812734e+04 2.13e+01 8.79e+04 -1.0 2.68e+05 - 4.27e-01 1.87e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.6049674e+04 1.34e+00 4.53e+04 -1.0 2.39e+05 - 5.50e-01 9.37e-01f 1\n", + " 41 -3.7348985e+04 1.16e-10 1.00e-06 -1.0 1.13e+05 - 1.00e+00 1.00e+00f 1\n", + " 42 -3.7754705e+04 1.16e-10 1.88e+05 -3.8 5.73e+04 - 8.51e-01 9.44e-01f 1\n", + " 43 -3.7789238e+04 2.33e-10 1.20e+05 -3.8 3.18e+05 - 6.02e-01 1.00e+00f 1\n", + " 44 -3.7791943e+04 1.16e-10 3.63e+04 -3.8 6.92e+04 - 6.97e-01 1.00e+00f 1\n", + " 45 -3.7792018e+04 2.33e-10 1.50e-09 -3.8 3.86e+03 - 1.00e+00 1.00e+00f 1\n", + " 46 -3.7792666e+04 2.33e-10 1.87e+03 -5.7 3.38e+03 - 1.00e+00 8.74e-01f 1\n", + " 47 -3.7792748e+04 2.33e-10 2.92e+02 -5.7 4.20e+02 - 8.94e-01 1.00e+00f 1\n", + " 48 -3.7792748e+04 1.16e-10 1.85e-11 -5.7 5.94e-01 - 1.00e+00 1.00e+00f 1\n", + " 49 -3.7792756e+04 1.16e-10 9.24e-13 -7.0 4.12e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 49\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.7792755951055346e+02 -3.7792755951055347e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2393884912086111e-07 1.2393884912086111e-05\n", + "Overall NLP error.......: 1.2393884912086111e-07 1.2393884912086111e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 50\n", + "Number of objective gradient evaluations = 50\n", + "Number of equality constraint evaluations = 50\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 50\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 49\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.035\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 58734.87\n", + "Variable costs: 18679.96\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 370.54\n", + "\n", + "Simulating time_step 2020-07-11 03:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.4991134e+04 2.85e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.5074108e+04 2.85e+05 9.90e+01 -1.0 2.70e+04 - 4.12e-04 3.82e-04h 1\n", + " 2 -3.2374518e+04 2.84e+05 9.99e+01 -1.0 2.36e+04 - 3.89e-04 1.38e-03h 1\n", + " 3 -2.2726882e+04 2.83e+05 1.00e+02 -1.0 8.82e+03 - 1.06e-03 3.18e-03h 1\n", + " 4 -2.5455638e+03 2.82e+05 1.00e+02 -1.0 6.29e+03 - 3.77e-03 6.14e-03h 1\n", + " 5 6.7597712e+04 2.76e+05 9.97e+01 -1.0 3.04e+03 - 1.38e-02 2.11e-02h 1\n", + " 6 2.9402599e+05 2.57e+05 9.11e+01 -1.0 2.75e+03 - 7.81e-02 6.94e-02h 1\n", + " 7 7.3350402e+05 2.19e+05 7.63e+01 -1.0 2.61e+03 - 1.69e-01 1.45e-01h 1\n", + " 8 9.6272539e+05 2.00e+05 6.95e+01 -1.0 3.14e+03 - 6.34e-01 8.86e-02h 1\n", + " 9 1.5632474e+06 1.43e+05 4.98e+01 -1.0 8.67e+03 - 1.07e-01 2.83e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.5754861e+06 1.42e+05 4.94e+01 -1.0 9.91e+03 - 4.80e-01 8.80e-03h 1\n", + " 11 1.8464188e+06 1.03e+05 3.59e+01 -1.0 2.00e+04 - 1.22e-01 2.73e-01h 1\n", + " 12 1.8473466e+06 1.03e+05 3.58e+01 -1.0 2.21e+04 - 1.64e-01 2.46e-03h 1\n", + " 13 1.9706852e+06 5.26e+04 5.45e+01 -1.0 3.25e+04 - 1.69e-02 4.90e-01h 1\n", + " 14 1.9528281e+06 5.12e+04 5.37e+01 -1.0 4.66e+04 - 1.86e-02 2.56e-02f 1\n", + " 15 1.9233384e+06 5.01e+04 5.39e+01 -1.0 8.17e+04 - 4.90e-03 2.13e-02f 1\n", + " 16 1.8022327e+06 4.60e+04 5.37e+01 -1.0 8.91e+04 - 3.34e-02 8.15e-02f 1\n", + " 17 1.6951432e+06 4.29e+04 4.56e+01 -1.0 8.56e+04 - 2.00e-01 6.82e-02f 1\n", + " 18 1.4376733e+06 3.70e+04 3.92e+01 -1.0 8.35e+04 - 2.07e-01 1.38e-01f 1\n", + " 19 1.4348330e+06 3.69e+04 3.92e+01 -1.0 7.47e+04 - 3.99e-01 1.63e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.1378102e+06 2.98e+04 6.82e+01 -1.0 8.56e+04 - 7.26e-01 1.94e-01f 1\n", + " 21 1.1307560e+06 2.97e+04 9.65e+01 -1.0 6.82e+05 - 3.01e-01 3.30e-03f 1\n", + " 22 1.0062140e+06 2.80e+04 1.03e+02 -1.0 9.60e+05 - 1.77e-01 5.62e-02f 1\n", + " 23 9.8149746e+05 2.76e+04 9.98e+01 -1.0 7.50e+05 - 2.17e-03 1.50e-02f 1\n", + " 24 9.4149851e+05 2.72e+04 9.71e+01 -1.0 1.24e+06 - 4.40e-04 1.35e-02f 1\n", + " 25 9.4002865e+05 2.72e+04 1.34e+02 -1.0 7.08e+05 - 3.51e-01 7.54e-04f 1\n", + " 26 5.2576311e+05 2.15e+04 9.30e+01 -1.0 8.93e+05 - 8.59e-02 2.09e-01f 1\n", + " 27 2.2046523e+05 1.63e+04 1.03e+02 -1.0 4.60e+05 - 4.90e-01 2.41e-01f 1\n", + " 28 1.7558331e+05 1.56e+04 1.23e+02 -1.0 7.34e+05 - 1.81e-01 4.32e-02f 1\n", + " 29 1.1367796e+05 1.43e+04 1.75e+02 -1.0 5.05e+05 - 4.27e-01 8.44e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 1.1236610e+05 1.42e+04 3.44e+02 -1.0 9.87e+04 - 8.57e-01 5.18e-03f 1\n", + " 31 -1.6839223e+03 3.53e+03 7.59e+01 -1.0 4.87e+04 - 7.04e-01 7.52e-01f 1\n", + " 32 -3.6737577e+04 8.63e+01 4.73e+02 -1.0 6.73e+04 - 3.87e-01 9.76e-01f 1\n", + " 33 -3.7190456e+04 4.45e+01 1.45e+04 -1.0 7.92e+04 - 9.32e-01 4.84e-01f 1\n", + " 34 -3.7233016e+04 2.76e+01 3.09e+04 -1.0 1.24e+05 - 7.28e-01 3.81e-01f 1\n", + " 35 -3.7296016e+04 1.38e+01 3.48e+04 -1.0 1.68e+05 - 6.91e-01 5.00e-01f 2\n", + " 36 -3.7354943e+04 2.33e-10 1.00e-06 -1.0 1.24e+05 - 1.00e+00 1.00e+00h 1\n", + " 37 -3.7778537e+04 1.16e-10 1.45e+04 -3.8 1.44e+04 - 9.03e-01 9.46e-01f 1\n", + " 38 -3.7806710e+04 2.33e-10 1.71e+04 -3.8 2.64e+05 - 4.72e-01 1.00e+00f 1\n", + " 39 -3.7807939e+04 2.33e-10 3.27e+01 -3.8 4.41e+04 - 9.99e-01 9.52e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.7807938e+04 1.16e-10 1.50e-09 -3.8 1.11e+03 - 1.00e+00 1.00e+00f 1\n", + " 41 -3.7808584e+04 1.16e-10 1.86e+03 -5.7 3.30e+03 - 1.00e+00 8.75e-01f 1\n", + " 42 -3.7808661e+04 2.33e-10 2.92e+02 -5.7 4.16e+02 - 8.94e-01 1.00e+00f 1\n", + " 43 -3.7808662e+04 1.16e-10 1.85e-11 -5.7 1.42e-01 - 1.00e+00 1.00e+00f 1\n", + " 44 -3.7808670e+04 1.16e-10 9.24e-13 -7.0 4.12e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 44\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.7808669603156494e+02 -3.7808669603156493e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2396779820076721e-07 1.2396779820076721e-05\n", + "Overall NLP error.......: 1.2396779820076721e-07 1.2396779820076721e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 46\n", + "Number of objective gradient evaluations = 45\n", + "Number of equality constraint evaluations = 46\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 45\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 44\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.034\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 59494.87\n", + "Variable costs: 16604.22\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 86.32\n", + "\n", + "Simulating time_step 2020-07-11 04:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.4957948e+04 6.25e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.5041522e+04 6.25e+03 9.90e+01 -1.0 2.70e+04 - 4.12e-04 3.82e-04h 1\n", + " 2 -3.1673264e+04 6.24e+03 9.99e+01 -1.0 2.36e+04 - 3.89e-04 1.38e-03h 1\n", + " 3 -1.1300375e+04 6.20e+03 1.01e+02 -1.0 8.82e+03 - 1.06e-03 5.84e-03h 1\n", + " 4 4.3636446e+04 6.11e+03 1.02e+02 -1.0 2.41e+03 - 6.95e-03 1.48e-02h 1\n", + " 5 1.5365020e+05 5.93e+03 9.96e+01 -1.0 2.38e+03 - 2.43e-02 3.00e-02h 1\n", + " 6 5.5403897e+05 5.26e+03 8.33e+01 -1.0 2.44e+03 - 3.50e-01 1.13e-01h 1\n", + " 7 9.1900032e+05 4.64e+03 7.36e+01 -1.0 3.75e+03 - 2.87e-01 1.17e-01h 1\n", + " 8 1.8352202e+06 3.08e+03 4.87e+01 -1.0 5.25e+03 - 4.01e-01 3.37e-01h 1\n", + " 9 2.0902209e+06 2.59e+03 4.11e+01 -1.0 8.64e+03 - 2.93e-01 1.56e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.1019682e+06 2.57e+03 4.07e+01 -1.0 1.19e+04 - 2.81e-01 9.44e-03h 1\n", + " 11 2.5224266e+06 1.56e+03 2.47e+01 -1.0 1.60e+04 - 2.60e-01 3.94e-01h 1\n", + " 12 2.5397840e+06 8.84e+02 3.17e+01 -1.0 2.87e+04 - 7.27e-02 4.33e-01h 1\n", + " 13 2.5278860e+06 8.72e+02 3.00e+01 -1.0 3.96e+04 - 3.61e-02 1.36e-02f 1\n", + " 14 1.8301051e+06 4.68e+02 1.01e+03 -1.0 5.34e+04 - 2.02e-03 4.64e-01f 1\n", + " 15 1.8199824e+06 4.65e+02 9.79e+02 -1.0 7.17e+04 - 2.63e-01 4.84e-03f 1\n", + " 16 1.7968575e+06 4.60e+02 9.69e+02 -1.0 7.47e+04 - 2.84e-01 1.11e-02f 1\n", + " 17 1.2159901e+06 3.42e+02 7.19e+02 -1.0 7.58e+04 - 2.91e-01 2.58e-01f 1\n", + " 18 1.2096872e+06 3.41e+02 7.17e+02 -1.0 5.69e+04 - 8.15e-01 3.61e-03f 1\n", + " 19 1.1524615e+06 3.29e+02 6.93e+02 -1.0 4.46e+05 - 1.59e-01 3.25e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.1004579e+06 3.19e+02 6.72e+02 -1.0 6.04e+05 - 1.92e-03 3.12e-02f 1\n", + " 21 1.0595605e+06 3.15e+02 6.63e+02 -1.0 1.28e+06 - 1.13e-03 1.33e-02f 1\n", + " 22 1.0579891e+06 3.15e+02 6.62e+02 -1.0 6.17e+05 - 2.98e-01 7.74e-04f 1\n", + " 23 5.6953576e+05 2.55e+02 5.37e+02 -1.0 9.95e+05 - 1.08e-01 1.90e-01f 1\n", + " 24 1.7516844e+05 1.93e+02 4.06e+02 -1.0 5.24e+05 - 4.87e-01 2.44e-01f 1\n", + " 25 1.0092691e+05 1.78e+02 3.75e+02 -1.0 7.38e+05 - 1.60e-01 7.70e-02f 1\n", + " 26 4.7857542e+04 1.64e+02 3.45e+02 -1.0 5.16e+05 - 4.24e-01 7.88e-02f 1\n", + " 27 4.7024481e+04 1.63e+02 6.31e+02 -1.0 1.06e+05 - 8.50e-01 4.18e-03f 1\n", + " 28 2.1639163e+04 1.16e+02 6.84e+02 -1.0 1.70e+05 - 9.11e-01 2.92e-01f 1\n", + " 29 -2.7672758e+03 6.91e+01 6.92e+02 -1.0 1.43e+05 - 9.27e-01 4.02e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -8.5154265e+03 5.86e+01 1.29e+03 -1.0 3.04e+05 - 9.31e-01 1.52e-01f 1\n", + " 31 -1.9989347e+04 3.63e+01 1.46e+03 -1.0 1.35e+04 - 1.00e+00 3.80e-01f 1\n", + " 32 -3.6789530e+04 3.65e+00 3.20e+02 -1.0 6.75e+03 - 1.00e+00 9.00e-01f 1\n", + " 33 -3.7841653e+04 1.61e+00 7.66e+03 -1.0 3.05e+03 - 1.00e+00 5.60e-01f 1\n", + " 34 -3.8369746e+04 5.84e-01 1.68e+04 -1.0 5.83e+02 - 1.00e+00 6.36e-01f 1\n", + " 35 -3.8478192e+04 3.77e-01 7.87e+04 -1.0 5.41e+02 - 1.00e+00 3.55e-01f 2\n", + " 36 -3.8677352e+04 2.33e-10 1.00e-06 -1.0 1.65e+02 - 1.00e+00 1.00e+00h 1\n", + " 37 -3.9153032e+04 2.33e-10 1.22e+04 -3.8 1.53e+04 - 9.94e-01 9.55e-01f 1\n", + " 38 -3.9171732e+04 1.16e-10 4.64e+02 -3.8 3.21e+02 - 1.00e+00 9.67e-01f 1\n", + " 39 -3.9172074e+04 1.16e-10 5.69e+03 -3.8 1.03e+01 - 1.01e-02 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.9172078e+04 1.16e-10 1.50e-09 -3.8 5.39e-02 - 1.00e+00 1.00e+00f 1\n", + " 41 -3.9172665e+04 1.16e-10 1.86e+03 -5.7 2.17e+01 - 1.00e+00 8.75e-01f 1\n", + " 42 -3.9172731e+04 1.16e-10 3.12e+02 -5.7 2.73e+00 - 8.94e-01 1.00e+00f 1\n", + " 43 -3.9172731e+04 2.33e-10 1.85e-11 -5.7 1.26e-01 - 1.00e+00 1.00e+00f 1\n", + " 44 -3.9172738e+04 1.16e-10 9.24e-13 -7.0 2.57e-01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 44\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.9172738381776770e+02 -3.9172738381776770e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.3193296207417938e-07 1.3193296207417937e-05\n", + "Overall NLP error.......: 1.3193296207417938e-07 1.3193296207417937e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 46\n", + "Number of objective gradient evaluations = 45\n", + "Number of equality constraint evaluations = 46\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 45\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 44\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.030\n", + "Total CPU secs in NLP function evaluations = 0.002\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 57642.87\n", + "Variable costs: 14703.09\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 186.40\n", + "\n", + "Simulating time_step 2020-07-11 05:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.6271620e+04 6.25e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.6360908e+04 6.25e+03 9.90e+01 -1.0 2.60e+04 - 4.43e-04 4.08e-04h 1\n", + " 2 -3.2808262e+04 6.24e+03 9.99e+01 -1.0 2.15e+04 - 4.52e-04 1.46e-03h 1\n", + " 3 -1.2433594e+04 6.20e+03 1.01e+02 -1.0 7.17e+03 - 1.13e-03 5.87e-03h 1\n", + " 4 4.1880921e+04 6.11e+03 1.00e+02 -1.0 2.37e+03 - 1.09e-02 1.51e-02h 1\n", + " 5 2.0988863e+05 5.82e+03 9.23e+01 -1.0 2.39e+03 - 9.52e-02 4.71e-02h 1\n", + " 6 7.7898196e+05 4.84e+03 8.57e+01 -1.0 2.64e+03 - 8.97e-02 1.68e-01h 1\n", + " 7 9.5843944e+05 4.53e+03 7.19e+01 -1.0 2.90e+03 - 3.44e-01 6.34e-02h 1\n", + " 8 2.3885334e+06 2.04e+03 3.24e+01 -1.0 4.42e+03 - 4.61e-01 5.50e-01h 1\n", + " 9 2.4938873e+06 1.82e+03 3.01e+01 -1.0 8.07e+03 - 3.47e-01 1.08e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.5363786e+06 1.71e+03 2.95e+01 -1.0 1.20e+04 - 2.07e-01 6.12e-02h 1\n", + " 11 2.5522794e+06 1.66e+03 2.98e+01 -1.0 1.47e+04 - 2.66e-01 2.84e-02h 1\n", + " 12 2.7456675e+06 5.06e+02 4.51e+01 -1.0 1.98e+04 - 6.11e-02 6.96e-01h 1\n", + " 13 2.7342514e+06 4.97e+02 3.78e+01 -1.0 3.33e+04 - 1.13e-01 1.65e-02f 1\n", + " 14 2.4690630e+06 3.75e+02 1.38e+02 -1.0 3.92e+04 - 5.08e-03 2.47e-01f 1\n", + " 15 1.7132929e+06 2.46e+02 8.36e+02 -1.0 7.80e+04 - 1.90e-02 3.42e-01f 1\n", + " 16 1.7051935e+06 2.45e+02 8.27e+02 -1.0 6.94e+04 - 3.12e-01 3.73e-03f 1\n", + " 17 1.6409483e+06 2.38e+02 8.03e+02 -1.0 7.23e+04 - 3.21e-01 2.99e-02f 1\n", + " 18 1.3905891e+06 2.12e+02 7.13e+02 -1.0 7.17e+04 - 3.59e-01 1.11e-01f 1\n", + " 19 1.3859110e+06 2.11e+02 7.12e+02 -1.0 6.15e+04 - 7.95e-01 2.61e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.0546786e+06 1.87e+02 6.31e+02 -1.0 6.17e+05 - 3.88e-02 1.14e-01f 1\n", + " 21 1.0442142e+06 1.86e+02 6.28e+02 -1.0 6.65e+05 - 4.63e-04 4.53e-03f 1\n", + " 22 1.0311670e+06 1.85e+02 6.26e+02 -1.0 1.32e+06 - 3.02e-01 4.00e-03f 1\n", + " 23 9.3160467e+05 1.79e+02 6.03e+02 -1.0 9.56e+05 - 1.54e-02 3.63e-02f 1\n", + " 24 8.7864460e+05 1.75e+02 5.89e+02 -1.0 8.80e+05 - 2.73e-01 2.26e-02f 1\n", + " 25 3.0368442e+05 1.23e+02 4.16e+02 -1.0 6.52e+05 - 1.29e-01 2.93e-01f 1\n", + " 26 3.9718943e+04 8.34e+01 2.81e+02 -1.0 3.44e+05 - 4.73e-01 3.25e-01f 1\n", + " 27 3.1423289e+04 8.15e+01 6.97e+02 -1.0 2.58e+05 - 6.24e-01 2.30e-02f 1\n", + " 28 3.0493959e+04 8.05e+01 1.41e+03 -1.0 4.84e+04 - 9.56e-01 1.20e-02f 1\n", + " 29 -3.9580086e+04 1.20e+00 1.91e+02 -1.0 3.04e+05 - 7.13e-01 9.85e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -4.0966938e+04 5.78e-03 1.06e+03 -1.0 5.37e+04 - 9.75e-01 9.95e-01f 1\n", + " 31 -4.0988322e+04 2.58e-03 2.31e+06 -1.0 1.82e+05 - 1.00e+00 5.54e-01f 1\n", + " 32 -4.1003812e+04 1.29e-03 2.84e+06 -1.0 2.98e+04 - 1.00e+00 5.00e-01f 2\n", + " 33 -4.1018824e+04 1.16e-10 1.00e-06 -1.0 4.37e+03 - 1.00e+00 1.00e+00h 1\n", + " 34 -4.1337924e+04 2.33e-10 1.07e+06 -5.7 1.64e+04 - 8.18e-01 9.27e-01f 1\n", + " 35 -4.1385159e+04 2.33e-10 1.20e+06 -5.7 2.60e+05 - 2.56e-01 8.21e-01f 1\n", + " 36 -4.1390283e+04 2.33e-10 1.02e+04 -5.7 2.93e+04 - 9.86e-01 7.78e-01f 1\n", + " 37 -4.1391199e+04 1.16e-10 2.24e+03 -5.7 6.87e+02 - 1.00e+00 9.21e-01f 1\n", + " 38 -4.1391253e+04 1.16e-10 2.55e+02 -5.7 3.38e+01 - 8.73e-01 9.36e-01f 1\n", + " 39 -4.1391257e+04 2.33e-10 1.85e-11 -5.7 2.17e+00 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -4.1391264e+04 1.16e-10 9.24e-13 -7.0 2.71e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 40\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -4.1391264356614164e+02 -4.1391264356614163e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 3.2040756562801045e-07 3.2040756562801046e-05\n", + "Overall NLP error.......: 3.2040756562801045e-07 3.2040756562801046e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 42\n", + "Number of objective gradient evaluations = 41\n", + "Number of equality constraint evaluations = 42\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 41\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 40\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.030\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 58806.87\n", + "Variable costs: 11030.21\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 179.54\n", + "\n", + "Simulating time_step 2020-07-11 06:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.8489875e+04 6.25e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.8578616e+04 6.25e+03 9.90e+01 -1.0 2.60e+04 - 4.43e-04 4.08e-04h 1\n", + " 2 -3.5692248e+04 6.24e+03 9.98e+01 -1.0 2.15e+04 - 4.73e-04 1.46e-03h 1\n", + " 3 -2.4852963e+04 6.21e+03 1.00e+02 -1.0 6.06e+03 - 1.13e-03 3.74e-03h 1\n", + " 4 -5.7790089e+03 6.18e+03 9.99e+01 -1.0 5.30e+03 - 4.98e-03 6.36e-03h 1\n", + " 5 6.6097059e+04 6.03e+03 9.94e+01 -1.0 2.27e+03 - 1.43e-02 2.37e-02h 1\n", + " 6 2.9135176e+05 5.57e+03 8.84e+01 -1.0 2.33e+03 - 9.40e-02 7.59e-02h 1\n", + " 7 6.6900976e+05 4.80e+03 7.61e+01 -1.0 2.57e+03 - 1.82e-01 1.38e-01h 1\n", + " 8 9.0789715e+05 4.32e+03 6.84e+01 -1.0 3.17e+03 - 3.17e-01 1.01e-01h 1\n", + " 9 1.9625876e+06 2.11e+03 3.35e+01 -1.0 4.70e+03 - 4.34e-01 5.10e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.0532266e+06 1.88e+03 2.98e+01 -1.0 8.54e+03 - 2.03e-01 1.10e-01h 1\n", + " 11 2.0881980e+06 1.77e+03 2.89e+01 -1.0 1.08e+04 - 3.23e-01 5.59e-02h 1\n", + " 12 2.1146580e+06 1.67e+03 2.80e+01 -1.0 1.60e+04 - 1.79e-01 6.10e-02h 1\n", + " 13 2.1358808e+06 1.52e+03 2.57e+01 -1.0 1.91e+04 - 1.74e-01 8.99e-02h 1\n", + " 14 2.1362279e+06 1.51e+03 2.57e+01 -1.0 2.47e+04 - 6.19e-02 4.82e-03h 1\n", + " 15 2.1021096e+06 1.51e+01 8.11e+01 -1.0 2.86e+04 - 4.54e-02 9.90e-01f 1\n", + " 16 1.9398774e+06 1.37e+01 3.65e+02 -1.0 5.26e+04 - 1.47e-02 9.42e-02f 1\n", + " 17 1.5686812e+06 1.17e+01 9.15e+02 -1.0 8.54e+04 - 1.49e-02 1.47e-01f 1\n", + " 18 1.5647419e+06 1.16e+01 6.80e+02 -1.0 7.99e+04 - 2.99e-01 1.62e-03f 1\n", + " 19 1.4821503e+06 1.12e+01 1.92e+03 -1.0 8.17e+04 - 2.70e-01 3.36e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.4708327e+06 1.12e+01 3.79e+03 -1.0 7.29e+04 - 3.45e-01 6.48e-03f 1\n", + " 21 9.8085981e+05 8.13e+00 5.84e+03 -1.0 7.37e+04 - 8.24e-01 2.73e-01f 1\n", + " 22 9.6872789e+05 8.09e+00 8.00e+03 -1.0 6.85e+05 - 2.89e-01 4.31e-03f 1\n", + " 23 8.5201482e+05 7.76e+00 8.49e+03 -1.0 1.20e+06 - 1.48e-01 4.13e-02f 1\n", + " 24 8.4798109e+04 5.32e+00 5.11e+03 -1.0 9.91e+05 - 2.26e-01 3.14e-01f 1\n", + " 25 3.3324746e+04 3.88e+00 1.12e+04 -1.0 6.80e+04 - 9.06e-01 2.70e-01f 1\n", + " 26 -2.9526091e+04 3.89e-01 2.37e+03 -1.0 6.80e+03 - 9.78e-01 9.00e-01f 1\n", + " 27 -3.6198694e+04 2.33e-10 6.55e+03 -1.0 4.38e+04 - 9.58e-01 1.00e+00f 1\n", + " 28 -3.6185609e+04 1.16e-10 1.08e+05 -1.0 2.55e+05 - 1.00e+00 9.89e-01f 1\n", + " 29 -3.6162071e+04 2.33e-10 1.00e-06 -1.0 2.13e+05 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.6518984e+04 1.16e-10 3.87e+06 -5.7 1.45e+05 - 5.93e-01 9.81e-01f 1\n", + " 31 -3.6592166e+04 1.16e-10 3.12e+06 -5.7 5.41e+05 - 2.30e-01 9.49e-01f 1\n", + " 32 -3.6604081e+04 1.16e-10 2.95e+05 -5.7 2.20e+05 - 9.05e-01 6.48e-01f 1\n", + " 33 -3.6609210e+04 1.16e-10 2.61e+04 -5.7 1.48e+05 - 9.08e-01 6.48e-01f 1\n", + " 34 -3.6610134e+04 2.33e-10 5.62e+02 -5.7 1.52e+04 - 9.84e-01 7.43e-01f 1\n", + " 35 -3.6610272e+04 1.16e-10 2.28e+01 -5.7 3.48e+03 - 9.92e-01 9.67e-01f 1\n", + " 36 -3.6610275e+04 1.16e-10 1.85e-11 -5.7 1.37e+02 - 1.00e+00 1.00e+00f 1\n", + " 37 -3.6610283e+04 5.82e-11 9.13e-13 -7.0 2.64e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 37\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.6610282714214793e+02 -3.6610282714214794e+04\n", + "Dual infeasibility......: 9.1304741545172874e-13 9.1304741545172874e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 1.2652815313213204e-07 1.2652815313213203e-05\n", + "Overall NLP error.......: 1.2652815313213204e-07 1.2652815313213203e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 38\n", + "Number of objective gradient evaluations = 38\n", + "Number of equality constraint evaluations = 38\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 38\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 37\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.025\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 58590.87\n", + "Variable costs: 3141.05\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 409.53\n", + "\n", + "Simulating time_step 2020-07-11 07:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.3759293e+04 6.25e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.3848579e+04 6.25e+03 9.90e+01 -1.0 2.60e+04 - 4.43e-04 4.08e-04h 1\n", + " 2 -3.0722672e+04 6.24e+03 9.98e+01 -1.0 2.16e+04 - 4.73e-04 1.46e-03h 1\n", + " 3 -7.8165087e+03 6.19e+03 1.01e+02 -1.0 6.54e+03 - 1.11e-03 7.03e-03h 1\n", + " 4 4.6365203e+04 6.09e+03 1.01e+02 -1.0 2.36e+03 - 9.12e-03 1.61e-02h 1\n", + " 5 2.7893928e+05 5.67e+03 8.99e+01 -1.0 2.39e+03 - 3.33e-01 6.99e-02h 1\n", + " 6 7.1721384e+05 4.86e+03 7.70e+01 -1.0 3.58e+03 - 1.02e-01 1.43e-01h 1\n", + " 7 1.0022839e+06 4.33e+03 6.86e+01 -1.0 3.98e+03 - 5.18e-01 1.08e-01h 1\n", + " 8 2.1364216e+06 2.12e+03 3.37e+01 -1.0 8.20e+03 - 2.35e-01 5.10e-01h 1\n", + " 9 2.2634680e+06 1.83e+03 2.90e+01 -1.0 1.04e+04 - 3.76e-01 1.40e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.6601067e+06 4.55e+02 2.81e+01 -1.0 1.56e+04 - 1.72e-01 7.51e-01h 1\n", + " 11 2.6532195e+06 4.48e+02 2.29e+01 -1.0 2.65e+04 - 1.79e-01 1.61e-02f 1\n", + " 12 2.1634845e+06 1.73e+02 8.21e+01 -1.0 3.63e+04 - 1.39e-02 6.14e-01f 1\n", + " 13 1.8972055e+06 1.48e+02 4.44e+02 -1.0 5.34e+04 - 1.24e-02 1.41e-01f 1\n", + " 14 1.8936178e+06 1.48e+02 4.31e+02 -1.0 8.49e+04 - 7.26e-02 1.55e-03f 1\n", + " 15 1.6586284e+06 1.31e+02 3.83e+02 -1.0 8.72e+04 - 1.97e-01 1.12e-01f 1\n", + " 16 1.6556498e+06 1.31e+02 3.82e+02 -1.0 6.57e+04 - 3.39e-01 1.49e-03f 1\n", + " 17 1.3029278e+06 1.00e+02 2.92e+02 -1.0 6.93e+04 - 3.33e-01 2.35e-01f 1\n", + " 18 1.2991793e+06 1.00e+02 6.40e+02 -1.0 4.98e+04 - 8.11e-01 3.31e-03f 1\n", + " 19 1.2298283e+06 9.46e+01 6.09e+02 -1.0 5.13e+05 - 6.10e-02 5.44e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 4.7096747e+05 6.66e+01 2.41e+02 -1.0 1.32e+06 - 1.11e-02 2.96e-01f 1\n", + " 21 4.5503501e+05 6.58e+01 2.41e+02 -1.0 7.47e+05 - 1.51e-02 1.21e-02f 1\n", + " 22 4.1219074e+05 6.35e+01 5.13e+02 -1.0 7.07e+05 - 3.32e-01 3.58e-02f 1\n", + " 23 3.9971318e+05 6.26e+01 5.19e+02 -1.0 3.92e+05 - 2.61e-02 1.32e-02f 1\n", + " 24 1.3263586e+05 4.52e+01 4.28e+02 -1.0 4.45e+05 - 3.32e-01 2.78e-01f 1\n", + " 25 2.2654153e+04 4.08e+01 4.38e+02 -1.0 9.70e+05 - 1.33e-01 9.66e-02f 1\n", + " 26 2.1421953e+04 4.07e+01 1.37e+03 -1.0 2.81e+05 - 6.15e-01 3.35e-03f 1\n", + " 27 -2.4538393e+03 2.34e+01 1.58e+03 -1.0 5.87e+03 - 9.40e-01 4.25e-01f 1\n", + " 28 -3.3662567e+04 2.28e-01 4.74e+01 -1.0 9.93e+03 - 9.67e-01 9.90e-01f 1\n", + " 29 -3.4053330e+04 2.33e-10 6.58e+03 -1.0 1.27e+05 - 9.75e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.3972923e+04 1.16e-10 8.68e+05 -1.0 6.76e+05 - 9.11e-01 1.00e+00f 1\n", + " 31 -3.3968447e+04 1.16e-10 1.00e-06 -1.0 6.07e+04 - 1.00e+00 1.00e+00f 1\n", + " 32 -3.4344894e+04 2.33e-10 3.44e+06 -5.7 2.50e+05 - 6.45e-01 9.89e-01f 1\n", + " 33 -3.4392582e+04 1.16e-10 1.67e+06 -5.7 5.35e+05 - 5.21e-01 6.80e-01f 1\n", + " 34 -3.4414780e+04 1.16e-10 5.47e+05 -5.7 3.71e+05 - 6.72e-01 6.81e-01f 1\n", + " 35 -3.4420624e+04 1.16e-10 7.63e+04 -5.7 1.64e+05 - 8.57e-01 6.78e-01f 1\n", + " 36 -3.4421250e+04 1.16e-10 7.54e+03 -5.7 2.07e+04 - 8.91e-01 6.81e-01f 1\n", + " 37 -3.4421496e+04 1.16e-10 3.37e+02 -5.7 7.80e+03 - 9.58e-01 9.78e-01f 1\n", + " 38 -3.4421498e+04 1.16e-10 1.85e-11 -5.7 6.32e+01 - 1.00e+00 1.00e+00f 1\n", + " 39 -3.4421505e+04 2.33e-10 9.24e-13 -7.0 2.46e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 39\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.4421505405571202e+02 -3.4421505405571203e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.2639928832417780e-07 1.2639928832417781e-05\n", + "Overall NLP error.......: 1.2639928832417780e-07 1.2639928832417781e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 40\n", + "Number of objective gradient evaluations = 40\n", + "Number of equality constraint evaluations = 40\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 40\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 39\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.024\n", + "Total CPU secs in NLP function evaluations = 0.002\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 51898.87\n", + "Variable costs: 702.22\n", + "\n", + "Renewables curtailment reported at t=1 - total= 130.94\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 145.83\n", + "\n", + "Simulating time_step 2020-07-11 08:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.1570516e+04 2.43e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.1659843e+04 2.43e+05 9.90e+01 -1.0 2.60e+04 - 4.43e-04 4.08e-04h 1\n", + " 2 -2.8786977e+04 2.42e+05 9.98e+01 -1.0 2.15e+04 - 4.74e-04 1.46e-03h 1\n", + " 3 -1.3845984e+04 2.41e+05 1.01e+02 -1.0 4.00e+03 - 1.13e-03 5.21e-03h 1\n", + " 4 2.9676041e+04 2.38e+05 1.01e+02 -1.0 2.22e+03 - 7.28e-03 1.47e-02h 1\n", + " 5 4.8567420e+04 2.36e+05 9.63e+01 -1.0 6.68e+03 - 2.13e-01 6.47e-03h 1\n", + " 6 5.3484341e+04 2.36e+05 9.61e+01 -1.0 5.04e+04 - 3.20e-02 1.81e-03h 1\n", + " 7 5.9391118e+04 2.35e+05 9.59e+01 -1.0 2.03e+05 - 1.97e-03 2.05e-03h 1\n", + " 8 2.3101425e+05 2.22e+05 2.09e+02 -1.0 7.02e+04 - 1.05e-04 5.67e-02h 1\n", + " 9 4.8985482e+05 2.02e+05 1.69e+02 -1.0 3.29e+04 - 2.34e-01 8.95e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 8.9682538e+05 1.71e+05 1.42e+02 -1.0 2.15e+04 - 1.58e-01 1.53e-01h 1\n", + " 11 1.5894212e+06 1.19e+05 1.02e+02 -1.0 1.81e+04 - 2.68e-01 3.07e-01h 1\n", + " 12 2.1433493e+06 7.49e+04 8.75e+01 -1.0 1.23e+04 - 4.49e-02 3.69e-01h 1\n", + " 13 2.2314993e+06 6.75e+04 6.29e+01 -1.0 7.60e+03 - 3.35e-01 9.76e-02h 1\n", + " 14 2.9599547e+06 6.75e+02 7.43e+01 -1.0 9.87e+03 - 2.50e-01 9.90e-01h 1\n", + " 15 2.6810569e+06 6.51e+00 2.22e+03 -1.0 1.14e+04 - 3.72e-01 9.90e-01f 1\n", + " 16 2.1149249e+06 1.63e+00 2.21e+05 -1.0 3.04e+04 - 1.37e-01 7.50e-01f 1\n", + " 17 2.1040886e+06 1.61e+00 2.10e+05 -1.0 5.09e+04 - 1.41e-02 6.89e-03f 1\n", + " 18 2.1032310e+06 1.61e+00 2.06e+05 -1.0 7.48e+04 - 3.34e-03 4.35e-04f 1\n", + " 19 1.7323752e+06 1.33e+00 1.84e+05 -1.0 9.18e+04 - 1.66e-01 1.77e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.7275640e+06 1.33e+00 8.58e+04 -1.0 7.50e+04 - 1.82e-01 2.17e-03f 1\n", + " 21 1.6836218e+06 1.29e+00 4.17e+05 -1.0 7.24e+04 - 2.55e-01 2.75e-02f 1\n", + " 22 1.1767416e+06 8.99e-01 2.89e+05 -1.0 7.48e+04 - 3.02e-01 3.03e-01f 1\n", + " 23 1.1712714e+06 8.95e-01 1.80e+06 -1.0 5.22e+04 - 8.28e-01 4.43e-03f 1\n", + " 24 1.0995470e+06 8.71e-01 1.85e+06 -1.0 1.04e+06 - 9.38e-02 2.67e-02f 1\n", + " 25 7.0201797e+05 7.88e-01 1.61e+06 -1.0 1.35e+06 - 5.23e-02 9.52e-02f 1\n", + " 26 6.9783997e+05 7.87e-01 1.90e+06 -1.0 1.22e+06 - 1.77e-01 1.04e-03f 1\n", + " 27 4.2731890e+05 7.02e-01 1.80e+06 -1.0 1.08e+06 - 1.76e-01 1.07e-01f 1\n", + " 28 2.7851218e+04 5.04e-01 1.53e+06 -1.0 6.11e+05 - 4.30e-01 2.83e-01f 1\n", + " 29 -1.4234071e+03 2.74e-01 1.72e+06 -1.0 6.39e+03 - 9.39e-01 4.56e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.0146776e+04 2.13e-03 1.04e+04 -1.0 4.60e+03 - 9.79e-01 9.92e-01f 1\n", + " 31 -3.0341318e+04 1.16e-10 1.50e+05 -1.0 8.33e+04 - 9.28e-01 1.00e+00f 1\n", + " 32 -3.0279410e+04 2.33e-10 9.61e+04 -1.0 6.21e+05 - 4.29e-01 1.00e+00f 1\n", + " 33 -3.0257906e+04 2.33e-10 1.00e-06 -1.0 2.02e+05 - 1.00e+00 1.00e+00f 1\n", + " 34 -3.0637803e+04 1.16e-10 3.45e+06 -5.7 2.88e+05 - 6.45e-01 9.90e-01f 1\n", + " 35 -3.0685503e+04 1.16e-10 7.51e+05 -5.7 4.70e+05 - 7.81e-01 7.29e-01f 1\n", + " 36 -3.0704402e+04 1.16e-10 2.50e+05 -5.7 3.62e+05 - 6.66e-01 6.40e-01f 1\n", + " 37 -3.0708955e+04 1.16e-10 6.59e+04 -5.7 9.82e+04 - 7.33e-01 6.36e-01f 1\n", + " 38 -3.0710134e+04 1.16e-10 8.53e+02 -5.7 3.23e+04 - 9.92e-01 6.86e-01f 1\n", + " 39 -3.0710565e+04 1.16e-10 3.79e+01 -5.7 8.56e+03 - 1.00e+00 9.80e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.0710570e+04 1.16e-10 1.85e-11 -5.7 1.52e+02 - 1.00e+00 1.00e+00f 1\n", + " 41 -3.0710578e+04 1.16e-10 9.24e-13 -7.0 2.37e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 41\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.0710577572164658e+02 -3.0710577572164657e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2649154779684060e-07 1.2649154779684060e-05\n", + "Overall NLP error.......: 1.2649154779684060e-07 1.2649154779684060e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 42\n", + "Number of objective gradient evaluations = 42\n", + "Number of equality constraint evaluations = 42\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 42\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 41\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.030\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 51898.87\n", + "Variable costs: 791.62\n", + "\n", + "Renewables curtailment reported at t=1 - total= 81.67\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 5.00\n", + "\n", + "Simulating time_step 2020-07-11 09:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.7909988e+04 2.15e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.7999350e+04 2.15e+05 9.90e+01 -1.0 2.60e+04 - 4.43e-04 4.08e-04h 1\n", + " 2 -2.5553564e+04 2.15e+05 9.98e+01 -1.0 2.15e+04 - 4.87e-04 1.46e-03h 1\n", + " 3 -1.7032330e+04 2.14e+05 1.00e+02 -1.0 5.46e+03 - 1.13e-03 3.33e-03h 1\n", + " 4 6.9546874e+03 2.12e+05 1.01e+02 -1.0 2.22e+03 - 3.90e-03 8.98e-03h 1\n", + " 5 4.9559546e+04 2.09e+05 9.89e+01 -1.0 3.90e+03 - 1.63e-02 1.58e-02h 1\n", + " 6 5.6346938e+04 2.08e+05 9.90e+01 -1.0 5.28e+04 - 7.21e-04 2.42e-03h 1\n", + " 7 3.5624824e+05 1.86e+05 8.57e+01 -1.0 4.84e+04 - 1.80e-01 1.06e-01h 1\n", + " 8 3.8088815e+05 1.84e+05 9.07e+01 -1.0 1.92e+04 - 2.74e-02 9.67e-03h 1\n", + " 9 6.4586724e+05 1.65e+05 8.50e+01 -1.0 1.88e+04 - 1.38e-03 1.04e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 7.9043136e+05 1.55e+05 7.12e+01 -1.0 1.69e+04 - 2.04e-01 6.29e-02h 1\n", + " 11 2.2790810e+06 4.73e+04 6.47e+01 -1.0 1.57e+04 - 3.11e-01 6.94e-01h 1\n", + " 12 2.3396297e+06 4.24e+04 3.88e+01 -1.0 5.42e+03 - 3.53e-01 1.03e-01h 1\n", + " 13 2.8048634e+06 4.24e+02 6.72e+01 -1.0 8.26e+03 - 3.26e-01 9.90e-01h 1\n", + " 14 2.6260257e+06 4.02e+00 3.25e+03 -1.0 1.11e+04 - 3.51e-01 9.91e-01f 1\n", + " 15 2.3040174e+06 1.16e-10 3.95e+05 -1.0 1.25e+04 - 2.22e-01 1.00e+00f 1\n", + " 16 1.4026840e+06 1.16e-10 8.37e+06 -1.0 4.45e+04 - 3.21e-02 8.73e-01f 1\n", + " 17 1.3867434e+06 1.16e-10 8.11e+06 -1.0 8.24e+04 - 2.80e-02 9.12e-03f 1\n", + " 18 1.3862681e+06 1.75e-10 6.33e+06 -1.0 8.87e+04 - 1.92e-01 3.39e-04f 1\n", + " 19 1.3334309e+06 1.16e-10 6.07e+06 -1.0 9.31e+04 - 4.15e-02 5.16e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.2379898e+06 1.16e-10 3.03e+06 -1.0 8.99e+04 - 4.38e-01 9.65e-02f 1\n", + " 21 1.2368871e+06 2.33e-10 1.36e+06 -1.0 4.20e+04 - 4.12e-01 2.07e-03f 1\n", + " 22 1.0823928e+06 2.33e-10 5.56e+05 -1.0 3.52e+04 - 7.66e-01 1.00e+00f 1\n", + " 23 4.9320073e+05 1.16e-10 5.13e+05 -1.0 9.92e+05 - 7.82e-02 2.73e-01f 1\n", + " 24 4.7964543e+05 1.75e-10 3.66e+05 -1.0 9.72e+05 - 2.86e-01 6.62e-03f 1\n", + " 25 3.6953144e+05 1.16e-10 2.30e+05 -1.0 7.39e+05 - 3.71e-01 8.42e-02f 1\n", + " 26 3.6823164e+05 1.16e-10 1.01e+05 -1.0 3.49e+05 - 5.59e-01 2.24e-03f 1\n", + " 27 2.0854925e+05 2.33e-10 7.44e+04 -1.0 5.38e+05 - 2.67e-01 2.66e-01f 1\n", + " 28 2.0581525e+05 2.33e-10 5.86e+04 -1.0 1.07e+06 - 2.12e-01 2.31e-03f 1\n", + " 29 1.2804270e+05 1.16e-10 4.94e+04 -1.0 1.17e+06 - 1.57e-01 6.01e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 1.2623571e+05 1.16e-10 2.69e+04 -1.0 4.77e+05 - 4.56e-01 3.40e-03f 1\n", + " 31 -6.0271813e+03 2.33e-10 1.40e+04 -1.0 2.14e+05 - 4.78e-01 5.48e-01f 1\n", + " 32 -2.4576876e+04 1.16e-10 7.48e+03 -1.0 2.13e+04 - 4.67e-01 7.43e-01f 1\n", + " 33 -2.8295785e+04 2.33e-10 2.58e+03 -1.0 4.15e+03 - 6.54e-01 9.39e-01f 1\n", + " 34 -2.8335982e+04 1.16e-10 1.61e+03 -1.0 7.77e+03 - 5.91e-01 1.00e+00f 1\n", + " 35 -2.8661767e+04 1.16e-10 9.38e+05 -1.7 3.47e+03 - 8.83e-01 1.00e+00f 1\n", + " 36 -2.8660013e+04 2.33e-10 3.42e+05 -1.7 2.33e+04 - 6.36e-01 1.00e+00f 1\n", + " 37 -2.8656100e+04 1.16e-10 8.32e+04 -1.7 4.06e+04 - 7.56e-01 1.00e+00f 1\n", + " 38 -2.8646577e+04 1.16e-10 1.84e+03 -1.7 9.36e+04 - 9.78e-01 1.00e+00f 1\n", + " 39 -2.8632531e+04 2.33e-10 2.00e-07 -1.7 1.23e+05 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.8733641e+04 1.16e-10 1.79e+05 -5.7 3.11e+05 - 7.97e-01 8.86e-01f 1\n", + " 41 -2.8744172e+04 1.16e-10 3.08e+03 -5.7 1.09e+05 - 8.43e-01 7.06e-01f 1\n", + " 42 -2.8748011e+04 2.33e-10 1.04e+04 -5.7 3.95e+04 - 8.00e-01 9.64e-01f 1\n", + " 43 -2.8748189e+04 1.16e-10 1.47e+03 -5.7 4.65e+03 - 8.69e-01 9.15e-01f 1\n", + " 44 -2.8748204e+04 2.33e-10 1.85e-11 -5.7 3.94e+02 - 1.00e+00 1.00e+00f 1\n", + " 45 -2.8748213e+04 1.16e-10 9.38e-13 -7.0 3.48e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 45\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.8748212861974577e+02 -2.8748212861974574e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 3.2337589396370780e-12 1.1641532182693481e-10\n", + "Complementarity.........: 3.2482927499609528e-07 3.2482927499609530e-05\n", + "Overall NLP error.......: 3.2482927499609528e-07 3.2482927499609530e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 46\n", + "Number of objective gradient evaluations = 46\n", + "Number of equality constraint evaluations = 46\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 46\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 45\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.035\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 51898.87\n", + "Variable costs: 847.01\n", + "\n", + "Renewables curtailment reported at t=1 - total= 58.65\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 3.00\n", + "\n", + "Simulating time_step 2020-07-11 10:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.5998298e+04 2.15e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.6087314e+04 2.15e+05 9.90e+01 -1.0 2.60e+04 - 4.43e-04 4.08e-04h 1\n", + " 2 -2.3169588e+04 2.15e+05 9.98e+01 -1.0 2.15e+04 - 4.82e-04 1.46e-03h 1\n", + " 3 -1.3316393e+04 2.14e+05 1.00e+02 -1.0 5.47e+03 - 1.13e-03 3.31e-03h 1\n", + " 4 2.9743824e+04 2.11e+05 1.01e+02 -1.0 2.35e+03 - 3.89e-03 1.40e-02h 1\n", + " 5 7.1897968e+04 2.08e+05 9.84e+01 -1.0 5.49e+03 - 2.20e-02 1.37e-02h 1\n", + " 6 8.3343248e+04 2.07e+05 1.51e+02 -1.0 5.31e+04 - 1.96e-01 3.96e-03h 1\n", + " 7 4.1972614e+05 1.83e+05 1.14e+02 -1.0 3.24e+04 - 4.38e-02 1.18e-01h 1\n", + " 8 6.6037604e+05 1.65e+05 1.25e+02 -1.0 1.86e+04 - 3.06e-01 9.56e-02h 1\n", + " 9 1.1556676e+06 1.29e+05 7.08e+01 -1.0 1.80e+04 - 4.05e-01 2.22e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.6589351e+06 8.92e+04 5.51e+01 -1.0 1.51e+04 - 2.65e-01 3.07e-01h 1\n", + " 11 2.0103379e+06 5.89e+04 3.74e+01 -1.0 1.51e+04 - 3.31e-01 3.40e-01h 1\n", + " 12 2.5084808e+06 5.88e+02 6.52e+01 -1.0 2.55e+04 - 2.57e-01 9.90e-01h 1\n", + " 13 2.0308205e+06 5.67e+00 3.44e+03 -1.0 3.66e+04 - 4.97e-02 9.90e-01f 1\n", + " 14 1.2185569e+06 1.16e-10 3.12e+05 -1.0 3.71e+04 - 1.48e-01 1.00e+00f 1\n", + " 15 9.6159901e+05 1.16e-10 1.73e+06 -1.0 5.06e+04 - 1.33e-02 1.61e-01f 1\n", + " 16 9.5701257e+05 1.75e-10 2.25e+06 -1.0 4.19e+04 - 4.09e-01 3.65e-03f 1\n", + " 17 9.4537070e+05 2.33e-10 2.22e+06 -1.0 6.55e+04 - 7.10e-03 9.25e-03f 1\n", + " 18 9.4000981e+05 2.33e-10 2.19e+06 -1.0 5.36e+04 - 6.68e-04 4.17e-03f 1\n", + " 19 8.9686917e+05 2.62e-10 4.40e+06 -1.0 5.90e+04 - 4.29e-01 3.26e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 8.9035237e+05 2.62e-10 4.48e+06 -1.0 7.07e+04 - 4.03e-02 6.82e-03f 1\n", + " 21 8.1784404e+05 2.91e-10 6.16e+06 -1.0 7.33e+04 - 7.15e-01 7.55e-02f 1\n", + " 22 8.0655799e+05 2.91e-10 6.44e+06 -1.0 2.98e+05 - 3.90e-01 9.34e-03f 1\n", + " 23 4.5377263e+05 2.33e-10 4.95e+06 -1.0 5.19e+05 - 6.42e-03 2.13e-01f 1\n", + " 24 4.5209585e+05 2.33e-10 4.95e+06 -1.0 5.76e+05 - 2.65e-03 9.43e-04f 1\n", + " 25 2.0226212e+05 1.16e-10 3.97e+06 -1.0 4.41e+05 - 5.59e-01 2.34e-01f 1\n", + " 26 1.8564624e+05 2.33e-10 4.00e+06 -1.0 1.90e+05 - 7.55e-01 3.68e-02f 1\n", + " 27 -9.7204619e+03 1.16e-10 7.98e+05 -1.0 9.04e+04 - 1.22e-01 7.90e-01f 1\n", + " 28 -2.0754781e+04 2.33e-10 1.93e+05 -1.0 5.08e+03 - 7.32e-01 7.57e-01f 1\n", + " 29 -2.3378418e+04 2.33e-10 6.44e+03 -1.0 7.07e+03 - 3.62e-01 9.89e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.3346055e+04 2.33e-10 5.15e+03 -1.0 8.01e+03 - 4.21e-01 1.00e+00f 1\n", + " 31 -2.3345194e+04 1.16e-10 8.90e+02 -1.0 1.04e+04 - 8.25e-01 1.00e+00f 1\n", + " 32 -2.3724549e+04 1.16e-10 1.24e+06 -1.7 4.93e+03 - 8.46e-01 1.00e+00f 1\n", + " 33 -2.3722663e+04 1.16e-10 5.33e+05 -1.7 3.19e+04 - 5.69e-01 1.00e+00f 1\n", + " 34 -2.3719256e+04 1.16e-10 1.38e+05 -1.7 4.91e+04 - 7.41e-01 1.00e+00f 1\n", + " 35 -2.3714893e+04 1.16e-10 2.87e+04 -1.7 1.58e+05 - 7.92e-01 1.00e+00f 1\n", + " 36 -2.3707415e+04 1.16e-10 2.00e-07 -1.7 8.76e+04 - 1.00e+00 1.00e+00f 1\n", + " 37 -2.3821452e+04 1.16e-10 1.09e+05 -5.7 3.27e+05 - 8.17e-01 8.71e-01f 1\n", + " 38 -2.3834172e+04 1.16e-10 4.28e+04 -5.7 1.08e+05 - 8.75e-01 6.55e-01f 1\n", + " 39 -2.3840263e+04 1.16e-10 1.13e+04 -5.7 5.63e+04 - 6.75e-01 9.60e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.3840445e+04 2.33e-10 1.62e+03 -5.7 5.08e+03 - 9.88e-01 5.74e-01f 1\n", + " 41 -2.3840569e+04 1.16e-10 8.24e+01 -5.7 2.16e+03 - 9.49e-01 1.00e+00f 1\n", + " 42 -2.3840568e+04 1.16e-10 1.85e-11 -5.7 1.85e-01 - 1.00e+00 1.00e+00h 1\n", + " 43 -2.3840579e+04 1.16e-10 9.24e-13 -7.0 4.84e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 43\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.3840579067741936e+02 -2.3840579067741935e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2625363851870778e-07 1.2625363851870778e-05\n", + "Overall NLP error.......: 1.2625363851870778e-07 1.2625363851870778e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 44\n", + "Number of objective gradient evaluations = 44\n", + "Number of equality constraint evaluations = 44\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 44\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 43\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.028\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 57378.87\n", + "Variable costs: 5870.66\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 284.14\n", + "\n", + "Simulating time_step 2020-07-11 11:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.1141349e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.1229458e+04 1.64e+05 9.90e+01 -1.0 2.67e+04 - 4.43e-04 4.08e-04h 1\n", + " 2 -1.8801636e+04 1.64e+05 9.98e+01 -1.0 2.26e+04 - 4.87e-04 1.46e-03h 1\n", + " 3 -1.0338636e+04 1.63e+05 1.00e+02 -1.0 5.58e+03 - 1.13e-03 3.33e-03h 1\n", + " 4 2.6863668e+04 1.61e+05 1.01e+02 -1.0 3.56e+03 - 3.90e-03 1.40e-02h 1\n", + " 5 2.2354859e+05 1.49e+05 1.04e+02 -1.0 3.26e+03 - 2.21e-02 7.35e-02h 1\n", + " 6 3.4257551e+05 1.42e+05 8.57e+01 -1.0 2.71e+03 - 1.26e-01 4.83e-02h 1\n", + " 7 6.4079222e+05 1.24e+05 7.48e+01 -1.0 2.82e+03 - 3.06e-01 1.27e-01h 1\n", + " 8 1.1629082e+06 9.17e+04 5.54e+01 -1.0 4.04e+03 - 3.54e-01 2.59e-01h 1\n", + " 9 1.6077410e+06 6.27e+04 3.79e+01 -1.0 6.19e+03 - 3.79e-01 3.16e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.9738144e+06 3.47e+04 3.88e+01 -1.0 9.74e+03 - 2.95e-01 4.47e-01h 1\n", + " 11 2.1480951e+06 9.64e+03 3.12e+01 -1.0 1.30e+04 - 3.11e-01 7.22e-01h 1\n", + " 12 2.1463605e+06 9.60e+03 2.56e+01 -1.0 1.57e+04 - 1.78e-01 4.98e-03f 1\n", + " 13 1.6420981e+06 9.58e+01 1.64e+02 -1.0 1.94e+04 - 3.09e-02 9.90e-01f 1\n", + " 14 1.5743628e+06 9.17e+01 6.48e+02 -1.0 5.46e+04 - 1.42e-02 4.30e-02f 1\n", + " 15 1.3995226e+06 8.42e+01 1.51e+03 -1.0 8.74e+04 - 2.98e-02 8.12e-02f 1\n", + " 16 1.3932154e+06 8.39e+01 4.89e+03 -1.0 5.55e+04 - 3.34e-01 4.30e-03f 1\n", + " 17 9.0032587e+05 5.93e+01 3.36e+03 -1.0 7.13e+04 - 2.88e-01 2.93e-01f 1\n", + " 18 8.9492575e+05 5.91e+01 2.71e+04 -1.0 5.19e+04 - 8.69e-01 4.07e-03f 1\n", + " 19 8.5161504e+05 5.76e+01 2.80e+04 -1.0 5.62e+05 - 8.02e-02 2.52e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 5.4602662e+05 4.79e+01 1.86e+04 -1.0 6.06e+05 - 8.86e-04 1.68e-01f 1\n", + " 21 5.4466009e+05 4.79e+01 2.46e+04 -1.0 7.62e+05 - 1.79e-01 6.19e-04f 1\n", + " 22 8.7065541e+04 3.04e+01 1.61e+04 -1.0 5.44e+05 - 3.77e-01 3.64e-01f 1\n", + " 23 3.8750865e+04 2.04e+01 3.05e+04 -1.0 5.76e+04 - 7.00e-01 3.30e-01f 1\n", + " 24 -8.3477681e+03 4.03e+00 3.39e+04 -1.0 7.76e+03 - 2.96e-01 8.02e-01f 1\n", + " 25 -1.6535136e+04 7.14e-01 3.65e+04 -1.0 3.02e+03 - 7.44e-01 8.23e-01f 1\n", + " 26 -1.8308104e+04 1.16e-10 1.18e+06 -1.0 6.62e+03 - 3.39e-01 1.00e+00f 1\n", + " 27 -1.8313087e+04 1.16e-10 2.70e+06 -1.0 7.32e+03 - 6.99e-01 1.00e+00f 1\n", + " 28 -1.8307296e+04 1.16e-10 1.46e+06 -1.0 1.50e+04 - 4.60e-01 1.00e+00f 1\n", + " 29 -1.8303934e+04 2.33e-10 3.22e+05 -1.0 2.01e+04 - 7.80e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -1.8294790e+04 1.16e-10 1.71e+05 -1.0 6.70e+04 - 4.68e-01 1.00e+00f 1\n", + " 31 -1.8283814e+04 1.16e-10 4.57e+04 -1.0 8.97e+04 - 7.32e-01 1.00e+00f 1\n", + " 32 -1.8254341e+04 1.16e-10 1.21e+04 -1.0 3.08e+05 - 7.35e-01 1.00e+00f 1\n", + " 33 -1.8219656e+04 1.75e-10 1.02e+03 -1.0 2.72e+05 - 9.16e-01 1.00e+00f 1\n", + " 34 -1.8689937e+04 1.16e-10 1.38e+05 -1.7 2.02e+05 - 9.83e-01 1.00e+00f 1\n", + " 35 -1.8727417e+04 1.16e-10 2.00e-07 -1.7 3.09e+05 - 1.00e+00 1.00e+00f 1\n", + " 36 -1.8849685e+04 1.16e-10 1.42e+05 -5.7 3.16e+05 - 7.69e-01 8.40e-01f 1\n", + " 37 -1.8865190e+04 1.16e-10 1.27e+04 -5.7 9.79e+04 - 7.56e-01 6.08e-01f 1\n", + " 38 -1.8871586e+04 1.16e-10 5.83e+03 -5.7 6.05e+04 - 5.68e-01 6.58e-01f 1\n", + " 39 -1.8874949e+04 1.16e-10 3.63e+03 -5.7 4.01e+04 - 9.73e-01 8.85e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -1.8875224e+04 2.33e-10 1.64e+03 -5.7 4.65e+03 - 1.00e+00 6.68e-01f 1\n", + " 41 -1.8875339e+04 1.16e-10 1.67e+02 -5.7 1.54e+03 - 9.13e-01 1.00e+00f 1\n", + " 42 -1.8875337e+04 1.16e-10 1.85e-11 -5.7 9.99e-02 - 1.00e+00 1.00e+00f 1\n", + " 43 -1.8875349e+04 1.16e-10 9.24e-13 -7.0 5.66e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 43\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -1.8875349217192968e+02 -1.8875349217192968e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2579202915975551e-07 1.2579202915975551e-05\n", + "Overall NLP error.......: 1.2579202915975551e-07 1.2579202915975551e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 44\n", + "Number of objective gradient evaluations = 44\n", + "Number of equality constraint evaluations = 44\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 44\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 43\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.032\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 56954.87\n", + "Variable costs: 8476.51\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 229.17\n", + "\n", + "Simulating time_step 2020-07-11 12:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -1.6226805e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -1.6315602e+04 2.91e+05 9.90e+01 -1.0 2.60e+04 - 4.43e-04 4.08e-04h 1\n", + " 2 -1.4219584e+04 2.91e+05 9.99e+01 -1.0 2.15e+04 - 4.65e-04 1.46e-03h 1\n", + " 3 -7.4280964e+03 2.90e+05 1.00e+02 -1.0 5.50e+03 - 1.13e-03 3.28e-03h 1\n", + " 4 2.2583138e+04 2.86e+05 1.01e+02 -1.0 4.51e+03 - 3.86e-03 1.38e-02h 1\n", + " 5 3.2068510e+04 2.84e+05 9.76e+01 -1.0 2.24e+04 - 2.16e-02 4.30e-03h 1\n", + " 6 3.8239555e+04 2.84e+05 3.24e+02 -1.0 2.05e+05 - 1.20e-01 2.90e-03h 1\n", + " 7 4.1250763e+05 2.28e+05 2.83e+02 -1.0 2.95e+04 - 3.23e-02 1.97e-01h 1\n", + " 8 4.9653321e+05 2.15e+05 2.26e+02 -1.0 2.47e+04 - 2.16e-01 5.50e-02h 1\n", + " 9 8.6496740e+05 1.60e+05 1.79e+02 -1.0 2.37e+04 - 2.07e-01 2.58e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.8815424e+06 1.60e+03 1.32e+02 -1.0 1.79e+04 - 3.65e-01 9.90e-01h 1\n", + " 11 1.8708447e+06 1.46e+03 3.02e+02 -1.0 1.31e+04 - 2.56e-01 8.43e-02f 1\n", + " 12 1.7549325e+06 3.60e+02 6.70e+02 -1.0 9.79e+03 - 3.80e-01 7.54e-01f 1\n", + " 13 1.5179347e+06 3.31e+00 6.38e+03 -1.0 1.56e+04 - 2.02e-01 9.91e-01f 1\n", + " 14 1.2370469e+06 1.93e-01 5.96e+05 -1.0 1.92e+04 - 2.05e-01 9.42e-01f 1\n", + " 15 7.2736653e+05 3.17e-02 4.74e+06 -1.0 4.30e+04 - 5.11e-02 8.35e-01f 1\n", + " 16 7.1574200e+05 3.15e-02 4.61e+06 -1.0 7.99e+04 - 1.89e-02 8.66e-03f 1\n", + " 17 7.1541042e+05 3.15e-02 2.25e+06 -1.0 8.73e+04 - 2.80e-01 2.94e-04f 1\n", + " 18 6.3168997e+05 2.89e-02 2.56e+06 -1.0 8.08e+04 - 4.15e-03 8.26e-02f 1\n", + " 19 6.2005782e+05 2.84e-02 2.55e+06 -1.0 6.21e+04 - 1.02e-02 1.44e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 4.9253233e+05 2.37e-02 5.86e+05 -1.0 6.16e+04 - 5.98e-01 1.68e-01f 1\n", + " 21 4.9085602e+05 2.36e-02 1.23e+06 -1.0 8.18e+04 - 2.24e-01 2.30e-03f 1\n", + " 22 2.7930961e+05 9.05e-03 7.12e+05 -1.0 1.04e+05 - 7.20e-01 6.16e-01f 1\n", + " 23 2.7665207e+05 9.03e-03 8.12e+05 -1.0 4.39e+05 - 1.30e-01 3.12e-03f 1\n", + " 24 7.2418372e+03 5.23e-03 5.57e+05 -1.0 4.54e+05 - 5.44e-01 4.21e-01f 1\n", + " 25 -1.9132739e+03 3.30e-03 4.54e+05 -1.0 5.66e+03 - 6.74e-01 3.69e-01f 1\n", + " 26 -1.1557611e+04 5.17e-04 9.45e+03 -1.0 1.27e+03 - 3.05e-01 8.43e-01f 1\n", + " 27 -1.2301575e+04 2.91e-04 7.32e+03 -1.0 1.73e+03 - 2.82e-01 4.38e-01f 1\n", + " 28 -1.3383937e+04 5.82e-11 3.39e+04 -1.0 2.29e+03 - 4.18e-01 1.00e+00f 1\n", + " 29 -1.3366002e+04 1.16e-10 1.18e+04 -1.0 3.50e+03 - 6.51e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -1.3359997e+04 1.16e-10 4.44e+03 -1.0 7.87e+03 - 6.25e-01 1.00e+00f 1\n", + " 31 -1.3356603e+04 1.16e-10 1.26e+03 -1.0 1.47e+04 - 7.16e-01 1.00e+00f 1\n", + " 32 -1.3839506e+04 1.16e-10 1.73e+06 -1.7 8.01e+03 - 7.83e-01 1.00e+00f 1\n", + " 33 -1.3837670e+04 2.33e-10 2.40e+05 -1.7 3.21e+04 - 8.61e-01 1.00e+00f 1\n", + " 34 -1.3832972e+04 1.16e-10 1.41e+05 -1.7 2.07e+05 - 4.12e-01 1.00e+00f 1\n", + " 35 -1.3823275e+04 1.16e-10 2.00e-07 -1.7 1.09e+05 - 1.00e+00 1.00e+00f 1\n", + " 36 -1.3956693e+04 2.33e-10 1.46e+05 -5.7 2.93e+05 - 7.90e-01 8.63e-01f 1\n", + " 37 -1.3968325e+04 1.16e-10 2.29e+04 -5.7 9.03e+04 - 7.26e-01 4.96e-01f 1\n", + " 38 -1.3977271e+04 1.16e-10 1.72e+04 -5.7 6.72e+04 - 5.21e-01 7.25e-01f 1\n", + " 39 -1.3980676e+04 1.16e-10 9.42e+01 -5.7 2.98e+04 - 9.60e-01 9.39e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -1.3980843e+04 5.82e-11 2.49e+02 -5.7 1.87e+03 - 8.72e-01 9.29e-01f 1\n", + " 41 -1.3980848e+04 1.16e-10 1.85e-11 -5.7 1.32e+02 - 1.00e+00 1.00e+00f 1\n", + " 42 -1.3980862e+04 1.16e-10 9.24e-13 -7.0 6.24e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 42\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -1.3980861515394159e+02 -1.3980861515394159e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 3.2386309747235142e-07 3.2386309747235142e-05\n", + "Overall NLP error.......: 3.2386309747235142e-07 3.2386309747235142e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 43\n", + "Number of objective gradient evaluations = 43\n", + "Number of equality constraint evaluations = 43\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 43\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 42\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.039\n", + "Total CPU secs in NLP function evaluations = 0.003\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 59754.87\n", + "Variable costs: 13407.67\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 249.60\n", + "\n", + "Simulating time_step 2020-07-11 13:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -1.1381705e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -1.1469106e+04 1.64e+05 9.90e+01 -1.0 2.60e+04 - 4.43e-04 4.08e-04h 1\n", + " 2 -1.0104721e+04 1.64e+05 9.98e+01 -1.0 2.15e+04 - 4.87e-04 1.46e-03h 1\n", + " 3 -4.8330422e+03 1.63e+05 1.00e+02 -1.0 5.46e+03 - 1.13e-03 3.33e-03h 1\n", + " 4 1.2140140e+04 1.61e+05 1.01e+02 -1.0 2.22e+03 - 3.90e-03 1.00e-02h 1\n", + " 5 7.0948377e+04 1.56e+05 1.01e+02 -1.0 2.24e+03 - 1.75e-02 3.39e-02h 1\n", + " 6 1.9570416e+05 1.44e+05 9.14e+01 -1.0 2.29e+03 - 8.32e-02 7.42e-02h 1\n", + " 7 4.0532870e+05 1.25e+05 7.54e+01 -1.0 2.52e+03 - 2.40e-01 1.36e-01h 1\n", + " 8 6.0157587e+05 1.06e+05 6.43e+01 -1.0 3.53e+03 - 3.05e-01 1.47e-01h 1\n", + " 9 1.6941179e+06 1.06e+03 4.59e+01 -1.0 4.93e+03 - 5.03e-01 9.90e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.5711035e+06 1.71e+02 7.87e+02 -1.0 9.55e+03 - 3.29e-01 8.39e-01f 1\n", + " 11 1.3624472e+06 1.55e+00 7.30e+03 -1.0 1.28e+04 - 2.28e-01 9.91e-01f 1\n", + " 12 1.0971861e+06 1.16e-10 7.53e+05 -1.0 1.63e+04 - 2.13e-01 1.00e+00f 1\n", + " 13 6.0578291e+05 1.16e-10 8.13e+06 -1.0 4.17e+04 - 5.25e-02 8.73e-01f 1\n", + " 14 5.9442663e+05 1.75e-10 7.97e+06 -1.0 7.81e+04 - 1.85e-02 8.82e-03f 1\n", + " 15 5.9411012e+05 2.33e-10 4.22e+06 -1.0 8.74e+04 - 4.12e-01 2.88e-04f 1\n", + " 16 5.1451742e+05 2.33e-10 4.16e+06 -1.0 7.87e+04 - 2.91e-02 8.60e-02f 1\n", + " 17 5.0957380e+05 2.33e-10 3.34e+05 -1.0 4.25e+04 - 8.69e-01 2.39e-02f 1\n", + " 18 2.4706025e+05 2.33e-10 2.48e+05 -1.0 3.65e+05 - 2.95e-01 2.83e-01f 1\n", + " 19 2.4439935e+05 2.33e-10 2.48e+05 -1.0 3.83e+05 - 5.36e-03 3.17e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.5743813e+04 2.33e-10 2.64e+05 -1.0 3.80e+05 - 5.90e-01 3.67e-01f 1\n", + " 21 9.4100599e+03 5.82e-11 1.89e+05 -1.0 3.69e+03 - 6.77e-01 4.51e-01f 1\n", + " 22 -5.8332890e+03 1.16e-10 4.84e+03 -1.0 1.37e+03 - 3.63e-01 8.60e-01f 1\n", + " 23 -6.5984230e+03 1.16e-10 4.80e+03 -1.0 1.08e+03 - 2.82e-01 3.19e-01f 1\n", + " 24 -8.3547087e+03 1.16e-10 1.82e+04 -1.0 2.23e+03 - 3.71e-01 1.00e+00f 1\n", + " 25 -8.3321262e+03 2.33e-10 8.62e+03 -1.0 2.17e+03 - 5.25e-01 1.00e+00f 1\n", + " 26 -8.3288268e+03 1.16e-10 5.37e+02 -1.0 4.54e+03 - 9.38e-01 1.00e+00f 1\n", + " 27 -8.8655167e+03 1.16e-10 3.31e+06 -1.7 1.29e+04 - 5.86e-01 1.00e+00f 1\n", + " 28 -8.8630222e+03 1.16e-10 1.07e+06 -1.7 2.76e+04 - 6.76e-01 1.00e+00f 1\n", + " 29 -8.8583720e+03 1.16e-10 4.78e+05 -1.7 6.43e+04 - 5.54e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -8.8516914e+03 2.33e-10 5.84e+04 -1.7 7.96e+04 - 8.78e-01 1.00e+00f 1\n", + " 31 -8.8349803e+03 2.33e-10 1.24e+04 -1.7 2.10e+05 - 7.88e-01 1.00e+00f 1\n", + " 32 -8.8317856e+03 2.33e-10 2.00e-07 -1.7 3.07e+04 - 1.00e+00 1.00e+00f 1\n", + " 33 -8.9772464e+03 5.82e-11 1.52e+05 -5.7 3.58e+05 - 7.25e-01 8.01e-01f 1\n", + " 34 -8.9984290e+03 1.16e-10 5.83e+04 -5.7 1.21e+05 - 7.63e-01 5.26e-01f 1\n", + " 35 -9.0105485e+03 1.16e-10 1.21e+04 -5.7 8.52e+04 - 5.63e-01 6.34e-01f 1\n", + " 36 -9.0167505e+03 1.16e-10 9.95e+03 -5.7 5.44e+04 - 9.71e-01 8.32e-01f 1\n", + " 37 -9.0177646e+03 1.16e-10 2.04e+03 -5.7 9.22e+03 - 1.00e+00 8.25e-01f 1\n", + " 38 -9.0179353e+03 1.16e-10 3.15e+02 -5.7 1.61e+03 - 8.85e-01 9.87e-01f 1\n", + " 39 -9.0179309e+03 1.16e-10 1.85e-11 -5.7 2.10e+01 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -9.0179460e+03 1.16e-10 9.38e-13 -7.0 6.71e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 40\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -9.0179459914081477e+01 -9.0179459914081472e+03\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 3.1540423243057663e-07 3.1540423243057659e-05\n", + "Overall NLP error.......: 3.1540423243057663e-07 3.1540423243057659e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 41\n", + "Number of objective gradient evaluations = 41\n", + "Number of equality constraint evaluations = 41\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 41\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 40\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.029\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 60294.87\n", + "Variable costs: 18957.18\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 258.69\n", + "\n", + "Simulating time_step 2020-07-11 14:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -6.4694765e+03 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -6.5561954e+03 1.64e+05 9.90e+01 -1.0 2.60e+04 - 4.43e-04 4.08e-04h 1\n", + " 2 -5.5323424e+03 1.64e+05 9.98e+01 -1.0 2.15e+04 - 4.87e-04 1.46e-03h 1\n", + " 3 -1.8199785e+03 1.63e+05 1.00e+02 -1.0 5.46e+03 - 1.13e-03 3.33e-03h 1\n", + " 4 6.0568105e+03 1.62e+05 1.00e+02 -1.0 5.20e+03 - 3.90e-03 6.44e-03h 1\n", + " 5 3.4295406e+04 1.58e+05 1.00e+02 -1.0 4.58e+03 - 1.03e-02 2.22e-02h 1\n", + " 6 1.1864383e+05 1.48e+05 9.24e+01 -1.0 2.98e+03 - 7.23e-02 6.57e-02h 1\n", + " 7 3.0942415e+05 1.24e+05 8.60e+01 -1.0 2.65e+03 - 1.14e-01 1.60e-01h 1\n", + " 8 7.9828692e+05 6.24e+04 6.77e+01 -1.0 2.95e+03 - 3.45e-01 4.98e-01h 1\n", + " 9 1.1069009e+06 1.63e+04 4.49e+01 -1.0 4.46e+03 - 4.80e-01 7.39e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.1015641e+06 1.50e+04 6.27e+01 -1.0 8.24e+03 - 1.75e-01 8.00e-02f 1\n", + " 11 1.1014191e+06 1.49e+04 4.81e+01 -1.0 9.80e+03 - 3.84e-01 3.51e-03f 1\n", + " 12 9.9547116e+05 1.49e+02 2.12e+02 -1.0 1.52e+04 - 1.77e-01 9.90e-01f 1\n", + " 13 8.3749498e+05 6.06e+01 4.82e+03 -1.0 1.38e+04 - 1.58e-01 5.93e-01f 1\n", + " 14 3.3551655e+05 4.44e-01 2.51e+04 -1.0 3.53e+04 - 6.34e-02 9.93e-01f 1\n", + " 15 1.9785047e+05 3.94e-01 2.86e+05 -1.0 7.12e+04 - 1.31e-02 1.11e-01f 1\n", + " 16 1.9516404e+05 3.93e-01 1.25e+06 -1.0 4.28e+04 - 5.28e-01 3.69e-03f 1\n", + " 17 1.8348370e+05 3.86e-01 2.42e+06 -1.0 5.19e+04 - 4.99e-01 1.84e-02f 1\n", + " 18 1.7662128e+05 3.73e-01 3.89e+06 -1.0 9.67e+04 - 7.59e-01 3.35e-02f 1\n", + " 19 8.0308015e+04 2.86e-01 2.64e+06 -1.0 2.81e+05 - 3.15e-02 2.33e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.9472435e+04 2.85e-01 2.63e+06 -1.0 3.12e+05 - 6.39e-04 1.39e-03f 1\n", + " 21 5.0546572e+03 1.16e-10 4.05e+05 -1.0 7.60e+03 - 7.98e-01 1.00e+00f 1\n", + " 22 1.0290464e+03 2.33e-10 1.60e+06 -1.0 2.95e+03 - 2.93e-01 6.69e-01f 1\n", + " 23 6.2179795e+02 1.16e-10 1.37e+06 -1.0 1.05e+03 - 2.27e-01 3.45e-01f 1\n", + " 24 -1.7085986e+02 1.16e-10 1.29e+06 -1.0 1.27e+03 - 3.67e-01 9.14e-01f 1\n", + " 25 -2.0658017e+02 8.73e-11 3.30e+05 -1.0 1.83e+03 - 7.56e-01 1.00e+00f 1\n", + " 26 -1.9961667e+02 8.73e-11 2.01e+05 -1.0 6.36e+03 - 3.91e-01 1.00e+00f 1\n", + " 27 -1.9705002e+02 5.82e-11 4.16e+04 -1.0 8.69e+03 - 7.93e-01 1.00e+00f 1\n", + " 28 -1.8928418e+02 1.16e-10 2.71e+04 -1.0 3.53e+04 - 3.48e-01 1.00e+00f 1\n", + " 29 -1.8337474e+02 1.16e-10 4.06e+03 -1.0 4.78e+04 - 8.50e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -1.6396799e+02 5.82e-11 2.43e+03 -1.0 1.78e+05 - 4.01e-01 1.00e+00f 1\n", + " 31 -1.3586539e+02 1.16e-10 1.55e+02 -1.0 2.53e+05 - 9.36e-01 1.00e+00f 1\n", + " 32 -8.7822718e+02 5.82e-11 2.08e+06 -2.5 1.62e+05 - 7.86e-01 1.00e+00f 1\n", + " 33 -9.1251855e+02 1.16e-10 3.25e+05 -2.5 3.72e+05 - 8.43e-01 7.92e-01f 1\n", + " 34 -9.2527346e+02 1.16e-10 3.17e+00 -2.5 1.74e+05 - 1.00e+00 8.41e-01f 1\n", + " 35 -9.2672799e+02 5.82e-11 2.83e-08 -2.5 3.58e+04 - 1.00e+00 1.00e+00f 1\n", + " 36 -9.4908298e+02 1.16e-10 1.34e+04 -5.7 7.90e+04 - 7.15e-01 7.63e-01f 1\n", + " 37 -9.5581382e+02 1.16e-10 4.30e+03 -5.7 3.81e+04 - 9.79e-01 9.11e-01f 1\n", + " 38 -9.5637544e+02 1.16e-10 6.14e+02 -5.7 3.49e+03 - 1.00e+00 8.98e-01f 1\n", + " 39 -9.5640119e+02 5.82e-11 1.85e-11 -5.7 3.56e+02 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -9.5641835e+02 1.16e-10 9.38e-13 -7.0 7.08e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 40\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -9.5641834903014598e+00 -9.5641834903014592e+02\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 3.7622542061400369e-07 3.7622542061400371e-05\n", + "Overall NLP error.......: 3.7622542061400369e-07 3.7622542061400371e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 41\n", + "Number of objective gradient evaluations = 41\n", + "Number of equality constraint evaluations = 41\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 41\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 40\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.031\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 56966.87\n", + "Variable costs: 39260.33\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 844.03\n", + "\n", + "Simulating time_step 2020-07-11 15:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 1.5426635e+03 1.02e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 1.3793404e+03 1.02e+05 9.91e+01 -1.0 2.60e+04 - 9.00e-04 7.68e-04f 1\n", + " 2 2.8797230e+03 1.01e+05 9.99e+01 -1.0 6.49e+03 - 4.91e-04 2.68e-03h 1\n", + " 3 6.2546755e+03 1.01e+05 1.00e+02 -1.0 4.01e+03 - 2.67e-03 4.80e-03h 1\n", + " 4 2.0141841e+04 9.90e+04 1.01e+02 -1.0 3.09e+03 - 6.95e-03 1.76e-02h 1\n", + " 5 7.3668672e+04 9.27e+04 9.70e+01 -1.0 2.24e+03 - 4.96e-02 6.42e-02h 1\n", + " 6 1.5208089e+05 8.31e+04 8.21e+01 -1.0 2.38e+03 - 1.30e-01 1.03e-01h 1\n", + " 7 5.3661118e+05 3.52e+04 7.58e+01 -1.0 2.80e+03 - 3.23e-01 5.76e-01h 1\n", + " 8 6.7085023e+05 1.24e+04 4.39e+01 -1.0 4.20e+03 - 4.91e-01 6.47e-01h 1\n", + " 9 6.5664765e+05 1.04e+04 3.65e+01 -1.0 8.34e+03 - 1.66e-01 1.63e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 6.5639924e+05 1.04e+04 5.08e+01 -1.0 9.50e+03 - 4.32e-01 2.68e-03f 1\n", + " 11 5.2840387e+05 1.04e+02 1.36e+02 -1.0 1.59e+04 - 1.82e-01 9.90e-01f 1\n", + " 12 4.4981086e+05 5.80e+01 3.09e+03 -1.0 1.41e+04 - 1.29e-01 4.40e-01f 1\n", + " 13 2.8031192e+05 4.80e-01 1.66e+04 -1.0 1.25e+04 - 4.52e-02 9.92e-01f 1\n", + " 14 1.1470121e+05 3.90e-01 3.09e+05 -1.0 8.01e+04 - 1.84e-02 1.88e-01f 1\n", + " 15 1.1305148e+05 3.89e-01 3.15e+05 -1.0 7.51e+04 - 3.04e-01 2.00e-03f 1\n", + " 16 1.1045367e+05 3.76e-01 2.03e+06 -1.0 6.13e+03 - 9.28e-01 3.35e-02f 1\n", + " 17 6.7049220e+03 6.67e-03 2.97e+05 -1.0 8.28e+03 - 7.75e-01 9.82e-01f 1\n", + " 18 5.3329117e+03 1.73e-03 2.87e+06 -1.0 5.39e+02 - 2.69e-01 7.41e-01f 1\n", + " 19 5.2356241e+03 1.20e-03 2.36e+06 -1.0 7.94e+02 - 2.26e-01 3.05e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 4.8149845e+03 5.82e-11 2.29e+06 -1.0 1.15e+03 - 3.67e-01 1.00e+00f 1\n", + " 21 4.8095922e+03 5.82e-11 1.40e+06 -1.0 1.14e+03 - 3.99e-01 1.00e+00f 1\n", + " 22 4.8132200e+03 1.16e-10 2.10e+05 -1.0 1.94e+03 - 8.50e-01 1.00e+00f 1\n", + " 23 4.8131525e+03 1.16e-10 1.15e+05 -1.0 1.30e+04 - 4.54e-01 1.00e+00f 1\n", + " 24 4.8204368e+03 5.82e-11 4.71e+04 -1.0 2.23e+04 - 5.90e-01 1.00e+00f 1\n", + " 25 4.8269327e+03 1.16e-10 1.72e+04 -1.0 4.96e+04 - 6.35e-01 1.00e+00f 1\n", + " 26 4.8377110e+03 5.82e-11 4.61e+03 -1.0 9.56e+04 - 7.32e-01 1.00e+00f 1\n", + " 27 4.8720110e+03 7.28e-11 1.94e+03 -1.0 2.97e+05 - 5.80e-01 1.00e+00f 1\n", + " 28 4.2235367e+03 5.82e-11 2.00e-07 -1.7 1.12e+04 - 1.00e+00 1.00e+00f 1\n", + " 29 4.0388200e+03 5.82e-11 7.58e+05 -5.7 3.13e+05 - 5.01e-01 8.79e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 4.0248266e+03 1.16e-10 3.04e+05 -5.7 1.39e+05 - 5.59e-01 4.32e-01f 1\n", + " 31 4.0136165e+03 5.82e-11 1.64e+04 -5.7 1.14e+05 - 8.83e-01 5.05e-01f 1\n", + " 32 4.0048090e+03 1.16e-10 1.48e+04 -5.7 7.46e+04 - 5.25e-01 8.59e-01f 1\n", + " 33 4.0033080e+03 5.82e-11 7.93e+02 -5.7 1.71e+04 - 1.00e+00 9.17e-01f 1\n", + " 34 4.0032291e+03 5.82e-11 1.85e-11 -5.7 1.42e+03 - 1.00e+00 1.00e+00f 1\n", + " 35 4.0032100e+03 5.82e-11 9.38e-13 -7.0 7.39e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 35\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 4.0032100366806667e+01 4.0032100366806667e+03\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 1.6168794698185390e-12 5.8207660913467407e-11\n", + "Complementarity.........: 4.0870853408980623e-07 4.0870853408980623e-05\n", + "Overall NLP error.......: 4.0870853408980623e-07 4.0870853408980623e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 36\n", + "Number of objective gradient evaluations = 36\n", + "Number of equality constraint evaluations = 36\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 36\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 35\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.062\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 93995.12\n", + "Variable costs: 35779.55\n", + "\n", + "Number on/offs: 1\n", + "Sum on/off ramps: 170.00\n", + "Sum nominal ramps: 128.62\n", + "\n", + "Simulating time_step 2020-07-11 16:00\n", + "\n", + "Creating and solving SCED to determine UC initial conditions for date: 2020-07-12 hour: 0\n", + "Using persistent forecast error model when projecting demand and renewables in SCED\n", + "\n", + "\n", + "Extracting scenario to simulate\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.4516080e+03 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.2929884e+03 1.64e+05 9.91e+01 -1.0 2.53e+04 - 8.71e-04 7.47e-04f 1\n", + " 2 7.7620286e+03 1.63e+05 9.99e+01 -1.0 6.54e+03 - 4.74e-04 2.63e-03h 1\n", + " 3 1.6642498e+04 1.61e+05 1.02e+02 -1.0 3.64e+03 - 2.63e-03 1.29e-02h 1\n", + " 4 7.2921088e+04 1.50e+05 1.05e+02 -1.0 1.34e+03 - 1.84e-02 6.98e-02h 1\n", + " 5 1.0159409e+05 1.44e+05 8.74e+01 -1.0 2.09e+03 - 1.11e-01 4.04e-02h 1\n", + " 6 5.6583653e+05 4.75e+04 1.08e+02 -1.0 2.66e+03 - 2.12e-01 6.70e-01h 1\n", + " 7 6.4138926e+05 2.85e+04 4.56e+01 -1.0 3.39e+03 - 5.40e-01 4.00e-01h 1\n", + " 8 6.8090129e+05 2.85e+02 4.66e+02 -1.0 7.29e+03 - 1.29e-01 9.90e-01h 1\n", + " 9 5.7532450e+05 2.68e+00 2.21e+03 -1.0 7.89e+03 - 6.07e-01 9.91e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.8009060e+05 5.82e-11 5.15e+05 -1.0 1.54e+04 - 1.05e-01 1.00e+00f 1\n", + " 11 2.4828636e+05 5.82e-11 9.36e+06 -1.0 9.53e+03 - 5.78e-02 1.00e+00f 1\n", + " 12 8.7058494e+04 5.82e-11 9.18e+06 -1.0 7.89e+04 - 1.90e-02 1.90e-01f 1\n", + " 13 8.5452625e+04 1.16e-10 6.39e+06 -1.0 7.51e+04 - 3.05e-01 2.00e-03f 1\n", + " 14 8.3600226e+04 5.82e-11 3.41e+05 -1.0 4.31e+03 - 9.47e-01 3.41e-02f 1\n", + " 15 1.1021049e+04 5.82e-11 9.70e+04 -1.0 5.78e+03 - 7.15e-01 9.87e-01f 1\n", + " 16 1.0318944e+04 5.82e-11 6.69e+04 -1.0 2.25e+03 - 3.10e-01 6.38e-01f 1\n", + " 17 1.0205046e+04 5.82e-11 5.17e+04 -1.0 2.23e+03 - 2.27e-01 3.72e-01f 1\n", + " 18 9.8757503e+03 5.82e-11 3.31e+04 -1.0 2.42e+03 - 3.60e-01 1.00e+00f 1\n", + " 19 9.8490476e+03 5.82e-11 9.85e+03 -1.0 2.64e+03 - 7.03e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 9.8471665e+03 5.82e-11 5.36e+03 -1.0 5.07e+03 - 4.56e-01 1.00e+00f 1\n", + " 21 9.8533907e+03 5.82e-11 1.21e+03 -1.0 8.31e+03 - 7.74e-01 1.00e+00f 1\n", + " 22 9.1538767e+03 5.82e-11 2.10e+06 -1.7 7.07e+03 - 7.37e-01 1.00e+00f 1\n", + " 23 9.1576104e+03 5.82e-11 3.26e+05 -1.7 2.43e+04 - 8.45e-01 1.00e+00f 1\n", + " 24 9.1673315e+03 5.82e-11 2.10e+05 -1.7 1.05e+05 - 3.57e-01 1.00e+00f 1\n", + " 25 9.1773468e+03 5.82e-11 5.79e+04 -1.7 7.91e+04 - 7.24e-01 1.00e+00f 1\n", + " 26 9.1933911e+03 5.82e-11 2.00e-07 -1.7 1.46e+05 - 1.00e+00 1.00e+00f 1\n", + " 27 8.9956198e+03 5.82e-11 9.45e+05 -5.7 1.45e+05 - 5.27e-01 9.99e-01f 1\n", + " 28 8.9850975e+03 5.82e-11 2.17e+05 -5.7 1.72e+05 - 7.70e-01 5.50e-01f 1\n", + " 29 8.9759279e+03 5.82e-11 9.35e+04 -5.7 1.06e+05 - 5.70e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 8.9751893e+03 5.82e-11 2.45e+03 -5.7 1.38e+04 - 9.74e-01 9.79e-01f 1\n", + " 31 8.9751684e+03 5.82e-11 1.85e-11 -5.7 6.14e+02 - 1.00e+00 1.00e+00f 1\n", + " 32 8.9751493e+03 5.82e-11 9.38e-13 -7.0 7.69e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 32\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 8.9751493191720016e+01 8.9751493191720019e+03\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 1.2652992181878229e-07 1.2652992181878228e-05\n", + "Overall NLP error.......: 1.2652992181878229e-07 1.2652992181878228e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 33\n", + "Number of objective gradient evaluations = 33\n", + "Number of equality constraint evaluations = 33\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 33\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 32\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.039\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 1.1372859e+04 1.51e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 1.1143087e+04 1.51e+05 9.91e+01 -1.0 6.66e+03 - 1.35e-03 1.07e-03f 1\n", + " 2 1.1576877e+04 1.51e+05 9.95e+01 -1.0 5.53e+03 - 1.44e-03 3.66e-03h 1\n", + " 3 1.5083404e+04 1.48e+05 9.70e+01 -1.0 1.32e+03 - 7.52e-01 1.49e-02h 1\n", + " 4 2.8841592e+05 1.48e+03 3.33e+02 -1.0 5.25e+03 - 1.99e-02 9.90e-01h 1\n", + " 5 2.6096695e+05 1.03e+02 6.22e+02 -1.0 3.30e+03 - 3.21e-01 9.31e-01f 1\n", + " 6 2.2930552e+05 8.78e-01 9.78e+03 -1.0 3.26e+03 - 3.27e-01 9.91e-01f 1\n", + " 7 2.0255343e+05 5.82e-11 1.25e+06 -1.0 2.58e+03 - 1.49e-01 1.00e+00f 1\n", + " 8 1.5332539e+05 5.82e-11 9.37e+06 -1.0 3.51e+03 - 4.16e-02 1.00e+00f 1\n", + " 9 2.2707795e+04 1.16e-10 8.98e+06 -1.0 8.71e+04 - 4.17e-02 1.48e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.1401013e+04 5.82e-11 1.96e+05 -1.0 7.64e+04 - 9.78e-01 1.69e-03f 1\n", + " 11 1.9619836e+04 5.82e-11 5.75e+04 -1.0 1.02e+03 - 7.06e-01 1.75e-01f 1\n", + " 12 1.3022725e+04 5.82e-11 5.18e+04 -1.0 1.60e+03 - 9.87e-02 7.68e-01f 1\n", + " 13 1.2163242e+04 5.82e-11 2.26e+04 -1.0 5.06e+02 - 5.63e-01 4.64e-01f 1\n", + " 14 1.1101557e+04 5.82e-11 1.74e+04 -1.0 2.37e+03 - 2.31e-01 1.00e+00f 1\n", + " 15 1.1070424e+04 5.82e-11 5.75e+03 -1.0 2.71e+03 - 6.70e-01 1.00e+00f 1\n", + " 16 1.1069873e+04 5.82e-11 2.51e+03 -1.0 8.12e+03 - 5.63e-01 1.00e+00f 1\n", + " 17 1.1075318e+04 8.73e-11 9.34e+02 -1.0 1.80e+04 - 6.28e-01 1.00e+00f 1\n", + " 18 1.0375084e+04 5.82e-11 1.06e+06 -1.7 8.86e+03 - 8.67e-01 1.00e+00f 1\n", + " 19 1.0381324e+04 5.82e-11 3.63e+05 -1.7 5.50e+04 - 6.57e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.0392374e+04 5.82e-11 8.51e+04 -1.7 9.44e+04 - 7.66e-01 1.00e+00f 1\n", + " 21 1.0412447e+04 5.82e-11 1.52e+04 -1.7 1.79e+05 - 8.21e-01 1.00e+00f 1\n", + " 22 1.0415611e+04 5.82e-11 2.00e-07 -1.7 5.60e+04 - 1.00e+00 1.00e+00f 1\n", + " 23 1.0224931e+04 5.82e-11 8.08e+05 -5.7 8.79e+04 - 5.95e-01 9.99e-01f 1\n", + " 24 1.0206474e+04 5.82e-11 3.43e+05 -5.7 2.04e+05 - 5.76e-01 6.88e-01f 1\n", + " 25 1.0197647e+04 5.82e-11 2.50e+05 -5.7 9.19e+04 - 2.73e-01 1.00e+00f 1\n", + " 26 1.0196440e+04 5.82e-11 4.53e+03 -5.7 2.49e+04 - 9.82e-01 1.00e+00f 1\n", + " 27 1.0196429e+04 5.82e-11 1.85e-11 -5.7 2.19e+02 - 1.00e+00 1.00e+00f 1\n", + " 28 1.0196410e+04 5.82e-11 9.38e-13 -7.0 7.82e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 28\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 1.0196409881356604e+02 1.0196409881356603e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 1.2653017759630835e-07 1.2653017759630835e-05\n", + "Overall NLP error.......: 1.2653017759630835e-07 1.2653017759630835e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 29\n", + "Number of objective gradient evaluations = 29\n", + "Number of equality constraint evaluations = 29\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 29\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 28\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.026\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 1.2593830e+04 5.00e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 1.2232432e+04 4.99e+03 9.92e+01 -1.0 6.66e+03 - 2.47e-03 1.68e-03f 1\n", + " 2 1.2524589e+04 4.92e+03 9.92e+01 -1.0 1.37e+03 - 3.14e-03 1.39e-02h 1\n", + " 3 4.2533268e+04 4.02e+03 7.95e+01 -1.0 1.32e+03 - 8.46e-01 1.84e-01h 1\n", + " 4 8.6780028e+04 1.40e+03 2.73e+01 -1.0 6.41e+03 - 3.06e-01 6.52e-01h 1\n", + " 5 7.2708511e+04 1.40e+01 9.00e+00 -1.0 6.14e+03 - 8.99e-01 9.90e-01f 1\n", + " 6 1.3911587e+04 1.35e-01 3.95e+02 -1.0 6.04e+03 - 8.80e-01 9.90e-01f 1\n", + " 7 1.2695665e+04 2.44e-02 2.05e+05 -1.0 4.76e+02 - 2.45e-01 8.19e-01f 1\n", + " 8 1.2680758e+04 1.76e-02 2.25e+05 -1.0 8.94e+02 - 2.34e-01 2.80e-01f 1\n", + " 9 1.2396100e+04 1.64e-04 1.32e+06 -1.0 1.05e+03 - 3.63e-01 9.91e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.2381282e+04 5.82e-11 8.03e+06 -1.0 8.85e+02 - 5.22e-02 1.00e+00f 1\n", + " 11 1.2365151e+04 5.82e-11 1.84e+06 -1.0 9.84e+02 - 7.78e-01 1.00e+00f 1\n", + " 12 1.2320614e+04 5.82e-11 8.71e+05 -1.0 4.79e+03 - 5.28e-01 1.00e+00f 1\n", + " 13 1.2348052e+04 5.82e-11 3.49e+05 -1.0 9.67e+03 - 6.00e-01 1.00e+00f 1\n", + " 14 1.2345900e+04 5.82e-11 1.39e+05 -1.0 2.35e+04 - 6.02e-01 1.00e+00f 1\n", + " 15 1.2355958e+04 5.82e-11 5.68e+04 -1.0 5.35e+04 - 5.91e-01 1.00e+00f 1\n", + " 16 1.2366890e+04 5.82e-11 1.70e+04 -1.0 9.65e+04 - 7.01e-01 1.00e+00f 1\n", + " 17 1.2378974e+04 5.82e-11 5.44e+03 -1.0 1.73e+05 - 6.79e-01 5.15e-01f 1\n", + " 18 1.2387953e+04 5.82e-11 7.90e-01 -1.0 8.46e+04 - 1.00e+00 7.83e-01f 1\n", + " 19 1.1437620e+04 5.82e-11 9.37e+05 -5.7 9.06e+03 - 9.05e-01 9.98e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.1416954e+04 5.82e-11 9.09e+05 -5.7 2.09e+05 - 3.99e-02 5.75e-01f 1\n", + " 21 1.1400905e+04 5.82e-11 5.00e+04 -5.7 1.38e+05 - 9.44e-01 8.71e-01f 1\n", + " 22 1.1397625e+04 5.82e-11 6.56e+03 -5.7 2.53e+04 - 8.71e-01 9.99e-01f 1\n", + " 23 1.1397624e+04 5.82e-11 1.85e-11 -5.7 3.32e+01 - 1.00e+00 1.00e+00f 1\n", + " 24 1.1397603e+04 5.82e-11 9.38e-13 -7.0 8.53e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 24\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 1.1397603367955345e+02 1.1397603367955346e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 8.0843973490926950e-13 5.8207660913467407e-11\n", + "Complementarity.........: 1.2661749934702213e-07 1.2661749934702213e-05\n", + "Overall NLP error.......: 1.2661749934702213e-07 1.2661749934702213e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 25\n", + "Number of objective gradient evaluations = 25\n", + "Number of equality constraint evaluations = 25\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 25\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 24\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.018\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 1.3794734e+04 5.00e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 1.3433337e+04 4.99e+03 9.92e+01 -1.0 6.66e+03 - 2.47e-03 1.68e-03f 1\n", + " 2 1.3725502e+04 4.92e+03 9.92e+01 -1.0 1.37e+03 - 3.14e-03 1.39e-02h 1\n", + " 3 4.3734106e+04 4.02e+03 7.95e+01 -1.0 1.32e+03 - 8.46e-01 1.84e-01h 1\n", + " 4 8.7982007e+04 1.40e+03 2.73e+01 -1.0 6.41e+03 - 3.06e-01 6.52e-01h 1\n", + " 5 7.3980349e+04 1.40e+01 9.00e+00 -1.0 6.14e+03 - 8.99e-01 9.90e-01f 1\n", + " 6 1.5187644e+04 1.35e-01 3.95e+02 -1.0 6.04e+03 - 8.80e-01 9.90e-01f 1\n", + " 7 1.3983251e+04 2.44e-02 2.05e+05 -1.0 4.75e+02 - 2.46e-01 8.19e-01f 1\n", + " 8 1.3969211e+04 1.76e-02 2.25e+05 -1.0 8.92e+02 - 2.34e-01 2.80e-01f 1\n", + " 9 1.3686905e+04 1.50e-04 1.33e+06 -1.0 1.05e+03 - 3.63e-01 9.91e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.3668184e+04 5.82e-11 8.05e+06 -1.0 8.91e+02 - 5.21e-02 1.00e+00f 1\n", + " 11 1.3645748e+04 5.82e-11 1.95e+06 -1.0 9.98e+02 - 7.66e-01 1.00e+00f 1\n", + " 12 1.3587581e+04 5.82e-11 8.90e+05 -1.0 4.66e+03 - 5.43e-01 1.00e+00f 1\n", + " 13 1.3620332e+04 5.82e-11 3.68e+05 -1.0 9.69e+03 - 5.87e-01 1.00e+00f 1\n", + " 14 1.3616526e+04 5.82e-11 1.41e+05 -1.0 2.29e+04 - 6.16e-01 1.00e+00f 1\n", + " 15 1.3627429e+04 5.82e-11 5.98e+04 -1.0 5.36e+04 - 5.76e-01 1.00e+00f 1\n", + " 16 1.3634367e+04 5.82e-11 1.44e+04 -1.0 8.20e+04 - 7.59e-01 6.96e-01f 1\n", + " 17 1.3639301e+04 5.82e-11 4.89e+00 -1.0 6.68e+04 - 1.00e+00 4.65e-01f 1\n", + " 18 1.2620643e+04 5.82e-11 4.94e+05 -3.8 2.56e+03 - 9.49e-01 9.99e-01f 1\n", + " 19 1.2601594e+04 5.82e-11 3.33e+05 -3.8 1.24e+05 - 3.43e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.2600898e+04 5.82e-11 1.50e-09 -3.8 5.49e+03 - 1.00e+00 1.00e+00f 1\n", + " 21 1.2598852e+04 5.82e-11 1.70e+02 -5.7 7.15e+03 - 9.64e-01 9.52e-01f 1\n", + " 22 1.2598821e+04 5.82e-11 1.85e-11 -5.7 3.85e+02 - 1.00e+00 1.00e+00f 1\n", + " 23 1.2598797e+04 5.82e-11 9.38e-13 -7.0 8.28e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 23\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 1.2598797028437768e+02 1.2598797028437768e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 3.8302652126068481e-07 3.8302652126068478e-05\n", + "Overall NLP error.......: 3.8302652126068481e-07 3.8302652126068478e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 24\n", + "Number of objective gradient evaluations = 24\n", + "Number of equality constraint evaluations = 24\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 24\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 23\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.032\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 1.4995638e+04 5.00e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 1.4634242e+04 4.99e+03 9.92e+01 -1.0 6.66e+03 - 2.47e-03 1.68e-03f 1\n", + " 2 1.4927637e+04 4.92e+03 9.92e+01 -1.0 1.37e+03 - 3.14e-03 1.40e-02h 1\n", + " 3 4.3942550e+04 4.05e+03 8.01e+01 -1.0 1.32e+03 - 8.47e-01 1.77e-01h 1\n", + " 4 8.8856909e+04 1.41e+03 2.74e+01 -1.0 6.42e+03 - 2.96e-01 6.53e-01h 1\n", + " 5 7.5585336e+04 1.41e+01 8.95e+00 -1.0 6.09e+03 - 9.00e-01 9.90e-01f 1\n", + " 6 1.6487042e+04 1.36e-01 3.90e+02 -1.0 6.07e+03 - 8.81e-01 9.90e-01f 1\n", + " 7 1.5329995e+04 2.94e-02 1.91e+05 -1.0 4.73e+02 - 2.46e-01 7.83e-01f 1\n", + " 8 1.5324072e+04 2.24e-02 3.51e+05 -1.0 1.05e+03 - 5.84e-01 2.39e-01f 1\n", + " 9 1.5262506e+04 1.35e-02 1.03e+06 -1.0 3.26e+02 - 8.89e-01 3.97e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.5298570e+04 3.97e-03 8.84e+05 -1.0 5.55e+02 - 9.91e-01 7.07e-01f 1\n", + " 11 1.5347142e+04 5.82e-11 1.00e-06 -1.0 1.01e+02 - 1.00e+00 1.00e+00f 1\n", + " 12 1.3809031e+04 5.82e-11 5.29e+04 -5.7 5.53e+02 - 9.99e-01 9.92e-01f 1\n", + " 13 1.3801958e+04 5.82e-11 1.77e+04 -5.7 3.51e+00 - 9.58e-01 6.86e-01f 1\n", + " 14 1.3800292e+04 5.82e-11 4.97e+03 -5.7 6.57e-01 - 9.79e-01 7.21e-01f 1\n", + " 15 1.3799992e+04 5.82e-11 7.09e+02 -5.7 1.20e-01 - 1.00e+00 8.57e-01f 1\n", + " 16 1.3799982e+04 5.82e-11 1.85e-11 -5.7 2.59e-01 - 1.00e+00 1.00e+00f 1\n", + " 17 1.3799966e+04 5.82e-11 4.09e+00 -7.0 8.42e-02 - 9.81e-01 1.00e+00f 1\n", + " 18 1.3799966e+04 5.82e-11 9.38e-13 -7.0 3.11e+00 - 1.00e+00 1.00e+00h 1\n", + " 19 1.3799966e+04 5.82e-11 9.38e-13 -7.0 1.38e+00 - 1.00e+00 1.00e+00h 1\n", + "\n", + "Number of Iterations....: 19\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 1.3799966137905250e+02 1.3799966137905249e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 3.9679660396327961e-07 3.9679660396327959e-05\n", + "Overall NLP error.......: 3.9679660396327961e-07 3.9679660396327959e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 20\n", + "Number of objective gradient evaluations = 20\n", + "Number of equality constraint evaluations = 20\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 20\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 19\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.025\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 1.6196514e+04 5.00e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 1.3820699e+04 4.94e+03 1.50e+01 -1.0 9.00e-01 - 8.48e-01 1.10e-02f 1\n", + " 2 1.3831536e+04 4.74e+03 5.22e+01 -1.0 6.85e+00 - 2.92e-02 4.22e-02h 1\n", + " 3 1.4265607e+04 4.74e+01 2.71e+02 -1.0 2.47e+00 - 1.76e-01 9.90e-01h 1\n", + " 4 1.4530066e+04 4.69e-01 2.06e+02 -1.0 2.71e+00 - 7.95e-01 9.90e-01h 1\n", + " 5 1.4767793e+04 2.34e-01 4.70e+04 -1.0 4.03e+00 - 9.46e-01 5.00e-01f 2\n", + " 6 1.5127849e+04 5.82e-11 2.07e+03 -1.0 7.45e+01 - 9.90e-01 1.00e+00f 1\n", + " 7 1.5178476e+04 5.82e-11 6.45e+05 -1.0 1.56e+03 - 2.02e-01 2.69e-01f 1\n", + " 8 1.5346815e+04 5.82e-11 4.86e+04 -1.0 2.89e+02 - 9.94e-01 1.00e+00f 1\n", + " 9 1.5348487e+04 5.82e-11 1.00e-06 -1.0 1.03e+02 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.3804627e+04 5.82e-11 3.36e+04 -5.7 5.32e+02 - 1.00e+00 9.96e-01f 1\n", + " 11 1.3800965e+04 5.82e-11 1.18e+04 -5.7 1.73e+00 - 9.55e-01 6.89e-01f 1\n", + " 12 1.3800151e+04 5.82e-11 3.62e+03 -5.7 3.07e-01 - 9.83e-01 6.98e-01f 1\n", + " 13 1.3799996e+04 5.82e-11 3.66e+02 -5.7 5.17e-02 - 1.00e+00 8.99e-01f 1\n", + " 14 1.3799998e+04 5.82e-11 1.85e-11 -5.7 9.93e-02 - 1.00e+00 1.00e+00f 1\n", + " 15 1.3799982e+04 5.82e-11 9.38e-13 -7.0 2.49e-02 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 15\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 1.3799982175273001e+02 1.3799982175273000e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 3.1020309938574249e-07 3.1020309938574247e-05\n", + "Overall NLP error.......: 3.1020309938574249e-07 3.1020309938574247e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 17\n", + "Number of objective gradient evaluations = 16\n", + "Number of equality constraint evaluations = 17\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 16\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 15\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.021\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 1.6196514e+04 5.00e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 1.3820699e+04 4.94e+03 1.50e+01 -1.0 9.00e-01 - 8.48e-01 1.10e-02f 1\n", + " 2 1.3831536e+04 4.74e+03 5.22e+01 -1.0 6.85e+00 - 2.92e-02 4.22e-02h 1\n", + " 3 1.4265687e+04 4.74e+01 2.71e+02 -1.0 2.47e+00 - 1.76e-01 9.90e-01h 1\n", + " 4 1.4530251e+04 4.69e-01 2.06e+02 -1.0 2.71e+00 - 7.96e-01 9.90e-01h 1\n", + " 5 1.4767935e+04 2.34e-01 4.70e+04 -1.0 4.03e+00 - 9.46e-01 5.00e-01f 2\n", + " 6 1.5127812e+04 5.82e-11 2.06e+03 -1.0 7.43e+01 - 9.90e-01 1.00e+00f 1\n", + " 7 1.5178440e+04 5.82e-11 6.36e+05 -1.0 1.56e+03 - 2.03e-01 2.69e-01f 1\n", + " 8 1.5346791e+04 5.82e-11 4.86e+04 -1.0 2.90e+02 - 9.94e-01 1.00e+00f 1\n", + " 9 1.5348487e+04 5.82e-11 1.00e-06 -1.0 1.03e+02 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.3804627e+04 5.82e-11 3.36e+04 -5.7 5.32e+02 - 1.00e+00 9.96e-01f 1\n", + " 11 1.3800965e+04 5.82e-11 1.18e+04 -5.7 1.73e+00 - 9.55e-01 6.89e-01f 1\n", + " 12 1.3800151e+04 5.82e-11 3.62e+03 -5.7 3.07e-01 - 9.83e-01 6.98e-01f 1\n", + " 13 1.3799996e+04 5.82e-11 3.66e+02 -5.7 5.18e-02 - 1.00e+00 8.99e-01f 1\n", + " 14 1.3799998e+04 5.82e-11 1.85e-11 -5.7 9.94e-02 - 1.00e+00 1.00e+00f 1\n", + " 15 1.3799982e+04 5.82e-11 9.38e-13 -7.0 2.49e-02 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 15\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 1.3799982175290268e+02 1.3799982175290268e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 3.1019865964772701e-07 3.1019865964772697e-05\n", + "Overall NLP error.......: 3.1019865964772701e-07 3.1019865964772697e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 17\n", + "Number of objective gradient evaluations = 16\n", + "Number of equality constraint evaluations = 17\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 16\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 15\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.019\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 1.6196514e+04 5.00e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 1.3820699e+04 4.94e+03 1.50e+01 -1.0 9.00e-01 - 8.48e-01 1.10e-02f 1\n", + " 2 1.3831536e+04 4.74e+03 5.22e+01 -1.0 6.85e+00 - 2.92e-02 4.22e-02h 1\n", + " 3 1.4265687e+04 4.74e+01 2.71e+02 -1.0 2.47e+00 - 1.76e-01 9.90e-01h 1\n", + " 4 1.4530251e+04 4.69e-01 2.06e+02 -1.0 2.71e+00 - 7.96e-01 9.90e-01h 1\n", + " 5 1.4767935e+04 2.34e-01 4.70e+04 -1.0 4.03e+00 - 9.46e-01 5.00e-01f 2\n", + " 6 1.5127812e+04 5.82e-11 2.06e+03 -1.0 7.43e+01 - 9.90e-01 1.00e+00f 1\n", + " 7 1.5178440e+04 5.82e-11 6.36e+05 -1.0 1.56e+03 - 2.03e-01 2.69e-01f 1\n", + " 8 1.5346791e+04 5.82e-11 4.86e+04 -1.0 2.90e+02 - 9.94e-01 1.00e+00f 1\n", + " 9 1.5348487e+04 5.82e-11 1.00e-06 -1.0 1.03e+02 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.3804627e+04 5.82e-11 3.36e+04 -5.7 5.32e+02 - 1.00e+00 9.96e-01f 1\n", + " 11 1.3800965e+04 5.82e-11 1.18e+04 -5.7 1.73e+00 - 9.55e-01 6.89e-01f 1\n", + " 12 1.3800151e+04 5.82e-11 3.62e+03 -5.7 3.07e-01 - 9.83e-01 6.98e-01f 1\n", + " 13 1.3799996e+04 5.82e-11 3.66e+02 -5.7 5.18e-02 - 1.00e+00 8.99e-01f 1\n", + " 14 1.3799998e+04 5.82e-11 1.85e-11 -5.7 9.94e-02 - 1.00e+00 1.00e+00f 1\n", + " 15 1.3799982e+04 5.82e-11 9.38e-13 -7.0 2.49e-02 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 15\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 1.3799982175290646e+02 1.3799982175290645e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 3.1019876185322737e-07 3.1019876185322737e-05\n", + "Overall NLP error.......: 3.1019876185322737e-07 3.1019876185322737e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 17\n", + "Number of objective gradient evaluations = 16\n", + "Number of equality constraint evaluations = 17\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 16\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 15\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.019\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 6903\n", + "Number of nonzeros in inequality constraint Jacobian.: 552\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 4317\n", + " variables with only lower bounds: 864\n", + " variables with lower and upper bounds: 3309\n", + " variables with only upper bounds: 144\n", + "Total number of equality constraints.................: 4029\n", + "Total number of inequality constraints...............: 288\n", + " inequality constraints with only lower bounds: 288\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -1.9030471e+06 3.11e+04 3.49e-01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -1.9030463e+06 3.10e+04 4.21e+00 -1.0 9.83e+04 - 3.62e-04 6.90e-05h 1\n", + " 2 -1.9030433e+06 3.10e+04 1.10e+00 -1.0 9.98e+04 - 2.41e-05 1.94e-04h 1\n", + " 3 -1.9030394e+06 3.10e+04 3.96e+01 -1.0 9.99e+04 - 1.77e-03 2.41e-04h 1\n", + " 4 -1.9029981e+06 3.10e+04 1.32e+01 -1.0 1.00e+05 - 1.56e-04 2.61e-03h 1\n", + " 5 -1.9029303e+06 3.08e+04 1.28e+01 -1.0 9.97e+04 - 4.31e-03 4.29e-03h 1\n", + " 6 -1.9028998e+06 3.08e+04 2.38e+01 -1.0 9.93e+04 - 5.97e-04 1.87e-03h 1\n", + " 7 -1.9028927e+06 3.08e+04 2.69e+01 -1.0 4.04e+05 - 1.62e-05 4.28e-04h 1\n", + " 8 -1.9028875e+06 3.07e+04 2.91e+01 -1.0 4.75e+05 - 1.16e-04 4.18e-04h 1\n", + " 9 -1.9028845e+06 3.07e+04 3.25e+01 -1.0 4.73e+05 - 2.88e-04 7.64e-04h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 -1.9028961e+06 3.06e+04 4.47e+01 -1.0 4.67e+05 - 6.75e-04 2.48e-03f 1\n", + " 11 -1.9029000e+06 3.06e+04 3.10e+01 -1.0 4.49e+05 - 3.33e-03 1.02e-03f 1\n", + " 12 -1.9029003e+06 3.06e+04 8.68e+01 -1.0 4.24e+05 - 1.02e-02 1.09e-03h 1\n", + " 13 -1.9028860e+06 3.05e+04 1.31e+02 -1.0 3.46e+05 - 9.04e-03 3.38e-03h 1\n", + " 14 -1.9028401e+06 3.04e+04 1.25e+02 -1.0 4.70e+05 - 2.75e-03 3.52e-03h 1\n", + " 15 -1.9028027e+06 3.03e+04 1.14e+02 -1.0 4.46e+05 - 2.14e-04 2.38e-03h 1\n", + " 16 -1.9027909e+06 3.03e+04 1.79e+02 -1.0 4.33e+05 - 1.28e-02 6.29e-04h 1\n", + " 17 -1.9025860e+06 3.00e+04 1.53e+02 -1.0 3.64e+05 - 2.21e-03 8.36e-03h 1\n", + " 18 -1.9025408e+06 3.00e+04 1.54e+02 -1.0 2.73e+05 - 2.12e-03 1.53e-03h 1\n", + " 19 -1.9025046e+06 2.99e+04 1.54e+02 -1.0 2.80e+05 - 1.17e-03 1.19e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 -1.9024221e+06 2.99e+04 1.49e+02 -1.0 2.76e+05 - 1.23e-03 2.69e-03h 1\n", + " 21 -1.9022753e+06 2.97e+04 1.36e+02 -1.0 2.60e+05 - 6.54e-04 5.09e-03h 1\n", + " 22 -1.9021965e+06 2.96e+04 1.37e+02 -1.0 2.08e+05 - 3.30e-03 2.90e-03h 1\n", + " 23 -1.9021191e+06 2.95e+04 1.38e+02 -1.0 1.94e+05 - 3.58e-03 2.71e-03h 1\n", + " 24 -1.9019745e+06 2.94e+04 1.44e+02 -1.0 1.83e+05 - 7.37e-03 4.59e-03h 1\n", + " 25 -1.9017248e+06 2.92e+04 1.33e+02 -1.0 1.64e+05 - 1.71e-03 6.97e-03h 1\n", + " 26 -1.9015458e+06 2.91e+04 1.46e+02 -1.0 1.76e+05 - 1.25e-02 4.84e-03h 1\n", + " 27 -1.9013451e+06 2.89e+04 1.52e+02 -1.0 1.84e+05 - 1.02e-02 5.17e-03h 1\n", + " 28 -1.9010752e+06 2.87e+04 1.62e+02 -1.0 1.81e+05 - 1.53e-02 6.66e-03h 1\n", + " 29 -1.9000690e+06 2.80e+04 2.14e+02 -1.0 1.75e+05 - 3.10e-02 2.42e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -1.8995650e+06 2.77e+04 1.56e+02 -1.0 1.53e+05 - 5.20e-04 1.15e-02h 1\n", + " 31 -1.8994177e+06 2.76e+04 1.56e+02 -1.0 1.48e+05 - 4.81e-03 3.36e-03h 1\n", + " 32 -1.8990787e+06 2.74e+04 1.50e+02 -1.0 1.47e+05 - 1.94e-04 8.79e-03h 1\n", + " 33 -1.8988950e+06 2.72e+04 1.50e+02 -1.0 1.48e+05 - 7.28e-03 5.02e-03h 1\n", + " 34 -1.8988212e+06 2.72e+04 1.55e+02 -1.0 1.46e+05 - 1.13e-02 1.72e-03h 1\n", + " 35 -1.8978854e+06 2.66e+04 1.50e+02 -1.0 1.40e+05 - 1.75e-02 2.16e-02h 1\n", + " 36 -1.8963239e+06 2.56e+04 2.11e+02 -1.0 1.20e+05 - 5.06e-02 3.59e-02h 1\n", + " 37 -1.8960630e+06 2.55e+04 5.17e+02 -1.0 8.26e+04 - 6.98e-02 5.81e-03h 1\n", + " 38 -1.8932156e+06 2.39e+04 5.12e+02 -1.0 8.21e+04 - 7.79e-02 6.10e-02h 1\n", + " 39 -1.8908526e+06 2.27e+04 4.64e+02 -1.0 7.71e+04 - 8.34e-02 5.22e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -1.8878759e+06 2.11e+04 4.70e+02 -1.0 7.31e+04 - 3.66e-02 6.92e-02h 1\n", + " 41 -1.8875627e+06 2.09e+04 4.35e+02 -1.0 6.80e+04 - 3.24e-02 7.78e-03h 1\n", + " 42 -1.8814378e+06 1.77e+04 5.38e+02 -1.0 6.75e+04 - 2.13e-02 1.53e-01h 1\n", + " 43 -1.8777077e+06 1.57e+04 6.17e+02 -1.0 6.36e+04 - 1.24e-02 1.13e-01h 1\n", + " 44 -1.8775585e+06 1.57e+04 5.46e+02 -1.0 6.32e+04 - 5.22e-02 5.15e-03h 1\n", + " 45 -1.8747440e+06 1.41e+04 6.17e+02 -1.0 6.61e+04 - 8.65e-03 9.85e-02h 1\n", + " 46 -1.8740270e+06 1.37e+04 4.81e+02 -1.0 6.53e+04 - 1.12e-01 2.82e-02h 1\n", + " 47 -1.8710394e+06 1.20e+04 4.96e+02 -1.0 7.14e+04 - 6.55e-02 1.23e-01h 1\n", + " 48 -1.8702040e+06 1.15e+04 4.85e+02 -1.0 7.25e+04 - 3.26e-02 4.01e-02h 1\n", + " 49 -1.8680446e+06 1.03e+04 5.54e+02 -1.0 7.33e+04 - 1.04e-02 1.10e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -1.8671975e+06 9.76e+03 5.08e+02 -1.0 7.07e+04 - 6.47e-02 5.02e-02h 1\n", + " 51 -1.8667728e+06 9.50e+03 5.02e+02 -1.0 7.23e+04 - 2.07e-02 2.72e-02h 1\n", + " 52 -1.8665360e+06 9.35e+03 5.05e+02 -1.0 1.31e+05 - 6.25e-03 1.59e-02h 1\n", + " 53 -1.8660820e+06 9.05e+03 5.12e+02 -1.0 1.14e+05 - 1.13e-02 3.13e-02h 1\n", + " 54 -1.8660121e+06 9.00e+03 4.34e+02 -1.0 1.30e+05 - 7.24e-02 5.55e-03h 1\n", + " 55 -1.8647796e+06 8.09e+03 4.43e+02 -1.0 1.35e+05 - 5.14e-02 1.02e-01h 1\n", + " 56 -1.8645527e+06 7.90e+03 3.48e+02 -1.0 1.24e+05 - 1.06e-01 2.28e-02h 1\n", + " 57 -1.8634629e+06 6.98e+03 2.63e+02 -1.0 1.23e+05 - 1.65e-01 1.17e-01h 1\n", + " 58 -1.8633988e+06 6.92e+03 2.35e+02 -1.0 1.13e+05 - 4.09e-02 8.49e-03h 1\n", + " 59 -1.8629284e+06 6.48e+03 2.08e+02 -1.0 1.13e+05 - 2.72e-01 6.32e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 60 -1.8625065e+06 6.01e+03 2.02e+02 -1.0 1.10e+05 - 2.21e-01 7.36e-02h 1\n", + " 61 -1.8621141e+06 5.45e+03 1.92e+02 -1.0 1.05e+05 - 3.64e-03 9.28e-02h 1\n", + " 62 -1.8618804e+06 4.99e+03 2.18e+02 -1.0 1.17e+05 - 5.74e-04 8.38e-02h 1\n", + " 63 -1.8616833e+06 4.55e+03 2.49e+02 -1.0 1.15e+05 - 4.68e-01 8.79e-02h 1\n", + " 64 -1.8618585e+06 3.62e+03 1.90e+02 -1.0 1.05e+05 - 1.92e-01 2.05e-01f 1\n", + " 65 -1.8619532e+06 3.50e+03 2.40e+02 -1.0 8.59e+04 - 1.44e-01 3.37e-02f 1\n", + " 66 -1.8620591e+06 3.40e+03 2.23e+02 -1.0 8.46e+04 - 4.84e-03 2.79e-02f 1\n", + " 67 -1.8622199e+06 3.27e+03 2.05e+02 -1.0 8.30e+04 - 1.88e-02 3.85e-02f 1\n", + " 68 -1.8625956e+06 2.98e+03 1.83e+02 -1.0 8.12e+04 - 7.95e-02 8.71e-02f 1\n", + " 69 -1.8631702e+06 2.67e+03 1.48e+02 -1.0 8.18e+04 - 1.42e-02 1.04e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 70 -1.8632210e+06 2.66e+03 1.29e+02 -1.0 8.27e+04 - 1.99e-02 6.41e-03f 1\n", + " 71 -1.8632810e+06 2.63e+03 1.66e+02 -1.0 8.44e+04 - 9.38e-02 1.05e-02f 1\n", + " 72 -1.8635694e+06 2.52e+03 1.71e+02 -1.0 9.31e+04 - 7.10e-02 4.23e-02f 1\n", + " 73 -1.8640267e+06 2.36e+03 1.48e+02 -1.0 1.00e+05 - 3.10e-02 6.08e-02f 1\n", + " 74 -1.8642946e+06 2.29e+03 1.39e+02 -1.0 1.03e+05 - 1.81e-02 2.94e-02f 1\n", + " 75 -1.8643231e+06 2.29e+03 2.07e+02 -1.0 1.05e+05 - 1.72e-01 3.55e-03f 1\n", + " 76 -1.8652910e+06 2.06e+03 2.78e+02 -1.0 1.27e+05 - 3.50e-01 9.81e-02f 1\n", + " 77 -1.8663212e+06 1.93e+03 2.72e+02 -1.0 1.95e+05 - 9.94e-02 6.36e-02f 1\n", + " 78 -1.8680825e+06 1.75e+03 2.41e+02 -1.0 2.11e+05 - 8.02e-02 9.48e-02f 1\n", + " 79 -1.8701263e+06 1.57e+03 2.26e+02 -1.0 2.19e+05 - 1.30e-01 1.02e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 80 -1.8707767e+06 1.53e+03 2.11e+02 -1.0 2.30e+05 - 2.18e-03 2.85e-02f 1\n", + " 81 -1.8710753e+06 1.51e+03 2.68e+02 -1.0 2.25e+05 - 2.10e-01 1.28e-02f 1\n", + " 82 -1.8712483e+06 1.49e+03 2.68e+02 -1.0 1.97e+05 - 1.61e-02 8.30e-03f 1\n", + " 83 -1.8714753e+06 1.48e+03 2.76e+02 -1.0 1.54e+05 - 5.46e-02 1.17e-02f 1\n", + " 84 -1.8720867e+06 1.43e+03 2.64e+02 -1.0 1.65e+05 - 2.25e-02 3.34e-02f 1\n", + " 85 -1.8727810e+06 1.37e+03 2.68e+02 -1.0 1.69e+05 - 9.71e-02 3.87e-02f 1\n", + " 86 -1.8730109e+06 1.35e+03 2.68e+02 -1.0 1.90e+05 - 2.61e-02 1.20e-02f 1\n", + " 87 -1.8734274e+06 1.33e+03 2.59e+02 -1.0 2.89e+05 - 1.51e-03 1.96e-02f 1\n", + " 88 -1.8757071e+06 1.21e+03 2.21e+02 -1.0 5.56e+05 - 1.19e-02 8.60e-02f 1\n", + " 89 -1.8763253e+06 1.19e+03 2.46e+02 -1.0 6.11e+05 - 1.64e-01 2.24e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 90 -1.8784016e+06 1.12e+03 2.22e+02 -1.0 8.98e+05 - 2.43e-03 5.70e-02f 1\n", + " 91 -1.8785192e+06 1.12e+03 2.54e+02 -1.0 9.30e+05 - 1.79e-01 2.85e-03f 1\n", + " 92 -1.8806744e+06 1.07e+03 2.38e+02 -1.0 1.25e+06 - 4.92e-03 4.19e-02f 1\n", + " 93 -1.8835752e+06 1.01e+03 2.36e+02 -1.0 1.22e+06 - 1.32e-01 5.58e-02f 1\n", + " 94 -1.8853102e+06 9.79e+02 2.28e+02 -1.0 1.19e+06 - 2.37e-02 3.06e-02f 1\n", + " 95 -1.8853398e+06 9.78e+02 2.29e+02 -1.0 8.03e+05 - 5.14e-03 6.37e-04f 1\n", + " 96 -1.8871804e+06 9.28e+02 2.12e+02 -1.0 8.02e+05 - 1.44e-02 5.12e-02f 1\n", + " 97 -1.8872109e+06 9.27e+02 2.16e+02 -1.0 4.90e+05 - 3.36e-02 9.50e-04f 1\n", + " 98 -1.8884596e+06 8.87e+02 2.02e+02 -1.0 5.08e+05 - 4.46e-03 4.33e-02f 1\n", + " 99 -1.8894945e+06 8.55e+02 2.11e+02 -1.0 5.10e+05 - 1.64e-01 3.61e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 100 -1.8929843e+06 7.70e+02 1.81e+02 -1.0 6.04e+05 - 1.58e-02 9.93e-02f 1\n", + " 101 -1.8930264e+06 7.69e+02 1.83e+02 -1.0 5.11e+05 - 2.15e-02 1.26e-03f 1\n", + " 102 -1.8938671e+06 7.45e+02 1.78e+02 -1.0 4.24e+05 - 3.87e-02 3.07e-02f 1\n", + " 103 -1.8940225e+06 7.41e+02 1.79e+02 -1.0 4.49e+05 - 1.73e-02 5.61e-03f 1\n", + " 104 -1.8943888e+06 7.31e+02 1.78e+02 -1.0 4.57e+05 - 2.91e-02 1.45e-02f 1\n", + " 105 -1.8950550e+06 7.13e+02 1.71e+02 -1.0 4.69e+05 - 2.93e-03 2.39e-02f 1\n", + " 106 -1.8952487e+06 7.08e+02 1.79e+02 -1.0 4.66e+05 - 9.17e-02 7.01e-03f 1\n", + " 107 -1.8962205e+06 6.84e+02 1.73e+02 -1.0 4.84e+05 - 3.78e-02 3.39e-02f 1\n", + " 108 -1.8963094e+06 6.82e+02 1.77e+02 -1.0 4.16e+05 - 3.98e-02 3.45e-03f 1\n", + " 109 -1.8990666e+06 6.12e+02 1.52e+02 -1.0 4.77e+05 - 3.12e-02 1.02e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 110 -1.8991626e+06 6.10e+02 1.60e+02 -1.0 7.59e+05 - 9.13e-02 3.41e-03f 1\n", + " 111 -1.8995237e+06 6.03e+02 1.68e+02 -1.0 9.06e+05 - 4.69e-02 1.22e-02f 1\n", + " 112 -1.9003436e+06 5.86e+02 1.54e+02 -1.0 9.89e+05 - 2.89e-03 2.85e-02f 1\n", + " 113 -1.9039700e+06 5.13e+02 1.29e+02 -1.0 1.01e+06 - 5.92e-02 1.25e-01f 1\n", + " 114 -1.9040202e+06 5.12e+02 1.29e+02 -1.0 1.09e+06 - 3.23e-03 1.58e-03f 1\n", + " 115 -1.9043553e+06 5.06e+02 1.75e+02 -1.0 1.09e+06 - 1.41e-01 1.18e-02f 1\n", + " 116 -1.9059800e+06 4.80e+02 1.44e+02 -1.0 1.20e+06 - 1.55e-02 5.09e-02f 1\n", + " 117 -1.9060862e+06 4.79e+02 1.60e+02 -1.0 1.15e+06 - 2.81e-02 3.33e-03f 1\n", + " 118 -1.9075096e+06 4.59e+02 1.32e+02 -1.0 1.15e+06 - 9.74e-03 4.18e-02f 1\n", + " 119 -1.9075659e+06 4.58e+02 1.75e+02 -1.0 1.10e+06 - 6.54e-02 1.81e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 120 -1.9080781e+06 4.50e+02 2.10e+02 -1.0 1.08e+06 - 7.32e-02 1.69e-02f 1\n", + " 121 -1.9087399e+06 4.40e+02 2.28e+02 -1.0 1.19e+06 - 5.36e-02 2.16e-02f 1\n", + " 122 -1.9089953e+06 4.36e+02 2.24e+02 -1.0 1.07e+06 - 7.12e-03 9.54e-03f 1\n", + " 123 -1.9106408e+06 4.12e+02 1.73e+02 -1.0 1.08e+06 - 2.27e-03 5.59e-02f 1\n", + " 124 -1.9106842e+06 4.11e+02 2.37e+02 -1.0 1.08e+06 - 8.67e-02 1.63e-03f 1\n", + " 125 -1.9110147e+06 4.06e+02 2.94e+02 -1.0 1.18e+06 - 9.32e-02 1.33e-02f 1\n", + " 126 -1.9122759e+06 3.84e+02 3.22e+02 -1.0 1.28e+06 - 1.08e-01 5.22e-02f 1\n", + " 127 -1.9123297e+06 3.83e+02 3.90e+02 -1.0 6.12e+05 - 8.84e-02 2.97e-03f 1\n", + " 128 -1.9139307e+06 3.49e+02 3.04e+02 -1.0 6.32e+05 - 2.64e-02 8.94e-02f 1\n", + " 129 -1.9139643e+06 3.48e+02 3.04e+02 -1.0 6.02e+05 - 1.90e-03 1.64e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 130 -1.9143097e+06 3.43e+02 2.91e+02 -1.0 7.39e+05 - 6.96e-03 1.61e-02f 1\n", + " 131 -1.9143241e+06 3.42e+02 3.34e+02 -1.0 5.96e+05 - 4.88e-02 1.08e-03f 1\n", + " 132 -1.9145398e+06 3.36e+02 3.39e+02 -1.0 6.40e+05 - 3.14e-02 1.82e-02f 1\n", + " 133 -1.9148257e+06 3.28e+02 3.37e+02 -1.0 6.60e+05 - 3.22e-02 2.58e-02f 1\n", + " 134 -1.9166487e+06 2.75e+02 1.59e+02 -1.0 6.90e+05 - 2.79e-02 1.59e-01f 1\n", + " 135 -1.9179446e+06 2.45e+02 3.82e+02 -1.0 7.14e+05 - 3.24e-01 1.11e-01f 1\n", + " 136 -1.9179911e+06 2.44e+02 6.07e+02 -1.0 9.24e+05 - 1.82e-01 3.13e-03f 1\n", + " 137 -1.9181221e+06 2.38e+02 6.94e+02 -1.0 5.03e+05 - 1.04e-01 2.40e-02f 1\n", + " 138 -1.9186074e+06 2.19e+02 5.44e+02 -1.0 5.25e+05 - 9.17e-03 8.10e-02f 1\n", + " 139 -1.9193231e+06 1.96e+02 3.51e+02 -1.0 5.08e+05 - 1.14e-02 1.07e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 140 -1.9215209e+06 1.32e+02 2.18e+02 -1.0 6.35e+05 - 1.05e-01 3.26e-01f 1\n", + " 141 -1.9225131e+06 1.07e+02 3.21e+02 -1.0 4.98e+05 - 9.05e-02 1.87e-01f 1\n", + " 142 -1.9226499e+06 1.03e+02 1.46e+02 -1.0 4.83e+05 - 1.67e-01 3.40e-02f 1\n", + " 143 -1.9229246e+06 9.65e+01 1.70e+02 -1.0 5.41e+05 - 1.31e-02 6.77e-02f 1\n", + " 144 -1.9236179e+06 7.86e+01 3.15e+02 -1.0 5.12e+05 - 1.11e-01 1.85e-01f 1\n", + " 145 -1.9242863e+06 6.28e+01 8.20e+02 -1.0 3.45e+05 - 5.73e-02 2.01e-01f 1\n", + " 146 -1.9247929e+06 5.26e+01 1.28e+03 -1.0 8.10e+05 - 4.30e-02 1.63e-01f 1\n", + " 147 -1.9252172e+06 4.45e+01 1.59e+03 -1.0 7.66e+05 - 6.77e-02 1.53e-01f 1\n", + " 148 -1.9254054e+06 4.04e+01 4.18e+02 -1.0 2.23e+05 - 2.39e-01 9.25e-02f 1\n", + " 149 -1.9255319e+06 3.77e+01 1.03e+03 -1.0 2.28e+05 - 2.51e-01 6.67e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 150 -1.9261060e+06 3.06e+01 3.81e+02 -1.0 8.91e+05 - 4.08e-02 1.89e-01f 1\n", + " 151 -1.9262098e+06 2.84e+01 7.43e+02 -1.0 3.46e+05 - 3.19e-02 7.02e-02f 1\n", + " 152 -1.9265706e+06 2.22e+01 4.50e+03 -1.0 6.23e+05 - 4.03e-03 2.21e-01f 1\n", + " 153 -1.9265812e+06 2.20e+01 4.35e+03 -1.0 3.18e+05 - 1.26e-01 7.82e-03f 1\n", + " 154 -1.9270707e+06 1.47e+01 4.83e+03 -1.0 3.98e+05 - 4.72e-02 3.30e-01f 1\n", + " 155 -1.9273092e+06 1.18e+01 6.46e+03 -1.0 4.44e+05 - 7.32e-02 1.96e-01f 1\n", + " 156 -1.9275940e+06 8.68e+00 7.84e+03 -1.0 4.05e+05 - 1.48e-01 2.67e-01f 1\n", + " 157 -1.9277279e+06 7.42e+00 7.70e+03 -1.0 3.19e+05 - 1.17e-01 1.45e-01f 1\n", + " 158 -1.9279944e+06 5.24e+00 1.16e+04 -1.0 3.55e+05 - 1.45e-01 2.94e-01f 1\n", + " 159 -1.9281196e+06 4.42e+00 7.14e+03 -1.0 3.14e+05 - 2.02e-01 1.56e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 160 -1.9282868e+06 3.52e+00 1.84e+04 -1.0 3.97e+05 - 2.02e-02 2.04e-01f 1\n", + " 161 -1.9286027e+06 2.00e+00 4.71e+04 -1.0 4.05e+05 - 1.17e-02 4.33e-01f 1\n", + " 162 -1.9286178e+06 1.94e+00 8.63e+03 -1.0 3.48e+05 - 2.73e-01 2.92e-02f 1\n", + " 163 -1.9289712e+06 7.75e-01 5.97e+04 -1.0 4.59e+05 - 2.40e-01 6.00e-01f 1\n", + " 164 -1.9290507e+06 6.53e-01 3.94e+04 -1.0 4.86e+05 - 1.86e-01 1.58e-01f 1\n", + " 165 -1.9290673e+06 6.14e-01 4.38e+04 -1.0 4.68e+05 - 2.41e-01 5.95e-02f 1\n", + " 166 -1.9291499e+06 4.56e-01 5.98e+04 -1.0 5.01e+05 - 6.06e-02 2.58e-01f 1\n", + " 167 -1.9291943e+06 3.32e-01 1.08e+05 -1.0 2.25e+05 - 1.68e-01 2.72e-01f 1\n", + " 168 -1.9292324e+06 2.59e-01 2.29e+05 -1.0 2.75e+05 - 4.28e-02 2.19e-01f 1\n", + " 169 -1.9292887e+06 1.71e-01 2.65e+05 -1.0 2.83e+05 - 2.28e-01 3.40e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 170 -1.9293128e+06 1.39e-01 2.25e+05 -1.0 3.54e+05 - 1.79e-01 1.85e-01f 1\n", + " 171 -1.9293360e+06 1.06e-01 5.43e+05 -1.0 3.20e+05 - 1.34e-02 2.39e-01f 1\n", + " 172 -1.9293483e+06 7.91e-02 8.89e+05 -1.0 1.85e+05 - 1.75e-02 2.54e-01f 1\n", + " 173 -1.9293577e+06 5.64e-02 3.78e+05 -1.0 1.81e+05 - 6.86e-01 2.87e-01f 1\n", + " 174 -1.9293743e+06 2.60e-02 7.07e+05 -1.0 2.10e+05 - 1.97e-01 5.40e-01f 1\n", + " 175 -1.9293758e+06 2.11e-02 1.06e+06 -1.0 7.85e+04 - 5.62e-02 1.89e-01f 3\n", + " 176 -1.9293812e+06 2.30e-03 2.35e+05 -1.0 5.86e+04 - 9.81e-01 8.91e-01h 1\n", + " 177 -1.9293809e+06 1.15e-03 1.38e+06 -1.0 3.56e+04 - 1.00e+00 5.00e-01f 2\n", + " 178 -1.9293810e+06 4.66e-10 1.00e-06 -1.0 9.78e+03 - 1.00e+00 1.00e+00h 1\n", + " 179 -1.9294206e+06 3.49e-10 6.96e+04 -5.7 8.46e+04 - 6.34e-01 6.41e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 180 -1.9294400e+06 3.49e-10 6.22e+05 -5.7 9.70e+04 - 6.78e-01 8.45e-01f 1\n", + " 181 -1.9294434e+06 3.49e-10 9.83e+04 -5.7 1.48e+04 - 8.94e-01 9.52e-01f 1\n", + " 182 -1.9294436e+06 3.49e-10 1.02e+05 -5.7 1.22e+03 - 1.83e-01 9.96e-01f 1\n", + " 183 -1.9294436e+06 3.49e-10 2.18e-11 -5.7 6.57e+00 - 1.00e+00 1.00e+00f 1\n", + " 184 -1.9294436e+06 3.49e-10 9.65e+00 -7.0 2.46e+00 - 1.00e+00 9.45e-01f 1\n", + " 185 -1.9294436e+06 4.66e-10 9.09e-13 -7.0 1.34e-01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 185\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -1.9294436292570301e+06 -1.9294436292570301e+06\n", + "Dual infeasibility......: 9.0949470177292824e-13 9.0949470177292824e-13\n", + "Constraint violation....: 5.8207660913467407e-11 4.6566128730773926e-10\n", + "Complementarity.........: 4.5550859922290215e-07 4.5550859922290215e-07\n", + "Overall NLP error.......: 4.5550859922290215e-07 4.5550859922290215e-07\n", + "\n", + "\n", + "Number of objective function evaluations = 189\n", + "Number of objective gradient evaluations = 186\n", + "Number of equality constraint evaluations = 189\n", + "Number of inequality constraint evaluations = 189\n", + "Number of equality constraint Jacobian evaluations = 186\n", + "Number of inequality constraint Jacobian evaluations = 186\n", + "Number of Lagrangian Hessian evaluations = 185\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 1.611\n", + "Total CPU secs in NLP function evaluations = 0.067\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "\n", + "Pyomo model construction time: 10.06\n", + "\n", + "Pyomo model solve time: 31.066909551620483\n", + "\n", + "Deterministic RUC Cost: 3345121.82\n", + "\n", + "Generator Commitments:\n", + "101_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "101_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "101_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "101_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "102_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "102_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "102_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "102_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "107_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "113_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "115_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "116_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "118_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "123_STEAM_2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "123_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "123_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "123_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "201_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "202_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "202_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "202_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "202_STEAM_4 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "207_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "207_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CC_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "213_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "215_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "215_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "216_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "218_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "221_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_2 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_STEAM_3 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "223_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "223_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "223_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "301_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "302_CT_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "307_CT_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "307_CT_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "313_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_3 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_4 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_STEAM_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_7 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "315_CT_8 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "316_STEAM_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "318_CC_1 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "321_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "322_CT_5 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "322_CT_6 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "323_CC_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "323_CC_2 : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "114_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "121_NUCLEAR_1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 \n", + "214_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "314_SYNC_COND_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 \n", + "\n", + "Generator Dispatch Levels:\n", + "101_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_STEAM_3 : 76.00 76.00 76.00 76.00 76.00 76.00 45.30 45.30 45.30 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 76.00 76.00 76.00 56.00 60.70 57.30 55.30 45.30 60.70 76.00 \n", + "101_STEAM_4 : 76.00 76.00 76.00 76.00 76.00 76.00 45.30 45.30 45.30 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 76.00 76.00 76.00 76.00 52.00 47.30 60.70 60.70 45.30 60.70 76.00 \n", + "102_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_STEAM_3 : 76.00 76.00 76.00 60.70 60.70 45.30 30.00 32.97 30.00 41.72 45.30 60.70 60.70 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 60.70 60.70 45.30 45.30 40.00 38.67 40.00 40.00 30.00 30.00 45.30 \n", + "102_STEAM_4 : 76.00 76.00 76.00 60.70 60.70 45.30 36.30 30.00 35.97 30.00 45.30 60.70 60.70 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 | 76.00 60.70 60.70 45.30 45.30 40.00 40.00 40.00 40.00 30.00 30.00 45.30 \n", + "107_CC_1 : 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 182.36 231.70 231.70 293.30 355.00 355.00 355.00 338.28 231.70 170.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_3 : 124.00 124.00 124.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 118.56 124.00 124.00 124.00 155.00 155.00 155.00 155.00 155.00 124.00 124.00 124.00 | 124.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 \n", + "116_STEAM_1 : 139.76 124.00 124.00 124.00 93.00 62.00 62.00 62.00 62.00 62.00 93.00 93.00 124.00 124.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 124.00 | 124.00 124.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 93.00 \n", + "118_CC_1 : 231.70 231.70 231.70 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 231.70 231.70 260.09 317.98 313.60 305.05 293.30 231.70 170.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_STEAM_2 : 124.00 124.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 93.00 93.00 93.00 124.00 124.00 124.00 124.00 125.00 125.00 124.00 124.00 124.00 124.00 124.00 | 124.00 93.00 93.00 93.00 62.00 62.00 62.00 62.00 62.00 62.00 70.48 93.00 \n", + "123_STEAM_3 : 350.00 280.00 280.00 280.00 210.00 140.00 140.00 140.00 140.00 140.00 140.00 210.00 280.00 280.00 294.25 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 | 280.00 235.69 210.00 140.00 140.00 140.00 140.00 140.00 140.00 140.00 140.00 210.00 \n", + "123_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_STEAM_3 : 60.70 45.30 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 45.30 45.30 45.30 76.00 76.00 76.00 76.00 76.00 76.00 76.00 76.00 51.45 | 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 \n", + "202_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_STEAM_3 : 60.70 60.70 60.70 60.70 30.61 30.00 30.00 30.00 30.00 30.00 30.00 45.30 60.70 60.70 60.70 60.70 72.46 69.36 60.70 75.27 76.00 60.70 60.70 60.70 | 60.70 60.70 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 40.00 \n", + "202_STEAM_4 : 60.70 60.70 60.70 60.70 45.30 30.00 30.00 30.00 30.00 30.00 30.00 45.30 60.70 60.70 60.70 60.70 60.70 76.00 75.23 60.70 62.09 60.70 60.70 60.70 | 60.70 60.70 45.30 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 36.76 \n", + "207_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "207_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CC_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "216_STEAM_1 : 155.00 124.00 124.00 122.19 93.00 93.00 62.00 62.00 62.00 62.00 93.00 93.00 124.00 124.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 124.00 | 124.00 93.00 93.00 93.00 93.00 64.00 62.00 65.67 68.67 62.00 93.00 93.00 \n", + "218_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "221_CC_1 : 231.70 230.29 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 231.70 231.70 293.30 293.30 293.30 293.30 293.30 274.21 232.41 231.70 | 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 \n", + "223_STEAM_1 : 155.00 155.00 155.00 155.00 155.00 62.00 62.00 62.00 62.00 62.00 124.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 155.00 155.00 155.00 119.59 69.81 62.00 62.00 62.00 62.00 66.00 155.00 155.00 \n", + "223_STEAM_2 : 155.00 155.00 155.00 155.00 155.00 71.77 62.00 62.00 62.00 62.00 120.42 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 155.00 | 155.00 155.00 155.00 124.00 93.00 62.00 62.00 62.00 62.00 77.00 155.00 155.00 \n", + "223_STEAM_3 : 280.00 280.00 210.00 210.00 210.00 210.00 140.00 140.00 140.00 140.00 210.00 210.00 210.00 280.00 280.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 350.00 280.00 | 211.76 210.00 210.00 210.00 210.00 140.00 140.00 140.00 140.00 200.67 210.00 210.00 \n", + "223_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "313_CC_1 : 231.70 231.70 231.70 231.70 231.70 231.70 208.10 218.10 216.10 231.70 231.70 231.70 231.70 231.70 231.70 231.70 293.30 312.14 313.60 293.30 293.30 170.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_7 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_8 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 22.00 45.46 48.35 44.00 22.00 22.00 22.00 | 22.00 22.00 22.00 22.00 22.00 22.00 22.00 22.00 22.00 22.00 22.00 22.00 \n", + "316_STEAM_1 : 124.00 124.00 124.00 124.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 87.06 124.00 124.00 124.00 124.00 155.00 155.00 155.00 155.00 155.00 124.00 124.00 124.00 | 124.00 124.00 93.31 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 62.00 \n", + "318_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "321_CC_1 : 231.70 231.70 208.91 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 231.70 235.28 293.30 293.30 303.77 293.30 293.30 293.30 170.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_1 : 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 170.00 231.70 355.00 355.00 355.00 170.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "114_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "121_NUCLEAR_1 : 400.00 400.00 400.00 400.00 500.00 400.00 400.00 408.33 408.33 450.00 450.00 500.00 500.00 450.00 450.00 450.00 450.00 483.33 450.00 483.33 500.00 400.00 450.00 450.00 | 450.00 450.00 400.00 450.00 450.00 400.00 408.33 408.33 408.33 400.00 400.00 400.00 \n", + "214_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "314_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "\n", + "Generator Reserve Headroom:\n", + "101_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "101_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 30.70 30.70 30.70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 20.00 15.30 18.70 20.70 30.70 15.30 0.00 \n", + "101_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 30.70 30.70 30.70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 24.00 28.70 15.30 15.30 30.70 15.30 0.00 \n", + "102_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "102_STEAM_3 : 0.00 0.00 0.00 15.30 15.30 30.70 46.00 43.03 46.00 34.28 30.70 15.30 15.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 15.30 15.30 30.70 30.70 36.00 37.33 36.00 36.00 46.00 46.00 30.70 \n", + "102_STEAM_4 : 0.00 0.00 0.00 15.30 15.30 30.70 39.70 46.00 40.03 46.00 30.70 15.30 15.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 15.30 15.30 30.70 30.70 36.00 36.00 36.00 36.00 46.00 46.00 30.70 \n", + "107_CC_1 : 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 172.64 123.30 123.30 61.70 0.00 0.00 0.00 16.72 123.30 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "113_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "115_STEAM_3 : 31.00 31.00 31.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 36.44 31.00 31.00 31.00 0.00 0.00 0.00 0.00 0.00 31.00 31.00 31.00 | 31.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 \n", + "116_STEAM_1 : 15.24 31.00 31.00 31.00 62.00 93.00 93.00 93.00 93.00 93.00 62.00 62.00 31.00 31.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 31.00 | 31.00 31.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 62.00 \n", + "118_CC_1 : 123.30 123.30 123.30 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 123.30 123.30 94.91 37.02 41.40 49.95 61.70 123.30 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_STEAM_2 : 31.00 31.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 62.00 62.00 62.00 31.00 31.00 31.00 31.00 30.00 30.00 31.00 31.00 31.00 31.00 31.00 | 31.00 62.00 62.00 62.00 93.00 93.00 93.00 93.00 93.00 93.00 84.52 62.00 \n", + "123_STEAM_3 : 0.00 70.00 70.00 70.00 140.00 210.00 210.00 210.00 210.00 210.00 210.00 140.00 70.00 70.00 55.75 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 70.00 114.31 140.00 210.00 210.00 210.00 210.00 210.00 210.00 210.00 210.00 140.00 \n", + "123_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "123_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "201_STEAM_3 : 15.30 30.70 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 30.70 30.70 30.70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 24.55 | 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 \n", + "202_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "202_STEAM_3 : 15.30 15.30 15.30 15.30 45.39 46.00 46.00 46.00 46.00 46.00 46.00 30.70 15.30 15.30 15.30 15.30 3.54 6.64 15.30 0.73 0.00 15.30 15.30 15.30 | 15.30 15.30 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 36.00 \n", + "202_STEAM_4 : 15.30 15.30 15.30 15.30 30.70 46.00 46.00 46.00 46.00 46.00 46.00 30.70 15.30 15.30 15.30 15.30 15.30 0.00 0.77 15.30 13.91 15.30 15.30 15.30 | 15.30 15.30 30.70 46.00 46.00 46.00 46.00 46.00 46.00 46.00 46.00 39.24 \n", + "207_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "207_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CC_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "213_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "215_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "216_STEAM_1 : 0.00 31.00 31.00 32.81 62.00 62.00 93.00 93.00 93.00 93.00 62.00 62.00 31.00 31.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 31.00 | 31.00 62.00 62.00 62.00 62.00 91.00 93.00 89.33 86.33 93.00 62.00 62.00 \n", + "218_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "221_CC_1 : 123.30 124.71 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 123.30 123.30 61.70 61.70 61.70 61.70 61.70 80.79 122.59 123.30 | 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 \n", + "223_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 93.00 93.00 93.00 93.00 93.00 31.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 35.41 85.19 93.00 93.00 93.00 93.00 89.00 0.00 0.00 \n", + "223_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 83.23 93.00 93.00 93.00 93.00 34.58 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 31.00 62.00 93.00 93.00 93.00 93.00 78.00 0.00 0.00 \n", + "223_STEAM_3 : 70.00 70.00 140.00 140.00 140.00 140.00 210.00 210.00 210.00 210.00 140.00 140.00 140.00 70.00 70.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 70.00 | 138.24 140.00 140.00 140.00 140.00 210.00 210.00 210.00 210.00 149.33 140.00 140.00 \n", + "223_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "223_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "301_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "302_CT_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "307_CT_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "313_CC_1 : 123.30 123.30 123.30 123.30 123.30 123.30 146.90 136.90 138.90 123.30 123.30 123.30 123.30 123.30 123.30 123.30 61.70 42.86 41.40 61.70 61.70 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_3 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_4 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_STEAM_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_7 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "315_CT_8 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 9.54 6.65 11.00 33.00 33.00 33.00 | 33.00 33.00 33.00 33.00 33.00 33.00 33.00 33.00 33.00 33.00 33.00 33.00 \n", + "316_STEAM_1 : 31.00 31.00 31.00 31.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 67.94 31.00 31.00 31.00 31.00 0.00 0.00 0.00 0.00 0.00 31.00 31.00 31.00 | 31.00 31.00 61.69 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 93.00 \n", + "318_CC_1 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "321_CC_1 : 123.30 123.30 146.09 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 123.30 119.72 61.70 61.70 51.23 61.70 61.70 61.70 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_5 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "322_CT_6 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_1 : 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 185.00 123.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "323_CC_2 : 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "114_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "121_NUCLEAR_1 : 100.00 100.00 100.00 100.00 0.00 100.00 100.00 91.67 91.67 50.00 50.00 0.00 0.00 50.00 50.00 50.00 50.00 16.67 50.00 16.67 0.00 100.00 50.00 50.00 | 50.00 50.00 100.00 50.00 50.00 100.00 91.67 91.67 91.67 100.00 100.00 100.00 \n", + "214_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "314_SYNC_COND_1: 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 | 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", + "Total : 1125.64 1320.91 1504.99 1684.31 1821.99 2307.93 2528.00 2513.00 2512.00 2387.58 2085.28 1782.24 1541.64 1257.14 1193.55 971.52 564.85 256.58 301.34 305.39 319.43 645.69 329.19 486.45 | 692.54 877.51 1045.69 1255.81 1398.59 1641.00 1636.00 1621.00 1620.00 1600.73 1354.12 1152.64 \n", + "\n", + "Fixed costs: 2311084.74\n", + "Variable costs: 1034037.08\n", + "\n", + "\n", + "Renewables curtailment summary (time-period, aggregate_quantity):\n", + "2020-07-12 06:00 115.53\n", + "2020-07-12 07:00 232.64\n", + "2020-07-12 08:00 154.75\n", + "2020-07-13 05:00 249.03\n", + "2020-07-13 06:00 574.43\n", + "2020-07-13 07:00 669.54\n", + "2020-07-13 08:00 639.15\n", + "2020-07-13 09:00 379.75\n", + "2020-07-13 10:00 323.86\n", + "2020-07-13 11:00 222.51\n", + "2020-07-13 12:00 125.91\n", + "2020-07-13 13:00 41.98\n", + "Solving day-ahead market\n", + "Computing day-ahead prices using method LMP.\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 6.4516047e+03 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 6.4102979e+03 1.64e+05 9.90e+01 -1.0 2.53e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 1.0357577e+04 1.64e+05 9.99e+01 -1.0 2.47e+04 - 2.15e-04 9.72e-04h 1\n", + " 3 1.9835143e+04 1.63e+05 1.01e+02 -1.0 1.47e+04 - 8.30e-04 2.11e-03h 1\n", + " 4 8.0262174e+04 1.61e+05 1.03e+02 -1.0 3.86e+03 - 2.53e-03 1.28e-02h 1\n", + " 5 3.5623976e+05 1.52e+05 1.05e+02 -1.0 1.36e+03 - 1.75e-02 5.83e-02h 1\n", + " 6 5.3858281e+05 1.46e+05 8.84e+01 -1.0 2.05e+03 - 1.03e-01 4.11e-02h 1\n", + " 7 2.8041806e+06 6.81e+04 9.99e+01 -1.0 2.63e+03 - 1.96e-01 5.32e-01h 1\n", + " 8 3.5743499e+06 4.13e+04 3.91e+01 -1.0 3.28e+03 - 5.47e-01 3.93e-01h 1\n", + " 9 4.6774308e+06 4.13e+02 3.26e+02 -1.0 7.18e+03 - 1.83e-01 9.90e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 4.5764618e+06 3.97e+00 1.95e+03 -1.0 8.30e+03 - 4.99e-01 9.90e-01f 1\n", + " 11 4.4049867e+06 5.82e-11 3.20e+05 -1.0 1.32e+04 - 1.93e-01 1.00e+00f 1\n", + " 12 4.2627875e+06 5.82e-11 8.56e+06 -1.0 9.99e+03 - 1.37e-01 1.00e+00f 1\n", + " 13 3.4537852e+06 5.82e-11 8.49e+06 -1.0 3.13e+04 - 8.96e-03 5.18e-01f 1\n", + " 14 3.4453059e+06 1.16e-10 7.05e+06 -1.0 7.76e+04 - 1.69e-01 2.16e-03f 1\n", + " 15 3.3966568e+06 1.16e-10 3.48e+05 -1.0 8.20e+04 - 9.51e-01 1.45e-02f 1\n", + " 16 1.2955162e+06 2.33e-10 2.71e+05 -1.0 9.21e+04 - 2.23e-01 5.56e-01f 1\n", + " 17 1.2742239e+06 1.16e-10 1.25e+05 -1.0 2.74e+04 - 5.39e-01 1.89e-02f 1\n", + " 18 1.2680507e+06 1.16e-10 1.24e+05 -1.0 1.03e+04 - 2.72e-03 1.34e-01f 1\n", + " 19 9.3657422e+05 5.82e-11 1.01e+05 -1.0 3.36e+05 - 1.92e-01 8.35e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 8.9630754e+05 2.33e-10 1.00e+05 -1.0 7.87e+04 - 2.88e-03 4.42e-01f 1\n", + " 21 6.1906824e+05 1.16e-10 8.35e+04 -1.0 3.64e+05 - 1.67e-01 6.90e-01f 1\n", + " 22 4.3388960e+05 1.16e-10 8.31e+04 -1.0 2.31e+05 - 3.70e-03 7.28e-01f 1\n", + " 23 3.0120250e+05 1.16e-10 7.13e+04 -1.0 2.12e+05 - 1.43e-01 5.70e-01f 1\n", + " 24 1.7120029e+03 1.16e-10 7.07e+04 -1.0 4.11e+05 - 7.44e-03 6.63e-01f 1\n", + " 25 -9.8417037e+03 1.16e-10 1.54e+04 -1.0 2.24e+04 - 7.82e-01 4.72e-01f 1\n", + " 26 -9.9813597e+03 5.82e-11 4.62e+03 -1.0 3.75e+03 - 7.00e-01 1.00e+00f 1\n", + " 27 -9.9500973e+03 1.16e-10 2.69e+03 -1.0 6.92e+03 - 4.17e-01 1.00e+00f 1\n", + " 28 -9.9410108e+03 1.16e-10 6.01e+02 -1.0 1.21e+04 - 7.77e-01 1.00e+00f 1\n", + " 29 -1.0460638e+04 1.16e-10 1.83e+06 -1.7 9.21e+03 - 7.71e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -1.0462704e+04 2.33e-10 2.05e+05 -1.7 3.54e+04 - 8.88e-01 1.00e+00f 1\n", + " 31 -1.0452970e+04 1.16e-10 1.06e+05 -1.7 1.18e+05 - 4.82e-01 1.00e+00f 1\n", + " 32 -1.0445953e+04 1.16e-10 2.00e-07 -1.7 9.13e+04 - 1.00e+00 1.00e+00f 1\n", + " 33 -1.0595730e+04 2.33e-10 7.52e+05 -5.7 1.21e+05 - 6.22e-01 9.98e-01f 1\n", + " 34 -1.0601783e+04 2.33e-10 2.23e+05 -5.7 1.30e+05 - 7.03e-01 5.41e-01f 1\n", + " 35 -1.0604993e+04 1.16e-10 6.33e+04 -5.7 6.62e+04 - 7.15e-01 6.24e-01f 1\n", + " 36 -1.0607395e+04 1.16e-10 1.86e+03 -5.7 4.73e+04 - 9.71e-01 9.96e-01f 1\n", + " 37 -1.0607408e+04 1.16e-10 1.85e-11 -5.7 2.76e+02 - 1.00e+00 1.00e+00f 1\n", + " 38 -1.0607422e+04 1.16e-10 9.38e-13 -7.0 6.22e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 38\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -1.0607422016272744e+02 -1.0607422016272743e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.4137859740721684e-07 1.4137859740721683e-05\n", + "Overall NLP error.......: 1.4137859740721684e-07 1.4137859740721683e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 39\n", + "Number of objective gradient evaluations = 39\n", + "Number of equality constraint evaluations = 39\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 39\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 38\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.043\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 65712.44\n", + "Variable costs: 41719.65\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 237.11\n", + "\n", + "Simulating time_step 2020-07-11 17:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -8.0121574e+03 1.51e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -8.0537600e+03 1.51e+05 9.90e+01 -1.0 6.66e+03 - 2.02e-04 1.94e-04h 1\n", + " 2 -6.0998776e+03 1.51e+05 1.00e+02 -1.0 6.88e+03 - 1.94e-04 8.73e-04h 1\n", + " 3 -1.0721869e+03 1.51e+05 1.00e+02 -1.0 6.82e+03 - 1.07e-03 2.08e-03h 1\n", + " 4 1.6500546e+04 1.50e+05 1.01e+02 -1.0 3.52e+03 - 2.37e-03 6.93e-03h 1\n", + " 5 6.6104109e+04 1.47e+05 1.00e+02 -1.0 1.32e+03 - 1.20e-02 1.89e-02h 1\n", + " 6 2.0421462e+05 1.39e+05 9.10e+01 -1.0 1.34e+03 - 1.63e-01 5.32e-02h 1\n", + " 7 1.0803254e+06 8.95e+04 9.04e+01 -1.0 1.57e+03 - 1.00e-01 3.57e-01h 1\n", + " 8 1.9286238e+06 4.10e+04 3.03e+01 -1.0 1.69e+03 - 6.18e-01 5.42e-01h 1\n", + " 9 2.6007576e+06 4.10e+02 4.56e+01 -1.0 3.70e+03 - 1.83e-01 9.90e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.5590102e+06 3.95e+00 1.95e+03 -1.0 3.40e+03 - 4.61e-01 9.90e-01f 1\n", + " 11 2.4603640e+06 1.16e-10 3.10e+05 -1.0 5.51e+03 - 1.60e-01 1.00e+00f 1\n", + " 12 2.1809916e+06 1.16e-10 8.61e+06 -1.0 2.46e+04 - 1.34e-01 1.00e+00f 1\n", + " 13 1.0965311e+06 1.16e-10 8.54e+06 -1.0 5.12e+04 - 8.80e-03 7.20e-01f 1\n", + " 14 1.0670796e+06 1.16e-10 6.76e+06 -1.0 6.36e+04 - 2.09e-01 2.00e-02f 1\n", + " 15 7.7024248e+05 1.16e-10 3.97e+06 -1.0 6.41e+04 - 4.12e-01 2.16e-01f 1\n", + " 16 7.6697166e+05 2.33e-10 3.32e+06 -1.0 9.83e+04 - 1.64e-01 2.79e-03f 1\n", + " 17 7.4394363e+05 1.95e-10 6.98e+05 -1.0 1.12e+05 - 7.90e-01 3.32e-02f 1\n", + " 18 4.5447983e+05 1.41e-10 6.49e+05 -1.0 2.59e+05 - 6.99e-02 3.15e-01f 1\n", + " 19 4.4766723e+05 2.33e-10 2.54e+05 -1.0 1.48e+05 - 6.09e-01 2.01e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 3.0479241e+05 1.16e-10 2.51e+05 -1.0 1.07e+05 - 1.22e-02 7.13e-01f 1\n", + " 21 2.9941729e+05 1.16e-10 2.47e+05 -1.0 2.38e+05 - 1.63e-02 2.01e-02f 1\n", + " 22 2.8843705e+05 1.16e-10 1.05e+05 -1.0 2.12e+05 - 5.73e-01 4.60e-02f 1\n", + " 23 1.9567169e+05 1.16e-10 1.02e+05 -1.0 4.56e+05 - 3.46e-02 1.83e-01f 1\n", + " 24 1.9413073e+05 1.16e-10 4.72e+04 -1.0 3.30e+05 - 5.36e-01 4.20e-03f 1\n", + " 25 -8.2892964e+03 2.33e-10 2.21e+04 -1.0 2.65e+05 - 5.33e-01 6.90e-01f 1\n", + " 26 -1.1290060e+04 1.16e-10 2.08e+04 -1.0 5.42e+04 - 5.74e-02 7.59e-01f 1\n", + " 27 -1.3563376e+04 1.75e-10 4.96e+03 -1.0 2.57e+05 - 7.62e-01 1.00e+00f 1\n", + " 28 -1.6148830e+04 2.33e-10 3.21e+03 -1.0 6.04e+05 - 3.52e-01 5.30e-01f 1\n", + " 29 -1.6161625e+04 2.33e-10 1.34e+03 -1.0 1.67e+05 - 9.18e-01 9.50e-03f 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -1.6524294e+04 1.16e-10 9.82e+05 -1.7 2.04e+04 - 5.67e-01 6.90e-01f 1\n", + " 31 -1.6674037e+04 1.16e-10 2.02e+06 -1.7 4.03e+04 - 4.16e-01 1.00e+00f 1\n", + " 32 -1.6670650e+04 2.33e-10 2.24e+05 -1.7 5.18e+04 - 8.89e-01 1.00e+00f 1\n", + " 33 -1.6655690e+04 2.33e-10 1.06e+05 -1.7 1.87e+05 - 5.26e-01 1.00e+00f 1\n", + " 34 -1.6650196e+04 1.16e-10 2.00e-07 -1.7 6.38e+04 - 1.00e+00 1.00e+00f 1\n", + " 35 -1.6807269e+04 2.33e-10 9.23e+05 -5.7 1.92e+05 - 5.37e-01 9.98e-01f 1\n", + " 36 -1.6813984e+04 2.33e-10 6.91e+04 -5.7 1.74e+05 - 9.24e-01 5.79e-01f 1\n", + " 37 -1.6816356e+04 1.16e-10 2.45e+04 -5.7 5.97e+04 - 6.45e-01 6.52e-01f 1\n", + " 38 -1.6818029e+04 2.33e-10 2.37e+02 -5.7 4.40e+04 - 9.89e-01 9.23e-01f 1\n", + " 39 -1.6818163e+04 2.33e-10 1.85e-11 -5.7 3.41e+03 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -1.6818177e+04 1.16e-10 9.24e-13 -7.0 6.24e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 40\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -1.6818176830295303e+02 -1.6818176830295302e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 3.2337589396370780e-12 1.1641532182693481e-10\n", + "Complementarity.........: 1.2653391076660310e-07 1.2653391076660309e-05\n", + "Overall NLP error.......: 1.2653391076660310e-07 1.2653391076660309e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 43\n", + "Number of objective gradient evaluations = 41\n", + "Number of equality constraint evaluations = 43\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 41\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 40\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.029\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 64336.44\n", + "Variable costs: 45890.16\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 241.93\n", + "\n", + "Simulating time_step 2020-07-11 18:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -1.4172512e+04 6.29e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -1.4214360e+04 6.28e+03 9.90e+01 -1.0 6.66e+03 - 2.02e-04 1.94e-04h 1\n", + " 2 -8.9914878e+03 6.27e+03 9.98e+01 -1.0 6.88e+03 - 1.94e-04 1.83e-03h 1\n", + " 3 1.0899812e+04 6.23e+03 1.02e+02 -1.0 6.78e+03 - 2.02e-03 6.68e-03h 1\n", + " 4 6.3635987e+04 6.13e+03 1.01e+02 -1.0 1.33e+03 - 1.06e-02 1.69e-02h 1\n", + " 5 2.0713630e+05 5.84e+03 9.20e+01 -1.0 1.33e+03 - 6.69e-01 4.64e-02h 1\n", + " 6 3.0906388e+06 5.84e+01 8.33e+01 -1.0 3.58e+03 - 9.23e-02 9.90e-01h 1\n", + " 7 3.0781478e+06 5.78e-01 8.04e+02 -1.0 3.15e+03 - 2.43e-01 9.90e-01f 1\n", + " 8 3.0314265e+06 1.16e-10 5.98e+04 -1.0 3.05e+03 - 4.45e-01 1.00e+00f 1\n", + " 9 2.9313872e+06 2.33e-10 7.87e+06 -1.0 6.34e+03 - 2.09e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.7695437e+06 2.33e-10 7.24e+06 -1.0 3.23e+04 - 8.05e-02 4.53e-01f 1\n", + " 11 1.7469033e+06 1.16e-10 7.17e+06 -1.0 5.19e+04 - 8.83e-03 9.22e-01f 1\n", + " 12 1.7240160e+06 1.16e-10 5.05e+06 -1.0 5.15e+04 - 2.96e-01 2.72e-02f 1\n", + " 13 1.4308624e+06 1.16e-10 3.45e+06 -1.0 7.76e+04 - 3.17e-01 3.66e-01f 1\n", + " 14 1.4247936e+06 1.16e-10 2.47e+06 -1.0 1.04e+05 - 2.83e-01 1.07e-02f 1\n", + " 15 1.2752268e+06 1.16e-10 5.27e+05 -1.0 1.48e+05 - 7.87e-01 2.90e-01f 1\n", + " 16 3.4783597e+05 1.16e-10 4.45e+05 -1.0 1.22e+06 - 1.55e-01 4.77e-01f 1\n", + " 17 3.2686654e+05 1.16e-10 3.78e+05 -1.0 2.58e+04 - 1.50e-01 2.21e-01f 1\n", + " 18 3.1994742e+05 1.16e-10 3.77e+05 -1.0 5.17e+04 - 2.33e-03 7.23e-02f 1\n", + " 19 3.1284773e+05 1.64e-10 1.43e+05 -1.0 1.71e+05 - 6.21e-01 3.17e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.7695233e+05 2.33e-10 1.41e+05 -1.0 6.74e+05 - 1.36e-02 4.64e-02f 1\n", + " 21 2.7511461e+05 1.31e-10 1.01e+05 -1.0 4.35e+05 - 2.86e-01 3.60e-03f 1\n", + " 22 -2.5313195e+03 2.33e-10 1.00e+05 -1.0 5.17e+05 - 5.56e-03 4.65e-01f 1\n", + " 23 -6.3534986e+03 2.55e-10 4.89e+04 -1.0 2.13e+04 - 5.12e-01 1.16e-01f 1\n", + " 24 -1.3774913e+04 2.33e-10 1.59e+04 -1.0 2.80e+04 - 6.74e-01 8.46e-01f 1\n", + " 25 -1.5659465e+04 1.16e-10 1.03e+04 -1.0 7.27e+04 - 3.53e-01 1.00e+00f 1\n", + " 26 -1.6608026e+04 1.16e-10 4.64e+03 -1.0 1.22e+05 - 5.50e-01 1.00e+00f 1\n", + " 27 -1.8579229e+04 2.33e-10 1.05e+03 -1.0 2.43e+05 - 7.74e-01 1.00e+00f 1\n", + " 28 -1.9948873e+04 2.33e-10 1.96e+06 -1.7 5.47e+05 - 5.23e-01 2.77e-01f 1\n", + " 29 -1.9970129e+04 3.49e-10 4.49e+06 -1.7 1.09e+05 - 6.88e-01 1.70e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.0232362e+04 1.16e-10 1.67e+06 -1.7 3.07e+04 - 6.68e-01 6.36e-01f 1\n", + " 31 -2.0360905e+04 2.33e-10 2.30e+05 -1.7 6.56e+04 - 4.18e-01 1.00e+00f 1\n", + " 32 -2.0355950e+04 1.16e-10 3.19e+04 -1.7 7.67e+04 - 8.61e-01 1.00e+00f 1\n", + " 33 -2.0343353e+04 2.33e-10 6.16e+03 -1.7 2.26e+05 - 8.07e-01 1.00e+00f 1\n", + " 34 -2.0342514e+04 2.33e-10 2.00e-07 -1.7 4.99e+04 - 1.00e+00 1.00e+00f 1\n", + " 35 -2.0497997e+04 1.16e-10 8.67e+05 -5.7 1.49e+05 - 5.64e-01 9.98e-01f 1\n", + " 36 -2.0506227e+04 2.33e-10 8.69e+04 -5.7 2.23e+05 - 8.98e-01 6.37e-01f 1\n", + " 37 -2.0508958e+04 3.49e-10 2.92e+04 -5.7 7.77e+04 - 6.64e-01 6.31e-01f 1\n", + " 38 -2.0510855e+04 2.33e-10 1.85e-11 -5.7 4.75e+04 - 1.00e+00 1.00e+00f 1\n", + " 39 -2.0510869e+04 2.33e-10 9.38e-13 -7.0 6.49e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 39\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.0510868931496771e+02 -2.0510868931496771e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.3189017478696777e-07 1.3189017478696777e-05\n", + "Overall NLP error.......: 1.3189017478696777e-07 1.3189017478696777e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 40\n", + "Number of objective gradient evaluations = 40\n", + "Number of equality constraint evaluations = 40\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 40\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 39\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.032\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 69206.31\n", + "Variable costs: 50277.70\n", + "\n", + "Number on/offs: 2\n", + "Sum on/off ramps: 16.00\n", + "Sum nominal ramps: 152.14\n", + "\n", + "Simulating time_step 2020-07-11 19:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -1.7816104e+04 6.29e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -1.7857949e+04 6.28e+03 9.90e+01 -1.0 6.66e+03 - 2.02e-04 1.94e-04h 1\n", + " 2 -1.2634719e+04 6.27e+03 9.98e+01 -1.0 6.88e+03 - 1.94e-04 1.83e-03h 1\n", + " 3 7.2656804e+03 6.23e+03 1.02e+02 -1.0 6.78e+03 - 2.02e-03 6.68e-03h 1\n", + " 4 6.0254580e+04 6.13e+03 1.01e+02 -1.0 1.33e+03 - 1.06e-02 1.69e-02h 1\n", + " 5 2.0401546e+05 5.84e+03 9.20e+01 -1.0 1.33e+03 - 6.69e-01 4.64e-02h 1\n", + " 6 3.0936506e+06 5.84e+01 8.33e+01 -1.0 3.58e+03 - 9.23e-02 9.90e-01h 1\n", + " 7 3.0794433e+06 5.78e-01 8.04e+02 -1.0 3.15e+03 - 2.43e-01 9.90e-01f 1\n", + " 8 3.0311076e+06 1.16e-10 5.98e+04 -1.0 3.05e+03 - 4.45e-01 1.00e+00f 1\n", + " 9 2.9294690e+06 2.33e-10 7.87e+06 -1.0 6.34e+03 - 2.09e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.8016455e+06 1.16e-10 7.24e+06 -1.0 3.23e+04 - 8.05e-02 3.57e-01f 1\n", + " 11 2.7418684e+06 3.49e-10 7.18e+06 -1.0 5.06e+04 - 7.94e-03 5.72e-02f 1\n", + " 12 2.6380058e+06 3.49e-10 6.66e+06 -1.0 9.01e+04 - 7.22e-02 6.98e-02f 1\n", + " 13 2.4165762e+06 2.33e-10 5.59e+06 -1.0 8.63e+04 - 1.61e-01 1.48e-01f 1\n", + " 14 1.6080251e+06 1.16e-10 3.48e+06 -1.0 7.72e+04 - 3.78e-01 5.60e-01f 1\n", + " 15 1.5331099e+06 2.33e-10 1.93e+06 -1.0 7.43e+04 - 4.45e-01 8.99e-02f 1\n", + " 16 1.5229704e+06 3.49e-10 1.46e+06 -1.0 1.38e+05 - 2.43e-01 1.87e-02f 1\n", + " 17 1.3010833e+06 2.33e-10 3.66e+05 -1.0 1.80e+05 - 7.50e-01 3.74e-01f 1\n", + " 18 1.2328386e+06 1.95e-10 3.54e+05 -1.0 4.88e+05 - 3.13e-02 5.70e-02f 1\n", + " 19 1.2162044e+06 2.33e-10 3.54e+05 -1.0 5.21e+05 - 1.98e-03 1.39e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.1941765e+06 3.49e-10 3.16e+05 -1.0 5.26e+05 - 1.07e-01 1.89e-02f 1\n", + " 21 3.5684209e+05 1.75e-10 3.15e+05 -1.0 5.85e+05 - 1.95e-03 6.36e-01f 1\n", + " 22 2.1075350e+05 1.16e-10 2.26e+05 -1.0 2.83e+05 - 2.82e-01 1.91e-01f 1\n", + " 23 1.3675990e+05 2.33e-10 9.03e+04 -1.0 2.45e+05 - 6.01e-01 2.53e-01f 1\n", + " 24 -1.0054843e+04 2.33e-10 6.01e+04 -1.0 4.85e+05 - 3.34e-01 2.67e-01f 1\n", + " 25 -1.4854710e+04 1.16e-10 1.25e+04 -1.0 1.09e+04 - 7.91e-01 3.19e-01f 1\n", + " 26 -2.1834698e+04 1.16e-10 9.53e+03 -1.0 5.10e+04 - 2.40e-01 9.47e-01f 1\n", + " 27 -2.2533210e+04 1.16e-10 3.16e+04 -1.0 6.42e+04 - 1.75e-01 1.00e+00f 1\n", + " 28 -2.3120188e+04 1.16e-10 1.64e+03 -1.0 7.27e+04 - 7.91e-01 1.00e+00f 1\n", + " 29 -2.3609407e+04 1.16e-10 4.89e+06 -1.7 2.43e+05 - 8.07e-01 1.96e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.3670246e+04 1.16e-10 5.43e+06 -1.7 1.71e+04 - 8.45e-01 1.19e-01f 1\n", + " 31 -2.4045781e+04 2.33e-10 1.76e+05 -1.7 9.24e+04 - 2.62e-01 1.00e+00f 1\n", + " 32 -2.4040787e+04 2.33e-10 4.16e+04 -1.7 8.86e+04 - 7.63e-01 1.00e+00f 1\n", + " 33 -2.4034012e+04 1.16e-10 5.59e+03 -1.7 1.35e+05 - 8.66e-01 1.00e+00f 1\n", + " 34 -2.4031687e+04 2.33e-10 2.00e-07 -1.7 4.21e+04 - 1.00e+00 1.00e+00f 1\n", + " 35 -2.4185465e+04 2.33e-10 8.25e+05 -5.7 9.13e+04 - 5.85e-01 9.97e-01f 1\n", + " 36 -2.4193149e+04 1.16e-10 1.11e+05 -5.7 2.49e+05 - 8.64e-01 6.56e-01f 1\n", + " 37 -2.4197670e+04 1.16e-10 1.13e+04 -5.7 1.06e+05 - 9.00e-01 9.58e-01f 1\n", + " 38 -2.4197806e+04 1.16e-10 1.85e-11 -5.7 2.21e+03 - 1.00e+00 1.00e+00f 1\n", + " 39 -2.4197818e+04 5.82e-11 9.38e-13 -7.0 4.22e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 39\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.4197818126813479e+02 -2.4197818126813479e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 1.2557873033799102e-07 1.2557873033799101e-05\n", + "Overall NLP error.......: 1.2557873033799102e-07 1.2557873033799101e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 40\n", + "Number of objective gradient evaluations = 40\n", + "Number of equality constraint evaluations = 40\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 40\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 39\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.027\n", + "Total CPU secs in NLP function evaluations = 0.002\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 75215.86\n", + "Variable costs: 51460.55\n", + "\n", + "Number on/offs: 4\n", + "Sum on/off ramps: 32.00\n", + "Sum nominal ramps: 39.07\n", + "\n", + "Simulating time_step 2020-07-11 20:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.1453954e+04 6.29e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.1495504e+04 6.28e+03 9.90e+01 -1.0 2.70e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -1.8508106e+04 6.28e+03 9.99e+01 -1.0 2.66e+04 - 1.94e-04 1.01e-03h 1\n", + " 3 -1.0746797e+04 6.26e+03 1.01e+02 -1.0 1.79e+04 - 8.76e-04 2.40e-03h 1\n", + " 4 1.2316990e+04 6.22e+03 1.01e+02 -1.0 2.37e+03 - 3.42e-03 6.66e-03h 1\n", + " 5 8.3882287e+04 6.10e+03 1.00e+02 -1.0 2.33e+03 - 1.22e-02 2.03e-02h 1\n", + " 6 2.7926167e+05 5.75e+03 9.06e+01 -1.0 2.37e+03 - 1.07e-01 5.64e-02h 1\n", + " 7 1.0875019e+06 4.33e+03 8.59e+01 -1.0 2.65e+03 - 1.21e-01 2.48e-01h 1\n", + " 8 2.2928609e+06 2.19e+03 3.45e+01 -1.0 3.01e+03 - 6.52e-01 4.93e-01h 1\n", + " 9 3.1233638e+06 6.10e+02 4.72e+01 -1.0 8.56e+03 - 1.83e-01 7.22e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.3439174e+06 6.10e+00 1.33e+02 -1.0 9.93e+03 - 4.28e-01 9.90e-01h 1\n", + " 11 3.1035273e+06 5.47e-02 8.23e+03 -1.0 1.37e+04 - 1.92e-01 9.91e-01f 1\n", + " 12 3.0812731e+06 5.28e-02 6.86e+04 -1.0 2.60e+04 - 1.10e-01 3.53e-02f 1\n", + " 13 3.0800897e+06 5.27e-02 7.08e+04 -1.0 4.17e+04 - 3.43e-03 1.28e-03f 1\n", + " 14 2.9785163e+06 4.90e-02 5.87e+03 -1.0 8.70e+04 - 2.62e-03 7.07e-02f 1\n", + " 15 2.9675209e+06 4.87e-02 5.09e+04 -1.0 8.77e+04 - 5.77e-02 7.16e-03f 1\n", + " 16 2.8473455e+06 4.50e-02 1.59e+05 -1.0 8.80e+04 - 1.74e-01 7.48e-02f 1\n", + " 17 1.6657757e+06 1.61e-02 5.29e+05 -1.0 8.49e+04 - 1.46e-01 6.43e-01f 1\n", + " 18 1.6511787e+06 1.58e-02 1.46e+06 -1.0 5.48e+04 - 7.63e-01 1.87e-02f 1\n", + " 19 1.5484032e+06 1.36e-02 1.32e+06 -1.0 2.22e+05 - 1.63e-01 1.35e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.2297471e+06 7.96e-03 1.30e+06 -1.0 2.50e+05 - 6.51e-01 4.15e-01f 1\n", + " 21 1.2246632e+06 7.93e-03 1.33e+06 -1.0 4.48e+05 - 1.92e-02 4.70e-03f 1\n", + " 22 1.1943284e+06 7.73e-03 1.23e+06 -1.0 4.56e+05 - 4.82e-04 2.51e-02f 1\n", + " 23 1.1764342e+06 7.61e-03 1.39e+06 -1.0 4.46e+05 - 8.37e-02 1.48e-02f 1\n", + " 24 1.0150672e+06 6.69e-03 1.03e+06 -1.0 5.44e+05 - 4.24e-02 1.21e-01f 1\n", + " 25 2.1949268e+05 2.59e-03 4.70e+05 -1.0 5.11e+05 - 2.72e-01 6.13e-01f 1\n", + " 26 1.7018740e+05 2.25e-03 6.58e+05 -1.0 2.39e+05 - 4.62e-01 1.32e-01f 1\n", + " 27 1.0338564e+04 1.34e-03 8.05e+05 -1.0 3.09e+05 - 5.84e-01 4.02e-01f 1\n", + " 28 -6.8505770e+03 7.15e-04 6.50e+05 -1.0 8.66e+03 - 6.21e-01 4.68e-01f 1\n", + " 29 -1.9737163e+04 1.96e-04 4.09e+03 -1.0 2.21e+04 - 4.99e-01 7.26e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.1427439e+04 1.29e-04 2.85e+05 -1.0 4.05e+04 - 9.58e-01 3.41e-01f 1\n", + " 31 -2.1917498e+04 1.14e-04 2.78e+05 -1.0 1.23e+05 - 9.40e-01 1.20e-01f 1\n", + " 32 -2.4404075e+04 8.02e-06 1.98e+04 -1.0 5.42e+03 - 1.00e+00 9.29e-01f 1\n", + " 33 -2.4600397e+04 2.33e-10 1.00e-06 -1.0 1.09e+03 - 1.00e+00 1.00e+00f 1\n", + " 34 -2.5478937e+04 2.33e-10 4.84e+04 -5.7 9.95e+03 - 9.92e-01 9.87e-01f 1\n", + " 35 -2.5486866e+04 2.33e-10 3.64e+04 -5.7 1.12e+02 - 1.00e+00 7.25e-01f 1\n", + " 36 -2.5488655e+04 1.16e-10 8.20e+03 -5.7 3.08e+01 - 2.25e-02 7.75e-01f 1\n", + " 37 -2.5488940e+04 1.16e-10 2.20e+03 -5.7 6.93e+00 - 1.00e+00 7.32e-01f 1\n", + " 38 -2.5488992e+04 1.16e-10 5.78e+02 -5.7 2.36e+00 - 9.84e-01 8.11e-01f 1\n", + " 39 -2.5489005e+04 1.16e-10 1.85e-11 -5.7 5.22e-01 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -2.5489016e+04 2.33e-10 9.09e-02 -7.0 2.07e-01 - 9.99e-01 1.00e+00f 1\n", + " 41 -2.5489016e+04 1.16e-10 3.46e+00 -7.0 2.79e+00 - 1.00e+00 7.70e-01h 1\n", + " 42 -2.5489016e+04 1.16e-10 9.38e-13 -7.0 9.19e-01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 42\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.5489015554263744e+02 -2.5489015554263744e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 3.2337589396370780e-12 1.1641532182693481e-10\n", + "Complementarity.........: 1.8859723382819099e-07 1.8859723382819100e-05\n", + "Overall NLP error.......: 1.8859723382819099e-07 1.8859723382819100e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 43\n", + "Number of objective gradient evaluations = 43\n", + "Number of equality constraint evaluations = 43\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 43\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 42\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.030\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 62776.44\n", + "Variable costs: 53596.65\n", + "\n", + "Number on/offs: 6\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 107.87\n", + "\n", + "Simulating time_step 2020-07-11 21:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.2694753e+04 6.29e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.2736691e+04 6.28e+03 9.90e+01 -1.0 5.63e+03 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.0047346e+04 6.28e+03 9.99e+01 -1.0 1.42e+03 - 1.94e-04 8.89e-04h 1\n", + " 3 -1.2275648e+04 6.26e+03 1.00e+02 -1.0 1.38e+03 - 1.08e-03 2.41e-03h 1\n", + " 4 1.0252712e+04 6.22e+03 1.00e+02 -1.0 1.24e+03 - 3.47e-03 6.81e-03h 1\n", + " 5 7.8654518e+04 6.10e+03 1.00e+02 -1.0 1.08e+03 - 1.23e-02 2.03e-02h 1\n", + " 6 2.7261374e+05 5.74e+03 9.04e+01 -1.0 1.06e+03 - 2.60e-01 5.85e-02h 1\n", + " 7 1.8942984e+06 2.75e+03 9.02e+01 -1.0 1.04e+03 - 1.03e-01 5.21e-01h 1\n", + " 8 3.0146097e+06 6.82e+02 5.18e+01 -1.0 6.00e+02 - 5.24e-01 7.52e-01h 1\n", + " 9 3.3643492e+06 6.81e+00 7.06e+01 -1.0 5.79e+02 - 2.28e-01 9.90e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.3417255e+06 6.19e-02 5.22e+03 -1.0 9.51e+02 - 4.24e-01 9.91e-01f 1\n", + " 11 3.2493212e+06 1.16e-10 6.87e+05 -1.0 4.23e+03 - 2.55e-01 1.00e+00f 1\n", + " 12 3.2189179e+06 2.33e-10 1.07e+05 -1.0 2.39e+04 - 1.17e-01 6.21e-02f 1\n", + " 13 3.2180880e+06 2.33e-10 5.07e+04 -1.0 4.20e+04 - 7.56e-03 1.02e-03f 1\n", + " 14 3.0960662e+06 2.33e-10 5.27e+05 -1.0 8.32e+04 - 1.24e-03 5.72e-02f 1\n", + " 15 3.0779192e+06 2.33e-10 1.34e+05 -1.0 8.88e+04 - 5.33e-02 7.80e-03f 1\n", + " 16 2.8946986e+06 4.66e-10 6.25e+05 -1.0 8.91e+04 - 1.69e-01 7.61e-02f 1\n", + " 17 2.3047516e+06 4.66e-10 7.15e+04 -1.0 8.59e+04 - 1.44e-01 2.27e-01f 1\n", + " 18 2.2985750e+06 5.82e-10 2.14e+06 -1.0 6.95e+04 - 3.87e-01 2.90e-03f 1\n", + " 19 2.2541881e+06 5.82e-10 2.87e+06 -1.0 8.58e+04 - 2.54e-01 2.88e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.4857112e+06 3.49e-10 2.39e+06 -1.0 1.14e+05 - 8.57e-01 4.97e-01f 1\n", + " 21 1.4555568e+06 3.49e-10 2.38e+06 -1.0 5.87e+05 - 9.60e-02 1.85e-02f 1\n", + " 22 1.3479261e+06 3.49e-10 2.25e+06 -1.0 6.27e+05 - 1.85e-01 7.02e-02f 1\n", + " 23 1.3263431e+06 2.33e-10 2.28e+06 -1.0 6.69e+05 - 2.39e-01 1.36e-02f 1\n", + " 24 1.1520902e+06 3.49e-10 2.00e+06 -1.0 7.28e+05 - 3.25e-03 1.13e-01f 1\n", + " 25 1.1136994e+06 4.66e-10 2.07e+06 -1.0 6.55e+05 - 6.00e-01 2.34e-02f 1\n", + " 26 2.9770870e+05 2.33e-10 1.20e+06 -1.0 7.21e+05 - 2.11e-02 4.06e-01f 1\n", + " 27 2.0778338e+05 1.16e-10 1.01e+06 -1.0 2.83e+05 - 5.87e-01 1.85e-01f 1\n", + " 28 3.8922268e+03 2.33e-10 2.99e+05 -1.0 1.61e+05 - 5.75e-01 7.00e-01f 1\n", + " 29 -2.6071167e+04 1.75e-10 4.14e+04 -1.0 1.87e+04 - 5.30e-01 8.46e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.1493058e+04 1.16e-10 3.28e+03 -1.0 3.86e+04 - 5.15e-01 1.00e+00f 1\n", + " 31 -3.2080549e+04 2.33e-10 2.26e+03 -1.0 7.36e+04 - 6.50e-01 1.00e+00f 1\n", + " 32 -3.2118788e+04 2.33e-10 6.49e+06 -1.7 6.49e+04 - 8.52e-01 4.08e-02f 1\n", + " 33 -3.2423857e+04 2.33e-10 2.00e+06 -1.7 2.64e+04 - 6.15e-01 6.80e-01f 1\n", + " 34 -3.2551978e+04 2.33e-10 2.19e+05 -1.7 5.50e+04 - 5.19e-01 1.00e+00f 1\n", + " 35 -3.2550168e+04 1.16e-10 2.82e+04 -1.7 6.90e+04 - 8.71e-01 1.00e+00f 1\n", + " 36 -3.2548046e+04 1.16e-10 2.00e-07 -1.7 5.20e+04 - 1.00e+00 1.00e+00f 1\n", + " 37 -3.2673186e+04 2.33e-10 6.06e+05 -5.7 3.60e+04 - 6.95e-01 9.97e-01f 1\n", + " 38 -3.2676659e+04 2.33e-10 8.47e+04 -5.7 1.65e+05 - 8.58e-01 6.48e-01f 1\n", + " 39 -3.2678717e+04 1.16e-10 8.51e+03 -5.7 6.65e+04 - 9.01e-01 9.81e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.2678736e+04 1.16e-10 1.85e-11 -5.7 4.13e+02 - 1.00e+00 1.00e+00f 1\n", + " 41 -3.2678746e+04 2.33e-10 9.38e-13 -7.0 4.54e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 41\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.2678745894924617e+02 -3.2678745894924617e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.3570899226293397e-07 1.3570899226293396e-05\n", + "Overall NLP error.......: 1.3570899226293397e-07 1.3570899226293396e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 42\n", + "Number of objective gradient evaluations = 42\n", + "Number of equality constraint evaluations = 42\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 42\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 41\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.020\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 62776.44\n", + "Variable costs: 46566.81\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 244.06\n", + "\n", + "Simulating time_step 2020-07-11 22:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.9833507e+04 6.29e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.9875076e+04 6.28e+03 9.90e+01 -1.0 1.62e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.7175885e+04 6.28e+03 9.99e+01 -1.0 1.64e+04 - 1.94e-04 8.80e-04h 1\n", + " 3 -2.1088243e+04 6.27e+03 1.00e+02 -1.0 1.42e+04 - 8.99e-04 1.77e-03h 1\n", + " 4 -2.9905499e+03 6.24e+03 1.00e+02 -1.0 4.27e+03 - 1.75e-03 4.93e-03h 1\n", + " 5 2.4665054e+04 6.19e+03 9.97e+01 -1.0 2.04e+03 - 7.82e-03 7.39e-03h 1\n", + " 6 1.4700376e+05 5.99e+03 9.93e+01 -1.0 2.06e+03 - 1.81e-02 3.27e-02h 1\n", + " 7 4.6350752e+05 5.47e+03 8.61e+01 -1.0 2.09e+03 - 3.16e-01 8.74e-02h 1\n", + " 8 2.4591506e+06 2.15e+03 7.86e+01 -1.0 3.00e+03 - 1.63e-01 6.07e-01h 1\n", + " 9 3.6989983e+06 2.15e+01 7.99e+01 -1.0 3.43e+03 - 4.27e-01 9.90e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.6086943e+06 2.08e-01 1.96e+03 -1.0 5.29e+03 - 3.21e-01 9.90e-01f 1\n", + " 11 3.4435772e+06 1.75e-10 1.95e+05 -1.0 7.24e+03 - 3.33e-01 1.00e+00f 1\n", + " 12 3.1191409e+06 1.16e-10 6.65e+06 -1.0 1.71e+04 - 3.29e-01 1.00e+00f 1\n", + " 13 3.0870726e+06 1.16e-10 6.25e+06 -1.0 3.41e+04 - 6.00e-02 3.06e-02f 1\n", + " 14 3.0860134e+06 2.33e-10 6.19e+06 -1.0 4.32e+04 - 8.69e-03 1.01e-03f 1\n", + " 15 2.9936228e+06 2.91e-10 6.19e+06 -1.0 7.77e+04 - 1.21e-03 5.53e-02f 1\n", + " 16 2.9749284e+06 2.33e-10 5.85e+06 -1.0 8.91e+04 - 5.45e-02 1.01e-02f 1\n", + " 17 2.8362654e+06 2.33e-10 4.88e+06 -1.0 8.93e+04 - 1.66e-01 7.14e-02f 1\n", + " 18 2.5435700e+06 2.33e-10 4.18e+06 -1.0 8.64e+04 - 1.43e-01 1.33e-01f 1\n", + " 19 2.5403918e+06 2.91e-10 2.90e+06 -1.0 7.75e+04 - 3.05e-01 1.60e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.5580466e+06 1.75e-10 2.26e+06 -1.0 7.93e+04 - 2.23e-01 5.67e-01f 1\n", + " 21 1.5450025e+06 1.75e-10 1.71e+05 -1.0 9.76e+04 - 9.24e-01 1.68e-02f 1\n", + " 22 1.5073971e+06 1.46e-10 1.62e+05 -1.0 8.45e+05 - 4.96e-02 1.78e-02f 1\n", + " 23 1.4108975e+06 3.49e-10 1.44e+05 -1.0 8.81e+05 - 1.10e-01 4.48e-02f 1\n", + " 24 1.4028192e+06 3.49e-10 1.34e+05 -1.0 8.70e+05 - 6.98e-02 4.45e-03f 1\n", + " 25 1.2770689e+06 2.33e-10 1.34e+05 -1.0 8.76e+05 - 9.12e-04 6.96e-02f 1\n", + " 26 1.1873907e+06 3.49e-10 1.09e+05 -1.0 8.13e+05 - 1.84e-01 4.75e-02f 1\n", + " 27 5.9397663e+05 2.33e-10 1.04e+05 -1.0 7.58e+05 - 5.39e-02 3.13e-01f 1\n", + " 28 2.6994529e+05 2.33e-10 3.89e+04 -1.0 4.05e+05 - 6.24e-01 2.59e-01f 1\n", + " 29 1.3419107e+05 3.49e-10 1.36e+04 -1.0 2.26e+05 - 6.49e-01 3.42e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 1.0059379e+05 4.66e-10 5.09e+03 -1.0 2.14e+05 - 6.27e-01 1.79e-01f 1\n", + " 31 -1.2057393e+04 2.33e-10 3.20e+03 -1.0 5.97e+04 - 3.72e-01 8.04e-01f 1\n", + " 32 -2.3384022e+04 1.16e-10 1.65e+02 -1.0 5.19e+04 - 9.48e-01 4.92e-01f 1\n", + " 33 -2.4802520e+04 2.33e-10 5.62e+06 -2.5 3.04e+05 - 6.79e-01 1.00e-01f 1\n", + " 34 -2.8398460e+04 2.33e-10 5.75e+06 -2.5 8.73e+03 - 9.97e-01 3.41e-01f 1\n", + " 35 -3.4880487e+04 2.33e-10 3.57e+05 -2.5 3.12e+03 - 1.00e+00 9.38e-01f 1\n", + " 36 -3.5192448e+04 2.33e-10 9.68e+04 -2.5 1.61e+02 - 1.00e+00 7.29e-01f 1\n", + " 37 -3.5275778e+04 2.33e-10 2.75e+04 -2.5 6.96e+01 - 1.00e+00 7.16e-01f 1\n", + " 38 -3.5309045e+04 1.16e-10 2.83e-08 -2.5 1.44e+01 - 1.00e+00 1.00e+00f 1\n", + " 39 -3.5326187e+04 2.33e-10 3.04e+04 -5.7 3.49e+02 - 1.00e+00 8.92e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.5327527e+04 2.33e-10 4.32e+03 -5.7 3.73e+01 - 3.30e-02 8.58e-01f 1\n", + " 41 -3.5327561e+04 2.33e-10 3.80e+03 -5.7 5.33e+00 - 9.56e-01 1.92e-01f 1\n", + " 42 -3.5327673e+04 3.49e-10 6.91e+02 -5.7 6.01e+00 - 4.12e-01 8.11e-01f 1\n", + " 43 -3.5327695e+04 1.16e-10 3.72e-01 -5.7 1.01e+00 - 9.98e-01 1.00e+00f 1\n", + " 44 -3.5327697e+04 1.16e-10 1.85e-11 -5.7 2.18e-01 - 1.00e+00 1.00e+00f 1\n", + " 45 -3.5327706e+04 1.16e-10 9.38e-13 -7.0 2.56e-01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 45\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.5327705501088315e+02 -3.5327705501088312e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2880385951482124e-07 1.2880385951482123e-05\n", + "Overall NLP error.......: 1.2880385951482124e-07 1.2880385951482123e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 46\n", + "Number of objective gradient evaluations = 46\n", + "Number of equality constraint evaluations = 46\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 46\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 45\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.035\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 62154.87\n", + "Variable costs: 40297.90\n", + "\n", + "Number on/offs: 1\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 281.10\n", + "\n", + "Simulating time_step 2020-07-11 23:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.2432062e+04 6.29e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.2473864e+04 6.28e+03 9.90e+01 -1.0 1.11e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.9818216e+04 6.28e+03 9.99e+01 -1.0 1.03e+04 - 1.94e-04 8.80e-04h 1\n", + " 3 -2.1916354e+04 6.26e+03 1.01e+02 -1.0 4.43e+03 - 8.99e-04 2.41e-03h 1\n", + " 4 8.5677786e+02 6.22e+03 1.01e+02 -1.0 1.26e+03 - 3.46e-03 6.71e-03h 1\n", + " 5 7.0170309e+04 6.10e+03 1.00e+02 -1.0 1.08e+03 - 1.22e-02 2.00e-02h 1\n", + " 6 2.6600256e+05 5.75e+03 9.05e+01 -1.0 1.06e+03 - 2.70e-01 5.76e-02h 1\n", + " 7 1.9956536e+06 2.64e+03 9.10e+01 -1.0 1.07e+03 - 1.01e-01 5.41e-01h 1\n", + " 8 3.1073942e+06 6.24e+02 5.37e+01 -1.0 1.27e+03 - 5.11e-01 7.63e-01h 1\n", + " 9 3.4035994e+06 6.24e+00 7.64e+01 -1.0 3.31e+03 - 2.34e-01 9.90e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.3229408e+06 5.61e-02 5.45e+03 -1.0 5.91e+03 - 4.49e-01 9.91e-01f 1\n", + " 11 3.0384738e+06 2.33e-10 7.79e+05 -1.0 1.85e+04 - 2.26e-01 1.00e+00f 1\n", + " 12 3.0027817e+06 2.33e-10 1.08e+04 -1.0 3.21e+04 - 1.19e-01 4.34e-02f 1\n", + " 13 3.0016083e+06 2.33e-10 3.55e+04 -1.0 4.19e+04 - 6.53e-03 1.15e-03f 1\n", + " 14 2.9038576e+06 2.33e-10 4.49e+05 -1.0 8.66e+04 - 1.19e-03 5.76e-02f 1\n", + " 15 2.8894138e+06 4.07e-10 5.97e+04 -1.0 8.86e+04 - 5.32e-02 8.10e-03f 1\n", + " 16 2.7475160e+06 3.49e-10 7.04e+05 -1.0 8.89e+04 - 1.70e-01 7.57e-02f 1\n", + " 17 2.4507237e+06 3.49e-10 6.42e+05 -1.0 8.57e+04 - 1.43e-01 1.38e-01f 1\n", + " 18 2.4475371e+06 2.33e-10 2.39e+06 -1.0 7.64e+04 - 3.05e-01 1.65e-03f 1\n", + " 19 1.5157080e+06 2.33e-10 2.58e+05 -1.0 7.81e+04 - 2.33e-01 5.61e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.5033618e+06 3.49e-10 2.52e+06 -1.0 9.91e+04 - 9.23e-01 1.66e-02f 1\n", + " 21 1.4600218e+06 3.49e-10 2.48e+06 -1.0 8.51e+05 - 4.92e-02 2.07e-02f 1\n", + " 22 1.3709856e+06 2.33e-10 2.39e+06 -1.0 8.82e+05 - 1.15e-01 4.19e-02f 1\n", + " 23 1.3624219e+06 2.33e-10 2.39e+06 -1.0 8.71e+05 - 5.77e-02 4.82e-03f 1\n", + " 24 1.2528304e+06 2.33e-10 2.23e+06 -1.0 8.75e+05 - 7.83e-04 6.16e-02f 1\n", + " 25 1.1672326e+06 2.33e-10 2.15e+06 -1.0 8.20e+05 - 1.65e-01 4.59e-02f 1\n", + " 26 6.4578988e+05 2.33e-10 1.52e+06 -1.0 7.69e+05 - 5.53e-02 2.79e-01f 1\n", + " 27 2.5420079e+05 2.33e-10 1.12e+06 -1.0 4.68e+05 - 5.96e-01 2.90e-01f 1\n", + " 28 1.3905991e+05 2.33e-10 8.09e+05 -1.0 2.30e+05 - 6.00e-01 2.95e-01f 1\n", + " 29 -1.8165300e+04 2.33e-10 1.85e+05 -1.0 1.04e+05 - 8.51e-01 7.73e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.0242561e+04 2.33e-10 1.71e+05 -1.0 3.14e+05 - 7.63e-01 8.89e-02f 1\n", + " 31 -2.6600261e+04 1.16e-10 1.19e+05 -1.0 2.00e+05 - 8.20e-01 3.10e-01f 1\n", + " 32 -3.9517467e+04 1.16e-10 1.26e+03 -1.0 9.44e+03 - 9.85e-01 9.89e-01f 1\n", + " 33 -4.0162220e+04 3.49e-10 2.00e-07 -1.7 2.50e+04 - 1.00e+00 1.00e+00f 1\n", + " 34 -4.0276609e+04 1.16e-10 5.31e+04 -5.7 2.67e+03 - 9.98e-01 9.71e-01f 1\n", + " 35 -4.0279124e+04 1.16e-10 3.54e+03 -5.7 7.54e+01 - 9.88e-01 9.37e-01f 1\n", + " 36 -4.0279187e+04 2.33e-10 1.98e+03 -5.7 5.71e+00 - 7.60e-01 4.45e-01f 1\n", + " 37 -4.0279258e+04 2.33e-10 2.39e+01 -5.7 3.13e+00 - 8.96e-01 9.96e-01f 1\n", + " 38 -4.0279260e+04 2.33e-10 1.85e-11 -5.7 2.17e-02 - 1.00e+00 1.00e+00f 1\n", + " 39 -4.0279269e+04 2.33e-10 9.24e-13 -7.0 2.77e-01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 39\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -4.0279268565481340e+02 -4.0279268565481339e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.2783766129895096e-07 1.2783766129895096e-05\n", + "Overall NLP error.......: 1.2783766129895096e-07 1.2783766129895096e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 40\n", + "Number of objective gradient evaluations = 40\n", + "Number of equality constraint evaluations = 40\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 40\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 39\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.025\n", + "Total CPU secs in NLP function evaluations = 0.006\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 61106.87\n", + "Variable costs: 36547.04\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 142.17\n", + "\n", + "Simulating time_step 2020-07-12 00:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.7332943e+04 6.29e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.7374399e+04 6.28e+03 9.90e+01 -1.0 2.61e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -3.4619066e+04 6.28e+03 9.99e+01 -1.0 2.56e+04 - 1.94e-04 8.80e-04h 1\n", + " 3 -2.7595869e+04 6.27e+03 1.01e+02 -1.0 1.70e+04 - 8.29e-04 1.94e-03h 1\n", + " 4 -7.6745740e+03 6.23e+03 1.01e+02 -1.0 2.27e+03 - 2.74e-03 5.15e-03h 1\n", + " 5 2.5176471e+04 6.18e+03 9.96e+01 -1.0 2.23e+03 - 8.88e-03 8.37e-03h 1\n", + " 6 1.7329000e+05 5.95e+03 9.92e+01 -1.0 2.26e+03 - 2.06e-02 3.78e-02h 1\n", + " 7 5.3047753e+05 5.38e+03 8.48e+01 -1.0 2.31e+03 - 2.70e-01 9.48e-02h 1\n", + " 8 2.3871901e+06 2.44e+03 7.63e+01 -1.0 3.27e+03 - 1.89e-01 5.47e-01h 1\n", + " 9 3.8119961e+06 1.13e+02 6.29e+01 -1.0 4.06e+03 - 4.30e-01 9.54e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.7659064e+06 1.12e+00 4.01e+02 -1.0 6.94e+03 - 2.73e-01 9.90e-01f 1\n", + " 11 3.5914207e+06 4.97e-03 3.17e+04 -1.0 8.75e+03 - 4.28e-01 9.96e-01f 1\n", + " 12 3.1931713e+06 1.75e-10 4.17e+06 -1.0 1.82e+04 - 2.51e-01 1.00e+00f 1\n", + " 13 3.1592719e+06 2.33e-10 3.43e+06 -1.0 3.24e+04 - 1.05e-01 3.58e-02f 1\n", + " 14 3.1579862e+06 3.49e-10 3.37e+06 -1.0 4.16e+04 - 8.56e-03 1.23e-03f 1\n", + " 15 3.0667028e+06 2.33e-10 3.61e+06 -1.0 6.32e+04 - 1.39e-03 5.88e-02f 1\n", + " 16 3.0462512e+06 3.49e-10 3.24e+06 -1.0 8.96e+04 - 5.47e-02 1.09e-02f 1\n", + " 17 2.9025292e+06 2.33e-10 2.30e+06 -1.0 8.97e+04 - 1.71e-01 7.27e-02f 1\n", + " 18 2.6043503e+06 3.49e-10 1.93e+06 -1.0 8.68e+04 - 1.43e-01 1.32e-01f 1\n", + " 19 2.6010776e+06 2.33e-10 4.02e+05 -1.0 7.79e+04 - 3.00e-01 1.61e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.5839975e+06 1.16e-10 1.39e+06 -1.0 7.96e+04 - 2.29e-01 5.69e-01f 1\n", + " 21 1.5703694e+06 2.33e-10 1.13e+06 -1.0 9.82e+04 - 9.24e-01 1.69e-02f 1\n", + " 22 1.5335534e+06 3.49e-10 1.12e+06 -1.0 8.46e+05 - 4.98e-02 1.72e-02f 1\n", + " 23 1.4346476e+06 3.49e-10 1.08e+06 -1.0 8.83e+05 - 1.08e-01 4.53e-02f 1\n", + " 24 1.4264417e+06 3.49e-10 1.09e+06 -1.0 8.71e+05 - 7.19e-02 4.44e-03f 1\n", + " 25 1.2958293e+06 2.33e-10 1.00e+06 -1.0 8.76e+05 - 9.34e-04 7.11e-02f 1\n", + " 26 1.2054250e+06 3.49e-10 9.78e+05 -1.0 8.13e+05 - 1.91e-01 4.72e-02f 1\n", + " 27 5.8575670e+05 2.33e-10 6.28e+05 -1.0 7.56e+05 - 5.31e-02 3.22e-01f 1\n", + " 28 2.7553744e+05 2.33e-10 5.18e+05 -1.0 3.88e+05 - 6.26e-01 2.51e-01f 1\n", + " 29 1.3128492e+05 3.49e-10 3.49e+05 -1.0 2.24e+05 - 6.58e-01 3.54e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.2053622e+04 2.33e-10 6.84e+04 -1.0 2.44e+05 - 8.13e-01 8.04e-01f 1\n", + " 31 -2.8384889e+04 3.49e-10 5.31e+04 -1.0 7.89e+05 - 6.63e-01 2.42e-01f 1\n", + " 32 -3.2514816e+04 1.16e-10 4.16e+04 -1.0 4.16e+05 - 7.29e-01 2.26e-01f 1\n", + " 33 -3.5406438e+04 2.33e-10 3.34e+04 -1.0 3.29e+05 - 7.52e-01 2.02e-01f 1\n", + " 34 -3.8300125e+04 1.16e-10 2.32e+04 -1.0 1.68e+04 - 1.00e+00 3.06e-01f 1\n", + " 35 -4.4749105e+04 1.16e-10 1.00e-06 -1.0 5.11e+03 - 1.00e+00 1.00e+00f 1\n", + " 36 -4.5300978e+04 2.33e-10 2.27e+04 -5.7 1.47e+04 - 9.89e-01 9.87e-01f 1\n", + " 37 -4.5308263e+04 2.33e-10 3.45e+03 -5.7 1.89e+02 - 1.00e+00 9.74e-01f 1\n", + " 38 -4.5308348e+04 1.16e-10 1.60e+03 -5.7 4.81e+00 - 7.77e-01 5.35e-01f 1\n", + " 39 -4.5308414e+04 2.33e-10 2.42e+01 -5.7 2.25e+00 - 9.21e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -4.5308415e+04 2.33e-10 1.85e-11 -5.7 1.41e-03 - 1.00e+00 1.00e+00h 1\n", + " 41 -4.5308424e+04 2.33e-10 9.38e-13 -7.0 2.59e-01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 41\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -4.5308423541376766e+02 -4.5308423541376767e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.2627758109316031e-07 1.2627758109316031e-05\n", + "Overall NLP error.......: 1.2627758109316031e-07 1.2627758109316031e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 42\n", + "Number of objective gradient evaluations = 42\n", + "Number of equality constraint evaluations = 42\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 42\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 41\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.019\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 57898.87\n", + "Variable costs: 28412.85\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 355.43\n", + "\n", + "Simulating time_step 2020-07-12 01:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -4.2311424e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -4.2353325e+04 2.91e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -4.0495979e+04 2.91e+05 9.99e+01 -1.0 2.56e+04 - 1.94e-04 8.80e-04h 1\n", + " 3 -3.5445936e+04 2.90e+05 1.01e+02 -1.0 1.70e+04 - 8.29e-04 1.95e-03h 1\n", + " 4 -2.0713045e+04 2.89e+05 1.01e+02 -1.0 2.27e+03 - 2.74e-03 5.15e-03h 1\n", + " 5 3.8123187e+03 2.86e+05 9.96e+01 -1.0 2.97e+03 - 8.88e-03 8.37e-03h 1\n", + " 6 2.2240262e+04 2.85e+05 9.77e+01 -1.0 1.08e+04 - 1.25e-02 6.27e-03h 1\n", + " 7 2.6138035e+04 2.84e+05 1.91e+02 -1.0 1.59e+05 - 4.39e-02 1.29e-03h 1\n", + " 8 1.8790043e+05 2.69e+05 9.44e+01 -1.0 1.18e+05 - 2.47e-03 5.25e-02h 1\n", + " 9 2.0053134e+05 2.68e+05 1.75e+02 -1.0 6.09e+04 - 7.98e-02 4.23e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.1167622e+06 9.80e+04 1.58e+02 -1.0 2.88e+04 - 6.69e-02 6.34e-01h 1\n", + " 11 2.6340969e+06 5.08e+04 8.94e+01 -1.0 1.05e+04 - 4.51e-01 4.82e-01h 1\n", + " 12 3.1019601e+06 2.76e+03 1.16e+02 -1.0 5.28e+03 - 3.03e-01 9.46e-01h 1\n", + " 13 3.0814369e+06 2.17e+03 2.83e+02 -1.0 7.26e+03 - 5.10e-01 2.14e-01f 1\n", + " 14 2.8049162e+06 2.14e+01 1.11e+03 -1.0 1.37e+04 - 1.58e-01 9.90e-01f 1\n", + " 15 2.4925761e+06 8.09e+00 5.08e+04 -1.0 2.25e+04 - 2.47e-01 6.23e-01f 1\n", + " 16 2.4908466e+06 8.08e+00 3.27e+04 -1.0 3.82e+04 - 5.36e-02 1.48e-03f 1\n", + " 17 2.4475838e+06 7.73e+00 4.29e+04 -1.0 4.58e+04 - 1.00e-02 4.35e-02f 1\n", + " 18 2.4158644e+06 7.49e+00 4.42e+03 -1.0 5.06e+04 - 1.38e-01 3.00e-02f 1\n", + " 19 2.3005118e+06 6.86e+00 4.06e+03 -1.0 7.50e+04 - 8.15e-02 8.52e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.1078931e+06 5.90e+00 1.73e+04 -1.0 7.68e+04 - 1.91e-01 1.40e-01f 1\n", + " 21 2.1057768e+06 5.89e+00 1.79e+05 -1.0 7.20e+04 - 3.52e-01 1.65e-03f 1\n", + " 22 1.4078251e+06 1.87e+00 3.78e+04 -1.0 8.66e+04 - 4.74e-01 6.82e-01f 1\n", + " 23 1.0496379e+06 7.08e-01 3.41e+05 -1.0 1.57e+05 - 3.64e-01 6.22e-01f 1\n", + " 24 1.0230296e+06 6.69e-01 3.96e+05 -1.0 1.70e+05 - 2.66e-02 5.48e-02f 1\n", + " 25 1.0211856e+06 6.67e-01 1.81e+06 -1.0 2.30e+05 - 8.24e-01 3.60e-03f 1\n", + " 26 4.5695646e+05 4.91e-01 8.19e+05 -1.0 7.41e+05 - 9.45e-03 2.64e-01f 1\n", + " 27 3.8562779e+05 4.72e-01 1.71e+06 -1.0 7.64e+05 - 4.11e-01 3.73e-02f 1\n", + " 28 3.8341218e+05 4.71e-01 3.02e+06 -1.0 4.69e+05 - 6.14e-01 1.79e-03f 1\n", + " 29 -5.1074719e+02 2.65e-01 2.01e+06 -1.0 4.44e+05 - 6.29e-01 4.39e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -2.5372300e+04 1.11e-01 1.45e+06 -1.0 7.69e+04 - 9.36e-01 5.80e-01f 1\n", + " 31 -3.7932000e+04 4.05e-02 3.75e+05 -1.0 5.92e+05 - 5.06e-01 6.35e-01f 1\n", + " 32 -4.0132812e+04 2.69e-02 7.11e+05 -1.0 2.27e+05 - 8.35e-01 3.37e-01f 1\n", + " 33 -4.2900637e+04 9.13e-03 3.14e+05 -1.0 9.22e+04 - 9.43e-01 6.60e-01f 1\n", + " 34 -4.3565387e+04 4.51e-03 1.74e+05 -1.0 3.23e+04 - 1.00e+00 5.07e-01f 1\n", + " 35 -4.4214348e+04 1.16e-10 1.00e-06 -1.0 7.63e+03 - 1.00e+00 1.00e+00f 1\n", + " 36 -4.4646316e+04 1.16e-10 1.00e+06 -5.7 2.87e+03 - 9.40e-01 8.40e-01f 1\n", + " 37 -4.4732134e+04 2.33e-10 1.80e+04 -5.7 8.05e+04 - 8.58e-01 9.58e-01f 1\n", + " 38 -4.4735658e+04 3.49e-10 2.46e+03 -5.7 2.35e+03 - 1.00e+00 9.64e-01f 1\n", + " 39 -4.4735734e+04 1.16e-10 2.24e+02 -5.7 6.06e+01 - 8.67e-01 9.09e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -4.4735742e+04 2.33e-10 1.85e-11 -5.7 5.52e+00 - 1.00e+00 1.00e+00f 1\n", + " 41 -4.4735751e+04 2.33e-10 9.24e-13 -7.0 2.63e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 41\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -4.4735750843619144e+02 -4.4735750843619142e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 3.2868686106868199e-07 3.2868686106868196e-05\n", + "Overall NLP error.......: 3.2868686106868199e-07 3.2868686106868196e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 42\n", + "Number of objective gradient evaluations = 42\n", + "Number of equality constraint evaluations = 42\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 42\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 41\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.030\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 59534.87\n", + "Variable costs: 25222.93\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 137.29\n", + "\n", + "Simulating time_step 2020-07-12 02:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -4.1787862e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -4.1829767e+04 2.91e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -3.9633973e+04 2.91e+05 1.00e+02 -1.0 2.56e+04 - 1.94e-04 8.73e-04h 1\n", + " 3 -3.3646238e+04 2.90e+05 1.01e+02 -1.0 1.71e+04 - 8.27e-04 1.93e-03h 1\n", + " 4 -1.6574153e+04 2.89e+05 1.00e+02 -1.0 3.34e+03 - 2.72e-03 5.07e-03h 1\n", + " 5 1.1688283e+04 2.86e+05 9.96e+01 -1.0 5.05e+03 - 8.74e-03 8.26e-03h 1\n", + " 6 3.4790815e+04 2.84e+05 9.77e+01 -1.0 1.72e+04 - 1.28e-02 6.76e-03h 1\n", + " 7 4.0843470e+04 2.84e+05 1.34e+02 -1.0 1.93e+05 - 4.42e-02 1.74e-03h 1\n", + " 8 1.6325630e+05 2.74e+05 9.38e+01 -1.0 1.73e+05 - 3.72e-03 3.50e-02h 1\n", + " 9 1.7316713e+05 2.73e+05 2.42e+02 -1.0 1.18e+05 - 7.93e-02 2.87e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.7253632e+06 1.53e+05 1.95e+02 -1.0 2.89e+04 - 2.28e-02 4.39e-01h 1\n", + " 11 2.5800732e+06 8.66e+04 1.13e+02 -1.0 1.62e+04 - 4.23e-01 4.35e-01h 1\n", + " 12 3.4685163e+06 1.39e+04 9.56e+01 -1.0 8.96e+03 - 4.12e-01 8.40e-01h 1\n", + " 13 3.5105471e+06 1.39e+02 1.21e+02 -1.0 7.93e+03 - 4.17e-01 9.90e-01h 1\n", + " 14 3.2313969e+06 1.10e+00 1.60e+04 -1.0 1.18e+04 - 2.30e-01 9.92e-01f 1\n", + " 15 2.9502166e+06 4.82e-01 6.12e+05 -1.0 2.27e+04 - 2.72e-01 5.60e-01f 1\n", + " 16 2.9485642e+06 4.82e-01 5.45e+05 -1.0 4.18e+04 - 1.98e-02 1.32e-03f 1\n", + " 17 2.8572068e+06 4.44e-01 7.68e+05 -1.0 4.47e+04 - 2.49e-03 7.78e-02f 1\n", + " 18 2.8419449e+06 4.41e-01 6.92e+05 -1.0 8.78e+04 - 2.68e-02 7.96e-03f 1\n", + " 19 2.6837060e+06 4.05e-01 7.28e+05 -1.0 8.72e+04 - 5.62e-02 8.12e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.6758790e+06 4.03e-01 4.20e+04 -1.0 6.19e+04 - 2.09e-01 6.01e-03f 1\n", + " 21 2.5014975e+06 3.54e-01 2.30e+05 -1.0 8.08e+04 - 1.75e-01 1.19e-01f 1\n", + " 22 2.4993339e+06 3.54e-01 2.34e+06 -1.0 7.47e+04 - 6.13e-01 1.66e-03f 1\n", + " 23 1.4263598e+06 5.99e-02 1.48e+06 -1.0 1.47e+05 - 7.97e-02 8.31e-01f 1\n", + " 24 1.2630906e+06 4.09e-02 1.89e+06 -1.0 1.45e+05 - 1.18e-01 3.17e-01f 1\n", + " 25 1.2608851e+06 4.07e-02 4.44e+04 -1.0 1.67e+05 - 4.40e-01 4.26e-03f 1\n", + " 26 1.1917717e+06 3.72e-02 2.44e+05 -1.0 2.78e+05 - 7.88e-03 8.65e-02f 1\n", + " 27 7.4811454e+05 2.94e-02 7.36e+05 -1.0 1.25e+06 - 2.51e-04 2.09e-01f 1\n", + " 28 7.4385067e+05 2.94e-02 5.34e+04 -1.0 1.41e+06 - 2.58e-01 1.90e-03f 1\n", + " 29 7.3774850e+05 2.92e-02 1.42e+06 -1.0 3.29e+05 - 7.31e-01 7.56e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 5.0998419e+05 2.65e-02 1.49e+06 -1.0 1.17e+06 - 3.85e-01 9.18e-02f 1\n", + " 31 5.0414324e+05 2.64e-02 1.74e+06 -1.0 5.61e+05 - 5.59e-01 3.80e-03f 1\n", + " 32 -8.3723692e+03 1.49e-02 1.00e+06 -1.0 6.05e+05 - 5.27e-01 4.35e-01f 1\n", + " 33 -2.5981862e+04 8.13e-03 6.07e+05 -1.0 2.94e+04 - 9.70e-01 4.54e-01f 1\n", + " 34 -3.7084965e+04 3.16e-03 2.38e+05 -1.0 4.01e+05 - 7.74e-01 6.11e-01f 1\n", + " 35 -3.7402356e+04 3.00e-03 2.28e+05 -1.0 5.36e+04 - 9.92e-01 5.11e-02f 1\n", + " 36 -3.9912672e+04 1.63e-03 1.24e+05 -1.0 1.19e+05 - 1.00e+00 4.56e-01f 1\n", + " 37 -4.2915594e+04 1.16e-10 1.00e-06 -1.0 3.63e+04 - 1.00e+00 1.00e+00f 1\n", + " 38 -4.3385940e+04 2.33e-10 9.73e+05 -5.7 1.68e+04 - 8.37e-01 9.34e-01f 1\n", + " 39 -4.3437768e+04 2.33e-10 1.05e+06 -5.7 1.89e+05 - 3.50e-01 9.80e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -4.3440141e+04 2.33e-10 1.38e+05 -5.7 7.71e+04 - 8.68e-01 8.20e-01f 1\n", + " 41 -4.3440664e+04 1.16e-10 1.71e+04 -5.7 2.50e+04 - 8.74e-01 7.62e-01f 1\n", + " 42 -4.3440807e+04 2.33e-10 7.04e+00 -5.7 4.95e+03 - 1.00e+00 9.96e-01f 1\n", + " 43 -4.3440807e+04 2.33e-10 1.85e-11 -5.7 1.83e+01 - 1.00e+00 1.00e+00f 1\n", + " 44 -4.3440816e+04 2.33e-10 9.38e-13 -7.0 2.55e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 44\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -4.3440815763750425e+02 -4.3440815763750426e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.2653084928110924e-07 1.2653084928110923e-05\n", + "Overall NLP error.......: 1.2653084928110924e-07 1.2653084928110923e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 45\n", + "Number of objective gradient evaluations = 45\n", + "Number of equality constraint evaluations = 45\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 45\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 44\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.030\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 57898.87\n", + "Variable costs: 21077.63\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 180.69\n", + "\n", + "Simulating time_step 2020-07-12 03:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -4.0542027e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -4.0583936e+04 2.91e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -3.8388327e+04 2.91e+05 1.00e+02 -1.0 2.56e+04 - 1.94e-04 8.73e-04h 1\n", + " 3 -3.2402061e+04 2.90e+05 1.01e+02 -1.0 1.71e+04 - 8.27e-04 1.93e-03h 1\n", + " 4 -1.5343294e+04 2.89e+05 1.00e+02 -1.0 4.26e+03 - 2.72e-03 5.07e-03h 1\n", + " 5 1.2846389e+04 2.86e+05 9.96e+01 -1.0 6.41e+03 - 8.74e-03 8.27e-03h 1\n", + " 6 3.6475734e+04 2.84e+05 9.77e+01 -1.0 2.13e+04 - 1.29e-02 6.93e-03h 1\n", + " 7 4.3566455e+04 2.84e+05 1.39e+02 -1.0 2.06e+05 - 5.47e-02 2.06e-03h 1\n", + " 8 1.5759532e+05 2.74e+05 9.39e+01 -1.0 1.85e+05 - 4.18e-03 3.29e-02h 1\n", + " 9 1.6875449e+05 2.74e+05 2.56e+02 -1.0 1.31e+05 - 8.20e-02 3.30e-03h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.7251106e+06 1.53e+05 2.02e+02 -1.0 2.87e+04 - 1.92e-02 4.42e-01h 1\n", + " 11 1.8469033e+06 1.43e+05 1.08e+02 -1.0 1.61e+04 - 4.23e-01 6.25e-02h 1\n", + " 12 3.6149589e+06 1.43e+03 9.81e+01 -1.0 1.48e+04 - 4.02e-01 9.90e-01h 1\n", + " 13 3.5040370e+06 2.75e+02 1.04e+03 -1.0 1.31e+04 - 2.97e-01 8.08e-01f 1\n", + " 14 3.2586648e+06 2.46e+00 6.04e+03 -1.0 2.31e+04 - 4.22e-01 9.91e-01f 1\n", + " 15 2.9016917e+06 9.39e-01 5.11e+05 -1.0 4.77e+04 - 1.38e-01 6.18e-01f 1\n", + " 16 2.9000023e+06 9.37e-01 4.41e+05 -1.0 5.63e+04 - 3.13e-02 1.95e-03f 1\n", + " 17 2.6712207e+06 5.94e-01 9.89e+05 -1.0 5.80e+04 - 5.96e-02 3.66e-01f 1\n", + " 18 2.6652530e+06 5.92e-01 9.78e+05 -1.0 6.20e+04 - 6.06e-03 3.89e-03f 1\n", + " 19 2.6634655e+06 5.92e-01 9.58e+05 -1.0 7.98e+04 - 7.15e-03 9.55e-04f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.6434549e+06 5.85e-01 8.66e+05 -1.0 9.02e+04 - 3.61e-02 1.03e-02f 1\n", + " 21 2.6243336e+06 5.78e-01 8.87e+05 -1.0 8.67e+04 - 1.97e-03 1.19e-02f 1\n", + " 22 2.4881056e+06 5.31e-01 9.57e+05 -1.0 8.61e+04 - 3.67e-02 8.13e-02f 1\n", + " 23 2.4823042e+06 5.28e-01 5.96e+05 -1.0 6.41e+04 - 1.13e-01 5.93e-03f 1\n", + " 24 2.3812047e+06 4.72e-01 1.80e+05 -1.0 7.05e+04 - 2.17e-01 1.07e-01f 1\n", + " 25 2.2861190e+06 4.27e-01 3.00e+05 -1.0 7.33e+04 - 2.41e-01 9.44e-02f 1\n", + " 26 1.9055708e+06 2.65e-01 5.04e+05 -1.0 7.36e+04 - 4.84e-01 3.80e-01f 1\n", + " 27 1.0451942e+06 2.17e-02 7.36e+05 -1.0 1.47e+05 - 6.73e-01 9.18e-01f 1\n", + " 28 1.0412175e+06 2.16e-02 1.75e+04 -1.0 4.17e+05 - 1.99e-01 3.23e-03f 1\n", + " 29 9.9762302e+05 2.06e-02 2.62e+05 -1.0 3.99e+05 - 1.41e-01 4.75e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 9.7983299e+05 2.02e-02 2.12e+05 -1.0 4.41e+05 - 1.67e-03 1.91e-02f 1\n", + " 31 8.9399728e+05 1.96e-02 1.34e+05 -1.0 1.96e+06 - 5.17e-04 2.84e-02f 1\n", + " 32 7.9921642e+05 1.90e-02 3.27e+05 -1.0 1.96e+06 - 1.08e-01 3.17e-02f 1\n", + " 33 7.1744915e+05 1.85e-02 4.50e+05 -1.0 1.78e+06 - 8.57e-02 2.88e-02f 1\n", + " 34 7.1456692e+05 1.84e-02 1.11e+06 -1.0 4.72e+05 - 3.12e-01 2.39e-03f 1\n", + " 35 2.7283689e+05 1.17e-02 1.64e+05 -1.0 5.52e+05 - 3.99e-03 3.63e-01f 1\n", + " 36 2.7110004e+05 1.17e-02 1.66e+05 -1.0 1.02e+06 - 2.28e-03 9.06e-04f 1\n", + " 37 2.6476257e+05 1.16e-02 1.31e+06 -1.0 3.86e+05 - 7.52e-01 9.25e-03f 1\n", + " 38 -3.1645023e+04 7.26e-03 9.26e+05 -1.0 4.21e+05 - 6.23e-01 3.75e-01f 1\n", + " 39 -3.8277723e+04 3.50e-03 5.29e+05 -1.0 4.20e+03 - 9.87e-01 5.18e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -4.1630185e+04 1.16e-10 3.09e+01 -1.0 2.91e+04 - 9.95e-01 1.00e+00f 1\n", + " 41 -4.2107867e+04 2.33e-10 2.94e+06 -3.8 5.46e+04 - 6.70e-01 9.64e-01f 1\n", + " 42 -4.2137733e+04 1.16e-10 1.53e+06 -3.8 2.53e+05 - 5.32e-01 9.68e-01f 1\n", + " 43 -4.2145314e+04 2.33e-10 1.20e+06 -3.8 2.50e+05 - 2.23e-01 5.49e-01f 1\n", + " 44 -4.2149231e+04 2.33e-10 3.16e+05 -3.8 1.37e+05 - 7.36e-01 8.66e-01f 1\n", + " 45 -4.2150758e+04 2.33e-10 2.72e+01 -3.8 6.38e+04 - 1.00e+00 9.73e-01f 1\n", + " 46 -4.2150734e+04 2.33e-10 1.50e-09 -3.8 1.50e+03 - 1.00e+00 1.00e+00f 1\n", + " 47 -4.2151531e+04 1.16e-10 1.87e+03 -5.7 2.07e+03 - 1.00e+00 8.74e-01f 1\n", + " 48 -4.2151615e+04 4.66e-10 2.94e+02 -5.7 2.68e+02 - 8.93e-01 1.00e+00f 1\n", + " 49 -4.2151614e+04 1.16e-10 1.85e-11 -5.7 1.15e-02 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -4.2151624e+04 2.33e-10 9.24e-13 -7.0 2.46e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 50\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -4.2151623537705115e+02 -4.2151623537705113e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.2391549548197348e-07 1.2391549548197347e-05\n", + "Overall NLP error.......: 1.2391549548197348e-07 1.2391549548197347e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 51\n", + "Number of objective gradient evaluations = 51\n", + "Number of equality constraint evaluations = 51\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 51\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 50\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.029\n", + "Total CPU secs in NLP function evaluations = 0.010\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 58782.87\n", + "Variable costs: 17604.13\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 154.86\n", + "\n", + "Simulating time_step 2020-07-12 04:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.9301934e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.9343888e+04 2.91e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -3.7848384e+04 2.91e+05 1.00e+02 -1.0 2.56e+04 - 2.15e-04 8.68e-04h 1\n", + " 3 -3.2910943e+04 2.90e+05 1.01e+02 -1.0 1.67e+04 - 8.15e-04 1.99e-03h 1\n", + " 4 -1.8535438e+04 2.89e+05 1.00e+02 -1.0 4.49e+03 - 2.79e-03 5.26e-03h 1\n", + " 5 5.2002164e+03 2.86e+05 9.95e+01 -1.0 6.89e+03 - 9.12e-03 8.57e-03h 1\n", + " 6 2.3741468e+04 2.84e+05 9.71e+01 -1.0 2.43e+04 - 2.14e-02 6.72e-03h 1\n", + " 7 3.2606175e+04 2.83e+05 2.59e+02 -1.0 2.11e+05 - 1.09e-01 3.30e-03h 1\n", + " 8 1.5110504e+05 2.70e+05 2.36e+02 -1.0 1.12e+05 - 3.46e-02 4.63e-02h 1\n", + " 9 2.2552333e+05 2.62e+05 2.33e+02 -1.0 2.80e+04 - 6.38e-02 3.18e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.7139888e+06 8.83e+04 2.12e+02 -1.0 2.88e+04 - 8.86e-02 6.62e-01h 1\n", + " 11 2.2549467e+06 2.24e+04 1.38e+02 -1.0 9.81e+03 - 4.54e-01 7.46e-01h 1\n", + " 12 2.3543932e+06 8.08e+02 1.40e+02 -1.0 5.92e+03 - 2.62e-01 9.64e-01h 1\n", + " 13 2.2293966e+06 7.79e+00 2.30e+03 -1.0 7.58e+03 - 3.51e-01 9.90e-01f 1\n", + " 14 1.9933503e+06 1.75e-10 3.54e+05 -1.0 1.37e+04 - 1.62e-02 1.00e+00f 1\n", + " 15 1.7255913e+06 2.33e-10 5.41e+06 -1.0 1.71e+04 - 4.58e-01 1.00e+00f 1\n", + " 16 1.7118570e+06 3.49e-10 5.01e+06 -1.0 3.14e+04 - 7.38e-02 1.89e-02f 1\n", + " 17 1.7107680e+06 3.49e-10 4.97e+06 -1.0 3.39e+04 - 7.66e-03 1.80e-03f 1\n", + " 18 1.6386358e+06 4.66e-10 4.97e+06 -1.0 5.87e+04 - 1.17e-03 5.70e-02f 1\n", + " 19 1.6372785e+06 4.66e-10 4.89e+06 -1.0 8.07e+04 - 1.66e-02 7.69e-04f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.5917938e+06 3.49e-10 3.83e+06 -1.0 8.88e+04 - 2.17e-01 3.07e-02f 1\n", + " 21 1.4870945e+06 3.49e-10 3.82e+06 -1.0 8.19e+04 - 2.93e-03 6.82e-02f 1\n", + " 22 1.4783473e+06 3.49e-10 3.74e+06 -1.0 5.61e+04 - 2.00e-02 7.34e-03f 1\n", + " 23 1.4758241e+06 2.33e-10 1.72e+06 -1.0 4.59e+04 - 5.41e-01 4.21e-03f 1\n", + " 24 1.4344260e+06 2.91e-10 9.08e+05 -1.0 9.71e+04 - 4.71e-01 4.94e-02f 1\n", + " 25 1.4306205e+06 2.33e-10 2.81e+05 -1.0 8.31e+04 - 6.91e-01 1.18e-02f 1\n", + " 26 1.2711514e+06 2.33e-10 2.74e+05 -1.0 3.21e+05 - 2.24e-02 2.24e-01f 1\n", + " 27 1.2671204e+06 2.33e-10 2.74e+05 -1.0 6.89e+05 - 3.49e-04 2.88e-03f 1\n", + " 28 1.2126543e+06 2.33e-10 2.56e+05 -1.0 2.01e+06 - 6.63e-02 2.02e-02f 1\n", + " 29 1.0488992e+06 4.66e-10 2.50e+05 -1.0 1.87e+06 - 2.26e-02 6.43e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 1.0394006e+06 4.66e-10 1.76e+05 -1.0 1.56e+06 - 2.95e-01 4.33e-03f 1\n", + " 31 1.0149527e+06 4.66e-10 1.11e+05 -1.0 2.74e+05 - 3.70e-01 3.55e-02f 1\n", + " 32 6.8030675e+05 3.49e-10 1.10e+05 -1.0 4.47e+05 - 5.91e-03 3.48e-01f 1\n", + " 33 6.7836203e+05 4.66e-10 1.10e+05 -1.0 9.68e+05 - 2.77e-03 1.12e-03f 1\n", + " 34 6.7575190e+05 4.66e-10 5.34e+04 -1.0 4.41e+05 - 5.15e-01 4.79e-03f 1\n", + " 35 4.5067743e+05 5.82e-10 2.76e+04 -1.0 8.12e+05 - 4.84e-01 2.36e-01f 1\n", + " 36 4.4739988e+05 5.82e-10 1.24e+04 -1.0 8.53e+05 - 5.50e-01 3.32e-03f 1\n", + " 37 1.7754501e+05 3.49e-10 6.29e+03 -1.0 8.37e+05 - 4.93e-01 2.79e-01f 1\n", + " 38 1.7454702e+05 3.49e-10 5.70e+03 -1.0 5.30e+05 - 9.38e-02 4.86e-03f 1\n", + " 39 -2.4638493e+04 1.16e-10 3.43e+03 -1.0 4.74e+05 - 3.98e-01 3.58e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.0912465e+04 2.33e-10 8.12e+02 -1.0 9.42e+03 - 9.87e-01 2.29e-01f 1\n", + " 41 -4.5119923e+04 1.16e-10 3.00e+06 -1.7 9.25e+03 - 6.19e-01 9.94e-01f 1\n", + " 42 -4.5133206e+04 3.49e-10 7.47e+05 -1.7 1.06e+05 - 7.40e-01 1.13e-01f 1\n", + " 43 -4.5200958e+04 1.16e-10 1.70e+04 -1.7 8.37e+03 - 1.00e+00 6.27e-01f 1\n", + " 44 -4.5240315e+04 2.33e-10 2.00e-07 -1.7 7.04e+03 - 1.00e+00 1.00e+00f 1\n", + " 45 -4.5311777e+04 2.33e-10 9.37e+04 -5.7 7.33e+02 - 9.11e-01 8.64e-01f 1\n", + " 46 -4.5323841e+04 3.49e-10 2.23e+04 -5.7 2.16e+04 - 9.77e-01 9.02e-01f 1\n", + " 47 -4.5324987e+04 3.49e-10 2.14e+03 -5.7 1.31e+03 - 9.63e-01 9.13e-01f 1\n", + " 48 -4.5325066e+04 2.33e-10 2.56e+02 -5.7 1.13e+02 - 8.73e-01 9.35e-01f 1\n", + " 49 -4.5325071e+04 1.16e-10 1.85e-11 -5.7 7.34e+00 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 50 -4.5325079e+04 1.16e-10 9.24e-13 -7.0 2.63e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 50\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -4.5325079058051688e+02 -4.5325079058051684e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 3.2429528882481619e-07 3.2429528882481617e-05\n", + "Overall NLP error.......: 3.2429528882481619e-07 3.2429528882481617e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 51\n", + "Number of objective gradient evaluations = 51\n", + "Number of equality constraint evaluations = 51\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 51\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 50\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.038\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 58758.87\n", + "Variable costs: 12604.91\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 306.10\n", + "\n", + "Simulating time_step 2020-07-12 05:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -4.2373290e+04 4.19e+04 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -4.2455342e+04 4.19e+04 9.90e+01 -1.0 2.60e+04 - 4.12e-04 3.82e-04f 1\n", + " 2 -4.1073630e+04 4.18e+04 9.98e+01 -1.0 2.22e+04 - 4.75e-04 1.38e-03h 1\n", + " 3 -3.6003236e+04 4.17e+04 1.00e+02 -1.0 7.75e+03 - 1.06e-03 3.17e-03h 1\n", + " 4 -2.4363039e+04 4.14e+04 1.00e+02 -1.0 2.57e+03 - 3.98e-03 6.71e-03h 1\n", + " 5 1.4758518e+04 4.05e+04 9.97e+01 -1.0 2.40e+03 - 1.33e-02 2.21e-02h 1\n", + " 6 1.2373352e+05 3.80e+04 8.98e+01 -1.0 2.40e+03 - 1.58e-01 6.22e-02h 1\n", + " 7 6.7848617e+05 2.50e+04 8.61e+01 -1.0 2.75e+03 - 1.19e-01 3.41e-01h 1\n", + " 8 1.2973579e+06 1.01e+04 6.63e+01 -1.0 3.17e+03 - 3.76e-01 5.95e-01h 1\n", + " 9 1.4161009e+06 6.49e+03 4.06e+01 -1.0 5.11e+03 - 3.80e-01 3.59e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.4180918e+06 6.39e+03 2.94e+01 -1.0 8.07e+03 - 3.91e-01 1.44e-02h 1\n", + " 11 1.4329901e+06 3.85e+03 2.39e+01 -1.0 1.50e+04 - 1.58e-01 3.97e-01h 1\n", + " 12 1.4275008e+06 3.71e+03 2.64e+01 -1.0 1.42e+04 - 2.91e-01 3.82e-02f 1\n", + " 13 1.1665263e+06 1.24e+03 6.03e+01 -1.0 2.61e+04 - 5.77e-02 6.65e-01f 1\n", + " 14 1.1650737e+06 1.24e+03 4.96e+01 -1.0 3.71e+04 - 8.62e-02 1.81e-03f 1\n", + " 15 1.1337858e+06 1.17e+03 4.50e+01 -1.0 4.07e+04 - 1.13e-02 5.60e-02f 1\n", + " 16 1.1153738e+06 1.13e+03 4.26e+01 -1.0 4.10e+04 - 1.42e-01 3.30e-02f 1\n", + " 17 9.9861435e+05 9.20e+02 3.53e+01 -1.0 4.65e+04 - 1.80e-01 1.86e-01f 1\n", + " 18 9.2269479e+05 8.15e+02 1.56e+02 -1.0 4.86e+04 - 4.68e-01 1.14e-01f 1\n", + " 19 9.2172077e+05 8.14e+02 2.60e+02 -1.0 4.77e+04 - 2.05e-01 1.60e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.3861247e+05 6.74e+01 1.94e+02 -1.0 5.96e+04 - 4.99e-01 9.17e-01f 1\n", + " 21 6.3664819e+05 6.70e+01 2.08e+03 -1.0 1.21e+05 - 3.72e-01 6.10e-03f 1\n", + " 22 6.1107712e+05 6.29e+01 5.60e+03 -1.0 1.94e+05 - 6.46e-01 6.20e-02f 1\n", + " 23 4.9236459e+05 5.44e+01 4.96e+03 -1.0 5.55e+05 - 1.53e-01 1.35e-01f 1\n", + " 24 5.8318893e+04 3.01e+01 6.71e+02 -1.0 6.12e+05 - 1.89e-03 4.46e-01f 1\n", + " 25 5.4487093e+04 3.00e+01 4.26e+03 -1.0 4.73e+05 - 3.59e-01 3.56e-03f 1\n", + " 26 5.2631227e+04 2.98e+01 1.52e+04 -1.0 1.88e+05 - 7.93e-01 8.16e-03f 1\n", + " 27 -3.4083581e+04 1.56e+01 1.36e+04 -1.0 1.51e+05 - 8.78e-01 4.74e-01f 1\n", + " 28 -3.9252244e+04 7.41e+00 1.79e+04 -1.0 1.66e+04 - 9.57e-01 5.26e-01f 1\n", + " 29 -4.3539655e+04 3.26e-02 3.25e+02 -1.0 6.92e+04 - 1.00e+00 9.96e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -4.3550937e+04 2.40e-02 4.09e+06 -1.0 4.01e+05 - 1.00e+00 2.65e-01f 1\n", + " 31 -4.3556468e+04 1.20e-02 3.42e+06 -1.0 6.10e+04 - 1.00e+00 5.00e-01f 2\n", + " 32 -4.3562795e+04 2.33e-10 1.00e-06 -1.0 1.83e+04 - 1.00e+00 1.00e+00h 1\n", + " 33 -4.3939225e+04 1.16e-10 2.50e+05 -5.7 8.78e+03 - 8.85e-01 9.11e-01f 1\n", + " 34 -4.3988573e+04 2.33e-10 4.36e+05 -5.7 1.62e+05 - 5.40e-01 9.15e-01f 1\n", + " 35 -4.3992440e+04 1.16e-10 1.25e+05 -5.7 1.18e+04 - 7.32e-01 8.42e-01f 1\n", + " 36 -4.3992984e+04 1.16e-10 1.93e+03 -5.7 1.32e+03 - 9.99e-01 8.25e-01f 1\n", + " 37 -4.3993070e+04 2.33e-10 3.07e+02 -5.7 1.99e+02 - 8.82e-01 9.77e-01f 1\n", + " 38 -4.3993071e+04 2.33e-10 1.85e-11 -5.7 4.60e+00 - 1.00e+00 1.00e+00f 1\n", + " 39 -4.3993080e+04 2.33e-10 9.38e-13 -7.0 2.55e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 39\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -4.3993079649399033e+02 -4.3993079649399035e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 3.1738550573582929e-07 3.1738550573582927e-05\n", + "Overall NLP error.......: 3.1738550573582929e-07 3.1738550573582927e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 41\n", + "Number of objective gradient evaluations = 40\n", + "Number of equality constraint evaluations = 41\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 40\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 39\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.029\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 59450.87\n", + "Variable costs: 9104.79\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 172.10\n", + "\n", + "Simulating time_step 2020-07-12 06:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -4.1091691e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -4.1173738e+04 2.91e+05 9.90e+01 -1.0 2.60e+04 - 4.12e-04 3.82e-04h 1\n", + " 2 -3.9838452e+04 2.91e+05 9.98e+01 -1.0 2.22e+04 - 4.75e-04 1.38e-03h 1\n", + " 3 -3.4958051e+04 2.90e+05 1.00e+02 -1.0 1.01e+04 - 1.06e-03 3.17e-03h 1\n", + " 4 -2.4190617e+04 2.88e+05 1.00e+02 -1.0 5.31e+03 - 3.46e-03 6.34e-03h 1\n", + " 5 -4.0622839e+03 2.85e+05 9.93e+01 -1.0 9.51e+03 - 1.12e-02 1.16e-02h 1\n", + " 6 -2.0961842e+03 2.84e+05 3.35e+02 -1.0 1.95e+05 - 1.48e-01 1.10e-03h 1\n", + " 7 3.2108850e+05 2.38e+05 2.81e+02 -1.0 3.18e+04 - 1.15e-03 1.62e-01h 1\n", + " 8 6.9868482e+05 1.84e+05 2.25e+02 -1.0 2.46e+04 - 1.82e-01 2.26e-01h 1\n", + " 9 1.1989142e+06 1.11e+05 1.43e+02 -1.0 1.93e+04 - 3.60e-01 3.96e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.2701802e+06 9.97e+04 7.74e+01 -1.0 1.13e+04 - 4.10e-01 1.05e-01h 1\n", + " 11 1.7546872e+06 9.97e+02 8.18e+01 -1.0 1.38e+04 - 2.71e-01 9.90e-01h 1\n", + " 12 1.4114882e+06 9.68e+00 1.68e+03 -1.0 2.18e+04 - 4.13e-01 9.90e-01f 1\n", + " 13 1.0976495e+06 5.09e+00 9.35e+04 -1.0 4.93e+04 - 1.57e-01 4.75e-01f 1\n", + " 14 1.0949584e+06 5.07e+00 7.45e+04 -1.0 5.57e+04 - 3.82e-02 3.50e-03f 1\n", + " 15 1.0775082e+06 4.93e+00 5.74e+04 -1.0 3.88e+04 - 5.44e-02 2.64e-02f 1\n", + " 16 1.0691307e+06 4.88e+00 1.94e+05 -1.0 4.06e+04 - 4.66e-01 1.20e-02f 1\n", + " 17 8.6303734e+05 3.89e+00 7.21e+04 -1.0 6.51e+04 - 5.13e-02 2.03e-01f 1\n", + " 18 8.6078871e+05 3.87e+00 4.07e+05 -1.0 4.91e+04 - 5.02e-01 2.70e-03f 1\n", + " 19 8.4460560e+05 3.73e+00 4.22e+05 -1.0 7.02e+04 - 8.47e-02 3.73e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 8.3652764e+05 3.64e+00 9.53e+05 -1.0 7.95e+04 - 8.37e-01 2.53e-02f 1\n", + " 21 7.3683822e+05 3.32e+00 8.28e+05 -1.0 4.41e+05 - 1.96e-02 8.62e-02f 1\n", + " 22 7.3299112e+05 3.31e+00 1.11e+06 -1.0 5.41e+05 - 4.13e-01 3.58e-03f 1\n", + " 23 1.7191794e+05 2.05e+00 4.34e+05 -1.0 8.35e+05 - 5.90e-03 3.81e-01f 1\n", + " 24 1.6370536e+05 2.04e+00 4.38e+05 -1.0 6.21e+05 - 1.12e-02 5.05e-03f 1\n", + " 25 1.5420654e+05 2.03e+00 6.89e+05 -1.0 4.90e+05 - 2.50e-01 6.64e-03f 1\n", + " 26 7.5182727e+04 1.94e+00 6.25e+05 -1.0 7.84e+05 - 9.20e-03 4.33e-02f 1\n", + " 27 7.4274359e+04 1.94e+00 9.39e+05 -1.0 4.96e+05 - 2.99e-01 7.14e-04f 1\n", + " 28 3.8931628e+04 1.80e+00 1.50e+06 -1.0 3.79e+05 - 6.93e-01 7.17e-02f 1\n", + " 29 3.6377701e+04 1.74e+00 1.91e+06 -1.0 4.70e+04 - 4.83e-01 2.94e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.9199812e+04 1.25e-02 3.81e+05 -1.0 6.11e+04 - 5.74e-01 9.93e-01f 1\n", + " 31 -3.9887951e+04 2.33e-10 3.66e+05 -1.0 3.09e+04 - 9.37e-01 1.00e+00f 1\n", + " 32 -3.9877550e+04 1.16e-10 6.88e+04 -1.0 4.58e+04 - 8.88e-01 1.00e+00f 1\n", + " 33 -3.9888672e+04 1.16e-10 4.62e+04 -1.0 3.55e+05 - 3.28e-01 6.59e-01f 1\n", + " 34 -3.9864628e+04 4.66e-10 6.62e+02 -1.0 2.12e+05 - 9.86e-01 1.00e+00f 1\n", + " 35 -4.0190808e+04 4.66e-10 6.05e+05 -1.7 4.97e+04 - 9.24e-01 1.00e+00f 1\n", + " 36 -4.0201452e+04 1.16e-10 4.61e+00 -1.7 3.46e+05 - 1.00e+00 5.00e-01f 2\n", + " 37 -4.0301216e+04 2.33e-10 6.78e+05 -3.8 1.73e+05 - 6.58e-01 1.00e+00f 1\n", + " 38 -4.0311055e+04 2.33e-10 4.50e+04 -3.8 1.42e+05 - 9.34e-01 9.08e-01f 1\n", + " 39 -4.0311159e+04 1.16e-10 5.93e+01 -3.8 4.93e+03 - 1.00e+00 4.79e-01f 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -4.0311242e+04 1.16e-10 1.50e-09 -3.8 8.80e+02 - 1.00e+00 1.00e+00f 1\n", + " 41 -4.0311926e+04 1.16e-10 1.67e+03 -5.7 2.06e+03 - 9.86e-01 8.74e-01f 1\n", + " 42 -4.0312008e+04 1.16e-10 2.96e+02 -5.7 2.89e+02 - 8.93e-01 1.00e+00f 1\n", + " 43 -4.0312007e+04 2.33e-10 1.85e-11 -5.7 1.22e-01 - 1.00e+00 1.00e+00f 1\n", + " 44 -4.0312015e+04 2.33e-10 9.38e-13 -7.0 2.46e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 44\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -4.0312015462612806e+02 -4.0312015462612806e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.2387929298377143e-07 1.2387929298377142e-05\n", + "Overall NLP error.......: 1.2387929298377143e-07 1.2387929298377142e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 47\n", + "Number of objective gradient evaluations = 45\n", + "Number of equality constraint evaluations = 47\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 45\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 44\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.034\n", + "Total CPU secs in NLP function evaluations = 0.004\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 58646.87\n", + "Variable costs: 1667.73\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 391.40\n", + "\n", + "Simulating time_step 2020-07-12 07:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.7459726e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.7542148e+04 2.91e+05 9.90e+01 -1.0 2.60e+04 - 4.12e-04 3.82e-04h 1\n", + " 2 -3.6001848e+04 2.91e+05 9.98e+01 -1.0 2.22e+04 - 4.75e-04 1.38e-03h 1\n", + " 3 -3.0152446e+04 2.90e+05 1.00e+02 -1.0 1.01e+04 - 1.06e-03 3.17e-03h 1\n", + " 4 -2.4555645e+03 2.86e+05 1.02e+02 -1.0 4.57e+03 - 3.46e-03 1.37e-02h 1\n", + " 5 6.9188257e+03 2.84e+05 9.75e+01 -1.0 2.12e+04 - 2.21e-02 4.58e-03h 1\n", + " 6 1.2426578e+04 2.84e+05 2.78e+02 -1.0 2.06e+05 - 1.05e-01 2.80e-03h 1\n", + " 7 3.4343734e+04 2.80e+05 2.91e+02 -1.0 9.14e+04 - 3.14e-02 1.20e-02h 1\n", + " 8 3.4573584e+04 2.80e+05 3.05e+02 -1.0 9.40e+04 - 1.68e-02 1.26e-04h 1\n", + " 9 1.1020060e+05 2.70e+05 2.39e+02 -1.0 1.40e+05 - 8.39e-05 3.76e-02h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.7712428e+05 2.48e+05 2.18e+02 -1.0 2.73e+04 - 3.73e-02 8.09e-02h 1\n", + " 11 2.1473907e+06 2.49e+03 1.37e+02 -1.0 2.61e+04 - 1.34e-01 9.90e-01h 1\n", + " 12 2.1066946e+06 1.28e+03 2.88e+02 -1.0 3.35e+03 - 2.44e-01 4.85e-01f 1\n", + " 13 1.9779763e+06 1.25e+01 1.17e+03 -1.0 4.39e+03 - 4.79e-01 9.90e-01f 1\n", + " 14 1.6927136e+06 2.33e-10 1.47e+05 -1.0 8.01e+03 - 3.54e-01 1.00e+00f 1\n", + " 15 1.5875319e+06 3.49e-10 1.97e+06 -1.0 1.42e+04 - 4.33e-01 2.23e-01f 1\n", + " 16 1.0684466e+06 1.75e-10 1.88e+06 -1.0 3.03e+04 - 7.98e-02 5.66e-01f 1\n", + " 17 1.0630674e+06 2.33e-10 1.57e+06 -1.0 3.80e+04 - 6.47e-02 5.70e-03f 1\n", + " 18 1.0610184e+06 2.33e-10 1.41e+06 -1.0 4.02e+04 - 3.37e-02 2.89e-03f 1\n", + " 19 9.9426938e+05 3.49e-10 1.14e+06 -1.0 4.14e+04 - 1.24e-01 9.31e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 8.2994463e+05 2.33e-10 1.18e+06 -1.0 4.45e+04 - 1.48e-01 2.19e-01f 1\n", + " 21 8.2825819e+05 3.49e-10 7.23e+05 -1.0 4.05e+04 - 5.46e-01 2.40e-03f 1\n", + " 22 8.0439032e+05 4.66e-10 8.35e+05 -1.0 5.47e+04 - 1.53e-01 5.66e-02f 1\n", + " 23 8.0097358e+05 2.33e-10 1.36e+06 -1.0 6.48e+04 - 4.08e-01 1.12e-02f 1\n", + " 24 5.7481221e+05 2.33e-10 2.50e+05 -1.0 1.10e+05 - 1.16e-01 5.57e-01f 1\n", + " 25 5.7243074e+05 2.91e-10 7.82e+05 -1.0 1.26e+05 - 7.66e-01 6.98e-03f 1\n", + " 26 1.3863239e+05 2.33e-10 4.04e+05 -1.0 5.59e+05 - 1.79e-01 4.30e-01f 1\n", + " 27 1.3400227e+05 3.49e-10 4.07e+05 -1.0 5.67e+05 - 4.52e-02 4.88e-03f 1\n", + " 28 1.2850219e+05 2.33e-10 4.04e+05 -1.0 5.74e+05 - 7.72e-04 6.85e-03f 1\n", + " 29 6.4394542e+02 4.66e-10 3.82e+05 -1.0 5.63e+05 - 3.65e-01 1.30e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -6.2601456e+02 4.66e-10 3.87e+05 -1.0 5.37e+05 - 6.65e-02 1.09e-03f 1\n", + " 31 -3.1815003e+03 4.66e-10 4.09e+05 -1.0 3.77e+03 - 6.90e-01 6.56e-02f 1\n", + " 32 -3.2633321e+04 1.16e-10 7.34e+04 -1.0 3.53e+03 - 9.63e-01 8.28e-01f 1\n", + " 33 -3.8619364e+04 2.33e-10 7.40e+01 -1.0 1.99e+04 - 9.16e-01 1.00e+00f 1\n", + " 34 -3.9001454e+04 2.33e-10 5.08e+06 -2.5 2.48e+04 - 4.77e-01 1.00e+00f 1\n", + " 35 -3.9010364e+04 2.33e-10 5.05e+05 -2.5 6.81e+04 - 9.00e-01 1.00e+00f 1\n", + " 36 -3.9021901e+04 1.16e-10 2.53e+05 -2.5 1.94e+05 - 5.00e-01 4.61e-01f 1\n", + " 37 -3.9025795e+04 1.16e-10 1.09e+04 -2.5 1.88e+05 - 9.57e-01 2.69e-01f 1\n", + " 38 -3.9026438e+04 2.33e-10 2.83e-08 -2.5 2.91e+04 - 1.00e+00 1.00e+00f 1\n", + " 39 -3.9038896e+04 2.33e-10 1.86e+04 -5.7 5.64e+04 - 8.82e-01 8.16e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.9041326e+04 1.16e-10 6.21e+03 -5.7 7.03e+03 - 7.76e-01 9.76e-01f 1\n", + " 41 -3.9041426e+04 1.16e-10 1.85e-11 -5.7 1.56e+03 - 1.00e+00 1.00e+00f 1\n", + " 42 -3.9041434e+04 1.16e-10 9.24e-13 -7.0 1.93e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 42\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.9041434477311168e+02 -3.9041434477311166e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 3.9441609154977104e-07 3.9441609154977102e-05\n", + "Overall NLP error.......: 3.9441609154977104e-07 3.9441609154977102e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 43\n", + "Number of objective gradient evaluations = 43\n", + "Number of equality constraint evaluations = 43\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 43\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 42\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.028\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 51898.87\n", + "Variable costs: 754.72\n", + "\n", + "Renewables curtailment reported at t=1 - total= 28.98\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 75.01\n", + "\n", + "Simulating time_step 2020-07-12 08:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.6238245e+04 2.16e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.6319946e+04 2.16e+05 9.90e+01 -1.0 2.60e+04 - 4.12e-04 3.82e-04h 1\n", + " 2 -3.4678579e+04 2.15e+05 9.98e+01 -1.0 2.22e+04 - 4.75e-04 1.38e-03h 1\n", + " 3 -2.6410627e+04 2.14e+05 1.01e+02 -1.0 1.01e+04 - 1.06e-03 4.08e-03h 1\n", + " 4 -6.3236957e+03 2.12e+05 1.01e+02 -1.0 2.84e+03 - 4.16e-03 8.89e-03h 1\n", + " 5 2.8927662e+04 2.09e+05 9.84e+01 -1.0 5.14e+03 - 2.01e-02 1.54e-02h 1\n", + " 6 3.6694892e+04 2.08e+05 9.86e+01 -1.0 5.70e+04 - 7.67e-04 3.23e-03h 1\n", + " 7 3.0244712e+05 1.85e+05 8.96e+01 -1.0 5.76e+04 - 1.00e-01 1.10e-01h 1\n", + " 8 3.3994650e+05 1.82e+05 8.42e+01 -1.0 3.29e+04 - 1.04e-01 1.77e-02h 1\n", + " 9 1.3480946e+06 9.37e+04 6.50e+01 -1.0 2.78e+04 - 3.09e-01 4.86e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.7210090e+06 5.76e+04 4.22e+01 -1.0 1.09e+04 - 5.30e-01 3.85e-01h 1\n", + " 11 2.0474366e+06 5.76e+02 7.33e+01 -1.0 1.67e+04 - 2.93e-01 9.90e-01h 1\n", + " 12 1.5374413e+06 5.55e+00 3.44e+03 -1.0 2.03e+04 - 7.18e-02 9.90e-01f 1\n", + " 13 1.1454721e+06 1.78e+00 2.49e+05 -1.0 1.64e+04 - 1.71e-02 6.78e-01f 1\n", + " 14 1.1416426e+06 1.77e+00 2.02e+05 -1.0 1.62e+04 - 4.24e-01 6.85e-03f 1\n", + " 15 1.1054711e+06 1.68e+00 2.20e+05 -1.0 3.36e+04 - 7.96e-02 5.25e-02f 1\n", + " 16 1.0712709e+06 1.60e+00 1.89e+05 -1.0 3.82e+04 - 2.44e-02 4.41e-02f 1\n", + " 17 1.0077108e+06 1.47e+00 5.30e+05 -1.0 3.97e+04 - 4.01e-01 8.18e-02f 1\n", + " 18 9.0400807e+05 1.34e+00 5.14e+05 -1.0 7.08e+04 - 1.15e-01 8.82e-02f 1\n", + " 19 9.0068348e+05 1.34e+00 9.44e+05 -1.0 6.56e+04 - 3.57e-01 3.54e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.1341682e+05 1.07e+00 6.94e+05 -1.0 6.68e+04 - 1.43e-01 1.98e-01f 1\n", + " 21 7.1126076e+05 1.07e+00 1.88e+06 -1.0 7.52e+04 - 8.68e-01 2.92e-03f 1\n", + " 22 6.2009246e+05 9.97e-01 1.70e+06 -1.0 5.03e+05 - 2.86e-02 6.93e-02f 1\n", + " 23 6.1562328e+05 9.93e-01 2.20e+06 -1.0 5.28e+05 - 4.09e-01 4.03e-03f 1\n", + " 24 2.6077654e+05 7.50e-01 1.39e+06 -1.0 8.16e+05 - 6.02e-03 2.44e-01f 1\n", + " 25 2.5518709e+05 7.48e-01 1.39e+06 -1.0 6.93e+05 - 7.90e-03 3.39e-03f 1\n", + " 26 2.0571819e+05 7.21e-01 1.62e+06 -1.0 6.93e+05 - 2.32e-01 3.63e-02f 1\n", + " 27 4.9593695e+04 6.54e-01 1.38e+06 -1.0 7.35e+05 - 2.52e-02 9.20e-02f 1\n", + " 28 4.8029162e+04 6.54e-01 1.77e+06 -1.0 7.17e+05 - 2.62e-01 1.05e-03f 1\n", + " 29 3.9113830e+04 5.84e-01 1.96e+06 -1.0 8.37e+03 - 3.73e-01 1.07e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.4284897e+04 6.45e-03 2.23e+04 -1.0 7.48e+03 - 9.58e-01 9.89e-01f 1\n", + " 31 -3.4935321e+04 1.16e-10 1.37e+05 -1.0 9.35e+03 - 9.63e-01 1.00e+00f 1\n", + " 32 -3.4931409e+04 1.16e-10 1.03e+05 -1.0 1.70e+05 - 5.85e-01 1.00e+00f 1\n", + " 33 -3.4908448e+04 2.33e-10 1.49e+03 -1.0 2.26e+05 - 9.86e-01 1.00e+00f 1\n", + " 34 -3.5233930e+04 2.33e-10 2.00e-07 -1.7 1.16e+05 - 1.00e+00 1.00e+00f 1\n", + " 35 -3.5338680e+04 2.33e-10 6.09e+05 -5.7 3.48e+05 - 5.58e-01 8.62e-01f 1\n", + " 36 -3.5356197e+04 1.16e-10 2.21e+05 -5.7 1.49e+05 - 6.92e-01 8.12e-01f 1\n", + " 37 -3.5358876e+04 2.33e-10 3.85e+03 -5.7 3.13e+04 - 9.33e-01 7.24e-01f 1\n", + " 38 -3.5359507e+04 1.16e-10 2.65e+01 -5.7 1.63e+03 - 9.50e-01 9.37e-01f 1\n", + " 39 -3.5359534e+04 2.33e-10 1.85e-11 -5.7 2.07e+02 - 1.00e+00 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.5359543e+04 2.33e-10 9.24e-13 -7.0 2.23e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 40\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.5359542763540560e+02 -3.5359542763540558e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 3.9788054145068073e-07 3.9788054145068074e-05\n", + "Overall NLP error.......: 3.9788054145068073e-07 3.9788054145068074e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 41\n", + "Number of objective gradient evaluations = 41\n", + "Number of equality constraint evaluations = 41\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 41\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 40\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.028\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 51898.87\n", + "Variable costs: 791.62\n", + "\n", + "Renewables curtailment reported at t=1 - total= 59.97\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 2.00\n", + "\n", + "Simulating time_step 2020-07-12 09:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.2606752e+04 2.15e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.2688557e+04 2.15e+05 9.90e+01 -1.0 2.60e+04 - 4.12e-04 3.82e-04h 1\n", + " 2 -3.1431110e+04 2.15e+05 9.98e+01 -1.0 2.22e+04 - 4.75e-04 1.38e-03h 1\n", + " 3 -2.6013487e+04 2.14e+05 1.00e+02 -1.0 1.01e+04 - 1.06e-03 3.16e-03h 1\n", + " 4 -8.1923049e+03 2.12e+05 1.01e+02 -1.0 2.77e+03 - 3.45e-03 8.96e-03h 1\n", + " 5 2.4499424e+04 2.09e+05 9.90e+01 -1.0 3.46e+03 - 1.67e-02 1.61e-02h 1\n", + " 6 2.9468708e+04 2.08e+05 9.91e+01 -1.0 5.01e+04 - 6.95e-04 2.30e-03h 1\n", + " 7 2.7950855e+05 1.85e+05 8.49e+01 -1.0 4.53e+04 - 1.32e-01 1.15e-01h 1\n", + " 8 2.9837452e+05 1.83e+05 9.20e+01 -1.0 1.84e+04 - 2.89e-02 9.78e-03h 1\n", + " 9 1.2031178e+06 9.67e+04 1.48e+02 -1.0 2.06e+04 - 1.81e-03 4.71e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.4649925e+06 7.03e+04 9.48e+01 -1.0 9.76e+03 - 4.45e-01 2.72e-01h 1\n", + " 11 2.0304596e+06 7.03e+02 5.52e+01 -1.0 7.26e+03 - 3.88e-01 9.90e-01h 1\n", + " 12 1.6954800e+06 6.82e+00 1.62e+03 -1.0 7.98e+03 - 4.62e-01 9.90e-01f 1\n", + " 13 1.4885100e+06 4.47e+00 4.34e+04 -1.0 1.72e+04 - 2.05e-01 3.44e-01f 1\n", + " 14 1.4827943e+06 4.44e+00 6.44e+04 -1.0 2.41e+04 - 2.44e-01 8.16e-03f 1\n", + " 15 1.1089266e+06 2.55e+00 1.47e+05 -1.0 3.28e+04 - 2.16e-02 4.26e-01f 1\n", + " 16 1.0682396e+06 2.41e+00 1.11e+05 -1.0 3.12e+04 - 8.91e-02 5.19e-02f 1\n", + " 17 1.0676964e+06 2.41e+00 2.60e+05 -1.0 2.06e+04 - 4.65e-01 7.85e-04f 1\n", + " 18 8.5818831e+05 1.62e+00 1.86e+04 -1.0 3.22e+04 - 7.62e-02 3.28e-01f 1\n", + " 19 8.5589456e+05 1.61e+00 6.13e+05 -1.0 3.87e+04 - 5.83e-01 4.58e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.0816900e+05 5.78e-01 2.79e+05 -1.0 9.29e+04 - 1.54e-01 6.42e-01f 1\n", + " 21 6.0604507e+05 5.74e-01 1.47e+06 -1.0 1.12e+05 - 7.64e-01 7.23e-03f 1\n", + " 22 2.6578163e+05 3.35e-01 4.67e+05 -1.0 4.92e+05 - 2.03e-01 4.17e-01f 1\n", + " 23 2.6265177e+05 3.33e-01 6.72e+05 -1.0 5.28e+05 - 8.69e-02 3.88e-03f 1\n", + " 24 2.6192077e+05 3.32e-01 6.65e+05 -1.0 5.61e+04 - 1.13e-03 3.28e-03f 1\n", + " 25 4.8331430e+04 1.82e-01 1.34e+05 -1.0 2.90e+05 - 3.58e-01 4.53e-01f 1\n", + " 26 4.6563255e+04 1.82e-01 5.82e+05 -1.0 6.91e+05 - 1.58e-01 2.23e-03f 1\n", + " 27 3.9836444e+04 1.76e-01 1.87e+06 -1.0 1.92e+05 - 5.26e-01 3.00e-02f 1\n", + " 28 -2.3230380e+04 1.41e-01 2.18e+06 -1.0 2.76e+05 - 5.61e-01 1.99e-01f 1\n", + " 29 -2.3869839e+04 1.41e-01 3.23e+06 -1.0 1.54e+05 - 7.33e-01 3.58e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.2320827e+04 1.04e-02 3.84e+05 -1.0 3.24e+04 - 1.52e-01 9.26e-01f 1\n", + " 31 -3.2822164e+04 1.79e-03 1.84e+05 -1.0 2.75e+03 - 7.26e-01 8.28e-01f 1\n", + " 32 -3.2960262e+04 2.33e-10 3.40e+04 -1.0 9.49e+03 - 9.08e-01 1.00e+00f 1\n", + " 33 -3.2957396e+04 4.66e-10 1.41e+04 -1.0 1.11e+05 - 6.19e-01 1.00e+00f 1\n", + " 34 -3.2941376e+04 4.66e-10 4.15e+03 -1.0 2.21e+05 - 7.06e-01 1.00e+00f 1\n", + " 35 -3.2912065e+04 1.16e-10 1.00e-06 -1.0 2.81e+05 - 1.00e+00 1.00e+00f 1\n", + " 36 -3.3393632e+04 2.33e-10 2.73e+06 -5.7 1.95e+05 - 7.23e-01 9.96e-01f 1\n", + " 37 -3.3419843e+04 4.66e-10 5.72e+05 -5.7 2.76e+05 - 7.92e-01 8.85e-01f 1\n", + " 38 -3.3425401e+04 3.49e-10 1.73e+05 -5.7 1.58e+05 - 6.97e-01 7.58e-01f 1\n", + " 39 -3.3425944e+04 1.16e-10 3.08e+04 -5.7 2.77e+04 - 8.20e-01 4.95e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.3426711e+04 1.16e-10 2.10e+02 -5.7 2.96e+04 - 9.93e-01 9.67e-01f 1\n", + " 41 -3.3426733e+04 2.33e-10 1.85e-11 -5.7 9.96e+02 - 1.00e+00 1.00e+00f 1\n", + " 42 -3.3426743e+04 4.66e-10 9.24e-13 -7.0 3.48e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 42\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.3426742996097596e+02 -3.3426742996097593e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 4.6566128730773926e-10\n", + "Complementarity.........: 1.6209992550618188e-07 1.6209992550618189e-05\n", + "Overall NLP error.......: 1.6209992550618188e-07 1.6209992550618189e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 43\n", + "Number of objective gradient evaluations = 43\n", + "Number of equality constraint evaluations = 43\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 43\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 42\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.027\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 51898.87\n", + "Variable costs: 865.47\n", + "\n", + "Renewables curtailment reported at t=1 - total= 70.61\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 4.00\n", + "\n", + "Simulating time_step 2020-07-12 10:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.0623829e+04 2.15e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.0665317e+04 2.15e+05 9.90e+01 -1.0 2.60e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.9186317e+04 2.15e+05 1.00e+02 -1.0 2.56e+04 - 2.15e-04 8.73e-04h 1\n", + " 3 -2.4336659e+04 2.15e+05 1.00e+02 -1.0 1.66e+04 - 8.16e-04 1.80e-03h 1\n", + " 4 -2.8843940e+03 2.13e+05 1.01e+02 -1.0 5.61e+03 - 1.72e-03 6.46e-03h 1\n", + " 5 5.5273561e+04 2.10e+05 1.01e+02 -1.0 2.33e+03 - 7.52e-03 1.70e-02h 1\n", + " 6 7.9407502e+04 2.08e+05 9.57e+01 -1.0 4.95e+03 - 4.18e-02 7.20e-03h 1\n", + " 7 1.1277564e+05 2.06e+05 9.47e+01 -1.0 2.41e+04 - 8.28e-02 1.06e-02h 1\n", + " 8 2.6480194e+06 3.82e+04 4.30e+02 -1.0 2.05e+04 - 7.25e-02 8.15e-01h 1\n", + " 9 2.7801787e+06 2.76e+04 3.05e+02 -1.0 4.14e+03 - 2.27e-01 2.77e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.0527344e+06 2.76e+02 1.16e+02 -1.0 3.72e+03 - 3.11e-01 9.90e-01h 1\n", + " 11 2.8734319e+06 4.96e+01 2.30e+03 -1.0 5.28e+03 - 5.27e-01 8.20e-01f 1\n", + " 12 2.4210934e+06 2.82e-01 3.24e+04 -1.0 1.08e+04 - 2.44e-01 9.94e-01f 1\n", + " 13 2.0055043e+06 7.41e-02 3.18e+06 -1.0 1.75e+04 - 3.84e-03 7.38e-01f 1\n", + " 14 1.9982146e+06 7.31e-02 2.77e+05 -1.0 1.83e+04 - 3.99e-01 1.30e-02f 1\n", + " 15 1.7468154e+06 4.83e-02 1.87e+06 -1.0 3.35e+04 - 1.60e-02 3.39e-01f 1\n", + " 16 1.7410753e+06 4.81e-02 1.82e+06 -1.0 6.74e+04 - 1.19e-02 4.31e-03f 1\n", + " 17 1.7377353e+06 4.80e-02 1.47e+06 -1.0 9.23e+04 - 6.48e-02 2.37e-03f 1\n", + " 18 1.5421495e+06 4.14e-02 1.90e+06 -1.0 9.16e+04 - 1.88e-02 1.37e-01f 1\n", + " 19 1.5150611e+06 4.06e-02 7.92e+05 -1.0 8.27e+04 - 2.19e-01 2.06e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.5125894e+06 4.05e-02 1.12e+06 -1.0 8.39e+04 - 4.36e-01 2.37e-03f 1\n", + " 21 9.0603275e+05 1.83e-02 6.79e+05 -1.0 8.76e+04 - 1.21e-01 5.47e-01f 1\n", + " 22 9.0233256e+05 1.82e-02 1.66e+06 -1.0 3.85e+04 - 8.61e-01 6.63e-03f 1\n", + " 23 7.5419763e+05 1.55e-02 1.37e+06 -1.0 3.79e+05 - 5.73e-02 1.46e-01f 1\n", + " 24 7.2799835e+05 1.50e-02 1.45e+06 -1.0 4.33e+05 - 2.67e-01 3.41e-02f 1\n", + " 25 3.3646903e+05 9.50e-03 7.68e+05 -1.0 6.38e+05 - 3.54e-03 3.67e-01f 1\n", + " 26 3.3105929e+05 9.47e-03 7.69e+05 -1.0 6.04e+05 - 1.37e-02 3.80e-03f 1\n", + " 27 3.3086312e+05 9.47e-03 1.14e+06 -1.0 3.87e+05 - 9.00e-01 3.35e-04f 1\n", + " 28 5.7453932e+03 7.95e-05 4.58e+04 -1.0 2.49e+05 - 1.38e-02 9.92e-01f 1\n", + " 29 -3.2543664e+04 6.43e-06 2.25e+04 -1.0 3.77e+04 - 5.96e-01 9.19e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.2958887e+04 4.66e-10 1.05e+04 -1.0 4.44e+03 - 5.55e-01 1.00e+00f 1\n", + " 31 -3.2939042e+04 1.16e-10 4.48e+03 -1.0 7.35e+03 - 5.73e-01 1.00e+00f 1\n", + " 32 -3.2931686e+04 1.16e-10 1.66e+03 -1.0 1.30e+04 - 6.29e-01 1.00e+00f 1\n", + " 33 -3.3311115e+04 3.49e-10 9.61e+05 -1.7 8.28e+03 - 8.80e-01 1.00e+00f 1\n", + " 34 -3.3320453e+04 1.16e-10 3.47e+05 -1.7 6.31e+04 - 6.39e-01 1.00e+00f 1\n", + " 35 -3.3334233e+04 2.33e-10 9.03e+04 -1.7 1.40e+05 - 7.40e-01 1.00e+00f 1\n", + " 36 -3.3336462e+04 1.16e-10 5.23e+03 -1.7 1.19e+05 - 9.42e-01 4.79e-01f 1\n", + " 37 -3.3327914e+04 2.33e-10 2.00e-07 -1.7 1.20e+05 - 1.00e+00 1.00e+00f 1\n", + " 38 -3.3439164e+04 1.16e-10 2.83e+05 -5.7 2.45e+05 - 7.45e-01 8.86e-01f 1\n", + " 39 -3.3452568e+04 1.16e-10 8.15e+04 -5.7 1.06e+05 - 7.35e-01 7.63e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.3455705e+04 2.33e-10 1.56e+04 -5.7 2.51e+04 - 8.27e-01 8.55e-01f 1\n", + " 41 -3.3456168e+04 2.33e-10 1.89e+03 -5.7 1.07e+04 - 1.00e+00 7.58e-01f 1\n", + " 42 -3.3456295e+04 2.33e-10 2.84e+02 -5.7 2.58e+03 - 8.94e-01 1.00e+00f 1\n", + " 43 -3.3456292e+04 2.33e-10 1.85e-11 -5.7 1.10e-02 - 1.00e+00 1.00e+00f 1\n", + " 44 -3.3456303e+04 1.16e-10 9.38e-13 -7.0 3.48e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 44\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.3456302550352439e+02 -3.3456302550352440e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2437385165872740e-07 1.2437385165872740e-05\n", + "Overall NLP error.......: 1.2437385165872740e-07 1.2437385165872740e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 45\n", + "Number of objective gradient evaluations = 45\n", + "Number of equality constraint evaluations = 45\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 45\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 44\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.018\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 57810.87\n", + "Variable costs: 5253.53\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 250.44\n", + "\n", + "Simulating time_step 2020-07-12 11:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.0654688e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.0696073e+04 1.64e+05 9.90e+01 -1.0 1.80e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.9191600e+04 1.64e+05 1.00e+02 -1.0 1.82e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -2.4775448e+04 1.63e+05 1.00e+02 -1.0 1.60e+04 - 1.00e-03 1.79e-03h 1\n", + " 4 -2.8928594e+03 1.62e+05 1.01e+02 -1.0 4.22e+03 - 1.63e-03 7.39e-03h 1\n", + " 5 4.9775709e+04 1.59e+05 1.01e+02 -1.0 2.33e+03 - 8.50e-03 1.73e-02h 1\n", + " 6 1.8341558e+05 1.52e+05 9.32e+01 -1.0 2.35e+03 - 6.22e-02 4.45e-02h 1\n", + " 7 6.6761831e+05 1.26e+05 8.54e+01 -1.0 2.51e+03 - 1.26e-01 1.70e-01h 1\n", + " 8 1.2875876e+06 9.30e+04 5.62e+01 -1.0 2.87e+03 - 3.41e-01 2.64e-01h 1\n", + " 9 2.9253101e+06 9.30e+02 5.68e+01 -1.0 4.36e+03 - 4.58e-01 9.90e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.6886356e+06 9.14e+00 1.29e+03 -1.0 7.83e+03 - 2.56e-01 9.90e-01f 1\n", + " 11 2.3494483e+06 3.49e-10 1.16e+05 -1.0 1.05e+04 - 3.40e-01 1.00e+00f 1\n", + " 12 2.0727209e+06 2.33e-10 2.39e+06 -1.0 1.94e+04 - 3.31e-01 5.66e-01f 1\n", + " 13 2.0653186e+06 3.49e-10 2.14e+06 -1.0 3.03e+04 - 4.33e-02 1.09e-02f 1\n", + " 14 1.8859544e+06 1.16e-10 3.15e+06 -1.0 3.81e+04 - 8.92e-03 2.51e-01f 1\n", + " 15 1.7302385e+06 1.16e-10 3.33e+06 -1.0 8.96e+04 - 1.69e-02 9.18e-02f 1\n", + " 16 1.7125867e+06 1.16e-10 2.28e+06 -1.0 8.50e+04 - 1.75e-01 1.06e-02f 1\n", + " 17 1.7011471e+06 3.49e-10 1.11e+06 -1.0 8.69e+04 - 2.31e-01 6.80e-03f 1\n", + " 18 1.0679008e+06 1.16e-10 1.32e+06 -1.0 8.91e+04 - 2.05e-01 3.60e-01f 1\n", + " 19 1.0613314e+06 1.16e-10 1.41e+06 -1.0 5.96e+04 - 8.78e-01 5.47e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.0342482e+06 2.33e-10 1.39e+06 -1.0 2.69e+05 - 3.81e-02 2.35e-02f 1\n", + " 21 9.5077904e+05 4.66e-10 1.28e+06 -1.0 3.04e+05 - 3.70e-02 7.03e-02f 1\n", + " 22 9.4628652e+05 3.49e-10 1.46e+06 -1.0 3.24e+05 - 5.46e-01 4.13e-03f 1\n", + " 23 6.8499425e+05 3.49e-10 1.27e+06 -1.0 1.02e+06 - 5.14e-02 1.27e-01f 1\n", + " 24 6.8218706e+05 3.49e-10 1.32e+06 -1.0 8.42e+05 - 3.84e-01 1.54e-03f 1\n", + " 25 3.5827989e+05 3.49e-10 9.97e+05 -1.0 7.51e+05 - 3.55e-01 2.53e-01f 1\n", + " 26 3.1551678e+05 3.49e-10 9.76e+05 -1.0 1.11e+06 - 1.72e-01 2.96e-02f 1\n", + " 27 3.1476347e+05 3.49e-10 9.73e+05 -1.0 1.32e+05 - 1.52e-03 2.49e-03f 1\n", + " 28 6.3534226e+04 2.33e-10 3.87e+05 -1.0 3.79e+05 - 3.14e-01 5.88e-01f 1\n", + " 29 2.9395273e+04 2.33e-10 2.76e+05 -1.0 8.30e+04 - 6.52e-01 3.16e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.5265897e+04 1.16e-10 5.38e+03 -1.0 7.97e+04 - 3.91e-01 9.56e-01f 1\n", + " 31 -3.6232215e+04 1.16e-10 2.73e+03 -1.0 7.78e+04 - 7.86e-01 6.61e-01f 1\n", + " 32 -3.6415677e+04 2.33e-10 6.79e+02 -1.0 2.45e+04 - 3.75e-01 6.77e-01f 1\n", + " 33 -3.6746958e+04 2.33e-10 2.89e+06 -1.7 3.45e+04 - 8.52e-01 4.91e-01f 1\n", + " 34 -3.6952823e+04 3.49e-10 4.86e+05 -1.7 2.38e+04 - 5.89e-01 1.00e+00f 1\n", + " 35 -3.6950081e+04 2.33e-10 1.71e+05 -1.7 4.55e+04 - 6.48e-01 1.00e+00f 1\n", + " 36 -3.6944454e+04 2.33e-10 3.93e+04 -1.7 8.86e+04 - 7.70e-01 1.00e+00f 1\n", + " 37 -3.6935818e+04 2.33e-10 1.22e+03 -1.7 1.35e+05 - 9.69e-01 1.00e+00f 1\n", + " 38 -3.6929858e+04 2.33e-10 2.00e-07 -1.7 7.03e+04 - 1.00e+00 1.00e+00f 1\n", + " 39 -3.7037302e+04 1.16e-10 5.94e+05 -5.7 2.74e+05 - 6.99e-01 9.96e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.7040757e+04 1.16e-10 9.36e+04 -5.7 1.26e+05 - 8.41e-01 7.35e-01f 1\n", + " 41 -3.7041658e+04 1.16e-10 1.02e+04 -5.7 2.48e+04 - 8.90e-01 8.40e-01f 1\n", + " 42 -3.7041811e+04 2.33e-10 3.50e+03 -5.7 6.95e+03 - 6.66e-01 1.00e+00f 1\n", + " 43 -3.7041816e+04 1.16e-10 1.85e-11 -5.7 1.51e+02 - 1.00e+00 1.00e+00f 1\n", + " 44 -3.7041825e+04 2.33e-10 9.24e-13 -7.0 3.58e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 44\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.7041824886655951e+02 -3.7041824886655952e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.3193589306009337e-07 1.3193589306009336e-05\n", + "Overall NLP error.......: 1.3193589306009337e-07 1.3193589306009336e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 45\n", + "Number of objective gradient evaluations = 45\n", + "Number of equality constraint evaluations = 45\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 45\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 44\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.028\n", + "Total CPU secs in NLP function evaluations = 0.002\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 57502.87\n", + "Variable costs: 9355.40\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 212.06\n", + "\n", + "Simulating time_step 2020-07-12 12:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.4142244e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.4183287e+04 1.64e+05 9.90e+01 -1.0 2.53e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -3.2571507e+04 1.64e+05 1.00e+02 -1.0 2.48e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -2.7495955e+04 1.63e+05 1.00e+02 -1.0 1.53e+04 - 7.93e-04 1.79e-03h 1\n", + " 4 -6.5023859e+03 1.62e+05 1.01e+02 -1.0 5.13e+03 - 1.74e-03 6.13e-03h 1\n", + " 5 5.2387733e+04 1.60e+05 1.01e+02 -1.0 2.23e+03 - 7.19e-03 1.67e-02h 1\n", + " 6 3.1679041e+05 1.48e+05 1.00e+02 -1.0 2.25e+03 - 4.08e-02 7.60e-02h 1\n", + " 7 5.7650615e+05 1.36e+05 8.39e+01 -1.0 2.37e+03 - 1.26e-01 8.13e-02h 1\n", + " 8 1.0985049e+06 1.11e+05 6.72e+01 -1.0 2.78e+03 - 3.30e-01 1.79e-01h 1\n", + " 9 1.4701067e+06 9.35e+04 5.65e+01 -1.0 4.39e+03 - 5.01e-01 1.59e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 3.2406567e+06 9.35e+02 4.38e+01 -1.0 8.35e+03 - 1.91e-01 9.90e-01h 1\n", + " 11 2.9183632e+06 9.19e+00 8.86e+02 -1.0 9.63e+03 - 4.84e-01 9.90e-01f 1\n", + " 12 2.3759446e+06 3.44e-01 1.45e+05 -1.0 1.80e+04 - 1.36e-01 9.63e-01f 1\n", + " 13 2.3661587e+06 3.39e-01 1.19e+05 -1.0 3.20e+04 - 9.59e-02 1.45e-02f 1\n", + " 14 2.3634618e+06 3.38e-01 1.23e+05 -1.0 4.85e+04 - 3.51e-03 2.33e-03f 1\n", + " 15 2.2252931e+06 3.08e-01 1.34e+05 -1.0 9.23e+04 - 1.10e-02 8.89e-02f 1\n", + " 16 2.1977246e+06 3.02e-01 6.53e+04 -1.0 8.60e+04 - 7.62e-02 1.74e-02f 1\n", + " 17 2.0051775e+06 2.67e-01 3.21e+05 -1.0 8.59e+04 - 1.96e-01 1.16e-01f 1\n", + " 18 1.4604680e+06 1.86e-01 1.33e+05 -1.0 7.97e+04 - 1.97e-01 3.05e-01f 1\n", + " 19 1.3385121e+06 1.70e-01 1.50e+06 -1.0 5.80e+04 - 5.17e-01 8.81e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 1.3366850e+06 1.69e-01 2.21e+06 -1.0 9.58e+04 - 2.39e-01 1.44e-03f 1\n", + " 21 9.6991462e+05 1.08e-01 2.01e+06 -1.0 1.31e+05 - 5.89e-01 3.62e-01f 1\n", + " 22 9.4538693e+05 1.06e-01 2.30e+06 -1.0 4.10e+05 - 1.61e-01 2.01e-02f 1\n", + " 23 5.8256191e+05 7.83e-02 1.68e+06 -1.0 5.19e+05 - 2.51e-01 2.60e-01f 1\n", + " 24 5.3492725e+05 7.66e-02 2.17e+06 -1.0 7.61e+05 - 2.85e-01 2.26e-02f 1\n", + " 25 5.3152059e+05 7.64e-02 2.32e+06 -1.0 1.01e+06 - 1.02e-01 2.28e-03f 1\n", + " 26 3.3439829e+05 6.62e-02 1.82e+06 -1.0 1.06e+06 - 1.19e-03 1.33e-01f 1\n", + " 27 3.3134447e+05 6.61e-02 2.16e+06 -1.0 8.37e+05 - 2.26e-01 1.68e-03f 1\n", + " 28 3.0005713e+05 6.25e-02 1.99e+06 -1.0 4.65e+05 - 9.83e-03 5.48e-02f 1\n", + " 29 -8.1817779e+03 2.81e-02 1.42e+06 -1.0 4.59e+05 - 9.50e-01 5.50e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.2662238e+04 3.28e-03 1.47e+04 -1.0 3.13e+04 - 5.74e-01 8.83e-01f 1\n", + " 31 -3.5896356e+04 2.33e-10 1.73e+05 -1.0 4.72e+04 - 3.97e-01 1.00e+00f 1\n", + " 32 -3.6138947e+04 2.33e-10 5.93e+04 -1.0 3.33e+04 - 6.68e-01 1.00e+00f 1\n", + " 33 -3.6203391e+04 1.16e-10 2.41e+04 -1.0 1.91e+04 - 5.94e-01 1.00e+00f 1\n", + " 34 -3.6195858e+04 1.16e-10 9.77e+03 -1.0 4.41e+04 - 5.94e-01 1.00e+00f 1\n", + " 35 -3.6195598e+04 2.33e-10 3.18e+03 -1.0 9.16e+04 - 6.74e-01 1.00e+00f 1\n", + " 36 -3.6188800e+04 3.49e-10 6.83e+02 -1.0 1.60e+05 - 7.85e-01 1.00e+00f 1\n", + " 37 -3.6517928e+04 2.33e-10 2.00e-07 -1.7 7.16e+04 - 1.00e+00 1.00e+00f 1\n", + " 38 -3.6618568e+04 2.33e-10 5.52e+05 -5.7 3.92e+05 - 6.15e-01 8.91e-01f 1\n", + " 39 -3.6629477e+04 1.16e-10 2.30e+05 -5.7 1.70e+05 - 6.08e-01 6.73e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.6634038e+04 2.33e-10 1.82e+03 -5.7 4.40e+04 - 9.33e-01 7.43e-01f 1\n", + " 41 -3.6635267e+04 2.33e-10 2.92e+03 -5.7 1.85e+04 - 7.46e-01 8.81e-01f 1\n", + " 42 -3.6635410e+04 1.16e-10 5.11e+02 -5.7 2.75e+03 - 8.78e-01 9.48e-01f 1\n", + " 43 -3.6635415e+04 1.16e-10 1.85e-11 -5.7 1.54e+02 - 1.00e+00 1.00e+00f 1\n", + " 44 -3.6635424e+04 2.33e-10 9.24e-13 -7.0 3.76e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 44\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.6635424050647703e+02 -3.6635424050647700e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 2.0618204524282620e-07 2.0618204524282619e-05\n", + "Overall NLP error.......: 2.0618204524282620e-07 2.0618204524282619e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 45\n", + "Number of objective gradient evaluations = 45\n", + "Number of equality constraint evaluations = 45\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 45\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 44\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.050\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 56798.87\n", + "Variable costs: 13302.31\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 195.98\n", + "\n", + "Simulating time_step 2020-07-12 13:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.3786251e+04 6.19e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.3826925e+04 6.19e+05 9.90e+01 -1.0 1.74e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -3.2313791e+04 6.18e+05 1.00e+02 -1.0 1.76e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -2.7862402e+04 6.17e+05 1.00e+02 -1.0 1.52e+04 - 9.92e-04 1.79e-03h 1\n", + " 4 -6.1114707e+03 6.12e+05 1.01e+02 -1.0 5.93e+03 - 1.68e-03 7.32e-03h 1\n", + " 5 4.8687625e+04 6.01e+05 1.01e+02 -1.0 3.41e+03 - 8.46e-03 1.80e-02h 1\n", + " 6 2.6024638e+05 5.59e+05 1.01e+02 -1.0 2.26e+03 - 3.72e-02 7.04e-02h 1\n", + " 7 4.9048240e+05 5.13e+05 8.53e+01 -1.0 2.36e+03 - 1.20e-01 8.28e-02h 1\n", + " 8 9.5370176e+05 4.19e+05 6.71e+01 -1.0 2.71e+03 - 3.30e-01 1.83e-01h 1\n", + " 9 1.2616630e+06 3.56e+05 5.69e+01 -1.0 4.35e+03 - 5.05e-01 1.51e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.8456263e+06 3.56e+03 4.45e+01 -1.0 8.34e+03 - 1.79e-01 9.90e-01h 1\n", + " 11 2.6187216e+06 3.49e+01 8.93e+02 -1.0 9.50e+03 - 4.77e-01 9.90e-01f 1\n", + " 12 2.2141762e+06 2.35e-01 1.50e+05 -1.0 1.75e+04 - 1.29e-01 9.93e-01f 1\n", + " 13 2.2064201e+06 2.31e-01 4.76e+05 -1.0 2.66e+04 - 1.01e-01 1.50e-02f 1\n", + " 14 2.2049514e+06 2.31e-01 5.15e+05 -1.0 3.79e+04 - 8.33e-03 2.41e-03f 1\n", + " 15 2.1607491e+06 2.15e-01 1.42e+05 -1.0 3.90e+04 - 1.89e-02 6.93e-02f 1\n", + " 16 2.1177393e+06 2.09e-01 3.96e+04 -1.0 5.90e+04 - 1.34e-02 2.80e-02f 1\n", + " 17 8.5759665e+05 9.57e-02 3.41e+06 -1.0 9.13e+04 - 3.01e-02 5.42e-01f 1\n", + " 18 8.4325413e+05 9.48e-02 1.26e+05 -1.0 5.06e+04 - 4.38e-01 9.27e-03f 1\n", + " 19 8.4014108e+05 9.46e-02 1.71e+06 -1.0 6.20e+04 - 3.90e-01 2.54e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 6.3602312e+05 7.92e-02 3.05e+06 -1.0 6.72e+04 - 6.83e-01 1.63e-01f 1\n", + " 21 6.3208469e+05 7.89e-02 3.56e+06 -1.0 1.88e+05 - 4.01e-01 3.62e-03f 1\n", + " 22 3.4044786e+05 6.00e-02 2.74e+06 -1.0 4.99e+05 - 2.77e-01 2.40e-01f 1\n", + " 23 2.9994484e+05 5.87e-02 2.78e+06 -1.0 1.43e+06 - 1.79e-01 2.22e-02f 1\n", + " 24 2.9951261e+05 5.86e-02 2.91e+06 -1.0 1.94e+05 - 2.61e-01 1.63e-03f 1\n", + " 25 2.8714150e+05 3.25e-02 1.44e+06 -1.0 7.54e+03 - 3.58e-03 4.45e-01f 1\n", + " 26 3.9178397e+04 1.70e-02 6.62e+05 -1.0 4.59e+05 - 2.77e-01 4.79e-01f 1\n", + " 27 -3.2195510e+04 6.01e-03 3.36e+05 -1.0 9.50e+04 - 9.58e-01 6.46e-01f 1\n", + " 28 -3.4896567e+04 6.49e-05 6.27e+03 -1.0 8.90e+03 - 5.48e-01 9.89e-01f 1\n", + " 29 -3.4862951e+04 1.16e-10 3.73e+03 -1.0 1.50e+04 - 6.40e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.4861812e+04 2.33e-10 1.50e+03 -1.0 2.62e+04 - 5.97e-01 1.00e+00f 1\n", + " 31 -3.5126176e+04 2.33e-10 9.42e+05 -1.7 1.48e+04 - 8.82e-01 1.00e+00f 1\n", + " 32 -3.5130639e+04 1.16e-10 3.05e+05 -1.7 7.34e+04 - 6.76e-01 1.00e+00f 1\n", + " 33 -3.5131259e+04 1.16e-10 6.28e+04 -1.7 8.06e+04 - 7.94e-01 1.00e+00f 1\n", + " 34 -3.5129265e+04 2.33e-10 2.00e-07 -1.7 7.06e+04 - 1.00e+00 1.00e+00f 1\n", + " 35 -3.5214708e+04 2.33e-10 6.82e+05 -5.7 2.71e+05 - 6.22e-01 9.63e-01f 1\n", + " 36 -3.5222661e+04 1.16e-10 7.26e+04 -5.7 1.11e+05 - 8.73e-01 6.87e-01f 1\n", + " 37 -3.5225258e+04 1.16e-10 5.39e+02 -5.7 2.93e+04 - 9.65e-01 8.33e-01f 1\n", + " 38 -3.5225528e+04 1.16e-10 1.11e+03 -5.7 9.73e+03 - 9.14e-01 6.39e-01f 1\n", + " 39 -3.5225675e+04 1.16e-10 1.01e+02 -5.7 3.52e+03 - 9.39e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.5225675e+04 1.16e-10 1.85e-11 -5.7 1.50e+00 - 1.00e+00 1.00e+00h 1\n", + " 41 -3.5225683e+04 2.33e-10 9.38e-13 -7.0 3.74e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 41\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.5225682928078032e+02 -3.5225682928078029e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 2.3283064365386963e-10\n", + "Complementarity.........: 1.3221384975085861e-07 1.3221384975085860e-05\n", + "Overall NLP error.......: 1.3221384975085861e-07 1.3221384975085860e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 42\n", + "Number of objective gradient evaluations = 42\n", + "Number of equality constraint evaluations = 42\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 42\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 41\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.029\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 59498.87\n", + "Variable costs: 20669.15\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 429.81\n", + "\n", + "Simulating time_step 2020-07-12 14:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.2426910e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.2468298e+04 1.64e+05 9.90e+01 -1.0 1.74e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -3.1300631e+04 1.64e+05 1.00e+02 -1.0 1.76e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -2.7777020e+04 1.63e+05 1.00e+02 -1.0 1.52e+04 - 9.92e-04 1.79e-03h 1\n", + " 4 -9.7868647e+03 1.62e+05 1.01e+02 -1.0 3.77e+03 - 1.68e-03 7.32e-03h 1\n", + " 5 3.3249843e+04 1.59e+05 1.01e+02 -1.0 2.23e+03 - 8.46e-03 1.69e-02h 1\n", + " 6 1.4530447e+05 1.52e+05 9.32e+01 -1.0 2.26e+03 - 6.18e-02 4.45e-02h 1\n", + " 7 5.7051927e+05 1.25e+05 8.66e+01 -1.0 2.42e+03 - 1.23e-01 1.78e-01h 1\n", + " 8 8.1266756e+05 1.10e+05 6.63e+01 -1.0 2.81e+03 - 3.45e-01 1.24e-01h 1\n", + " 9 1.3650753e+06 7.33e+04 4.43e+01 -1.0 4.56e+03 - 4.73e-01 3.32e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.3306086e+06 7.33e+02 3.90e+01 -1.0 8.22e+03 - 2.89e-01 9.90e-01h 1\n", + " 11 2.0676553e+06 7.17e+00 1.29e+03 -1.0 1.06e+04 - 4.12e-01 9.90e-01f 1\n", + " 12 1.7049693e+06 7.76e-01 1.52e+05 -1.0 1.77e+04 - 2.12e-01 8.92e-01f 1\n", + " 13 1.6956470e+06 7.66e-01 1.32e+05 -1.0 4.56e+04 - 2.28e-02 1.23e-02f 1\n", + " 14 1.6939813e+06 7.65e-01 1.28e+05 -1.0 5.88e+04 - 3.40e-03 1.38e-03f 1\n", + " 15 6.1539176e+05 2.14e-01 1.26e+06 -1.0 9.40e+04 - 2.03e-02 7.21e-01f 1\n", + " 16 5.9488298e+05 2.09e-01 7.74e+05 -1.0 4.68e+04 - 4.91e-01 2.27e-02f 1\n", + " 17 5.6037978e+05 1.98e-01 2.14e+06 -1.0 5.44e+04 - 4.67e-01 5.36e-02f 1\n", + " 18 5.5956073e+05 1.97e-01 3.92e+06 -1.0 8.22e+04 - 6.40e-01 3.27e-03f 1\n", + " 19 2.9625234e+05 8.42e-02 1.27e+06 -1.0 2.02e+05 - 3.68e-01 5.73e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.9373220e+05 8.39e-02 1.46e+06 -1.0 6.33e+05 - 8.38e-02 2.74e-03f 1\n", + " 21 2.9342078e+05 8.35e-02 1.44e+06 -1.0 4.12e+04 - 9.44e-04 5.01e-03f 1\n", + " 22 -2.0390871e+04 6.64e-02 9.30e+05 -1.0 1.38e+06 - 1.10e-01 2.05e-01f 1\n", + " 23 -2.4577559e+04 5.87e-02 2.71e+06 -1.0 2.04e+04 - 9.45e-01 1.16e-01f 1\n", + " 24 -3.3272124e+04 1.70e-03 8.04e+04 -1.0 4.59e+03 - 7.65e-01 9.71e-01f 1\n", + " 25 -3.3535856e+04 1.16e-10 3.45e+05 -1.0 1.16e+04 - 2.38e-01 1.00e+00f 1\n", + " 26 -3.3519874e+04 1.16e-10 1.18e+05 -1.0 1.12e+04 - 6.63e-01 1.00e+00f 1\n", + " 27 -3.3518719e+04 2.33e-10 4.53e+04 -1.0 1.99e+04 - 6.15e-01 1.00e+00f 1\n", + " 28 -3.3516292e+04 2.33e-10 1.96e+04 -1.0 3.57e+04 - 5.67e-01 1.00e+00f 1\n", + " 29 -3.3510702e+04 1.16e-10 6.33e+03 -1.0 7.39e+04 - 6.77e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.3496472e+04 1.16e-10 1.96e+03 -1.0 1.50e+05 - 6.90e-01 1.00e+00f 1\n", + " 31 -3.3765515e+04 1.16e-10 2.59e+04 -1.7 4.91e+04 - 9.97e-01 1.00e+00f 1\n", + " 32 -3.3779422e+04 1.16e-10 2.00e-07 -1.7 1.94e+05 - 1.00e+00 1.00e+00f 1\n", + " 33 -3.3860711e+04 1.16e-10 6.03e+05 -5.7 2.63e+05 - 6.09e-01 9.11e-01f 1\n", + " 34 -3.3872770e+04 1.16e-10 1.51e+05 -5.7 1.38e+05 - 7.39e-01 7.02e-01f 1\n", + " 35 -3.3876660e+04 1.16e-10 2.78e+03 -5.7 4.48e+04 - 9.32e-01 7.91e-01f 1\n", + " 36 -3.3877357e+04 2.33e-10 1.11e+03 -5.7 1.23e+04 - 9.35e-01 8.19e-01f 1\n", + " 37 -3.3877481e+04 1.16e-10 2.35e+02 -5.7 2.63e+03 - 8.86e-01 8.32e-01f 1\n", + " 38 -3.3877504e+04 1.16e-10 1.85e-11 -5.7 4.41e+02 - 1.00e+00 1.00e+00f 1\n", + " 39 -3.3877513e+04 1.16e-10 9.38e-13 -7.0 3.74e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 39\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.3877512584163298e+02 -3.3877512584163298e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2742195498507997e-07 1.2742195498507998e-05\n", + "Overall NLP error.......: 1.2742195498507997e-07 1.2742195498507998e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 40\n", + "Number of objective gradient evaluations = 40\n", + "Number of equality constraint evaluations = 40\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 40\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 39\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.049\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 59614.87\n", + "Variable costs: 31385.31\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 461.68\n", + "\n", + "Simulating time_step 2020-07-12 15:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.1129141e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.1170520e+04 1.64e+05 9.90e+01 -1.0 1.74e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -3.0002812e+04 1.64e+05 1.00e+02 -1.0 1.76e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -2.6479113e+04 1.63e+05 1.00e+02 -1.0 1.52e+04 - 9.92e-04 1.79e-03h 1\n", + " 4 -8.4886137e+03 1.62e+05 1.01e+02 -1.0 3.77e+03 - 1.68e-03 7.32e-03h 1\n", + " 5 3.4560938e+04 1.59e+05 1.01e+02 -1.0 2.23e+03 - 8.46e-03 1.70e-02h 1\n", + " 6 1.4657507e+05 1.52e+05 9.32e+01 -1.0 2.26e+03 - 6.18e-02 4.45e-02h 1\n", + " 7 5.7169832e+05 1.25e+05 8.66e+01 -1.0 2.42e+03 - 1.23e-01 1.78e-01h 1\n", + " 8 8.1395137e+05 1.10e+05 6.63e+01 -1.0 2.81e+03 - 3.45e-01 1.24e-01h 1\n", + " 9 1.3658120e+06 7.34e+04 4.43e+01 -1.0 4.56e+03 - 4.73e-01 3.31e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.3319875e+06 7.33e+02 3.90e+01 -1.0 8.22e+03 - 2.89e-01 9.90e-01h 1\n", + " 11 2.0690578e+06 7.17e+00 1.29e+03 -1.0 1.06e+04 - 4.12e-01 9.90e-01f 1\n", + " 12 1.7063106e+06 7.75e-01 1.52e+05 -1.0 1.77e+04 - 2.11e-01 8.92e-01f 1\n", + " 13 1.6969858e+06 7.66e-01 1.32e+05 -1.0 4.56e+04 - 2.28e-02 1.23e-02f 1\n", + " 14 1.6953250e+06 7.65e-01 1.28e+05 -1.0 5.88e+04 - 3.40e-03 1.37e-03f 1\n", + " 15 6.1670771e+05 2.14e-01 1.26e+06 -1.0 9.40e+04 - 2.04e-02 7.21e-01f 1\n", + " 16 5.9620428e+05 2.09e-01 7.74e+05 -1.0 4.68e+04 - 4.91e-01 2.27e-02f 1\n", + " 17 5.6172962e+05 1.98e-01 2.14e+06 -1.0 5.44e+04 - 4.67e-01 5.35e-02f 1\n", + " 18 5.6091026e+05 1.97e-01 3.92e+06 -1.0 8.22e+04 - 6.40e-01 3.27e-03f 1\n", + " 19 2.9760123e+05 8.42e-02 1.27e+06 -1.0 2.02e+05 - 3.68e-01 5.73e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.9508106e+05 8.39e-02 1.46e+06 -1.0 6.33e+05 - 8.38e-02 2.74e-03f 1\n", + " 21 2.9476962e+05 8.35e-02 1.44e+06 -1.0 4.12e+04 - 9.44e-04 5.01e-03f 1\n", + " 22 -1.9042105e+04 6.64e-02 9.30e+05 -1.0 1.38e+06 - 1.10e-01 2.05e-01f 1\n", + " 23 -2.3228685e+04 5.87e-02 2.71e+06 -1.0 2.04e+04 - 9.45e-01 1.16e-01f 1\n", + " 24 -3.1923823e+04 1.70e-03 8.03e+04 -1.0 3.25e+03 - 7.65e-01 9.71e-01f 1\n", + " 25 -3.2187600e+04 1.16e-10 3.45e+05 -1.0 8.09e+03 - 2.38e-01 1.00e+00f 1\n", + " 26 -3.2171541e+04 2.33e-10 1.18e+05 -1.0 7.74e+03 - 6.63e-01 1.00e+00f 1\n", + " 27 -3.2170182e+04 2.33e-10 4.53e+04 -1.0 1.45e+04 - 6.15e-01 1.00e+00f 1\n", + " 28 -3.2167341e+04 2.33e-10 1.96e+04 -1.0 3.57e+04 - 5.67e-01 1.00e+00f 1\n", + " 29 -3.2161142e+04 1.75e-10 6.29e+03 -1.0 7.36e+04 - 6.79e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.2144873e+04 1.16e-10 1.91e+03 -1.0 1.48e+05 - 6.96e-01 1.00e+00f 1\n", + " 31 -3.2413147e+04 1.16e-10 2.00e-07 -1.7 4.93e+04 - 1.00e+00 1.00e+00f 1\n", + " 32 -3.2497450e+04 1.16e-10 4.85e+05 -5.7 3.68e+05 - 5.70e-01 8.12e-01f 1\n", + " 33 -3.2516970e+04 1.16e-10 3.34e+05 -5.7 1.79e+05 - 4.60e-01 6.51e-01f 1\n", + " 34 -3.2523585e+04 1.16e-10 8.47e+03 -5.7 5.26e+04 - 9.02e-01 7.17e-01f 1\n", + " 35 -3.2525610e+04 1.16e-10 4.89e+02 -5.7 1.98e+04 - 8.87e-01 8.74e-01f 1\n", + " 36 -3.2525809e+04 1.16e-10 1.59e+03 -5.7 4.23e+03 - 9.97e-01 6.57e-01f 1\n", + " 37 -3.2525905e+04 2.33e-10 1.51e+02 -5.7 1.45e+03 - 9.18e-01 1.00e+00f 1\n", + " 38 -3.2525905e+04 1.16e-10 1.85e-11 -5.7 1.71e-01 - 1.00e+00 1.00e+00h 1\n", + " 39 -3.2525914e+04 1.16e-10 9.24e-13 -7.0 3.74e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 39\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.2525913685123209e+02 -3.2525913685123207e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.3128783063139561e-07 1.3128783063139561e-05\n", + "Overall NLP error.......: 1.3128783063139561e-07 1.3128783063139561e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 40\n", + "Number of objective gradient evaluations = 40\n", + "Number of equality constraint evaluations = 40\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 40\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 39\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.028\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 58226.87\n", + "Variable costs: 29232.66\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 80.69\n", + "\n", + "Simulating time_step 2020-07-12 16:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.9827942e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.9869311e+04 1.64e+05 9.90e+01 -1.0 1.74e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.8701517e+04 1.64e+05 1.00e+02 -1.0 1.76e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -2.5177625e+04 1.63e+05 1.00e+02 -1.0 1.52e+04 - 9.92e-04 1.79e-03h 1\n", + " 4 -7.1879798e+03 1.62e+05 1.01e+02 -1.0 3.77e+03 - 1.68e-03 7.32e-03h 1\n", + " 5 3.5944105e+04 1.59e+05 1.01e+02 -1.0 2.22e+03 - 8.46e-03 1.70e-02h 1\n", + " 6 1.4774930e+05 1.52e+05 9.32e+01 -1.0 2.25e+03 - 6.18e-02 4.44e-02h 1\n", + " 7 5.7189515e+05 1.25e+05 8.66e+01 -1.0 2.42e+03 - 1.23e-01 1.77e-01h 1\n", + " 8 8.1504699e+05 1.10e+05 6.63e+01 -1.0 2.81e+03 - 3.45e-01 1.25e-01h 1\n", + " 9 1.3619811e+06 7.37e+04 4.45e+01 -1.0 4.56e+03 - 4.73e-01 3.28e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.3336074e+06 7.37e+02 3.91e+01 -1.0 8.22e+03 - 2.89e-01 9.90e-01h 1\n", + " 11 2.0708817e+06 7.21e+00 1.28e+03 -1.0 1.06e+04 - 4.13e-01 9.90e-01f 1\n", + " 12 1.7076066e+06 7.75e-01 1.52e+05 -1.0 1.77e+04 - 2.11e-01 8.92e-01f 1\n", + " 13 1.6982599e+06 7.66e-01 1.32e+05 -1.0 4.57e+04 - 2.27e-02 1.23e-02f 1\n", + " 14 1.6966124e+06 7.65e-01 1.28e+05 -1.0 5.91e+04 - 3.40e-03 1.36e-03f 1\n", + " 15 6.1780281e+05 2.14e-01 1.26e+06 -1.0 9.40e+04 - 2.12e-02 7.20e-01f 1\n", + " 16 5.9733138e+05 2.09e-01 7.75e+05 -1.0 4.68e+04 - 4.91e-01 2.27e-02f 1\n", + " 17 5.6314689e+05 1.98e-01 2.15e+06 -1.0 5.44e+04 - 4.67e-01 5.31e-02f 1\n", + " 18 5.6232358e+05 1.97e-01 3.92e+06 -1.0 8.23e+04 - 6.40e-01 3.31e-03f 1\n", + " 19 2.9897501e+05 8.42e-02 1.27e+06 -1.0 2.02e+05 - 3.68e-01 5.73e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 2.9645456e+05 8.40e-02 1.46e+06 -1.0 6.34e+05 - 8.37e-02 2.73e-03f 1\n", + " 21 2.9614288e+05 8.36e-02 1.44e+06 -1.0 4.12e+04 - 9.43e-04 5.01e-03f 1\n", + " 22 -1.7673038e+04 6.64e-02 9.32e+05 -1.0 1.38e+06 - 1.10e-01 2.05e-01f 1\n", + " 23 -2.1859861e+04 5.88e-02 2.71e+06 -1.0 2.04e+04 - 9.45e-01 1.16e-01f 1\n", + " 24 -3.0570736e+04 1.71e-03 7.99e+04 -1.0 2.01e+03 - 7.65e-01 9.71e-01f 1\n", + " 25 -3.0835980e+04 1.16e-10 3.45e+05 -1.0 4.88e+03 - 2.38e-01 1.00e+00f 1\n", + " 26 -3.0819805e+04 1.16e-10 1.18e+05 -1.0 4.92e+03 - 6.63e-01 1.00e+00f 1\n", + " 27 -3.0818282e+04 1.16e-10 4.53e+04 -1.0 1.45e+04 - 6.15e-01 1.00e+00f 1\n", + " 28 -3.0815114e+04 1.16e-10 1.96e+04 -1.0 3.57e+04 - 5.68e-01 1.00e+00f 1\n", + " 29 -3.0808433e+04 3.49e-10 6.23e+03 -1.0 7.33e+04 - 6.82e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.0791016e+04 1.16e-10 1.84e+03 -1.0 1.45e+05 - 7.05e-01 1.00e+00f 1\n", + " 31 -3.1058283e+04 1.16e-10 2.00e-07 -1.7 4.86e+04 - 1.00e+00 1.00e+00f 1\n", + " 32 -3.1141933e+04 1.16e-10 3.85e+05 -5.7 3.48e+05 - 6.13e-01 8.06e-01f 1\n", + " 33 -3.1160834e+04 1.16e-10 2.68e+03 -5.7 1.85e+05 - 8.06e-01 6.20e-01f 1\n", + " 34 -3.1168687e+04 1.16e-10 1.65e+04 -5.7 5.79e+04 - 8.73e-01 7.59e-01f 1\n", + " 35 -3.1170668e+04 1.16e-10 1.01e+03 -5.7 1.79e+04 - 8.82e-01 9.08e-01f 1\n", + " 36 -3.1170793e+04 1.16e-10 1.54e+03 -5.7 2.98e+03 - 1.00e+00 5.84e-01f 1\n", + " 37 -3.1170878e+04 1.16e-10 1.21e+01 -5.7 1.24e+03 - 9.91e-01 1.00e+00f 1\n", + " 38 -3.1170877e+04 2.33e-10 1.85e-11 -5.7 1.58e-01 - 1.00e+00 1.00e+00h 1\n", + " 39 -3.1170886e+04 1.16e-10 9.24e-13 -7.0 3.74e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 39\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.1170886235842949e+02 -3.1170886235842947e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.3063030987060938e-07 1.3063030987060938e-05\n", + "Overall NLP error.......: 1.3063030987060938e-07 1.3063030987060938e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 40\n", + "Number of objective gradient evaluations = 40\n", + "Number of equality constraint evaluations = 40\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 40\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 39\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.029\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 61538.87\n", + "Variable costs: 36786.70\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 305.00\n", + "\n", + "Simulating time_step 2020-07-12 17:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.8523315e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.8565282e+04 1.64e+05 9.90e+01 -1.0 2.67e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -2.7352660e+04 1.64e+05 1.00e+02 -1.0 2.63e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -2.3553596e+04 1.63e+05 1.00e+02 -1.0 1.82e+04 - 8.26e-04 1.79e-03h 1\n", + " 4 -7.1681832e+03 1.62e+05 1.01e+02 -1.0 4.88e+03 - 1.73e-03 6.30e-03h 1\n", + " 5 3.8200275e+04 1.60e+05 1.01e+02 -1.0 3.47e+03 - 7.38e-03 1.69e-02h 1\n", + " 6 2.3966017e+05 1.48e+05 9.96e+01 -1.0 3.13e+03 - 4.49e-02 7.53e-02h 1\n", + " 7 4.5560955e+05 1.35e+05 8.23e+01 -1.0 2.64e+03 - 1.33e-01 8.77e-02h 1\n", + " 8 8.4986583e+05 1.11e+05 6.70e+01 -1.0 2.92e+03 - 3.28e-01 1.76e-01h 1\n", + " 9 1.1450033e+06 9.27e+04 5.60e+01 -1.0 4.43e+03 - 4.95e-01 1.64e-01h 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 2.5103329e+06 9.27e+02 4.05e+01 -1.0 8.45e+03 - 2.53e-01 9.90e-01h 1\n", + " 11 2.3460250e+06 3.32e+02 3.41e+02 -1.0 1.04e+04 - 4.52e-01 6.42e-01f 1\n", + " 12 2.3440919e+06 3.30e+02 5.60e+02 -1.0 1.72e+04 - 1.87e-01 4.45e-03f 1\n", + " 13 1.9137339e+06 2.10e+01 1.61e+04 -1.0 2.15e+04 - 1.57e-02 9.36e-01f 1\n", + " 14 1.8924133e+06 2.07e+01 1.58e+04 -1.0 5.94e+04 - 2.40e-02 1.63e-02f 1\n", + " 15 1.8906525e+06 2.07e+01 1.58e+04 -1.0 9.07e+04 - 4.75e-02 1.14e-03f 1\n", + " 16 1.7306127e+06 1.85e+01 1.42e+04 -1.0 9.19e+04 - 2.78e-01 1.03e-01f 1\n", + " 17 1.2631743e+06 1.32e+01 1.01e+04 -1.0 8.75e+04 - 1.31e-01 2.88e-01f 1\n", + " 18 1.2583704e+06 1.32e+01 5.76e+04 -1.0 6.53e+04 - 5.08e-01 3.98e-03f 1\n", + " 19 1.2421833e+06 1.29e+01 1.52e+05 -1.0 6.60e+04 - 8.12e-01 2.19e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 7.9147206e+05 1.02e+01 1.10e+05 -1.0 1.33e+06 - 1.24e-01 2.10e-01f 1\n", + " 21 7.8743371e+05 1.01e+01 1.46e+05 -1.0 1.54e+06 - 2.37e-01 1.81e-03f 1\n", + " 22 7.8113846e+05 1.00e+01 1.99e+05 -1.0 4.81e+04 - 3.63e-01 1.22e-02f 1\n", + " 23 6.1240300e+05 6.61e+00 7.89e+04 -1.0 4.62e+04 - 5.71e-03 3.40e-01f 1\n", + " 24 6.0341179e+05 6.54e+00 7.65e+04 -1.0 6.63e+05 - 4.28e-03 1.11e-02f 1\n", + " 25 5.8040752e+05 6.34e+00 7.61e+04 -1.0 6.46e+05 - 3.81e-02 3.00e-02f 1\n", + " 26 2.9399873e+05 4.25e+00 1.72e+04 -1.0 7.69e+05 - 4.98e-02 3.30e-01f 1\n", + " 27 2.9057732e+05 4.03e+00 3.26e+04 -1.0 4.90e+04 - 1.88e-01 5.19e-02f 1\n", + " 28 2.5337652e+05 1.65e+00 2.07e+05 -1.0 4.73e+04 - 2.64e-03 5.90e-01f 1\n", + " 29 -3.1291402e+04 4.52e-01 6.68e+05 -1.0 3.50e+05 - 1.97e-02 7.27e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.2613527e+04 3.43e-01 1.39e+06 -1.0 3.67e+03 - 9.87e-01 2.42e-01f 1\n", + " 31 -3.4821316e+04 7.56e-02 7.33e+05 -1.0 6.28e+03 - 9.66e-01 7.80e-01f 1\n", + " 32 -3.5120625e+04 3.66e-02 3.43e+05 -1.0 4.46e+05 - 3.06e-01 5.16e-01f 1\n", + " 33 -3.5394744e+04 2.33e-10 1.00e-06 -1.0 1.84e+05 - 1.00e+00 1.00e+00f 1\n", + " 34 -3.5745287e+04 1.16e-10 2.38e+06 -5.7 1.25e+05 - 7.25e-01 9.80e-01f 1\n", + " 35 -3.5768035e+04 1.16e-10 1.47e+06 -5.7 2.84e+05 - 4.03e-01 6.83e-01f 1\n", + " 36 -3.5776924e+04 2.33e-10 7.36e+05 -5.7 8.60e+04 - 5.10e-01 7.98e-01f 1\n", + " 37 -3.5780702e+04 1.16e-10 1.37e+05 -5.7 8.69e+04 - 8.13e-01 7.19e-01f 1\n", + " 38 -3.5781582e+04 1.16e-10 3.22e+04 -5.7 2.16e+04 - 7.61e-01 5.99e-01f 1\n", + " 39 -3.5782062e+04 1.16e-10 1.97e+03 -5.7 6.77e+03 - 9.38e-01 9.29e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 40 -3.5782089e+04 2.33e-10 1.85e-11 -5.7 4.58e+02 - 1.00e+00 1.00e+00f 1\n", + " 41 -3.5782097e+04 1.16e-10 9.38e-13 -7.0 2.00e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 41\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.5782097337598009e+02 -3.5782097337598010e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 1.2667432573384219e-07 1.2667432573384218e-05\n", + "Overall NLP error.......: 1.2667432573384219e-07 1.2667432573384218e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 42\n", + "Number of objective gradient evaluations = 42\n", + "Number of equality constraint evaluations = 42\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 42\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 41\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.030\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 68759.47\n", + "Variable costs: 44273.62\n", + "\n", + "Number on/offs: 2\n", + "Sum on/off ramps: 30.00\n", + "Sum nominal ramps: 361.44\n", + "\n", + "Simulating time_step 2020-07-12 18:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.3132710e+04 2.91e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.3174789e+04 2.91e+05 9.90e+01 -1.0 1.74e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -3.1810696e+04 2.91e+05 1.00e+02 -1.0 1.76e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -2.8112168e+04 2.90e+05 1.00e+02 -1.0 1.52e+04 - 1.01e-03 1.79e-03h 1\n", + " 4 -9.9897134e+03 2.88e+05 1.01e+02 -1.0 4.63e+03 - 1.68e-03 7.83e-03h 1\n", + " 5 1.9460837e+04 2.84e+05 1.01e+02 -1.0 7.63e+03 - 9.06e-03 1.23e-02h 1\n", + " 6 2.1463233e+04 2.84e+05 3.25e+02 -1.0 1.84e+05 - 1.44e-01 8.66e-04h 1\n", + " 7 2.0956185e+06 2.84e+03 1.63e+02 -1.0 2.92e+04 - 2.60e-02 9.90e-01h 1\n", + " 8 2.0785620e+06 2.81e+01 7.56e+02 -1.0 2.53e+03 - 2.52e-01 9.90e-01f 1\n", + " 9 2.0472973e+06 1.41e+01 7.76e+03 -1.0 4.92e+03 - 4.27e-01 4.99e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.9434603e+06 1.16e-10 1.04e+05 -1.0 8.60e+03 - 4.82e-01 1.00e+00f 1\n", + " 11 1.7637798e+06 1.16e-10 5.81e+06 -1.0 1.65e+04 - 4.11e-01 1.00e+00f 1\n", + " 12 1.5401519e+06 1.16e-10 5.11e+06 -1.0 2.76e+04 - 1.21e-01 6.98e-01f 1\n", + " 13 1.5340671e+06 1.16e-10 4.90e+06 -1.0 4.66e+04 - 4.03e-02 9.51e-03f 1\n", + " 14 7.6668288e+05 1.16e-10 4.89e+06 -1.0 5.31e+04 - 2.38e-03 6.96e-01f 1\n", + " 15 7.5818814e+05 1.16e-10 4.51e+06 -1.0 4.44e+04 - 7.66e-02 8.40e-03f 1\n", + " 16 7.3469806e+05 1.16e-10 4.50e+06 -1.0 4.51e+04 - 3.02e-03 2.54e-02f 1\n", + " 17 7.3431589e+05 1.16e-10 2.74e+06 -1.0 5.93e+04 - 3.91e-01 4.35e-04f 1\n", + " 18 6.1282249e+05 1.75e-10 2.68e+06 -1.0 6.29e+04 - 2.16e-02 1.81e-01f 1\n", + " 19 6.1158509e+05 2.33e-10 2.98e+05 -1.0 4.75e+04 - 8.89e-01 2.40e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 4.9241469e+05 1.16e-10 2.74e+05 -1.0 1.42e+05 - 7.96e-02 6.69e-01f 1\n", + " 21 3.2758028e+05 2.33e-10 2.74e+05 -1.0 1.96e+05 - 9.66e-04 4.98e-01f 1\n", + " 22 2.9637099e+05 1.16e-10 2.33e+05 -1.0 1.55e+06 - 1.48e-01 1.76e-02f 1\n", + " 23 -2.7922062e+04 1.16e-10 1.14e+05 -1.0 1.25e+06 - 5.12e-01 2.28e-01f 1\n", + " 24 -3.2091014e+04 2.33e-10 6.34e+03 -1.0 8.43e+03 - 9.44e-01 3.27e-01f 1\n", + " 25 -3.4148813e+04 1.16e-10 1.56e+02 -1.0 2.68e+04 - 9.75e-01 1.00e+00f 1\n", + " 26 -3.4463243e+04 1.16e-10 6.13e+05 -2.5 9.20e+03 - 9.37e-01 1.00e+00f 1\n", + " 27 -3.4470817e+04 1.16e-10 6.87e+04 -2.5 8.46e+04 - 8.88e-01 1.00e+00f 1\n", + " 28 -3.4479420e+04 1.16e-10 3.25e+04 -2.5 5.10e+05 - 5.27e-01 6.81e-01f 1\n", + " 29 -3.4478465e+04 1.16e-10 9.30e+03 -2.5 1.44e+05 - 7.14e-01 5.00e-01f 2\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.4479772e+04 2.33e-10 2.83e-08 -2.5 4.97e+04 - 1.00e+00 1.00e+00f 1\n", + " 31 -3.4492803e+04 1.16e-10 1.10e+04 -5.7 3.75e+04 - 8.48e-01 8.87e-01f 1\n", + " 32 -3.4494278e+04 1.16e-10 3.33e+02 -5.7 4.30e+03 - 9.39e-01 9.28e-01f 1\n", + " 33 -3.4494369e+04 2.33e-10 2.54e+02 -5.7 2.57e+02 - 8.72e-01 9.32e-01f 1\n", + " 34 -3.4494375e+04 2.33e-10 1.85e-11 -5.7 1.72e+01 - 1.00e+00 1.00e+00f 1\n", + " 35 -3.4494384e+04 1.16e-10 9.24e-13 -7.0 1.88e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 35\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.4494383573846943e+02 -3.4494383573846942e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 3.2350579638928646e-07 3.2350579638928645e-05\n", + "Overall NLP error.......: 3.2350579638928646e-07 3.2350579638928645e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 40\n", + "Number of objective gradient evaluations = 36\n", + "Number of equality constraint evaluations = 40\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 36\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 35\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.026\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 58783.30\n", + "Variable costs: 49194.37\n", + "\n", + "Number on/offs: 1\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 207.89\n", + "\n", + "Simulating time_step 2020-07-12 19:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.1894095e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.1935752e+04 1.64e+05 9.90e+01 -1.0 6.50e+03 - 2.02e-04 1.94e-04h 1\n", + " 2 -3.0920652e+04 1.64e+05 1.00e+02 -1.0 6.72e+03 - 2.15e-04 8.46e-04h 1\n", + " 3 -2.7990252e+04 1.63e+05 1.00e+02 -1.0 6.62e+03 - 1.01e-03 2.09e-03h 1\n", + " 4 -1.4031111e+04 1.62e+05 1.01e+02 -1.0 3.43e+03 - 2.39e-03 9.19e-03h 1\n", + " 5 2.5103685e+04 1.58e+05 9.54e+01 -1.0 1.29e+03 - 4.78e-02 2.43e-02h 1\n", + " 6 1.1780802e+05 1.49e+05 8.98e+01 -1.0 1.37e+03 - 5.78e-02 5.85e-02h 1\n", + " 7 1.5921215e+06 1.49e+03 1.18e+02 -1.0 1.43e+03 - 3.26e-01 9.90e-01h 1\n", + " 8 1.5894164e+06 8.63e+02 2.57e+02 -1.0 1.94e+03 - 1.90e-01 4.20e-01f 1\n", + " 9 1.5734440e+06 8.46e+00 8.59e+02 -1.0 2.24e+03 - 5.39e-01 9.90e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.5279063e+06 1.16e-10 1.40e+05 -1.0 3.66e+03 - 2.62e-01 1.00e+00f 1\n", + " 11 1.4696864e+06 2.33e-10 5.80e+06 -1.0 3.26e+03 - 4.17e-01 1.00e+00f 1\n", + " 12 1.1599457e+06 1.16e-10 5.51e+06 -1.0 2.79e+04 - 5.08e-02 1.00e+00f 1\n", + " 13 8.9436948e+05 1.16e-10 5.41e+06 -1.0 5.23e+04 - 1.75e-02 3.24e-01f 1\n", + " 14 8.8932200e+05 1.16e-10 4.55e+06 -1.0 8.32e+04 - 1.60e-01 3.96e-03f 1\n", + " 15 8.8518673e+05 1.16e-10 3.07e+06 -1.0 8.59e+04 - 3.24e-01 4.70e-03f 1\n", + " 16 6.1252231e+05 1.16e-10 2.61e+06 -1.0 8.96e+04 - 1.52e-01 2.98e-01f 1\n", + " 17 6.0946103e+05 5.82e-11 2.14e+05 -1.0 2.55e+04 - 9.18e-01 1.14e-02f 1\n", + " 18 4.3704975e+05 1.16e-10 1.96e+05 -1.0 1.99e+05 - 8.30e-02 7.32e-01f 1\n", + " 19 4.3109627e+05 1.16e-10 1.96e+05 -1.0 2.01e+05 - 1.12e-03 1.84e-02f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 -2.8587202e+04 1.16e-10 1.61e+05 -1.0 8.55e+05 - 1.77e-01 4.77e-01f 1\n", + " 21 -3.4031639e+04 1.16e-10 3.92e+03 -1.0 8.89e+03 - 9.76e-01 4.48e-01f 1\n", + " 22 -3.5195127e+04 1.16e-10 9.44e+01 -1.0 5.34e+03 - 9.76e-01 1.00e+00f 1\n", + " 23 -3.5511811e+04 1.16e-10 8.94e+05 -2.5 8.59e+03 - 9.08e-01 1.00e+00f 1\n", + " 24 -3.5516790e+04 1.16e-10 2.97e+04 -2.5 7.48e+04 - 9.67e-01 1.00e+00f 1\n", + " 25 -3.5519446e+04 1.16e-10 1.12e+01 -2.5 6.00e+04 - 1.00e+00 8.14e-01f 1\n", + " 26 -3.5519843e+04 1.16e-10 2.83e-08 -2.5 2.44e+04 - 1.00e+00 1.00e+00f 1\n", + " 27 -3.5532403e+04 5.82e-11 1.19e+03 -5.7 4.11e+04 - 8.47e-01 8.51e-01f 1\n", + " 28 -3.5534398e+04 1.16e-10 1.43e+03 -5.7 5.24e+03 - 9.13e-01 9.44e-01f 1\n", + " 29 -3.5534499e+04 1.16e-10 3.11e+02 -5.7 4.25e+02 - 8.71e-01 9.25e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 30 -3.5534506e+04 1.16e-10 1.85e-11 -5.7 3.13e+01 - 1.00e+00 1.00e+00f 1\n", + " 31 -3.5534515e+04 1.16e-10 9.24e-13 -7.0 1.88e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 31\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.5534514522843079e+02 -3.5534514522843077e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 5.8207660913467407e-11 1.1641532182693481e-10\n", + "Complementarity.........: 3.2421316535381515e-07 3.2421316535381511e-05\n", + "Overall NLP error.......: 3.2421316535381515e-07 3.2421316535381511e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 32\n", + "Number of objective gradient evaluations = 32\n", + "Number of equality constraint evaluations = 32\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 32\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 31\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.024\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 61511.30\n", + "Variable costs: 51362.46\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 69.85\n", + "\n", + "Simulating time_step 2020-07-12 20:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.2984624e+04 1.64e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.3025998e+04 1.64e+05 9.90e+01 -1.0 2.53e+04 - 2.02e-04 1.94e-04h 1\n", + " 2 -3.1926609e+04 1.64e+05 1.00e+02 -1.0 2.48e+04 - 2.15e-04 8.46e-04h 1\n", + " 3 -2.8556289e+04 1.63e+05 1.01e+02 -1.0 1.53e+04 - 7.93e-04 2.00e-03h 1\n", + " 4 -4.9751290e+03 1.61e+05 1.01e+02 -1.0 1.41e+03 - 3.10e-03 1.26e-02h 1\n", + " 5 2.4431300e+05 1.41e+05 1.03e+02 -1.0 1.36e+03 - 5.13e-02 1.27e-01h 1\n", + " 6 3.6716378e+05 1.30e+05 7.88e+01 -1.0 2.44e+03 - 2.04e-01 7.37e-02h 1\n", + " 7 1.9048648e+06 1.30e+03 4.27e+01 -1.0 3.07e+03 - 7.08e-01 9.90e-01h 1\n", + " 8 1.8103398e+06 1.29e+01 8.90e+02 -1.0 1.04e+04 - 2.82e-01 9.90e-01f 1\n", + " 9 1.6633209e+06 1.16e-10 9.71e+04 -1.0 1.26e+04 - 2.27e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.4642627e+06 1.16e-10 7.54e+06 -1.0 1.13e+04 - 2.43e-01 1.00e+00f 1\n", + " 11 1.0220645e+06 8.73e-11 7.42e+06 -1.0 4.63e+04 - 1.69e-02 7.51e-01f 1\n", + " 12 1.0200946e+06 1.16e-10 5.22e+06 -1.0 4.32e+04 - 2.96e-01 3.16e-03f 1\n", + " 13 9.9347369e+05 1.16e-10 2.65e+06 -1.0 4.84e+04 - 4.92e-01 4.68e-02f 1\n", + " 14 9.9261352e+05 1.16e-10 5.89e+05 -1.0 6.98e+04 - 7.78e-01 4.83e-03f 1\n", + " 15 6.6203347e+05 1.16e-10 4.15e+05 -1.0 2.43e+05 - 2.95e-01 1.00e+00f 1\n", + " 16 4.3266260e+05 1.16e-10 4.13e+05 -1.0 1.88e+05 - 4.20e-03 1.00e+00f 1\n", + " 17 -2.9177882e+04 1.16e-10 4.07e+05 -1.0 1.67e+06 - 1.38e-02 2.42e-01f 1\n", + " 18 -3.3797898e+04 1.16e-10 3.06e+04 -1.0 4.74e+04 - 9.25e-01 8.48e-02f 1\n", + " 19 -3.3844176e+04 1.16e-10 5.60e+02 -1.0 1.56e+03 - 9.82e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 -3.4097173e+04 1.16e-10 9.05e+04 -1.7 3.15e+03 - 9.89e-01 1.00e+00f 1\n", + " 21 -3.4074769e+04 1.16e-10 5.64e+04 -1.7 2.85e+05 - 3.77e-01 9.23e-01f 1\n", + " 22 -3.4071416e+04 1.16e-10 2.00e-07 -1.7 7.18e+04 - 1.00e+00 1.00e+00f 1\n", + " 23 -3.4167894e+04 2.33e-10 6.87e+05 -5.7 2.18e+05 - 6.52e-01 9.96e-01f 1\n", + " 24 -3.4173663e+04 1.16e-10 1.79e+05 -5.7 7.85e+04 - 7.40e-01 7.71e-01f 1\n", + " 25 -3.4174562e+04 1.16e-10 2.03e+04 -5.7 1.98e+04 - 8.84e-01 6.82e-01f 1\n", + " 26 -3.4174943e+04 1.16e-10 7.30e+02 -5.7 6.08e+03 - 9.65e-01 9.98e-01f 1\n", + " 27 -3.4174944e+04 1.16e-10 1.85e-11 -5.7 2.83e+01 - 1.00e+00 1.00e+00f 1\n", + " 28 -3.4174952e+04 1.16e-10 9.24e-13 -7.0 1.88e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 28\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -3.4174952402119277e+02 -3.4174952402119277e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 3.2337589396370780e-12 1.1641532182693481e-10\n", + "Complementarity.........: 1.2651429243459251e-07 1.2651429243459251e-05\n", + "Overall NLP error.......: 1.2651429243459251e-07 1.2651429243459251e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 29\n", + "Number of objective gradient evaluations = 29\n", + "Number of equality constraint evaluations = 29\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 29\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 28\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.027\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 62803.30\n", + "Variable costs: 48228.83\n", + "\n", + "Number on/offs: 0\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 213.45\n", + "\n", + "Simulating time_step 2020-07-12 21:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -3.1675458e+04 5.88e+05 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -3.1761622e+04 5.88e+05 9.90e+01 -1.0 3.28e+03 - 4.43e-04 4.08e-04h 1\n", + " 2 -2.8202077e+04 5.81e+05 1.00e+02 -1.0 1.10e+03 - 4.87e-04 1.14e-02h 1\n", + " 3 7.6978033e+04 4.60e+05 1.07e+02 -1.0 1.07e+03 - 7.00e-02 2.09e-01h 1\n", + " 4 1.0599603e+05 4.21e+05 7.09e+01 -1.0 8.79e+02 - 2.62e-01 8.38e-02h 1\n", + " 5 4.5593768e+05 4.21e+03 3.64e+01 -1.0 8.59e+02 - 7.27e-01 9.90e-01h 1\n", + " 6 4.5044494e+05 7.79e+02 5.24e+02 -1.0 1.01e+03 - 4.40e-01 8.15e-01f 1\n", + " 7 3.6901503e+05 7.21e+00 6.04e+03 -1.0 8.35e+03 - 1.90e-01 9.91e-01f 1\n", + " 8 -2.1609604e+04 3.66e+00 2.89e+05 -1.0 7.99e+04 - 1.13e-01 4.93e-01f 1\n", + " 9 -2.5515788e+04 3.63e+00 9.25e+05 -1.0 5.02e+04 - 8.91e-01 7.84e-03f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 -2.5535118e+04 3.61e+00 2.11e+06 -1.0 7.90e+02 - 9.87e-01 4.75e-03f 2\n", + " 11 -2.5479591e+04 1.16e-10 1.51e+04 -1.0 1.40e+03 - 9.86e-01 1.00e+00f 1\n", + " 12 -2.5460273e+04 1.16e-10 2.90e+03 -1.0 9.54e+04 - 1.00e+00 1.00e+00f 1\n", + " 13 -2.5417850e+04 1.16e-10 1.70e+03 -1.0 5.51e+05 - 4.15e-01 5.58e-01f 1\n", + " 14 -2.5717944e+04 1.16e-10 2.00e-07 -1.7 8.53e+04 - 1.00e+00 1.00e+00f 1\n", + " 15 -2.5815272e+04 1.16e-10 1.01e+06 -5.7 2.68e+05 - 3.44e-01 8.50e-01f 1\n", + " 16 -2.5835540e+04 5.82e-11 9.23e+05 -5.7 1.09e+05 - 2.76e-01 9.08e-01f 1\n", + " 17 -2.5838699e+04 5.82e-11 2.43e+05 -5.7 4.58e+04 - 7.40e-01 8.65e-01f 1\n", + " 18 -2.5839336e+04 5.82e-11 1.41e+04 -5.7 1.00e+04 - 9.42e-01 9.63e-01f 1\n", + " 19 -2.5839376e+04 1.16e-10 7.84e+02 -5.7 1.52e+03 - 9.45e-01 1.00e+00f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 20 -2.5839376e+04 5.82e-11 1.85e-11 -5.7 9.42e+00 - 1.00e+00 1.00e+00h 1\n", + " 21 -2.5839386e+04 5.82e-11 9.38e-13 -7.0 1.74e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 21\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.5839385877973632e+02 -2.5839385877973633e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 1.4909404921377567e-07 1.4909404921377567e-05\n", + "Overall NLP error.......: 1.4909404921377567e-07 1.4909404921377567e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 23\n", + "Number of objective gradient evaluations = 22\n", + "Number of equality constraint evaluations = 23\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 22\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 21\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.035\n", + "Total CPU secs in NLP function evaluations = 0.003\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 53905.73\n", + "Variable costs: 53487.96\n", + "\n", + "Number on/offs: 1\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 343.11\n", + "\n", + "Simulating time_step 2020-07-12 22:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.3439676e+04 5.00e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.5805364e+04 4.95e+03 1.54e+01 -1.0 7.90e+00 - 8.48e-01 1.10e-02f 1\n", + " 2 -2.5792923e+04 4.69e+03 4.48e+01 -1.0 7.55e+00 - 3.78e-02 5.14e-02f 1\n", + " 3 -2.5551200e+04 4.69e+01 1.93e+02 -1.0 2.52e+00 - 2.15e-01 9.90e-01h 1\n", + " 4 -2.5559517e+04 4.64e-01 1.70e+02 -1.0 2.70e+00 - 8.30e-01 9.90e-01h 1\n", + " 5 -2.5537511e+04 2.32e-01 4.71e+04 -1.0 5.14e+00 - 9.43e-01 5.00e-01f 2\n", + " 6 -2.5498141e+04 5.82e-11 2.08e+03 -1.0 8.94e+01 - 9.90e-01 1.00e+00f 1\n", + " 7 -2.5478731e+04 5.82e-11 6.22e+04 -1.0 8.85e+03 - 9.94e-01 1.00e+00f 1\n", + " 8 -2.5442053e+04 1.16e-10 2.99e+04 -1.0 3.90e+05 - 5.19e-01 4.71e-01f 1\n", + " 9 -2.5407186e+04 1.75e-10 5.45e+00 -1.0 3.02e+05 - 1.00e+00 8.67e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 -2.5770169e+04 1.16e-10 2.54e+06 -3.8 1.44e+05 - 7.09e-01 9.63e-01f 1\n", + " 11 -2.5827425e+04 1.16e-10 2.80e+06 -3.8 3.16e+05 - 3.72e-02 1.00e+00f 1\n", + " 12 -2.5835509e+04 1.16e-10 3.57e+05 -3.8 9.62e+04 - 8.72e-01 9.79e-01f 1\n", + " 13 -2.5838459e+04 5.82e-11 6.36e+03 -3.8 5.05e+04 - 9.82e-01 9.35e-01f 1\n", + " 14 -2.5838550e+04 5.82e-11 1.50e-09 -3.8 5.05e+03 - 1.00e+00 1.00e+00f 1\n", + " 15 -2.5839366e+04 5.82e-11 2.72e+02 -5.7 1.52e+03 - 1.00e+00 9.82e-01f 1\n", + " 16 -2.5839376e+04 5.82e-11 1.85e-11 -5.7 2.93e+01 - 1.00e+00 1.00e+00f 1\n", + " 17 -2.5839386e+04 5.82e-11 9.24e-13 -7.0 1.74e+01 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 17\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: -2.5839385846304680e+02 -2.5839385846304678e+04\n", + "Dual infeasibility......: 9.2370555648813024e-13 9.2370555648813024e-11\n", + "Constraint violation....: 1.6168794698185390e-12 5.8207660913467407e-11\n", + "Complementarity.........: 6.6150751169050769e-07 6.6150751169050771e-05\n", + "Overall NLP error.......: 6.6150751169050769e-07 6.6150751169050771e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 19\n", + "Number of objective gradient evaluations = 18\n", + "Number of equality constraint evaluations = 19\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 18\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 17\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.020\n", + "Total CPU secs in NLP function evaluations = 0.001\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 47822.72\n", + "Variable costs: 39147.49\n", + "\n", + "Load shedding reported at t=1 - total= 365.74\n", + "Number on/offs: 1\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 566.68\n", + "\n", + "Simulating time_step 2020-07-12 23:00\n", + "\n", + "Solving SCED instance\n", + "Solving for LMPs\n", + "Ipopt 3.13.2: nlp_scaling_method=gradient-based\n", + "tol=1e-06\n", + "\n", + "\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", + "This version of Ipopt was compiled from source code available at\n", + " https://github.com/IDAES/Ipopt as part of the Institute for the Design of\n", + " Advanced Energy Systems Process Systems Engineering Framework (IDAES PSE\n", + " Framework) Copyright (c) 2018-2019. See https://github.com/IDAES/idaes-pse.\n", + "\n", + "This version of Ipopt was compiled using HSL, a collection of Fortran codes\n", + " for large-scale scientific computation. All technical papers, sales and\n", + " publicity material resulting from use of the HSL codes within IPOPT must\n", + " contain the following acknowledgement:\n", + " HSL, a collection of Fortran codes for large-scale scientific\n", + " computation. See http://www.hsl.rl.ac.uk.\n", + "******************************************************************************\n", + "\n", + "This is Ipopt version 3.13.2, running with linear solver ma27.\n", + "\n", + "Number of nonzeros in equality constraint Jacobian...: 609\n", + "Number of nonzeros in inequality constraint Jacobian.: 0\n", + "Number of nonzeros in Lagrangian Hessian.............: 0\n", + "\n", + "Total number of variables............................: 383\n", + " variables with only lower bounds: 96\n", + " variables with lower and upper bounds: 275\n", + " variables with only upper bounds: 12\n", + "Total number of equality constraints.................: 347\n", + "Total number of inequality constraints...............: 0\n", + " inequality constraints with only lower bounds: 0\n", + " inequality constraints with lower and upper bounds: 0\n", + " inequality constraints with only upper bounds: 0\n", + "\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 0 -2.3439676e+04 5.00e+03 9.90e+01 -1.0 0.00e+00 - 0.00e+00 0.00e+00 0\n", + " 1 -2.3594881e+04 5.00e+03 9.91e+01 -1.0 2.70e+04 - 9.41e-04 7.97e-04h 1\n", + " 2 3.9255341e+04 4.94e+03 1.00e+02 -1.0 2.80e+03 - 4.91e-04 1.21e-02h 1\n", + " 3 9.5473587e+05 4.06e+03 8.03e+01 -1.0 2.33e+03 - 8.48e-01 1.77e-01h 1\n", + " 4 2.8883842e+06 1.25e+03 2.45e+01 -1.0 1.53e+04 - 2.63e-01 6.92e-01h 1\n", + " 5 2.3150580e+06 1.25e+01 3.57e+01 -1.0 1.79e+04 - 6.38e-01 9.90e-01f 1\n", + " 6 2.5141463e+05 1.20e-01 7.76e+02 -1.0 1.92e+04 - 7.96e-01 9.90e-01f 1\n", + " 7 1.6430257e+04 3.78e-03 2.78e+03 -1.0 2.22e+03 - 9.76e-01 9.69e-01f 1\n", + " 8 1.5959195e+04 2.40e-03 3.42e+06 -1.0 4.93e+02 - 9.90e-01 3.66e-01f 1\n", + " 9 1.5836993e+04 1.92e-03 3.09e+06 -1.0 2.30e+03 - 3.23e-01 1.98e-01f 1\n", + "iter objective inf_pr inf_du lg(mu) ||d|| lg(rg) alpha_du alpha_pr ls\n", + " 10 1.5350025e+04 5.82e-11 1.00e-06 -1.0 1.72e+02 - 1.00e+00 1.00e+00f 1\n", + " 11 1.3800146e+04 5.82e-11 4.37e+03 -5.7 5.62e+02 - 9.99e-01 1.00e+00f 1\n", + " 12 1.3800019e+04 5.82e-11 3.07e+02 -5.7 1.03e-01 - 1.00e+00 9.30e-01f 1\n", + " 13 1.3800022e+04 5.82e-11 1.85e-11 -5.7 5.02e-03 - 1.00e+00 1.00e+00f 1\n", + " 14 1.3799998e+04 5.82e-11 9.38e-13 -7.0 8.43e-03 - 1.00e+00 1.00e+00f 1\n", + "\n", + "Number of Iterations....: 14\n", + "\n", + " (scaled) (unscaled)\n", + "Objective...............: 1.3799998275500917e+02 1.3799998275500917e+04\n", + "Dual infeasibility......: 9.3791641120333225e-13 9.3791641120333225e-11\n", + "Constraint violation....: 5.8207660913467407e-11 5.8207660913467407e-11\n", + "Complementarity.........: 2.0971361462583905e-07 2.0971361462583904e-05\n", + "Overall NLP error.......: 2.0971361462583905e-07 2.0971361462583904e-05\n", + "\n", + "\n", + "Number of objective function evaluations = 15\n", + "Number of objective gradient evaluations = 15\n", + "Number of equality constraint evaluations = 15\n", + "Number of inequality constraint evaluations = 0\n", + "Number of equality constraint Jacobian evaluations = 15\n", + "Number of inequality constraint Jacobian evaluations = 0\n", + "Number of Lagrangian Hessian evaluations = 14\n", + "Total CPU secs in IPOPT (w/o function evaluations) = 0.013\n", + "Total CPU secs in NLP function evaluations = 0.000\n", + "\n", + "EXIT: Optimal Solution Found.\n", + "Fixed costs: 37682.80\n", + "Variable costs: 38684.49\n", + "\n", + "Load shedding reported at t=1 - total= 788.86\n", + "Number on/offs: 3\n", + "Sum on/off ramps: 0.00\n", + "Sum nominal ramps: 0.00\n", + "\n", + "\n", + "Saving bidding results to disk...\n", + "\n", + "Saving tracking results to disk...\n", + "Simulation Complete\n", + "Total simulation time: 796.53 seconds\n" + ] + } + ], + "source": [ + "# Folder containing the RTS - GMLC data\n", + "rts_gmlc_data_dir = str(rts_gmlc.source_data_path)\n", + "\n", + "# Set Prescient options\n", + "options = {\n", + " \"data_path\": rts_gmlc_data_dir,\n", + " \"input_format\": \"rts-gmlc\",\n", + " \"simulate_out_of_sample\": True,\n", + " \"run_sced_with_persistent_forecast_errors\": True,\n", + " \"output_directory\": \"bidding_multiperiod_nulcear\",\n", + " \"start_date\": \"2020-07-10\",\n", + " \"num_days\": num_days,\n", + " \"sced_horizon\": tracking_horizon,\n", + " \"ruc_horizon\": bidding_horizon,\n", + " \"compute_market_settlements\": True,\n", + " \"day_ahead_pricing\": \"LMP\",\n", + " \"ruc_mipgap\": 0.01,\n", + " \"symbolic_solver_labels\": True,\n", + " \"reserve_factor\": 0.0,\n", + " \"deterministic_ruc_solver\": \"gurobi\",\n", + " \"output_ruc_solutions\": True,\n", + " \"sced_solver\": \"gurobi\",\n", + " \"print_sced\": True,\n", + " \"enforce_sced_shutdown_ramprate\": True,\n", + " \"plugin\": {\n", + " \"doubleloop\": {\n", + " \"module\": plugin_module,\n", + " \"bidding_generator\": \"121_NUCLEAR_1\",\n", + " }\n", + " },\n", + "}\n", + "\n", + "# Run Prescient\n", + "Prescient().simulate(**options)" + ] + }, + { + "cell_type": "markdown", + "id": "9185fe56", + "metadata": {}, + "source": [ + "## Analyze Results" + ] + }, + { + "cell_type": "markdown", + "id": "8af866d1", + "metadata": {}, + "source": [ + "First, we look at the results of the tracking problem i.e., whether the power sold to the grid matches with the power the nuclear plant is required to dispatch. These results are stored in `tracker_detail.csv` file in the newly created `bidding_multiperiod_nuclear` folder." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "65a0039f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Add the new folder containing the results to the path\n", + "sys.path.append(str(pathlib.Path().resolve()) + \"\\\\bidding_multiperiod_nuclear\")\n", + "\n", + "# Read the results and generate the plot\n", + "track_df = pd.read_csv(\"tracker_detail.csv\")\n", + "hour = []\n", + "power_dispatch = []\n", + "power_output = []\n", + "for i in range(int(len(track_df[\"Power Dispatch [MW]\"]) / tracking_horizon)):\n", + " hour.append(i)\n", + " power_dispatch.append(track_df[\"Power Dispatch [MW]\"][tracking_horizon * i])\n", + " power_output.append(track_df[\"Power Output [MW]\"][tracking_horizon * i])\n", + "\n", + "plt.plot(hour, power_dispatch, color='blue',\n", + " drawstyle='steps', label=\"Dispatch\")\n", + "plt.plot(hour, power_output, '--', color='red',\n", + " drawstyle='steps', label=\"Output\")\n", + "plt.xlabel(\"Hour\")\n", + "plt.ylabel(\"Power [MW]\")\n", + "plt.legend(loc='upper center', bbox_to_anchor=(0.5, 1.2), ncol=2)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "545e4163", + "metadata": {}, + "source": [ + "Clearly, integrating the nuclear power plant with a low temperature electrolysis unit increases the flexibility of the power output from the nuclear power plant to the grid. And, the integrated system is able to track the optimal dispatch profile. Next, we plot amount of hydrogen sold to the market as a function of time, and the variation of tank holdup as a function of time." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "900f410c", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "track_df = pd.read_csv(\"tracking_model_detail.csv\")\n", + "hour = []\n", + "h2_market = []\n", + "h2_storage = []\n", + "\n", + "for i in range(int(len(track_df[\"Power to Grid [MW]\"]) / tracking_horizon)):\n", + " hour.append(i)\n", + " h2_market.append(track_df[\"Hydrogen Market [kg/hr]\"][tracking_horizon * i])\n", + " h2_storage.append(track_df[\"Final holdup [kg]\"][tracking_horizon * i])\n", + "\n", + "fig, (ax1, ax2) = plt.subplots(1, 2)\n", + "\n", + "ax1.plot(hour, h2_market, color='red', drawstyle='steps')\n", + "ax1.set_title(f\"Hydrogen market\")\n", + "ax1.set_xlabel(\"Hour\")\n", + "ax1.set_ylabel(\"Hydrogen Sold [kg/hr]\")\n", + "\n", + "ax2.plot(hour, h2_storage, color=\"blue\")\n", + "ax2.set_title(\"Hydrogen Storage\")\n", + "ax2.set_xlabel(\"Hour\")\n", + "ax2.set_ylabel(\"Holdup [kg]\")\n", + "fig.tight_layout()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "d3e1deab", + "metadata": {}, + "source": [ + "Here, the rate of hydrogen production can be much higher than the rate at which it can be sold to the market. Therefore, the excess hydrogen produced during the periods of low LMP (locational marginal price) is stored in the tank, and sold to the market at a later time when the LMP is high. " + ] + }, + { + "cell_type": "markdown", + "id": "2374a7e6", + "metadata": {}, + "source": [ + "The remaining results in the `bidding_multiperiod_nuclear` folder can be imported and analyzed in a similar manner." + ] + }, + { + "cell_type": "markdown", + "id": "04f09024", + "metadata": {}, + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.7.7 ('base')", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.7" + }, + "vscode": { + "interpreter": { + "hash": "dc168b26e20346093d2723ccebe5363e022f4d8e20a929d6d5f6c80802c1ac2b" + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/dispatches/models/nuclear_case/flowsheets/nuclear_flowsheet_fixed_design.py b/dispatches/models/nuclear_case/flowsheets/nuclear_flowsheet_fixed_design.py new file mode 100644 index 000000000..7662185d6 --- /dev/null +++ b/dispatches/models/nuclear_case/flowsheets/nuclear_flowsheet_fixed_design.py @@ -0,0 +1,213 @@ +################################################################################# +# DISPATCHES was produced under the DOE Design Integration and Synthesis +# Platform to Advance Tightly Coupled Hybrid Energy Systems program (DISPATCHES), +# and is copyright (c) 2021 by the software owners: The Regents of the University +# of California, through Lawrence Berkeley National Laboratory, National +# Technology & Engineering Solutions of Sandia, LLC, Alliance for Sustainable +# Energy, LLC, Battelle Energy Alliance, LLC, University of Notre Dame du Lac, et +# al. All rights reserved. +# +# Please see the files COPYRIGHT.md and LICENSE.md for full copyright and license +# information, respectively. Both files are also available online at the URL: +# "https://github.com/gmlc-dispatches/dispatches". +################################################################################# + +__author__ = "Konor Frick, Radhakrishna Tumbalam Gooty" + +""" +This file contains a function to construct the generic nuclear flowsheet, and +a function to fix the degrees of freedom and initialize. +""" +# Pyomo imports +from pyomo.environ import (ConcreteModel, + Expression, + TransformationFactory) +from pyomo.network import Arc + +# IDAES imports +from idaes.core import FlowsheetBlock +from idaes.models.properties.modular_properties.base.generic_property \ + import GenericParameterBlock +from idaes.core.util.initialization import propagate_state +import idaes.logger as idaeslog + +# DISPATCHES imports +from dispatches.models.nuclear_case.properties.h2_ideal_vap \ + import configuration as h2_ideal_config +from dispatches.models.renewables_case.pem_electrolyzer import PEM_Electrolyzer +from dispatches.models.renewables_case.elec_splitter import ElectricalSplitter +from dispatches.models.nuclear_case.unit_models.hydrogen_tank_simplified import SimpleHydrogenTank + + +def build_ne_flowsheet(np_power_production=500, + pem_capacity=100, + tank_capacity=5000, + h2_demand=0.35, + h2_price=4, + demand_type="variable"): + """ + This function builds the entire nuclear flowsheet by adding the + required models and arcs connecting the models. + + Args: + np_power_production: Power output from the nuclear power plant (in MW) + pem_capacity: Maximum power input to the PEM electrolyzer (in MW) + tank_capacity: Maximum amount hydrogen that can be stored in the tank (in kg) + h2_demand: Hydrogen demand (in kg/s) + h2_price: Price of hydrogen (in $/kg) + demand_type: "fixed"/"variable" hydrogen demand + + Returns: + m: Object containing the nuclear flowsheet + """ + mw_h2 = 2.016 * 1e-3 # Molecular mass of hydrogen in kg/mol + + # Define conversion factors + # TODO: Use pyunits convert instead of defining conversion factors + MW_to_kW = 1000 + kW_to_MW = 1e-3 + hours_to_s = 3600 + + # TODO: Need to find a better way to import costing data. + # Using a VOM cost of $2.3 per MWh for the nuclear power plant + # Using a VOM cost of $1.3 per MWh for the PEM electrolyzer + # Fixed O&M cost for the nuclear power plant is $120,000 per MW-year + # Fixed O&M cost for the PEM electrolyzer is $47,900 per MW-year + # Normalized FOM = (120,000 / 8760) = $13.7 per MWh + # Normalized FOM = (47,900 / 8760) = $5.47 per MWh + npp_fom = 13.7 + npp_vom = 2.3 + pem_fom = 5.47 + pem_vom = 1.3 + tank_vom = 0.01 + + m = ConcreteModel() + m.fs = FlowsheetBlock(default={"dynamic": False}) + + # Load thermodynamic and reaction packages + m.fs.h2ideal_props = GenericParameterBlock(default=h2_ideal_config) + + # Add electrical splitter + m.fs.np_power_split = ElectricalSplitter(default={ + "num_outlets": 2, + "outlet_list": ["np_to_grid", "np_to_pem"], + "add_split_fraction_vars": True}) + + # Add PEM electrolyzer + m.fs.pem = PEM_Electrolyzer(default={ + "property_package": m.fs.h2ideal_props}) + + # Add hydrogen tank + m.fs.h2_tank = SimpleHydrogenTank(default={ + "property_package": m.fs.h2ideal_props}) + + """ + Connect the individual blocks via Arcs + """ + # Connect the electrical splitter and PEM + m.fs.arc_np_to_pem = Arc( + source=m.fs.np_power_split.np_to_pem_port, + destination=m.fs.pem.electricity_in + ) + + # Connect the pem electrolyzer and h2 tank + m.fs.arc_pem_to_h2_tank = Arc( + source=m.fs.pem.outlet, + destination=m.fs.h2_tank.inlet + ) + + TransformationFactory("network.expand_arcs").apply_to(m) + + # Initialize model + fix_dof_and_initialize(m, np_power_production=np_power_production) + + # Unfix degrees of freedom for optimization + unfix_dof(m) + + # Capacity constraints: Set upper bounds on capacities + m.fs.pem.electricity.setub(pem_capacity * MW_to_kW) + m.fs.h2_tank.tank_holdup.setub(tank_capacity / mw_h2) + m.fs.h2_tank.tank_holdup_previous.setub(tank_capacity / mw_h2) + + # Hydrogen demand constraint + if demand_type == "variable": + m.fs.h2_tank.outlet_to_pipeline.flow_mol[0].setub(h2_demand / mw_h2) + + elif demand_type == "fixed": + m.fs.h2_tank.outlet_to_pipeline.flow_mol[0].fix(h2_demand / mw_h2) + + # Treating the revenue generated from hydrogen as negative cost + # To avoid degeneracy, we are adding an operating cost for hydrogen storage + # FIXME: How do we include the FOM contribution? + m.fs.operating_cost = Expression( + expr=m.fs.np_power_split.electricity[0] * kW_to_MW * npp_vom + + m.fs.pem.electricity[0] * kW_to_MW * pem_vom + + m.fs.h2_tank.tank_holdup[0] * mw_h2 * tank_vom - + m.fs.h2_tank.outlet_to_pipeline.flow_mol[0] * mw_h2 * hours_to_s * h2_price) + + return m + + +def fix_dof_and_initialize(m, + np_power_production=500, + pem_outlet_pressure=1.01325, + pem_outlet_temperature=300): + """ + This function fixes the degrees of freedom of each unit and initializes it + + Args: + m: Object containing the integrated nuclear plant flowsheet + np_power_output: Power output from nuclear power plant in MW + pem_outlet_pressure: Outlet pressure of hydrogen from PEM in bar + pem_outlet_temperature: Outlet temperature of hydrogen from PEM in K + + Returns: + None + """ + # Fix the dof of the electrical splitter and initialize + m.fs.np_power_split.electricity[0].fix(np_power_production * 1000) # in kW + m.fs.np_power_split.split_fraction["np_to_grid", 0].fix(0.95) + + m.fs.np_power_split.initialize(outlvl=idaeslog.WARNING) + + # Fix the dof of the electrolyzer and initialize + # Conversion of kW to mol/sec of H2 based on H-tec design of 54.517kW-hr/kg + m.fs.pem.electricity_to_mol.fix(0.002527406) + m.fs.pem.outlet.pressure.fix(pem_outlet_pressure * 1e5) + m.fs.pem.outlet.temperature.fix(pem_outlet_temperature) + + propagate_state(m.fs.arc_np_to_pem) + m.fs.pem.initialize(outlvl=idaeslog.WARNING) + + # Fix the dof of the tank and initialize + m.fs.h2_tank.dt.fix(3600) + m.fs.h2_tank.tank_holdup_previous.fix(0) + m.fs.h2_tank.outlet_to_turbine.flow_mol.fix(0) + m.fs.h2_tank.outlet_to_pipeline.flow_mol.fix(1) + m.fs.h2_tank.outlet_to_turbine.mole_frac_comp[0, "hydrogen"].fix(1) + m.fs.h2_tank.outlet_to_pipeline.mole_frac_comp[0, "hydrogen"].fix(1) + + propagate_state(m.fs.arc_pem_to_h2_tank) + m.fs.h2_tank.initialize(outlvl=idaeslog.WARNING) + + return + + +def unfix_dof(m): + """ + This function unfixes a few degrees of freedom for optimization + + Args: + m: object containing the integrated nuclear plant flowsheet + + Returns: + None + """ + # Unfix split fractions in the power splitter + m.fs.np_power_split.split_fraction.unfix() + + # Unfix the holdup_previous and outflow variables + m.fs.h2_tank.tank_holdup_previous.unfix() + m.fs.h2_tank.outlet_to_pipeline.flow_mol.unfix() + + return diff --git a/dispatches/models/nuclear_case/flowsheets/nuclear_flowsheet_multiperiod_class.py b/dispatches/models/nuclear_case/flowsheets/nuclear_flowsheet_multiperiod_class.py new file mode 100644 index 000000000..b85932212 --- /dev/null +++ b/dispatches/models/nuclear_case/flowsheets/nuclear_flowsheet_multiperiod_class.py @@ -0,0 +1,259 @@ +################################################################################# +# DISPATCHES was produced under the DOE Design Integration and Synthesis +# Platform to Advance Tightly Coupled Hybrid Energy Systems program (DISPATCHES), +# and is copyright (c) 2021 by the software owners: The Regents of the University +# of California, through Lawrence Berkeley National Laboratory, National +# Technology & Engineering Solutions of Sandia, LLC, Alliance for Sustainable +# Energy, LLC, Battelle Energy Alliance, LLC, University of Notre Dame du Lac, et +# al. All rights reserved. +# +# Please see the files COPYRIGHT.md and LICENSE.md for full copyright and license +# information, respectively. Both files are also available online at the URL: +# "https://github.com/gmlc-dispatches/dispatches". +################################################################################# + +__author__ = "Radhakrishna Tumbalam Gooty" + +# General python imports +import numpy as np +import pandas as pd +from collections import deque + +# Pyomo imports +from pyomo.environ import Set, Expression, value + +# IDAES imports +from idaes.apps.grid_integration.multiperiod.multiperiod import MultiPeriodModel + +# Flowsheet function imports +from nuclear_flowsheet_fixed_design import build_ne_flowsheet + + +def get_nuclear_link_variable_pairs(t1, t2): + """ + This function returns paris of variables that need to be connected across two time periods + + Args: + t1: current time block + t2: next time block + + Returns: + None + """ + return [ + (t1.fs.h2_tank.tank_holdup[0], t2.fs.h2_tank.tank_holdup_previous[0]) + ] + + +def create_multiperiod_nuclear_model(n_time_points=4): + """ + This function creates a multi-period integrated nuclear flowsheet object. This object contains + a pyomo model with a block for each time instance. + + Args: + n_time_points: Number of time blocks to create + + Returns: + Object containing multi-period integrated nuclear flowsheet model + """ + mp_nuclear = MultiPeriodModel( + n_time_points, + process_model_func=build_ne_flowsheet, + linking_variable_func=get_nuclear_link_variable_pairs + ) + + # create the multiperiod object + mp_nuclear.build_multi_period_model() + return mp_nuclear + + +class MultiPeriodNuclear: + """ + This class builds an object containing multi-period integrated nuclear flowsheet model + for the double loop workflow. + + Args: + horizon: Length of the time horizon + pmin: Difference between power output from the nuclear power plant and the PEM capcity + pmax: Power output from the nuclear power plant + default_bid_curve: Default bid curve that needs to be used in the bidding process + generator_name: Name of the generator in RTS - GMLC + """ + def __init__(self, + horizon, + model_data): + + # If the default bid curve is not provided use the one below + # if default_bid_curve is None: + # self.default_bid_curve = {p: 15 for p in np.linspace(pmin, pmax, 5)} + # else: + # self.default_bid_curve = default_bid_curve + + self.horizon = horizon + self.mp_nuclear = None + self.result_list = [] + self.model_data = model_data + self.p_lower = model_data.p_min + self.p_upper = model_data.p_max + self.generator = model_data.gen_name + + def populate_model(self, blk): + """ + This function creates the nuclear flowsheet model using the `MultiPeriod` class + + Args: + blk: this is an empty block passed in from either a `Bidder` or `Tracker` object + + Returns: + None + """ + if not blk.is_constructed(): + blk.construct() + + mp_nuclear = create_multiperiod_nuclear_model(n_time_points=self.horizon) + blk.nuclear = mp_nuclear + blk.nuclear_model = mp_nuclear.pyomo_model + + active_blks = mp_nuclear.get_active_process_blocks() + active_blks[0].fs.h2_tank.tank_holdup_previous.fix(0) + + # create expression that references underlying power variables in multi-period rankine + blk.HOUR = Set(initialize=range(self.horizon)) + blk.P_T = Expression(blk.HOUR) + blk.tot_cost = Expression(blk.HOUR) + + for (t, b) in enumerate(active_blks): + blk.P_T[t] = b.fs.np_power_split.np_to_grid_port.electricity[0] * 1e-3 + blk.tot_cost[t] = b.fs.operating_cost + + self.mp_nuclear = mp_nuclear + return + + @staticmethod + def update_model(b, implemented_tank_holdup): + + """ + Update `b` variables using the actual implemented power output. + + Args: + b: the block that needs to be updated + implemented_tank_holdup: Updated the initial tank holdup + + Returns: + None + """ + mp_nuclear = b.nuclear + active_blks = mp_nuclear.get_active_process_blocks() + + new_init_holdup = round(implemented_tank_holdup[-1]) + + # update battery and power output based on implemented values + active_blks[0].fs.h2_tank.tank_holdup_previous.fix(new_init_holdup) + + return + + @staticmethod + def get_last_delivered_power(b, last_implemented_time_step): + + """ + Returns the last delivered power output. + Args: + b: the block + last_implemented_time_step: time index for the last implemented time + step + Returns: + Float64: Value of power output in last time step + """ + return value(b.P_T[last_implemented_time_step]) + + @staticmethod + def get_implemented_profile(b, last_implemented_time_step): + + """ + This method gets the implemented variable profiles in the last optimization solve. + + Args: + b: a Pyomo block + last_implemented_time_step: time index for the last implemented time step + + Returns: + profile: the intended profile, {unit: [...]} + """ + active_blks = b.nuclear.get_active_process_blocks() + implemented_tank_holdup = deque( + [ + value(active_blks[t].fs.h2_tank.tank_holdup[0]) + for t in range(last_implemented_time_step + 1) + ] + ) + + return { + "implemented_tank_holdup": implemented_tank_holdup + } + + def record_results(self, blk, date=None, hour=None, **kwargs): + + """ + Record the operations stats for the model. + + Args: + blk: pyomo block + date: current simulation date + hour: current simulation hour + + Returns: + None + """ + active_blks = blk.nuclear.get_active_process_blocks() + df_list = [] + for t in blk.HOUR: + result_dict = { + "Date": date, + "Hour": hour, + "Horizon [hr]": int(t), + "Power to Grid [MW]": float(round(value(blk.P_T[t]), 2)), + "Power to PEM [MW]": float(round(value(active_blks[t].fs.pem.electricity[0]) * 1e-3, 2)), + "Initial holdup [kg]": float(round(value(active_blks[t].fs.h2_tank.tank_holdup_previous[0]) + * 2.016 * 1e-3, 2)), + "Final holdup [kg]": float(round(value(active_blks[t].fs.h2_tank.tank_holdup[0]) + * 2.016 * 1e-3, 2)), + "Hydrogen Market [kg/hr]": float(round(value(active_blks[t].fs.h2_tank.outlet_to_pipeline.flow_mol[0]) + * 2.016 * 1e-3 * 3600, 2)), + "Total Cost [$]": float(round(value(blk.tot_cost[t]), 2))} + + for key in kwargs: + result_dict[key] = kwargs[key] + + result_df = pd.DataFrame.from_dict(result_dict, orient="index") + df_list.append(result_df.T) + + # append to result list + self.result_list.append(pd.concat(df_list)) + + return + + def write_results(self, path): + + """ + Write the saved results to a csv file. + + Args: + path: the path to write the results. + Return: + None + """ + + pd.concat(self.result_list).to_csv(path, index=False) + + @property + def power_output(self): + return "P_T" + + @property + def total_cost(self): + return ("tot_cost", 1) + + @property + def pmin(self): + # return self.generator_data['PMin MW'] + return self.p_lower