Skip to content
Snippets Groups Projects
Commit 1f64708b authored by Christoph von Oy's avatar Christoph von Oy
Browse files

Added capacity to connections

parent 5c6699a7
No related branches found
No related tags found
No related merge requests found
......@@ -64,10 +64,11 @@ class Connector:
class Connection:
def __init__(self, in_flows, out_flows, loss_factor):
def __init__(self, in_flows, out_flows, loss_factor, capacity):
self.in_flows = in_flows
self.out_flows = out_flows
self.loss_factor = loss_factor
self.capacity = capacity
# def replace_flow(self, flow, replacement):
# if flow in self.in_flows:
......@@ -173,7 +174,13 @@ class Topology:
loss_factor = connection["loss_factor"]
else:
loss_factor = 0.0
self._connections.append(Connection(in_flows, out_flows, loss_factor))
if "capacity" in connection:
capacity = connection["capacity"]
else:
capacity = None
self._connections.append(
Connection(in_flows, out_flows, loss_factor, capacity)
)
# self._removed_flows = dict()
......@@ -418,6 +425,20 @@ class Topology:
o_block.add(str(i) + "_sum", pyo.Constraint(o_block.T, rule=rule))
if connection.capacity is not None:
capacity = connection.capacity
def rule(m, t):
return (
pyo.quicksum(
o_block.component_dict[in_flow][t]
for in_flow in connection.in_flows
)
<= capacity
)
o_block.add(str(i) + "_capacity", pyo.Constraint(o_block.T, rule=rule))
for logic_name, logic in self._additional_model_logic.items():
if logic["type"] == "ConnectorEnable":
enable = logic["enable"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment