Skip to content

Instantly share code, notes, and snippets.

@goghino
Created August 28, 2020 18:18
Show Gist options
  • Save goghino/d40bee46e072168f5b8c16dde306496d to your computer and use it in GitHub Desktop.
Save goghino/d40bee46e072168f5b8c16dde306496d to your computer and use it in GitHub Desktop.
pytest test_unit_commitment.py
=========================================== test session starts ============================================
platform darwin -- Python 3.8.5, pytest-6.0.1, py-1.9.0, pluggy-0.13.1
rootdir: /Users/Juraj/Documents/Optimization/pyomo/Egret
collected 21 items
test_unit_commitment.py FFFFFFFFFFFFFFF..FFF. [100%]
================================================= FAILURES =================================================
__________________________________________ test_int_all_uc_models __________________________________________
@unittest.skipUnless(comm_mip_avail, "Neither Gurobi or CPLEX solver is available")
def test_int_all_uc_models():
> _test_uc_model(create_tight_unit_commitment_model)
test_unit_commitment.py:86:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_tight_unit_commitment_model at 0x7fb027646e50>, relax = False
test_objvals = [4201915.017320504, 5454367.7670904165, 5999272.361123627, 5461120.3231092375, 6062406.32677043]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4201915.017320504, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb028c4f760>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb028c4f760> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...e': 5.095010757446289}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
___________________________________________ test_tight_uc_model ____________________________________________
def test_tight_uc_model():
lp_obj_list = [4194720.23424, 5441076.85034, 5988496.92621, 5453617.47912, 6055376.54656]
> _test_uc_model(create_tight_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_tight_unit_commitment_model at 0x7fb027646e50>, relax = True
test_objvals = [4194720.23424, 5441076.85034, 5988496.92621, 5453617.47912, 6055376.54656]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4194720.23424, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb02a62db80>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb02a62db80> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...': 0.6788351535797119}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
__________________________________________ test_compact_uc_model ___________________________________________
def test_compact_uc_model():
lp_obj_list = [4194304.94748, 5440720.727, 5988068.23178, 5453218.02764, 6055020.46427]
> _test_uc_model(create_compact_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:107:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_compact_unit_commitment_model at 0x7fb027646ee0>, relax = True
test_objvals = [4194304.94748, 5440720.727, 5988068.23178, 5453218.02764, 6055020.46427]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4194304.94748, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb02afe7340>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb02afe7340> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...': 0.9511480331420898}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
____________________________________________ test_KOW_uc_model _____________________________________________
def test_KOW_uc_model():
lp_obj_list = [4193749.67682, 5440148.79074, 5987686.94763, 5452888.22712, 6054163.40576]
> _test_uc_model(create_KOW_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:111:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_KOW_unit_commitment_model at 0x7fb027646f70>, relax = True
test_objvals = [4193749.67682, 5440148.79074, 5987686.94763, 5452888.22712, 6054163.40576]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4193749.67682, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb02a70a580>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb02a70a580> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...': 0.6414062976837158}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
____________________________________________ test_ALS_uc_model _____________________________________________
def test_ALS_uc_model():
lp_obj_list = [4193603.40346, 5439977.63794, 5987392.27642, 5452580.38476, 6054545.74347]
> _test_uc_model(create_ALS_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:115:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_ALS_unit_commitment_model at 0x7fb027652040>, relax = True
test_objvals = [4193603.40346, 5439977.63794, 5987392.27642, 5452580.38476, 6054545.74347]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4193603.40346, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb028872a00>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb028872a00> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...': 0.7945740222930908}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
____________________________________________ test_MLR_uc_model _____________________________________________
def test_MLR_uc_model():
lp_obj_list = [4193700.64155, 5440122.0449, 5987617.01183, 5452837.51833, 6054088.71399]
> _test_uc_model(create_MLR_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:119:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_MLR_unit_commitment_model at 0x7fb0276520d0>, relax = True
test_objvals = [4193700.64155, 5440122.0449, 5987617.01183, 5452837.51833, 6054088.71399]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4193700.64155, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb02adac850>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb02adac850> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...': 0.6751329898834229}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
__________________________________________ test_random1_uc_model ___________________________________________
def test_random1_uc_model():
lp_obj_list = [4194304.94748, 5440720.727, 5988068.23178, 5453218.02764, 6055020.46427]
> _test_uc_model(create_random1_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:123:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_random1_unit_commitment_model at 0x7fb027652160>, relax = True
test_objvals = [4194304.94748, 5440720.727, 5988068.23178, 5453218.02764, 6055020.46427]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4194304.94748, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb02b09d1f0>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb02b09d1f0> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...e': 1.656404972076416}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
__________________________________________ test_random2_uc_model ___________________________________________
def test_random2_uc_model():
lp_obj_list = [4194686.42109, 5441087.41223, 5988465.58558, 5453619.48855, 6055360.5608]
> _test_uc_model(create_random2_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:127:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_random2_unit_commitment_model at 0x7fb0276521f0>, relax = True
test_objvals = [4194686.42109, 5441087.41223, 5988465.58558, 5453619.48855, 6055360.5608]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4194686.42109, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb02983d910>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb02983d910> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...': 1.4902420043945312}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
____________________________________________ test_OAV_uc_model _____________________________________________
def test_OAV_uc_model():
lp_obj_list = [4190770.57777, 5436680.81342, 5984071.37653, 5449824.53072, 6051451.70067]
> _test_uc_model(create_OAV_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:131:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_OAV_unit_commitment_model at 0x7fb027652280>, relax = True
test_objvals = [4190770.57777, 5436680.81342, 5984071.37653, 5449824.53072, 6051451.70067]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4190770.57777, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb02afbe340>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb02afbe340> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...e': 1.251512050628662}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
________________________________________ test_OAV_tighter_uc_model _________________________________________
def test_OAV_tighter_uc_model():
lp_obj_list = [4190774.76258, 5436685.6315, 5984097.794, 5449825.81448, 6051485.86608]
> _test_uc_model(create_OAV_tighter_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:135:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_OAV_tighter_unit_commitment_model at 0x7fb027652310>, relax = True
test_objvals = [4190774.76258, 5436685.6315, 5984097.794, 5449825.81448, 6051485.86608]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4190774.76258, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb02ab03400>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb02ab03400> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...': 1.3041181564331055}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
________________________________________ test_OAV_original_uc_model ________________________________________
def test_OAV_original_uc_model():
lp_obj_list = [4186901.74384, 5428888.70061, 5975676.69077, 5443849.68783, 6041296.59018]
> _test_uc_model(create_OAV_original_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_OAV_original_unit_commitment_model at 0x7fb0276523a0>, relax = True
test_objvals = [4186901.74384, 5428888.70061, 5975676.69077, 5443849.68783, 6041296.59018]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4186901.74384, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb02915c280>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb02915c280> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...': 0.9763741493225098}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
______________________________________ test_OAV_up_downtime_uc_model _______________________________________
def test_OAV_up_downtime_uc_model():
lp_obj_list = [4190745.01259, 5436634.52576, 5984052.06305, 5449795.75874, 6051432.92077]
> _test_uc_model(create_OAV_up_downtime_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_OAV_up_downtime_unit_commitment_model at 0x7fb027652430>, relax = True
test_objvals = [4190745.01259, 5436634.52576, 5984052.06305, 5449795.75874, 6051432.92077]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4190745.01259, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb02a6f28b0>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb02a6f28b0> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...': 1.2826979160308838}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
_____________________________________________ test_CA_uc_model _____________________________________________
def test_CA_uc_model():
lp_obj_list = [4185855.30972, 5423650.80043, 5965411.93718, 5439434.94733, 6029118.03019]
> _test_uc_model(create_CA_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:147:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_CA_unit_commitment_model at 0x7fb0276524c0>, relax = True
test_objvals = [4185855.30972, 5423650.80043, 5965411.93718, 5439434.94733, 6029118.03019]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4185855.30972, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb02ab972e0>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb02ab972e0> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...': 0.7081108093261719}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
____________________________________________ test_CHP_uc_model _____________________________________________
def test_CHP_uc_model():
lp_obj_list = [4195062.031337061, 5441117.29937132, 5989325.835633724, 5454266.5169105325, 6055624.773215021]
> _test_uc_model(create_CHP_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:151:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_CHP_unit_commitment_model at 0x7fb027652550>, relax = True
test_objvals = [4195062.031337061, 5441117.29937132, 5989325.835633724, 5454266.5169105325, 6055624.773215021]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4195062.031337061, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb01685a880>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb01685a880> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...me': 62.7437789440155}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
________________________________________ test_super_tight_uc_model _________________________________________
def test_super_tight_uc_model():
lp_obj_list = [4194720.234239616, 5441076.850336192, 5988496.926211054, 5453617.479118543, 6055376.546557944]
> _test_uc_model(create_super_tight_unit_commitment_model, relax=True, test_objvals=lp_obj_list)
test_unit_commitment.py:155:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
uc_model = <function create_super_tight_unit_commitment_model at 0x7fb0276525e0>, relax = True
test_objvals = [4194720.234239616, 5441076.850336192, 5988496.926211054, 5453617.479118543, 6055376.546557944]
def _test_uc_model(uc_model, relax=False, test_objvals=test_int_objvals):
for test_case, ref_objval in zip(test_cases, test_objvals):
md_dict = json.load(open(test_case,'r'))
md = ModelData(md_dict)
model = uc_model(md, relaxed=relax)
opt = SolverFactory(test_solver)
_set_options(opt, mipgap=0.0)
if isinstance(opt, PersistentSolver):
opt.set_instance(model)
result = opt.solve(model, tee=False)
assert result.solver.termination_condition == TerminationCondition.optimal
> assert math.isclose(ref_objval, result.problem.upper_bound, rel_tol=rel_tol)
E AssertionError: assert False
E + where False = <built-in function isclose>(4194720.234239616, inf, rel_tol=1e-08)
E + where <built-in function isclose> = math.isclose
E + and inf = <pyomo.opt.results.container.ListContainer object at 0x7fb0047a8a00>.upper_bound
E + where <pyomo.opt.results.container.ListContainer object at 0x7fb0047a8a00> = {'Problem': [{'Lower bound': -inf, 'Upper bound': inf, 'Number of objectives': 1, 'Number of constraints': 0, 'Number ...': 0.6467289924621582}], 'Solution': [OrderedDict([('number of solutions', 0), ('number of solutions displayed', 0)])]}.problem
test_unit_commitment.py:73: AssertionError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
____________________________________________ test_uc_relaxation ____________________________________________
self = <pyomo.core.base.suffix.Suffix object at 0x7fb028b835c0>
obj = <pyomo.core.base.constraint._GeneralConstraintData object at 0x7fb0288cd3a0>
def __getitem__(self, obj):
try:
> return self._dict[id(obj)][1]
E KeyError: 140394571289504
/Users/Juraj/anaconda3/envs/UnitCommitment/lib/python3.8/site-packages/pyomo/core/kernel/component_map.py:100: KeyError
During handling of the above exception, another exception occurred:
def test_uc_relaxation():
test_name = 'tiny_uc_tc'
input_json_file_name = os.path.join(current_dir, 'uc_test_instances', test_name+'.json')
md_in = ModelData(json.load(open(input_json_file_name, 'r')))
> md_results = solve_unit_commitment(md_in, solver=test_solver, relaxed=True)
test_unit_commitment.py:201:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../unit_commitment.py:1560: in solve_unit_commitment
md = _save_uc_results(m, relaxed)
../unit_commitment.py:1240: in _save_uc_results
PFD[i] += value(m.dual[b.ineq_pf_branch_thermal_bounds[bn]])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pyomo.core.base.suffix.Suffix object at 0x7fb028b835c0>
obj = <pyomo.core.base.constraint._GeneralConstraintData object at 0x7fb0288cd3a0>
def __getitem__(self, obj):
try:
return self._dict[id(obj)][1]
except KeyError:
> raise KeyError("Component with id '%s': %s"
% (id(obj), str(obj)))
E KeyError: "Component with id '140394571289504': TransmissionBlock[1].ineq_pf_branch_thermal_bounds[Branch1]"
/Users/Juraj/anaconda3/envs/UnitCommitment/lib/python3.8/site-packages/pyomo/core/kernel/component_map.py:102: KeyError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
SCIP version 7.0.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 5.0.1] [GitHash: b41d526acf]
Copyright (C) 2002-2020 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External codes:
SoPlex 5.0.1 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: fcd2a2a5]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.4.0 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
PaPILO 1.0.1 parallel presolve for integer and linear optimization (https://github.com/lgottwald/PaPILO) [GitHash: 0638fc4]
bliss 0.73p Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)
Ipopt 3.13.2 Interior Point Optimizer developed by A. Waechter et.al. (www.coin-or.org/Ipopt)
ASL AMPL Solver Library developed by D. Gay (www.netlib.com/ampl)
number of parameters = 2627
non-default parameter settings:
read problem </var/folders/gj/mspwd20j4tn6djqc8qxpd6vc0000gn/T/tmpsvydruu5.pyomo.nl>
============
original problem has 4138 variables (0 bin, 0 int, 0 impl, 4138 cont) and 5096 constraints
solution violates original bounds of variable <objconstant> [72584.4,72584.4] solution value <0>
all 1 solutions given by solution candidate storage are infeasible
presolving:
(round 1, fast) 978 del vars, 1110 del conss, 0 add conss, 2212 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 2, fast) 985 del vars, 1371 del conss, 0 add conss, 2239 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 3, fast) 1032 del vars, 1371 del conss, 0 add conss, 2250 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 4, fast) 1032 del vars, 1371 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 5, fast) 1032 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(0.0s) running MILP presolver
(0.0s) MILP presolver (2 rounds): 10 aggregations, 0 fixings, 0 bound changes
(round 6, medium) 1042 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 7, fast) 1042 del vars, 1391 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 8, exhaustive) 1042 del vars, 1437 del conss, 0 add conss, 2678 chg bounds, 48 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 9, exhaustive) 1042 del vars, 1438 del conss, 0 add conss, 2678 chg bounds, 49 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 10, fast) 1042 del vars, 1438 del conss, 0 add conss, 2799 chg bounds, 49 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
presolving (11 rounds: 11 fast, 4 medium, 3 exhaustive):
1042 deleted vars, 1438 deleted constraints, 0 added constraints, 2799 tightened bounds, 0 added holes, 49 changed sides, 702 changed coefficients
0 implications, 0 cliques
presolved problem has 3096 variables (0 bin, 0 int, 0 impl, 3096 cont) and 3658 constraints
3658 constraints of type <linear>
Presolving Time: 0.09
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
* 0.5s| 1 | 0 | 5776 | - | LP | 0 |3096 |3658 |3658 | 0 | 0 | 0 | 0 | 4.841778e+05 | 4.841778e+05 | 0.00%| unknown
0.5s| 1 | 0 | 5776 | - | 32M | 0 |3096 |3658 |3658 | 0 | 0 | 0 | 0 | 4.841778e+05 | 4.841778e+05 | 0.00%| unknown
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 0.46
Solving Nodes : 1
Primal Bound : +4.84177812117397e+05 (1 solutions)
Dual Bound : +4.84177812117397e+05
Gap : 0.00 %
optimal solution found
[LP warmstart phase] iteration 0, found 1 violation(s)
[LP warmstart phase] iteration 0, added 1 flow constraint(s)
SCIP version 7.0.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 5.0.1] [GitHash: b41d526acf]
Copyright (C) 2002-2020 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External codes:
SoPlex 5.0.1 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: fcd2a2a5]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.4.0 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
PaPILO 1.0.1 parallel presolve for integer and linear optimization (https://github.com/lgottwald/PaPILO) [GitHash: 0638fc4]
bliss 0.73p Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)
Ipopt 3.13.2 Interior Point Optimizer developed by A. Waechter et.al. (www.coin-or.org/Ipopt)
ASL AMPL Solver Library developed by D. Gay (www.netlib.com/ampl)
number of parameters = 2627
non-default parameter settings:
read problem </var/folders/gj/mspwd20j4tn6djqc8qxpd6vc0000gn/T/tmp338illb3.pyomo.nl>
============
original problem has 4138 variables (0 bin, 0 int, 0 impl, 4138 cont) and 5097 constraints
solution violates original bounds of variable <objconstant> [72584.4,72584.4] solution value <0>
all 1 solutions given by solution candidate storage are infeasible
presolving:
(round 1, fast) 978 del vars, 1110 del conss, 0 add conss, 2212 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 2, fast) 985 del vars, 1371 del conss, 0 add conss, 2239 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 3, fast) 1032 del vars, 1371 del conss, 0 add conss, 2250 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 4, fast) 1032 del vars, 1371 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 5, fast) 1032 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(0.0s) running MILP presolver
(0.0s) MILP presolver (2 rounds): 10 aggregations, 0 fixings, 0 bound changes
(round 6, medium) 1042 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 7, fast) 1042 del vars, 1391 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 8, exhaustive) 1042 del vars, 1437 del conss, 0 add conss, 2678 chg bounds, 48 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 9, exhaustive) 1042 del vars, 1437 del conss, 0 add conss, 2678 chg bounds, 48 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 10, fast) 1042 del vars, 1437 del conss, 0 add conss, 2799 chg bounds, 48 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
presolving (11 rounds: 11 fast, 4 medium, 3 exhaustive):
1042 deleted vars, 1437 deleted constraints, 0 added constraints, 2799 tightened bounds, 0 added holes, 48 changed sides, 702 changed coefficients
0 implications, 0 cliques
presolved problem has 3096 variables (0 bin, 0 int, 0 impl, 3096 cont) and 3660 constraints
3660 constraints of type <linear>
Presolving Time: 0.09
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
* 0.3s| 1 | 0 | 3490 | - | LP | 0 |3096 |3660 |3660 | 0 | 0 | 0 | 0 | 4.845663e+05 | 4.845663e+05 | 0.00%| unknown
0.3s| 1 | 0 | 3490 | - | 32M | 0 |3096 |3660 |3660 | 0 | 0 | 0 | 0 | 4.845663e+05 | 4.845663e+05 | 0.00%| unknown
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 0.28
Solving Nodes : 1
Primal Bound : +4.84566299777959e+05 (1 solutions)
Dual Bound : +4.84566299777959e+05
Gap : 0.00 %
optimal solution found
[LP warmstart phase] iteration 1, found 0 violation(s)
[LP warmstart phase] added 23 flow constraint(s)
SCIP version 7.0.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 5.0.1] [GitHash: b41d526acf]
Copyright (C) 2002-2020 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External codes:
SoPlex 5.0.1 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: fcd2a2a5]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.4.0 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
PaPILO 1.0.1 parallel presolve for integer and linear optimization (https://github.com/lgottwald/PaPILO) [GitHash: 0638fc4]
bliss 0.73p Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)
Ipopt 3.13.2 Interior Point Optimizer developed by A. Waechter et.al. (www.coin-or.org/Ipopt)
ASL AMPL Solver Library developed by D. Gay (www.netlib.com/ampl)
number of parameters = 2627
non-default parameter settings:
read problem </var/folders/gj/mspwd20j4tn6djqc8qxpd6vc0000gn/T/tmp8nn6jlb5.pyomo.nl>
============
original problem has 4138 variables (0 bin, 0 int, 0 impl, 4138 cont) and 5120 constraints
solution violates original bounds of variable <objconstant> [72584.4,72584.4] solution value <0>
all 1 solutions given by solution candidate storage are infeasible
presolving:
(round 1, fast) 978 del vars, 1110 del conss, 0 add conss, 2212 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 2, fast) 985 del vars, 1371 del conss, 0 add conss, 2239 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 3, fast) 1032 del vars, 1371 del conss, 0 add conss, 2250 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 4, fast) 1032 del vars, 1371 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 5, fast) 1032 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(0.0s) running MILP presolver
(0.0s) MILP presolver (2 rounds): 10 aggregations, 0 fixings, 0 bound changes
(round 6, medium) 1042 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 7, fast) 1042 del vars, 1391 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 8, exhaustive) 1042 del vars, 1415 del conss, 0 add conss, 2678 chg bounds, 26 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 9, exhaustive) 1042 del vars, 1415 del conss, 0 add conss, 2678 chg bounds, 26 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 10, fast) 1042 del vars, 1415 del conss, 0 add conss, 2799 chg bounds, 26 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
presolving (11 rounds: 11 fast, 4 medium, 3 exhaustive):
1042 deleted vars, 1415 deleted constraints, 0 added constraints, 2799 tightened bounds, 0 added holes, 26 changed sides, 702 changed coefficients
0 implications, 0 cliques
presolved problem has 3096 variables (0 bin, 0 int, 0 impl, 3096 cont) and 3705 constraints
3705 constraints of type <linear>
Presolving Time: 0.09
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
* 0.2s| 1 | 0 | 2716 | - | LP | 0 |3096 |3705 |3705 | 0 | 0 | 0 | 0 | 4.880897e+05 | 4.880897e+05 | 0.00%| unknown
0.2s| 1 | 0 | 2716 | - | 32M | 0 |3096 |3705 |3705 | 0 | 0 | 0 | 0 | 4.880897e+05 | 4.880897e+05 | 0.00%| unknown
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 0.22
Solving Nodes : 1
Primal Bound : +4.88089715002204e+05 (1 solutions)
Dual Bound : +4.88089715002204e+05
Gap : 0.00 %
optimal solution found
[LP phase] iteration 0, found 0 violation(s)
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
INFO egret:unit_commitment.py:804 [LP warmstart phase] iteration 0, found 1 violation(s)
INFO egret:unit_commitment.py:823 [LP warmstart phase] iteration 0, added 1 flow constraint(s)
INFO egret:unit_commitment.py:804 [LP warmstart phase] iteration 1, found 0 violation(s)
INFO egret:unit_commitment.py:685 [LP warmstart phase] added 23 flow constraint(s)
INFO egret:unit_commitment.py:804 [LP phase] iteration 0, found 0 violation(s)
______________________________________ test_uc_lazy_ptdf_thresholding ______________________________________
self = <pyomo.core.base.suffix.Suffix object at 0x7fb02962db40>
obj = <pyomo.core.base.constraint._GeneralConstraintData object at 0x7fb02a948820>
def __getitem__(self, obj):
try:
> return self._dict[id(obj)][1]
E KeyError: 140394605348896
/Users/Juraj/anaconda3/envs/UnitCommitment/lib/python3.8/site-packages/pyomo/core/kernel/component_map.py:100: KeyError
During handling of the above exception, another exception occurred:
def test_uc_lazy_ptdf_thresholding():
test_name = 'tiny_uc_tc'
input_json_file_name = os.path.join(current_dir, 'uc_test_instances', test_name+'.json')
md_in = ModelData(json.load(open(input_json_file_name, 'r')))
tc_sol_fn = test_name + '_relaxed_results.json'
ntc_sol_fn = test_name + '_relaxed_unconstrained_results.json'
tc_cost = json.load(open(os.path.join(current_dir, 'uc_test_instances', tc_sol_fn), 'r'))['system']['total_cost']
ntc_cost = json.load(open(os.path.join(current_dir, 'uc_test_instances', ntc_sol_fn), 'r'))['system']['total_cost']
# NOTE: This test case has one congested branch, one end of which has bus_kv = 300, and
# the other end has bus_kv = 200, so these test cases attempt to capture all the
# logic of the thresholding
ptdf_sol_options = [
(tc_cost, {'branch_kv_threshold':100, 'kv_threshold_type':'one' }),
(tc_cost, {'branch_kv_threshold':100, 'kv_threshold_type':'both'}),
(tc_cost, {'branch_kv_threshold':200, 'kv_threshold_type':'one' }),
(tc_cost, {'branch_kv_threshold':200, 'kv_threshold_type':'both'}),
(tc_cost, {'branch_kv_threshold':201, 'kv_threshold_type':'one' }),
(ntc_cost, {'branch_kv_threshold':201, 'kv_threshold_type':'both'}),
(tc_cost, {'branch_kv_threshold':300, 'kv_threshold_type':'one' }),
(ntc_cost, {'branch_kv_threshold':300, 'kv_threshold_type':'both'}),
(ntc_cost, {'branch_kv_threshold':301, 'kv_threshold_type':'one' }),
(ntc_cost, {'branch_kv_threshold':301, 'kv_threshold_type':'both'}),
]
for c, ptdf_opt in ptdf_sol_options:
> md_results = solve_unit_commitment(md_in, solver=test_solver, relaxed=True, ptdf_options=ptdf_opt)
test_unit_commitment.py:234:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../unit_commitment.py:1560: in solve_unit_commitment
md = _save_uc_results(m, relaxed)
../unit_commitment.py:1240: in _save_uc_results
PFD[i] += value(m.dual[b.ineq_pf_branch_thermal_bounds[bn]])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pyomo.core.base.suffix.Suffix object at 0x7fb02962db40>
obj = <pyomo.core.base.constraint._GeneralConstraintData object at 0x7fb02a948820>
def __getitem__(self, obj):
try:
return self._dict[id(obj)][1]
except KeyError:
> raise KeyError("Component with id '%s': %s"
% (id(obj), str(obj)))
E KeyError: "Component with id '140394605348896': TransmissionBlock[1].ineq_pf_branch_thermal_bounds[Branch1]"
/Users/Juraj/anaconda3/envs/UnitCommitment/lib/python3.8/site-packages/pyomo/core/kernel/component_map.py:102: KeyError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: Polynomial cost curves will be approximated using piecewise segments
SCIP version 7.0.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 5.0.1] [GitHash: b41d526acf]
Copyright (C) 2002-2020 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External codes:
SoPlex 5.0.1 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: fcd2a2a5]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.4.0 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
PaPILO 1.0.1 parallel presolve for integer and linear optimization (https://github.com/lgottwald/PaPILO) [GitHash: 0638fc4]
bliss 0.73p Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)
Ipopt 3.13.2 Interior Point Optimizer developed by A. Waechter et.al. (www.coin-or.org/Ipopt)
ASL AMPL Solver Library developed by D. Gay (www.netlib.com/ampl)
number of parameters = 2627
non-default parameter settings:
read problem </var/folders/gj/mspwd20j4tn6djqc8qxpd6vc0000gn/T/tmp467wl5r0.pyomo.nl>
============
original problem has 4138 variables (0 bin, 0 int, 0 impl, 4138 cont) and 5096 constraints
solution violates original bounds of variable <objconstant> [72584.4,72584.4] solution value <0>
all 1 solutions given by solution candidate storage are infeasible
presolving:
(round 1, fast) 978 del vars, 1110 del conss, 0 add conss, 2212 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 2, fast) 985 del vars, 1371 del conss, 0 add conss, 2239 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 3, fast) 1032 del vars, 1371 del conss, 0 add conss, 2250 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 4, fast) 1032 del vars, 1371 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 5, fast) 1032 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(0.0s) running MILP presolver
(0.0s) MILP presolver (2 rounds): 10 aggregations, 0 fixings, 0 bound changes
(round 6, medium) 1042 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 7, fast) 1042 del vars, 1391 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 8, exhaustive) 1042 del vars, 1437 del conss, 0 add conss, 2678 chg bounds, 48 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 9, exhaustive) 1042 del vars, 1438 del conss, 0 add conss, 2678 chg bounds, 49 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 10, fast) 1042 del vars, 1438 del conss, 0 add conss, 2799 chg bounds, 49 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
presolving (11 rounds: 11 fast, 4 medium, 3 exhaustive):
1042 deleted vars, 1438 deleted constraints, 0 added constraints, 2799 tightened bounds, 0 added holes, 49 changed sides, 702 changed coefficients
0 implications, 0 cliques
presolved problem has 3096 variables (0 bin, 0 int, 0 impl, 3096 cont) and 3658 constraints
3658 constraints of type <linear>
Presolving Time: 0.09
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
* 0.4s| 1 | 0 | 5776 | - | LP | 0 |3096 |3658 |3658 | 0 | 0 | 0 | 0 | 4.841778e+05 | 4.841778e+05 | 0.00%| unknown
0.4s| 1 | 0 | 5776 | - | 32M | 0 |3096 |3658 |3658 | 0 | 0 | 0 | 0 | 4.841778e+05 | 4.841778e+05 | 0.00%| unknown
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 0.44
Solving Nodes : 1
Primal Bound : +4.84177812117397e+05 (1 solutions)
Dual Bound : +4.84177812117397e+05
Gap : 0.00 %
optimal solution found
[LP warmstart phase] iteration 0, found 1 violation(s)
[LP warmstart phase] iteration 0, added 1 flow constraint(s)
SCIP version 7.0.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 5.0.1] [GitHash: b41d526acf]
Copyright (C) 2002-2020 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External codes:
SoPlex 5.0.1 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: fcd2a2a5]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.4.0 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
PaPILO 1.0.1 parallel presolve for integer and linear optimization (https://github.com/lgottwald/PaPILO) [GitHash: 0638fc4]
bliss 0.73p Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)
Ipopt 3.13.2 Interior Point Optimizer developed by A. Waechter et.al. (www.coin-or.org/Ipopt)
ASL AMPL Solver Library developed by D. Gay (www.netlib.com/ampl)
number of parameters = 2627
non-default parameter settings:
read problem </var/folders/gj/mspwd20j4tn6djqc8qxpd6vc0000gn/T/tmp0rgw0mo4.pyomo.nl>
============
original problem has 4138 variables (0 bin, 0 int, 0 impl, 4138 cont) and 5097 constraints
solution violates original bounds of variable <objconstant> [72584.4,72584.4] solution value <0>
all 1 solutions given by solution candidate storage are infeasible
presolving:
(round 1, fast) 978 del vars, 1110 del conss, 0 add conss, 2212 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 2, fast) 985 del vars, 1371 del conss, 0 add conss, 2239 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 3, fast) 1032 del vars, 1371 del conss, 0 add conss, 2250 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 4, fast) 1032 del vars, 1371 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 5, fast) 1032 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(0.0s) running MILP presolver
(0.0s) MILP presolver (2 rounds): 10 aggregations, 0 fixings, 0 bound changes
(round 6, medium) 1042 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 7, fast) 1042 del vars, 1391 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 8, exhaustive) 1042 del vars, 1437 del conss, 0 add conss, 2678 chg bounds, 48 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 9, exhaustive) 1042 del vars, 1437 del conss, 0 add conss, 2678 chg bounds, 48 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 10, fast) 1042 del vars, 1437 del conss, 0 add conss, 2799 chg bounds, 48 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
presolving (11 rounds: 11 fast, 4 medium, 3 exhaustive):
1042 deleted vars, 1437 deleted constraints, 0 added constraints, 2799 tightened bounds, 0 added holes, 48 changed sides, 702 changed coefficients
0 implications, 0 cliques
presolved problem has 3096 variables (0 bin, 0 int, 0 impl, 3096 cont) and 3660 constraints
3660 constraints of type <linear>
Presolving Time: 0.09
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
* 0.3s| 1 | 0 | 3490 | - | LP | 0 |3096 |3660 |3660 | 0 | 0 | 0 | 0 | 4.845663e+05 | 4.845663e+05 | 0.00%| unknown
0.3s| 1 | 0 | 3490 | - | 32M | 0 |3096 |3660 |3660 | 0 | 0 | 0 | 0 | 4.845663e+05 | 4.845663e+05 | 0.00%| unknown
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 0.27
Solving Nodes : 1
Primal Bound : +4.84566299777959e+05 (1 solutions)
Dual Bound : +4.84566299777959e+05
Gap : 0.00 %
optimal solution found
[LP warmstart phase] iteration 1, found 0 violation(s)
[LP warmstart phase] added 23 flow constraint(s)
SCIP version 7.0.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 5.0.1] [GitHash: b41d526acf]
Copyright (C) 2002-2020 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External codes:
SoPlex 5.0.1 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: fcd2a2a5]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.4.0 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
PaPILO 1.0.1 parallel presolve for integer and linear optimization (https://github.com/lgottwald/PaPILO) [GitHash: 0638fc4]
bliss 0.73p Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)
Ipopt 3.13.2 Interior Point Optimizer developed by A. Waechter et.al. (www.coin-or.org/Ipopt)
ASL AMPL Solver Library developed by D. Gay (www.netlib.com/ampl)
number of parameters = 2627
non-default parameter settings:
read problem </var/folders/gj/mspwd20j4tn6djqc8qxpd6vc0000gn/T/tmpi4k6757m.pyomo.nl>
============
original problem has 4138 variables (0 bin, 0 int, 0 impl, 4138 cont) and 5120 constraints
solution violates original bounds of variable <objconstant> [72584.4,72584.4] solution value <0>
all 1 solutions given by solution candidate storage are infeasible
presolving:
(round 1, fast) 978 del vars, 1110 del conss, 0 add conss, 2212 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 2, fast) 985 del vars, 1371 del conss, 0 add conss, 2239 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 3, fast) 1032 del vars, 1371 del conss, 0 add conss, 2250 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 4, fast) 1032 del vars, 1371 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 5, fast) 1032 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(0.0s) running MILP presolver
(0.0s) MILP presolver (2 rounds): 10 aggregations, 0 fixings, 0 bound changes
(round 6, medium) 1042 del vars, 1381 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 7, fast) 1042 del vars, 1391 del conss, 0 add conss, 2678 chg bounds, 2 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 8, exhaustive) 1042 del vars, 1415 del conss, 0 add conss, 2678 chg bounds, 26 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 9, exhaustive) 1042 del vars, 1415 del conss, 0 add conss, 2678 chg bounds, 26 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 10, fast) 1042 del vars, 1415 del conss, 0 add conss, 2799 chg bounds, 26 chg sides, 702 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
presolving (11 rounds: 11 fast, 4 medium, 3 exhaustive):
1042 deleted vars, 1415 deleted constraints, 0 added constraints, 2799 tightened bounds, 0 added holes, 26 changed sides, 702 changed coefficients
0 implications, 0 cliques
presolved problem has 3096 variables (0 bin, 0 int, 0 impl, 3096 cont) and 3705 constraints
3705 constraints of type <linear>
Presolving Time: 0.09
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
* 0.2s| 1 | 0 | 2716 | - | LP | 0 |3096 |3705 |3705 | 0 | 0 | 0 | 0 | 4.880897e+05 | 4.880897e+05 | 0.00%| unknown
0.2s| 1 | 0 | 2716 | - | 32M | 0 |3096 |3705 |3705 | 0 | 0 | 0 | 0 | 4.880897e+05 | 4.880897e+05 | 0.00%| unknown
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 0.22
Solving Nodes : 1
Primal Bound : +4.88089715002204e+05 (1 solutions)
Dual Bound : +4.88089715002204e+05
Gap : 0.00 %
optimal solution found
[LP phase] iteration 0, found 0 violation(s)
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
INFO egret:unit_commitment.py:804 [LP warmstart phase] iteration 0, found 1 violation(s)
INFO egret:unit_commitment.py:823 [LP warmstart phase] iteration 0, added 1 flow constraint(s)
INFO egret:unit_commitment.py:804 [LP warmstart phase] iteration 1, found 0 violation(s)
INFO egret:unit_commitment.py:685 [LP warmstart phase] added 23 flow constraint(s)
INFO egret:unit_commitment.py:804 [LP phase] iteration 0, found 0 violation(s)
_________________________________________ test_uc_ptdf_termination _________________________________________
self = <pyomo.core.base.suffix.Suffix object at 0x7fb02b57e7c0>
obj = <pyomo.core.base.constraint._GeneralConstraintData object at 0x7fb02a723f40>
def __getitem__(self, obj):
try:
> return self._dict[id(obj)][1]
E KeyError: 140394603102016
/Users/Juraj/anaconda3/envs/UnitCommitment/lib/python3.8/site-packages/pyomo/core/kernel/component_map.py:100: KeyError
During handling of the above exception, another exception occurred:
def test_uc_ptdf_termination():
test_name = 'tiny_uc_tc_3'
input_json_file_name = os.path.join(current_dir, 'uc_test_instances', test_name+'.json')
md_in = ModelData(json.load(open(input_json_file_name, 'r')))
kwargs = {'ptdf_options':{'lazy': True, 'rel_ptdf_tol':10.}}
> md_results, results = solve_unit_commitment(md_in, solver=test_solver, relaxed=True, return_results=True, **kwargs)
test_unit_commitment.py:244:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../unit_commitment.py:1560: in solve_unit_commitment
md = _save_uc_results(m, relaxed)
../unit_commitment.py:1245: in _save_uc_results
PFID[i] += value(m.dual[b.ineq_pf_interface_bounds[i_n]])
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pyomo.core.base.suffix.Suffix object at 0x7fb02b57e7c0>
obj = <pyomo.core.base.constraint._GeneralConstraintData object at 0x7fb02a723f40>
def __getitem__(self, obj):
try:
return self._dict[id(obj)][1]
except KeyError:
> raise KeyError("Component with id '%s': %s"
% (id(obj), str(obj)))
E KeyError: "Component with id '140394603102016': TransmissionBlock[1].ineq_pf_interface_bounds[Interface1]"
/Users/Juraj/anaconda3/envs/UnitCommitment/lib/python3.8/site-packages/pyomo/core/kernel/component_map.py:102: KeyError
------------------------------------------- Captured stdout call -------------------------------------------
WARNING: abs_flow_tol=0.001, rel_ptdf_tol=10.0, which will likely result in violations. Consider raising abs_flow_tol or lowering rel_ptdf_tol.
WARNING: Polynomial cost curves will be approximated using piecewise segments
SCIP version 7.0.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 5.0.1] [GitHash: b41d526acf]
Copyright (C) 2002-2020 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External codes:
SoPlex 5.0.1 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: fcd2a2a5]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.4.0 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
PaPILO 1.0.1 parallel presolve for integer and linear optimization (https://github.com/lgottwald/PaPILO) [GitHash: 0638fc4]
bliss 0.73p Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)
Ipopt 3.13.2 Interior Point Optimizer developed by A. Waechter et.al. (www.coin-or.org/Ipopt)
ASL AMPL Solver Library developed by D. Gay (www.netlib.com/ampl)
number of parameters = 2627
non-default parameter settings:
read problem </var/folders/gj/mspwd20j4tn6djqc8qxpd6vc0000gn/T/tmp84glozf9.pyomo.nl>
============
original problem has 2242 variables (0 bin, 0 int, 0 impl, 2242 cont) and 2456 constraints
solution violates original bounds of variable <objconstant> [72584.4,72584.4] solution value <0>
all 1 solutions given by solution candidate storage are infeasible
presolving:
(round 1, fast) 901 del vars, 797 del conss, 0 add conss, 1381 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 2, fast) 905 del vars, 1050 del conss, 0 add conss, 1393 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 3, fast) 952 del vars, 1073 del conss, 0 add conss, 1393 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(0.0s) running MILP presolver
(0.0s) MILP presolver (4 rounds): 46 aggregations, 0 fixings, 0 bound changes
(round 4, medium) 998 del vars, 1073 del conss, 0 add conss, 1394 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 5, fast) 998 del vars, 1119 del conss, 0 add conss, 1394 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 6, exhaustive) 998 del vars, 1276 del conss, 0 add conss, 1394 chg bounds, 134 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 7, exhaustive) 998 del vars, 1276 del conss, 0 add conss, 1394 chg bounds, 134 chg sides, 43 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
presolving (8 rounds: 8 fast, 4 medium, 3 exhaustive):
998 deleted vars, 1276 deleted constraints, 0 added constraints, 1399 tightened bounds, 0 added holes, 134 changed sides, 43 changed coefficients
0 implications, 0 cliques
presolved problem has 1244 variables (0 bin, 0 int, 0 impl, 1244 cont) and 1180 constraints
1180 constraints of type <linear>
Presolving Time: 0.03
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
* 0.1s| 1 | 0 | 868 | - | LP | 0 |1244 |1180 |1180 | 0 | 0 | 0 | 0 | 4.816211e+05 | 4.816211e+05 | 0.00%| unknown
0.1s| 1 | 0 | 868 | - | 14M | 0 |1244 |1180 |1180 | 0 | 0 | 0 | 0 | 4.816211e+05 | 4.816211e+05 | 0.00%| unknown
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 0.06
Solving Nodes : 1
Primal Bound : +4.81621149585288e+05 (1 solutions)
Dual Bound : +4.81621149585288e+05
Gap : 0.00 %
optimal solution found
[LP warmstart phase] iteration 0, found 1 violation(s)
[LP warmstart phase] iteration 0, added 1 flow constraint(s)
SCIP version 7.0.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 5.0.1] [GitHash: b41d526acf]
Copyright (C) 2002-2020 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External codes:
SoPlex 5.0.1 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: fcd2a2a5]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.4.0 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
PaPILO 1.0.1 parallel presolve for integer and linear optimization (https://github.com/lgottwald/PaPILO) [GitHash: 0638fc4]
bliss 0.73p Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)
Ipopt 3.13.2 Interior Point Optimizer developed by A. Waechter et.al. (www.coin-or.org/Ipopt)
ASL AMPL Solver Library developed by D. Gay (www.netlib.com/ampl)
number of parameters = 2627
non-default parameter settings:
read problem </var/folders/gj/mspwd20j4tn6djqc8qxpd6vc0000gn/T/tmps3x7zl1p.pyomo.nl>
============
original problem has 2242 variables (0 bin, 0 int, 0 impl, 2242 cont) and 2457 constraints
solution violates original bounds of variable <objconstant> [72584.4,72584.4] solution value <0>
all 1 solutions given by solution candidate storage are infeasible
presolving:
(round 1, fast) 899 del vars, 797 del conss, 0 add conss, 1381 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 2, fast) 903 del vars, 1050 del conss, 0 add conss, 1393 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 3, fast) 950 del vars, 1073 del conss, 0 add conss, 1393 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(0.0s) running MILP presolver
(0.0s) MILP presolver (3 rounds): 46 aggregations, 0 fixings, 0 bound changes
(round 4, medium) 996 del vars, 1073 del conss, 0 add conss, 1394 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 5, fast) 996 del vars, 1119 del conss, 0 add conss, 1394 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 6, exhaustive) 996 del vars, 1276 del conss, 0 add conss, 1394 chg bounds, 134 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 7, exhaustive) 996 del vars, 1276 del conss, 0 add conss, 1394 chg bounds, 134 chg sides, 43 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
presolving (8 rounds: 8 fast, 4 medium, 3 exhaustive):
998 deleted vars, 1277 deleted constraints, 0 added constraints, 1399 tightened bounds, 0 added holes, 134 changed sides, 43 changed coefficients
0 implications, 0 cliques
presolved problem has 1244 variables (0 bin, 0 int, 0 impl, 1244 cont) and 1180 constraints
1180 constraints of type <linear>
Presolving Time: 0.04
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
* 0.1s| 1 | 0 | 841 | - | LP | 0 |1244 |1180 |1180 | 0 | 0 | 0 | 0 | 4.816211e+05 | 4.816211e+05 | 0.00%| unknown
0.1s| 1 | 0 | 841 | - | 14M | 0 |1244 |1180 |1180 | 0 | 0 | 0 | 0 | 4.816211e+05 | 4.816211e+05 | 0.00%| unknown
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 0.06
Solving Nodes : 1
Primal Bound : +4.81621149585288e+05 (1 solutions)
Dual Bound : +4.81621149585288e+05
Gap : 0.00 %
optimal solution found
[LP warmstart phase] WARNING: interface Interface1 is in the monitored set at time 18, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP warmstart phase] iteration 1, found 1 violation(s), 1 of which are already monitored
[LP warmstart phase] added 0 flow constraint(s)
SCIP version 7.0.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 5.0.1] [GitHash: b41d526acf]
Copyright (C) 2002-2020 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External codes:
SoPlex 5.0.1 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: fcd2a2a5]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.4.0 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
PaPILO 1.0.1 parallel presolve for integer and linear optimization (https://github.com/lgottwald/PaPILO) [GitHash: 0638fc4]
bliss 0.73p Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)
Ipopt 3.13.2 Interior Point Optimizer developed by A. Waechter et.al. (www.coin-or.org/Ipopt)
ASL AMPL Solver Library developed by D. Gay (www.netlib.com/ampl)
number of parameters = 2627
non-default parameter settings:
read problem </var/folders/gj/mspwd20j4tn6djqc8qxpd6vc0000gn/T/tmp69pgdvmz.pyomo.nl>
============
original problem has 2242 variables (0 bin, 0 int, 0 impl, 2242 cont) and 2457 constraints
solution violates original bounds of variable <objconstant> [72584.4,72584.4] solution value <0>
all 1 solutions given by solution candidate storage are infeasible
presolving:
(round 1, fast) 899 del vars, 797 del conss, 0 add conss, 1381 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 2, fast) 903 del vars, 1050 del conss, 0 add conss, 1393 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 3, fast) 950 del vars, 1073 del conss, 0 add conss, 1393 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(0.0s) running MILP presolver
(0.0s) MILP presolver (3 rounds): 46 aggregations, 0 fixings, 0 bound changes
(round 4, medium) 996 del vars, 1073 del conss, 0 add conss, 1394 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 5, fast) 996 del vars, 1119 del conss, 0 add conss, 1394 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 6, exhaustive) 996 del vars, 1276 del conss, 0 add conss, 1394 chg bounds, 134 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 7, exhaustive) 996 del vars, 1276 del conss, 0 add conss, 1394 chg bounds, 134 chg sides, 43 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
presolving (8 rounds: 8 fast, 4 medium, 3 exhaustive):
998 deleted vars, 1277 deleted constraints, 0 added constraints, 1399 tightened bounds, 0 added holes, 134 changed sides, 43 changed coefficients
0 implications, 0 cliques
presolved problem has 1244 variables (0 bin, 0 int, 0 impl, 1244 cont) and 1180 constraints
1180 constraints of type <linear>
Presolving Time: 0.04
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
* 0.1s| 1 | 0 | 841 | - | LP | 0 |1244 |1180 |1180 | 0 | 0 | 0 | 0 | 4.816211e+05 | 4.816211e+05 | 0.00%| unknown
0.1s| 1 | 0 | 841 | - | 14M | 0 |1244 |1180 |1180 | 0 | 0 | 0 | 0 | 4.816211e+05 | 4.816211e+05 | 0.00%| unknown
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 0.06
Solving Nodes : 1
Primal Bound : +4.81621149585288e+05 (1 solutions)
Dual Bound : +4.81621149585288e+05
Gap : 0.00 %
optimal solution found
[LP warmstart phase] WARNING: Terminating with monitored violations! Result is not transmission feasible.
[LP phase] WARNING: interface Interface1 is in the monitored set at time 18, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] iteration 0, found 24 violation(s), 1 of which are already monitored
[LP phase] iteration 0, added 23 flow constraint(s)
SCIP version 7.0.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 5.0.1] [GitHash: b41d526acf]
Copyright (C) 2002-2020 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External codes:
SoPlex 5.0.1 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: fcd2a2a5]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (www.coin-or.org/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.4.0 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
PaPILO 1.0.1 parallel presolve for integer and linear optimization (https://github.com/lgottwald/PaPILO) [GitHash: 0638fc4]
bliss 0.73p Computing Graph Automorphism Groups by T. Junttila and P. Kaski (http://www.tcs.hut.fi/Software/bliss/)
Ipopt 3.13.2 Interior Point Optimizer developed by A. Waechter et.al. (www.coin-or.org/Ipopt)
ASL AMPL Solver Library developed by D. Gay (www.netlib.com/ampl)
number of parameters = 2627
non-default parameter settings:
read problem </var/folders/gj/mspwd20j4tn6djqc8qxpd6vc0000gn/T/tmpn8rwxt21.pyomo.nl>
============
original problem has 2242 variables (0 bin, 0 int, 0 impl, 2242 cont) and 2480 constraints
solution violates original bounds of variable <objconstant> [72584.4,72584.4] solution value <0>
all 1 solutions given by solution candidate storage are infeasible
presolving:
(round 1, fast) 853 del vars, 797 del conss, 0 add conss, 1381 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 2, fast) 857 del vars, 1050 del conss, 0 add conss, 1393 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 3, fast) 904 del vars, 1073 del conss, 0 add conss, 1393 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(0.0s) running MILP presolver
(0.0s) MILP presolver (4 rounds): 46 aggregations, 0 fixings, 0 bound changes
(round 4, medium) 950 del vars, 1073 del conss, 0 add conss, 1394 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 5, fast) 950 del vars, 1119 del conss, 0 add conss, 1394 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 6, exhaustive) 950 del vars, 1276 del conss, 0 add conss, 1394 chg bounds, 134 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 7, exhaustive) 950 del vars, 1276 del conss, 0 add conss, 1394 chg bounds, 134 chg sides, 43 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
presolving (8 rounds: 8 fast, 4 medium, 3 exhaustive):
998 deleted vars, 1300 deleted constraints, 0 added constraints, 1399 tightened bounds, 0 added holes, 134 changed sides, 43 changed coefficients
0 implications, 0 cliques
presolved problem has 1244 variables (0 bin, 0 int, 0 impl, 1244 cont) and 1180 constraints
1180 constraints of type <linear>
Presolving Time: 0.05
time | node | left |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr| dualbound | primalbound | gap | compl.
* 0.1s| 1 | 0 | 929 | - | LP | 0 |1244 |1180 |1180 | 0 | 0 | 0 | 0 | 4.816211e+05 | 4.816211e+05 | 0.00%| unknown
0.1s| 1 | 0 | 929 | - | 14M | 0 |1244 |1180 |1180 | 0 | 0 | 0 | 0 | 4.816211e+05 | 4.816211e+05 | 0.00%| unknown
SCIP Status : problem is solved [optimal solution found]
Solving Time (sec) : 0.07
Solving Nodes : 1
Primal Bound : +4.81621149585288e+05 (1 solutions)
Dual Bound : +4.81621149585288e+05
Gap : 0.00 %
optimal solution found
[LP phase] WARNING: interface Interface1 is in the monitored set at time 1, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 2, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 3, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 4, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 5, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 6, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 7, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 8, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 9, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 10, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 11, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 12, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 13, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 14, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 15, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 16, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 17, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 18, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 19, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 20, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 21, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 22, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 23, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] WARNING: interface Interface1 is in the monitored set at time 24, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
[LP phase] iteration 1, found 24 violation(s), 24 of which are already monitored
[LP phase] WARNING: Terminating with monitored violations! Result is not transmission feasible.
-------------------------------------------- Captured log call ---------------------------------------------
WARNING egret:lazy_ptdf_utils.py:101 WARNING: abs_flow_tol=0.001, rel_ptdf_tol=10.0, which will likely result in violations. Consider raising abs_flow_tol or lowering rel_ptdf_tol.
WARNING egret:params.py:862 WARNING: Polynomial cost curves will be approximated using piecewise segments
INFO egret:unit_commitment.py:804 [LP warmstart phase] iteration 0, found 1 violation(s)
INFO egret:unit_commitment.py:823 [LP warmstart phase] iteration 0, added 1 flow constraint(s)
INFO egret:lazy_ptdf_utils.py:473 [LP warmstart phase] WARNING: interface Interface1 is in the monitored set at time 18, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:unit_commitment.py:804 [LP warmstart phase] iteration 1, found 1 violation(s), 1 of which are already monitored
INFO egret:unit_commitment.py:685 [LP warmstart phase] added 0 flow constraint(s)
WARNING egret:unit_commitment.py:699 [LP warmstart phase] WARNING: Terminating with monitored violations! Result is not transmission feasible.
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 18, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:unit_commitment.py:804 [LP phase] iteration 0, found 24 violation(s), 1 of which are already monitored
INFO egret:unit_commitment.py:823 [LP phase] iteration 0, added 23 flow constraint(s)
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 1, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 2, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 3, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 4, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 5, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 6, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 7, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 8, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 9, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 10, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 11, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 12, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 13, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 14, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 15, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 16, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 17, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 18, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 19, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 20, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
1 # ___________________________________________________________________________
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 21, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 22, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 23, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:lazy_ptdf_utils.py:473 [LP phase] WARNING: interface Interface1 is in the monitored set at time 24, but flow exceeds limit!!
flow=455.0, limit=300.0, model_flow=0.0, model_slack=0.0
INFO egret:unit_commitment.py:804 [LP phase] iteration 1, found 24 violation(s), 24 of which are already monitored
WARNING egret:unit_commitment.py:699 [LP phase] WARNING: Terminating with monitored violations! Result is not transmission feasible.
============================================= warnings summary =============================================
/Users/Juraj/anaconda3/envs/UnitCommitment/lib/python3.8/site-packages/pyutilib/misc/import_file.py:11
/Users/Juraj/anaconda3/envs/UnitCommitment/lib/python3.8/site-packages/pyutilib/misc/import_file.py:11: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
-- Docs: https://docs.pytest.org/en/stable/warnings.html
========================================= short test summary info ==========================================
FAILED test_unit_commitment.py::test_int_all_uc_models - AssertionError: assert False
FAILED test_unit_commitment.py::test_tight_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_compact_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_KOW_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_ALS_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_MLR_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_random1_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_random2_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_OAV_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_OAV_tighter_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_OAV_original_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_OAV_up_downtime_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_CA_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_CHP_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_super_tight_uc_model - AssertionError: assert False
FAILED test_unit_commitment.py::test_uc_relaxation - KeyError: "Component with id '140394571289504': Tran...
FAILED test_unit_commitment.py::test_uc_lazy_ptdf_thresholding - KeyError: "Component with id '1403946053...
FAILED test_unit_commitment.py::test_uc_ptdf_termination - KeyError: "Component with id '140394603102016'...
=========================== 18 failed, 3 passed, 1 warning in 241.02s (0:04:01) ============================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment