diff --git a/src/oemof/solph/components/_generic_storage.py b/src/oemof/solph/components/_generic_storage.py index d1731ee1d..6fd6e6cab 100644 --- a/src/oemof/solph/components/_generic_storage.py +++ b/src/oemof/solph/components/_generic_storage.py @@ -1208,7 +1208,7 @@ def _create(self, group=None): # ######################### Variables ################################ self.storage_content = Var( - self.INVESTSTORAGES, m.TIMESTEPS, within=NonNegativeReals + self.INVESTSTORAGES, m.TIMEPOINTS, within=NonNegativeReals ) def _storage_investvar_bound_rule(block, n, p): @@ -1527,13 +1527,13 @@ def _storage_balance_first_rule(block, n): def _storage_balance_rule(block, n, p, t): """ - Rule definition for the storage balance of every storage n - for every time step but the first. + Rule definition for the storage balance of every storage n and + every timestep. """ expr = 0 - expr += block.storage_content[n, t] + expr += block.storage_content[n, t + 1] expr += ( - -block.storage_content[n, t - 1] + -block.storage_content[n, t] * (1 - n.loss_rate[t]) ** m.timeincrement[t] ) expr += ( diff --git a/tests/lp_files/connect_investment.lp b/tests/lp_files/connect_investment.lp index 5573bd32f..3f69d82dd 100644 --- a/tests/lp_files/connect_investment.lp +++ b/tests/lp_files/connect_investment.lp @@ -2,15 +2,15 @@ min objective: -+500 InvestmentFlowBlock_invest(Bus1_Sink_0) +123 InvestmentFlowBlock_invest(Source_Bus1_0) ++500 InvestmentFlowBlock_invest(Bus1_Sink_0) +145 GenericInvestmentStorageBlock_invest(storage_0) s.t. c_e__equate_InvestmentFlowBlock_invest(Source_Bus1_0)_InvestmentFlowBlock_invest(Bus1_Sink_0)__: --1 InvestmentFlowBlock_invest(Bus1_Sink_0) +2 InvestmentFlowBlock_invest(Source_Bus1_0) +-1 InvestmentFlowBlock_invest(Bus1_Sink_0) = 0 c_e__equate_InvestmentFlowBlock_invest(Source_Bus1_0)_GenericInvestmentStorageBlock_invest(storage_0)__: @@ -39,25 +39,40 @@ c_e_BusBlock_balance(Bus1_0_2)_: -1 flow(Bus1_Sink_0_2) = 0 +c_e_InvestmentFlowBlock_total_rule(Source_Bus1_0)_: +-1 InvestmentFlowBlock_invest(Source_Bus1_0) ++1 InvestmentFlowBlock_total(Source_Bus1_0) += 0 + c_e_InvestmentFlowBlock_total_rule(storage_Bus1_0)_: +1 InvestmentFlowBlock_total(storage_Bus1_0) -1 InvestmentFlowBlock_invest(storage_Bus1_0) = 0 +c_e_InvestmentFlowBlock_total_rule(Bus1_storage_0)_: ++1 InvestmentFlowBlock_total(Bus1_storage_0) +-1 InvestmentFlowBlock_invest(Bus1_storage_0) += 0 + c_e_InvestmentFlowBlock_total_rule(Bus1_Sink_0)_: -1 InvestmentFlowBlock_invest(Bus1_Sink_0) +1 InvestmentFlowBlock_total(Bus1_Sink_0) = 0 -c_e_InvestmentFlowBlock_total_rule(Source_Bus1_0)_: --1 InvestmentFlowBlock_invest(Source_Bus1_0) -+1 InvestmentFlowBlock_total(Source_Bus1_0) -= 0 +c_u_InvestmentFlowBlock_max(Source_Bus1_0_0)_: ++1 flow(Source_Bus1_0_0) +-1 InvestmentFlowBlock_total(Source_Bus1_0) +<= 0 -c_e_InvestmentFlowBlock_total_rule(Bus1_storage_0)_: -+1 InvestmentFlowBlock_total(Bus1_storage_0) --1 InvestmentFlowBlock_invest(Bus1_storage_0) -= 0 +c_u_InvestmentFlowBlock_max(Source_Bus1_0_1)_: ++1 flow(Source_Bus1_0_1) +-1 InvestmentFlowBlock_total(Source_Bus1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(Source_Bus1_0_2)_: ++1 flow(Source_Bus1_0_2) +-1 InvestmentFlowBlock_total(Source_Bus1_0) +<= 0 c_u_InvestmentFlowBlock_max(storage_Bus1_0_0)_: +1 flow(storage_Bus1_0_0) @@ -74,36 +89,6 @@ c_u_InvestmentFlowBlock_max(storage_Bus1_0_2)_: -1 InvestmentFlowBlock_total(storage_Bus1_0) <= 0 -c_u_InvestmentFlowBlock_max(Bus1_Sink_0_0)_: -+1 flow(Bus1_Sink_0_0) --1 InvestmentFlowBlock_total(Bus1_Sink_0) -<= 0 - -c_u_InvestmentFlowBlock_max(Bus1_Sink_0_1)_: -+1 flow(Bus1_Sink_0_1) --1 InvestmentFlowBlock_total(Bus1_Sink_0) -<= 0 - -c_u_InvestmentFlowBlock_max(Bus1_Sink_0_2)_: -+1 flow(Bus1_Sink_0_2) --1 InvestmentFlowBlock_total(Bus1_Sink_0) -<= 0 - -c_u_InvestmentFlowBlock_max(Source_Bus1_0_0)_: -+1 flow(Source_Bus1_0_0) --1 InvestmentFlowBlock_total(Source_Bus1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(Source_Bus1_0_1)_: -+1 flow(Source_Bus1_0_1) --1 InvestmentFlowBlock_total(Source_Bus1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(Source_Bus1_0_2)_: -+1 flow(Source_Bus1_0_2) --1 InvestmentFlowBlock_total(Source_Bus1_0) -<= 0 - c_u_InvestmentFlowBlock_max(Bus1_storage_0_0)_: +1 flow(Bus1_storage_0_0) -1 InvestmentFlowBlock_total(Bus1_storage_0) @@ -119,6 +104,21 @@ c_u_InvestmentFlowBlock_max(Bus1_storage_0_2)_: -1 InvestmentFlowBlock_total(Bus1_storage_0) <= 0 +c_u_InvestmentFlowBlock_max(Bus1_Sink_0_0)_: ++1 flow(Bus1_Sink_0_0) +-1 InvestmentFlowBlock_total(Bus1_Sink_0) +<= 0 + +c_u_InvestmentFlowBlock_max(Bus1_Sink_0_1)_: ++1 flow(Bus1_Sink_0_1) +-1 InvestmentFlowBlock_total(Bus1_Sink_0) +<= 0 + +c_u_InvestmentFlowBlock_max(Bus1_Sink_0_2)_: ++1 flow(Bus1_Sink_0_2) +-1 InvestmentFlowBlock_total(Bus1_Sink_0) +<= 0 + c_e_GenericInvestmentStorageBlock_total_storage_rule(storage_0)_: -1 GenericInvestmentStorageBlock_invest(storage_0) +1 GenericInvestmentStorageBlock_total(storage_0) @@ -139,15 +139,15 @@ c_e_GenericInvestmentStorageBlock_balance_first(storage)_: c_e_GenericInvestmentStorageBlock_balance(storage_0_1)_: +1 flow(storage_Bus1_0_1) -1 flow(Bus1_storage_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_0_2)_: +1 flow(storage_Bus1_0_2) -1 flow(Bus1_storage_0_2) --1 GenericInvestmentStorageBlock_storage_content(storage_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_3) = 0 c_e_GenericInvestmentStorageBlock_balanced_cstr(storage)_: @@ -181,8 +181,8 @@ c_u_GenericInvestmentStorageBlock_max_storage_content(storage_0_2)_: <= 0 bounds - 0 <= InvestmentFlowBlock_invest(Bus1_Sink_0) <= +inf 0 <= InvestmentFlowBlock_invest(Source_Bus1_0) <= +inf + 0 <= InvestmentFlowBlock_invest(Bus1_Sink_0) <= +inf 0 <= GenericInvestmentStorageBlock_invest(storage_0) <= +inf 0 <= flow(Source_Bus1_0_0) <= +inf 0 <= flow(storage_Bus1_0_0) <= +inf @@ -196,15 +196,16 @@ bounds 0 <= flow(storage_Bus1_0_2) <= +inf 0 <= flow(Bus1_storage_0_2) <= +inf 0 <= flow(Bus1_Sink_0_2) <= +inf + 0 <= InvestmentFlowBlock_total(Source_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_total(storage_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_invest(storage_Bus1_0) <= +inf - 0 <= InvestmentFlowBlock_total(Bus1_Sink_0) <= +inf - 0 <= InvestmentFlowBlock_total(Source_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_total(Bus1_storage_0) <= +inf 0 <= InvestmentFlowBlock_invest(Bus1_storage_0) <= +inf + 0 <= InvestmentFlowBlock_total(Bus1_Sink_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_1) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_3) <= +inf end diff --git a/tests/lp_files/connect_investment_multi_period.lp b/tests/lp_files/connect_investment_multi_period.lp index 75e8a280e..5cbedfb41 100644 --- a/tests/lp_files/connect_investment_multi_period.lp +++ b/tests/lp_files/connect_investment_multi_period.lp @@ -2,12 +2,12 @@ min objective: -+499.99999999999994 InvestmentFlowBlock_invest(Bus1_Sink_0) -+330.02221931773533 InvestmentFlowBlock_invest(Bus1_Sink_1) -+163.37733629590875 InvestmentFlowBlock_invest(Bus1_Sink_2) +123.0 InvestmentFlowBlock_invest(Source_Bus1_0) +81.1854659521629 InvestmentFlowBlock_invest(Source_Bus1_1) +40.19082472879356 InvestmentFlowBlock_invest(Source_Bus1_2) ++499.99999999999994 InvestmentFlowBlock_invest(Bus1_Sink_0) ++330.02221931773533 InvestmentFlowBlock_invest(Bus1_Sink_1) ++163.37733629590875 InvestmentFlowBlock_invest(Bus1_Sink_2) +144.99999999999997 GenericInvestmentStorageBlock_invest(storage_0) +95.70644360214325 GenericInvestmentStorageBlock_invest(storage_1) +47.37942752581354 GenericInvestmentStorageBlock_invest(storage_2) @@ -15,8 +15,8 @@ objective: s.t. c_e__equate_InvestmentFlowBlock_invest(Source_Bus1_0)_InvestmentFlowBlock_invest(Bus1_Sink_0)__: --1 InvestmentFlowBlock_invest(Bus1_Sink_0) +2 InvestmentFlowBlock_invest(Source_Bus1_0) +-1 InvestmentFlowBlock_invest(Bus1_Sink_0) = 0 c_e__equate_InvestmentFlowBlock_invest(Source_Bus1_0)_GenericInvestmentStorageBlock_invest(storage_0)__: @@ -25,66 +25,47 @@ c_e__equate_InvestmentFlowBlock_invest(Source_Bus1_0)_GenericInvestmentStorageBl = 0 c_e_BusBlock_balance(Bus1_0_0)_: -+1 flow(storage_Bus1_0_0) +1 flow(Source_Bus1_0_0) ++1 flow(storage_Bus1_0_0) -1 flow(Bus1_storage_0_0) -1 flow(Bus1_Sink_0_0) = 0 c_e_BusBlock_balance(Bus1_0_1)_: -+1 flow(storage_Bus1_0_1) +1 flow(Source_Bus1_0_1) ++1 flow(storage_Bus1_0_1) -1 flow(Bus1_storage_0_1) -1 flow(Bus1_Sink_0_1) = 0 c_e_BusBlock_balance(Bus1_1_2)_: -+1 flow(storage_Bus1_1_2) +1 flow(Source_Bus1_1_2) ++1 flow(storage_Bus1_1_2) -1 flow(Bus1_storage_1_2) -1 flow(Bus1_Sink_1_2) = 0 c_e_BusBlock_balance(Bus1_1_3)_: -+1 flow(storage_Bus1_1_3) +1 flow(Source_Bus1_1_3) ++1 flow(storage_Bus1_1_3) -1 flow(Bus1_storage_1_3) -1 flow(Bus1_Sink_1_3) = 0 c_e_BusBlock_balance(Bus1_2_4)_: -+1 flow(storage_Bus1_2_4) +1 flow(Source_Bus1_2_4) ++1 flow(storage_Bus1_2_4) -1 flow(Bus1_storage_2_4) -1 flow(Bus1_Sink_2_4) = 0 c_e_BusBlock_balance(Bus1_2_5)_: -+1 flow(storage_Bus1_2_5) +1 flow(Source_Bus1_2_5) ++1 flow(storage_Bus1_2_5) -1 flow(Bus1_storage_2_5) -1 flow(Bus1_Sink_2_5) = 0 -c_e_InvestmentFlowBlock_total_rule(Bus1_Sink_0)_: --1 InvestmentFlowBlock_invest(Bus1_Sink_0) -+1 InvestmentFlowBlock_total(Bus1_Sink_0) -= 0 - -c_e_InvestmentFlowBlock_total_rule(Bus1_Sink_1)_: --1 InvestmentFlowBlock_invest(Bus1_Sink_1) --1 InvestmentFlowBlock_total(Bus1_Sink_0) -+1 InvestmentFlowBlock_total(Bus1_Sink_1) -+1 InvestmentFlowBlock_old(Bus1_Sink_1) -= 0 - -c_e_InvestmentFlowBlock_total_rule(Bus1_Sink_2)_: --1 InvestmentFlowBlock_invest(Bus1_Sink_2) --1 InvestmentFlowBlock_total(Bus1_Sink_1) -+1 InvestmentFlowBlock_total(Bus1_Sink_2) -+1 InvestmentFlowBlock_old(Bus1_Sink_2) -= 0 - c_e_InvestmentFlowBlock_total_rule(Bus1_storage_0)_: +1 InvestmentFlowBlock_total(Bus1_storage_0) -1 InvestmentFlowBlock_invest(Bus1_storage_0) @@ -142,16 +123,23 @@ c_e_InvestmentFlowBlock_total_rule(storage_Bus1_2)_: +1 InvestmentFlowBlock_old(storage_Bus1_2) = 0 -c_e_InvestmentFlowBlock_old_rule_end(Bus1_Sink_0)_: -+1 InvestmentFlowBlock_old_end(Bus1_Sink_0) +c_e_InvestmentFlowBlock_total_rule(Bus1_Sink_0)_: +-1 InvestmentFlowBlock_invest(Bus1_Sink_0) ++1 InvestmentFlowBlock_total(Bus1_Sink_0) = 0 -c_e_InvestmentFlowBlock_old_rule_end(Bus1_Sink_1)_: -+1 InvestmentFlowBlock_old_end(Bus1_Sink_1) +c_e_InvestmentFlowBlock_total_rule(Bus1_Sink_1)_: +-1 InvestmentFlowBlock_invest(Bus1_Sink_1) +-1 InvestmentFlowBlock_total(Bus1_Sink_0) ++1 InvestmentFlowBlock_total(Bus1_Sink_1) ++1 InvestmentFlowBlock_old(Bus1_Sink_1) = 0 -c_e_InvestmentFlowBlock_old_rule_end(Bus1_Sink_2)_: -+1 InvestmentFlowBlock_old_end(Bus1_Sink_2) +c_e_InvestmentFlowBlock_total_rule(Bus1_Sink_2)_: +-1 InvestmentFlowBlock_invest(Bus1_Sink_2) +-1 InvestmentFlowBlock_total(Bus1_Sink_1) ++1 InvestmentFlowBlock_total(Bus1_Sink_2) ++1 InvestmentFlowBlock_old(Bus1_Sink_2) = 0 c_e_InvestmentFlowBlock_old_rule_end(Bus1_storage_0)_: @@ -190,16 +178,16 @@ c_e_InvestmentFlowBlock_old_rule_end(storage_Bus1_2)_: +1 InvestmentFlowBlock_old_end(storage_Bus1_2) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(Bus1_Sink_0)_: -+1 InvestmentFlowBlock_old_exo(Bus1_Sink_0) +c_e_InvestmentFlowBlock_old_rule_end(Bus1_Sink_0)_: ++1 InvestmentFlowBlock_old_end(Bus1_Sink_0) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(Bus1_Sink_1)_: -+1 InvestmentFlowBlock_old_exo(Bus1_Sink_1) +c_e_InvestmentFlowBlock_old_rule_end(Bus1_Sink_1)_: ++1 InvestmentFlowBlock_old_end(Bus1_Sink_1) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(Bus1_Sink_2)_: -+1 InvestmentFlowBlock_old_exo(Bus1_Sink_2) +c_e_InvestmentFlowBlock_old_rule_end(Bus1_Sink_2)_: ++1 InvestmentFlowBlock_old_end(Bus1_Sink_2) = 0 c_e_InvestmentFlowBlock_old_rule_exo(Bus1_storage_0)_: @@ -238,22 +226,16 @@ c_e_InvestmentFlowBlock_old_rule_exo(storage_Bus1_2)_: +1 InvestmentFlowBlock_old_exo(storage_Bus1_2) = 0 -c_e_InvestmentFlowBlock_old_rule(Bus1_Sink_0)_: --1 InvestmentFlowBlock_old_end(Bus1_Sink_0) --1 InvestmentFlowBlock_old_exo(Bus1_Sink_0) -+1 InvestmentFlowBlock_old(Bus1_Sink_0) +c_e_InvestmentFlowBlock_old_rule_exo(Bus1_Sink_0)_: ++1 InvestmentFlowBlock_old_exo(Bus1_Sink_0) = 0 -c_e_InvestmentFlowBlock_old_rule(Bus1_Sink_1)_: -+1 InvestmentFlowBlock_old(Bus1_Sink_1) --1 InvestmentFlowBlock_old_end(Bus1_Sink_1) --1 InvestmentFlowBlock_old_exo(Bus1_Sink_1) +c_e_InvestmentFlowBlock_old_rule_exo(Bus1_Sink_1)_: ++1 InvestmentFlowBlock_old_exo(Bus1_Sink_1) = 0 -c_e_InvestmentFlowBlock_old_rule(Bus1_Sink_2)_: -+1 InvestmentFlowBlock_old(Bus1_Sink_2) --1 InvestmentFlowBlock_old_end(Bus1_Sink_2) --1 InvestmentFlowBlock_old_exo(Bus1_Sink_2) +c_e_InvestmentFlowBlock_old_rule_exo(Bus1_Sink_2)_: ++1 InvestmentFlowBlock_old_exo(Bus1_Sink_2) = 0 c_e_InvestmentFlowBlock_old_rule(Bus1_storage_0)_: @@ -310,35 +292,23 @@ c_e_InvestmentFlowBlock_old_rule(storage_Bus1_2)_: -1 InvestmentFlowBlock_old_exo(storage_Bus1_2) = 0 -c_u_InvestmentFlowBlock_max(Bus1_Sink_0_0)_: -+1 flow(Bus1_Sink_0_0) --1 InvestmentFlowBlock_total(Bus1_Sink_0) -<= 0 - -c_u_InvestmentFlowBlock_max(Bus1_Sink_0_1)_: -+1 flow(Bus1_Sink_0_1) --1 InvestmentFlowBlock_total(Bus1_Sink_0) -<= 0 - -c_u_InvestmentFlowBlock_max(Bus1_Sink_1_2)_: -+1 flow(Bus1_Sink_1_2) --1 InvestmentFlowBlock_total(Bus1_Sink_1) -<= 0 - -c_u_InvestmentFlowBlock_max(Bus1_Sink_1_3)_: -+1 flow(Bus1_Sink_1_3) --1 InvestmentFlowBlock_total(Bus1_Sink_1) -<= 0 +c_e_InvestmentFlowBlock_old_rule(Bus1_Sink_0)_: +-1 InvestmentFlowBlock_old_end(Bus1_Sink_0) +-1 InvestmentFlowBlock_old_exo(Bus1_Sink_0) ++1 InvestmentFlowBlock_old(Bus1_Sink_0) += 0 -c_u_InvestmentFlowBlock_max(Bus1_Sink_2_4)_: -+1 flow(Bus1_Sink_2_4) --1 InvestmentFlowBlock_total(Bus1_Sink_2) -<= 0 +c_e_InvestmentFlowBlock_old_rule(Bus1_Sink_1)_: ++1 InvestmentFlowBlock_old(Bus1_Sink_1) +-1 InvestmentFlowBlock_old_end(Bus1_Sink_1) +-1 InvestmentFlowBlock_old_exo(Bus1_Sink_1) += 0 -c_u_InvestmentFlowBlock_max(Bus1_Sink_2_5)_: -+1 flow(Bus1_Sink_2_5) --1 InvestmentFlowBlock_total(Bus1_Sink_2) -<= 0 +c_e_InvestmentFlowBlock_old_rule(Bus1_Sink_2)_: ++1 InvestmentFlowBlock_old(Bus1_Sink_2) +-1 InvestmentFlowBlock_old_end(Bus1_Sink_2) +-1 InvestmentFlowBlock_old_exo(Bus1_Sink_2) += 0 c_u_InvestmentFlowBlock_max(Bus1_storage_0_0)_: +1 flow(Bus1_storage_0_0) @@ -430,6 +400,36 @@ c_u_InvestmentFlowBlock_max(storage_Bus1_2_5)_: -1 InvestmentFlowBlock_total(storage_Bus1_2) <= 0 +c_u_InvestmentFlowBlock_max(Bus1_Sink_0_0)_: ++1 flow(Bus1_Sink_0_0) +-1 InvestmentFlowBlock_total(Bus1_Sink_0) +<= 0 + +c_u_InvestmentFlowBlock_max(Bus1_Sink_0_1)_: ++1 flow(Bus1_Sink_0_1) +-1 InvestmentFlowBlock_total(Bus1_Sink_0) +<= 0 + +c_u_InvestmentFlowBlock_max(Bus1_Sink_1_2)_: ++1 flow(Bus1_Sink_1_2) +-1 InvestmentFlowBlock_total(Bus1_Sink_1) +<= 0 + +c_u_InvestmentFlowBlock_max(Bus1_Sink_1_3)_: ++1 flow(Bus1_Sink_1_3) +-1 InvestmentFlowBlock_total(Bus1_Sink_1) +<= 0 + +c_u_InvestmentFlowBlock_max(Bus1_Sink_2_4)_: ++1 flow(Bus1_Sink_2_4) +-1 InvestmentFlowBlock_total(Bus1_Sink_2) +<= 0 + +c_u_InvestmentFlowBlock_max(Bus1_Sink_2_5)_: ++1 flow(Bus1_Sink_2_5) +-1 InvestmentFlowBlock_total(Bus1_Sink_2) +<= 0 + c_e_GenericInvestmentStorageBlock_total_storage_rule(storage_0)_: -1 GenericInvestmentStorageBlock_invest(storage_0) +1 GenericInvestmentStorageBlock_total(storage_0) @@ -498,36 +498,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage_0)_: c_e_GenericInvestmentStorageBlock_balance(storage_0_1)_: +1 flow(storage_Bus1_0_1) -1 flow(Bus1_storage_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_1_2)_: +1 flow(storage_Bus1_1_2) -1 flow(Bus1_storage_1_2) --1 GenericInvestmentStorageBlock_storage_content(storage_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_1_3)_: +1 flow(storage_Bus1_1_3) -1 flow(Bus1_storage_1_3) --1 GenericInvestmentStorageBlock_storage_content(storage_2) -+1 GenericInvestmentStorageBlock_storage_content(storage_3) +-1 GenericInvestmentStorageBlock_storage_content(storage_3) ++1 GenericInvestmentStorageBlock_storage_content(storage_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_2_4)_: +1 flow(storage_Bus1_2_4) -1 flow(Bus1_storage_2_4) --1 GenericInvestmentStorageBlock_storage_content(storage_3) -+1 GenericInvestmentStorageBlock_storage_content(storage_4) +-1 GenericInvestmentStorageBlock_storage_content(storage_4) ++1 GenericInvestmentStorageBlock_storage_content(storage_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_2_5)_: +1 flow(storage_Bus1_2_5) -1 flow(Bus1_storage_2_5) --1 GenericInvestmentStorageBlock_storage_content(storage_4) -+1 GenericInvestmentStorageBlock_storage_content(storage_5) +-1 GenericInvestmentStorageBlock_storage_content(storage_5) ++1 GenericInvestmentStorageBlock_storage_content(storage_6) = 0 c_e_GenericInvestmentStorageBlock_storage_capacity_inflow(storage_0)_: @@ -591,44 +591,39 @@ c_u_GenericInvestmentStorageBlock_max_storage_content(storage_2_5)_: <= 0 bounds - 0 <= InvestmentFlowBlock_invest(Bus1_Sink_0) <= +inf - 0 <= InvestmentFlowBlock_invest(Bus1_Sink_1) <= +inf - 0 <= InvestmentFlowBlock_invest(Bus1_Sink_2) <= +inf 0 <= InvestmentFlowBlock_invest(Source_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_invest(Source_Bus1_1) <= +inf 0 <= InvestmentFlowBlock_invest(Source_Bus1_2) <= +inf + 0 <= InvestmentFlowBlock_invest(Bus1_Sink_0) <= +inf + 0 <= InvestmentFlowBlock_invest(Bus1_Sink_1) <= +inf + 0 <= InvestmentFlowBlock_invest(Bus1_Sink_2) <= +inf 0 <= GenericInvestmentStorageBlock_invest(storage_0) <= +inf 0 <= GenericInvestmentStorageBlock_invest(storage_1) <= +inf 0 <= GenericInvestmentStorageBlock_invest(storage_2) <= +inf - 0 <= flow(storage_Bus1_0_0) <= +inf 0 <= flow(Source_Bus1_0_0) <= +inf + 0 <= flow(storage_Bus1_0_0) <= +inf 0 <= flow(Bus1_storage_0_0) <= +inf 0 <= flow(Bus1_Sink_0_0) <= +inf - 0 <= flow(storage_Bus1_0_1) <= +inf 0 <= flow(Source_Bus1_0_1) <= +inf + 0 <= flow(storage_Bus1_0_1) <= +inf 0 <= flow(Bus1_storage_0_1) <= +inf 0 <= flow(Bus1_Sink_0_1) <= +inf - 0 <= flow(storage_Bus1_1_2) <= +inf 0 <= flow(Source_Bus1_1_2) <= +inf + 0 <= flow(storage_Bus1_1_2) <= +inf 0 <= flow(Bus1_storage_1_2) <= +inf 0 <= flow(Bus1_Sink_1_2) <= +inf - 0 <= flow(storage_Bus1_1_3) <= +inf 0 <= flow(Source_Bus1_1_3) <= +inf + 0 <= flow(storage_Bus1_1_3) <= +inf 0 <= flow(Bus1_storage_1_3) <= +inf 0 <= flow(Bus1_Sink_1_3) <= +inf - 0 <= flow(storage_Bus1_2_4) <= +inf 0 <= flow(Source_Bus1_2_4) <= +inf + 0 <= flow(storage_Bus1_2_4) <= +inf 0 <= flow(Bus1_storage_2_4) <= +inf 0 <= flow(Bus1_Sink_2_4) <= +inf - 0 <= flow(storage_Bus1_2_5) <= +inf 0 <= flow(Source_Bus1_2_5) <= +inf + 0 <= flow(storage_Bus1_2_5) <= +inf 0 <= flow(Bus1_storage_2_5) <= +inf 0 <= flow(Bus1_Sink_2_5) <= +inf - 0 <= InvestmentFlowBlock_total(Bus1_Sink_0) <= +inf - 0 <= InvestmentFlowBlock_total(Bus1_Sink_1) <= +inf - 0 <= InvestmentFlowBlock_old(Bus1_Sink_1) <= +inf - 0 <= InvestmentFlowBlock_total(Bus1_Sink_2) <= +inf - 0 <= InvestmentFlowBlock_old(Bus1_Sink_2) <= +inf 0 <= InvestmentFlowBlock_total(Bus1_storage_0) <= +inf 0 <= InvestmentFlowBlock_invest(Bus1_storage_0) <= +inf 0 <= InvestmentFlowBlock_total(Bus1_storage_1) <= +inf @@ -650,9 +645,11 @@ bounds 0 <= InvestmentFlowBlock_total(storage_Bus1_2) <= +inf 0 <= InvestmentFlowBlock_invest(storage_Bus1_2) <= +inf 0 <= InvestmentFlowBlock_old(storage_Bus1_2) <= +inf - 0 <= InvestmentFlowBlock_old_end(Bus1_Sink_0) <= +inf - 0 <= InvestmentFlowBlock_old_end(Bus1_Sink_1) <= +inf - 0 <= InvestmentFlowBlock_old_end(Bus1_Sink_2) <= +inf + 0 <= InvestmentFlowBlock_total(Bus1_Sink_0) <= +inf + 0 <= InvestmentFlowBlock_total(Bus1_Sink_1) <= +inf + 0 <= InvestmentFlowBlock_old(Bus1_Sink_1) <= +inf + 0 <= InvestmentFlowBlock_total(Bus1_Sink_2) <= +inf + 0 <= InvestmentFlowBlock_old(Bus1_Sink_2) <= +inf 0 <= InvestmentFlowBlock_old_end(Bus1_storage_0) <= +inf 0 <= InvestmentFlowBlock_old_end(Bus1_storage_1) <= +inf 0 <= InvestmentFlowBlock_old_end(Bus1_storage_2) <= +inf @@ -662,9 +659,9 @@ bounds 0 <= InvestmentFlowBlock_old_end(storage_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_old_end(storage_Bus1_1) <= +inf 0 <= InvestmentFlowBlock_old_end(storage_Bus1_2) <= +inf - 0 <= InvestmentFlowBlock_old_exo(Bus1_Sink_0) <= +inf - 0 <= InvestmentFlowBlock_old_exo(Bus1_Sink_1) <= +inf - 0 <= InvestmentFlowBlock_old_exo(Bus1_Sink_2) <= +inf + 0 <= InvestmentFlowBlock_old_end(Bus1_Sink_0) <= +inf + 0 <= InvestmentFlowBlock_old_end(Bus1_Sink_1) <= +inf + 0 <= InvestmentFlowBlock_old_end(Bus1_Sink_2) <= +inf 0 <= InvestmentFlowBlock_old_exo(Bus1_storage_0) <= +inf 0 <= InvestmentFlowBlock_old_exo(Bus1_storage_1) <= +inf 0 <= InvestmentFlowBlock_old_exo(Bus1_storage_2) <= +inf @@ -674,10 +671,13 @@ bounds 0 <= InvestmentFlowBlock_old_exo(storage_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage_Bus1_1) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage_Bus1_2) <= +inf - 0 <= InvestmentFlowBlock_old(Bus1_Sink_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(Bus1_Sink_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(Bus1_Sink_1) <= +inf + 0 <= InvestmentFlowBlock_old_exo(Bus1_Sink_2) <= +inf 0 <= InvestmentFlowBlock_old(Bus1_storage_0) <= +inf 0 <= InvestmentFlowBlock_old(Source_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_old(storage_Bus1_0) <= +inf + 0 <= InvestmentFlowBlock_old(Bus1_Sink_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_1) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_1) <= +inf @@ -691,9 +691,10 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_6) <= +inf end diff --git a/tests/lp_files/investment_limit.lp b/tests/lp_files/investment_limit.lp index c52f8973b..c216869c1 100644 --- a/tests/lp_files/investment_limit.lp +++ b/tests/lp_files/investment_limit.lp @@ -13,31 +13,26 @@ c_u_investment_limit_: <= 900 c_e_BusBlock_balance(Bus1_0_0)_: -+1 flow(Source_Bus1_0_0) -+1 flow(storage_invest_limit_Bus1_0_0) -1 flow(Bus1_storage_invest_limit_0_0) ++1 flow(storage_invest_limit_Bus1_0_0) ++1 flow(Source_Bus1_0_0) = 0 c_e_BusBlock_balance(Bus1_0_1)_: -+1 flow(Source_Bus1_0_1) -+1 flow(storage_invest_limit_Bus1_0_1) -1 flow(Bus1_storage_invest_limit_0_1) ++1 flow(storage_invest_limit_Bus1_0_1) ++1 flow(Source_Bus1_0_1) = 0 c_e_BusBlock_balance(Bus1_0_2)_: -+1 flow(Source_Bus1_0_2) -+1 flow(storage_invest_limit_Bus1_0_2) -1 flow(Bus1_storage_invest_limit_0_2) ++1 flow(storage_invest_limit_Bus1_0_2) ++1 flow(Source_Bus1_0_2) = 0 c_e_InvestmentFlowBlock_total_rule(Bus1_storage_invest_limit_0)_: -+1 InvestmentFlowBlock_total(Bus1_storage_invest_limit_0) -1 InvestmentFlowBlock_invest(Bus1_storage_invest_limit_0) -= 0 - -c_e_InvestmentFlowBlock_total_rule(storage_invest_limit_Bus1_0)_: -+1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) --1 InvestmentFlowBlock_invest(storage_invest_limit_Bus1_0) ++1 InvestmentFlowBlock_total(Bus1_storage_invest_limit_0) = 0 c_e_InvestmentFlowBlock_total_rule(Source_Bus1_0)_: @@ -45,6 +40,11 @@ c_e_InvestmentFlowBlock_total_rule(Source_Bus1_0)_: +1 InvestmentFlowBlock_total(Source_Bus1_0) = 0 +c_e_InvestmentFlowBlock_total_rule(storage_invest_limit_Bus1_0)_: +-1 InvestmentFlowBlock_invest(storage_invest_limit_Bus1_0) ++1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) += 0 + c_u_InvestmentFlowBlock_max(Bus1_storage_invest_limit_0_0)_: +1 flow(Bus1_storage_invest_limit_0_0) -1 InvestmentFlowBlock_total(Bus1_storage_invest_limit_0) @@ -60,21 +60,6 @@ c_u_InvestmentFlowBlock_max(Bus1_storage_invest_limit_0_2)_: -1 InvestmentFlowBlock_total(Bus1_storage_invest_limit_0) <= 0 -c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_0_0)_: -+1 flow(storage_invest_limit_Bus1_0_0) --1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_0_1)_: -+1 flow(storage_invest_limit_Bus1_0_1) --1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_0_2)_: -+1 flow(storage_invest_limit_Bus1_0_2) --1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) -<= 0 - c_u_InvestmentFlowBlock_max(Source_Bus1_0_0)_: +1 flow(Source_Bus1_0_0) -1 InvestmentFlowBlock_total(Source_Bus1_0) @@ -90,6 +75,21 @@ c_u_InvestmentFlowBlock_max(Source_Bus1_0_2)_: -1 InvestmentFlowBlock_total(Source_Bus1_0) <= 0 +c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_0_0)_: ++1 flow(storage_invest_limit_Bus1_0_0) +-1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_0_1)_: ++1 flow(storage_invest_limit_Bus1_0_1) +-1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_0_2)_: ++1 flow(storage_invest_limit_Bus1_0_2) +-1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) +<= 0 + c_e_GenericInvestmentStorageBlock_total_storage_rule(storage_invest_limit_0)_: -1 GenericInvestmentStorageBlock_invest(storage_invest_limit_0) +1 GenericInvestmentStorageBlock_total(storage_invest_limit_0) @@ -101,24 +101,24 @@ c_u_GenericInvestmentStorageBlock_init_content_limit(storage_invest_limit)_: <= 0 c_e_GenericInvestmentStorageBlock_balance_first(storage_invest_limit)_: -+1 flow(storage_invest_limit_Bus1_0_0) -1 flow(Bus1_storage_invest_limit_0_0) ++1 flow(storage_invest_limit_Bus1_0_0) -1 GenericInvestmentStorageBlock_init_content(storage_invest_limit) +1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_0) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_invest_limit_0_1)_: -+1 flow(storage_invest_limit_Bus1_0_1) -1 flow(Bus1_storage_invest_limit_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_1) ++1 flow(storage_invest_limit_Bus1_0_1) +-1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_2) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_invest_limit_0_2)_: -+1 flow(storage_invest_limit_Bus1_0_2) -1 flow(Bus1_storage_invest_limit_0_2) --1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_2) ++1 flow(storage_invest_limit_Bus1_0_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_3) = 0 c_e_GenericInvestmentStorageBlock_balanced_cstr(storage_invest_limit)_: @@ -152,25 +152,26 @@ c_u_GenericInvestmentStorageBlock_max_storage_content(storage_invest_limit_0_2)_ <= 0 bounds + 0 <= InvestmentFlowBlock_invest(Bus1_storage_invest_limit_0) <= +inf 0 <= InvestmentFlowBlock_invest(Source_Bus1_0) <= +inf + 0 <= InvestmentFlowBlock_invest(storage_invest_limit_Bus1_0) <= +inf 0 <= GenericInvestmentStorageBlock_invest(storage_invest_limit_0) <= +inf - 0 <= flow(Source_Bus1_0_0) <= +inf - 0 <= flow(storage_invest_limit_Bus1_0_0) <= +inf 0 <= flow(Bus1_storage_invest_limit_0_0) <= +inf - 0 <= flow(Source_Bus1_0_1) <= +inf - 0 <= flow(storage_invest_limit_Bus1_0_1) <= +inf 0 <= flow(Bus1_storage_invest_limit_0_1) <= +inf - 0 <= flow(Source_Bus1_0_2) <= +inf - 0 <= flow(storage_invest_limit_Bus1_0_2) <= +inf 0 <= flow(Bus1_storage_invest_limit_0_2) <= +inf + 0 <= flow(storage_invest_limit_Bus1_0_0) <= +inf + 0 <= flow(storage_invest_limit_Bus1_0_1) <= +inf + 0 <= flow(storage_invest_limit_Bus1_0_2) <= +inf + 0 <= flow(Source_Bus1_0_0) <= +inf + 0 <= flow(Source_Bus1_0_1) <= +inf + 0 <= flow(Source_Bus1_0_2) <= +inf 0 <= InvestmentFlowBlock_total(Bus1_storage_invest_limit_0) <= +inf - 0 <= InvestmentFlowBlock_invest(Bus1_storage_invest_limit_0) <= +inf - 0 <= InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) <= +inf - 0 <= InvestmentFlowBlock_invest(storage_invest_limit_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_total(Source_Bus1_0) <= +inf + 0 <= InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_invest_limit_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage_invest_limit) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_3) <= +inf end diff --git a/tests/lp_files/multi_period_period_length.lp b/tests/lp_files/multi_period_period_length.lp index 58dd7db26..ac0701305 100644 --- a/tests/lp_files/multi_period_period_length.lp +++ b/tests/lp_files/multi_period_period_length.lp @@ -3,14 +3,6 @@ min objective: +15992.031251718836 ONE_VAR_CONSTANT -+9.999999999999998 InvestmentFlowBlock_invest(electricity_storage_0) -+6.729713331080573 InvestmentFlowBlock_invest(electricity_storage_1) -+5.000276133592968 InvestmentFlowBlock_invest(electricity_storage_2) -+4.101968025099305 InvestmentFlowBlock_invest(electricity_storage_3) -+3.7152788212696146 InvestmentFlowBlock_invest(electricity_storage_4) -+3.0478226645906985 InvestmentFlowBlock_invest(electricity_storage_5) -+2.264577134183746 InvestmentFlowBlock_invest(electricity_storage_6) -+0.09137506155350818 InvestmentFlowBlock_invest(electricity_storage_7) +9.999999999999998 InvestmentFlowBlock_invest(storage_electricity_0) +6.729713331080573 InvestmentFlowBlock_invest(storage_electricity_1) +5.000276133592968 InvestmentFlowBlock_invest(storage_electricity_2) @@ -19,6 +11,14 @@ objective: +3.0478226645906985 InvestmentFlowBlock_invest(storage_electricity_5) +2.264577134183746 InvestmentFlowBlock_invest(storage_electricity_6) +0.09137506155350818 InvestmentFlowBlock_invest(storage_electricity_7) ++9.999999999999998 InvestmentFlowBlock_invest(electricity_storage_0) ++6.729713331080573 InvestmentFlowBlock_invest(electricity_storage_1) ++5.000276133592968 InvestmentFlowBlock_invest(electricity_storage_2) ++4.101968025099305 InvestmentFlowBlock_invest(electricity_storage_3) ++3.7152788212696146 InvestmentFlowBlock_invest(electricity_storage_4) ++3.0478226645906985 InvestmentFlowBlock_invest(electricity_storage_5) ++2.264577134183746 InvestmentFlowBlock_invest(electricity_storage_6) ++0.09137506155350818 InvestmentFlowBlock_invest(electricity_storage_7) +9.999999999999998 GenericInvestmentStorageBlock_invest(storage_0) +6.729713331080573 GenericInvestmentStorageBlock_invest(storage_1) +5.000276133592968 GenericInvestmentStorageBlock_invest(storage_2) @@ -1158,60 +1158,6 @@ c_e_BusBlock_balance(electricity_7_23)_: -1 flow(electricity_demand_dsm_oemof_7_23) = 0 -c_e_InvestmentFlowBlock_total_rule(electricity_storage_0)_: --1 InvestmentFlowBlock_invest(electricity_storage_0) -+1 InvestmentFlowBlock_total(electricity_storage_0) -= 0 - -c_e_InvestmentFlowBlock_total_rule(electricity_storage_1)_: --1 InvestmentFlowBlock_invest(electricity_storage_1) --1 InvestmentFlowBlock_total(electricity_storage_0) -+1 InvestmentFlowBlock_total(electricity_storage_1) -+1 InvestmentFlowBlock_old(electricity_storage_1) -= 0 - -c_e_InvestmentFlowBlock_total_rule(electricity_storage_2)_: --1 InvestmentFlowBlock_invest(electricity_storage_2) --1 InvestmentFlowBlock_total(electricity_storage_1) -+1 InvestmentFlowBlock_total(electricity_storage_2) -+1 InvestmentFlowBlock_old(electricity_storage_2) -= 0 - -c_e_InvestmentFlowBlock_total_rule(electricity_storage_3)_: --1 InvestmentFlowBlock_invest(electricity_storage_3) --1 InvestmentFlowBlock_total(electricity_storage_2) -+1 InvestmentFlowBlock_total(electricity_storage_3) -+1 InvestmentFlowBlock_old(electricity_storage_3) -= 0 - -c_e_InvestmentFlowBlock_total_rule(electricity_storage_4)_: --1 InvestmentFlowBlock_invest(electricity_storage_4) --1 InvestmentFlowBlock_total(electricity_storage_3) -+1 InvestmentFlowBlock_total(electricity_storage_4) -+1 InvestmentFlowBlock_old(electricity_storage_4) -= 0 - -c_e_InvestmentFlowBlock_total_rule(electricity_storage_5)_: --1 InvestmentFlowBlock_invest(electricity_storage_5) --1 InvestmentFlowBlock_total(electricity_storage_4) -+1 InvestmentFlowBlock_total(electricity_storage_5) -+1 InvestmentFlowBlock_old(electricity_storage_5) -= 0 - -c_e_InvestmentFlowBlock_total_rule(electricity_storage_6)_: --1 InvestmentFlowBlock_invest(electricity_storage_6) --1 InvestmentFlowBlock_total(electricity_storage_5) -+1 InvestmentFlowBlock_total(electricity_storage_6) -+1 InvestmentFlowBlock_old(electricity_storage_6) -= 0 - -c_e_InvestmentFlowBlock_total_rule(electricity_storage_7)_: --1 InvestmentFlowBlock_invest(electricity_storage_7) --1 InvestmentFlowBlock_total(electricity_storage_6) -+1 InvestmentFlowBlock_total(electricity_storage_7) -+1 InvestmentFlowBlock_old(electricity_storage_7) -= 0 - c_e_InvestmentFlowBlock_total_rule(storage_electricity_0)_: -1 InvestmentFlowBlock_invest(storage_electricity_0) +1 InvestmentFlowBlock_total(storage_electricity_0) @@ -1266,43 +1212,58 @@ c_e_InvestmentFlowBlock_total_rule(storage_electricity_7)_: +1 InvestmentFlowBlock_old(storage_electricity_7) = 0 -c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_0)_: -+1 InvestmentFlowBlock_old_end(electricity_storage_0) -= 0 - -c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_1)_: +c_e_InvestmentFlowBlock_total_rule(electricity_storage_0)_: -1 InvestmentFlowBlock_invest(electricity_storage_0) -+1 InvestmentFlowBlock_old_end(electricity_storage_1) -= 0 - -c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_2)_: -+1 InvestmentFlowBlock_old_end(electricity_storage_2) ++1 InvestmentFlowBlock_total(electricity_storage_0) = 0 -c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_3)_: +c_e_InvestmentFlowBlock_total_rule(electricity_storage_1)_: -1 InvestmentFlowBlock_invest(electricity_storage_1) -+1 InvestmentFlowBlock_old_end(electricity_storage_3) -= 0 - -c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_4)_: -+1 InvestmentFlowBlock_old_end(electricity_storage_4) +-1 InvestmentFlowBlock_total(electricity_storage_0) ++1 InvestmentFlowBlock_total(electricity_storage_1) ++1 InvestmentFlowBlock_old(electricity_storage_1) = 0 -c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_5)_: +c_e_InvestmentFlowBlock_total_rule(electricity_storage_2)_: -1 InvestmentFlowBlock_invest(electricity_storage_2) -+1 InvestmentFlowBlock_old_end(electricity_storage_5) +-1 InvestmentFlowBlock_total(electricity_storage_1) ++1 InvestmentFlowBlock_total(electricity_storage_2) ++1 InvestmentFlowBlock_old(electricity_storage_2) = 0 -c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_6)_: +c_e_InvestmentFlowBlock_total_rule(electricity_storage_3)_: -1 InvestmentFlowBlock_invest(electricity_storage_3) +-1 InvestmentFlowBlock_total(electricity_storage_2) ++1 InvestmentFlowBlock_total(electricity_storage_3) ++1 InvestmentFlowBlock_old(electricity_storage_3) += 0 + +c_e_InvestmentFlowBlock_total_rule(electricity_storage_4)_: -1 InvestmentFlowBlock_invest(electricity_storage_4) -+1 InvestmentFlowBlock_old_end(electricity_storage_6) +-1 InvestmentFlowBlock_total(electricity_storage_3) ++1 InvestmentFlowBlock_total(electricity_storage_4) ++1 InvestmentFlowBlock_old(electricity_storage_4) = 0 -c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_7)_: +c_e_InvestmentFlowBlock_total_rule(electricity_storage_5)_: -1 InvestmentFlowBlock_invest(electricity_storage_5) +-1 InvestmentFlowBlock_total(electricity_storage_4) ++1 InvestmentFlowBlock_total(electricity_storage_5) ++1 InvestmentFlowBlock_old(electricity_storage_5) += 0 + +c_e_InvestmentFlowBlock_total_rule(electricity_storage_6)_: -1 InvestmentFlowBlock_invest(electricity_storage_6) -+1 InvestmentFlowBlock_old_end(electricity_storage_7) +-1 InvestmentFlowBlock_total(electricity_storage_5) ++1 InvestmentFlowBlock_total(electricity_storage_6) ++1 InvestmentFlowBlock_old(electricity_storage_6) += 0 + +c_e_InvestmentFlowBlock_total_rule(electricity_storage_7)_: +-1 InvestmentFlowBlock_invest(electricity_storage_7) +-1 InvestmentFlowBlock_total(electricity_storage_6) ++1 InvestmentFlowBlock_total(electricity_storage_7) ++1 InvestmentFlowBlock_old(electricity_storage_7) = 0 c_e_InvestmentFlowBlock_old_rule_end(storage_electricity_0)_: @@ -1344,36 +1305,43 @@ c_e_InvestmentFlowBlock_old_rule_end(storage_electricity_7)_: +1 InvestmentFlowBlock_old_end(storage_electricity_7) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_0)_: -+1 InvestmentFlowBlock_old_exo(electricity_storage_0) +c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_0)_: ++1 InvestmentFlowBlock_old_end(electricity_storage_0) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_1)_: -+1 InvestmentFlowBlock_old_exo(electricity_storage_1) +c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_1)_: +-1 InvestmentFlowBlock_invest(electricity_storage_0) ++1 InvestmentFlowBlock_old_end(electricity_storage_1) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_2)_: -+1 InvestmentFlowBlock_old_exo(electricity_storage_2) +c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_2)_: ++1 InvestmentFlowBlock_old_end(electricity_storage_2) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_3)_: -+1 InvestmentFlowBlock_old_exo(electricity_storage_3) +c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_3)_: +-1 InvestmentFlowBlock_invest(electricity_storage_1) ++1 InvestmentFlowBlock_old_end(electricity_storage_3) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_4)_: -+1 InvestmentFlowBlock_old_exo(electricity_storage_4) +c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_4)_: ++1 InvestmentFlowBlock_old_end(electricity_storage_4) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_5)_: -+1 InvestmentFlowBlock_old_exo(electricity_storage_5) +c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_5)_: +-1 InvestmentFlowBlock_invest(electricity_storage_2) ++1 InvestmentFlowBlock_old_end(electricity_storage_5) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_6)_: -+1 InvestmentFlowBlock_old_exo(electricity_storage_6) +c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_6)_: +-1 InvestmentFlowBlock_invest(electricity_storage_3) +-1 InvestmentFlowBlock_invest(electricity_storage_4) ++1 InvestmentFlowBlock_old_end(electricity_storage_6) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_7)_: -+1 InvestmentFlowBlock_old_exo(electricity_storage_7) +c_e_InvestmentFlowBlock_old_rule_end(electricity_storage_7)_: +-1 InvestmentFlowBlock_invest(electricity_storage_5) +-1 InvestmentFlowBlock_invest(electricity_storage_6) ++1 InvestmentFlowBlock_old_end(electricity_storage_7) = 0 c_e_InvestmentFlowBlock_old_rule_exo(storage_electricity_0)_: @@ -1408,52 +1376,36 @@ c_e_InvestmentFlowBlock_old_rule_exo(storage_electricity_7)_: +1 InvestmentFlowBlock_old_exo(storage_electricity_7) = 0 -c_e_InvestmentFlowBlock_old_rule(electricity_storage_0)_: --1 InvestmentFlowBlock_old_end(electricity_storage_0) --1 InvestmentFlowBlock_old_exo(electricity_storage_0) -+1 InvestmentFlowBlock_old(electricity_storage_0) +c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_0)_: ++1 InvestmentFlowBlock_old_exo(electricity_storage_0) = 0 -c_e_InvestmentFlowBlock_old_rule(electricity_storage_1)_: -+1 InvestmentFlowBlock_old(electricity_storage_1) --1 InvestmentFlowBlock_old_end(electricity_storage_1) --1 InvestmentFlowBlock_old_exo(electricity_storage_1) +c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_1)_: ++1 InvestmentFlowBlock_old_exo(electricity_storage_1) = 0 -c_e_InvestmentFlowBlock_old_rule(electricity_storage_2)_: -+1 InvestmentFlowBlock_old(electricity_storage_2) --1 InvestmentFlowBlock_old_end(electricity_storage_2) --1 InvestmentFlowBlock_old_exo(electricity_storage_2) +c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_2)_: ++1 InvestmentFlowBlock_old_exo(electricity_storage_2) = 0 -c_e_InvestmentFlowBlock_old_rule(electricity_storage_3)_: -+1 InvestmentFlowBlock_old(electricity_storage_3) --1 InvestmentFlowBlock_old_end(electricity_storage_3) --1 InvestmentFlowBlock_old_exo(electricity_storage_3) +c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_3)_: ++1 InvestmentFlowBlock_old_exo(electricity_storage_3) = 0 -c_e_InvestmentFlowBlock_old_rule(electricity_storage_4)_: -+1 InvestmentFlowBlock_old(electricity_storage_4) --1 InvestmentFlowBlock_old_end(electricity_storage_4) --1 InvestmentFlowBlock_old_exo(electricity_storage_4) +c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_4)_: ++1 InvestmentFlowBlock_old_exo(electricity_storage_4) = 0 -c_e_InvestmentFlowBlock_old_rule(electricity_storage_5)_: -+1 InvestmentFlowBlock_old(electricity_storage_5) --1 InvestmentFlowBlock_old_end(electricity_storage_5) --1 InvestmentFlowBlock_old_exo(electricity_storage_5) +c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_5)_: ++1 InvestmentFlowBlock_old_exo(electricity_storage_5) = 0 -c_e_InvestmentFlowBlock_old_rule(electricity_storage_6)_: -+1 InvestmentFlowBlock_old(electricity_storage_6) --1 InvestmentFlowBlock_old_end(electricity_storage_6) --1 InvestmentFlowBlock_old_exo(electricity_storage_6) +c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_6)_: ++1 InvestmentFlowBlock_old_exo(electricity_storage_6) = 0 -c_e_InvestmentFlowBlock_old_rule(electricity_storage_7)_: -+1 InvestmentFlowBlock_old(electricity_storage_7) --1 InvestmentFlowBlock_old_end(electricity_storage_7) --1 InvestmentFlowBlock_old_exo(electricity_storage_7) +c_e_InvestmentFlowBlock_old_rule_exo(electricity_storage_7)_: ++1 InvestmentFlowBlock_old_exo(electricity_storage_7) = 0 c_e_InvestmentFlowBlock_old_rule(storage_electricity_0)_: @@ -1504,244 +1456,292 @@ c_e_InvestmentFlowBlock_old_rule(storage_electricity_7)_: -1 InvestmentFlowBlock_old_exo(storage_electricity_7) = 0 -c_u_InvestmentFlowBlock_max(electricity_storage_0_0)_: -+1 flow(electricity_storage_0_0) --1 InvestmentFlowBlock_total(electricity_storage_0) +c_e_InvestmentFlowBlock_old_rule(electricity_storage_0)_: +-1 InvestmentFlowBlock_old_end(electricity_storage_0) +-1 InvestmentFlowBlock_old_exo(electricity_storage_0) ++1 InvestmentFlowBlock_old(electricity_storage_0) += 0 + +c_e_InvestmentFlowBlock_old_rule(electricity_storage_1)_: ++1 InvestmentFlowBlock_old(electricity_storage_1) +-1 InvestmentFlowBlock_old_end(electricity_storage_1) +-1 InvestmentFlowBlock_old_exo(electricity_storage_1) += 0 + +c_e_InvestmentFlowBlock_old_rule(electricity_storage_2)_: ++1 InvestmentFlowBlock_old(electricity_storage_2) +-1 InvestmentFlowBlock_old_end(electricity_storage_2) +-1 InvestmentFlowBlock_old_exo(electricity_storage_2) += 0 + +c_e_InvestmentFlowBlock_old_rule(electricity_storage_3)_: ++1 InvestmentFlowBlock_old(electricity_storage_3) +-1 InvestmentFlowBlock_old_end(electricity_storage_3) +-1 InvestmentFlowBlock_old_exo(electricity_storage_3) += 0 + +c_e_InvestmentFlowBlock_old_rule(electricity_storage_4)_: ++1 InvestmentFlowBlock_old(electricity_storage_4) +-1 InvestmentFlowBlock_old_end(electricity_storage_4) +-1 InvestmentFlowBlock_old_exo(electricity_storage_4) += 0 + +c_e_InvestmentFlowBlock_old_rule(electricity_storage_5)_: ++1 InvestmentFlowBlock_old(electricity_storage_5) +-1 InvestmentFlowBlock_old_end(electricity_storage_5) +-1 InvestmentFlowBlock_old_exo(electricity_storage_5) += 0 + +c_e_InvestmentFlowBlock_old_rule(electricity_storage_6)_: ++1 InvestmentFlowBlock_old(electricity_storage_6) +-1 InvestmentFlowBlock_old_end(electricity_storage_6) +-1 InvestmentFlowBlock_old_exo(electricity_storage_6) += 0 + +c_e_InvestmentFlowBlock_old_rule(electricity_storage_7)_: ++1 InvestmentFlowBlock_old(electricity_storage_7) +-1 InvestmentFlowBlock_old_end(electricity_storage_7) +-1 InvestmentFlowBlock_old_exo(electricity_storage_7) += 0 + +c_u_InvestmentFlowBlock_max(storage_electricity_0_0)_: ++1 flow(storage_electricity_0_0) +-1 InvestmentFlowBlock_total(storage_electricity_0) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_0_1)_: -+1 flow(electricity_storage_0_1) --1 InvestmentFlowBlock_total(electricity_storage_0) +c_u_InvestmentFlowBlock_max(storage_electricity_0_1)_: ++1 flow(storage_electricity_0_1) +-1 InvestmentFlowBlock_total(storage_electricity_0) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_0_2)_: -+1 flow(electricity_storage_0_2) --1 InvestmentFlowBlock_total(electricity_storage_0) +c_u_InvestmentFlowBlock_max(storage_electricity_0_2)_: ++1 flow(storage_electricity_0_2) +-1 InvestmentFlowBlock_total(storage_electricity_0) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_1_3)_: -+1 flow(electricity_storage_1_3) --1 InvestmentFlowBlock_total(electricity_storage_1) +c_u_InvestmentFlowBlock_max(storage_electricity_1_3)_: ++1 flow(storage_electricity_1_3) +-1 InvestmentFlowBlock_total(storage_electricity_1) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_1_4)_: -+1 flow(electricity_storage_1_4) --1 InvestmentFlowBlock_total(electricity_storage_1) +c_u_InvestmentFlowBlock_max(storage_electricity_1_4)_: ++1 flow(storage_electricity_1_4) +-1 InvestmentFlowBlock_total(storage_electricity_1) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_1_5)_: -+1 flow(electricity_storage_1_5) --1 InvestmentFlowBlock_total(electricity_storage_1) +c_u_InvestmentFlowBlock_max(storage_electricity_1_5)_: ++1 flow(storage_electricity_1_5) +-1 InvestmentFlowBlock_total(storage_electricity_1) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_2_6)_: -+1 flow(electricity_storage_2_6) --1 InvestmentFlowBlock_total(electricity_storage_2) +c_u_InvestmentFlowBlock_max(storage_electricity_2_6)_: ++1 flow(storage_electricity_2_6) +-1 InvestmentFlowBlock_total(storage_electricity_2) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_2_7)_: -+1 flow(electricity_storage_2_7) --1 InvestmentFlowBlock_total(electricity_storage_2) +c_u_InvestmentFlowBlock_max(storage_electricity_2_7)_: ++1 flow(storage_electricity_2_7) +-1 InvestmentFlowBlock_total(storage_electricity_2) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_2_8)_: -+1 flow(electricity_storage_2_8) --1 InvestmentFlowBlock_total(electricity_storage_2) +c_u_InvestmentFlowBlock_max(storage_electricity_2_8)_: ++1 flow(storage_electricity_2_8) +-1 InvestmentFlowBlock_total(storage_electricity_2) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_3_9)_: -+1 flow(electricity_storage_3_9) --1 InvestmentFlowBlock_total(electricity_storage_3) +c_u_InvestmentFlowBlock_max(storage_electricity_3_9)_: ++1 flow(storage_electricity_3_9) +-1 InvestmentFlowBlock_total(storage_electricity_3) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_3_10)_: -+1 flow(electricity_storage_3_10) --1 InvestmentFlowBlock_total(electricity_storage_3) +c_u_InvestmentFlowBlock_max(storage_electricity_3_10)_: ++1 flow(storage_electricity_3_10) +-1 InvestmentFlowBlock_total(storage_electricity_3) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_3_11)_: -+1 flow(electricity_storage_3_11) --1 InvestmentFlowBlock_total(electricity_storage_3) +c_u_InvestmentFlowBlock_max(storage_electricity_3_11)_: ++1 flow(storage_electricity_3_11) +-1 InvestmentFlowBlock_total(storage_electricity_3) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_4_12)_: -+1 flow(electricity_storage_4_12) --1 InvestmentFlowBlock_total(electricity_storage_4) +c_u_InvestmentFlowBlock_max(storage_electricity_4_12)_: ++1 flow(storage_electricity_4_12) +-1 InvestmentFlowBlock_total(storage_electricity_4) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_4_13)_: -+1 flow(electricity_storage_4_13) --1 InvestmentFlowBlock_total(electricity_storage_4) +c_u_InvestmentFlowBlock_max(storage_electricity_4_13)_: ++1 flow(storage_electricity_4_13) +-1 InvestmentFlowBlock_total(storage_electricity_4) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_4_14)_: -+1 flow(electricity_storage_4_14) --1 InvestmentFlowBlock_total(electricity_storage_4) +c_u_InvestmentFlowBlock_max(storage_electricity_4_14)_: ++1 flow(storage_electricity_4_14) +-1 InvestmentFlowBlock_total(storage_electricity_4) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_5_15)_: -+1 flow(electricity_storage_5_15) --1 InvestmentFlowBlock_total(electricity_storage_5) +c_u_InvestmentFlowBlock_max(storage_electricity_5_15)_: ++1 flow(storage_electricity_5_15) +-1 InvestmentFlowBlock_total(storage_electricity_5) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_5_16)_: -+1 flow(electricity_storage_5_16) --1 InvestmentFlowBlock_total(electricity_storage_5) +c_u_InvestmentFlowBlock_max(storage_electricity_5_16)_: ++1 flow(storage_electricity_5_16) +-1 InvestmentFlowBlock_total(storage_electricity_5) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_5_17)_: -+1 flow(electricity_storage_5_17) --1 InvestmentFlowBlock_total(electricity_storage_5) +c_u_InvestmentFlowBlock_max(storage_electricity_5_17)_: ++1 flow(storage_electricity_5_17) +-1 InvestmentFlowBlock_total(storage_electricity_5) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_6_18)_: -+1 flow(electricity_storage_6_18) --1 InvestmentFlowBlock_total(electricity_storage_6) +c_u_InvestmentFlowBlock_max(storage_electricity_6_18)_: ++1 flow(storage_electricity_6_18) +-1 InvestmentFlowBlock_total(storage_electricity_6) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_6_19)_: -+1 flow(electricity_storage_6_19) --1 InvestmentFlowBlock_total(electricity_storage_6) +c_u_InvestmentFlowBlock_max(storage_electricity_6_19)_: ++1 flow(storage_electricity_6_19) +-1 InvestmentFlowBlock_total(storage_electricity_6) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_6_20)_: -+1 flow(electricity_storage_6_20) --1 InvestmentFlowBlock_total(electricity_storage_6) +c_u_InvestmentFlowBlock_max(storage_electricity_6_20)_: ++1 flow(storage_electricity_6_20) +-1 InvestmentFlowBlock_total(storage_electricity_6) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_7_21)_: -+1 flow(electricity_storage_7_21) --1 InvestmentFlowBlock_total(electricity_storage_7) +c_u_InvestmentFlowBlock_max(storage_electricity_7_21)_: ++1 flow(storage_electricity_7_21) +-1 InvestmentFlowBlock_total(storage_electricity_7) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_7_22)_: -+1 flow(electricity_storage_7_22) --1 InvestmentFlowBlock_total(electricity_storage_7) +c_u_InvestmentFlowBlock_max(storage_electricity_7_22)_: ++1 flow(storage_electricity_7_22) +-1 InvestmentFlowBlock_total(storage_electricity_7) <= 0 -c_u_InvestmentFlowBlock_max(electricity_storage_7_23)_: -+1 flow(electricity_storage_7_23) --1 InvestmentFlowBlock_total(electricity_storage_7) +c_u_InvestmentFlowBlock_max(storage_electricity_7_23)_: ++1 flow(storage_electricity_7_23) +-1 InvestmentFlowBlock_total(storage_electricity_7) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_0_0)_: -+1 flow(storage_electricity_0_0) --1 InvestmentFlowBlock_total(storage_electricity_0) +c_u_InvestmentFlowBlock_max(electricity_storage_0_0)_: ++1 flow(electricity_storage_0_0) +-1 InvestmentFlowBlock_total(electricity_storage_0) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_0_1)_: -+1 flow(storage_electricity_0_1) --1 InvestmentFlowBlock_total(storage_electricity_0) +c_u_InvestmentFlowBlock_max(electricity_storage_0_1)_: ++1 flow(electricity_storage_0_1) +-1 InvestmentFlowBlock_total(electricity_storage_0) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_0_2)_: -+1 flow(storage_electricity_0_2) --1 InvestmentFlowBlock_total(storage_electricity_0) +c_u_InvestmentFlowBlock_max(electricity_storage_0_2)_: ++1 flow(electricity_storage_0_2) +-1 InvestmentFlowBlock_total(electricity_storage_0) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_1_3)_: -+1 flow(storage_electricity_1_3) --1 InvestmentFlowBlock_total(storage_electricity_1) +c_u_InvestmentFlowBlock_max(electricity_storage_1_3)_: ++1 flow(electricity_storage_1_3) +-1 InvestmentFlowBlock_total(electricity_storage_1) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_1_4)_: -+1 flow(storage_electricity_1_4) --1 InvestmentFlowBlock_total(storage_electricity_1) +c_u_InvestmentFlowBlock_max(electricity_storage_1_4)_: ++1 flow(electricity_storage_1_4) +-1 InvestmentFlowBlock_total(electricity_storage_1) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_1_5)_: -+1 flow(storage_electricity_1_5) --1 InvestmentFlowBlock_total(storage_electricity_1) +c_u_InvestmentFlowBlock_max(electricity_storage_1_5)_: ++1 flow(electricity_storage_1_5) +-1 InvestmentFlowBlock_total(electricity_storage_1) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_2_6)_: -+1 flow(storage_electricity_2_6) --1 InvestmentFlowBlock_total(storage_electricity_2) +c_u_InvestmentFlowBlock_max(electricity_storage_2_6)_: ++1 flow(electricity_storage_2_6) +-1 InvestmentFlowBlock_total(electricity_storage_2) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_2_7)_: -+1 flow(storage_electricity_2_7) --1 InvestmentFlowBlock_total(storage_electricity_2) +c_u_InvestmentFlowBlock_max(electricity_storage_2_7)_: ++1 flow(electricity_storage_2_7) +-1 InvestmentFlowBlock_total(electricity_storage_2) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_2_8)_: -+1 flow(storage_electricity_2_8) --1 InvestmentFlowBlock_total(storage_electricity_2) +c_u_InvestmentFlowBlock_max(electricity_storage_2_8)_: ++1 flow(electricity_storage_2_8) +-1 InvestmentFlowBlock_total(electricity_storage_2) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_3_9)_: -+1 flow(storage_electricity_3_9) --1 InvestmentFlowBlock_total(storage_electricity_3) +c_u_InvestmentFlowBlock_max(electricity_storage_3_9)_: ++1 flow(electricity_storage_3_9) +-1 InvestmentFlowBlock_total(electricity_storage_3) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_3_10)_: -+1 flow(storage_electricity_3_10) --1 InvestmentFlowBlock_total(storage_electricity_3) +c_u_InvestmentFlowBlock_max(electricity_storage_3_10)_: ++1 flow(electricity_storage_3_10) +-1 InvestmentFlowBlock_total(electricity_storage_3) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_3_11)_: -+1 flow(storage_electricity_3_11) --1 InvestmentFlowBlock_total(storage_electricity_3) +c_u_InvestmentFlowBlock_max(electricity_storage_3_11)_: ++1 flow(electricity_storage_3_11) +-1 InvestmentFlowBlock_total(electricity_storage_3) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_4_12)_: -+1 flow(storage_electricity_4_12) --1 InvestmentFlowBlock_total(storage_electricity_4) +c_u_InvestmentFlowBlock_max(electricity_storage_4_12)_: ++1 flow(electricity_storage_4_12) +-1 InvestmentFlowBlock_total(electricity_storage_4) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_4_13)_: -+1 flow(storage_electricity_4_13) --1 InvestmentFlowBlock_total(storage_electricity_4) +c_u_InvestmentFlowBlock_max(electricity_storage_4_13)_: ++1 flow(electricity_storage_4_13) +-1 InvestmentFlowBlock_total(electricity_storage_4) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_4_14)_: -+1 flow(storage_electricity_4_14) --1 InvestmentFlowBlock_total(storage_electricity_4) +c_u_InvestmentFlowBlock_max(electricity_storage_4_14)_: ++1 flow(electricity_storage_4_14) +-1 InvestmentFlowBlock_total(electricity_storage_4) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_5_15)_: -+1 flow(storage_electricity_5_15) --1 InvestmentFlowBlock_total(storage_electricity_5) +c_u_InvestmentFlowBlock_max(electricity_storage_5_15)_: ++1 flow(electricity_storage_5_15) +-1 InvestmentFlowBlock_total(electricity_storage_5) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_5_16)_: -+1 flow(storage_electricity_5_16) --1 InvestmentFlowBlock_total(storage_electricity_5) +c_u_InvestmentFlowBlock_max(electricity_storage_5_16)_: ++1 flow(electricity_storage_5_16) +-1 InvestmentFlowBlock_total(electricity_storage_5) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_5_17)_: -+1 flow(storage_electricity_5_17) --1 InvestmentFlowBlock_total(storage_electricity_5) +c_u_InvestmentFlowBlock_max(electricity_storage_5_17)_: ++1 flow(electricity_storage_5_17) +-1 InvestmentFlowBlock_total(electricity_storage_5) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_6_18)_: -+1 flow(storage_electricity_6_18) --1 InvestmentFlowBlock_total(storage_electricity_6) +c_u_InvestmentFlowBlock_max(electricity_storage_6_18)_: ++1 flow(electricity_storage_6_18) +-1 InvestmentFlowBlock_total(electricity_storage_6) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_6_19)_: -+1 flow(storage_electricity_6_19) --1 InvestmentFlowBlock_total(storage_electricity_6) +c_u_InvestmentFlowBlock_max(electricity_storage_6_19)_: ++1 flow(electricity_storage_6_19) +-1 InvestmentFlowBlock_total(electricity_storage_6) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_6_20)_: -+1 flow(storage_electricity_6_20) --1 InvestmentFlowBlock_total(storage_electricity_6) +c_u_InvestmentFlowBlock_max(electricity_storage_6_20)_: ++1 flow(electricity_storage_6_20) +-1 InvestmentFlowBlock_total(electricity_storage_6) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_7_21)_: -+1 flow(storage_electricity_7_21) --1 InvestmentFlowBlock_total(storage_electricity_7) +c_u_InvestmentFlowBlock_max(electricity_storage_7_21)_: ++1 flow(electricity_storage_7_21) +-1 InvestmentFlowBlock_total(electricity_storage_7) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_7_22)_: -+1 flow(storage_electricity_7_22) --1 InvestmentFlowBlock_total(storage_electricity_7) +c_u_InvestmentFlowBlock_max(electricity_storage_7_22)_: ++1 flow(electricity_storage_7_22) +-1 InvestmentFlowBlock_total(electricity_storage_7) <= 0 -c_u_InvestmentFlowBlock_max(storage_electricity_7_23)_: -+1 flow(storage_electricity_7_23) --1 InvestmentFlowBlock_total(storage_electricity_7) +c_u_InvestmentFlowBlock_max(electricity_storage_7_23)_: ++1 flow(electricity_storage_7_23) +-1 InvestmentFlowBlock_total(electricity_storage_7) <= 0 c_e_GenericInvestmentStorageBlock_total_storage_rule(storage_0)_: @@ -1924,202 +1924,202 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage_0)_: c_e_GenericInvestmentStorageBlock_balance(storage_0_1)_: +1 flow(storage_electricity_0_1) -1 flow(electricity_storage_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_0_2)_: +1 flow(storage_electricity_0_2) -1 flow(electricity_storage_0_2) --1 GenericInvestmentStorageBlock_storage_content(storage_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_1_3)_: +1 flow(storage_electricity_1_3) -1 flow(electricity_storage_1_3) --1 GenericInvestmentStorageBlock_storage_content(storage_2) -+1 GenericInvestmentStorageBlock_storage_content(storage_3) +-1 GenericInvestmentStorageBlock_storage_content(storage_3) ++1 GenericInvestmentStorageBlock_storage_content(storage_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_1_4)_: +1 flow(storage_electricity_1_4) -1 flow(electricity_storage_1_4) --1 GenericInvestmentStorageBlock_storage_content(storage_3) -+1 GenericInvestmentStorageBlock_storage_content(storage_4) +-1 GenericInvestmentStorageBlock_storage_content(storage_4) ++1 GenericInvestmentStorageBlock_storage_content(storage_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_1_5)_: +1 flow(storage_electricity_1_5) -1 flow(electricity_storage_1_5) --1 GenericInvestmentStorageBlock_storage_content(storage_4) -+1 GenericInvestmentStorageBlock_storage_content(storage_5) +-1 GenericInvestmentStorageBlock_storage_content(storage_5) ++1 GenericInvestmentStorageBlock_storage_content(storage_6) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_2_6)_: +1 flow(storage_electricity_2_6) -1 flow(electricity_storage_2_6) --1 GenericInvestmentStorageBlock_storage_content(storage_5) -+1 GenericInvestmentStorageBlock_storage_content(storage_6) +-1 GenericInvestmentStorageBlock_storage_content(storage_6) ++1 GenericInvestmentStorageBlock_storage_content(storage_7) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_2_7)_: +1 flow(storage_electricity_2_7) -1 flow(electricity_storage_2_7) --1 GenericInvestmentStorageBlock_storage_content(storage_6) -+1 GenericInvestmentStorageBlock_storage_content(storage_7) +-1 GenericInvestmentStorageBlock_storage_content(storage_7) ++1 GenericInvestmentStorageBlock_storage_content(storage_8) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_2_8)_: +1 flow(storage_electricity_2_8) -1 flow(electricity_storage_2_8) --1 GenericInvestmentStorageBlock_storage_content(storage_7) -+1 GenericInvestmentStorageBlock_storage_content(storage_8) +-1 GenericInvestmentStorageBlock_storage_content(storage_8) ++1 GenericInvestmentStorageBlock_storage_content(storage_9) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_3_9)_: +1 flow(storage_electricity_3_9) -1 flow(electricity_storage_3_9) --1 GenericInvestmentStorageBlock_storage_content(storage_8) -+1 GenericInvestmentStorageBlock_storage_content(storage_9) +-1 GenericInvestmentStorageBlock_storage_content(storage_9) ++1 GenericInvestmentStorageBlock_storage_content(storage_10) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_3_10)_: +1 flow(storage_electricity_3_10) -1 flow(electricity_storage_3_10) --1 GenericInvestmentStorageBlock_storage_content(storage_9) -+1 GenericInvestmentStorageBlock_storage_content(storage_10) +-1 GenericInvestmentStorageBlock_storage_content(storage_10) ++1 GenericInvestmentStorageBlock_storage_content(storage_11) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_3_11)_: +1 flow(storage_electricity_3_11) -1 flow(electricity_storage_3_11) --1 GenericInvestmentStorageBlock_storage_content(storage_10) -+1 GenericInvestmentStorageBlock_storage_content(storage_11) +-1 GenericInvestmentStorageBlock_storage_content(storage_11) ++1 GenericInvestmentStorageBlock_storage_content(storage_12) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_4_12)_: +1 flow(storage_electricity_4_12) -1 flow(electricity_storage_4_12) --1 GenericInvestmentStorageBlock_storage_content(storage_11) -+1 GenericInvestmentStorageBlock_storage_content(storage_12) +-1 GenericInvestmentStorageBlock_storage_content(storage_12) ++1 GenericInvestmentStorageBlock_storage_content(storage_13) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_4_13)_: +1 flow(storage_electricity_4_13) -1 flow(electricity_storage_4_13) --1 GenericInvestmentStorageBlock_storage_content(storage_12) -+1 GenericInvestmentStorageBlock_storage_content(storage_13) +-1 GenericInvestmentStorageBlock_storage_content(storage_13) ++1 GenericInvestmentStorageBlock_storage_content(storage_14) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_4_14)_: +1 flow(storage_electricity_4_14) -1 flow(electricity_storage_4_14) --1 GenericInvestmentStorageBlock_storage_content(storage_13) -+1 GenericInvestmentStorageBlock_storage_content(storage_14) +-1 GenericInvestmentStorageBlock_storage_content(storage_14) ++1 GenericInvestmentStorageBlock_storage_content(storage_15) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_5_15)_: +1 flow(storage_electricity_5_15) -1 flow(electricity_storage_5_15) --1 GenericInvestmentStorageBlock_storage_content(storage_14) -+1 GenericInvestmentStorageBlock_storage_content(storage_15) +-1 GenericInvestmentStorageBlock_storage_content(storage_15) ++1 GenericInvestmentStorageBlock_storage_content(storage_16) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_5_16)_: +1 flow(storage_electricity_5_16) -1 flow(electricity_storage_5_16) --1 GenericInvestmentStorageBlock_storage_content(storage_15) -+1 GenericInvestmentStorageBlock_storage_content(storage_16) +-1 GenericInvestmentStorageBlock_storage_content(storage_16) ++1 GenericInvestmentStorageBlock_storage_content(storage_17) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_5_17)_: +1 flow(storage_electricity_5_17) -1 flow(electricity_storage_5_17) --1 GenericInvestmentStorageBlock_storage_content(storage_16) -+1 GenericInvestmentStorageBlock_storage_content(storage_17) +-1 GenericInvestmentStorageBlock_storage_content(storage_17) ++1 GenericInvestmentStorageBlock_storage_content(storage_18) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_6_18)_: +1 flow(storage_electricity_6_18) -1 flow(electricity_storage_6_18) --1 GenericInvestmentStorageBlock_storage_content(storage_17) -+1 GenericInvestmentStorageBlock_storage_content(storage_18) +-1 GenericInvestmentStorageBlock_storage_content(storage_18) ++1 GenericInvestmentStorageBlock_storage_content(storage_19) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_6_19)_: +1 flow(storage_electricity_6_19) -1 flow(electricity_storage_6_19) --1 GenericInvestmentStorageBlock_storage_content(storage_18) -+1 GenericInvestmentStorageBlock_storage_content(storage_19) +-1 GenericInvestmentStorageBlock_storage_content(storage_19) ++1 GenericInvestmentStorageBlock_storage_content(storage_20) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_6_20)_: +1 flow(storage_electricity_6_20) -1 flow(electricity_storage_6_20) --1 GenericInvestmentStorageBlock_storage_content(storage_19) -+1 GenericInvestmentStorageBlock_storage_content(storage_20) +-1 GenericInvestmentStorageBlock_storage_content(storage_20) ++1 GenericInvestmentStorageBlock_storage_content(storage_21) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_7_21)_: +1 flow(storage_electricity_7_21) -1 flow(electricity_storage_7_21) --1 GenericInvestmentStorageBlock_storage_content(storage_20) -+1 GenericInvestmentStorageBlock_storage_content(storage_21) +-1 GenericInvestmentStorageBlock_storage_content(storage_21) ++1 GenericInvestmentStorageBlock_storage_content(storage_22) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_7_22)_: +1 flow(storage_electricity_7_22) -1 flow(electricity_storage_7_22) --1 GenericInvestmentStorageBlock_storage_content(storage_21) -+1 GenericInvestmentStorageBlock_storage_content(storage_22) +-1 GenericInvestmentStorageBlock_storage_content(storage_22) ++1 GenericInvestmentStorageBlock_storage_content(storage_23) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_7_23)_: +1 flow(storage_electricity_7_23) -1 flow(electricity_storage_7_23) --1 GenericInvestmentStorageBlock_storage_content(storage_22) -+1 GenericInvestmentStorageBlock_storage_content(storage_23) +-1 GenericInvestmentStorageBlock_storage_content(storage_23) ++1 GenericInvestmentStorageBlock_storage_content(storage_24) = 0 c_e_GenericInvestmentStorageBlock_power_coupled(storage_0)_: --1 InvestmentFlowBlock_total(electricity_storage_0) +1 InvestmentFlowBlock_total(storage_electricity_0) +-1 InvestmentFlowBlock_total(electricity_storage_0) = 0 c_e_GenericInvestmentStorageBlock_power_coupled(storage_1)_: --1 InvestmentFlowBlock_total(electricity_storage_1) +1 InvestmentFlowBlock_total(storage_electricity_1) +-1 InvestmentFlowBlock_total(electricity_storage_1) = 0 c_e_GenericInvestmentStorageBlock_power_coupled(storage_2)_: --1 InvestmentFlowBlock_total(electricity_storage_2) +1 InvestmentFlowBlock_total(storage_electricity_2) +-1 InvestmentFlowBlock_total(electricity_storage_2) = 0 c_e_GenericInvestmentStorageBlock_power_coupled(storage_3)_: --1 InvestmentFlowBlock_total(electricity_storage_3) +1 InvestmentFlowBlock_total(storage_electricity_3) +-1 InvestmentFlowBlock_total(electricity_storage_3) = 0 c_e_GenericInvestmentStorageBlock_power_coupled(storage_4)_: --1 InvestmentFlowBlock_total(electricity_storage_4) +1 InvestmentFlowBlock_total(storage_electricity_4) +-1 InvestmentFlowBlock_total(electricity_storage_4) = 0 c_e_GenericInvestmentStorageBlock_power_coupled(storage_5)_: --1 InvestmentFlowBlock_total(electricity_storage_5) +1 InvestmentFlowBlock_total(storage_electricity_5) +-1 InvestmentFlowBlock_total(electricity_storage_5) = 0 c_e_GenericInvestmentStorageBlock_power_coupled(storage_6)_: --1 InvestmentFlowBlock_total(electricity_storage_6) +1 InvestmentFlowBlock_total(storage_electricity_6) +-1 InvestmentFlowBlock_total(electricity_storage_6) = 0 c_e_GenericInvestmentStorageBlock_power_coupled(storage_7)_: --1 InvestmentFlowBlock_total(electricity_storage_7) +1 InvestmentFlowBlock_total(storage_electricity_7) +-1 InvestmentFlowBlock_total(electricity_storage_7) = 0 c_e_GenericInvestmentStorageBlock_storage_capacity_outflow(storage_0)_: @@ -6718,14 +6718,6 @@ c_l_SinkDSMOemofInvestmentBlock_overall_minimum(demand_dsm_oemof)_: bounds 1 <= ONE_VAR_CONSTANT <= 1 - 0 <= InvestmentFlowBlock_invest(electricity_storage_0) <= +inf - 0 <= InvestmentFlowBlock_invest(electricity_storage_1) <= +inf - 0 <= InvestmentFlowBlock_invest(electricity_storage_2) <= +inf - 0 <= InvestmentFlowBlock_invest(electricity_storage_3) <= +inf - 0 <= InvestmentFlowBlock_invest(electricity_storage_4) <= +inf - 0 <= InvestmentFlowBlock_invest(electricity_storage_5) <= +inf - 0 <= InvestmentFlowBlock_invest(electricity_storage_6) <= +inf - 0 <= InvestmentFlowBlock_invest(electricity_storage_7) <= +inf 0 <= InvestmentFlowBlock_invest(storage_electricity_0) <= +inf 0 <= InvestmentFlowBlock_invest(storage_electricity_1) <= +inf 0 <= InvestmentFlowBlock_invest(storage_electricity_2) <= +inf @@ -6734,6 +6726,14 @@ bounds 0 <= InvestmentFlowBlock_invest(storage_electricity_5) <= +inf 0 <= InvestmentFlowBlock_invest(storage_electricity_6) <= +inf 0 <= InvestmentFlowBlock_invest(storage_electricity_7) <= +inf + 0 <= InvestmentFlowBlock_invest(electricity_storage_0) <= +inf + 0 <= InvestmentFlowBlock_invest(electricity_storage_1) <= +inf + 0 <= InvestmentFlowBlock_invest(electricity_storage_2) <= +inf + 0 <= InvestmentFlowBlock_invest(electricity_storage_3) <= +inf + 0 <= InvestmentFlowBlock_invest(electricity_storage_4) <= +inf + 0 <= InvestmentFlowBlock_invest(electricity_storage_5) <= +inf + 0 <= InvestmentFlowBlock_invest(electricity_storage_6) <= +inf + 0 <= InvestmentFlowBlock_invest(electricity_storage_7) <= +inf 0 <= GenericInvestmentStorageBlock_invest(storage_0) <= +inf 0 <= GenericInvestmentStorageBlock_invest(storage_1) <= +inf 0 <= GenericInvestmentStorageBlock_invest(storage_2) <= +inf @@ -7798,21 +7798,6 @@ bounds 0 <= flow(electricity_demand_dsm_diw_7_23) <= +inf 0 <= flow(electricity_demand_dsm_dlr_7_23) <= +inf 0 <= flow(electricity_demand_dsm_oemof_7_23) <= +inf - 0 <= InvestmentFlowBlock_total(electricity_storage_0) <= +inf - 0 <= InvestmentFlowBlock_total(electricity_storage_1) <= +inf - 0 <= InvestmentFlowBlock_old(electricity_storage_1) <= +inf - 0 <= InvestmentFlowBlock_total(electricity_storage_2) <= +inf - 0 <= InvestmentFlowBlock_old(electricity_storage_2) <= +inf - 0 <= InvestmentFlowBlock_total(electricity_storage_3) <= +inf - 0 <= InvestmentFlowBlock_old(electricity_storage_3) <= +inf - 0 <= InvestmentFlowBlock_total(electricity_storage_4) <= +inf - 0 <= InvestmentFlowBlock_old(electricity_storage_4) <= +inf - 0 <= InvestmentFlowBlock_total(electricity_storage_5) <= +inf - 0 <= InvestmentFlowBlock_old(electricity_storage_5) <= +inf - 0 <= InvestmentFlowBlock_total(electricity_storage_6) <= +inf - 0 <= InvestmentFlowBlock_old(electricity_storage_6) <= +inf - 0 <= InvestmentFlowBlock_total(electricity_storage_7) <= +inf - 0 <= InvestmentFlowBlock_old(electricity_storage_7) <= +inf 0 <= InvestmentFlowBlock_total(storage_electricity_0) <= +inf 0 <= InvestmentFlowBlock_total(storage_electricity_1) <= +inf 0 <= InvestmentFlowBlock_old(storage_electricity_1) <= +inf @@ -7828,14 +7813,21 @@ bounds 0 <= InvestmentFlowBlock_old(storage_electricity_6) <= +inf 0 <= InvestmentFlowBlock_total(storage_electricity_7) <= +inf 0 <= InvestmentFlowBlock_old(storage_electricity_7) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricity_storage_0) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricity_storage_1) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricity_storage_2) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricity_storage_3) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricity_storage_4) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricity_storage_5) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricity_storage_6) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricity_storage_7) <= +inf + 0 <= InvestmentFlowBlock_total(electricity_storage_0) <= +inf + 0 <= InvestmentFlowBlock_total(electricity_storage_1) <= +inf + 0 <= InvestmentFlowBlock_old(electricity_storage_1) <= +inf + 0 <= InvestmentFlowBlock_total(electricity_storage_2) <= +inf + 0 <= InvestmentFlowBlock_old(electricity_storage_2) <= +inf + 0 <= InvestmentFlowBlock_total(electricity_storage_3) <= +inf + 0 <= InvestmentFlowBlock_old(electricity_storage_3) <= +inf + 0 <= InvestmentFlowBlock_total(electricity_storage_4) <= +inf + 0 <= InvestmentFlowBlock_old(electricity_storage_4) <= +inf + 0 <= InvestmentFlowBlock_total(electricity_storage_5) <= +inf + 0 <= InvestmentFlowBlock_old(electricity_storage_5) <= +inf + 0 <= InvestmentFlowBlock_total(electricity_storage_6) <= +inf + 0 <= InvestmentFlowBlock_old(electricity_storage_6) <= +inf + 0 <= InvestmentFlowBlock_total(electricity_storage_7) <= +inf + 0 <= InvestmentFlowBlock_old(electricity_storage_7) <= +inf 0 <= InvestmentFlowBlock_old_end(storage_electricity_0) <= +inf 0 <= InvestmentFlowBlock_old_end(storage_electricity_1) <= +inf 0 <= InvestmentFlowBlock_old_end(storage_electricity_2) <= +inf @@ -7844,14 +7836,14 @@ bounds 0 <= InvestmentFlowBlock_old_end(storage_electricity_5) <= +inf 0 <= InvestmentFlowBlock_old_end(storage_electricity_6) <= +inf 0 <= InvestmentFlowBlock_old_end(storage_electricity_7) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricity_storage_0) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricity_storage_1) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricity_storage_2) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricity_storage_3) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricity_storage_4) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricity_storage_5) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricity_storage_6) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricity_storage_7) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricity_storage_0) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricity_storage_1) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricity_storage_2) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricity_storage_3) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricity_storage_4) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricity_storage_5) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricity_storage_6) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricity_storage_7) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage_electricity_0) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage_electricity_1) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage_electricity_2) <= +inf @@ -7860,8 +7852,16 @@ bounds 0 <= InvestmentFlowBlock_old_exo(storage_electricity_5) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage_electricity_6) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage_electricity_7) <= +inf - 0 <= InvestmentFlowBlock_old(electricity_storage_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricity_storage_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricity_storage_1) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricity_storage_2) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricity_storage_3) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricity_storage_4) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricity_storage_5) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricity_storage_6) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricity_storage_7) <= +inf 0 <= InvestmentFlowBlock_old(storage_electricity_0) <= +inf + 0 <= InvestmentFlowBlock_old(electricity_storage_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_1) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_1) <= +inf @@ -7895,8 +7895,8 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage_7) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_5) <= +inf @@ -7918,6 +7918,7 @@ bounds 0 <= GenericInvestmentStorageBlock_storage_content(storage_21) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_22) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_23) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_24) <= +inf 0 <= SinkDSMDIWInvestmentBlock_total(demand_dsm_diw_0) <= +inf 0 <= SinkDSMDIWInvestmentBlock_total(demand_dsm_diw_1) <= +inf 0 <= SinkDSMDIWInvestmentBlock_old(demand_dsm_diw_1) <= +inf diff --git a/tests/lp_files/periodical_investment_limit.lp b/tests/lp_files/periodical_investment_limit.lp index 1a01bf380..bc664aede 100644 --- a/tests/lp_files/periodical_investment_limit.lp +++ b/tests/lp_files/periodical_investment_limit.lp @@ -62,25 +62,6 @@ c_e_BusBlock_balance(Bus1_2_5)_: -1 flow(Bus1_storage_invest_limit_2_5) = 0 -c_e_InvestmentFlowBlock_total_rule(storage_invest_limit_Bus1_0)_: -+1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) --1 InvestmentFlowBlock_invest(storage_invest_limit_Bus1_0) -= 0 - -c_e_InvestmentFlowBlock_total_rule(storage_invest_limit_Bus1_1)_: --1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) -+1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_1) --1 InvestmentFlowBlock_invest(storage_invest_limit_Bus1_1) -+1 InvestmentFlowBlock_old(storage_invest_limit_Bus1_1) -= 0 - -c_e_InvestmentFlowBlock_total_rule(storage_invest_limit_Bus1_2)_: --1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_1) -+1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_2) --1 InvestmentFlowBlock_invest(storage_invest_limit_Bus1_2) -+1 InvestmentFlowBlock_old(storage_invest_limit_Bus1_2) -= 0 - c_e_InvestmentFlowBlock_total_rule(Bus1_storage_invest_limit_0)_: +1 InvestmentFlowBlock_total(Bus1_storage_invest_limit_0) -1 InvestmentFlowBlock_invest(Bus1_storage_invest_limit_0) @@ -100,6 +81,25 @@ c_e_InvestmentFlowBlock_total_rule(Bus1_storage_invest_limit_2)_: +1 InvestmentFlowBlock_old(Bus1_storage_invest_limit_2) = 0 +c_e_InvestmentFlowBlock_total_rule(storage_invest_limit_Bus1_0)_: ++1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) +-1 InvestmentFlowBlock_invest(storage_invest_limit_Bus1_0) += 0 + +c_e_InvestmentFlowBlock_total_rule(storage_invest_limit_Bus1_1)_: +-1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) ++1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_1) +-1 InvestmentFlowBlock_invest(storage_invest_limit_Bus1_1) ++1 InvestmentFlowBlock_old(storage_invest_limit_Bus1_1) += 0 + +c_e_InvestmentFlowBlock_total_rule(storage_invest_limit_Bus1_2)_: +-1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_1) ++1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_2) +-1 InvestmentFlowBlock_invest(storage_invest_limit_Bus1_2) ++1 InvestmentFlowBlock_old(storage_invest_limit_Bus1_2) += 0 + c_e_InvestmentFlowBlock_total_rule(Source_Bus1_0)_: -1 InvestmentFlowBlock_invest(Source_Bus1_0) +1 InvestmentFlowBlock_total(Source_Bus1_0) @@ -119,18 +119,6 @@ c_e_InvestmentFlowBlock_total_rule(Source_Bus1_2)_: +1 InvestmentFlowBlock_old(Source_Bus1_2) = 0 -c_e_InvestmentFlowBlock_old_rule_end(storage_invest_limit_Bus1_0)_: -+1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_0) -= 0 - -c_e_InvestmentFlowBlock_old_rule_end(storage_invest_limit_Bus1_1)_: -+1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_1) -= 0 - -c_e_InvestmentFlowBlock_old_rule_end(storage_invest_limit_Bus1_2)_: -+1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_2) -= 0 - c_e_InvestmentFlowBlock_old_rule_end(Bus1_storage_invest_limit_0)_: +1 InvestmentFlowBlock_old_end(Bus1_storage_invest_limit_0) = 0 @@ -143,28 +131,28 @@ c_e_InvestmentFlowBlock_old_rule_end(Bus1_storage_invest_limit_2)_: +1 InvestmentFlowBlock_old_end(Bus1_storage_invest_limit_2) = 0 -c_e_InvestmentFlowBlock_old_rule_end(Source_Bus1_0)_: -+1 InvestmentFlowBlock_old_end(Source_Bus1_0) +c_e_InvestmentFlowBlock_old_rule_end(storage_invest_limit_Bus1_0)_: ++1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_0) = 0 -c_e_InvestmentFlowBlock_old_rule_end(Source_Bus1_1)_: -+1 InvestmentFlowBlock_old_end(Source_Bus1_1) +c_e_InvestmentFlowBlock_old_rule_end(storage_invest_limit_Bus1_1)_: ++1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_1) = 0 -c_e_InvestmentFlowBlock_old_rule_end(Source_Bus1_2)_: -+1 InvestmentFlowBlock_old_end(Source_Bus1_2) +c_e_InvestmentFlowBlock_old_rule_end(storage_invest_limit_Bus1_2)_: ++1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_2) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(storage_invest_limit_Bus1_0)_: -+1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_0) +c_e_InvestmentFlowBlock_old_rule_end(Source_Bus1_0)_: ++1 InvestmentFlowBlock_old_end(Source_Bus1_0) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(storage_invest_limit_Bus1_1)_: -+1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_1) +c_e_InvestmentFlowBlock_old_rule_end(Source_Bus1_1)_: ++1 InvestmentFlowBlock_old_end(Source_Bus1_1) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(storage_invest_limit_Bus1_2)_: -+1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_2) +c_e_InvestmentFlowBlock_old_rule_end(Source_Bus1_2)_: ++1 InvestmentFlowBlock_old_end(Source_Bus1_2) = 0 c_e_InvestmentFlowBlock_old_rule_exo(Bus1_storage_invest_limit_0)_: @@ -179,34 +167,28 @@ c_e_InvestmentFlowBlock_old_rule_exo(Bus1_storage_invest_limit_2)_: +1 InvestmentFlowBlock_old_exo(Bus1_storage_invest_limit_2) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(Source_Bus1_0)_: -+1 InvestmentFlowBlock_old_exo(Source_Bus1_0) +c_e_InvestmentFlowBlock_old_rule_exo(storage_invest_limit_Bus1_0)_: ++1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_0) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(Source_Bus1_1)_: -+1 InvestmentFlowBlock_old_exo(Source_Bus1_1) +c_e_InvestmentFlowBlock_old_rule_exo(storage_invest_limit_Bus1_1)_: ++1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_1) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(Source_Bus1_2)_: -+1 InvestmentFlowBlock_old_exo(Source_Bus1_2) +c_e_InvestmentFlowBlock_old_rule_exo(storage_invest_limit_Bus1_2)_: ++1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_2) = 0 -c_e_InvestmentFlowBlock_old_rule(storage_invest_limit_Bus1_0)_: --1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_0) --1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_0) -+1 InvestmentFlowBlock_old(storage_invest_limit_Bus1_0) +c_e_InvestmentFlowBlock_old_rule_exo(Source_Bus1_0)_: ++1 InvestmentFlowBlock_old_exo(Source_Bus1_0) = 0 -c_e_InvestmentFlowBlock_old_rule(storage_invest_limit_Bus1_1)_: -+1 InvestmentFlowBlock_old(storage_invest_limit_Bus1_1) --1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_1) --1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_1) +c_e_InvestmentFlowBlock_old_rule_exo(Source_Bus1_1)_: ++1 InvestmentFlowBlock_old_exo(Source_Bus1_1) = 0 -c_e_InvestmentFlowBlock_old_rule(storage_invest_limit_Bus1_2)_: -+1 InvestmentFlowBlock_old(storage_invest_limit_Bus1_2) --1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_2) --1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_2) +c_e_InvestmentFlowBlock_old_rule_exo(Source_Bus1_2)_: ++1 InvestmentFlowBlock_old_exo(Source_Bus1_2) = 0 c_e_InvestmentFlowBlock_old_rule(Bus1_storage_invest_limit_0)_: @@ -227,6 +209,24 @@ c_e_InvestmentFlowBlock_old_rule(Bus1_storage_invest_limit_2)_: -1 InvestmentFlowBlock_old_exo(Bus1_storage_invest_limit_2) = 0 +c_e_InvestmentFlowBlock_old_rule(storage_invest_limit_Bus1_0)_: +-1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_0) +-1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_0) ++1 InvestmentFlowBlock_old(storage_invest_limit_Bus1_0) += 0 + +c_e_InvestmentFlowBlock_old_rule(storage_invest_limit_Bus1_1)_: ++1 InvestmentFlowBlock_old(storage_invest_limit_Bus1_1) +-1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_1) +-1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_1) += 0 + +c_e_InvestmentFlowBlock_old_rule(storage_invest_limit_Bus1_2)_: ++1 InvestmentFlowBlock_old(storage_invest_limit_Bus1_2) +-1 InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_2) +-1 InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_2) += 0 + c_e_InvestmentFlowBlock_old_rule(Source_Bus1_0)_: -1 InvestmentFlowBlock_old_end(Source_Bus1_0) -1 InvestmentFlowBlock_old_exo(Source_Bus1_0) @@ -245,36 +245,6 @@ c_e_InvestmentFlowBlock_old_rule(Source_Bus1_2)_: -1 InvestmentFlowBlock_old_exo(Source_Bus1_2) = 0 -c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_0_0)_: -+1 flow(storage_invest_limit_Bus1_0_0) --1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_0_1)_: -+1 flow(storage_invest_limit_Bus1_0_1) --1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_1_2)_: -+1 flow(storage_invest_limit_Bus1_1_2) --1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_1) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_1_3)_: -+1 flow(storage_invest_limit_Bus1_1_3) --1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_1) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_2_4)_: -+1 flow(storage_invest_limit_Bus1_2_4) --1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_2) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_2_5)_: -+1 flow(storage_invest_limit_Bus1_2_5) --1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_2) -<= 0 - c_u_InvestmentFlowBlock_max(Bus1_storage_invest_limit_0_0)_: +1 flow(Bus1_storage_invest_limit_0_0) -1 InvestmentFlowBlock_total(Bus1_storage_invest_limit_0) @@ -305,6 +275,36 @@ c_u_InvestmentFlowBlock_max(Bus1_storage_invest_limit_2_5)_: -1 InvestmentFlowBlock_total(Bus1_storage_invest_limit_2) <= 0 +c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_0_0)_: ++1 flow(storage_invest_limit_Bus1_0_0) +-1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_0_1)_: ++1 flow(storage_invest_limit_Bus1_0_1) +-1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_1_2)_: ++1 flow(storage_invest_limit_Bus1_1_2) +-1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_1) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_1_3)_: ++1 flow(storage_invest_limit_Bus1_1_3) +-1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_1) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_2_4)_: ++1 flow(storage_invest_limit_Bus1_2_4) +-1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_2) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_invest_limit_Bus1_2_5)_: ++1 flow(storage_invest_limit_Bus1_2_5) +-1 InvestmentFlowBlock_total(storage_invest_limit_Bus1_2) +<= 0 + c_u_InvestmentFlowBlock_max(Source_Bus1_0_0)_: +1 flow(Source_Bus1_0_0) -1 InvestmentFlowBlock_total(Source_Bus1_0) @@ -403,36 +403,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage_invest_limit_0)_: c_e_GenericInvestmentStorageBlock_balance(storage_invest_limit_0_1)_: +1 flow(storage_invest_limit_Bus1_0_1) -1 flow(Bus1_storage_invest_limit_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_invest_limit_1_2)_: +1 flow(storage_invest_limit_Bus1_1_2) -1 flow(Bus1_storage_invest_limit_1_2) --1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_invest_limit_1_3)_: +1 flow(storage_invest_limit_Bus1_1_3) -1 flow(Bus1_storage_invest_limit_1_3) --1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_2) -+1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_3) +-1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_3) ++1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_invest_limit_2_4)_: +1 flow(storage_invest_limit_Bus1_2_4) -1 flow(Bus1_storage_invest_limit_2_4) --1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_3) -+1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_4) +-1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_4) ++1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_invest_limit_2_5)_: +1 flow(storage_invest_limit_Bus1_2_5) -1 flow(Bus1_storage_invest_limit_2_5) --1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_4) -+1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_5) +-1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_5) ++1 GenericInvestmentStorageBlock_storage_content(storage_invest_limit_6) = 0 c_e_GenericInvestmentStorageBlock_storage_capacity_inflow(storage_invest_limit_0)_: @@ -520,14 +520,6 @@ bounds 0 <= flow(storage_invest_limit_Bus1_2_5) <= +inf 0 <= flow(Source_Bus1_2_5) <= +inf 0 <= flow(Bus1_storage_invest_limit_2_5) <= +inf - 0 <= InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) <= +inf - 0 <= InvestmentFlowBlock_invest(storage_invest_limit_Bus1_0) <= +inf - 0 <= InvestmentFlowBlock_total(storage_invest_limit_Bus1_1) <= +inf - 0 <= InvestmentFlowBlock_invest(storage_invest_limit_Bus1_1) <= +inf - 0 <= InvestmentFlowBlock_old(storage_invest_limit_Bus1_1) <= +inf - 0 <= InvestmentFlowBlock_total(storage_invest_limit_Bus1_2) <= +inf - 0 <= InvestmentFlowBlock_invest(storage_invest_limit_Bus1_2) <= +inf - 0 <= InvestmentFlowBlock_old(storage_invest_limit_Bus1_2) <= +inf 0 <= InvestmentFlowBlock_total(Bus1_storage_invest_limit_0) <= +inf 0 <= InvestmentFlowBlock_invest(Bus1_storage_invest_limit_0) <= +inf 0 <= InvestmentFlowBlock_total(Bus1_storage_invest_limit_1) <= +inf @@ -536,31 +528,39 @@ bounds 0 <= InvestmentFlowBlock_total(Bus1_storage_invest_limit_2) <= +inf 0 <= InvestmentFlowBlock_invest(Bus1_storage_invest_limit_2) <= +inf 0 <= InvestmentFlowBlock_old(Bus1_storage_invest_limit_2) <= +inf + 0 <= InvestmentFlowBlock_total(storage_invest_limit_Bus1_0) <= +inf + 0 <= InvestmentFlowBlock_invest(storage_invest_limit_Bus1_0) <= +inf + 0 <= InvestmentFlowBlock_total(storage_invest_limit_Bus1_1) <= +inf + 0 <= InvestmentFlowBlock_invest(storage_invest_limit_Bus1_1) <= +inf + 0 <= InvestmentFlowBlock_old(storage_invest_limit_Bus1_1) <= +inf + 0 <= InvestmentFlowBlock_total(storage_invest_limit_Bus1_2) <= +inf + 0 <= InvestmentFlowBlock_invest(storage_invest_limit_Bus1_2) <= +inf + 0 <= InvestmentFlowBlock_old(storage_invest_limit_Bus1_2) <= +inf 0 <= InvestmentFlowBlock_total(Source_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_total(Source_Bus1_1) <= +inf 0 <= InvestmentFlowBlock_old(Source_Bus1_1) <= +inf 0 <= InvestmentFlowBlock_total(Source_Bus1_2) <= +inf 0 <= InvestmentFlowBlock_old(Source_Bus1_2) <= +inf - 0 <= InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_0) <= +inf - 0 <= InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_1) <= +inf - 0 <= InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_2) <= +inf 0 <= InvestmentFlowBlock_old_end(Bus1_storage_invest_limit_0) <= +inf 0 <= InvestmentFlowBlock_old_end(Bus1_storage_invest_limit_1) <= +inf 0 <= InvestmentFlowBlock_old_end(Bus1_storage_invest_limit_2) <= +inf + 0 <= InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_0) <= +inf + 0 <= InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_1) <= +inf + 0 <= InvestmentFlowBlock_old_end(storage_invest_limit_Bus1_2) <= +inf 0 <= InvestmentFlowBlock_old_end(Source_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_old_end(Source_Bus1_1) <= +inf 0 <= InvestmentFlowBlock_old_end(Source_Bus1_2) <= +inf - 0 <= InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_0) <= +inf - 0 <= InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_1) <= +inf - 0 <= InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_2) <= +inf 0 <= InvestmentFlowBlock_old_exo(Bus1_storage_invest_limit_0) <= +inf 0 <= InvestmentFlowBlock_old_exo(Bus1_storage_invest_limit_1) <= +inf 0 <= InvestmentFlowBlock_old_exo(Bus1_storage_invest_limit_2) <= +inf + 0 <= InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_1) <= +inf + 0 <= InvestmentFlowBlock_old_exo(storage_invest_limit_Bus1_2) <= +inf 0 <= InvestmentFlowBlock_old_exo(Source_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_old_exo(Source_Bus1_1) <= +inf 0 <= InvestmentFlowBlock_old_exo(Source_Bus1_2) <= +inf - 0 <= InvestmentFlowBlock_old(storage_invest_limit_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_old(Bus1_storage_invest_limit_0) <= +inf + 0 <= InvestmentFlowBlock_old(storage_invest_limit_Bus1_0) <= +inf 0 <= InvestmentFlowBlock_old(Source_Bus1_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_invest_limit_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_invest_limit_1) <= +inf @@ -575,9 +575,10 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage_invest_limit_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_invest_limit_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_invest_limit_6) <= +inf end diff --git a/tests/lp_files/storage_invest_1.lp b/tests/lp_files/storage_invest_1.lp index d40a61114..a0d0ee4fa 100644 --- a/tests/lp_files/storage_invest_1.lp +++ b/tests/lp_files/storage_invest_1.lp @@ -27,30 +27,15 @@ c_e_BusBlock_balance(electricityBus_0_2)_: +1 flow(storage1_electricityBus_0_2) = 0 -c_e_InvestmentFlowBlock_total_rule(electricityBus_storage1_0)_: -+1 InvestmentFlowBlock_total(electricityBus_storage1_0) --1 InvestmentFlowBlock_invest(electricityBus_storage1_0) -= 0 - c_e_InvestmentFlowBlock_total_rule(storage1_electricityBus_0)_: +1 InvestmentFlowBlock_total(storage1_electricityBus_0) -1 InvestmentFlowBlock_invest(storage1_electricityBus_0) = 0 -c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_0)_: -+1 flow(electricityBus_storage1_0_0) --1 InvestmentFlowBlock_total(electricityBus_storage1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_1)_: -+1 flow(electricityBus_storage1_0_1) --1 InvestmentFlowBlock_total(electricityBus_storage1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_2)_: -+1 flow(electricityBus_storage1_0_2) --1 InvestmentFlowBlock_total(electricityBus_storage1_0) -<= 0 +c_e_InvestmentFlowBlock_total_rule(electricityBus_storage1_0)_: ++1 InvestmentFlowBlock_total(electricityBus_storage1_0) +-1 InvestmentFlowBlock_invest(electricityBus_storage1_0) += 0 c_u_InvestmentFlowBlock_max(storage1_electricityBus_0_0)_: +1 flow(storage1_electricityBus_0_0) @@ -67,6 +52,21 @@ c_u_InvestmentFlowBlock_max(storage1_electricityBus_0_2)_: -1 InvestmentFlowBlock_total(storage1_electricityBus_0) <= 0 +c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_0)_: ++1 flow(electricityBus_storage1_0_0) +-1 InvestmentFlowBlock_total(electricityBus_storage1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_1)_: ++1 flow(electricityBus_storage1_0_1) +-1 InvestmentFlowBlock_total(electricityBus_storage1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_2)_: ++1 flow(electricityBus_storage1_0_2) +-1 InvestmentFlowBlock_total(electricityBus_storage1_0) +<= 0 + c_e_GenericInvestmentStorageBlock_total_storage_rule(storage1_0)_: -1 GenericInvestmentStorageBlock_invest(storage1_0) +1 GenericInvestmentStorageBlock_total(storage1_0) @@ -87,15 +87,15 @@ c_e_GenericInvestmentStorageBlock_balance_first(storage1)_: c_e_GenericInvestmentStorageBlock_balance(storage1_0_1)_: -0.97 flow(electricityBus_storage1_0_1) +1.1627906976744187 flow(storage1_electricityBus_0_1) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_0) -+1 GenericInvestmentStorageBlock_storage_content(storage1_1) ++1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_0_2)_: -0.97 flow(electricityBus_storage1_0_2) +1.1627906976744187 flow(storage1_electricityBus_0_2) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_1) -+1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_2) ++1 GenericInvestmentStorageBlock_storage_content(storage1_3) = 0 c_e_GenericInvestmentStorageBlock_balanced_cstr(storage1)_: @@ -151,13 +151,14 @@ bounds 0 <= flow(storage1_electricityBus_0_1) <= +inf 0 <= flow(storage1_electricityBus_0_2) <= +inf 0 <= GenericInvestmentStorageBlock_invest(storage1_0) <= 234 - 0 <= InvestmentFlowBlock_total(electricityBus_storage1_0) <= +inf - 0 <= InvestmentFlowBlock_invest(electricityBus_storage1_0) <= +inf 0 <= InvestmentFlowBlock_total(storage1_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_invest(storage1_electricityBus_0) <= +inf + 0 <= InvestmentFlowBlock_total(electricityBus_storage1_0) <= +inf + 0 <= InvestmentFlowBlock_invest(electricityBus_storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_3) <= +inf end diff --git a/tests/lp_files/storage_invest_1_fixed_losses.lp b/tests/lp_files/storage_invest_1_fixed_losses.lp index 2ab9c0173..f4430df6c 100644 --- a/tests/lp_files/storage_invest_1_fixed_losses.lp +++ b/tests/lp_files/storage_invest_1_fixed_losses.lp @@ -89,16 +89,16 @@ c_e_GenericInvestmentStorageBlock_balance(storage1_0_1)_: -0.97 flow(electricityBus_storage1_0_1) +1.1627906976744187 flow(storage1_electricityBus_0_1) +0.01 GenericInvestmentStorageBlock_total(storage1_0) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_0) -+1 GenericInvestmentStorageBlock_storage_content(storage1_1) ++1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_1) = -3.0 c_e_GenericInvestmentStorageBlock_balance(storage1_0_2)_: -0.97 flow(electricityBus_storage1_0_2) +1.1627906976744187 flow(storage1_electricityBus_0_2) +0.01 GenericInvestmentStorageBlock_total(storage1_0) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_1) -+1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_2) ++1 GenericInvestmentStorageBlock_storage_content(storage1_3) = -3.0 c_e_GenericInvestmentStorageBlock_balanced_cstr(storage1)_: @@ -161,6 +161,7 @@ bounds 0 <= GenericInvestmentStorageBlock_total(storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_3) <= +inf end diff --git a/tests/lp_files/storage_invest_1_multi_period.lp b/tests/lp_files/storage_invest_1_multi_period.lp index bd64f44ed..ec2da2949 100644 --- a/tests/lp_files/storage_invest_1_multi_period.lp +++ b/tests/lp_files/storage_invest_1_multi_period.lp @@ -50,25 +50,6 @@ c_e_BusBlock_balance(electricityBus_2_5)_: +1 flow(storage1_electricityBus_2_5) = 0 -c_e_InvestmentFlowBlock_total_rule(electricityBus_storage1_0)_: -+1 InvestmentFlowBlock_total(electricityBus_storage1_0) --1 InvestmentFlowBlock_invest(electricityBus_storage1_0) -= 0 - -c_e_InvestmentFlowBlock_total_rule(electricityBus_storage1_1)_: --1 InvestmentFlowBlock_total(electricityBus_storage1_0) -+1 InvestmentFlowBlock_total(electricityBus_storage1_1) --1 InvestmentFlowBlock_invest(electricityBus_storage1_1) -+1 InvestmentFlowBlock_old(electricityBus_storage1_1) -= 0 - -c_e_InvestmentFlowBlock_total_rule(electricityBus_storage1_2)_: --1 InvestmentFlowBlock_total(electricityBus_storage1_1) -+1 InvestmentFlowBlock_total(electricityBus_storage1_2) --1 InvestmentFlowBlock_invest(electricityBus_storage1_2) -+1 InvestmentFlowBlock_old(electricityBus_storage1_2) -= 0 - c_e_InvestmentFlowBlock_total_rule(storage1_electricityBus_0)_: +1 InvestmentFlowBlock_total(storage1_electricityBus_0) -1 InvestmentFlowBlock_invest(storage1_electricityBus_0) @@ -88,16 +69,23 @@ c_e_InvestmentFlowBlock_total_rule(storage1_electricityBus_2)_: +1 InvestmentFlowBlock_old(storage1_electricityBus_2) = 0 -c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage1_0)_: -+1 InvestmentFlowBlock_old_end(electricityBus_storage1_0) +c_e_InvestmentFlowBlock_total_rule(electricityBus_storage1_0)_: ++1 InvestmentFlowBlock_total(electricityBus_storage1_0) +-1 InvestmentFlowBlock_invest(electricityBus_storage1_0) = 0 -c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage1_1)_: -+1 InvestmentFlowBlock_old_end(electricityBus_storage1_1) +c_e_InvestmentFlowBlock_total_rule(electricityBus_storage1_1)_: +-1 InvestmentFlowBlock_total(electricityBus_storage1_0) ++1 InvestmentFlowBlock_total(electricityBus_storage1_1) +-1 InvestmentFlowBlock_invest(electricityBus_storage1_1) ++1 InvestmentFlowBlock_old(electricityBus_storage1_1) = 0 -c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage1_2)_: -+1 InvestmentFlowBlock_old_end(electricityBus_storage1_2) +c_e_InvestmentFlowBlock_total_rule(electricityBus_storage1_2)_: +-1 InvestmentFlowBlock_total(electricityBus_storage1_1) ++1 InvestmentFlowBlock_total(electricityBus_storage1_2) +-1 InvestmentFlowBlock_invest(electricityBus_storage1_2) ++1 InvestmentFlowBlock_old(electricityBus_storage1_2) = 0 c_e_InvestmentFlowBlock_old_rule_end(storage1_electricityBus_0)_: @@ -112,16 +100,16 @@ c_e_InvestmentFlowBlock_old_rule_end(storage1_electricityBus_2)_: +1 InvestmentFlowBlock_old_end(storage1_electricityBus_2) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage1_0)_: -+1 InvestmentFlowBlock_old_exo(electricityBus_storage1_0) +c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage1_0)_: ++1 InvestmentFlowBlock_old_end(electricityBus_storage1_0) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage1_1)_: -+1 InvestmentFlowBlock_old_exo(electricityBus_storage1_1) +c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage1_1)_: ++1 InvestmentFlowBlock_old_end(electricityBus_storage1_1) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage1_2)_: -+1 InvestmentFlowBlock_old_exo(electricityBus_storage1_2) +c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage1_2)_: ++1 InvestmentFlowBlock_old_end(electricityBus_storage1_2) = 0 c_e_InvestmentFlowBlock_old_rule_exo(storage1_electricityBus_0)_: @@ -136,22 +124,16 @@ c_e_InvestmentFlowBlock_old_rule_exo(storage1_electricityBus_2)_: +1 InvestmentFlowBlock_old_exo(storage1_electricityBus_2) = 0 -c_e_InvestmentFlowBlock_old_rule(electricityBus_storage1_0)_: --1 InvestmentFlowBlock_old_end(electricityBus_storage1_0) --1 InvestmentFlowBlock_old_exo(electricityBus_storage1_0) -+1 InvestmentFlowBlock_old(electricityBus_storage1_0) +c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage1_0)_: ++1 InvestmentFlowBlock_old_exo(electricityBus_storage1_0) = 0 -c_e_InvestmentFlowBlock_old_rule(electricityBus_storage1_1)_: -+1 InvestmentFlowBlock_old(electricityBus_storage1_1) --1 InvestmentFlowBlock_old_end(electricityBus_storage1_1) --1 InvestmentFlowBlock_old_exo(electricityBus_storage1_1) +c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage1_1)_: ++1 InvestmentFlowBlock_old_exo(electricityBus_storage1_1) = 0 -c_e_InvestmentFlowBlock_old_rule(electricityBus_storage1_2)_: -+1 InvestmentFlowBlock_old(electricityBus_storage1_2) --1 InvestmentFlowBlock_old_end(electricityBus_storage1_2) --1 InvestmentFlowBlock_old_exo(electricityBus_storage1_2) +c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage1_2)_: ++1 InvestmentFlowBlock_old_exo(electricityBus_storage1_2) = 0 c_e_InvestmentFlowBlock_old_rule(storage1_electricityBus_0)_: @@ -172,35 +154,23 @@ c_e_InvestmentFlowBlock_old_rule(storage1_electricityBus_2)_: -1 InvestmentFlowBlock_old_exo(storage1_electricityBus_2) = 0 -c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_0)_: -+1 flow(electricityBus_storage1_0_0) --1 InvestmentFlowBlock_total(electricityBus_storage1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_1)_: -+1 flow(electricityBus_storage1_0_1) --1 InvestmentFlowBlock_total(electricityBus_storage1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(electricityBus_storage1_1_2)_: -+1 flow(electricityBus_storage1_1_2) --1 InvestmentFlowBlock_total(electricityBus_storage1_1) -<= 0 - -c_u_InvestmentFlowBlock_max(electricityBus_storage1_1_3)_: -+1 flow(electricityBus_storage1_1_3) --1 InvestmentFlowBlock_total(electricityBus_storage1_1) -<= 0 +c_e_InvestmentFlowBlock_old_rule(electricityBus_storage1_0)_: +-1 InvestmentFlowBlock_old_end(electricityBus_storage1_0) +-1 InvestmentFlowBlock_old_exo(electricityBus_storage1_0) ++1 InvestmentFlowBlock_old(electricityBus_storage1_0) += 0 -c_u_InvestmentFlowBlock_max(electricityBus_storage1_2_4)_: -+1 flow(electricityBus_storage1_2_4) --1 InvestmentFlowBlock_total(electricityBus_storage1_2) -<= 0 +c_e_InvestmentFlowBlock_old_rule(electricityBus_storage1_1)_: ++1 InvestmentFlowBlock_old(electricityBus_storage1_1) +-1 InvestmentFlowBlock_old_end(electricityBus_storage1_1) +-1 InvestmentFlowBlock_old_exo(electricityBus_storage1_1) += 0 -c_u_InvestmentFlowBlock_max(electricityBus_storage1_2_5)_: -+1 flow(electricityBus_storage1_2_5) --1 InvestmentFlowBlock_total(electricityBus_storage1_2) -<= 0 +c_e_InvestmentFlowBlock_old_rule(electricityBus_storage1_2)_: ++1 InvestmentFlowBlock_old(electricityBus_storage1_2) +-1 InvestmentFlowBlock_old_end(electricityBus_storage1_2) +-1 InvestmentFlowBlock_old_exo(electricityBus_storage1_2) += 0 c_u_InvestmentFlowBlock_max(storage1_electricityBus_0_0)_: +1 flow(storage1_electricityBus_0_0) @@ -232,6 +202,36 @@ c_u_InvestmentFlowBlock_max(storage1_electricityBus_2_5)_: -1 InvestmentFlowBlock_total(storage1_electricityBus_2) <= 0 +c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_0)_: ++1 flow(electricityBus_storage1_0_0) +-1 InvestmentFlowBlock_total(electricityBus_storage1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_1)_: ++1 flow(electricityBus_storage1_0_1) +-1 InvestmentFlowBlock_total(electricityBus_storage1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage1_1_2)_: ++1 flow(electricityBus_storage1_1_2) +-1 InvestmentFlowBlock_total(electricityBus_storage1_1) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage1_1_3)_: ++1 flow(electricityBus_storage1_1_3) +-1 InvestmentFlowBlock_total(electricityBus_storage1_1) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage1_2_4)_: ++1 flow(electricityBus_storage1_2_4) +-1 InvestmentFlowBlock_total(electricityBus_storage1_2) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage1_2_5)_: ++1 flow(electricityBus_storage1_2_5) +-1 InvestmentFlowBlock_total(electricityBus_storage1_2) +<= 0 + c_e_GenericInvestmentStorageBlock_total_storage_rule(storage1_0)_: -1 GenericInvestmentStorageBlock_invest(storage1_0) +1 GenericInvestmentStorageBlock_total(storage1_0) @@ -300,36 +300,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage1_0)_: c_e_GenericInvestmentStorageBlock_balance(storage1_0_1)_: -0.97 flow(electricityBus_storage1_0_1) +1.1627906976744187 flow(storage1_electricityBus_0_1) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_0) -+1 GenericInvestmentStorageBlock_storage_content(storage1_1) ++1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_1_2)_: -0.97 flow(electricityBus_storage1_1_2) +1.1627906976744187 flow(storage1_electricityBus_1_2) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_1) -+1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_2) ++1 GenericInvestmentStorageBlock_storage_content(storage1_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_1_3)_: -0.97 flow(electricityBus_storage1_1_3) +1.1627906976744187 flow(storage1_electricityBus_1_3) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_2) -+1 GenericInvestmentStorageBlock_storage_content(storage1_3) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_3) ++1 GenericInvestmentStorageBlock_storage_content(storage1_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_2_4)_: -0.97 flow(electricityBus_storage1_2_4) +1.1627906976744187 flow(storage1_electricityBus_2_4) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_3) -+1 GenericInvestmentStorageBlock_storage_content(storage1_4) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_4) ++1 GenericInvestmentStorageBlock_storage_content(storage1_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_2_5)_: -0.97 flow(electricityBus_storage1_2_5) +1.1627906976744187 flow(storage1_electricityBus_2_5) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_4) -+1 GenericInvestmentStorageBlock_storage_content(storage1_5) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_5) ++1 GenericInvestmentStorageBlock_storage_content(storage1_6) = 0 c_e_GenericInvestmentStorageBlock_storage_capacity_inflow(storage1_0)_: @@ -454,14 +454,6 @@ bounds 0 <= GenericInvestmentStorageBlock_invest(storage1_0) <= 234 0 <= GenericInvestmentStorageBlock_invest(storage1_1) <= 234 0 <= GenericInvestmentStorageBlock_invest(storage1_2) <= 234 - 0 <= InvestmentFlowBlock_total(electricityBus_storage1_0) <= +inf - 0 <= InvestmentFlowBlock_invest(electricityBus_storage1_0) <= +inf - 0 <= InvestmentFlowBlock_total(electricityBus_storage1_1) <= +inf - 0 <= InvestmentFlowBlock_invest(electricityBus_storage1_1) <= +inf - 0 <= InvestmentFlowBlock_old(electricityBus_storage1_1) <= +inf - 0 <= InvestmentFlowBlock_total(electricityBus_storage1_2) <= +inf - 0 <= InvestmentFlowBlock_invest(electricityBus_storage1_2) <= +inf - 0 <= InvestmentFlowBlock_old(electricityBus_storage1_2) <= +inf 0 <= InvestmentFlowBlock_total(storage1_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_invest(storage1_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_total(storage1_electricityBus_1) <= +inf @@ -470,20 +462,28 @@ bounds 0 <= InvestmentFlowBlock_total(storage1_electricityBus_2) <= +inf 0 <= InvestmentFlowBlock_invest(storage1_electricityBus_2) <= +inf 0 <= InvestmentFlowBlock_old(storage1_electricityBus_2) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricityBus_storage1_0) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricityBus_storage1_1) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricityBus_storage1_2) <= +inf + 0 <= InvestmentFlowBlock_total(electricityBus_storage1_0) <= +inf + 0 <= InvestmentFlowBlock_invest(electricityBus_storage1_0) <= +inf + 0 <= InvestmentFlowBlock_total(electricityBus_storage1_1) <= +inf + 0 <= InvestmentFlowBlock_invest(electricityBus_storage1_1) <= +inf + 0 <= InvestmentFlowBlock_old(electricityBus_storage1_1) <= +inf + 0 <= InvestmentFlowBlock_total(electricityBus_storage1_2) <= +inf + 0 <= InvestmentFlowBlock_invest(electricityBus_storage1_2) <= +inf + 0 <= InvestmentFlowBlock_old(electricityBus_storage1_2) <= +inf 0 <= InvestmentFlowBlock_old_end(storage1_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_old_end(storage1_electricityBus_1) <= +inf 0 <= InvestmentFlowBlock_old_end(storage1_electricityBus_2) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage1_0) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage1_1) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage1_2) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricityBus_storage1_0) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricityBus_storage1_1) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricityBus_storage1_2) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage1_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage1_electricityBus_1) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage1_electricityBus_2) <= +inf - 0 <= InvestmentFlowBlock_old(electricityBus_storage1_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage1_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage1_1) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage1_2) <= +inf 0 <= InvestmentFlowBlock_old(storage1_electricityBus_0) <= +inf + 0 <= InvestmentFlowBlock_old(electricityBus_storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage1_1) <= +inf @@ -497,9 +497,10 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage1_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_6) <= +inf end diff --git a/tests/lp_files/storage_invest_1_multi_period_remaining_value.lp b/tests/lp_files/storage_invest_1_multi_period_remaining_value.lp index 674580183..c9c205416 100644 --- a/tests/lp_files/storage_invest_1_multi_period_remaining_value.lp +++ b/tests/lp_files/storage_invest_1_multi_period_remaining_value.lp @@ -300,36 +300,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage1_0)_: c_e_GenericInvestmentStorageBlock_balance(storage1_0_1)_: -0.97 flow(electricityBus_storage1_0_1) +1.1627906976744187 flow(storage1_electricityBus_0_1) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_0) -+1 GenericInvestmentStorageBlock_storage_content(storage1_1) ++1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_1_2)_: -0.97 flow(electricityBus_storage1_1_2) +1.1627906976744187 flow(storage1_electricityBus_1_2) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_1) -+1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_2) ++1 GenericInvestmentStorageBlock_storage_content(storage1_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_1_3)_: -0.97 flow(electricityBus_storage1_1_3) +1.1627906976744187 flow(storage1_electricityBus_1_3) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_2) -+1 GenericInvestmentStorageBlock_storage_content(storage1_3) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_3) ++1 GenericInvestmentStorageBlock_storage_content(storage1_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_2_4)_: -0.97 flow(electricityBus_storage1_2_4) +1.1627906976744187 flow(storage1_electricityBus_2_4) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_3) -+1 GenericInvestmentStorageBlock_storage_content(storage1_4) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_4) ++1 GenericInvestmentStorageBlock_storage_content(storage1_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_2_5)_: -0.97 flow(electricityBus_storage1_2_5) +1.1627906976744187 flow(storage1_electricityBus_2_5) --0.87 GenericInvestmentStorageBlock_storage_content(storage1_4) -+1 GenericInvestmentStorageBlock_storage_content(storage1_5) +-0.87 GenericInvestmentStorageBlock_storage_content(storage1_5) ++1 GenericInvestmentStorageBlock_storage_content(storage1_6) = 0 c_e_GenericInvestmentStorageBlock_storage_capacity_inflow(storage1_0)_: @@ -497,9 +497,10 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage1_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_6) <= +inf end diff --git a/tests/lp_files/storage_invest_2.lp b/tests/lp_files/storage_invest_2.lp index 27a460ba8..093c58977 100644 --- a/tests/lp_files/storage_invest_2.lp +++ b/tests/lp_files/storage_invest_2.lp @@ -83,15 +83,15 @@ c_e_GenericInvestmentStorageBlock_balance_first(storage2)_: c_e_GenericInvestmentStorageBlock_balance(storage2_0_1)_: +1 flow(storage2_electricityBus_0_1) -1 flow(electricityBus_storage2_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage2_0) -+1 GenericInvestmentStorageBlock_storage_content(storage2_1) ++1 GenericInvestmentStorageBlock_storage_content(storage2_2) +-1 GenericInvestmentStorageBlock_storage_content(storage2_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage2_0_2)_: +1 flow(storage2_electricityBus_0_2) -1 flow(electricityBus_storage2_0_2) --1 GenericInvestmentStorageBlock_storage_content(storage2_1) -+1 GenericInvestmentStorageBlock_storage_content(storage2_2) +-1 GenericInvestmentStorageBlock_storage_content(storage2_2) ++1 GenericInvestmentStorageBlock_storage_content(storage2_3) = 0 c_e_GenericInvestmentStorageBlock_balanced_cstr(storage2)_: @@ -129,6 +129,7 @@ bounds 0 <= GenericInvestmentStorageBlock_total(storage2_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage2) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage2_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage2_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage2_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage2_1) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage2_3) <= +inf end diff --git a/tests/lp_files/storage_invest_2_multi_period.lp b/tests/lp_files/storage_invest_2_multi_period.lp index 816985cb6..d53f8f740 100644 --- a/tests/lp_files/storage_invest_2_multi_period.lp +++ b/tests/lp_files/storage_invest_2_multi_period.lp @@ -294,36 +294,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage2_0)_: c_e_GenericInvestmentStorageBlock_balance(storage2_0_1)_: +1 flow(storage2_electricityBus_0_1) -1 flow(electricityBus_storage2_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage2_0) -+1 GenericInvestmentStorageBlock_storage_content(storage2_1) ++1 GenericInvestmentStorageBlock_storage_content(storage2_2) +-1 GenericInvestmentStorageBlock_storage_content(storage2_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage2_1_2)_: +1 flow(storage2_electricityBus_1_2) -1 flow(electricityBus_storage2_1_2) --1 GenericInvestmentStorageBlock_storage_content(storage2_1) -+1 GenericInvestmentStorageBlock_storage_content(storage2_2) +-1 GenericInvestmentStorageBlock_storage_content(storage2_2) ++1 GenericInvestmentStorageBlock_storage_content(storage2_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage2_1_3)_: +1 flow(storage2_electricityBus_1_3) -1 flow(electricityBus_storage2_1_3) --1 GenericInvestmentStorageBlock_storage_content(storage2_2) -+1 GenericInvestmentStorageBlock_storage_content(storage2_3) +-1 GenericInvestmentStorageBlock_storage_content(storage2_3) ++1 GenericInvestmentStorageBlock_storage_content(storage2_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage2_2_4)_: +1 flow(storage2_electricityBus_2_4) -1 flow(electricityBus_storage2_2_4) --1 GenericInvestmentStorageBlock_storage_content(storage2_3) -+1 GenericInvestmentStorageBlock_storage_content(storage2_4) +-1 GenericInvestmentStorageBlock_storage_content(storage2_4) ++1 GenericInvestmentStorageBlock_storage_content(storage2_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage2_2_5)_: +1 flow(storage2_electricityBus_2_5) -1 flow(electricityBus_storage2_2_5) --1 GenericInvestmentStorageBlock_storage_content(storage2_4) -+1 GenericInvestmentStorageBlock_storage_content(storage2_5) +-1 GenericInvestmentStorageBlock_storage_content(storage2_5) ++1 GenericInvestmentStorageBlock_storage_content(storage2_6) = 0 c_u_GenericInvestmentStorageBlock_max_storage_content(storage2_0_0)_: @@ -415,9 +415,10 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage2_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage2_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage2_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage2_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage2_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage2_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage2_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage2_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage2_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage2_6) <= +inf end diff --git a/tests/lp_files/storage_invest_4.lp b/tests/lp_files/storage_invest_4.lp index 66fa233a2..552178bce 100644 --- a/tests/lp_files/storage_invest_4.lp +++ b/tests/lp_files/storage_invest_4.lp @@ -41,15 +41,15 @@ c_e_GenericInvestmentStorageBlock_balance_first(storage4)_: c_e_GenericInvestmentStorageBlock_balance(storage4_0_1)_: +1 flow(storage4_electricityBus_0_1) -1 flow(electricityBus_storage4_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage4_0) -+1 GenericInvestmentStorageBlock_storage_content(storage4_1) ++1 GenericInvestmentStorageBlock_storage_content(storage4_2) +-1 GenericInvestmentStorageBlock_storage_content(storage4_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage4_0_2)_: +1 flow(storage4_electricityBus_0_2) -1 flow(electricityBus_storage4_0_2) --1 GenericInvestmentStorageBlock_storage_content(storage4_1) -+1 GenericInvestmentStorageBlock_storage_content(storage4_2) +-1 GenericInvestmentStorageBlock_storage_content(storage4_2) ++1 GenericInvestmentStorageBlock_storage_content(storage4_3) = 0 c_e_GenericInvestmentStorageBlock_balanced_cstr(storage4)_: @@ -83,6 +83,7 @@ bounds 0 <= GenericInvestmentStorageBlock_total(storage4_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage4_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage4_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage4_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage4_1) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage4_3) <= +inf end diff --git a/tests/lp_files/storage_invest_4_multi_period.lp b/tests/lp_files/storage_invest_4_multi_period.lp index c08305a40..406937687 100644 --- a/tests/lp_files/storage_invest_4_multi_period.lp +++ b/tests/lp_files/storage_invest_4_multi_period.lp @@ -107,36 +107,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage4_0)_: c_e_GenericInvestmentStorageBlock_balance(storage4_0_1)_: +1 flow(storage4_electricityBus_0_1) -1 flow(electricityBus_storage4_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage4_0) -+1 GenericInvestmentStorageBlock_storage_content(storage4_1) ++1 GenericInvestmentStorageBlock_storage_content(storage4_2) +-1 GenericInvestmentStorageBlock_storage_content(storage4_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage4_1_2)_: +1 flow(storage4_electricityBus_1_2) -1 flow(electricityBus_storage4_1_2) --1 GenericInvestmentStorageBlock_storage_content(storage4_1) -+1 GenericInvestmentStorageBlock_storage_content(storage4_2) +-1 GenericInvestmentStorageBlock_storage_content(storage4_2) ++1 GenericInvestmentStorageBlock_storage_content(storage4_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage4_1_3)_: +1 flow(storage4_electricityBus_1_3) -1 flow(electricityBus_storage4_1_3) --1 GenericInvestmentStorageBlock_storage_content(storage4_2) -+1 GenericInvestmentStorageBlock_storage_content(storage4_3) +-1 GenericInvestmentStorageBlock_storage_content(storage4_3) ++1 GenericInvestmentStorageBlock_storage_content(storage4_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage4_2_4)_: +1 flow(storage4_electricityBus_2_4) -1 flow(electricityBus_storage4_2_4) --1 GenericInvestmentStorageBlock_storage_content(storage4_3) -+1 GenericInvestmentStorageBlock_storage_content(storage4_4) +-1 GenericInvestmentStorageBlock_storage_content(storage4_4) ++1 GenericInvestmentStorageBlock_storage_content(storage4_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage4_2_5)_: +1 flow(storage4_electricityBus_2_5) -1 flow(electricityBus_storage4_2_5) --1 GenericInvestmentStorageBlock_storage_content(storage4_4) -+1 GenericInvestmentStorageBlock_storage_content(storage4_5) +-1 GenericInvestmentStorageBlock_storage_content(storage4_5) ++1 GenericInvestmentStorageBlock_storage_content(storage4_6) = 0 c_u_GenericInvestmentStorageBlock_max_storage_content(storage4_0_0)_: @@ -198,9 +198,10 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage4_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage4_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage4_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage4_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage4_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage4_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage4_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage4_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage4_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage4_6) <= +inf end diff --git a/tests/lp_files/storage_invest_6.lp b/tests/lp_files/storage_invest_6.lp index 59262db9b..5959e36de 100644 --- a/tests/lp_files/storage_invest_6.lp +++ b/tests/lp_files/storage_invest_6.lp @@ -82,15 +82,15 @@ c_e_GenericInvestmentStorageBlock_balance_first(storage6)_: c_e_GenericInvestmentStorageBlock_balance(storage6_0_1)_: +1 flow(storage6_electricityBus_0_1) -1 flow(electricityBus_storage6_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage6_0) -+1 GenericInvestmentStorageBlock_storage_content(storage6_1) ++1 GenericInvestmentStorageBlock_storage_content(storage6_2) +-1 GenericInvestmentStorageBlock_storage_content(storage6_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage6_0_2)_: +1 flow(storage6_electricityBus_0_2) -1 flow(electricityBus_storage6_0_2) --1 GenericInvestmentStorageBlock_storage_content(storage6_1) -+1 GenericInvestmentStorageBlock_storage_content(storage6_2) +-1 GenericInvestmentStorageBlock_storage_content(storage6_2) ++1 GenericInvestmentStorageBlock_storage_content(storage6_3) = 0 c_e_GenericInvestmentStorageBlock_balanced_cstr(storage6)_: @@ -133,6 +133,7 @@ bounds 0 <= GenericInvestmentStorageBlock_total(storage6_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage6) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage6_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage6_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage6_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage6_1) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage6_3) <= +inf end diff --git a/tests/lp_files/storage_invest_6_multi_period.lp b/tests/lp_files/storage_invest_6_multi_period.lp index 4fc195eda..caa80604a 100644 --- a/tests/lp_files/storage_invest_6_multi_period.lp +++ b/tests/lp_files/storage_invest_6_multi_period.lp @@ -291,36 +291,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage6_0)_: c_e_GenericInvestmentStorageBlock_balance(storage6_0_1)_: +1 flow(storage6_electricityBus_0_1) -1 flow(electricityBus_storage6_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage6_0) -+1 GenericInvestmentStorageBlock_storage_content(storage6_1) ++1 GenericInvestmentStorageBlock_storage_content(storage6_2) +-1 GenericInvestmentStorageBlock_storage_content(storage6_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage6_1_2)_: +1 flow(storage6_electricityBus_1_2) -1 flow(electricityBus_storage6_1_2) --1 GenericInvestmentStorageBlock_storage_content(storage6_1) -+1 GenericInvestmentStorageBlock_storage_content(storage6_2) +-1 GenericInvestmentStorageBlock_storage_content(storage6_2) ++1 GenericInvestmentStorageBlock_storage_content(storage6_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage6_1_3)_: +1 flow(storage6_electricityBus_1_3) -1 flow(electricityBus_storage6_1_3) --1 GenericInvestmentStorageBlock_storage_content(storage6_2) -+1 GenericInvestmentStorageBlock_storage_content(storage6_3) +-1 GenericInvestmentStorageBlock_storage_content(storage6_3) ++1 GenericInvestmentStorageBlock_storage_content(storage6_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage6_2_4)_: +1 flow(storage6_electricityBus_2_4) -1 flow(electricityBus_storage6_2_4) --1 GenericInvestmentStorageBlock_storage_content(storage6_3) -+1 GenericInvestmentStorageBlock_storage_content(storage6_4) +-1 GenericInvestmentStorageBlock_storage_content(storage6_4) ++1 GenericInvestmentStorageBlock_storage_content(storage6_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage6_2_5)_: +1 flow(storage6_electricityBus_2_5) -1 flow(electricityBus_storage6_2_5) --1 GenericInvestmentStorageBlock_storage_content(storage6_4) -+1 GenericInvestmentStorageBlock_storage_content(storage6_5) +-1 GenericInvestmentStorageBlock_storage_content(storage6_5) ++1 GenericInvestmentStorageBlock_storage_content(storage6_6) = 0 c_e_GenericInvestmentStorageBlock_power_coupled(storage6_0)_: @@ -427,9 +427,10 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage6_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage6_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage6_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage6_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage6_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage6_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage6_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage6_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage6_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage6_6) <= +inf end diff --git a/tests/lp_files/storage_invest_all_nonconvex.lp b/tests/lp_files/storage_invest_all_nonconvex.lp index 9711a6c35..f64c8a7a2 100644 --- a/tests/lp_files/storage_invest_all_nonconvex.lp +++ b/tests/lp_files/storage_invest_all_nonconvex.lp @@ -106,15 +106,15 @@ c_e_GenericInvestmentStorageBlock_balance_first(storage_all_nonconvex)_: c_e_GenericInvestmentStorageBlock_balance(storage_all_nonconvex_0_1)_: +1 flow(storage_all_nonconvex_bus1_0_1) -1 flow(bus1_storage_all_nonconvex_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_all_nonconvex_0_2)_: +1 flow(storage_all_nonconvex_bus1_0_2) -1 flow(bus1_storage_all_nonconvex_0_2) --1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_3) = 0 c_e_GenericInvestmentStorageBlock_balanced_cstr(storage_all_nonconvex)_: @@ -165,8 +165,9 @@ bounds 0 <= GenericInvestmentStorageBlock_total(storage_all_nonconvex_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage_all_nonconvex) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_1) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_3) <= +inf binary InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_0) InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_0) diff --git a/tests/lp_files/storage_invest_all_nonconvex_multi_period.lp b/tests/lp_files/storage_invest_all_nonconvex_multi_period.lp index b78eca2f7..5186226fd 100644 --- a/tests/lp_files/storage_invest_all_nonconvex_multi_period.lp +++ b/tests/lp_files/storage_invest_all_nonconvex_multi_period.lp @@ -2,18 +2,18 @@ min objective: -+1.7636883641156018 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_0) -+15 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_0) -+1.164112696220594 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_1) -+14.705882352941176 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_1) -+0.5762934139705919 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_2) -+14.41753171856978 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_2) +1.7636883641156018 InvestmentFlowBlock_invest(bus1_storage_all_nonconvex_0) +10 InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_0) +1.164112696220594 InvestmentFlowBlock_invest(bus1_storage_all_nonconvex_1) +9.80392156862745 InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_1) +0.5762934139705919 InvestmentFlowBlock_invest(bus1_storage_all_nonconvex_2) +9.611687812379854 InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_2) ++1.7636883641156018 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_0) ++15 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_0) ++1.164112696220594 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_1) ++14.705882352941176 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_1) ++0.5762934139705919 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_2) ++14.41753171856978 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_2) +3.5273767282312036 GenericInvestmentStorageBlock_invest(storage_all_nonconvex_0) +30 GenericInvestmentStorageBlock_invest_status(storage_all_nonconvex_0) +2.328225392441188 GenericInvestmentStorageBlock_invest(storage_all_nonconvex_1) @@ -53,21 +53,6 @@ c_e_BusBlock_balance(bus1_2_5)_: -1 flow(bus1_storage_all_nonconvex_2_5) = 0 -c_u_InvestmentFlowBlock_minimum_rule(storage_all_nonconvex_bus1_0)_: --1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_0) -+8 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_0) -<= 0 - -c_u_InvestmentFlowBlock_minimum_rule(storage_all_nonconvex_bus1_1)_: --1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_1) -+8 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_1) -<= 0 - -c_u_InvestmentFlowBlock_minimum_rule(storage_all_nonconvex_bus1_2)_: --1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_2) -+8 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_2) -<= 0 - c_u_InvestmentFlowBlock_minimum_rule(bus1_storage_all_nonconvex_0)_: -1 InvestmentFlowBlock_invest(bus1_storage_all_nonconvex_0) +5 InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_0) @@ -83,19 +68,19 @@ c_u_InvestmentFlowBlock_minimum_rule(bus1_storage_all_nonconvex_2)_: +5 InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_2) <= 0 -c_u_InvestmentFlowBlock_maximum_rule(storage_all_nonconvex_bus1_0)_: -+1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_0) --20 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_0) +c_u_InvestmentFlowBlock_minimum_rule(storage_all_nonconvex_bus1_0)_: +-1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_0) ++8 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_0) <= 0 -c_u_InvestmentFlowBlock_maximum_rule(storage_all_nonconvex_bus1_1)_: -+1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_1) --20 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_1) +c_u_InvestmentFlowBlock_minimum_rule(storage_all_nonconvex_bus1_1)_: +-1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_1) ++8 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_1) <= 0 -c_u_InvestmentFlowBlock_maximum_rule(storage_all_nonconvex_bus1_2)_: -+1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_2) --20 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_2) +c_u_InvestmentFlowBlock_minimum_rule(storage_all_nonconvex_bus1_2)_: +-1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_2) ++8 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_2) <= 0 c_u_InvestmentFlowBlock_maximum_rule(bus1_storage_all_nonconvex_0)_: @@ -113,24 +98,20 @@ c_u_InvestmentFlowBlock_maximum_rule(bus1_storage_all_nonconvex_2)_: -30 InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_2) <= 0 -c_e_InvestmentFlowBlock_total_rule(storage_all_nonconvex_bus1_0)_: --1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_0) -+1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_0) -= 0 +c_u_InvestmentFlowBlock_maximum_rule(storage_all_nonconvex_bus1_0)_: ++1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_0) +-20 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_0) +<= 0 -c_e_InvestmentFlowBlock_total_rule(storage_all_nonconvex_bus1_1)_: --1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_1) --1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_0) -+1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_1) -+1 InvestmentFlowBlock_old(storage_all_nonconvex_bus1_1) -= 0 +c_u_InvestmentFlowBlock_maximum_rule(storage_all_nonconvex_bus1_1)_: ++1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_1) +-20 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_1) +<= 0 -c_e_InvestmentFlowBlock_total_rule(storage_all_nonconvex_bus1_2)_: --1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_2) --1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_1) -+1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_2) -+1 InvestmentFlowBlock_old(storage_all_nonconvex_bus1_2) -= 0 +c_u_InvestmentFlowBlock_maximum_rule(storage_all_nonconvex_bus1_2)_: ++1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_2) +-20 InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_2) +<= 0 c_e_InvestmentFlowBlock_total_rule(bus1_storage_all_nonconvex_0)_: -1 InvestmentFlowBlock_invest(bus1_storage_all_nonconvex_0) @@ -151,16 +132,23 @@ c_e_InvestmentFlowBlock_total_rule(bus1_storage_all_nonconvex_2)_: +1 InvestmentFlowBlock_old(bus1_storage_all_nonconvex_2) = 0 -c_e_InvestmentFlowBlock_old_rule_end(storage_all_nonconvex_bus1_0)_: -+1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_0) +c_e_InvestmentFlowBlock_total_rule(storage_all_nonconvex_bus1_0)_: +-1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_0) ++1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_0) = 0 -c_e_InvestmentFlowBlock_old_rule_end(storage_all_nonconvex_bus1_1)_: -+1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_1) +c_e_InvestmentFlowBlock_total_rule(storage_all_nonconvex_bus1_1)_: +-1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_1) +-1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_0) ++1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_1) ++1 InvestmentFlowBlock_old(storage_all_nonconvex_bus1_1) = 0 -c_e_InvestmentFlowBlock_old_rule_end(storage_all_nonconvex_bus1_2)_: -+1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_2) +c_e_InvestmentFlowBlock_total_rule(storage_all_nonconvex_bus1_2)_: +-1 InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_2) +-1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_1) ++1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_2) ++1 InvestmentFlowBlock_old(storage_all_nonconvex_bus1_2) = 0 c_e_InvestmentFlowBlock_old_rule_end(bus1_storage_all_nonconvex_0)_: @@ -175,16 +163,16 @@ c_e_InvestmentFlowBlock_old_rule_end(bus1_storage_all_nonconvex_2)_: +1 InvestmentFlowBlock_old_end(bus1_storage_all_nonconvex_2) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(storage_all_nonconvex_bus1_0)_: -+1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_0) +c_e_InvestmentFlowBlock_old_rule_end(storage_all_nonconvex_bus1_0)_: ++1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_0) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(storage_all_nonconvex_bus1_1)_: -+1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_1) +c_e_InvestmentFlowBlock_old_rule_end(storage_all_nonconvex_bus1_1)_: ++1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_1) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(storage_all_nonconvex_bus1_2)_: -+1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_2) +c_e_InvestmentFlowBlock_old_rule_end(storage_all_nonconvex_bus1_2)_: ++1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_2) = 0 c_e_InvestmentFlowBlock_old_rule_exo(bus1_storage_all_nonconvex_0)_: @@ -199,22 +187,16 @@ c_e_InvestmentFlowBlock_old_rule_exo(bus1_storage_all_nonconvex_2)_: +1 InvestmentFlowBlock_old_exo(bus1_storage_all_nonconvex_2) = 0 -c_e_InvestmentFlowBlock_old_rule(storage_all_nonconvex_bus1_0)_: --1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_0) --1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_0) -+1 InvestmentFlowBlock_old(storage_all_nonconvex_bus1_0) +c_e_InvestmentFlowBlock_old_rule_exo(storage_all_nonconvex_bus1_0)_: ++1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_0) = 0 -c_e_InvestmentFlowBlock_old_rule(storage_all_nonconvex_bus1_1)_: -+1 InvestmentFlowBlock_old(storage_all_nonconvex_bus1_1) --1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_1) --1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_1) +c_e_InvestmentFlowBlock_old_rule_exo(storage_all_nonconvex_bus1_1)_: ++1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_1) = 0 -c_e_InvestmentFlowBlock_old_rule(storage_all_nonconvex_bus1_2)_: -+1 InvestmentFlowBlock_old(storage_all_nonconvex_bus1_2) --1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_2) --1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_2) +c_e_InvestmentFlowBlock_old_rule_exo(storage_all_nonconvex_bus1_2)_: ++1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_2) = 0 c_e_InvestmentFlowBlock_old_rule(bus1_storage_all_nonconvex_0)_: @@ -235,35 +217,23 @@ c_e_InvestmentFlowBlock_old_rule(bus1_storage_all_nonconvex_2)_: -1 InvestmentFlowBlock_old_exo(bus1_storage_all_nonconvex_2) = 0 -c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_0_0)_: -+1 flow(storage_all_nonconvex_bus1_0_0) --1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_0_1)_: -+1 flow(storage_all_nonconvex_bus1_0_1) --1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_1_2)_: -+1 flow(storage_all_nonconvex_bus1_1_2) --1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_1) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_1_3)_: -+1 flow(storage_all_nonconvex_bus1_1_3) --1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_1) -<= 0 +c_e_InvestmentFlowBlock_old_rule(storage_all_nonconvex_bus1_0)_: +-1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_0) +-1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_0) ++1 InvestmentFlowBlock_old(storage_all_nonconvex_bus1_0) += 0 -c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_2_4)_: -+1 flow(storage_all_nonconvex_bus1_2_4) --1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_2) -<= 0 +c_e_InvestmentFlowBlock_old_rule(storage_all_nonconvex_bus1_1)_: ++1 InvestmentFlowBlock_old(storage_all_nonconvex_bus1_1) +-1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_1) +-1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_1) += 0 -c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_2_5)_: -+1 flow(storage_all_nonconvex_bus1_2_5) --1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_2) -<= 0 +c_e_InvestmentFlowBlock_old_rule(storage_all_nonconvex_bus1_2)_: ++1 InvestmentFlowBlock_old(storage_all_nonconvex_bus1_2) +-1 InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_2) +-1 InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_2) += 0 c_u_InvestmentFlowBlock_max(bus1_storage_all_nonconvex_0_0)_: +1 flow(bus1_storage_all_nonconvex_0_0) @@ -295,6 +265,36 @@ c_u_InvestmentFlowBlock_max(bus1_storage_all_nonconvex_2_5)_: -1 InvestmentFlowBlock_total(bus1_storage_all_nonconvex_2) <= 0 +c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_0_0)_: ++1 flow(storage_all_nonconvex_bus1_0_0) +-1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_0_1)_: ++1 flow(storage_all_nonconvex_bus1_0_1) +-1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_1_2)_: ++1 flow(storage_all_nonconvex_bus1_1_2) +-1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_1) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_1_3)_: ++1 flow(storage_all_nonconvex_bus1_1_3) +-1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_1) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_2_4)_: ++1 flow(storage_all_nonconvex_bus1_2_4) +-1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_2) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_all_nonconvex_bus1_2_5)_: ++1 flow(storage_all_nonconvex_bus1_2_5) +-1 InvestmentFlowBlock_total(storage_all_nonconvex_bus1_2) +<= 0 + c_e_GenericInvestmentStorageBlock_total_storage_rule(storage_all_nonconvex_0)_: -1 GenericInvestmentStorageBlock_invest(storage_all_nonconvex_0) +1 GenericInvestmentStorageBlock_total(storage_all_nonconvex_0) @@ -363,36 +363,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage_all_nonconvex_0)_: c_e_GenericInvestmentStorageBlock_balance(storage_all_nonconvex_0_1)_: +1 flow(storage_all_nonconvex_bus1_0_1) -1 flow(bus1_storage_all_nonconvex_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_all_nonconvex_1_2)_: +1 flow(storage_all_nonconvex_bus1_1_2) -1 flow(bus1_storage_all_nonconvex_1_2) --1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_2) +-1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_all_nonconvex_1_3)_: +1 flow(storage_all_nonconvex_bus1_1_3) -1 flow(bus1_storage_all_nonconvex_1_3) --1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_2) -+1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_3) +-1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_3) ++1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_all_nonconvex_2_4)_: +1 flow(storage_all_nonconvex_bus1_2_4) -1 flow(bus1_storage_all_nonconvex_2_4) --1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_3) -+1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_4) +-1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_4) ++1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_all_nonconvex_2_5)_: +1 flow(storage_all_nonconvex_bus1_2_5) -1 flow(bus1_storage_all_nonconvex_2_5) --1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_4) -+1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_5) +-1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_5) ++1 GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_6) = 0 c_u_GenericInvestmentStorageBlock_max_storage_content(storage_all_nonconvex_0_0)_: @@ -456,18 +456,18 @@ c_l_GenericInvestmentStorageBlock_limit_min(storage_all_nonconvex_2)_: >= 0 bounds - 0 <= InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_0) <= 20 - 0 <= InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_0) <= 1 - 0 <= InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_1) <= 20 - 0 <= InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_1) <= 1 - 0 <= InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_2) <= 20 - 0 <= InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_2) <= 1 0 <= InvestmentFlowBlock_invest(bus1_storage_all_nonconvex_0) <= 30 0 <= InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_0) <= 1 0 <= InvestmentFlowBlock_invest(bus1_storage_all_nonconvex_1) <= 30 0 <= InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_1) <= 1 0 <= InvestmentFlowBlock_invest(bus1_storage_all_nonconvex_2) <= 30 0 <= InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_2) <= 1 + 0 <= InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_0) <= 20 + 0 <= InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_0) <= 1 + 0 <= InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_1) <= 20 + 0 <= InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_1) <= 1 + 0 <= InvestmentFlowBlock_invest(storage_all_nonconvex_bus1_2) <= 20 + 0 <= InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_2) <= 1 0 <= GenericInvestmentStorageBlock_invest(storage_all_nonconvex_0) <= 100 0 <= GenericInvestmentStorageBlock_invest_status(storage_all_nonconvex_0) <= 1 0 <= GenericInvestmentStorageBlock_invest(storage_all_nonconvex_1) <= 100 @@ -486,30 +486,30 @@ bounds 0 <= flow(bus1_storage_all_nonconvex_2_4) <= +inf 0 <= flow(storage_all_nonconvex_bus1_2_5) <= +inf 0 <= flow(bus1_storage_all_nonconvex_2_5) <= +inf - 0 <= InvestmentFlowBlock_total(storage_all_nonconvex_bus1_0) <= +inf - 0 <= InvestmentFlowBlock_total(storage_all_nonconvex_bus1_1) <= +inf - 0 <= InvestmentFlowBlock_old(storage_all_nonconvex_bus1_1) <= +inf - 0 <= InvestmentFlowBlock_total(storage_all_nonconvex_bus1_2) <= +inf - 0 <= InvestmentFlowBlock_old(storage_all_nonconvex_bus1_2) <= +inf 0 <= InvestmentFlowBlock_total(bus1_storage_all_nonconvex_0) <= +inf 0 <= InvestmentFlowBlock_total(bus1_storage_all_nonconvex_1) <= +inf 0 <= InvestmentFlowBlock_old(bus1_storage_all_nonconvex_1) <= +inf 0 <= InvestmentFlowBlock_total(bus1_storage_all_nonconvex_2) <= +inf 0 <= InvestmentFlowBlock_old(bus1_storage_all_nonconvex_2) <= +inf - 0 <= InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_0) <= +inf - 0 <= InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_1) <= +inf - 0 <= InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_2) <= +inf + 0 <= InvestmentFlowBlock_total(storage_all_nonconvex_bus1_0) <= +inf + 0 <= InvestmentFlowBlock_total(storage_all_nonconvex_bus1_1) <= +inf + 0 <= InvestmentFlowBlock_old(storage_all_nonconvex_bus1_1) <= +inf + 0 <= InvestmentFlowBlock_total(storage_all_nonconvex_bus1_2) <= +inf + 0 <= InvestmentFlowBlock_old(storage_all_nonconvex_bus1_2) <= +inf 0 <= InvestmentFlowBlock_old_end(bus1_storage_all_nonconvex_0) <= +inf 0 <= InvestmentFlowBlock_old_end(bus1_storage_all_nonconvex_1) <= +inf 0 <= InvestmentFlowBlock_old_end(bus1_storage_all_nonconvex_2) <= +inf - 0 <= InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_0) <= +inf - 0 <= InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_1) <= +inf - 0 <= InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_2) <= +inf + 0 <= InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_0) <= +inf + 0 <= InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_1) <= +inf + 0 <= InvestmentFlowBlock_old_end(storage_all_nonconvex_bus1_2) <= +inf 0 <= InvestmentFlowBlock_old_exo(bus1_storage_all_nonconvex_0) <= +inf 0 <= InvestmentFlowBlock_old_exo(bus1_storage_all_nonconvex_1) <= +inf 0 <= InvestmentFlowBlock_old_exo(bus1_storage_all_nonconvex_2) <= +inf - 0 <= InvestmentFlowBlock_old(storage_all_nonconvex_bus1_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_1) <= +inf + 0 <= InvestmentFlowBlock_old_exo(storage_all_nonconvex_bus1_2) <= +inf 0 <= InvestmentFlowBlock_old(bus1_storage_all_nonconvex_0) <= +inf + 0 <= InvestmentFlowBlock_old(storage_all_nonconvex_bus1_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_all_nonconvex_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_all_nonconvex_1) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_all_nonconvex_1) <= +inf @@ -523,18 +523,19 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage_all_nonconvex_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_all_nonconvex_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_all_nonconvex_6) <= +inf binary - InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_0) - InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_1) - InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_2) InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_0) InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_1) InvestmentFlowBlock_invest_status(bus1_storage_all_nonconvex_2) + InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_0) + InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_1) + InvestmentFlowBlock_invest_status(storage_all_nonconvex_bus1_2) GenericInvestmentStorageBlock_invest_status(storage_all_nonconvex_0) GenericInvestmentStorageBlock_invest_status(storage_all_nonconvex_1) GenericInvestmentStorageBlock_invest_status(storage_all_nonconvex_2) diff --git a/tests/lp_files/storage_invest_minimum.lp b/tests/lp_files/storage_invest_minimum.lp index b20a7966f..f336f1a17 100644 --- a/tests/lp_files/storage_invest_minimum.lp +++ b/tests/lp_files/storage_invest_minimum.lp @@ -41,15 +41,15 @@ c_e_GenericInvestmentStorageBlock_balance_first(storage1)_: c_e_GenericInvestmentStorageBlock_balance(storage1_0_1)_: +1 flow(storage1_electricityBus_0_1) -1 flow(electricityBus_storage1_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage1_0) -+1 GenericInvestmentStorageBlock_storage_content(storage1_1) ++1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-1 GenericInvestmentStorageBlock_storage_content(storage1_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_0_2)_: +1 flow(storage1_electricityBus_0_2) -1 flow(electricityBus_storage1_0_2) --1 GenericInvestmentStorageBlock_storage_content(storage1_1) -+1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-1 GenericInvestmentStorageBlock_storage_content(storage1_2) ++1 GenericInvestmentStorageBlock_storage_content(storage1_3) = 0 c_e_GenericInvestmentStorageBlock_balanced_cstr(storage1)_: @@ -83,6 +83,7 @@ bounds 0 <= GenericInvestmentStorageBlock_total(storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_3) <= +inf end diff --git a/tests/lp_files/storage_invest_minimum_multi_period.lp b/tests/lp_files/storage_invest_minimum_multi_period.lp index c61a64544..05fbc3a65 100644 --- a/tests/lp_files/storage_invest_minimum_multi_period.lp +++ b/tests/lp_files/storage_invest_minimum_multi_period.lp @@ -106,36 +106,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage1_0)_: c_e_GenericInvestmentStorageBlock_balance(storage1_0_1)_: +1 flow(storage1_electricityBus_0_1) -1 flow(electricityBus_storage1_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage1_0) -+1 GenericInvestmentStorageBlock_storage_content(storage1_1) ++1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-1 GenericInvestmentStorageBlock_storage_content(storage1_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_1_2)_: +1 flow(storage1_electricityBus_1_2) -1 flow(electricityBus_storage1_1_2) --1 GenericInvestmentStorageBlock_storage_content(storage1_1) -+1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-1 GenericInvestmentStorageBlock_storage_content(storage1_2) ++1 GenericInvestmentStorageBlock_storage_content(storage1_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_1_3)_: +1 flow(storage1_electricityBus_1_3) -1 flow(electricityBus_storage1_1_3) --1 GenericInvestmentStorageBlock_storage_content(storage1_2) -+1 GenericInvestmentStorageBlock_storage_content(storage1_3) +-1 GenericInvestmentStorageBlock_storage_content(storage1_3) ++1 GenericInvestmentStorageBlock_storage_content(storage1_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_2_4)_: +1 flow(storage1_electricityBus_2_4) -1 flow(electricityBus_storage1_2_4) --1 GenericInvestmentStorageBlock_storage_content(storage1_3) -+1 GenericInvestmentStorageBlock_storage_content(storage1_4) +-1 GenericInvestmentStorageBlock_storage_content(storage1_4) ++1 GenericInvestmentStorageBlock_storage_content(storage1_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_2_5)_: +1 flow(storage1_electricityBus_2_5) -1 flow(electricityBus_storage1_2_5) --1 GenericInvestmentStorageBlock_storage_content(storage1_4) -+1 GenericInvestmentStorageBlock_storage_content(storage1_5) +-1 GenericInvestmentStorageBlock_storage_content(storage1_5) ++1 GenericInvestmentStorageBlock_storage_content(storage1_6) = 0 c_u_GenericInvestmentStorageBlock_max_storage_content(storage1_0_0)_: @@ -197,9 +197,10 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage1_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_6) <= +inf end diff --git a/tests/lp_files/storage_invest_multi_period.lp b/tests/lp_files/storage_invest_multi_period.lp index e8b1246e4..3a1b35020 100644 --- a/tests/lp_files/storage_invest_multi_period.lp +++ b/tests/lp_files/storage_invest_multi_period.lp @@ -107,36 +107,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage1_0)_: c_e_GenericInvestmentStorageBlock_balance(storage1_0_1)_: +1 flow(storage1_electricityBus_0_1) -1 flow(electricityBus_storage1_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage1_0) -+1 GenericInvestmentStorageBlock_storage_content(storage1_1) ++1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-1 GenericInvestmentStorageBlock_storage_content(storage1_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_1_2)_: +1 flow(storage1_electricityBus_1_2) -1 flow(electricityBus_storage1_1_2) --1 GenericInvestmentStorageBlock_storage_content(storage1_1) -+1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-1 GenericInvestmentStorageBlock_storage_content(storage1_2) ++1 GenericInvestmentStorageBlock_storage_content(storage1_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_1_3)_: +1 flow(storage1_electricityBus_1_3) -1 flow(electricityBus_storage1_1_3) --1 GenericInvestmentStorageBlock_storage_content(storage1_2) -+1 GenericInvestmentStorageBlock_storage_content(storage1_3) +-1 GenericInvestmentStorageBlock_storage_content(storage1_3) ++1 GenericInvestmentStorageBlock_storage_content(storage1_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_2_4)_: +1 flow(storage1_electricityBus_2_4) -1 flow(electricityBus_storage1_2_4) --1 GenericInvestmentStorageBlock_storage_content(storage1_3) -+1 GenericInvestmentStorageBlock_storage_content(storage1_4) +-1 GenericInvestmentStorageBlock_storage_content(storage1_4) ++1 GenericInvestmentStorageBlock_storage_content(storage1_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_2_5)_: +1 flow(storage1_electricityBus_2_5) -1 flow(electricityBus_storage1_2_5) --1 GenericInvestmentStorageBlock_storage_content(storage1_4) -+1 GenericInvestmentStorageBlock_storage_content(storage1_5) +-1 GenericInvestmentStorageBlock_storage_content(storage1_5) ++1 GenericInvestmentStorageBlock_storage_content(storage1_6) = 0 c_u_GenericInvestmentStorageBlock_max_storage_content(storage1_0_0)_: @@ -215,9 +215,10 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage1_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_6) <= +inf end diff --git a/tests/lp_files/storage_invest_unbalanced.lp b/tests/lp_files/storage_invest_unbalanced.lp index 2dbed4e9b..62814ead7 100644 --- a/tests/lp_files/storage_invest_unbalanced.lp +++ b/tests/lp_files/storage_invest_unbalanced.lp @@ -21,30 +21,15 @@ c_e_BusBlock_balance(electricityBus_0_2)_: -1 flow(electricityBus_storage1_0_2) = 0 -c_e_InvestmentFlowBlock_total_rule(electricityBus_storage1_0)_: -+1 InvestmentFlowBlock_total(electricityBus_storage1_0) --1 InvestmentFlowBlock_invest(electricityBus_storage1_0) -= 0 - c_e_InvestmentFlowBlock_total_rule(storage1_electricityBus_0)_: +1 InvestmentFlowBlock_total(storage1_electricityBus_0) -1 InvestmentFlowBlock_invest(storage1_electricityBus_0) = 0 -c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_0)_: -+1 flow(electricityBus_storage1_0_0) --1 InvestmentFlowBlock_total(electricityBus_storage1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_1)_: -+1 flow(electricityBus_storage1_0_1) --1 InvestmentFlowBlock_total(electricityBus_storage1_0) -<= 0 - -c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_2)_: -+1 flow(electricityBus_storage1_0_2) --1 InvestmentFlowBlock_total(electricityBus_storage1_0) -<= 0 +c_e_InvestmentFlowBlock_total_rule(electricityBus_storage1_0)_: ++1 InvestmentFlowBlock_total(electricityBus_storage1_0) +-1 InvestmentFlowBlock_invest(electricityBus_storage1_0) += 0 c_u_InvestmentFlowBlock_max(storage1_electricityBus_0_0)_: +1 flow(storage1_electricityBus_0_0) @@ -61,6 +46,21 @@ c_u_InvestmentFlowBlock_max(storage1_electricityBus_0_2)_: -1 InvestmentFlowBlock_total(storage1_electricityBus_0) <= 0 +c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_0)_: ++1 flow(electricityBus_storage1_0_0) +-1 InvestmentFlowBlock_total(electricityBus_storage1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_1)_: ++1 flow(electricityBus_storage1_0_1) +-1 InvestmentFlowBlock_total(electricityBus_storage1_0) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage1_0_2)_: ++1 flow(electricityBus_storage1_0_2) +-1 InvestmentFlowBlock_total(electricityBus_storage1_0) +<= 0 + c_e_GenericInvestmentStorageBlock_total_storage_rule(storage1_0)_: -1 GenericInvestmentStorageBlock_invest(storage1_0) +1 GenericInvestmentStorageBlock_total(storage1_0) @@ -81,15 +81,15 @@ c_e_GenericInvestmentStorageBlock_balance_first(storage1)_: c_e_GenericInvestmentStorageBlock_balance(storage1_0_1)_: +1 flow(storage1_electricityBus_0_1) -1 flow(electricityBus_storage1_0_1) --1 GenericInvestmentStorageBlock_storage_content(storage1_0) -+1 GenericInvestmentStorageBlock_storage_content(storage1_1) ++1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-1 GenericInvestmentStorageBlock_storage_content(storage1_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage1_0_2)_: +1 flow(storage1_electricityBus_0_2) -1 flow(electricityBus_storage1_0_2) --1 GenericInvestmentStorageBlock_storage_content(storage1_1) -+1 GenericInvestmentStorageBlock_storage_content(storage1_2) +-1 GenericInvestmentStorageBlock_storage_content(storage1_2) ++1 GenericInvestmentStorageBlock_storage_content(storage1_3) = 0 c_e_GenericInvestmentStorageBlock_storage_capacity_inflow(storage1_0)_: @@ -125,13 +125,14 @@ bounds 0 <= flow(electricityBus_storage1_0_1) <= +inf 0 <= flow(storage1_electricityBus_0_2) <= +inf 0 <= flow(electricityBus_storage1_0_2) <= +inf - 0 <= InvestmentFlowBlock_total(electricityBus_storage1_0) <= +inf - 0 <= InvestmentFlowBlock_invest(electricityBus_storage1_0) <= +inf 0 <= InvestmentFlowBlock_total(storage1_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_invest(storage1_electricityBus_0) <= +inf + 0 <= InvestmentFlowBlock_total(electricityBus_storage1_0) <= +inf + 0 <= InvestmentFlowBlock_invest(electricityBus_storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage1_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage1_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_1) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage1_3) <= +inf end diff --git a/tests/lp_files/storage_invest_with_offset.lp b/tests/lp_files/storage_invest_with_offset.lp index 18cc0c966..28a9e89c9 100644 --- a/tests/lp_files/storage_invest_with_offset.lp +++ b/tests/lp_files/storage_invest_with_offset.lp @@ -28,30 +28,15 @@ c_e_BusBlock_balance(electricityBus_0_2)_: +1 flow(storage_non_convex_electricityBus_0_2) = 0 -c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_0)_: -+1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) --1 InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) -= 0 - c_e_InvestmentFlowBlock_total_rule(electricityBus_storage_non_convex_0)_: +1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) -1 InvestmentFlowBlock_invest(electricityBus_storage_non_convex_0) = 0 -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_0)_: -+1 flow(storage_non_convex_electricityBus_0_0) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_1)_: -+1 flow(storage_non_convex_electricityBus_0_1) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_2)_: -+1 flow(storage_non_convex_electricityBus_0_2) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) -<= 0 +c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_0)_: ++1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) +-1 InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) += 0 c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_0_0)_: +1 flow(electricityBus_storage_non_convex_0_0) @@ -68,6 +53,21 @@ c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_0_2)_: -1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) <= 0 +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_0)_: ++1 flow(storage_non_convex_electricityBus_0_0) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_1)_: ++1 flow(storage_non_convex_electricityBus_0_1) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_2)_: ++1 flow(storage_non_convex_electricityBus_0_2) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) +<= 0 + c_e_GenericInvestmentStorageBlock_total_storage_rule(storage_non_convex_0)_: -1 GenericInvestmentStorageBlock_invest(storage_non_convex_0) +1 GenericInvestmentStorageBlock_total(storage_non_convex_0) @@ -88,15 +88,15 @@ c_e_GenericInvestmentStorageBlock_balance_first(storage_non_convex)_: c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_0_1)_: -0.97 flow(electricityBus_storage_non_convex_0_1) +1.1627906976744187 flow(storage_non_convex_electricityBus_0_1) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_0_2)_: -0.97 flow(electricityBus_storage_non_convex_0_2) +1.1627906976744187 flow(storage_non_convex_electricityBus_0_2) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) = 0 c_e_GenericInvestmentStorageBlock_balanced_cstr(storage_non_convex)_: @@ -163,15 +163,16 @@ bounds 0 <= flow(storage_non_convex_electricityBus_0_2) <= +inf 0 <= GenericInvestmentStorageBlock_invest(storage_non_convex_0) <= 1454 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) <= 1 - 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) <= +inf - 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) <= +inf 0 <= InvestmentFlowBlock_invest(electricityBus_storage_non_convex_0) <= +inf + 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) <= +inf + 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_non_convex_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage_non_convex) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) <= +inf binary GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) end diff --git a/tests/lp_files/storage_invest_with_offset_multi_period.lp b/tests/lp_files/storage_invest_with_offset_multi_period.lp index 0391a3236..622382a63 100644 --- a/tests/lp_files/storage_invest_with_offset_multi_period.lp +++ b/tests/lp_files/storage_invest_with_offset_multi_period.lp @@ -53,25 +53,6 @@ c_e_BusBlock_balance(electricityBus_2_5)_: +1 flow(storage_non_convex_electricityBus_2_5) = 0 -c_e_InvestmentFlowBlock_total_rule(electricityBus_storage_non_convex_0)_: -+1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) --1 InvestmentFlowBlock_invest(electricityBus_storage_non_convex_0) -= 0 - -c_e_InvestmentFlowBlock_total_rule(electricityBus_storage_non_convex_1)_: --1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) -+1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_1) --1 InvestmentFlowBlock_invest(electricityBus_storage_non_convex_1) -+1 InvestmentFlowBlock_old(electricityBus_storage_non_convex_1) -= 0 - -c_e_InvestmentFlowBlock_total_rule(electricityBus_storage_non_convex_2)_: --1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_1) -+1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_2) --1 InvestmentFlowBlock_invest(electricityBus_storage_non_convex_2) -+1 InvestmentFlowBlock_old(electricityBus_storage_non_convex_2) -= 0 - c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_0)_: +1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) -1 InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) @@ -91,16 +72,23 @@ c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_2)_: +1 InvestmentFlowBlock_old(storage_non_convex_electricityBus_2) = 0 -c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage_non_convex_0)_: -+1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_0) +c_e_InvestmentFlowBlock_total_rule(electricityBus_storage_non_convex_0)_: ++1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) +-1 InvestmentFlowBlock_invest(electricityBus_storage_non_convex_0) = 0 -c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage_non_convex_1)_: -+1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_1) +c_e_InvestmentFlowBlock_total_rule(electricityBus_storage_non_convex_1)_: +-1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) ++1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_1) +-1 InvestmentFlowBlock_invest(electricityBus_storage_non_convex_1) ++1 InvestmentFlowBlock_old(electricityBus_storage_non_convex_1) = 0 -c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage_non_convex_2)_: -+1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_2) +c_e_InvestmentFlowBlock_total_rule(electricityBus_storage_non_convex_2)_: +-1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_1) ++1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_2) +-1 InvestmentFlowBlock_invest(electricityBus_storage_non_convex_2) ++1 InvestmentFlowBlock_old(electricityBus_storage_non_convex_2) = 0 c_e_InvestmentFlowBlock_old_rule_end(storage_non_convex_electricityBus_0)_: @@ -115,16 +103,16 @@ c_e_InvestmentFlowBlock_old_rule_end(storage_non_convex_electricityBus_2)_: +1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_2) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage_non_convex_0)_: -+1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_0) +c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage_non_convex_0)_: ++1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_0) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage_non_convex_1)_: -+1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_1) +c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage_non_convex_1)_: ++1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_1) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage_non_convex_2)_: -+1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_2) +c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage_non_convex_2)_: ++1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_2) = 0 c_e_InvestmentFlowBlock_old_rule_exo(storage_non_convex_electricityBus_0)_: @@ -139,22 +127,16 @@ c_e_InvestmentFlowBlock_old_rule_exo(storage_non_convex_electricityBus_2)_: +1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_2) = 0 -c_e_InvestmentFlowBlock_old_rule(electricityBus_storage_non_convex_0)_: --1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_0) --1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_0) -+1 InvestmentFlowBlock_old(electricityBus_storage_non_convex_0) +c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage_non_convex_0)_: ++1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_0) = 0 -c_e_InvestmentFlowBlock_old_rule(electricityBus_storage_non_convex_1)_: -+1 InvestmentFlowBlock_old(electricityBus_storage_non_convex_1) --1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_1) --1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_1) +c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage_non_convex_1)_: ++1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_1) = 0 -c_e_InvestmentFlowBlock_old_rule(electricityBus_storage_non_convex_2)_: -+1 InvestmentFlowBlock_old(electricityBus_storage_non_convex_2) --1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_2) --1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_2) +c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage_non_convex_2)_: ++1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_2) = 0 c_e_InvestmentFlowBlock_old_rule(storage_non_convex_electricityBus_0)_: @@ -175,35 +157,23 @@ c_e_InvestmentFlowBlock_old_rule(storage_non_convex_electricityBus_2)_: -1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_2) = 0 -c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_0_0)_: -+1 flow(electricityBus_storage_non_convex_0_0) --1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) -<= 0 - -c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_0_1)_: -+1 flow(electricityBus_storage_non_convex_0_1) --1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) -<= 0 - -c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_1_2)_: -+1 flow(electricityBus_storage_non_convex_1_2) --1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_1) -<= 0 - -c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_1_3)_: -+1 flow(electricityBus_storage_non_convex_1_3) --1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_1) -<= 0 +c_e_InvestmentFlowBlock_old_rule(electricityBus_storage_non_convex_0)_: +-1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_0) +-1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_0) ++1 InvestmentFlowBlock_old(electricityBus_storage_non_convex_0) += 0 -c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_2_4)_: -+1 flow(electricityBus_storage_non_convex_2_4) --1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_2) -<= 0 +c_e_InvestmentFlowBlock_old_rule(electricityBus_storage_non_convex_1)_: ++1 InvestmentFlowBlock_old(electricityBus_storage_non_convex_1) +-1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_1) +-1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_1) += 0 -c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_2_5)_: -+1 flow(electricityBus_storage_non_convex_2_5) --1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_2) -<= 0 +c_e_InvestmentFlowBlock_old_rule(electricityBus_storage_non_convex_2)_: ++1 InvestmentFlowBlock_old(electricityBus_storage_non_convex_2) +-1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_2) +-1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_2) += 0 c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_0)_: +1 flow(storage_non_convex_electricityBus_0_0) @@ -235,6 +205,36 @@ c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_2_5)_: -1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_2) <= 0 +c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_0_0)_: ++1 flow(electricityBus_storage_non_convex_0_0) +-1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_0_1)_: ++1 flow(electricityBus_storage_non_convex_0_1) +-1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_1_2)_: ++1 flow(electricityBus_storage_non_convex_1_2) +-1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_1) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_1_3)_: ++1 flow(electricityBus_storage_non_convex_1_3) +-1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_1) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_2_4)_: ++1 flow(electricityBus_storage_non_convex_2_4) +-1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_2) +<= 0 + +c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_2_5)_: ++1 flow(electricityBus_storage_non_convex_2_5) +-1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_2) +<= 0 + c_e_GenericInvestmentStorageBlock_total_storage_rule(storage_non_convex_0)_: -1 GenericInvestmentStorageBlock_invest(storage_non_convex_0) +1 GenericInvestmentStorageBlock_total(storage_non_convex_0) @@ -303,36 +303,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage_non_convex_0)_: c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_0_1)_: -0.97 flow(electricityBus_storage_non_convex_0_1) +1.1627906976744187 flow(storage_non_convex_electricityBus_0_1) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_1_2)_: -0.97 flow(electricityBus_storage_non_convex_1_2) +1.1627906976744187 flow(storage_non_convex_electricityBus_1_2) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_1_3)_: -0.97 flow(electricityBus_storage_non_convex_1_3) +1.1627906976744187 flow(storage_non_convex_electricityBus_1_3) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_2_4)_: -0.97 flow(electricityBus_storage_non_convex_2_4) +1.1627906976744187 flow(storage_non_convex_electricityBus_2_4) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_2_5)_: -0.97 flow(electricityBus_storage_non_convex_2_5) +1.1627906976744187 flow(storage_non_convex_electricityBus_2_5) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_6) = 0 c_e_GenericInvestmentStorageBlock_storage_capacity_inflow(storage_non_convex_0)_: @@ -474,14 +474,6 @@ bounds 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_1) <= 1 0 <= GenericInvestmentStorageBlock_invest(storage_non_convex_2) <= 1454 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_2) <= 1 - 0 <= InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) <= +inf - 0 <= InvestmentFlowBlock_invest(electricityBus_storage_non_convex_0) <= +inf - 0 <= InvestmentFlowBlock_total(electricityBus_storage_non_convex_1) <= +inf - 0 <= InvestmentFlowBlock_invest(electricityBus_storage_non_convex_1) <= +inf - 0 <= InvestmentFlowBlock_old(electricityBus_storage_non_convex_1) <= +inf - 0 <= InvestmentFlowBlock_total(electricityBus_storage_non_convex_2) <= +inf - 0 <= InvestmentFlowBlock_invest(electricityBus_storage_non_convex_2) <= +inf - 0 <= InvestmentFlowBlock_old(electricityBus_storage_non_convex_2) <= +inf 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_1) <= +inf @@ -490,20 +482,28 @@ bounds 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_2) <= +inf 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_2) <= +inf 0 <= InvestmentFlowBlock_old(storage_non_convex_electricityBus_2) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_0) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_1) <= +inf - 0 <= InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_2) <= +inf + 0 <= InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) <= +inf + 0 <= InvestmentFlowBlock_invest(electricityBus_storage_non_convex_0) <= +inf + 0 <= InvestmentFlowBlock_total(electricityBus_storage_non_convex_1) <= +inf + 0 <= InvestmentFlowBlock_invest(electricityBus_storage_non_convex_1) <= +inf + 0 <= InvestmentFlowBlock_old(electricityBus_storage_non_convex_1) <= +inf + 0 <= InvestmentFlowBlock_total(electricityBus_storage_non_convex_2) <= +inf + 0 <= InvestmentFlowBlock_invest(electricityBus_storage_non_convex_2) <= +inf + 0 <= InvestmentFlowBlock_old(electricityBus_storage_non_convex_2) <= +inf 0 <= InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_1) <= +inf 0 <= InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_2) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_0) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_1) <= +inf - 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_2) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_0) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_1) <= +inf + 0 <= InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_2) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_1) <= +inf 0 <= InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_2) <= +inf - 0 <= InvestmentFlowBlock_old(electricityBus_storage_non_convex_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_1) <= +inf + 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_2) <= +inf 0 <= InvestmentFlowBlock_old(storage_non_convex_electricityBus_0) <= +inf + 0 <= InvestmentFlowBlock_old(electricityBus_storage_non_convex_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_non_convex_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_non_convex_1) <= +inf @@ -517,11 +517,12 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage_non_convex_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_non_convex_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_6) <= +inf binary GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) GenericInvestmentStorageBlock_invest_status(storage_non_convex_1) diff --git a/tests/lp_files/storage_invest_with_offset_multi_period_remaining_value.lp b/tests/lp_files/storage_invest_with_offset_multi_period_remaining_value.lp index 9347789d9..a809de436 100644 --- a/tests/lp_files/storage_invest_with_offset_multi_period_remaining_value.lp +++ b/tests/lp_files/storage_invest_with_offset_multi_period_remaining_value.lp @@ -14,10 +14,10 @@ objective: +23.52941176470588 flow(storage_non_convex_electricityBus_1_3) +23.06805074971165 flow(storage_non_convex_electricityBus_2_4) +23.06805074971165 flow(storage_non_convex_electricityBus_2_5) -+25.57348127967623 GenericInvestmentStorageBlock_invest(storage_non_convex_0) -+5 GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) +16.879634095198618 GenericInvestmentStorageBlock_invest(storage_non_convex_1) +4.901960784313725 GenericInvestmentStorageBlock_invest_status(storage_non_convex_1) ++25.57348127967623 GenericInvestmentStorageBlock_invest(storage_non_convex_0) ++5 GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) +8.35625450257358 GenericInvestmentStorageBlock_invest(storage_non_convex_2) +4.805843906189927 GenericInvestmentStorageBlock_invest_status(storage_non_convex_2) @@ -303,36 +303,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage_non_convex_0)_: c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_0_1)_: -0.97 flow(electricityBus_storage_non_convex_0_1) +1.1627906976744187 flow(storage_non_convex_electricityBus_0_1) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_1_2)_: -0.97 flow(electricityBus_storage_non_convex_1_2) +1.1627906976744187 flow(storage_non_convex_electricityBus_1_2) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_1_3)_: -0.97 flow(electricityBus_storage_non_convex_1_3) +1.1627906976744187 flow(storage_non_convex_electricityBus_1_3) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_2_4)_: -0.97 flow(electricityBus_storage_non_convex_2_4) +1.1627906976744187 flow(storage_non_convex_electricityBus_2_4) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_2_5)_: -0.97 flow(electricityBus_storage_non_convex_2_5) +1.1627906976744187 flow(storage_non_convex_electricityBus_2_5) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_6) = 0 c_e_GenericInvestmentStorageBlock_storage_capacity_inflow(storage_non_convex_0)_: @@ -468,10 +468,10 @@ bounds 0 <= flow(storage_non_convex_electricityBus_1_3) <= +inf 0 <= flow(storage_non_convex_electricityBus_2_4) <= +inf 0 <= flow(storage_non_convex_electricityBus_2_5) <= +inf - 0 <= GenericInvestmentStorageBlock_invest(storage_non_convex_0) <= 1454 - 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) <= 1 0 <= GenericInvestmentStorageBlock_invest(storage_non_convex_1) <= 1454 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_1) <= 1 + 0 <= GenericInvestmentStorageBlock_invest(storage_non_convex_0) <= 1454 + 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) <= 1 0 <= GenericInvestmentStorageBlock_invest(storage_non_convex_2) <= 1454 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_2) <= 1 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) <= +inf @@ -517,13 +517,14 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage_non_convex_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_non_convex_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_6) <= +inf binary - GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) GenericInvestmentStorageBlock_invest_status(storage_non_convex_1) + GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) GenericInvestmentStorageBlock_invest_status(storage_non_convex_2) end diff --git a/tests/lp_files/storage_invest_without_offset.lp b/tests/lp_files/storage_invest_without_offset.lp index 248ce6848..9a48b478a 100644 --- a/tests/lp_files/storage_invest_without_offset.lp +++ b/tests/lp_files/storage_invest_without_offset.lp @@ -27,30 +27,15 @@ c_e_BusBlock_balance(electricityBus_0_2)_: +1 flow(storage_non_convex_electricityBus_0_2) = 0 -c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_0)_: -+1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) --1 InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) -= 0 - c_e_InvestmentFlowBlock_total_rule(electricityBus_storage_non_convex_0)_: +1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) -1 InvestmentFlowBlock_invest(electricityBus_storage_non_convex_0) = 0 -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_0)_: -+1 flow(storage_non_convex_electricityBus_0_0) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_1)_: -+1 flow(storage_non_convex_electricityBus_0_1) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_2)_: -+1 flow(storage_non_convex_electricityBus_0_2) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) -<= 0 +c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_0)_: ++1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) +-1 InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) += 0 c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_0_0)_: +1 flow(electricityBus_storage_non_convex_0_0) @@ -67,6 +52,21 @@ c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_0_2)_: -1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) <= 0 +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_0)_: ++1 flow(storage_non_convex_electricityBus_0_0) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_1)_: ++1 flow(storage_non_convex_electricityBus_0_1) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_2)_: ++1 flow(storage_non_convex_electricityBus_0_2) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) +<= 0 + c_e_GenericInvestmentStorageBlock_total_storage_rule(storage_non_convex_0)_: -1 GenericInvestmentStorageBlock_invest(storage_non_convex_0) +1 GenericInvestmentStorageBlock_total(storage_non_convex_0) @@ -87,15 +87,15 @@ c_e_GenericInvestmentStorageBlock_balance_first(storage_non_convex)_: c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_0_1)_: -0.97 flow(electricityBus_storage_non_convex_0_1) +1.1627906976744187 flow(storage_non_convex_electricityBus_0_1) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_0_2)_: -0.97 flow(electricityBus_storage_non_convex_0_2) +1.1627906976744187 flow(storage_non_convex_electricityBus_0_2) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) = 0 c_e_GenericInvestmentStorageBlock_balanced_cstr(storage_non_convex)_: @@ -161,15 +161,16 @@ bounds 0 <= flow(storage_non_convex_electricityBus_0_1) <= +inf 0 <= flow(storage_non_convex_electricityBus_0_2) <= +inf 0 <= GenericInvestmentStorageBlock_invest(storage_non_convex_0) <= 244 - 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) <= +inf - 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) <= +inf 0 <= InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) <= +inf 0 <= InvestmentFlowBlock_invest(electricityBus_storage_non_convex_0) <= +inf + 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) <= +inf + 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_non_convex_0) <= +inf 0 <= GenericInvestmentStorageBlock_init_content(storage_non_convex) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) <= +inf 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) <= 1 binary GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) diff --git a/tests/lp_files/storage_invest_without_offset_multi_period.lp b/tests/lp_files/storage_invest_without_offset_multi_period.lp index f4a182548..0b6ccbf2d 100644 --- a/tests/lp_files/storage_invest_without_offset_multi_period.lp +++ b/tests/lp_files/storage_invest_without_offset_multi_period.lp @@ -300,36 +300,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage_non_convex_0)_: c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_0_1)_: -0.97 flow(electricityBus_storage_non_convex_0_1) +1.1627906976744187 flow(storage_non_convex_electricityBus_0_1) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_1_2)_: -0.97 flow(electricityBus_storage_non_convex_1_2) +1.1627906976744187 flow(storage_non_convex_electricityBus_1_2) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_1_3)_: -0.97 flow(electricityBus_storage_non_convex_1_3) +1.1627906976744187 flow(storage_non_convex_electricityBus_1_3) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_2_4)_: -0.97 flow(electricityBus_storage_non_convex_2_4) +1.1627906976744187 flow(storage_non_convex_electricityBus_2_4) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_2_5)_: -0.97 flow(electricityBus_storage_non_convex_2_5) +1.1627906976744187 flow(storage_non_convex_electricityBus_2_5) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_6) = 0 c_e_GenericInvestmentStorageBlock_storage_capacity_inflow(storage_non_convex_0)_: @@ -511,11 +511,12 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage_non_convex_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_non_convex_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_6) <= +inf 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) <= 1 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_1) <= 1 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_2) <= 1 diff --git a/tests/lp_files/storage_invest_without_offset_multi_period_remaining_value.lp b/tests/lp_files/storage_invest_without_offset_multi_period_remaining_value.lp index 179c59847..9d3b034e3 100644 --- a/tests/lp_files/storage_invest_without_offset_multi_period_remaining_value.lp +++ b/tests/lp_files/storage_invest_without_offset_multi_period_remaining_value.lp @@ -14,8 +14,8 @@ objective: +23.52941176470588 flow(storage_non_convex_electricityBus_1_3) +23.06805074971165 flow(storage_non_convex_electricityBus_2_4) +23.06805074971165 flow(storage_non_convex_electricityBus_2_5) -+24.868005934029988 GenericInvestmentStorageBlock_invest(storage_non_convex_0) +16.413989016710378 GenericInvestmentStorageBlock_invest(storage_non_convex_1) ++24.868005934029988 GenericInvestmentStorageBlock_invest(storage_non_convex_0) +8.125737136985347 GenericInvestmentStorageBlock_invest(storage_non_convex_2) s.t. @@ -50,25 +50,6 @@ c_e_BusBlock_balance(electricityBus_2_5)_: +1 flow(storage_non_convex_electricityBus_2_5) = 0 -c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_0)_: -+1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) --1 InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) -= 0 - -c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_1)_: --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) -+1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_1) --1 InvestmentFlowBlock_invest(storage_non_convex_electricityBus_1) -+1 InvestmentFlowBlock_old(storage_non_convex_electricityBus_1) -= 0 - -c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_2)_: --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_1) -+1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_2) --1 InvestmentFlowBlock_invest(storage_non_convex_electricityBus_2) -+1 InvestmentFlowBlock_old(storage_non_convex_electricityBus_2) -= 0 - c_e_InvestmentFlowBlock_total_rule(electricityBus_storage_non_convex_0)_: +1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) -1 InvestmentFlowBlock_invest(electricityBus_storage_non_convex_0) @@ -88,16 +69,23 @@ c_e_InvestmentFlowBlock_total_rule(electricityBus_storage_non_convex_2)_: +1 InvestmentFlowBlock_old(electricityBus_storage_non_convex_2) = 0 -c_e_InvestmentFlowBlock_old_rule_end(storage_non_convex_electricityBus_0)_: -+1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_0) +c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_0)_: ++1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) +-1 InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) = 0 -c_e_InvestmentFlowBlock_old_rule_end(storage_non_convex_electricityBus_1)_: -+1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_1) +c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_1)_: +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) ++1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_1) +-1 InvestmentFlowBlock_invest(storage_non_convex_electricityBus_1) ++1 InvestmentFlowBlock_old(storage_non_convex_electricityBus_1) = 0 -c_e_InvestmentFlowBlock_old_rule_end(storage_non_convex_electricityBus_2)_: -+1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_2) +c_e_InvestmentFlowBlock_total_rule(storage_non_convex_electricityBus_2)_: +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_1) ++1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_2) +-1 InvestmentFlowBlock_invest(storage_non_convex_electricityBus_2) ++1 InvestmentFlowBlock_old(storage_non_convex_electricityBus_2) = 0 c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage_non_convex_0)_: @@ -112,16 +100,16 @@ c_e_InvestmentFlowBlock_old_rule_end(electricityBus_storage_non_convex_2)_: +1 InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_2) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(storage_non_convex_electricityBus_0)_: -+1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_0) +c_e_InvestmentFlowBlock_old_rule_end(storage_non_convex_electricityBus_0)_: ++1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_0) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(storage_non_convex_electricityBus_1)_: -+1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_1) +c_e_InvestmentFlowBlock_old_rule_end(storage_non_convex_electricityBus_1)_: ++1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_1) = 0 -c_e_InvestmentFlowBlock_old_rule_exo(storage_non_convex_electricityBus_2)_: -+1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_2) +c_e_InvestmentFlowBlock_old_rule_end(storage_non_convex_electricityBus_2)_: ++1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_2) = 0 c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage_non_convex_0)_: @@ -136,22 +124,16 @@ c_e_InvestmentFlowBlock_old_rule_exo(electricityBus_storage_non_convex_2)_: +1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_2) = 0 -c_e_InvestmentFlowBlock_old_rule(storage_non_convex_electricityBus_0)_: --1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_0) --1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_0) -+1 InvestmentFlowBlock_old(storage_non_convex_electricityBus_0) +c_e_InvestmentFlowBlock_old_rule_exo(storage_non_convex_electricityBus_0)_: ++1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_0) = 0 -c_e_InvestmentFlowBlock_old_rule(storage_non_convex_electricityBus_1)_: -+1 InvestmentFlowBlock_old(storage_non_convex_electricityBus_1) --1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_1) --1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_1) +c_e_InvestmentFlowBlock_old_rule_exo(storage_non_convex_electricityBus_1)_: ++1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_1) = 0 -c_e_InvestmentFlowBlock_old_rule(storage_non_convex_electricityBus_2)_: -+1 InvestmentFlowBlock_old(storage_non_convex_electricityBus_2) --1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_2) --1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_2) +c_e_InvestmentFlowBlock_old_rule_exo(storage_non_convex_electricityBus_2)_: ++1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_2) = 0 c_e_InvestmentFlowBlock_old_rule(electricityBus_storage_non_convex_0)_: @@ -172,35 +154,23 @@ c_e_InvestmentFlowBlock_old_rule(electricityBus_storage_non_convex_2)_: -1 InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_2) = 0 -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_0)_: -+1 flow(storage_non_convex_electricityBus_0_0) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_1)_: -+1 flow(storage_non_convex_electricityBus_0_1) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_1_2)_: -+1 flow(storage_non_convex_electricityBus_1_2) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_1) -<= 0 - -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_1_3)_: -+1 flow(storage_non_convex_electricityBus_1_3) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_1) -<= 0 +c_e_InvestmentFlowBlock_old_rule(storage_non_convex_electricityBus_0)_: +-1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_0) +-1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_0) ++1 InvestmentFlowBlock_old(storage_non_convex_electricityBus_0) += 0 -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_2_4)_: -+1 flow(storage_non_convex_electricityBus_2_4) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_2) -<= 0 +c_e_InvestmentFlowBlock_old_rule(storage_non_convex_electricityBus_1)_: ++1 InvestmentFlowBlock_old(storage_non_convex_electricityBus_1) +-1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_1) +-1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_1) += 0 -c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_2_5)_: -+1 flow(storage_non_convex_electricityBus_2_5) --1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_2) -<= 0 +c_e_InvestmentFlowBlock_old_rule(storage_non_convex_electricityBus_2)_: ++1 InvestmentFlowBlock_old(storage_non_convex_electricityBus_2) +-1 InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_2) +-1 InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_2) += 0 c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_0_0)_: +1 flow(electricityBus_storage_non_convex_0_0) @@ -232,6 +202,36 @@ c_u_InvestmentFlowBlock_max(electricityBus_storage_non_convex_2_5)_: -1 InvestmentFlowBlock_total(electricityBus_storage_non_convex_2) <= 0 +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_0)_: ++1 flow(storage_non_convex_electricityBus_0_0) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_0_1)_: ++1 flow(storage_non_convex_electricityBus_0_1) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_1_2)_: ++1 flow(storage_non_convex_electricityBus_1_2) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_1) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_1_3)_: ++1 flow(storage_non_convex_electricityBus_1_3) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_1) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_2_4)_: ++1 flow(storage_non_convex_electricityBus_2_4) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_2) +<= 0 + +c_u_InvestmentFlowBlock_max(storage_non_convex_electricityBus_2_5)_: ++1 flow(storage_non_convex_electricityBus_2_5) +-1 InvestmentFlowBlock_total(storage_non_convex_electricityBus_2) +<= 0 + c_e_GenericInvestmentStorageBlock_total_storage_rule(storage_non_convex_0)_: -1 GenericInvestmentStorageBlock_invest(storage_non_convex_0) +1 GenericInvestmentStorageBlock_total(storage_non_convex_0) @@ -300,36 +300,36 @@ c_e_GenericInvestmentStorageBlock_initially_empty(storage_non_convex_0)_: c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_0_1)_: -0.97 flow(electricityBus_storage_non_convex_0_1) +1.1627906976744187 flow(storage_non_convex_electricityBus_0_1) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_1_2)_: -0.97 flow(electricityBus_storage_non_convex_1_2) +1.1627906976744187 flow(storage_non_convex_electricityBus_1_2) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_1_3)_: -0.97 flow(electricityBus_storage_non_convex_1_3) +1.1627906976744187 flow(storage_non_convex_electricityBus_1_3) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_2_4)_: -0.97 flow(electricityBus_storage_non_convex_2_4) +1.1627906976744187 flow(storage_non_convex_electricityBus_2_4) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) = 0 c_e_GenericInvestmentStorageBlock_balance(storage_non_convex_2_5)_: -0.97 flow(electricityBus_storage_non_convex_2_5) +1.1627906976744187 flow(storage_non_convex_electricityBus_2_5) --0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) -+1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) +-0.87 GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) ++1 GenericInvestmentStorageBlock_storage_content(storage_non_convex_6) = 0 c_e_GenericInvestmentStorageBlock_storage_capacity_inflow(storage_non_convex_0)_: @@ -465,17 +465,9 @@ bounds 0 <= flow(storage_non_convex_electricityBus_1_3) <= +inf 0 <= flow(storage_non_convex_electricityBus_2_4) <= +inf 0 <= flow(storage_non_convex_electricityBus_2_5) <= +inf - 0 <= GenericInvestmentStorageBlock_invest(storage_non_convex_0) <= 244 0 <= GenericInvestmentStorageBlock_invest(storage_non_convex_1) <= 244 + 0 <= GenericInvestmentStorageBlock_invest(storage_non_convex_0) <= 244 0 <= GenericInvestmentStorageBlock_invest(storage_non_convex_2) <= 244 - 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) <= +inf - 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) <= +inf - 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_1) <= +inf - 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_1) <= +inf - 0 <= InvestmentFlowBlock_old(storage_non_convex_electricityBus_1) <= +inf - 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_2) <= +inf - 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_2) <= +inf - 0 <= InvestmentFlowBlock_old(storage_non_convex_electricityBus_2) <= +inf 0 <= InvestmentFlowBlock_total(electricityBus_storage_non_convex_0) <= +inf 0 <= InvestmentFlowBlock_invest(electricityBus_storage_non_convex_0) <= +inf 0 <= InvestmentFlowBlock_total(electricityBus_storage_non_convex_1) <= +inf @@ -484,20 +476,28 @@ bounds 0 <= InvestmentFlowBlock_total(electricityBus_storage_non_convex_2) <= +inf 0 <= InvestmentFlowBlock_invest(electricityBus_storage_non_convex_2) <= +inf 0 <= InvestmentFlowBlock_old(electricityBus_storage_non_convex_2) <= +inf - 0 <= InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_0) <= +inf - 0 <= InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_1) <= +inf - 0 <= InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_2) <= +inf + 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_0) <= +inf + 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_0) <= +inf + 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_1) <= +inf + 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_1) <= +inf + 0 <= InvestmentFlowBlock_old(storage_non_convex_electricityBus_1) <= +inf + 0 <= InvestmentFlowBlock_total(storage_non_convex_electricityBus_2) <= +inf + 0 <= InvestmentFlowBlock_invest(storage_non_convex_electricityBus_2) <= +inf + 0 <= InvestmentFlowBlock_old(storage_non_convex_electricityBus_2) <= +inf 0 <= InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_0) <= +inf 0 <= InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_1) <= +inf 0 <= InvestmentFlowBlock_old_end(electricityBus_storage_non_convex_2) <= +inf - 0 <= InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_0) <= +inf - 0 <= InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_1) <= +inf - 0 <= InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_2) <= +inf + 0 <= InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_0) <= +inf + 0 <= InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_1) <= +inf + 0 <= InvestmentFlowBlock_old_end(storage_non_convex_electricityBus_2) <= +inf 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_0) <= +inf 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_1) <= +inf 0 <= InvestmentFlowBlock_old_exo(electricityBus_storage_non_convex_2) <= +inf - 0 <= InvestmentFlowBlock_old(storage_non_convex_electricityBus_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_0) <= +inf + 0 <= InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_1) <= +inf + 0 <= InvestmentFlowBlock_old_exo(storage_non_convex_electricityBus_2) <= +inf 0 <= InvestmentFlowBlock_old(electricityBus_storage_non_convex_0) <= +inf + 0 <= InvestmentFlowBlock_old(storage_non_convex_electricityBus_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_non_convex_0) <= +inf 0 <= GenericInvestmentStorageBlock_total(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_non_convex_1) <= +inf @@ -511,11 +511,12 @@ bounds 0 <= GenericInvestmentStorageBlock_old_exo(storage_non_convex_2) <= +inf 0 <= GenericInvestmentStorageBlock_old(storage_non_convex_0) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_0) <= +inf - 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_2) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_1) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_3) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_4) <= +inf 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_5) <= +inf + 0 <= GenericInvestmentStorageBlock_storage_content(storage_non_convex_6) <= +inf 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_0) <= 1 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_1) <= 1 0 <= GenericInvestmentStorageBlock_invest_status(storage_non_convex_2) <= 1 diff --git a/tests/multi_period_constraint_tests.py b/tests/multi_period_constraint_tests.py index 417fdf0dd..ccdbbc858 100644 --- a/tests/multi_period_constraint_tests.py +++ b/tests/multi_period_constraint_tests.py @@ -81,11 +81,10 @@ def compare_lp_files(self, filename, ignored=None, my_om=None): om = self.get_om() else: om = my_om - tmp_filename = filename.replace(".lp", "") + "_tmp.lp" - new_filename = ospath.join(self.tmppath, tmp_filename) + new_filename = ospath.join(self.tmppath, filename) om.write(new_filename, io_options={"symbolic_solver_labels": True}) logging.info("Comparing with file: {0}".format(filename)) - with open(ospath.join(self.tmppath, tmp_filename)) as generated_file: + with open(new_filename) as generated_file: with open( ospath.join( ospath.dirname(ospath.realpath(__file__)), diff --git a/tests/test_scripts/test_solph/test_storage_investment/test_storage_investment.py b/tests/test_scripts/test_solph/test_storage_investment/test_storage_investment.py index 3d89bde91..ea48a99f9 100644 --- a/tests/test_scripts/test_solph/test_storage_investment/test_storage_investment.py +++ b/tests/test_scripts/test_solph/test_storage_investment/test_storage_investment.py @@ -174,7 +174,7 @@ def test_results_with_actual_dump(): ] stor_invest_dict = { - "storage_invest": 2040000, + "storage_invest": 2344080, (("electricity", "None"), "duals"): 10800000000321, (("electricity", "demand"), "flow"): 105867395, (("electricity", "excess_bel"), "flow"): 211771291,