Created
August 28, 2020 18:18
-
-
Save goghino/d40bee46e072168f5b8c16dde306496d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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