From 044c1a35bb092ea437a7ea40b13bb45a4f90ea86 Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Tue, 31 Jan 2023 07:44:04 +0000 Subject: [PATCH 01/12] Add scaffold files --- docs/source/mods/network_flow.rst | 126 ++++++++++++++++++++++++++++ src/gurobi_optimods/network_flow.py | 22 +++++ tests/test_network_flow.py | 20 +++++ 3 files changed, 168 insertions(+) create mode 100644 docs/source/mods/network_flow.rst create mode 100644 src/gurobi_optimods/network_flow.py create mode 100644 tests/test_network_flow.py diff --git a/docs/source/mods/network_flow.rst b/docs/source/mods/network_flow.rst new file mode 100644 index 00000000..a86aa7b9 --- /dev/null +++ b/docs/source/mods/network_flow.rst @@ -0,0 +1,126 @@ +.. This template should be copied to docs/source/mods/.rst + +My New Mod +========== + +A little background on the proud history of mathprog in this field. + +Also data science. + +Problem Specification +--------------------- + +Give a brief overview of the problem being solved. + +.. tabs:: + + .. tab:: Domain-Specific Description + + Give a definition of the problem in the language of the domain expert. + + .. tab:: Optimization Model + + Give the mathematical programming formulation of the problem here. + +Give examples of the various input data structures. These inputs should be fixed, +so use doctests where possible. + +.. testsetup:: mod + + # Set pandas options for displaying dataframes, if needed + import pandas as pd + pd.options.display.max_rows = 10 + +.. tabs:: + + .. tab:: ``availability`` + + Give interpretation of input data. + + .. doctest:: mod + :options: +NORMALIZE_WHITESPACE + + >>> from gurobi_optimods import datasets + >>> data = datasets.load_workforce() + >>> data.availability + Worker Shift + 0 Amy 2022-07-02 + 1 Amy 2022-07-03 + 2 Amy 2022-07-05 + 3 Amy 2022-07-07 + 4 Amy 2022-07-09 + .. ... ... + 67 Gu 2022-07-10 + 68 Gu 2022-07-11 + 69 Gu 2022-07-12 + 70 Gu 2022-07-13 + 71 Gu 2022-07-14 + + [72 rows x 2 columns] + + In the model, this corresponds to ... + + .. tab:: ``shift_requirements`` + + Another bit of input data (perhaps a secondary table) + +| + +Code +---- + +Self contained code example to run the mod from an example dataset. Example +datasets should bd included in the ``gurobi_optimods.datasets`` module for +easy access by users. + +.. testcode:: mod + + import pandas as pd + + from gurobi_optimods.datasets import load_mod_data + from gurobi_optimods.mod import solve_mod + + + data = load_mod_data() + solution = solve_mod(data.table1, data.table2) + +.. A snippet of the Gurobi log output here won't show in the rendered page, + but serves as a doctest to make sure the code example runs. The ... lines + are meaningful here, they will match anything in the output test. + +.. testoutput:: mod + :hide: + + ... + Optimize a model with 14 rows, 72 columns, and 72 nonzeros + ... + Optimal objective + ... + +The model is solved as an LP/MIP/QP by Gurobi. + +.. You can include the full Gurobi log output here for the curious reader. + It will be visible as a collapsible section. + +.. collapse:: View Gurobi Logs + + .. code-block:: text + + Gurobi Optimizer version 9.5.1 build v9.5.1rc2 (mac64[x86]) + Optimize a model with ... + Best obj ... Best bound ... + +| + +Solution +-------- + +Show the solution. One way is to use doctests to display simple shell outputs +(see the workforce example). This can be done simply by pasting outputs +directly from a python shell. Another option is to include and display figures +(see the graph matching examples). + +.. doctest:: mod + :options: +NORMALIZE_WHITESPACE + + >>> diff --git a/src/gurobi_optimods/network_flow.py b/src/gurobi_optimods/network_flow.py new file mode 100644 index 00000000..90c2434e --- /dev/null +++ b/src/gurobi_optimods/network_flow.py @@ -0,0 +1,22 @@ +# Implementation of your new mod. This should be copied to +# src/gurobi_optimods/.py. You may alternatively want to include +# your mod in an existing file, if it coexists naturally with other mods. +# +# In general the public API should be a single class or function. Go with +# whatever makes the most sense for this mod. + +import gurobipy as gp + + +def solve_mod(data): + """ + A sphinx-compatible docstring + + :param data1: Data structure for first argument + :type data1: pd.DataFrame + """ + with gp.Env() as env, gp.Model(env=env) as model: + # build model + model.optimize() + # post-process and return solution + return diff --git a/tests/test_network_flow.py b/tests/test_network_flow.py new file mode 100644 index 00000000..1d71c1b8 --- /dev/null +++ b/tests/test_network_flow.py @@ -0,0 +1,20 @@ +# Unit tests for your mod. This is separate from the example tests, it should +# test smaller pieces of functionality, and can also test multiple cases. +# This template should be copied to tests/test_.py + +import unittest + +from gurobi_optimods.datasets import load_mod_example_data +from gurobi_optimods.mod import solve_mod + + +class TestMod(unittest.TestCase): + def test_datasets(self): + # If you added something to optimods.datasets, test it here + data = load_mod_example_data() + self.assertEqual(set(data.keys()), {"a", "b", "c"}) + + def test_simple(self): + data = None + solution = solve_mod(data) + self.assertTrue(solution is None) From 324458f5dd4fa189059635c903057944d2ffc1a0 Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Fri, 17 Mar 2023 22:26:17 +0000 Subject: [PATCH 02/12] Add initial work for network flow --- src/gurobi_optimods/data/network_flow.gml | 82 +++++++++++++++ src/gurobi_optimods/datasets.py | 28 +++++ src/gurobi_optimods/network_flow.py | 123 +++++++++++++++++++--- tests/test_network_flow.py | 64 ++++++++--- 4 files changed, 272 insertions(+), 25 deletions(-) create mode 100644 src/gurobi_optimods/data/network_flow.gml diff --git a/src/gurobi_optimods/data/network_flow.gml b/src/gurobi_optimods/data/network_flow.gml new file mode 100644 index 00000000..d6b54296 --- /dev/null +++ b/src/gurobi_optimods/data/network_flow.gml @@ -0,0 +1,82 @@ +graph [ + directed 1 + node [ + id 0 + label "0" + demand 20 + ] + node [ + id 1 + label "1" + demand 0 + ] + node [ + id 2 + label "2" + demand 0 + ] + node [ + id 3 + label "3" + demand -5 + ] + node [ + id 4 + label "4" + demand -15 + ] + edge [ + source 0 + target 1 + capacity 15 + cost 4 + ] + edge [ + source 0 + target 2 + capacity 8 + cost 4 + ] + edge [ + source 1 + target 3 + capacity 4 + cost 2 + ] + edge [ + source 1 + target 2 + capacity 20 + cost 2 + ] + edge [ + source 1 + target 4 + capacity 10 + cost 6 + ] + edge [ + source 2 + target 3 + capacity 15 + cost 1 + ] + edge [ + source 2 + target 4 + capacity 5 + cost 3 + ] + edge [ + source 3 + target 4 + capacity 20 + cost 2 + ] + edge [ + source 4 + target 2 + capacity 4 + cost 3 + ] +] diff --git a/src/gurobi_optimods/datasets.py b/src/gurobi_optimods/datasets.py index 840fc6a3..c2fdef92 100644 --- a/src/gurobi_optimods/datasets.py +++ b/src/gurobi_optimods/datasets.py @@ -4,8 +4,10 @@ """ import pathlib +from random import Random import pandas as pd +import networkx as nx DATA_FILE_DIR = pathlib.Path(__file__).parent / "data" @@ -30,3 +32,29 @@ def load_workforce(): DATA_FILE_DIR / "shift_requirements.csv", parse_dates=["Shift"] ), ) + + +def load_network_flow_example_data(): + return nx.read_gml(DATA_FILE_DIR / "network_flow.gml", destringizer=int), 0, 4 + + +def _create_network_flow(): + G = nx.DiGraph() + + G.add_edge(0, 1, capacity=15, cost=4) + G.add_edge(0, 2, capacity=8, cost=4) + G.add_edge(1, 3, capacity=4, cost=2) + G.add_edge(1, 2, capacity=20, cost=2) + G.add_edge(1, 4, capacity=10, cost=6) + G.add_edge(2, 3, capacity=15, cost=1) + G.add_edge(3, 4, capacity=20, cost=2) + G.add_edge(2, 4, capacity=5, cost=3) + G.add_edge(4, 2, capacity=4, cost=3) + + nx.set_node_attributes(G, 0, "demand") + + G.nodes[0]["demand"] = 20 + G.nodes[3]["demand"] = -5 + G.nodes[4]["demand"] = -15 + + nx.write_gml(G, "network_flow.gml") diff --git a/src/gurobi_optimods/network_flow.py b/src/gurobi_optimods/network_flow.py index 90c2434e..60d9d0c8 100644 --- a/src/gurobi_optimods/network_flow.py +++ b/src/gurobi_optimods/network_flow.py @@ -1,22 +1,121 @@ -# Implementation of your new mod. This should be copied to -# src/gurobi_optimods/.py. You may alternatively want to include -# your mod in an existing file, if it coexists naturally with other mods. -# -# In general the public API should be a single class or function. Go with -# whatever makes the most sense for this mod. +import collections +import numpy as np import gurobipy as gp +from gurobipy import GRB +import networkx as nx -def solve_mod(data): + +def network_flow(G: nx.DiGraph, Vd=None): + """ + Network flow problem + + :param G: networkx.DiGraph with edge and node attributes. + :param source: node of graph + :param sink: node of graph + :param demand: float with demand, optional + :param Vd: subset of nodes to account for in flow constraints. Optional. + """ + + def _get_demand(n): + if use_demand: + return G.nodes[n]["demand"] + else: + return 0 + + with gp.Env() as env, gp.Model(env=env) as model: + # Check if demand should be used + use_demand = False + if len(nx.get_node_attributes(G, "demand")) > 0: + use_demand = True + + edges, capacities, costs = gp.multidict( + {(e[0], e[1]): [e[2]["capacity"], e[2]["cost"]] for e in G.edges(data=True)} + ) + + if Vd is None: + Vd = list(G.nodes()) + x = model.addVars(edges, lb=0, ub=capacities, name="x", obj=costs) + model.addConstrs( + ( + gp.quicksum(x[n, j] for j in G.successors(n)) + - gp.quicksum(x[j, n] for j in G.predecessors(n)) + == _get_demand(n) + for n in Vd + ), + name="flow_balance", + ) + + # Use network Simplex + # TODO: report bug and re-enable later. + # model.params.NetworkAlg = 1 + + model.write("model.lp") + + model.optimize() + + if model.status == GRB.OPTIMAL: + return [(e, x[e].X) for e in edges if x[e].X > 1e-3], model.ObjVal + elif model.status in [GRB.INF_OR_UNBD, GRB.INFEASIBLE]: + raise ValueError("Your problem is infeasible") + else: + raise Exception("An error occurred") + + +def shortest_path(G, source, sink): + """ + Cost attributes are user-defined + + :param data1: Data structure for first argument + :type data1: pd.DataFrame + """ + # Set capacity attribute + nx.set_edge_attributes(G, 1, "capacity") + # Set demand attribute + nx.set_node_attributes(G, 0, "demand") + + G.nodes[source]["demand"] = 1 + G.nodes[sink]["demand"] = -1 + + return network_flow(G) + + +def min_cost_flow(G, source=None, sink=None): """ A sphinx-compatible docstring :param data1: Data structure for first argument :type data1: pd.DataFrame """ - with gp.Env() as env, gp.Model(env=env) as model: - # build model - model.optimize() - # post-process and return solution - return + return network_flow(G) + + +def max_flow(G, source, sink): + """ + capacity attributes are user-defined so we only define the cost. + + :param data1: Data structure for first argument + :type data1: pd.DataFrame + """ + # Set cost attributes to 0 for all edges + nx.set_edge_attributes(G, 0, "cost") + # Set demand to 0 for all nodes + nx.set_node_attributes(G, 0, "demand") + # Set cost attribute to -1 for all outgoing edges from source + for j in G.successors(source): + G.edges[(source, j)]["cost"] = -1 + return network_flow( + G, + Vd=[n for n in G.nodes() if n not in [source, sink]], + ) + + +def min_cut(G, capacities, source, sink): + """ + A sphinx-compatible docstring + + :param data1: Data structure for first argument + :type data1: pd.DataFrame + """ + pass diff --git a/tests/test_network_flow.py b/tests/test_network_flow.py index 1d71c1b8..9eaee310 100644 --- a/tests/test_network_flow.py +++ b/tests/test_network_flow.py @@ -1,20 +1,58 @@ -# Unit tests for your mod. This is separate from the example tests, it should +# Unit tests for your network_flow. This is separate from the example tests, it should # test smaller pieces of functionality, and can also test multiple cases. -# This template should be copied to tests/test_.py +# This template should be copied to tests/test_.py import unittest -from gurobi_optimods.datasets import load_mod_example_data -from gurobi_optimods.mod import solve_mod +import scipy.sparse as sp +from gurobi_optimods.datasets import load_network_flow_example_data -class TestMod(unittest.TestCase): - def test_datasets(self): - # If you added something to optimods.datasets, test it here - data = load_mod_example_data() - self.assertEqual(set(data.keys()), {"a", "b", "c"}) +from gurobi_optimods.network_flow import ( + network_flow, + shortest_path, + min_cost_flow, + max_flow, + min_cut, +) - def test_simple(self): - data = None - solution = solve_mod(data) - self.assertTrue(solution is None) + +class TestNetworkFlow(unittest.TestCase): + def test_min_cost_flow(self): + G, _, _ = load_network_flow_example_data() + sol, cost = min_cost_flow(G) + print(sol) + self.assertEqual(cost, 150) + self.assertEqual( + [s[0] for s in sol], + [ + (0, 1), + (0, 2), + (1, 3), + (1, 2), + (2, 3), + (2, 4), + (3, 4), + ], + ) + self.assertEqual( + [s[1] for s in sol], + [12.0, 8.0, 4.0, 8.0, 11.0, 5.0, 10.0], + ) + + def test_shortest_path(self): + G, source, sink = load_network_flow_example_data() + sol, cost = shortest_path(G, source, sink) + self.assertEqual(cost, 7) + self.assertEqual([s[0] for s in sol], [(0, 2), (2, 3), (3, 4)]) + self.assertEqual([s[1] for s in sol], [1.0] * 3) + + def test_max_flow(self): + G, source, sink = load_network_flow_example_data() + sol, maxflow = max_flow(G, source, sink) + self.assertEqual(maxflow, -23.0) + self.assertEqual( + [s[0] for s in sol], + [(0, 1), (0, 2), (1, 3), (1, 2), (1, 4), (2, 3), (3, 4)], + ) + self.assertEqual([s[1] for s in sol], [15.0, 8.0, 4.0, 1.0, 10.0, 9.0, 13.0]) From b73590b60437e6d699ef2be5a79d8c7dc50c90c2 Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Fri, 17 Mar 2023 22:34:24 +0000 Subject: [PATCH 03/12] Add missing index, rename file --- docs/source/mods/index.rst | 1 + docs/source/mods/{network_flow.rst => network-flow.rst} | 0 2 files changed, 1 insertion(+) rename docs/source/mods/{network_flow.rst => network-flow.rst} (100%) diff --git a/docs/source/mods/index.rst b/docs/source/mods/index.rst index e32ee5aa..61e5bd1b 100644 --- a/docs/source/mods/index.rst +++ b/docs/source/mods/index.rst @@ -8,4 +8,5 @@ The Opti Mods weighted-matching card-regression l1-regression + network-flow workforce diff --git a/docs/source/mods/network_flow.rst b/docs/source/mods/network-flow.rst similarity index 100% rename from docs/source/mods/network_flow.rst rename to docs/source/mods/network-flow.rst From f3ee5ee9770b5eeb468a7c01b9792ef116d53130 Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Tue, 21 Mar 2023 19:34:18 +0000 Subject: [PATCH 04/12] Add WIP for docs --- docs/requirements.txt | 1 + docs/source/mods/network-flow.rst | 142 ++++++++++++++++++------------ pyproject.toml | 1 + src/gurobi_optimods/datasets.py | 3 +- tests/test_network_flow.py | 1 - 5 files changed, 90 insertions(+), 58 deletions(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index d3366bba..e090c973 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -7,3 +7,4 @@ sphinx-copybutton==0.5.1 sphinx-rtd-theme==1.1.1 sphinx-tabs==3.4.0 sphinx-toolbox==3.1.2 +networkx diff --git a/docs/source/mods/network-flow.rst b/docs/source/mods/network-flow.rst index a86aa7b9..1040f6fc 100644 --- a/docs/source/mods/network-flow.rst +++ b/docs/source/mods/network-flow.rst @@ -1,11 +1,9 @@ -.. This template should be copied to docs/source/mods/.rst +Network Flow +============ -My New Mod -========== - -A little background on the proud history of mathprog in this field. - -Also data science. +Network flow problems appear are a generalised problem type defined on a graph. +A common example of these would be the: min-cost flow, the max-flow/min-cut, the +shortest path problem. Problem Specification --------------------- @@ -14,55 +12,74 @@ Give a brief overview of the problem being solved. .. tabs:: - .. tab:: Domain-Specific Description + .. tab:: Graph Theory Give a definition of the problem in the language of the domain expert. + For a given graph :math:`G` with set of vertices :math:`V` and edges :math:`E`. Depending on the problem, each edge may have differnt parameters associated to it for instance, for a given :math:`(i,j)\in E`, we may have costs :math:`c_{ij}`, capacities :math:`B_{ij}` and each node :math:`i` may have a demand :math:`d_i`. + + - Min-cost flow: minimize the cost subject to edge capacities and fulfil + node demand. + - Max-flow/min-cut: maximize flow through the graph subject to edge + capacities. + - Shortest path: find a path from source to sink that has the minimal + cost. .. tab:: Optimization Model - Give the mathematical programming formulation of the problem here. + For a given graph :math:`G` with set of vertices :math:`V` and edges :math:`E`. Depending on the problem, each edge may have differnt parameters associated to it for instance, for a given :math:`(i,j)\in E`, we may have costs :math:`c_{ij}`, capacities :math:`B_{ij}` and each node :math:`i` may have a demand :math:`d_i`. + + We need a set of continuous variables :math:`x_{ij}` to denote the + amount of flow going through an edge. + + .. math:: -Give examples of the various input data structures. These inputs should be fixed, -so use doctests where possible. + \begin{alignat}{2} + \min \quad & \sum_{(i, j) \in E} c_{ij} x_{ij} \\ + \mbox{s.t.} \quad & \sum_{j \in \delta^+(i)} x_{ij} - \sum_{j \in \delta^-(i)} x_{ji} = d_i & \forall i \in V' \\ + & 0 \leq x_{ij} \le B_{ij} & \forall (i, j) \in E \\ + \end{alignat} + + Where :math:`\delta^+(\cdot)` (:math:`\delta^-(\cdot)`) denotes the outgoing (incoming) neighours. -.. testsetup:: mod - # Set pandas options for displaying dataframes, if needed - import pandas as pd - pd.options.display.max_rows = 10 .. tabs:: - .. tab:: ``availability`` + .. tab:: ``load_network_flow_example_data`` - Give interpretation of input data. + Let us load a sample `networkx` graph. .. doctest:: mod :options: +NORMALIZE_WHITESPACE >>> from gurobi_optimods import datasets - >>> data = datasets.load_workforce() - >>> data.availability - Worker Shift - 0 Amy 2022-07-02 - 1 Amy 2022-07-03 - 2 Amy 2022-07-05 - 3 Amy 2022-07-07 - 4 Amy 2022-07-09 - .. ... ... - 67 Gu 2022-07-10 - 68 Gu 2022-07-11 - 69 Gu 2022-07-12 - 70 Gu 2022-07-13 - 71 Gu 2022-07-14 - - [72 rows x 2 columns] - - In the model, this corresponds to ... - - .. tab:: ``shift_requirements`` - - Another bit of input data (perhaps a secondary table) + >>> G, s, t = datasets.load_network_flow_example_data() + >>> for n in G.nodes(data=True): + ... print(n) + ... + (0, {'demand': 20}) + (1, {'demand': 0}) + (2, {'demand': 0}) + (3, {'demand': -5}) + (4, {'demand': -15}) + >>> for e in G.edges(data=True): + ... print(e) + ... + (0, 1, {'capacity': 15, 'cost': 4}) + (0, 2, {'capacity': 8, 'cost': 4}) + (1, 3, {'capacity': 4, 'cost': 2}) + (1, 2, {'capacity': 20, 'cost': 2}) + (1, 4, {'capacity': 10, 'cost': 6}) + (2, 3, {'capacity': 15, 'cost': 1}) + (2, 4, {'capacity': 5, 'cost': 3}) + (3, 4, {'capacity': 20, 'cost': 2}) + (4, 2, {'capacity': 4, 'cost': 3}) + >>> s, t + (0, 4) + + .. tab:: Graph + + TODO: add plot | @@ -75,14 +92,12 @@ easy access by users. .. testcode:: mod - import pandas as pd - - from gurobi_optimods.datasets import load_mod_data - from gurobi_optimods.mod import solve_mod + from gurobi_optimods.datasets import load_network_flow_example_data + from gurobi_optimods.network_flow import solve_min_cost - data = load_mod_data() - solution = solve_mod(data.table1, data.table2) + G, source, sink = load_network_flow_example_data() + sol, cost = shortest_path(G, source, sink) .. A snippet of the Gurobi log output here won't show in the rendered page, but serves as a doctest to make sure the code example runs. The ... lines @@ -90,25 +105,40 @@ easy access by users. .. testoutput:: mod :hide: - ... - Optimize a model with 14 rows, 72 columns, and 72 nonzeros + Solved in 2 iterations and 0.00 seconds (0.00 work units) + Optimal objective 7.000000000e+00 ... - Optimal objective - ... - -The model is solved as an LP/MIP/QP by Gurobi. -.. You can include the full Gurobi log output here for the curious reader. - It will be visible as a collapsible section. +The model is solved as an LP by Gurobi. .. collapse:: View Gurobi Logs .. code-block:: text - Gurobi Optimizer version 9.5.1 build v9.5.1rc2 (mac64[x86]) - Optimize a model with ... - Best obj ... Best bound ... + Gurobi Optimizer version 10.0.1 build v10.0.1rc0 (mac64[arm]) + + CPU model: Apple M1 + Thread count: 8 physical cores, 8 logical processors, using up to 8 threads + + WLS license - registered to david.torres-sanchez@gurobi.com + Optimize a model with 5 rows, 9 columns and 18 nonzeros + Model fingerprint: 0xce040fba + Coefficient statistics: + Matrix range [1e+00, 1e+00] + Objective range [1e+00, 6e+00] + Bounds range [1e+00, 1e+00] + RHS range [1e+00, 1e+00] + Presolve removed 1 rows and 1 columns + Presolve time: 0.00s + Presolved: 4 rows, 8 columns, 16 nonzeros + + Iteration Objective Primal Inf. Dual Inf. Time + 0 4.0000000e+00 2.000000e+00 0.000000e+00 0s + 2 7.0000000e+00 0.000000e+00 0.000000e+00 0s + + Solved in 2 iterations and 0.00 seconds (0.00 work units) + Optimal objective 7.000000000e+00 | diff --git a/pyproject.toml b/pyproject.toml index 50b0ac66..acefee4d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,7 @@ dependencies = [ "numpy", "pandas", "scipy", + "networkx", ] dynamic = ["version"] diff --git a/src/gurobi_optimods/datasets.py b/src/gurobi_optimods/datasets.py index c2fdef92..30a30e2b 100644 --- a/src/gurobi_optimods/datasets.py +++ b/src/gurobi_optimods/datasets.py @@ -4,7 +4,6 @@ """ import pathlib -from random import Random import pandas as pd import networkx as nx @@ -57,4 +56,6 @@ def _create_network_flow(): G.nodes[3]["demand"] = -5 G.nodes[4]["demand"] = -15 + # TODO: plot and place in docs + nx.write_gml(G, "network_flow.gml") diff --git a/tests/test_network_flow.py b/tests/test_network_flow.py index 9eaee310..6d0f9671 100644 --- a/tests/test_network_flow.py +++ b/tests/test_network_flow.py @@ -21,7 +21,6 @@ class TestNetworkFlow(unittest.TestCase): def test_min_cost_flow(self): G, _, _ = load_network_flow_example_data() sol, cost = min_cost_flow(G) - print(sol) self.assertEqual(cost, 150) self.assertEqual( [s[0] for s in sol], From 509666c6d0b09f1782c89af22a84cf45d2636a08 Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Wed, 29 Mar 2023 17:38:58 +0100 Subject: [PATCH 05/12] Implement min-cut, add another test graph --- docs/requirements.txt | 2 +- docs/source/api.rst | 3 + docs/source/mods/bipartite-matching.rst | 2 +- .../mods/figures/network-flow-result.png | Bin 0 -> 474473 bytes docs/source/mods/network-flow.rst | 57 +++++-- src/gurobi_optimods/data/network_flow2.gml | 87 ++++++++++ src/gurobi_optimods/datasets.py | 47 +++++- src/gurobi_optimods/network_flow.py | 95 ++++++++--- tests/test_network_flow.py | 156 +++++++++++++++--- 9 files changed, 378 insertions(+), 71 deletions(-) create mode 100644 docs/source/mods/figures/network-flow-result.png create mode 100644 src/gurobi_optimods/data/network_flow2.gml diff --git a/docs/requirements.txt b/docs/requirements.txt index e090c973..1b3f4423 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -7,4 +7,4 @@ sphinx-copybutton==0.5.1 sphinx-rtd-theme==1.1.1 sphinx-tabs==3.4.0 sphinx-toolbox==3.1.2 -networkx +networkx==3.0 diff --git a/docs/source/api.rst b/docs/source/api.rst index 107f86ab..f460b6e0 100644 --- a/docs/source/api.rst +++ b/docs/source/api.rst @@ -9,3 +9,6 @@ API .. automodule:: gurobi_optimods.matching :members: maximum_bipartite_matching, maximum_weighted_matching + +.. automodule:: gurobi_optimods.network_flow + :members: network_flow, min_cost_flow, shortest_path, max_flow, min_cut diff --git a/docs/source/mods/bipartite-matching.rst b/docs/source/mods/bipartite-matching.rst index 7ab72db7..53417737 100644 --- a/docs/source/mods/bipartite-matching.rst +++ b/docs/source/mods/bipartite-matching.rst @@ -6,7 +6,7 @@ Something about specific graph algorithms vs mathprog formulations? Problem Specification --------------------- -You are given a bipartite graph G containing n vertices and m edges. Find the maximum matching, i.e. select as many edges as possible so that no selected edge shares a vertex with any other selected edge. +You are given a bipartite graph :math:`G` containing :math:`n` vertices and :math:`m` edges. Find the maximum matching, i.e. select as many edges as possible so that no selected edge shares a vertex with any other selected edge. .. tabs:: diff --git a/docs/source/mods/figures/network-flow-result.png b/docs/source/mods/figures/network-flow-result.png new file mode 100644 index 0000000000000000000000000000000000000000..2ad06e702cd07451445fc34958b28aa26924a330 GIT binary patch literal 474473 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

Of?>Z0?Zy}H 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

A(S7x*1R)FvNB${QJE@rFskU~ku z%F3qcI|#-i5uICplD!2itu;?(O?{e@SsY-Mresz(iNjM8nEj&A57&)dLsbWP9z5!- zOe}W>?4U>FteygG!1MpBSnI0_Ku$n1Ncm`jm9F;u!L>Sqmvs-?eR7xd{0A~yJS12r zlazqu5v5~DI`;0>;k z9KpKZ$YYCN)RfP%Enc1jehCNhq|M1XNZUxP&R#9Z1EWNwP_1RTGagjsW0G0u)qKx( zvSnivk{)uRJ#!oZ1IOci^o2oc3_SlLqdp#SpIK@#Hlk3nCDC4T79sOc+Q)RgM5If| zWjMa_LyEr&8|tLJ5>U~^G}y5T_%Y8BydUQm!)Z6t7^@cI2)0ORN@rz82Oli4hLZ9c z$jcyAe*f^0=Eg5?He%Ds;hhkZ<`ywy+>hyO5BOKs5`Rc%e^Y}IA(0g%z3jqF6onae z+rY6d7nzWDUo{JIBSEt=nWH&`!A2_;^@>ISnY&VYX#Rwnew-2V#!SG0>1% zgy#s&NhO6qqlcn;PcJ7oMl!Xu!nBJ)E7C&=d2jpRkEyoQ*_4X5aS5dDvt$4piZ}ud z6>DE%k;oF1vV)MFuO+1mt-cJMP(A=`vAeKvx!mB#okRa$V?JAgfI-Y>?N_likEb5E z){|&DK2F<|LeT(6Ikz@-#t-fmNW%~AR&5bla?LQg7*!&uErPP+{5NADS=B;N8XOSW z_Z3iNV=*a~2gz4^HjjVa9GJp~?%!>13g33zJ7HDVY{GUya6S)b$EYGvWM)p%9>))OaF~U>kRCRdxuFS$aZ_N1nOM++J8A z)+Wnwo9+1Z1s%wqfG&dA04sA#DU_4&|1q7_ZPS!0McSh*BNbN!W+(_LO(siGJcy0y zEI3%0rr`-I68(?qtlGjKPT}*1hlU6_8+x2^eBgoz-Jpj}j@8Igm4*V#hL}~@|F2?u zc_g|Ra#`y}vW2q``?QxZ8Sv}lk}I*>)CiNsoqZ8%u8aVG_LWOL-r}NpuNk9oZ&Zs<;lv1R7;4RCOeAB&+>G>B8)M}xHyARnp8g+u2F()pk zVIqbZLTdC-Na0Jszfl62M-pu~&L;?txWhG&?=?V!f(T2x`O3S(z~=&cDFN=xE9cqm z%{2_fi$N}vJ5QPE0W@e(;sHcR6k8-B`_yOuE1BhW&Pt^g({}QReP$dkokyCf^K3N6 zV3tojpoN7JTTd2{wu$;FP^t$L5;oV9-cF3E-L!hFPt|MUNP&Q5jhwmh=;=v)ZMwUX z5qD4a?s?*2D8s`woFXjYLoz#a;P4Df^U6&6>zUM7CReL#k;gC5%^Swt# zER%yuN28m=7FQP#=og|eG`(VHV3+P`mOaRHSCqpq#6wnjZmK;P-8Mv(P$^h1l08%H z1epoQznX}(+ENzo(6j6#d0@NSjr%s$6tLfPiD;k>_2C~%!Y_gaWDLaUA>v-Pvn5Pe zh4D3u%TGe%cbI#7m7W?gSgguOsIN}hnt%=l z@C!(-%f*Ii%mX_ug&T)&hjM@vjvl=ruh(v=dMnjyL1-?epo3K2Os#ERI0(1~L!!^b z7WQ*-c_>}&NjN$763N}N?CJtkoIHs3BI93}TKi+cR+jbj$IMnq%WlpikQD%;$ia6z zoo1^8tZfWPHo)Es;BrAWo+7vMbFNB^WDr~>DAVqz#>5txK!G{4Gt6-wg1Ar~302Fx zQZDZ?+mN}Gxm{o-bq4@L0TTWuugAzzj}lT}1+iN+4L~+prZv( zLCkCa+tG$(lh-8VwUMafGN_X15_6{gU!GR0y*zkVVrFcE^b|3sZ3Lf#6rD!U_=UQm z&-vis!5gp9LVSSpngc$uuD(9rkg%^d{QK=FLl7B}^D$^tIjKruaUTN`!QAk?u?3{M1Q=!pFM zMR|t35c>?QfP9#CLYg|`Ol=;Vr-?j&IxQYO@Y$v6t!|sqK+&oo*KS#UlC9VfmCB_G zqg1!jGH)J)*!@Lxh%98}dtl{JK%7Gapxe~ARXdb&j3J0EaOOyDl}SUUPJ|SQXpMvi zV81oRIlw~(Yn(Jaq_&pwnu?ZQV=id-7pi{U*cW|9$obYFx0fUAG9$S2A9CA(Lnv4Y z)mpq^)LvmG;@Jd<09)=a&i;_ws>K84wL!mNDO5ETV=mIg!m3S)-q2WRm3`6pu~>^n zsIH*4PZRMm+00Dz16czFECq=POUjqi@I9=-ld>1`1HXQWoWmP%2I2Xhxj~c9pc?=f zD$20F@@{}$ju>D)9o)gY?g|oHDYZ4gEOnvz6oPfe<)J&;bV&fAraMyP#z$&&fvw>q z*rbB=6l`Sho2H<&MKoBt51FjN21j^}nB8KdO4)7daej!C+cTgB?UgeUXyXm&x}q^i z9=AV}*KT^Xpmz3*lM`-=m@&eIL|8=mCPZ&vHYjj}6VMHgg4q~=Z1V)gB1#thnBO9a zHN(6wxhFi^=n3~D6zI;WSx;P0d1V3i_SZvUog}O`2y?E?l4 zwDV+(icqlSkcD_;;&Q^)z?kL^QOkrGEUM1xLWWzPH?h7i>BVwXO6K|;mN5@9&(3-g zY-u5`LyIcX4rE6!HdJ{xcp&lxd=8t$V6dx>>qdEcu)fLQnsJ;lGghoRdxGV_s7#4l z_)f&@>c>tJ;o$Nvh(>60Zh5DebLhP#U`r~2+@73ioO2(&)<7+&vsk!AU!@IlY55LLMrc8zRQ$}**&zG;L#At$l_XEtb=T4P#-m4; z?(psZ{LVa9UKezuXcSIl6FJ#U?ctK)B-n5u4))}sAtnjSuz9w@2MX?Wn`dwL}3=W2|Rf&-*!~az6+JDsgw4`+~ zu`>V{gWcz2&rIF_)i4qKavM9AjJb2~0}^lo!_qCK9~^za67&Mnu;BSYIm1&K{=jX1 z5d|%Tg|Svijp(M)YOi-sX;C}wSr<~W)zi?r{sbQSWf-X_)RuogO}#tq4ls^S?DjiN zghn~JR7(R2j6yvQN#TTU3y;XKhwmZ6VN71;t~-E^E`|yvLGSUJDl#~j>wyY7^Az{B zH_lTEbr#P5%CA>FE6`O4+$tgf8J$p5fX0kR0MfRR$q>&f z;G(9Y(i_R-RuH%-c`wnfR)NZWb520T@t~kxq^vr|*@6!d?uNMM09dg>Zh8_Lc_C{y z{=B0s#CQ(RaV`=zUQVd#G0MT5P6;4Pl|-3$^2d@F;Nlgk2M)& z6wq(%HS+PM-GLIr>e~b4G4u25R&D)w*k^#9z{p;LQIBZBRjKmJR-gUtrwvz)KKqPs zUX;Rp)Jj#JbA!dZ@6VmMQea`C?k|Tp4W! zcx(gaO~H^kgIb&MFpMN-4rYcpQ>qwbh0KhUK}R213v{4}f)QWGN*pR-^Ma%> zeyGG6dk?-bq45%HtZF^Os0>AKfNdqTZ+@^4{xVbU%I+E+u++lriTpWVgQuuQH&F=u zq!LE8_W@2mXHfoH^cfpFQQGwttd0HLd2HpMS!KoKYn2S+d3J)IpbZ=Q)YAdWKD?XS zy0!(0iOmK{>Zoe0x@s!A!Q!L1&YfVm@`Zk@gnjtDifbFG`9;rx*Dk6rL?^(t=d$gG zX&IW7R#S?uo(^B|{qSpf4k)YdQK{0!S@GJ9lu{?e-XJu82YajpSa{MlGqC?47Z-5> z{SRb^jAneYyp24+@G_qLLqF@5B@e}=*7xYy^AYwqZAFW$sH6k$H;m!+jiu7_epb=6 za<24m#?g?5Z=;4a@R2q>af`6Iw)u#+(swlS(L*Jap@{!B(-}LSZ6M4*oE=vcB=o)h z)uXLIX(w%vd!8EWJ6QxRjo2oCMgILBJ$gLcI^y~!>sL?aCns$~A-^8*3L&kgU&XI+ zUQaHJpg2aM94afZ3)mmLx??j)p z2`L7!`G?GDxY&b72;s8*>JX}+MptX- zqFz7z?H$vZLc0-Q9kdkm#=`n$`VL&Z+Hyg9yuOhu>Fk0gfc{-OB`0yt50z_Oc3u(9+4mSj{S!4xwL%+6K>((h^AE|uxh^!((9PnfnT$LWdL)IUV zv(5>5FVwS_jRi>c0kDg(C0$5`tat*MLTUepR^+e zggIvzNl(sxl#~Wkp943hr>6(W&*$uZog!|#&EnIngqYjHiRBnb?Y@keI6y`_J1&IT z73yr)@dsy4o+-Qp0xokQ5|Y~DUI@f9AD$O%=N0R<%FrSxooyX#_^pm5tOS$buC(H6 z{ZhK1#`iRbNx)T5m3&;d4dfD+K_Qokp#`ek$6zQ9|DJ?R=p+)MWl=NxUxH`QCulRs zPHBLQXFQTQhmwm1U(0Q;E!G=#vl3=cl9$Zm2Kx9?jtbA1t0`;g-3BV^5J0=Pu8LK4 zlMLD;-@m@Q>8GE5I#k?7qd|z8bd|g5PIo@O1lHMKsPkap@QCJp=(7Bxzm)R&Zqn?& z$EN{O(eHR?uQqZ+5NwT6AP_whEQUcZ8#BO(|0eD++mc{3{GjN!;;|BKHBwhED(DY) z$$RIoeWdF&9!gq!g#z7EQ0#V7axAwMF~)Obe7DZBa=rIZiBSfS4crLLGVZt4!-=0ULLa? zQ&AOP0vxdatQ>w!NfOX=4s11^Gj;2*D0uY7Jn0%vty8vmb{@=V9!)ZOIji~r7R4n< zK_4DHysdo)76bQ%kn`N{YN#}~eseHD#6i=QX}*7vOe^q=s$-cLP>iSif@K}wx~JKD zhK-B4HxLLA3UQWsr?Y_`5)3*J1Bvcd*9Te2(i zO@h%h<8y*&X^ijhZM6i=6 zY$)XKGGAIX#fdz8d0z`1l_jgUu%`)vRCxy@MR^2;22((FWM6~NE^AK!t%4~uB zL~JdT4Jpjw*>`*a`0HxI0z15JsnLVU?LgH zKwNT3K0b0=;Gdtm3IBWY^L}@!_b5RPCBknm%yX1?KJ*oep>1dy(J2TX>v}@GSCw(% z90v8m8te%1*wWh8v1Em&W~YOH_Yq$JwAo`TDWZLYq5>kmnk0|#3b+DDu^SyF=&`HL zqpI?3>&r^bkyxcqTOGIq#~)3iLc;<00!9V|p6w((h2SKHW}^8;W4TTrVx+Qv9BidU zK({w(--JF4yzm$f#wLV}sTU3D+JBD)pr{F{uK;FMh*j*l0YY^{&Vco>18GL?c|8W! ziJT|*P{*YjkF-bv*a6yIO&Lj>8noe^T2(kogiTdiXdMSHfZMWxfIqBh6<~h81}BWG zuKGz%ZS7l`(|m>WloqMjg7pzY(*YxCku(%xD7Q=d78Ko&{ZJ)vZ30H9Y2Sh92ac9@ zAb>mNrIh3%oi{(XX8GG6f7wT!m)eq*dI_V|K5A%aP)@D4I%e0FaRX zsCtfGy%i#aesXZb>P=+143*v{#DwspYBp4`BWZKA^n$`mo201&Bp-ZQwzuu@s02bm zM?HE5iu^Y?Q4`-|=LapNtCWs@E5hk^IDz=Lud;^3uvam^Khj1@=`2!i!-!7|+xfC-^2735-kpp&ndH8cT>-?tPXj6n z$dp|;U9$^MN$f8RRFiE!ELbnXw&M%sDC{2#NzS1XTDdAURhP3URc!E1lU-4FQyq8` z$|mLU_v@IJ3@+hp4fcX?r>kkFK?DmqM%~YHL{aU^Mf(4U-l$#cM#OcfZ6B@{sb*f( z$&FB9{fQ8U~ z(g?FTbTpKUovAYytTpA!)L*IdSX#4sg>FelPJyBPs@6gd@9@Tgjmo6!045m2ftDQnT?G!fPU z?9>)V(=-bUVZ7)YgsOQVwQ)F7=rs(C^R#CB`AO`OR}1~&MY*6_w-bwjMHIWD)Oo~m zsmf>ER=$0oNU+mZyHGceFzHgmh*{9BOuUrf4S!bDs#<5mz>AKsyjhP*V2l2oUcFt4 zjo~IrR-G^5&Kx1*T!XfJL&?$r=$)n>jQkC>r5jty{;jNiwukz8ifmCNl^37GXBdc^ zkEK8cRIo-zlS6C{XiAJA-$Y2W^#tksiW&5IuiDzN`%sB#-Ek7_NMLouUCh%7SfyR0zp!RPY5>ja(}I?4S$2S7*se{A3*5_JG$|-WL7q{ zX~#$roXRU=*Sq6|=M$@AfsaV7x-9r1QGa*-}RpiZ!NSvB_~l>2oII5=!_9@EPOzJTZ^FGW2CjEvcHI<<`E<_ z{{B5jmlcm;UkUL#_UI__-1t^4=`!kk-+AYq2`N5+aUY_eWX1ydK=w5ILs^Sf?Vf~@ zNd|~7iJ04dKlhSd>^Pho$721{!qM;&Zoi)xyxj=IJ=ElDMcfPCL=qSqnIBf?Axn7# z>DG3HYf&?Y?@|`;mcXSJbSXEBG2h`4jR$@bUbi&g66YD_YD8VUXo!Pxetk1X4~xhb zFdrR55b43CxcB1ZcP)~s^%4@HJMa~BgOs`-n?;sUnOLl1#!zXDo?FF(hE4>|0F z6iOL;QOYS|U!OQI0poEWgi6(UKqs{5fg{$vY5HGe3(^N8&ZAs=hh^cP_n&{gBF+Ly^3i^_2JYcJlACJ$WbdZR{_6-$?mRU}qC z=E9sHJPZxfqT7XpUCuZZbiwbPBHsCtH6Y+JfK|HGz#Tk;$q3?=`04zenoX#u&7^ie zcn7@gqJRGSj;7X#{YEMV`%T@e)Vg|q1v;}CqO{WDkV$}TVFI8^!u;aRl5>PqN8*@2#LG>KYSl(p$>7ayRE-zwiSWXZ?cCZ8~)KzT(l;vJRjC@(a`|Y=!0?myG!SHKk z?TSAuYjdX}t}T+>a1nN@W9>rSzCiCucN`1KjU9OH#zN6xL3dUg#F6AALbohyu^}}{ zwf)Q2%UU0#_cqWDDMzJ21%9I+A$$~+K^~PHpG2WxdtDnpw($*lRAu9Mc8UXirzsCQ zcm>FS)~%)RcbTBw_7xrrl`@>XF%+ z^S6S1WkAQj$jn2{+J5v#NC_!hh?P*%c?}C&^nN(k*ji{&n2C;7!L;;=_$EmGwx0Cm zxt}pu(o74*<5&Q_un(h>to_=v08o8^CK25yPm$d82G!yRDWj6N1xr%`5dnid%DGgT z_FaT|m%t7BY}72-2sJVjO3#3aevGyd3eww;tT6cw&eAh))S(yQ*n##FG7m(k-Z0x_4>&Wh$cn~8#}CE%s72mQrA1a8A%v=ynsFIWGajZn@2lKU zo559%m^G?e7?igc2`k_iI24#Q95Z{#35>7V(GEenI<_=xPX>M%*^yw^y8bGnqWwme zqO|99u3`K{(mxQ!_NnHLW@c73s%NP~ecIp%1yY_J=eY_`&NXZKDrq zVCL3EV}ZQT6*~Wdn~QkO4!*NJugYIi7K54=(@Pzh201(S29b9XH`n+}w~GPtg7;00 zPE&UTnV9F2<``sCG!oN*tL z;Jr0bJ|YHRB_u{CO-#1!oSejYD3o84WsuA02Rk)5*2}NqKfG%dZ^gDVv6+^WB`}MHkksquvBuqtculnbgW0i zrC@^6tTlTu0PV?~w0XdT+#eg(kql_g5X)`4S?zpL!f>NXd4C#){IRyBZ<_eA#_b&w zo?48-ScqC}BHns+ENYp)q)RpXaB$YQ?-_LEm=x?oG@43Ih$xZ-hM#L$1fL_89z|o3 zYx{w_qOFVo*53bMmJ-AJq|(L)p6Q#Aj-rOtWIC$WEpiORL9Hz0WKw;@V546&7I_+f zs1ah0Jz{fj+SG9mKBQUWuzx;ClNnpoghS{Byzv_)B~}?{)glF><0!Nr|4!KE-b1E9 zV>=FYM+ORCID$%&F`FDLa?fc%_Ws4M6SklWHM~liHU0Vym2CUO;GQVl`)o$eYt&qj zL$+R>M@LzfwxEXl$#t4>rCA4@;aR~Q#8wiv0CKOTj9i@N%gpDs$~H?9g8s+K_SCZf zS=ky_YAV|YiG}~UvTf`sRh<$ut*(L3Geq7Xjj5cc#r978WNGm^95XgB zofA96Qd`;L-IM>VvRwiywtWNQ)LEB~)Kq4jp^$h>PSjPciDGaZ-KNxeXmtO9f_piR z_~u1)$fFghn1W9YN?PR}4CiG&H? z-CtpBpQ#OyC$YmDTM#Q;qclj1nkz9xu%cHE*{WHH4*n44l}UvyCv$~jESk8a*XXS@ zYlgV5&@Dy~Avx*tc5RwuZv%U+$=8;8aP%ZVYTYNR*y4m}eiDVFlCL!uBAa0QHjuSI zkCk+^XUf;1urFCNz5Mf@)~`Q|K!EANEfFluJ^kVr&TrmK8DK_R_VipDR8T$icxDO~ewJPiee6tYIX@vbT+NJLG zkv{L+3$3`UK4dtV$qM|~%Vjv({(B{!e_;zx4JW+*^5W$vPh%D&52p);92np-(_jx2 z24VrNSFOP-PvGzk7$Pe)`g~8ZKAx5=k>aTKy#^lZ#BL1gxEuShqH!vAE1yujy}I+p zZ|J0ms&?m51<`Lngz)|VT|Oucc@9%+#7!<4g)859%BKl>9B(VvUqJ607Vzrp zNT#|0=RJwKT%0D^RvpOl+#b>_78*H%>2PtJXJ&Sp{lBM##kJ?n6Me$O_(Z=2Ay1j~zJ)wGY+QfU&bsj8fH#6-z*}BUx+wE)uhWWQt&H zv|B7>8 z+U7Q&3|(XYl&V#|*ov;TL7e@zzNvJNi=#gTKImy?u_024It^fAKMm(8PID4P_{NSr ztx6wW-$vA7K`f!rUb!(1nB>GX4D#{hBw8x5RMO273ANtPcYUSHO#4I+=me8;&_t+d zIZ_T4l!<12xwq4_*079tYo&a5ru6uwKnjq?wUo7JgrXI?$Pznzd&1&>ZGh>TcYs9G z&O!wX+aR(0FiPOu9qdIscL?v$MZv?cOE~Q7Ivc?iv|22zI;#zX2tRlO{+)~K@*mlg5~-VUFuNWYgXwc?Y71Y`am4s z8#ezm4n2bGXv@3z&Qkd?PW#rz#s;(2OE#g-EiHzo=?525!VFFN`tN|d7{eGnS$Y2`v!V2?_)U2KNWMLOW6FcDRk z4+KRk8vh!{vw%PizaF9<7e`D(7>a28J}O9&PQnsv{3Yh}0F%HgA?U#(@DdvuPRZq- zYTE5TRI^a7uZJBcop{8N6da_$ea2G~z|x+D3lrWCV{1n^DS$rdX7$f$SY4pp&%6pS zZLriILnX0CC5c3z)^eY1_;yh&+gmE(??*HobcK}4vHE}R6BNaq!@?u6-sC1x%>e@-N6$eHjkQJ4x^)M<1q~#M*Q&G|# zj=44?LAn9oyho%O8(~CwhCns0R&AoyB=CF0YdCD>lh|_t-60s;%R+e-U@Se^oMN; z$98onW>r2FkP2+V^X}Gg2H5Cxpvx1{Nb{jAeN^dL1I;|^^yne1_Mm4+rZSB3W9rI8 zj&@U15a>rKxIy!bZv8l+4*T}jSsnP)v z^de?;I1%;w0Y7tsq~S6MP#4E{fKIYI5G3SuIrHX}KsUq!mfG88`7s)zx5Lvyf%)va z6X0dr#v=%1R#nGR7RqsbSbX1#`!R@Cz_Hx@h_aVybMd&5CX_g;^E9W)eFsb%1EGTY zdyT-C9yrog3L@o+_%JeP$h#z)3!GrecV`JOw{e#oQ8UoQ>EcM6c_gAAqN=^3uw7}^ z^Q^74C5`i|k#`sDjF(xk@TGM2An*jSvWp|lg6L`!5 zj1Xa=#=zl?{Nc4~w$Ta@-A9tvE)30vT{~?QsIF>o;cM}=xungTopkcilNS2gYv(jZ zC$!E^!gH*Sg;;0A@gAN z(E0fazZpKj14~OvuAN)x*{*;`s;aNiqBQj7Q^4{{UD*F7w!{)V-(*+HIq9ni0fFF! z@>4qCVZM>}c!y5tu1^PYaKNLIqbO+5*+G7sRswI|oJ;Tku((~wXpNMFMvf+eY0h;A zqQnFWb#ZC&J)ScNfgCX`GS7SiP3Af62B+UJ5839!Hb*3@3U8uH`$RrWAlFbRiGVo= zXKrHeH!Bj4O2ALs0Lx#pa!lDRN594D*N($LDmSHGW{m2^9>ioZHegWdD=%@Ju!jEZ zZ>2N0Mt=N|?akl5t8Y76mKLi{8FDYZ7U7Eu04f z1gMk3YpPzv(|~6!Mg~5NNxZHI1^XOC6UZgx`Hvvd$Vq8{c5V{V4;#66K*}VAe5K<@=BOU&+6ax=9_Y=`>c(fp+tGu z0_9N|8M1l{R)k<4Cm-$rEcK5ddW_?_o14+_pjm(BQFSc9 zfD9ap8svWFR*rCQeXiYh@=vA5I4z0%Lzj=!6a_B%S$3a^=bJu20mXLxLZOq~fdfXQ zLs_Cy&5ZdYJFD82hI5mqz{#$_aZ(88q7oJo$^O$j#Paxl|GSXwPu}PdNWqgx8gp9C zpec)dC5O@65~9dwu2MyX2{fF$R~^gV9LX_)?GEzh^c=NRO!D+KAfyTfOsLGwJ_J1B zs*ow+moQ6Yp_EUyOBy9F!m$4=nt(DLN#P|uRjD&(1Qq?|@yP75fU4i5u z<1vVlir3F!-_pJcPqzZn%Mp`TByN^40Z;`&u&Pvj;t=yF(%s_jfkGk!triDF+k)=} z4teDdpz12JqJxADJlaG8+iECqY5N=CRi#myfw8bLV_!(%VCh^@scJJ5bR`6-nTc|y zw!e&c_eo)c8TyZQI(V@?A3CtUGMn3I)iM6v{|)@Z7LK(r1hZCTg{Q;Oh?<6oJ{!RX z(k0S*rKHL!4!0Mm~s2 zM!1q_9{=oplH3uRXh#K+&V3u^C;H^3ipDC1Y-?kNk@E0uJBW>qO&u>bE$animFG}D zJTC45^sESBnBagWLUiR%Uq-#vBfUlMI91_zD;O_xSBQ;OeNJD#eEBQLL>_fZZJbaY z`@_3q`ZJd{@OUAh<7aIe0QX2e_L@?cqpAVuXQ0VQ^oIQzFKawvHq^%W{uykFQRmS) zkhSmy*cgezvelZz>^X^;HU97x!YcGj%f_MphTb3ISlGVOol4Vj(`PrdWs@+f1saWR z4Xv~a@ufVE?x;Q;>jM6LXoGP75_dn-N8Lh-+x2g;2YFX*OCb+pi!5&~6dt zKFGW*Exb@KwXfjQeWwInLfVDw?c4VZ^w@QxY(IlojG826#U}!#z2k*pcmLwfo#oqh zMP$*zrx{h}&0n}%;$#7%_9S*8!?E~eV3x80L2FI4*cT=bPF0@BQD{gUPWaXc>YFhy%*T4uWIf z*}<@UpogufWAC2ur$SHsCQD5nyM@lc8R&=wT7eA+6h<5((~6{S1rI=tnhp4W)6fyX zz5}U_Wrm*tU`AY&eQd`=BxeZb)6>9s|bE4P8%crmt(X7(W zX8pT9q@sn(U!8{(@Dn89&rx@XY|}EN1H=5_7J}h+JnO-9Krgalpp1c=8qqt=VRF9| zv1H3%-~Fl&j_tf}BO62Yk(z(9e>7lBkwl963~3GOo}Rvf-!yDT{i1 zzZja8uou!(8Hh$rN)12kp7$vY3%>V{YiQXHdSlhJg+Lkj;THf-imaqbm2Az_fW)!i zi_})njWL5&m^g4@ zLVJv{D?+Ggf2`wnZ2O%P)1`O_`~a;KXl=6rr-*Y%qv?t7H;&E=n45(&1%o>`Aumiv zZ${H4fsN@+l67*N+Mb-mRge$*zZZsNi5(f#z9Y4vTC*Zbgy2p|D7ZGI&s3$#p8Ch0 zT2*5kS^!AMwcIj#g+?y2v>X8Bh~cGjTndjE&;hCb?6YFn6iK)cV%+tVk+2-3?F`#$ zMd(EH+nhzvS~8ioL7O?6`cOJ^mf*Ykj{}sxT4NV8pf+^49tZRX4i#vx<jDqGn+&eV@+-QgQ^eU&V$>=cn+vmXev>IADzLfn+!plT8_$u)TTH|5*LwPYe z;MY*v(*Clu7b+miVl;&Tcwom5mX`+mvyUX*P1_*Prz@?SuQ~pmHSXWvD}G0;g;P2T zq%1Zf`O#&3R`lXBoIr-xCk zNpdtgwVE?Y$#jFlc9zUtI9yvkP>fwV8c@XELa`^gpIp$M*R9h=T0(Mu@n$J#;Op!M zE<#3vF$ELpb%Lg>w#{vk!2Vfx*%zL9`pF47)d<&*MiS17H?yW!4dmM&VsS`9@ zUz7F4-a-~;gEBTbwQJ80(4Od^Ij1d;GPj_7lLiqjNo_Am=#<}9QNp;a#HVL;cczQJ zq*v~?aLp|CcZ=h$>^PX+tQFEjc-DO!d=(_Wa-8+fj%0N}83k!zwXz3HnFx|Y0l{`M z_Ml`?r+}#<1J=sQHdXd*sKp<`I0C9sWHGc&>jhVH&0yFX(xUxjjIBS9&%$CD3HS!Gn;`V{R1X^Y}|FcNe8E#p4=~!4Iik zX3eS2L*VAnpiKlIevA!zA^9~9zM-1I8nFAiUR5dn1a@>jk14NB&ds%t|sUb1%}~vP6{VxGi65QTK1m2 z_>^mG?2KAtD>QZaC|*!+(rKLi9~v=~-de%l#9Ps(+#85I@D4nFg4z&BXz&v8jh+br z^>nC226~p91btUG0B54-O>gbSYx;|&Pp;d^_zD-3Ko5?kXNf?UAWeLgzs@(6c^U17 zA-lMiavHvRRJhBDaCoL>mkhqec3$|0ER(8LC7~48q^g?5si`Pq`xTsnwGz9lWm48R zGE=O_Kw`a10Ne6udaMMHI}Af21a72!540sDK5*#eq})ORg`M@hq^;R!h77&wP3TY| z<~p~a;dm<*;>9q*D6(QdAB3P}nEtpq7>wX@>^^r_I}tzC7lxzd>zP+IatX~8Q6Ax;zkxdroI5p^PeQEputX$7l|tvn^w zc_`jEDub+*AYC-y+C=pr2BT}y?4mlB$^_1&Z6{px-c-u(@TQe$T?H100R65}%QHl% z2u<=Yf1&Ztn@Z?fm;W7lv(WcT34Qx*%bY(A`eT7fJtItjlIc z?byo|9LBnhn(gt$+xI~uM2k{9%q|M9DlW6CySL+8{Pz~^_6H9ivPlmS^{&2JdVA9* zjA&^ZK2UsK{ztB^KZZtv{NCr$4^5XSlQ^L~Q?{|g&!;-Ia3po%Dr2_X;&gs=YO zoVPrJ+;A-MH<;dDO=*CYXgb2}$H42wwz!`y_HOHOfZPBepM$R(E*%|8wWSn};xfaR zzl7ZXec+p$k(HojlzP>(Xx-8Dm84Za77d*~cL0Px!eHLzl2nAOpOl0jZ@*>!Tkx6x za@1E%-*|0+we$mq|AHXzQQ(vznJIGsN3l_if)|abK>k+ax|4|Id^b|>r6s4wKyWG( zXFGb2$fVbi!oSI1f=C{r0U;M64dZvpCV=s6C zZwqzq68Qd#fPegWyicF%+2h|Dzvaiz-WdOR%#@*iS7w{Jo=kh<+Uk!_mxw7p&-`$*Z@o)oOY4Ktb~C0=w;z#tLQe=Cut#Qt^nmP6_=Sd2tb9z%TN@w=7!FrcV~-`w#Ei|CjH zQ{)2y?|J?Ht@!MzEn-SuWAA2)X`9}GlT0VDH zjI>7Qh%-z&^bA&F$a^*hOD4d2^h_U#xXJC*$yoaA74R4d7$;i_w0@O)-l#%{oe+%K zLEHRq7yFoe4d-=%5KXDD0C46;{iN>sss!;_z3BXE`3g?Wx3jZ@DbW4E+U@?M?)8V1 zYPaI(D}O@eYsfw&YOF?~yEf8}zSZ4Pqae+(lWn9r2YA5(F-f*ll)|{}%o3h!>JuSxq zS^o%Vkf4f+c~f>6)qG`;1K^Kk#Jh9>I#0_PgM$oNLq<}ckNBC~x5bExDaTNDk0eqb z5_$`YnHD&NT!F{e4XqYFLdeQj4!z*&S+X0A@}<5JekES~J!ydlm6xEq05TmHIzC3Gz7ed08a~JC zE!l2R`LXb~xJ+tk*;1k3;BElRGHaR?l*vOUYW67)>k0 zZx3sAMlYAC?A{$|fYMCA0GU-Srly>cAJ(%)U7uj9-2YVi{pQc;K^S}H-aw8jx|PTQ zzwEdElbvE5YnFwoU@zr1({e1~4(b9sK3mi+V(DGzDHe3l|6%ZKCZNn(P{>#SsOhh= zZ)V%JZCc7KWpVf62NM%V9G>WZ6$*in(9<_2_ACXKodu>pe}gSQlQve27>fTf1Zy9g zII0M_UyJUEjJeVA*5Ln)|S2G#u2)*{Kr(EOiWeWl-{dk~MEfEQIz({g&C&zf2c zVArQLXNQ)x|3m-F55MyI$V0~jDu=+Xe(BX2Cr+Gz{DTgJ&3n=37iF$n25hA=^zNNI zyO*5YOTyX2G-5Ws9vQQ`=(5eXv1W7L6$^e!0FL=(*n-{h3vVTov?2IpIE5ge@0&3* z)$^s{_P%{@(nXKMlPdJlYkLhgYJ1TGkf2#!LAppJ_hFVQbP>C0o|3*~813zXti78! zZ>l?}mQT>9Mh1n)E;LI!fc2Mywa$V9d>?-VlYbXnEp_I=TZj06{ml*Ib`x+&*zKNY zmPwP2sPFoJ<@5gZLP&mPUPJc!4>cORSp(H%B4#*s9^qpDzo1lk!}D{tX@Vqm>sUN9|Zz;09cUrb$xm##S<%rD#r z9qL9=JwWnE%h+Ye87kPW4%|T(!wER?bOZ$R@C%5}sYAZ$-nJ|1WNe(5!S1ZmxdV6W zWTJYmg%YgnuiA~qhA(eykHiXxJa#&{U_1}I*wcAevBpCX!z^Qi@LzI9#M$Y~+IUsG zeKUp@?*(l9`JEM~D=au(f^raXf$qYUIR3|Ez(OO?KN94*xsG})TGojZL#5I!!wH@M zWYG?@J?p9lY55(yv!den-zU$XKVNN=ykL5)S>=#>NAIk_BRFOjJwVIv{zh#83a2es zomhp}iqI7?djQTNT!Y8z;jW)fo-rsU{u@x4p`}4qL!c+Q#y2|8%%U$u&^F}$hv87- zb5cL|_q=K>t$5Yq8!uoI$ z8rM7~vizFsJ!@U9^L9a|5qKH5D;uf0!H19=dVrv2|Su9r258@c^i~4We4*oa*JA@)&L@qd#)(-6@0E75b zRx4vq4~OyPuB_7P+U*xR8NGC`I_7$EQeg5nx2Qt_7q3@LIo#`rWo)FmZsg4VYxZnl z6owINCYlB6GG}-Xr$o^3#mVhUkpoyP+qbm1(@@NsVhFw|MAo7PZ#Rl z^sug3WuWFZjJ|Vw#c7?)PJ?0sc%pDf#a_NKEV0CV*$G;uyM*T$#aB~H&lHa+$)2&ny<0&2kdG^x%m?m9K7`1#Q>WBfpJyEA?}hYU zm;Wi<`D$U0R)4=lI+#_e#oq^`>-X{j@6b1}pi;nb%FV(Dvb!*r7&R;y0W zTLib>NW0!}Ho$S~Qr5IU3Wn>|n(Ji6{+QauTP{)naj%Rmu-!RLBw)Dd%;(_km%=e* z`mwoBip}t_qVLQevS-e*x#zT-2bTAj&NP#l^CAi{I2S*j{O1<6Zix|1W_*%|5n^M-~)%YuQ>_HX^KPY7q99+S6JRi(m?$8+^u$x8VsG9M#M=gr?ffEGLibDLl((PROJxjYN&4svzlub?k^ z>M_>nw9PL&iNwPeM=?WWV3O%DGx%iC!rcN0Ngak0*&$&zJvj3U8Zi>^pUY8hUtbX& z8-!?Y2g=Q2>F#;8k9W?9Trk8A$fz5oR3Qglzngs6_eh*`z)zv2+I1dPZi{MO8I;%W zznedQ$ez0I-}CGf)_AF30yOG&2xZr?8FGuV#Re@-;!?+gbr~~uEKXdU5M^+`T_JAs zr5JT=erDx_dubx4?h8b}gC50|!(9hV&MENP?NMJeD)naI#TTFxk-p+gu6~5l zHnA6I0DZKgyu4thT(nfmXhWnWSAj0rNu?NGU@u=y+D$PODQ(GOOxh{H#$XdUYHHB< zImj+oif%vT327}`zHtW^Vuo;%%qBhd7z}~+0kJ9Ou4J65H*9lG-j6!YG-7y8OX&8R z37=cx%sy@T)X?YFw9(lxZ`_NJ^wewNX!#1CwIZDK0`T61*7v*hFY83`K`rdinMZ5wUkdKDe#~h$&cct&{^GMK&N8S1Yksr8Pmy z1&=ka#To@pF&r8QW=8tRXq{2!EJcBNZ0^AOZ+_zMvf}hT&nZUkmC;>~EQ*6g!V&y2 zi(U%$v-_|mxnC{zcm%R=lXHIhD^6Rg z_y2VHLg<^HdZkn!_}qliN3!AJ@FV)?ezZsA;un4Z6QPfYo&#~p{rZ?3uWFZM`0mXa zxLcqjK~qJ=tMxUKWvWr=J~`50B|4(_LD^vl03t~)IPu#3qD>+0bFgK+?4td zzn*Mkb<(`5I0;GNW3f)P$Y z64>Fwf-mQ6aSw95fQRn}e#QmM-I&|mND!x*Ti@8 zhYh+FlLOhL$0LS}##VF)vHKqpbtg9W$>#l`+fy2J+w8|_;RN(cmm(hvKS!@hs{)R; zL{1ZT_k6iXo?;vRTd_1n8N=$gi3Vm&Hb6@t>ac2|m`!tZ$Lm!rd}BDO;BgR*Cc`5d z*u>q(@YBpf*KeThiAV0;yy}aJ>+(Y<^ucL@vX4ug#Xsb~x?3e+0P7~=9-!7;yw+(s z-O(M+Tl9o2zoU3i!<7g11|wQ`z|j!r7uCnGI04{uZ$W1T1vegnYSfu33iuNd=waMr zW$G2=RUcueKe?t$z)x+hHEq{9$`LF!4>_EU-!J-5er3A;gidgNw4kC#l`t?mCJ_9} z<8QTJ&J?No!x?g_ZXA+=Jb+h2kAz4&I?g4d1#q@z&*Cd@F3i92CH5YHu4Ginbs%ga zP>anS7=fb9EIK=hp||`3LIg4eY}z|!R)guPQ-@(FOFvyG!MCWg54>LG#3n70kYmpW zf6e~8wD;2Yi?enVJwx&C&vUyYgGaXOf~~>&PLr3bT%u8sqZE(Bw8a;aofHbDJ1Ma! zyv(8_Pl2Des%ht7?*;a?s4hx&t+~_@V>l21*9|IznvaaB>3QTnB{MZ>Ts? zSKS1F1g+CjphLJO*ef#fE=4Y?DG*hAQ;Q>daV8@tt-<``q6c>S{-`%>y*KuG2N;2j z6mYT)joWR3#dUsWD!;YG6{B#bIV5I}BF%;q8_GaCpjas4L~Un2PNdWJKcK3mrWc9o zqFae(7(GPGV}ic&`^7h=okz7aM^_64Ki+U0-szCcrt+{bB77d!IblQYR5rM6F)m9Q zY(jvXnzsV`!~W;Ci|u7uiTIj@qhL2g4ks%tI0XcIzgO5(KDqeYvt_%!+`pAzmASy5 z1ji&KmpK%sqli4B!NDH93PB=47f&`XCgae(RZy@G*d~r39Nju@^WW?P3IhYKg~jhX zbeP+c)uYHls!s0RJ>POT3Ht~5B!UXwE)gx>OrE)o|3)XFP>G*=4o7<3jJEn2gPVF+ zQRG0NM|{2C-^D`hoJlhhoGAlvs$u{0Gqg?@I1=tDcAi`x4%}S}6>Yg|YV$&BR2Z|6 zwgSus%5^{Eh3=cn$JI2QdtMjC(WID*xPr+vUK%#}Mjt2n;l%&gjB&@Iw5?m|J{|0| zv{R8QXaCHs#W(#&v8gvcK&-nay~X17hbt_soA2GNeO2R=s#z+Fe>;mo1!OA9@xmtu zCYu5Zy6?h(IpiajRnG8YS%#9X^9V!vm+Q_Wa9>LQ)>|%S=HG23*j<2xOB5AaUdp?P zhoX5IYVoU}NOS9B=(39ZarKt;CGA^g10KtHzj5TR878RVr@8(S9CT*UYqf9P&Dr0h z(4)HTnw{ZJRxhkaQ9^tEBtzq>!Di8SoZ-9w7z20h-Sc{^jM;&6w*%zwH>zZ{w5H5` zBc~q-UbwCxqHn1-lU{VL=yu*C-;^po-+q@59y8LbFG)^tMaRVd!na})IQ!UbpiPaJ zZIE>gz{WwhUJjImp*n`&%FEUF&2T{8a6r6{eyNbq2E1WA!cV9`MCPZpYNLC~B1cy# zar5na1I~wuOl$!sflwn%#d7zx#MVBJ*6n;{&Jb~ZvG4q|!#H76SC4aSdEJWS77+ZqFhYs%q{3Gq&fqb2Z2U>MC$+GHRw0TQv z*oajK5Bdni7iM zulG*yI>=R!x14EOAwQMHnJy>_%P~fAl{-)~iF4zY6xIKY2Ub(k6#f%uV%JK}tNszKJkOC*)z6w*JUXG^q0wgNTy#beinY@m2Y!A>jfg9uF zHS-UDdC0XO15$#0*h*y#X|R&z3S4&jj#(C>O8{A`f~9+S;3if?hLF(0Ijs#95iwb8 zmVvv=+~TC-F+BX?sv;=C^ht|=9$wSUQ}60r_ezWRYe{TSY5*~LLj31)R+cu~2915) z(G#{BId7!hs*~wjQeg_3=uDr278(k&2CGI}iR-v^NTRL*nB7k<~|FxU0Osa)k*LLGaW>;9p!Pn6aBSf-sFzp4CGz@5Z7Al;3 zeb7jtHQ~H$J(0sHNzSuzna<_r+eg}Qw=6G z7qATDt!S-Vz}rClI8K090{XCPaJpl(!4)6`I{{8?ux%^H#FUj}Z8;XGrh;YKq)*&* zdOE~^J*AF6A8#w7;ImKIUwLgn)c%|G`@wV>!nbMVDDVs#zV|^2Sx_xMlRyMZT_#8_ z|9Z3AV-yxOhVlt~eO}otWKmhhJvv{n_Y6Ja;bY?ssBp;J75e9AA3K7kdM;4IhGR39 z0!GgITTh1oNKfOM&rUo!Il5bt#R5I=mvd3GFvPXh4s8pB%y6w^WmC-!7pq4l4qQwO zW1y#U>S_d=ed;=;9;?n2e8J{PXrgf7mw^CS{q^xAnpX2^4aW$#37<)1mIfoM`4_-m>6Nnb(Rkas3`DR4FW6{vzi%fD4NBFFxBi^i+RQlB;SaB7h-v zf@IYN%HJ}Mu4n5BmM%6nRwn+gvo9*`@Ilw)Ni`3*H&ra`a`USs6#w`$``9&?D%_`( z@=|ODPHt?;)G0q)PN~GHgM`lIF1f$KFEA7k^Czl)VK|Zwsm~ji9)$TfDXU)eoh4^8BuZc-XJi7zZ|60u z)*Ja|L-vgDcu_^~Wvu<#$|R!B`Pd#Ic*iFyaOhvlM0fv=pW$(1a3B#=R!*O4`P_uK z`b{@3OWl2)8X}%rwesIpHUENje{hpBz~q1DTz52$=MKEh%05*B+#*G`7dRw+&MRPcSoViIh;N>QI4D6g~O)&FiHh;YxTXl($AGmSzY zplhdYO{atgoi}&o0t6qvurqXHk5s6fo%6r@nXo%@1>}yQwf>>S*&7BMl;_m6xX#hN z34W`*r8omIlA9BS2e6Y&^tn(DuoM}~HO5#*`eTg_=cE)1d3UIE+(3gEC8fvLU1ors zMpVaUU;+BtVKWj)Y$8gqa%^Mp8wlO|ktK~}MHSX;4I-!t|AWwOUcExa8zntc~a`Ehd1i-FJ7lvN12`P#)$odaBQtWWx|*r)k8^@>CGvrh!Z%{1j2A`6j%FJ)C-m zYIpgqM4B^sqH@YcIb2?#hJz^a0?Y7HZ4;6#Z;oNc>6>nSuyuN>3_qA(#Y^D%N>mhb zJXD!fmvl$Ji3U`7wpy=~9`%V_bWETCIF%2)`TLZ^M-G?QO?+$8qqVrQh}o=RvHfbz zx=%p3^xj@v*F3Oyh1b*?b*0xe&~!-d@duTa`o*--_w}fH&;9ril__S4RZ(o!_j+APu^Ph=zJ-ZTt{ra=teyxL3&1eH@6bor;EGnH$Cj4Yf zkn1dWe=(Lv43!gawo3P_dr=Vq#`ix46)-qLtJ$sWl?0zZy-9#&Y2TnnSyFUCA-sZb z#?5qOr;WcXXlp3C`xSh+)^uAY6A<`&^&$VuHn?rvf65{I4pSR$-i*7yY7+X@BoARovQ%9^UyetjObOag(x+iK=ri=Qi{ zM4Kxp*)nR-r81iK0y&;#BV_y!pL}32mZ$<{YRCyplNVGE`DJozoX!!ojlA>&V@};P zZ6Yo}MGs1}m4vieQ-Ibup{}sFOhMIp1KC_n>FbbqgD? zC(ESvL_$ML(~O$Cj!7vv_W+Qf9x(wW81mS z`)($t0S8cCfikNASUjrjmWcZw$km3g4xRR?fJinRv~YhfXy%)$T~iCIrHKi;heSD{ z(;c?5Oe2CkEuImELyg#u;9Ris|G!OuQU|i`-cRSI%%b#<{S&r@ruSwT-(>@`Q7Q+q zk?nqcXY_u%b=Vij<_6cCX0hC_9^3J4HUR$&lbIHPn+h1h3fZ=^RUin zsUH_NED4JUB9j7qC=vRP@(;rr$HVmL%baH2YSQR}3xeSi`ZvV!(kv-Nth=?X$^p1dpHV0YZE@*kV|? zBv)9l&x)LNL-K=8(if>zou?l@y9AC+1#s=CgOzsQedqsi*!9ziIm5Sx!LYUf)qNs> zlQlIfOYKq}=Rc5UI?!O7bT%8;DfMw3V1k_u2{V+YiD^e%pHH%}%2`?c>LShvV4uwm zNc1YCfF{9lgBGrV^s^t?5>`@@`qNb?ti$(!K42406a7!tO>)cO@y;mqbQ{-k`@P)` z#&4#~7C{2CLtd>527Q6oYli@85RI_-u40otr9&*}f%_5NQ~bWfNr@x^@rVos*@dR< z&<&nhx|(hnF6`}xLhw2rBdEfoLioJP=o3J&vqwgiH#8Il9m%QPi7Q13z2s#6LcIhO z>Sc(z*V#0&77*~)3v0ibkImV?tEFX`9K2Mgrk}RVW@kS;73^JisUHKp%SM`0Aokz} zu?MF_Pz#12nM0cf;2Wqld04RC*3|S5QtWqGA#GTO%I7)?Je&g{n45J~AVBW-?ZL!? zq7kC-GQ)bXyk_C-8(;xh`0`|S!Ec}Fjy83xNYrt3?f88YK(lvX144nu~CyK-HHCIK$j^F}^Y{`&q+CU(+h zNBwVI<%RhYjxYebux%%ofh+J%*g;T>Y!lyMe|Ta=I^zgv-f)}+b_Ej-s}9d{KZ#S|F)9jk+bp9% zx6WfoS4nq@7*pB;L$2%@Acdj%8A$OsDn-Weq^rj6Pu#TKuUA{N+?a{&fIkCw4+rqp z@??JM)g12^Bb3rG?VFQ%mMcp^&QC*%P}sY4Ay@o8Y3RA{ga8@gUwq67HBqTYN%Nvx zF3f+8u$5j@lKQHnXRUX_mLSSk*VU?Cx7EH1HB2_8kvXSV&AM}bzob6=BE%t({p`Tj z)OEjVw|BCrn^-nuu6PbckoJ|LK&t>H8JE+L;hfth10!=y6XOIP!=8Eh|cLJ1_JCP}m#t}V(k3EEtDO|UeC6ln~EN38sH~ zpj)SJwMP4|dMztFEvK$>iXS9FIwoPrn9oi5600y4&4ivOR{2F=K0WfpS^|C8<$GYr+n*F-0wigX zILdHR;mM*Ku(|QF50ane)KC|Xph%P=07NOrX+o#_ex@cT+b{Yz?96LX2z%7k;jFnR zlV{|#%oyycb6L9X zL6&-*20;sZu`hRbX7NI4SSLIO}$H;;2`qeqekrM%pK87SYv{HynRK?L$dvetSRw=3OUsFhc7o~da{b4*b%zqRFV9;dv z4`uV(yDeIO5RF*q96{)7i8P_Id8V(T9-EZ!xjy>q)S<_|r zF5ra7!OUlqHlRjqI3zUdCN1CGVIjY-EM$n4*lCsxh04A9 z7^E2e7&2hgS){>YPR$0Hhc<;>oa*Bi-T2wQ^J#|;f=vhHoc*(5{lRLNJ!=eVe#HU@ z-B&uOiF4T*xUrH^nwS)y8|`lc-M8!Jt1bV}*mr75Wo^$5RnR(}Z=YR==At$=VruozM_Jdyq$<8f}tb<<2JWl=aeNh z+17Y#^$w>sPk|&X_-`CW)#K*W3f7l2}zGuffEJ3l7?C_%!e(cQ3wRV{N0|v11xw zeT?A?=D17-#8Z%2o|;@o$c`XBkp&Z&#eNhVxD8IG(dw?oZ!kf`rkMB7$4EMmxFl{h zv?&`hDF%3=8_tGH|IqCoAkSD7d|2=HnZBpMd^OsQKD8PE!FA4mtNcPA4HT1yW?(EJ zY;6SRX2zZc5-0>zEbockU%?c|Lrm;5H{Iz7?Y7Jz@aE4 z?Zu=F;r{GuYN%r&--ZG3Xs1Y6G_XB>bffS3mg z?DLscT`BR99sot)z}BcMwZ9yhCv6X4FDg9Ivw@CvUG%9KIpIw;79hp|4N6}}BdcSgpfI2jPBL)XXQLsUm@p!kHBhi9g%K^s^bra5 zLxHKs0)P`pS>#ugMe=I|Z#i0yP9Hi#0wM>>W*ck+G`!S=v>6_QG2MiEBmiNYj3Peq z>NzVZaHqn;!Z3+iyI+3zZJ6bz0pJo8f zjvXsyn>Li4-Yi?2Two$HG`dduqPzXe3vIis94&)a)ku|-0kXXoB z=}YxjHM?1~L~6P_I&V1|5v<=486{`w6n82i{y4t!$Ma5UXTV-Lb~yXw;im?Nvkf$} zCmUEj%deQ%_k@-$U&f{{4?VplVRkO4V%Ldi>sP$|{!rA#upAgcfQv(Om3zQU-G$=X z1(f&QcfhbZ;|%u+Any<~1?@eeiW&#q?G=#AfUOd$%GN0oS)?SE5s}e_{YAa_X2A7%~!zvlqgBi;=v>xB8n%chc90Qy;??g%qn#xKH(70QADb3ez1?^pqG>0jDk zzz6MmFCuNT8=C9VG3R&t_M~8tVvO98U$8;$XK)q#M@j$X8&?Uu#oFPoZRNaYT$gU} zN+vvGvJ4sF7oCe6>4{!$>>4{=c+=QZx{h(OMR=FvjttGn{X193R}VPOeVFaBNpEpz zHXrZFonvi&!0v@atQ52hjZm}(xh?XnKyLdFX(_!9^zrwQ(Mh@W<9;1Ua7sfE1ni|z zV1{f#uo$>mz1zPwYypRcbS+Gb(ohWstPt2cj_q~PaNO<)$tuXj7I&ym0|9T$IjXK< z;Fkv-poRk9IRhcjWI)*`lN?w2&i5cVBL1EK`&*-79;e=h`F7-EQ%(p9uaHR?w8^)C zQ^b0qhled}c*tQL!Jv8oSOv^f3xu2rJYr==OE)NHF$?ErQBnc|zt-=4?&v=~nF^R@ zHw^PI(v2r$U9!P90hm;QeilVfN1syD?>q^4<9$p$h5~DxQH>fM#J3QnV-&+;voTl*pyU}@ zhQ|h;V4AyW*A?VIAVZo=f2@?J4FiFkyTFJr)nP&7$z9MiBZ!h) z^6n6v+JPQ-{k}^C&AS@{Wcw4ND*8l~r+U%yA8%t*2vSV0-n(nDddCiPFflxuMx&UX zTL}c`>6sB~$*%VSc!XR;aOf?7&HG z!)M+Y^j*~-d`Yz0A0~QYkok+c?pY24igcif>;*;zJebmh$Cr)_RKRp zwP_z>i7JUD2;VCa0L4xatRK_TJpj#wbf*=wykVAzEXk9=q7gwDgG>cTx`Czm$Z$!M z5F%0vpOX(kH1TeDo2?Uw<}5%tVC&+~{@a}=G3#*>vGc|#`84l)>pDjFqe9Kfr9R%f zCGwOK+AoJ1BqZ(GFztP=>T}xL_bDrM`*o_4(M#=qO}M@$q@bBie~ zK)A5;vpKyH($GI-Aq6tM45m7>0ZE{c6;IaWK7N#vp9Mi9tbrH@`wiK{jb14E!z7)>eaCr(gCS{ z(Sp1e!SIG(-@*hG9ZDL^j>P+!ThC19rW!e@Yl9pV$ax_1a1VWMgIqxX*->rm{FaLM z`M<~56GFxa>FRx(u=yT5>l&a6VOR)^%C_NcjwvEVk1Q@55n-0A6}65ntAn2~TwIhQ zDu%t3>UzO1-85dtmSC_VlJ0PoQuLI@u3EGTTNOa&i0CPHlOmhAAVm8d;DiMoPtm7G zI=|xOL6%5jz)MXCR^3DZ7i(Bz@P60sLBh*214(?e zBTFILeOG+@7gsx<(F|v`k7ruk^Ftipet&tLMr@>0binW9U2xtQfMXfAXidI$iNnKoKZyESw#Og6532%bzNs6HFM3 zWtd6L{c>B3(^R4qid;tIi^Je);<_puu(X2ws9o^ZK9 zS@h|Fagr5KD&#@$iyCvpoQ4A5OQF;W*`01m`ey{5FHfF4{ho}9I~2)dFwdHvw||pz z!ElOy_S{=%wTCLIUN#vsC0c`4i6P4~cD;dqTi6c;EX85x3qpQprNjy!w)Kk2dQ6fc<>79n+zM@2A=Q9sT;bxLcK z66T%ZM!SCc6Wi5+m$Gwj2rC$iLtHT0dJ#YQAF2sa#%VTBVbZ zV2>#3?j51TX$7aa?R*4d`ppPfMK7|NP>KTt-T3y)9cf6V0pP*Vl$E$V`HEo^2Ow^bF3T~VaW{Q3ofI55?HiJhK2Fka!OQeeh zpyEhEKwevIHmqyTE`Q2^DV?cf_Us+~(V+y9a^58RMVB=#HsfoTb^om>TOBWFlo96$ zccMmPgbDRZll#$o0Wg{A*Y+s~W<4bxht05AH@5T>%x#&Dns5l1Asw|)C=77VSJKW_ z173jDM-}=b(9kt0DyRdzjj-ou=*La~bwCNcbk_LOVyuS%(XI!`s9xw**-uCE06zyS zufS0O)VOf^|6o(>zdpO~(JcoA;UE&Qfw5k}E1XZnOr5OgHRSWXu{487?cPOF^ta^m zu4a1r1@0pzj(u)EBNn1GF^J%H-i&64d5(W7>kdBL*RTv2Ds{_~h6@fpMHWNFNrz1{g8V*=x2kRzSv^_vese(!j|Lgi) z0s-fOQNe{5w7?ii+dsg52uQXiJia#6sg)@C#DfsH&fzX9maszux}zVx#%i!DNsF*` z0kSt~@(oKKWGzi0$C>v_K3ifn?lOY`BE#ri%V%DjEK5DRp2v z8u9~2^q_ErSnsD}e-;$O0hVyleSVv21gV}SZsI_31iDXD6b!#c)HSy0kxRdtcD}|Q zczk%lIM|ZNm2&KRc+(Qu(r{DmtLs-n5}g1C?j{Hozy(&~JtzncSP4i@y#Q-rTbKr~ z`N}MRI*`eGfTKYeFu+(D?U#E;p~iFoh3F@wpD!;`xBy`*{2a6<(K!RZe945JbBetW zjl4T~VU*`SIYzvQo|C)SC9eFSOECt!2{4Fq>UyANWE1*BXv}jznu@TBYOO&9$LW#q z2?tbK5*S`uG#BxgeTgZBi~>lFfzAfG@0o3>utR&0%>W+qEqW!WF7bZOIrR`E)?lC5 z6!L@b5~QgpCGB+^bO*{DObIG|u#s-N%0dOZ6`7gP8Acj$ZlFPCIF~?gyi#EKq(LFE zkl~oPyvU=z@;^s;=GA zb*up3G(gIy36M1Q3CTRRtYC-gxl%(RunvoCjcc0vz9yUg}E^j`~;#L7I+~U`%g~pt`1Bd&XD?vW%d?gud9M z@BlBxAc?RFsLLRp-7x|FY(KV;RvP(J+dN=zLn$_GWJF$ns?&z8n|d()#i<*12;!^_ zfzkwoCN_}yAjZA!qA~f!zAjw|v7t}^GghDu)&Al$hfTYniN{>-{swoR^zz&@M3{Ge z7a0m^+z}G-+T5A<>1y6+FQmz5zeyQz;Ii`bWy`)3HO!!M|3NtJ&-o0`BOFf{)L4sV zh` zETcp8!NF`>IOS1D*Gz$6c%oEQQ8~Vu4C}p%b`7FG{L9iz|NHeVgCVyKwAs~2pKd!Pq``{{&a+# zp%UPR6$R9#K{W;lmF?Gs^MSLHt?`R{=+&{^RejtXkVJ$2S7HKAB5Z1Fi5)3%%YKHB zCDLsmsQ}Gp*ilG+%00-Xws8c+A50eBu7(XjTwbWktJ4QXvX{&7rcuWA~mDsT4*W(x@F!UR>v%i_>tFZ4)X3f$V@zoG# zg#PeG@5kGsKF-`9N3+l5to!OhF=#b0ev3CzHlaAtJf@KI+ld(Eq)z(4g9|1Q?$fK4EQ4#D0D>_-Uymwke(Ms-!{L~IE zFcah)KylTBC@4brV&KhL-7zK{$mP_O;IiUgkcc17Hj1_v>g8Z zw5$syDBMGL9$b{1yz=zrgVp;?Z+V*cIgm6(4RLCR|8Iki2DiVh zug-Jm;gcF1QHZ#YBE()~<3Yc~(|6~Y1RYTw7VDAi%R)XEv;X`Yd1=v0 zIBvOJf=h+Kw@)hy#%+K`I-1!32j&Jc-k4IfZESI8{X9h#yLD*BC@F%sL=p|CV1Zdd zdpylSMI_|nP{`PgX!8q5;*r|X&cu8JNIKc;6s6@}1qE;n#mu3o*&fqeV1gZlv=qnRXJ>*fIInL?x*Idh4Qh7ldPvQW7&Sjw96Dj| zx>1=^2UWP&$A`yHSJQ=7?{+s~yZ~)Ds{L+!Hy-yBWp^#0Bqp0pLf1)TiOYBSOG`mb z7C;1`1;}hFGkUvTQA2vlook%6w<9)5#RAWM96oenEX4#7rL;gXrlYYyQELlIXpve5 z6b8HvB^<6ehE@sz!>noGV1Yp4jCrks8dK^nLzfayWcoFnf5-nH*e4pRHif_<0?XOI=fhtst)on&p;6uZ%P9+oq=%^EKM{p zE4R8O2mm%(t@~9iD~}TbKB4Jer&~U@7P^=LFA{ee&d&GQ{k|0HfIvmcrQ5=xQCTN# z#vBT0hT7##VP^wx2=^CwbD`hDq5}x+rKQXrL%gj$rlueYz#t4|p+Ix^oFWguVy^Az ztC>q;t#c^@u6GvhJ(MZ-Q*;oHhMR>)TA{?y>(UXG&*A_^d= zZ-b^S$TLq_MRcr$cNa}VLNE$(mj#e8kS|B*TOknw`pHru#c|!mH1mR1cmC^n?F9wB zGJZ-Biqa}|CnO7-z1GskP|*NEHK4gwxXr=z^MZ0I@15)#0sLCL9Ec!4gN~wxA&LFc z(UT#=MIGYJN7k`?Ag=nZX(Ir<52yi=4IR}o`+mPkh{y0`lSX`iBiX*m! z{O#c`9EM%b&)m@nt}MNz(fBDjjFfmX+LDx;copU_cAXuUFhD;b-ZD`CLUZ;F_@)$v zsWu-x+<F$Z7l-N~l71Ev?yiq;9o{i4PFWZ7&n z?<#KXC0)g>l!V!da|I3~CMOa(tNCu-bWgmmpERXospLLr)C!tH5>q*`12-4^xX!tU zori{byxGv@6xAZVn4v=9DjNGta|$=!R+TJO2yv6COiGV+aVy1!dsai-0@ltY{f0)V z5ZggS%Ti8*oSg1BA5F7TVJAl%Pq`g4#0pwJo>Jc;j7K#8X%c+pKM~f!@+@#}?);Ri zByKm5anX3Xi!R;uN{A*l4>+~F-hht>KjJ`SL(H2!2pgAy&?&YjLy{NK9ufe2ARF4_ zjwMb!7ueHj(2JGc)cJHpca$YtsgO~L)W|}hzhSq{!UPX0LP}0ggXc^*_Y>z8WA3L| zIg?mw;mJnDrjldRxzQCP`Ul<(3w$Z4AI#8PKV9MJK4gJ_H-xtt3O|sK$dmpnT`H(M z@!aj@qMmyY13=xyW{gWwlr`L?K#=tCwAlWs&#-MoYqKzrY`%8O#dg71oq)3jno5R) z4$lI+9AdEs>LB(7J)5X+m=T2|^ySVqG^V$6@C+-|8XN>pjx!ZFSyo4V(VXqPce8_Y z&|t+3W`)Dvm! zfyI0bn*@IHIgERZsfY7OdE2aI3QGl6GW6>?~GGDNRoE} z*H;Sr zsFlOdmkH0)h<%xUFO!x=dqXcQ3G*`8kuMu7J?GG2B9)d_`>&6MT@9bvPWOOIPnfQD zCJf5+ed#dZ^NkB9(#;P;96}ISwDE~?66^@hX%X-KDrdE;nQoJDa*l1F^6&a2Mm=fK zX~DM}sDBsV2PF$~SGAJlm*hX>$8T&MEm>}2=d$8_uC<8k_W1V6UrCN7^)CEP3?e-l z1H!bXo{)#^_fiuN!&t$}iVed8$#8jtQ;@~Xn*ttc0_NYF9yZQnYDZK`eBH<{0S3Pw zm>P}X47~NRby;E1?b-9Fu(u|x)5c{!PoUmwy4^yNr!RsSvZ)=l=N6r?yh3DK;ZgN4 zVwGzD>Wi~Id4=ZX{?*QEi+DcFnK7%odUkxBHll158nN_;UlxC}O7{EPDkr~M6q57k z+*&`~9S<6&a^8JA<@oAZ#*3s~Z`&K<{OYp|!Wt4cZg}zaw;NUN9_80*{^9V3pLm;x z#Tjh1{f!Z;emHFBFx8)HchN&W9uYyJ3srI`aiNm$x7^9%r5tul zr=HV_KA|}#BdfPWZuejN=UsWku~3VaA?JmUGEM7W;(Jq#KxqZYFR!fCP0SmLXw(y4 zGF9DL=wuuE;-aqbeB7r~o~lX12Fq9@Ke0wdFhG?iu$Z#f2h6@DzE!a}KfXU(5f<}c zBa>S_ZurvkXuaeErno`o7N!DIPPc>_hUwi$+iHiLL6N~g%}OaK2mg+A>2Om|tzLCF zt2I$-3-uQdh`}_m`tUJK-|c-y=t%ec;qCh7H&2#6>sjC;uR$UG_Hc%9sz&tXqR3~l z)caQCrHaF2dPBpJZvDb3U0OF$8UkMKfzdlbl|ahs#jdQI4sD3i0zFSsJp|eAfut5G3wHplQ|&pj@>bv zXq|RNH(`JfY{G*qN!sQoRtBJD9dvUmJWSJst0@CiH=!DTw572?7AuUg!L(Ulq%!#vl^5S-n( zd9$wnO6_@>S{vCkPtGXD3E^=6s4=h|86XGN)>#AJtWI;zJ=0S`eYG!6`*U*IkCE2d zbmL#MzPecMMUJ#`!R4P9Olp~)&Kh+Z>fHfhmT1UM6t75c9ZEly2#3vzl`A)^6HVSx z1Pi>aV8p`IX{xbz%!gJTwm&&Pb(bgyoS?>G3nTc=y$)A`L+RMfxH6N{GF z0AB{fg(l_R^l)V~dI!V29&gG9&hqsnBH2O5V{bld6RM%QOu-Uk+5y^xasxu$ct*!A0&w zH%Lrn%UZ4m-FyU-e=70H{wNv20GWs?apSywOgFkmDyUt1_a?a=#VZT3U72yxR`r&l z2|W+8F$fROirrp3$xi*me!ES2hNg18to?3{*^TM0t3@fB*C4U!%!kh=W}B z?G?Zq_UfMKXcXJ-cP^?GyoS!2O<6AcqyA+G(5{BwqZ8zQa&}C6P6m6k&>q*E7c*4& zN@{9`GQi|)n1)Ph8qSi_uyguTPnJaoO&6EJ9)9NpRoKInkZ&nExXo|lkh21ygxUy> zZFc*Rtj1(o7zVCz9vdE1^d4)p%Zm8;@grpq+x&?Bm@ReDp(TpLmpPCVM4~b3tbz4_ zRcZaamvVl4M!>z<9wMCOwb#UDb47aTHcmTZ^7=x-RToWmYulBj)+atQqn=*#eEzFI zz&eyrT%?y|90fH*hv^$45#~{6Z+A3~-~1V@F01uuLdJwkVU?vc;1x)TGKO-#B?Mqq z2*8Kz)Q1xvd(E~EJ*fje`Z~%%75)C0k0)~%;r~}GUa|qd^K^}s1jj4%xx>gJo1N@L zo1V`a-X>1e8+^Y>lxrZa+lGEvM^c^pV&!^uLVNaii73VvG8GG4UaV}_3$-|vsJA~# z>wc9by!gcpZex~%q77qqP9yeiL;xD%TN>=@MD}aST<;yjb&4a+)s$K%!`_q;o&>!8zcxuw%ERtK8!6L8lxlZU~n-P56!kML*i6TEGnWZA?UZ>T;}Tr$S@j zbnB2a99eMCz}<(nc3I?AEKuRl+V}Byq96k9LvnO-eEDH&)*rxmc9LAC)luZRnAmNy zJ7;sksVH0~!}@{l)yf5N3;uaE47mb_p`zoluMN zRL`O>aJht#yf$;9CPeROC8*U3tGR=7lunr^8GO$%(ylelmmS2%FK%*Th4m^lRwjWd zO6L1rD6drR{h1en)5h~aF2btn$qYUyx}|Tj>7JGyz_4Sir@N}6+|zvMwhBBv9L)8zli!DR{8e&o z<<+raQQI*yg(xjJ&><<3mXWzD#z_K14f%VVU}a7)5kcXh3c;0KmYV9`;@nj6y7Mxr z7weyS4xET72c6+`9&}Nt#O7HbxSAuhV{m5~y7f%uggXu;N zhqqqg>q~U(G{jR3Q^Uiht*?i4(GO4$AuZ+M~XI9 zHLLe^`RBpOwSN6}@XqQq_xu8RMZQJBWTK&0?*#!X zc0sEfa#pKuRG>e3K6kIfF|c9CS^B_%NLVBrSy(5cD;+*{8lKa_OjosG=&LZlh2%$1 zl|*zHl%c(fsVCG6X6Hjp1Nz!>oZy+N&Y7bfV^8FI9Al=9kg1E1NQeb>ItoaDpPnQ` z^goNqGfW`c;^U~%RIUmf<_)a0)5BG}c-MwgW?=Iaa9J^VxZ1HHJ74Z~jZmk6BCym@ zF^8pU+#Xtnq2X}3$LuGG*^S8fXCc)A3z>LtGFB@r44;5=5U&82wDP;F{vsTMIgSTA zNqO0E;XJDfJ55+>0|DZu_T6(GXFrg{)QbZ2C?4y8=i1pH|nnglyD8;U#-!>Zjl z0`JUeA1?i)Y_zAs5qQ^(qxSA6W}%&*6zYGU`BUv?j>&^5E0Mv>BQloTqdMEQE=yl{ zk?SgxskgSU%;e9#RXEj^G0MtiOG+eFgKWjr6Ei2wcA{XmON9MW42;siY8wgy36lb4 zrcBJ#`}ol(a{1e}JzDAzYu#G5|ImhfR)EM?{ZUqj=$%4~3{7;_T*zv@kZ}rp>3TuI zBQyeT!fql+??dgJGA)aJs!@3^v!TKPz>Gx4={_Uy^pKW7y#lfYaQQ$UvxO_|CwxmN zV_fkA?oo1J8>xXU)B7%q6=2d~2s`v=Pwq2?G>4b@{mZF$Br6vTASRVOs}O!vmzQM6yCCquyzz+4N^Q5=TDADj}r67^0q zn#OJW3dZdRS6*AAaz`sZST7+2DoYO^K7_@_!M=WMm)9t*I4CB<_qy zHV0O{K_?j=tgR#;BqvKz|s=zoe1K`2(>%CXfg`EYhyZd7_$TU5g*w|;SxyVd2J`(GH` zuYMM{{q&pd3W;~4^lC3`R@wD*@A3D8+b;&JIdtN9gv{Oy_0~99x7_#f)rY-Wp1;qE z37<-jIvyjHI1pBHZ6AY?)${fybHsO)XgLMnD4Pgg6tE?bQftAcPHWc8ZTBu}Ql&W+ zC?h8b7~(g_evG|&5OPWEy@pMs@rny12^(E{wG>(3AaTty=ZyAjqGvsn^bZK|_4ocf zl@($kFJ%OYCoBQrv;}z#MP`{t2P-;nKsTxUbjN5Y(&sjnWVH@07nWPkn;%nxo#m1F zr=nwXsWO&*KNud&%GGrrc1MM&Y`HU!8ZQe_;_2g?!p(bc8Lw^~TblfCOgyNiCUm+AM#27evxPznfltZTcRC1W*o=iwQV@Q3n2 znqIlOLMEvwAFb3YSL3`Y6W9jPZ8a3TOH%V%Q z+`OCVWjIB8j!LSwdku8H2S8|wpBRMq!-V8PdR?|_zL)_#D zeXSyJGV#6!gq#zlzdF9=t*Y7)k5)`}< z!heMg_>?s&Db*XwdItjB#7}36Lq*#eoK5i9Xrl5gu%%R&{n7y!NCeGjlB>wG><-wC zC}}re`#FqlCAfmF2E+M2N2ABIm8&l?uEz1(cnn#v%{fWCOSy%!#yJV0y24hm1Fb{% zwoi-P**+~CvfV>jR>kbEfx}DA{$*T2@0{?jZ1Fx`j|F4=nW_fKd30F*XA8WeDhwQB zs<`Nt!?AKaqafI4x;0lAhl0<9DCX^YFd9YV2NK$NWcm?zB|*o^O7bZ8#))!yA6L4y4;qI-wIR@aXr-&o3y8WP0K{IXZjHGeA>fej zG|HWlaDgBth;yrO@|GurxWZ{MisX|XEUa0cY%9*`4@(`ZO*$!TmT-SO-oA7qNdC!y z!0Kqy_x{%ML=?}FqHCO_oyyj!{V|;Aef}l^n)myLZxdCQR zbW)+5%M44yfyoiA7-)U*XMRVb^~<^{AMR-NKh8R&gPFQc!Z;GOC42()hZ}_FfLRQu zB_^FBta~M5W%pJd8!J}MY0qf1#_o`AP`Zo8-fzU6q565B*1CN*6OF*8aggTwUxK5@ zNmZ)B$98b8pnyFkD>Dn33*>k??RNinT8lIQY~Bii_@<=Xc02oqL0cI?bsF^Z^3kH< zY1LRGv~N8($M2DV+Y9U_88IG7P8!eZ>tIC^loe6l=ZRKUWtjJ6k9x^vr(CMa#b;}p z!+j=9tlo|*tCvHC`Pq-gA!{3F_wW{sx@0qim`VGqe`m*;w1sLlzMBuB57i5`PU7A$ zAKLbIDpnvrDZg+l-r*Dp>zGJ;D)&{b(7-(?Db2TKsVsz^likp2kscg9_P8=q-m!b{ z*fJ@gd@fn0>CTap0Z3&$QCXz+Vg_Uc5MoL})&M4=?KNO{-jv8plVPE8S)+gaHSd)efLwvOKd!;bL>G3oMW>9O7QUb zdXw<4sWf*ii)~I|H39|+%$K{NUsR6xT#WtJDChdi#hNZve$O^(y1H~^?NH_pDK5ZC zeZU4%gse<(eOlj@{d@v%4SWP*xB0=yq(PWcqF2=*Bn%)ElNi8B4Rz>s<<7yuHglk zh(N(n1$bC#a{0CXfE$q@+}K2ycAqgjB=4S8IAm+Dkvh>yEtcsjNc;YK)L!hI+=ReA z$)QG5A>xyxopEVbey-Q)JFyOKgQR-HeYu3a^YJNYckcW-esh~Ud#_*sWXO1D2oN5) zOGMK4!td7II<`f;Tl!)S zF$+kP3qApZvB7aHB;#EGX-MryZ5iUha3+H^qyLKRzS^4HA;d+o*DS2@omN$4d*(DG zkboE4WdWyXx*LE)W14c{AC&R0fYQUeLIR_GN2iSchFw-=ke!i%lmFEd&Mn#OydX=s ziS+K>_Gex1N&q*0eI@sFp(&M%m_9N{Kd;kEkBKpF{}@!$wJx9OacC`u6yUlYY<3Rv zU4^9Web(3K5Rq4g7(~zaCl(H zKR@E*nIc2ascwB$jUcXEKr0}(G{+^~v9j0~eZ}_oG2kp6Vy?~; z%A;1V%4Y$|G8pTDp$pm-NUJBLtQh|tV1?7sY0=E1e!5+=X=A=)fD&`cY{Q@sSNh`o zR;9mtcZ}8z(cdXx5GA920JBn>7^ri!Xft)n+!GiPy^v0onu1uJt*VEfok%%v%v9AfUNt_awD|P3e!eNrA~= z>mT)o@3h8LC1Eqh&cQ~7#F)7Kh*6y=HMPWFWULSKCIpe)09KENJ)?kN`{-}$@;0Du z2_Q^3f#3yhx%5j}-$+1>Dxc$XZ5T>Xn@OF}6^`Z{wRcZ`5hne^p(|u2`QM=CcQ2voVAPPlY6Ka3CU2TGu62 z9_0vH%XdFoABGRh&@09TB*T9?)NI%;FcFXT_-}GbttDuzu zzX9Aa&fMv@5&SkhIyi9HpkS8R{B;x>2J8n(lNGKa-~~#iC(Xwi;p@bRFbQV*LU$(x ztP(!=Pcp3KKGSi+f%|&1-U#uZ6h3Quw_R&kac+}(e7d_+rN6I<00At>z1Hxt13DcZNRBb-1v9XV_z}&NCNw zMTa$f;#`o(-r4V*dBnK51I+)n{sGSS3rCeeBLo%LNd;-v9H{Qlum=Ru788=qZ5Y(| z{hCmJgmz$#Ll@2VIWV}=V(i9#Y{rOE4ZNDh8#LWW)h$IgHv^b!Rc)MxnutEI9zuJT zE!RTSb#S-er$yI(iWRLRa#=7YzelBDF%XtydyS>UmLLR`n?I4`SIBKGgvgFMXATxZ z3b6VnX%2Tt7k0C3sd8&I7ow0v4?CgU)eQsTc_5@5*U_%*&KHS*uD^WTrs89M#m8uK z!r!^wHmjJp)X>JwUD4^}*wE(WsMqQ2l(RF`|7X|CW$WfkH8!WfHC@>cWiENV(h_uJ z44`VOV}Br24GFJ*ARs7M4%fhr-i<%78G5~FOU*7n=&l-cQLGFUMGlpcCB#*gaMfTq z=6*y02en5~)l&z!V6h&i1itbMRnX{K6Q2V9X&Z3`QAhm_DV~cHA|4rer zAwDlV!8*%;GI`OlY{5g}dDB<%mwH3!rF8z;pAzi2PI}yl(dXH$8)7}h+OK6iax|u#VNZF{4ZHUG#_InDsM=AXx6CA>~n;4 z(O#&`hQRk>QwW@#;&~?H0l&Yr~yQt1`mtp|Ad-VcXnPxg91VIKD;56?R}$Zx=tSQruzC{nsnyyFJ9 zct?P+Xe$cAq4U*Ft(+eBSP_^2^;8rNU_=WMPLvNc(gd+iOr)CPfDU%DMcA(kOrMih z5D?(*?_D`n5-2j=*A82z4r)YysVVNDyEmk%+EEsO6JdG|a3pa3$`qRYAZF$Zluy+J z1lT4l?ymg>=e4S}N(wihU@JKI{}2#RJQgLz{bM!$O6?s!?J%di&iw7lu*WuuFZQ<- zO?|ZI?|xbG8JHHt2zh)9YK88@5ddBdy3SQX=illXZs(jA`0afTCicI^#sr8U*9&Xz zsKAN5^!gi=+Y`k2Fk|-%*nmLXq`=esFSzt9XvUMaGRW1xAr}hhcfP+pzWk8vl|bCu zN3rsD=PD&`^ZgkD?kyrj6>v;Qe;mhq;MaD$a1FbH_yK_>5A$a_o)-+YR4Kvm$|Hk2 zV$>b^1m2u9v#;GfZCM*rproMGHD}%|Q5f8#?;Q`BZ2zYSrh3-tCwd;H*;I_nBh)BV zvW*D0A%+3nlp&+w&vRqeN0Hvvn@#t!i=J*{^dhwao6!9m<$#jqb4R1BR^jzun%-?I z?Q^t0KVy~-M<)P<&{V2-ZIY`BO<<0kLY`&!m3Z#mBV$T?qh?GczN~7`Ij<7>97rf; z8=e=84~X#@pG(=EHaj*a#O@M}t>0oFvmSuEx|lD&JS&czQs zBRVa^=e)}T|Cn!_w7*zZXN`~eU05kt459@#2xWRf(M2E&C=r}TBcS5C#n5F{oZPUa z`xmn@OrvT&G?`ZI0JVS+SV>CoV?9cX@pH)`YJ!$QvV89) zxwhJZBypy1-R{X|SqP$sHoMq2q#Vi}4tpp+?SFaWva4)4>V0MpF)SXLPj?SMOht5n z#4`d(1H?tD#(A#hd(6kasM!Nt$ep^j0pN1=QAn38qDm+iutF+k-HkshrlIKL>wS*! zkRN{PbFMH__5q}D*)JabuOGK|JU5H~>^Lb9fA*M>vb|wWyA*U;SwlTZW?SF)LBJ=1 z=xnS;je%{X@y-=wtrO)e;7^)EIZNn(-B@EZOaz!XXuf6f5(V^EeP5HGQ}h5&WGbon zbLR{Zp#64wU1BNMTGsyVZ#U!9W;$S5&QEMA-t)~hbIyHdyVH583*~CfJ%9(TxB|hn zSQ%zQsMFwN!OfU?pnam>-F^bfD&QK|uUPLj)0dR*n1>1LXwlVGwD+CsG20d(j}O_PXp|D17m(ZtDB#HVg^n<|v&k57`NLWTTr6lnkzI zP=rVh{5$r1j)ntXtZYf(yzBiH&5x)&A1vHMRKdTjLhIXpIze{2>0B-Bhu06X?F!iP z)I6Uy0g3?>|7dx@kP^wZ9cxlE4CR|FU?kdmSO|`m0?4P2HO$jY@({LJxce zHsxGi-5Yk|uC=Vsfv@uD^G3}N)j^1wpfTtjxNl@5_%euZVKNUqVY53h)`a0f1E%h~ zC$!dQQ&fJQnAJCa{@?|rr1_^${s!DD)Snaf7Z+_4JQU$&WA*kEF$V9B)GN6b3k-*Q zAK)xQ%@z%d0v3iZ9DNK!2Uq;|{-U+=;;|cYc|V~C$EJh)aWy z)@J(z)c$U3p|R}XsawN8z7bn-zsI@-9ozzlw&$u-Zae06fJ1ZOI_7XOh=w3hm`Zs# z5(Hcq$msKiosu+Con`K`G`ruRT_Ooe0XWZ)I%EfLgQtG1*`MkEN1B8@b{h_4q``c*iV)8&FmUbF=4~Uu5vR|m>Sr)FuBk&{X z6qi#84&ZXnCSz~4H_CysI|FeS20@(8mfYTa=p-`SO%($ov)iJu5`hKVf zd&R09RP_-?z$6cD-qQM^i^89IVkbTKtoV+J4Tq<$k`eAvgO@f(A*nm!l`DKgW~+T~ zjRpUi$+A0(SGd09-_7=(Pb3EW0=$TlI7HIOFBx(sYPn4x#=irDR>wOktpKan!fID< z*FkDnieS-~h|>52(U+g_F-%wU?>0FDX)yptH{e#(=8_~hi^Owh2F>pM@v}n^uQ&D9 zrXxt1>_$O84Ix}O+&=~ZMGQ7k$(ZV)j)}~y&1K8f{$CS#_9`z=X102+;>BBmCJrNo zR%LM}>tkhB(3VyheV_(b)MTC2s!sb?xfH^p#`V*E0aqb&1y~0P&HYy#CO_U}{1qE` zga(Mnkx^>H`s@E|cog^R_v^cPntHb|9h>-L%n;J?n4NxpMNhnW^xz8r>$|^DZ#CU{ z9q`i+#V<>|ot~ zzs0`rEyK{QOIw;Lom5SW@sf|yttj5Ges%lno&>ccy3~A{ii5$4l@W;(oXG&`Y3H^Z zGuUM{^m+?H@<;}gwus<(2B}7;xv@T?Uri=RnJP;^^x{$|M z`L^=ZA31d=LM<+4WQcOy>LNPsie1R!?w)5Hc)=7WQx+sc(OIK+8D-``v|!zGmQEjq zy20bNZZlE8)Ql}`6E3&SXPjMkFU9(a$d_(SulKU>yx-G^QH;EE{BD0Xe7k%{( ztT>^5G`Ewx8`V^>2*?u9dnjJ9MnzJJ2TT-UhMPB~LFS(a7aJe_$1V5*=g;>Q$qyK* zrdCDVpx_BSSAx8wU8ch11;fi+6*KSQ30iLI=g}mq<{lGm+uZfxsq~NGsq8K(x1^FM z1>8WhSow1X?c$uHI&pkxg z)oUX&)V2(HzblRD4a~L6U|4#ddf7HDLRyaRu0|o2L8gr%cIiSIgUI@+KE)?;i{bP{ zfaYK+l7pfAua~evk$g+hWIP|wvLGUrE><8Nv{1?=PJ>XiX`Nu5OL-vO(}~|?@=x1| zNbqToGx`E?)o5ZFPoe}Nn~wx)C| zDEDED;vAexyi*f2UbqGS82l4TXwvduF`Hqw^emnccwG;N>o(_tn`^VA> zJ$>P`AC7vor5Jh**5gLn={7rDzS+>JLLzk_)Z}^o!-mp#yMrpb+xf~LxAQ@LPc&+( zduV4_aYKq}_&*NIA)vS=Xvh;PEO30R0(7uRjfPcmNjN*zM>DhXZH2_Bb?O7G(DVz* z8OoywZ{GuL_gUaUT2%C0vADrylZLj-XXTdjEYE ztf)&meQDZH(9U@qPuXf!OG~L*MP&AKWWq;Iv=%P}W$%{25XqBWSIh%3?!v5Oo@WWAJ3) zldy7B0xnQB=(oJ_M0;WRCoYub@rWFTbDm7u{9Q7h5x&#k%68q1zfgwy32DY#W|i}D z<@|wdLiL8u+M#pwEJyabPMTYc;$97jId?#)P72?;`LKRu;Sp>+@kUKdkm38`yoWCb zpcPJi*zlt-A=`pl52o4JL?Za_$@xQK3lwbrd$XtKwm;jn=ZKEIWqemhq#@nQ%dfZl zS(nXmkC8laPT5>VRLo35n@5LQT@E|&*`|?ISB(1RKTm+@goM|nv3jeBMmO6}Jb}7x z94sBAv@5QT6@#|C%OAJf3n^LB@(-E-`|290LFkGikMDplx8_DJOqVDr^{ z=&HG$&l!6Da#$^VF1xWe+J4sT)GdZ?)E@!oJ<#&;XOAkxcksf>51c@vrGTQb@IF+8 z6@e=RB|tcQ;h#XF32g)(84}2hFFTO$_8rmw*RoK-%A@uXc#>z5W?En(QQ_QAY>V?* zYP!OVpLV2;_Et#EImTOz@F_4yzvray?(WI;%qIsvjWmx-C`UF+c$;it zdYz{!Z7b@_Oq(fpl%DIaPZYx}5x3-QwHaJ`_%9rmd;&Ur9! zp6^j5h%{&oj}+4CF583g>It9!P``Fw?3=t2GHNgkSPfdnlAoxN9+3GT-fH|lulJO$ z&U-00`XT&9n{k4myYiW`QOI5wqp-a$9k;9frk@4A3=EN*m0>$8H243W_2jSmgh1(c zf*ow?qiqi5k6>(pKO!)h3y0Ud>wybVoxUnQ?AS1Tp}Iv;er8fkeXt-mwKs4uZK`@O z4SugHu=jrZO>l^uN$A_oxhs~!9`5xz%kJ}X$xogC=l`^n^OJAqey?x4+$iJHwzpNe z_a4^dY0nF~rU0;%GjwFwOXYoGt7oNEIkwLY@=9M|UrXc0#uQY=L}c7|S~!xZ?+{@A zk5w4}TND@{vNX?K5*<18ovQ;xv!|lKW0v1v%e>#BzQA`x>t8lU?Ywh0w^u#ebnMP4M~5e$xlNkQ(5Q>CAfM3rCXj9B|xjp7-O-fZuu6{6#hR#bWaeJ>^=AVS*f_`*J) zAH>mrxv?{e1H>P9HGjU~4KVatl{)~tRaROR?8uFoU^a8;b4tMzo|X5M>8U$sJu2yC zPu%9c*!%-eG8|v+am~YBEWjjFTbsW>_Xj5g7VXo2KY$P0+;i8ba<|WTie|_3Wi#jD zwQ@$0!vky0oRviGH`ftwr9KURGtK)SPUW7oEexe^Q?PThoTHYzkEJlXcTMmUJI*%> zL(lVi{B|kx@l{0jFIYD9d3!qkN1Rw0jng^yaEQ;_-Px_o@afU0l(&pi5O8E3SjAUS z{r~wyO4)bRSI+TXziAH$h}87oE}O@T`J=3=@`Q@Feb4u{+j3XkR{Q3{dD=DgM9Jg- zis(Pg>7nDX`Bi64xFQTtvhPH&bGx!Mw9V&_iUpU|QZXzX`>Rd)=L^A*@GWHQ)Mxn; zYpFuyms~10*+Pvj<%0IUpT>u*>}ups-Leynm9g>ToiBk+HSg2|7e`daC z19^Fx7H9N6ws9$y&g%PdD2}&e+sX*3lBM(6A@u?8YTpfY1N!>cK7$A&CUPwL&6?)G<`O!u(Mhb{4R)0_xUJWdi}Y7 zH;-w>ilJ2dlHWdyv-|~();jTzk7Fc5mr$qL80Vt zmNWO~4}7i3lTp@cKl{qU<@0aJI*`QOe70%+QK;Yf?kM@r9v5nvS#)#w{&dNnZ@3Uq z!Oy~4eO9#2wNZYmRJG0U7XRlb`r2xU9`t#7v>iUN z+HbSjy59@P9LSr}9Id{Xv2i(5Hh(~1EE~>xzfB=)axqAMS z`jnNnwkcn1wVf^0wc_M&Z+!z(>;389cod*%t9*CWzk z`Hvxge`gPN6*M&=eM07jEb~KZ#77T%(bj`wEB^y?;=9W0-SopwpXpmr6Op$Ll05Rd z_<$vQ{Q?R!|DhsVym+{=+b&+HY_doTGI3 zJa$$y#6pfeHAJwBDt>ApNkGG=}{{L98Dk(mgy3V^eGamzv>+q|%GCSP4iIv9vspPS& zOx%D0A0Fr8Gc6vqXVT84(RF0DSdrr*|kH5tXq_3k_cqvb64$pK~q`?7R4X3%T@P$~6 zh1%yvLetl^XR9#6-QS%6MzO8`@f1n8DO~mcIuolN!&krGaB%!gTg^E;CX|(S( zV=xBAhYD>dLWN4DJ!42(6)oD(u6^I@circlPxCy_eE+Z4zZb*H)aRV@KJWLvT=#X~ zmyc>lOq|R4e7V-n{KcpCS-!?cw5+#1{tv58cay%Oa$I9!T5|$+U&Gjo#Nj|Wv-dUL zxlcq5F4bQ+^m2_*%{eB)AG*lZ%I|5f?z%ean3s4U|B=EpjrUjq-ue72{MN9Af3mL@ zl`%;dl?5DwUWEYDmDwk>E8U!l`GrdH;T?JMy&0-mVTbyJuGmJO)T;Dscze9O?|;3Q zQ43s#^j^V@3Yt=5{gR3r2`I+}h14B5bm`Wi{_LyjOK#k%6!xu;R4yz%?C^)4yXBvI zRVG%-c}tYdiQ;$n<~rjlXjbJ8 z9`{G-CYa{z9?@~7{tHG&>Yt^6S{px4R^3bF{#5T7h@7?J3b&fl*m zwm6=D;Qi<3eeq{yQ$9E@H0Vg4TBZAT4?VT*o{mY=*yRC>ag&=q;B@Wa(v0E)AdU5bJ%abO zs?t7-fB9ngf1<7BvqD7Lq^~%tikGX7X+?NH+gLYBv?^5@fiLhx9cx?7YE%Vc?QWL$tYw~gbSb_y_rWSabs&wza{$%*s{!F7lwqBpk ze&*wa-ts>?y!-dHrOR6fueEe_`GiHE8owJKXFMx#uRVuA@!z%4g(jS*EveUo3i(e3BUGM=e!8kR2a;eRhyFv~J@t~f2sWD>Bmsxx!8~=lr3x|ldsrIfciXoZ< z-sFC~m#^E6@&AXoCcoT{(n_v2( zr}EZ6pSNggLCEpVS7N(EU_gA7mE*Dim2N)G#%cLnoOVVp>XoeEwL|t7zBUi9spj3E zx+LhxvF-16zdZORFtAB$lc`Ooq48r&%8D0h|H zN?ZDFc;@!N;2kM^`#^N}B-W0^@_o-cTai@FvF_K3AUJ-sbS&5#Tls_5PEcgtMWw%f zP(Aj2#MsaK6|&pzE4(*dy=ZgU*xLNpv$Pae_O?1kD$LUGR(A6Lr};RC%WH=uZ3anX zbu2&vhJCc!`l%RzwyR;03X96UShLG#S@x_LZVgP7y~~h?)vsT|`P$pB{5}2Fka25o z)g2u+G<_%HfwX*Vxrv4Si?8LP)*Aa;dN$g|jv5F14qa{9pZU?VHLd3ANS4R{VF$MN zOxiJn@V3#88v0#ikR~2+BJq2RwvnC1Imv5LlHM=m6Q#y_M-B@&eNgg8O6@DBN3_e;Df55`*aVXaa4~i+;_4>q%M_y+)u{ZosJUb>*fsTb*dQ$(`dgnsb z(T&fA=DX~RO0_$Draf($MO)f3@V_)I-Uxx;<{Dx6TT$uB5(*UPCdqBwP;8CfAL1h^ zyYEq5gSG2cQ!CZ`pT+;L2ydB=MT$AQ zjL()`AG){VVuiMY9*A`zeTAo+B$8LOnoKX!O%q3Xr|?jmQsuksqC>GVCgHwz?^i0e zifQb&zI#uO2kTm2`}S_zrJ=VA?^`Eq{#@j+9f9sT)4ZLw^=2lwO<1{o}T@BHXN=$c(AJ>uh%|MPq|5dn^J z?c_gjdHrZxr)%4_Qw~7}_A`uT&#JO=5l(No@Q>KF{P+K(JL$G~S4?Q%1BEG%zm`@! z{%Fn?WGVlBNu$Lud=p(eY#6e(!_22#vS|5w#IyfK_SN;$MRO zli^d1Fr1Q%A6YVm(S;U8*I}i>%P{hjA{!dr9bbz&!h7(ipl~0cwuNqy?Gl*iKvfuB zIJ{qIl1{$4R&~PvLN{tJ=qLWCXVvACN-V-M2lT6Vqz5OB=Q-ma{*j06+aV%wfoss< z=7?N~PFL>Rja+7|q*^6&n2*+Scc+73_yX4#H1PxK?eUwvU2{%g-o!7CBgT%|&yrhz z`o~KP#6GDx#Tc>WtJs)K|5-ptoadsr+n*P#dAum@duxy4v42|Th5u-GkN-8*@x9av zk!Z7bYmJP8Z2k%^vnY1>|Mio+5@qA+9p=R}UchX7Y;aLXwDm+Fd`}0s`$R>h=BkRo zy)*0$D{wcQ1wf?xb*KpTm%n0rZZ$t?h;g&m8aem1<&pDimFsKopdWR?0>xcc_3yOGKuqI)!qPbI{d=ER40SeE zbvSm3&8zPQM;cT^{&NJ!{+FD0H(G*&QSQgw@)WMpA9ZY~)^wNaP#V3RlkbcAa(l9* zVz`)Rff&nPmaF)AGfBjuC_+ueOglQU&oC(1npzU6Apr9dk}FX-d0@=_@K0+o1I3EL zUW~rs&pa^ro(xkWR%640B{K5z%+V~K*g|I|{zXyXu{^|HRE)dmWk(UmpG~y__Sw(4_H+G? zkgJZ$<2NUa=uf{8t%T;NVmQzTb&MwxHAH_Fo|0jRqf?c-@3}BG+}N(}^GnZ^%~cp(*Z^@Gd)|c^zjG@_HG_;&*2FI5 zLg0(3!%t7iy1oy4V60Y6D0Eft$f*gdr#2ZIfmcgJa%<1wa+LpwDSFc9ws`Tv;cdbj zzbSMbA*D132UY5(y4Zu79`F7gcex9zQ4O(VYq$JSPcI#=73N%*-WWz>t^Toe`)b!-~tOa&EQPrT&Mb9 zY`YrH=3$ygPt<%BkA9^ZFZsVu)EC%eTXxq%CN_@-XyKINnWhS1Ov@=uZBpJk4!*@X z{A(a;eCRt#leOVHQ)ZjPw&H7s3~S!zI`^NPYL?fd0b7wKYc>>?(mXhI!ijqQLById>y)(`;3*}PHFJ@p(Fi>r)dgW%E&oa zJl)VsL*sxI z*@AMa0lF-hasQ~}#^=>=pF}*f54V_amisEm z7J2Gsv6>I4uDIbXECxXYUt?U4!N!v{mDyblA!!n;&noU$|K+4f@-3INK{>6wP>1W< z_IzIHkQ%mClASqCY#srPz%dP^oH~rr*?}QV#-m`ikL!%bL!gJ$A~x+(XbQ6z=6qC! z5gvFk6YvQXn+SY`iyJK&tm<`acso7-CZf^7!Itb<*|CD}{~mYLa|<)2>S^+h>S&Q_ z9Xhdo;Khj&JHOd8?5^CEpdnXPL^FC4uG#ESuO% z)g|v)a_!E{77UwOAXhaKIeMste}|?4H18Cg&{}vx!(fQ1T(4p} zz_(r9A>+)<5ZDV#{?uCLQtS{iuc@pBT$7j5ws5%K`D}}x{fv7R-LuNphpW0*PdJS= zla^q1v^)lZc9XNB-Z~5b0-Y2rkqa&tgePfW(iHjM^HNFTG~Ob{rtUTNeT+ne6CdKB zpfQpGtOPdXurc&T6p2&@ZfDlsJQRLFX!0uCjuS=Q&*m$e2JM;4E{j0vK`fv~*8$Jo z15BHtV_O9~y$Pdj&Zr=6g3!l&@*$&>Lisj##w>RMBq#XVa97+lWE1_(=-~B)qx-$b z|H_X!_Tp!Zj|_NkK77k<_(`a&>OpC}P?fME(qJ2~Op~{1B zL56RPkJ^ySt!3YDsb=+tyFA=Jub)4^)_qeCBKSr&7-y~&y+@KnY+eHuo(^YbCX zsUkD5)@2~Hzuz?Wx)>v)`n$Rkdf6Pyr*hA0bnwm8jHNIH_!8u}EGj=!$}rVnpcJtc zh9hQ8HS8%}(toXTqBWu8CMbG1Z|P&r=}gNDb(zyT!shQ+H=d5T6kF6xxmnj4X6ZW7 zo3IM_1$twaNT#97crn^mUn(SUM{Z4N&!jb%nZVWSY`D1ld%B&Q)^3A;ly|d3D%ac{ z>zsVH_Nr)KBtNRmIJGKU2A&q0##xY(8)C-z{qa3HU8a}IT+3Atvs`>ILvg>5ujD%P zM2=Kej~=3Nj@~oe&}Yo@r)dHisjIBs^)+1<0D)7Opw~IJK&Pa{(VaR9D64U9KRFcu z?aQ2sWa(T(C69!Ob8NYfrbyC|EwmsU0)Vm<+Zq>NBG9KUcEXI1<%eM_Es%r=uk>Kw&?nq zykkzLlT(`8i&p1MPs7FIW@kP2`&CM$bzEUa8ob@Bl}pV_m;dCLI$oV&M60|^!>66I z^{aR^mO|9{8ypYVgH#_=YGJ0nYeusaHpvcCx~8U2Z{3^iFP#sSg)5FJHA1@JA@Yv) zS32fH`oQ3%47+jyFBRPddXjH%8~ga%<_n&*mZtYOi+i>mFE3}R;XvtIyWa}VqJ`po z-ndR%`jD#zk47UnLpj~>B z63NhBO0k&lPt#a{#sduo%Bt2Qj|{_$defa61x*sJxaN=kq+K;oG_?W)Al;=Nxz(*+ zy^Wh8@c1xeR3vmBFQpK+dwi^VeDT7s7P@<4pf-%S=$HS-9;Nnva)U~}_qB2>5^XUy zD`Bwt!$*+Q@#C0=MR5vkL^s@aKAH=KJKDKfPy&l@3wn9%eKdEl^t_0Fjc}|!bN+8y zvk^n1?R*1IM}vOfh{DeU)k+tvfkU~bjs6muG}y2>B^^medG(k>aDPgJRn1Z6=>-H9 zJJLKr>+wEoTgaY)=m!6GVTM|dir;SZX!BAHMhp&$wXbb4c$67Ei$0B2&XShF z$S|P(!FPFH|3-%#gxrsl00(txgXvj@NpantWBKD**#>!Ln_ z+N$1%j&(E`fEOt{(rL8$o77>ZV+wp~;f2$j{}L6xO#Q0VpFc~fBctW<^I7HfryrNO zOz`k8iA|p;@rtoxq~D9P8T~A?1!|jvG|S?-pz1*pftspa<$`rZ(()2orLLyz+PAZ7 ze{E^Kq^|FQ5L*+PyaRWnP+Z}z*)~|O8U}XR*`5KCRU@gJvElY~U;ge>dRp~+=8O4; zfl#)}O~j;p4DkiEeS=Fy<8Jhle+L`M8cPisbghh(g^cPFk(P$#VQQJ*WzI?oEC@$r z>48S%`q+?B%e2u}YlP$0UDpsUkP?_P=H@*R^g7v$N^?W3w4#!&*^c{6qvwu)vElym zOTN!rQ|g*aYDX;EF%C~mL%ZT&z(R4!OD@r z?rsc(_$~yEcs7`6uhLSJfRXz&b^zMDg;O)0cBgE1$USS&Q@Uf}1H>@cyvt{>Y0>N* zx_*OyZAqwouKG0bv-pgs!%`|MvOUHO1KdYw$VbRX?TYIv?n4Xiav4YIlPaUk{Ra;D zGHZ?=Ml=Fp&3TcEZJkD$-eXU{ZT(f9%kSr z6t3n%N&(>=@P0JchkE9r6Iu1D_ltmLYW}2g4`T4C11Dd`_5&R(cML6gM(0j2gvCX_ z{_I*(9V9na@+j8EDO+m!uV*ce$NIJ1F?_XCb?p7TkY>`ICc#>;a@TI-+;m3=(V4Sp z1{IUZU{vp0{|*Fx$8d^LTN)fgkPnwx={G ze8D%aEgP4G3}>%6n%q~Y1Oc}kEJfmr2DdCt10Ky{!A#*9-{KvNjJH%eUJJ6vbN8>j za_I{(BZ04PY0jVi_{KM4_kQzR%KPT0qd%z4U;i|sZPka*DoNYA->CobVNY0+o!DQO zZvE@ox}?>wex38fjkn)y+x9AFWxDD}?#6}RzL(DuyI#_qRDZ*^tt+v*A#l7tXVjfy ziWFHb<=%ZX8->DyCW-Mzy@AUksc%CgmI)QP>zA}13Sng)kcf+AUHWb_$?TdzOpqDS z6NkBV=SukRx+! zL20-evcG7X4qvClMZX_{T+rny19coFSiYbaOEmm+KE2ufIy&sgrDc`zoemA8D%9Ky zbrLa+>NIy|;0XsGQhP+gF%4*H&!wFOP2xw{J$f&WM0a}% zBtgX@TeH8H_J^0rX6EMAqzeq9>IPPh2TV5`zeD$~U^(z|uuVlj{La3EmcwX#js?nO z_U87MnT9nGqtKLtTb63B>TC4K}je2P#E-|SUI#mC3fBpP|l z*R+M&tYktnO^tMJjVtj>s)ksCg{D4}4IERMyp*0Q^_8Tca)_~~yJxUxRHw|8Z9Myu z#(>$X!_VAoBJBNLatLCAl2iB_)h+X;oj&MLW)cGkSgjBhb1SP{ypQ4z3Ho8Y?>pC3Jw3=skmo+{>m+vG-^0$m%HCD|FyyM6l^iup zmR3%eOfn30eX|9xDq07rX>;Hxjeo3pd667j2+5K`aL}M>x(uX1AmZ&!!|FRSzGPtW z-Jx4eAl1>XbT{-K7cvR>)n1gVdPR{NX>`&U7avpk=Ezu^x4YF-Lye=Rs>P0_1%pSWRs=g8d0t`&fg_sz zM+(g|^En5g!=rF~kVYHk1S==U{w%7SG7=hkG!(BPHC0(u-8;uLz{(E|G;+?+CsQO9 zDX5HSblv@QsjWQeMEm2gautR8;^yAGveDswl8LtY@XOSCl145*+ie zZYr5$Lt`mxtaodvAD$f7w#eP~lbPx@trKx4Hru{0FOO|c8@?MC7x!_8zE#|QSk=og z^2r}{xr=H*iEZyHUz;~u=GP%ig!pEgL~)~D(woi{Nb(@uy|QydmWlr%KboJT(S`K7 z0gGkKOrwvBTMrO!yvW%AP9fF6FmguNaLdCI9lej+`ZtjjGo;$!LGo%;du|EVkwqZ% z6onNfh~gc4S^nf8lnoV}o9_4*78dd#GNcz(oM??LkcZZbAndL6G>eDQddD=TQjUA> z5k~4|NFg_6z1I~TPiST8-fs8kPnI7Ws9AjDu(Ckau2@$3eG#iS<|URDF}=L|RF+`v zjcV1RqTM>rE(|wL863N26=Rz2cQ+>hrhue-D%|@kXXY=0kPiuBK`!di*IC>$jhPbo zifRkii@?ng$IsF83XW!xiY;&pAdKNsKxh)$tf+YTGM5wP&%}XQ6Doqm$k?u z@^Z9srsGDlxsg29=aMb3dNEjgt-dz_1!KRZ?QDknkdgoe(?Ox?@*|Hl%Q z*hAznyQ{}XtFOyh8)#)Zt52D+;1asW!{8Zq2AC@gC`e?pVL<;bCJYd;?%L|Q-oIkZ zKk#I8==J2sso^z`1806N;hjsi3YKQsZpf9dX)E78coO7N59AenWl*9}&|923ul-;|S_u zejbvb@}iSfachlV9tBLfGsHsKtIEnbim}Rkku9AEB~{1r%hHE!^8z}Z=EWbV9{WoB z_^94?d7IkhgM}+L&B0u})a7BEmvV_E^{s06 z{+$>KFCow*UUaXdIml=F=}qW=g=eL~^lr%b3@pdX2Z4Frpi-Y)wVSP;zJ50>i(T7l z7;F4Uov2VrTY++Zd24fNaVioT2Q=C*ar*EJrRJo2de<=Bqy6*faX%yuSU#w(H$a}V zP2xb)*rKF)w;+4>Bq5<8M>ao)Fm=eyLI7TrnaqVFcFdblnD!J|n(QZ)+!6!y<7T*M zsu=+RrMR+Y+DTtJ$5k}Ey6c!!YIoMY<70tO9;}={eQ-q8^4htO z3Z>@AwD&gY9u^iBFTI75OTUn9e@DTPsQ1R(U*Bg>wpSI5F?7G{hO5UtD9)hW1Bq1g zghQkZ9r2Emcao-$sq@oM3vW&XuIG$FMI^aq^7-w38fAkZrD457jAT@gvBrx9l_8Fv zGoik9XODSwNkZ2007ljan6W?nk^)3_>s?)x+qb9>X40f^ODNQw_q}K5c}S>Sp=$h> zFQ?MUg&bD<1O9MiuesS6dcvd15EG%oV)okw-gSbka#i>E?3BgDU+Tp5_Aq6*jAT|e z&daeyS{mb_D|&u@IQ%>o@y+tG{>{w|`pMRpFBS_Igvv`LHQrtVn>sTefeFnMqB)9x z@0(E1fwP{kFzBLEcTIFy%*ERF7jv*Ttn-xnD^jSSf1sqvKsy=};3=D+Rd|TdfCd_o zE#Rfkb(nMh1(xr{G&R4g;mHp(9aIs*gzZ~JfxLFaGL0#M!htmVZ|aht)c{1CjReq5 zkNr6=RbQxXHI05EZDb?{D_UDy&)2mYc#$`Q*a-+}n&i3&LuR`tUg|Z$tbL9*G0e-ic3&qe?0!Eyv}4xAiV^q0_a_3(2JTw)+g+7|VHm{3 zfneFZjiDcPNp6ljGg6b=dD)%~FmXh~`&QAu!_f>t zxmWl08;N|S?j0CDq*_b51++qtKD}pan0U}5`}<36`TqNcqQe>>^oWOyg$X(%C=&do zpwgO9b)P&8FA998tsiCnD4NkTZx|m58NWiKj3CCT_5S_)D!YRvDMFb`+&Z4o$SMCU zSFXULX8W$Wmq1?1#wqVx<{_7|DiP|AvWNftO*q#`*~>Toj}&2g(;a!@Orz$_!#-(i zRQ)SD{SUh57hO-d*VVV;@xiDxJ^32dq#tIDm2NF_3;IP_s6ldn#JeSS1wRlfw zJk&?!ebGt3^Kgq$@*!!#BUd--2pYYJm*G5@GMgK(%l$Qe`|{EJ*u;Up^jgpHAw8|k zrrvnx@kN7~9~YZc3r2;ExxdEJ2)RPUH3q>?Eyx&$p2uQbr_a&%Ps~Y9_V2~n4;^=G zZsxT?RH_IjVEdhzziwZEaJH@hp&2A7reivJsnBU5A*!Ooa%`kw^pJ53At6@$snwP6 zr?>Z!3(MyEQ#hpJsd48!p>iw~oS<3OtAC(1#d@ouYIrC;jd4?f@NjaN0OgO17wT>- z>>WDP?XX1l_}hCG81`<>uO4~LeNLjyl)5BBy>;*Xo`;3!D7vTdt6G^(vzsSH>S!0U z@lXP*Cg^n+2w`G>R$^jpAGG{NJ$LHI6&GE0xu|mI$VOXuCPj})~hlbf5H?+iFvlLvUL|^ z^Ijc~h>AZL8y^=}*O@7jk9@$lxVV@U?VRz(d10}SL-nGhqW={Z(Pko|sqnBFt_+gK z%A^Kdm|$Jqf(VAOM+nd&AsxHYzk2l7Ig|x)qQ!Y-ho);J`Clf%RP0l#Au@SSeG24^k-QkS1OmEl7mc&oN;kH?= zo>{WC^ZV=q_ZLq&HC*?>$Li|Wik6q+ruMZqZQR)j)YNRC)fs7nJ;lvO^Q}s< zr9>9+_M9A)ULG5%j3|GhyvzR61rg6qCeqn zYSCfe|G~HR+tvY)q5hYt!mkkH+@OhgpcJ-M99ZSc8;Pox-b@Wt>^xc|o(|szx;Z{R^uU(k$OYP>UU@hy^6Dp~_No5|5H&*uj z>e&U@-^BseQ9|$Sfa*D*_o~^%k&*juF1u2XA2fXDOG0NIiMm`EU&U+|v-|~*JJ`hm2 zj+;N6qE+Z0a^OOM#}`syKB*)cg0u$b?JWQ&8BD(k_I~qC^Q08V)RRn1WOR~Uq{fq4 zxw@AE0E5V>4!E^Bx$RoD-ZSR&Pg3)`I(L@jg~#iy2&rAMoHYNmopdXO5)cpsw#FM9 z9X5mJmOS=0Bf$d*a2GZxbgLn8D9ub;Kr|47OeDQ&yp>%E_4K z0V-if1`TJ|+2D*)&VOCKq-125ou?1a&d-fNwi>z^WpE2+O?MzW-caRKlV@xZ_x?zC zl0kCw7y`?q1vh^lNIeYwaP6$%>=tv={`)kl}*8z8)>?#rZYuwkGCS6ui4J zswd+x+$)RU$gjKo<)_p%)gGOe#>&=`^!}z}tp(;ZaeNG)?fXR!A`1ZJGvqIRP)2aqMe<0ddS8eIv$Ui7Zf{t+j0vDK5^gkoM;u=e|!OrLzJ zwLgiEuP4z1h3N`N>#=GN-hDo@W$B^w8z~2JRl4tn@$R&R0m$T z#z>7vxCbDB=D>IM4w><|E@dkqW04Xx>j7h2_`0G_f=Ql^6^mys-XH;tYl~K<&fUnV zMr>XZHTUz_9zqW?w!#ThF`V%yWasi56 zrHBbisQHn)u?m_S75-SSFilCpPI{8A-r8-M-EBBb5Z^vBSyZUJxp(MWGds^QBs(VO zCF6BIYVxOVyM&T34$VM!QP}FEfUuV20{iSP2(x+D%>?emY=2Y};w3!LY~g%7?^l9a z4FVIy^V9pb8VrnkN~ZIw}5tt&Xq zW`uCy{5+41uX1T7)jf--IPKXy&iFTKkFw=Y9#qP1Kr zIHl0n(=I<5(sWA5^%9Yu+LC=nP)Zw$_hP!DLf+1K(qA+cj4C(keOnlv-dyw0HaWjh zC4oi#Dbzth?*X67U^KZGN7M{hQ)|-#<Bi;d|i0=|kG4-3|HqR5Sz29{{!J)(fwQgzqsr zw0;?I5;1kPXBJ)x2y^KX$rorfIU`DYfN`kHu*0TFo`I2CIBESG!I4x#s zENsua#B?kH<@UqFM-~g+5kBO(;{1FkyCo&jsjfJNt(uB=LnUhc^iO2n+a1b+<9=@x zxfi4+O6UXiCBU?*qY6O4AHim>3a_`bOO^59M;1bSyvGHRi41%Ry`-7>?;#XHz^Sen zhqsYB7k)+Sv{du~)lot5e>?U@Fj6eHX8r2df1R7{x~49s8)WnK=H-(#VM)^gd z-xskRQv{Wp>nUa}HNLIO@5NGUdreIgtC$+CE5+ATK)aZ>j*S2W{Gu_ucqQn=n+akJ z_KvA&CDaHYwkw+*D6=x_0*?z_{tMYeTFih0Qt=zPS(^pPNO)fSp%(1)=^UjO3su~l zXiv+v8v0TO@PA-WJXoY<8V%hKO@u2&R-E_uOxgb(7W~k3HPWS`%n6zHO8@Na+FlM7 zELhTC?diGIM>q(K--qF$5(nUE4^rscYsX}zF4vgikbu!02dt3U+k3m6aS#><_lArQ zh78h}ufM(2vIv_u>W*X@FNkW8TB^E;`#MU%fJ9TO3Qa|6jXe_ckb&%t()QO8DC|rz zZsWzk&4ub-RH6!ICM~N8a!GXL zw^TGEn$3TKY%e!+4;uL^L^rM@c=KcqB$6{YQ0{&3rNoY?gOkEOI?=x`RaU-z7tEVFlQ zy!DZSM}%juK&~j`V_3k&Zf!nmO4Jle#YRdzM-O;(oD!)eLKGq>ga~HN>Nr&rt&QSe zXvFBOeZ`AMCM1?c#Ml`N)+~K@eE%RvHptk1&vSfi5M19NsCL9)o%RByX>0lyEo0=; zX&_o{XI3=wFSuDkct^m!vvw*b2|1FuA)h#5zatgUr*Y);5;A1?I3D_z=)f|HQm6+h zYwSUyL2}d4-HLXSUp9@6phB9xJiwBe&PSr3?l7Fqy}oSJ)A9xJSPNr7i@ZZ=T38J69B5f+y4KbE3-z@wKqcswx#dO$8n)qcKfMJ36ti{V6Pi}I7l?6QuJ&t;LF z5kmwo;k(nDz9TV97uIgC{)Pp$GFDlXK0Zuj2P9UDg2A>PePDZ;&zARlh!TR1geg{+ zS}3p?37SS#QSl*G9>2hcWaER)XJ_RObkJul~p~&>~lG4ml3J540!>Z?7B~hM%3e8;I1KC#iS!`7A{V=;Y~YsXHH_xr9KZ;`qmL zWglCD^{P7zGL`&jPtoFFQ0;7AeRsAN)od%ivG>}qseV6`9z#q6S)D=xK;66$R4tYw zN!IA{edM-`E`Ddv?lI2#7M$;CEtf-P_oxe&GZtWhF`07g2mY?Vwkfsd;n#GlUIrh) zYs*Fvp|m4#eX))xg-EEjR!I6LpHj^%h2^ddUc&m#GWtT$%qOFN(3yn0Yn91B`&noaed~8ta*`U;bGI=&t`d5Uw z#Z1(%9GelxZ|5aQ_!|vApd1)*7O8I{qih;+n|AuoBk77LB8X*S-}w@On!b9DctSuf z2CTHGIdvi$F$m`R?I;ix&{jK*fspM@?4%WH6aw%>K4wYt6^n@ z`w$hI)xNsyjE8hlc&*s?;gp~$5X#T|rT9Zxi1}6{XA5)lEYe01a;%8{s4J*4U_{{d z>FM(~@B`V7T_p0wxOvnk>rm?7L4%!zcfCtS;3}52%>N*dVl~ui&m-2K<6(z-C}JbL zFEWf|l^~n4dYri+xZ5TqIfTH$@y@F81sg1N;t`VtGm0J=)3&kkXu;~4OE#{dJPUlE z;tnKErgdOKjvP5(!hK419*rdxqq`zqRYaB7j0RWvXKRd&mDxeALs2ypJBN_5_ap%$ zcCP&(w?|#B!*u3DLX)fm9S?Yc*6}&?xjNsorb+ElT%JO6Evn9hVo5gBD`@&# z{^eihT$if-A?JZ_%y+A&~_uQ9o*imv?3r-n<8KDAY zN3UEEQrwVLt@$JOc{;sRFbUka7H;5klX(04#y6p^Y)kcOasExkV>8rIA_+VW1``aT z?`bFBxHOIZ6rCF+HA{}0;WDE)2n6tx>ga0T<3@JZL4ED9_On&tAI=j!{2}Gs0n7nRF?m$@}j)riU`$dUO79 zHed{hxt9Z&z#oL{l!=q{a10@c8BpPN2_Mi()pY8U@Pw10BFhh_rm&1mv>GhaKy(OT0A78{%tcqnhaQc; zo-}ny!Ec&8L zqmQFk+7U@(&8bY-;8>8I{lvV8h!|2O7W6(Jcm3?h7%jE=nM-VUP|M(YC2HG1VCCM0 zRA2(5?En*qc%KBbp^1VDv%dGVBe0z)v7e>fQ$QR|jhKr0gN;^r4qh#~Tz2yE@?i|5 zwZCAH*@IFmG-jy`e4yI}*!WtNyJ44KsNzHj!rs@a%XbA{L!nK9bgGAXn@fJPYtJD> z8l{pt2L{~HRypm`ugJz9E{O=xsDeqFM$cpEtmWKTzZz!NfFJv+wZ~EUx+y$l7j^&@ z_Oexza4zA;7lKel35F%kn)0P5{kp(BWYBX5^P2a?rCCBDdtt~WtZ>Fs!WF6KX9X$Uf7203oGEk{G><%VMwOCqL4-6#9W4n^-Ma=f$@#h=ZEY{# z1N@vK@)*p7RAMa;0fE%ad>8Qhh&N0cAQSOeY6&%Si4kX7{5sK3RH>3g(KMs+OO-`q z=L7bDVKfLQBK`vc-TZIypeoXgX{OvSmhS&QOta1l5C$yD0C@)N83R$=?R(TEJC9Va z7Zg!ZqV#j?Vym|uBMC$+mhQHom-X0&OUxdB1^=Q)aTH>o_>a0I@cHuMVt>GO%f;BJ z%&V%2dj2R_8;RO>`zLWQVPJgn&oc#9Qb->mvJDbH-qGmqr!6`l<$pyCT~S(BMpC~) zv@O-=Y$t7@!87)jU#Y&s~A?ZsTA8^r>u`GQ|m~r+|X7Y8!EY@8JSRek+@Y)`3x)wD!D<#I$ zAzYCWGWnKF0!_{)Mo64ql&x$3x0fir>$FbTLF6!2{{?#@XxQ8v?1!VUqJ!wa_mxJh zQ-;+o1akw>Qr`EMyz_6>#10|BEfE9BqA9w9do>cSWJjo(5_SYp90mM%ppN*=htV$= zC5{a>ccWeF;m2kNIhUTsy!JG5(?;gg>>VF6pO6wo3ceIWBdmSf5eZyuJ^Bbs0{C9f z#UHPOut+#)92!mdz8Ia$Khin<62^!^M(v2E>U2-0KZhy}*F4_AyMRfm5He0RBNA@O zy0W4Hm9RWCyeMYt0N{&-&hmf!8vcRekdSA$x18^SLc(%JxeVO!kxn1a93+VI zh6A|`rDIR-lb|e0kUJtllo5q?d�TcQI3I^PNEziV(b*v$2)?jGOB6k8(F`1!WZ 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 (Pv}|r{*!guKG`;x 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

PQ`g}iU##_}S5oKU{)=K{3?cWl^6PiuuTj+* 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 G>i+>y1;F+I literal 0 HcmV?d00001 diff --git a/docs/source/mods/network-flow.rst b/docs/source/mods/network-flow.rst index 1040f6fc..490fdc8c 100644 --- a/docs/source/mods/network-flow.rst +++ b/docs/source/mods/network-flow.rst @@ -1,21 +1,34 @@ Network Flow ============ -Network flow problems appear are a generalised problem type defined on a graph. -A common example of these would be the: min-cost flow, the max-flow/min-cut, the -shortest path problem. +Network flow type problems are defined on a graph or network where the goal is +to send an amount of flow. Variants of this problem may include costs as part of +the objective and/or capacities as part of the constraints or restrictions. + +Specific cases of network flow problems considered here are: + +- min-cost flow; +- max-flow/min-cut; +- and, shortest path. Problem Specification --------------------- -Give a brief overview of the problem being solved. + .. tabs:: .. tab:: Graph Theory - Give a definition of the problem in the language of the domain expert. - For a given graph :math:`G` with set of vertices :math:`V` and edges :math:`E`. Depending on the problem, each edge may have differnt parameters associated to it for instance, for a given :math:`(i,j)\in E`, we may have costs :math:`c_{ij}`, capacities :math:`B_{ij}` and each node :math:`i` may have a demand :math:`d_i`. + For a given graph :math:`G` with set of vertices :math:`V` and edges + :math:`E`. Each edge may have different parameters associated to it for + instance, for a given :math:`(i,j)\in E`, we may have: + + - costs :math:`c_{ij}\in \mathbb{R}`; + - and capacities :math:`B_{ij}\in\mathbb{R}`. + + Similarly, each vertex :math:`i\in V` may have a demand :math:`d_i\in\mathbb{R}`. + There may be a source and sink nodes. - Min-cost flow: minimize the cost subject to edge capacities and fulfil node demand. @@ -26,7 +39,12 @@ Give a brief overview of the problem being solved. .. tab:: Optimization Model - For a given graph :math:`G` with set of vertices :math:`V` and edges :math:`E`. Depending on the problem, each edge may have differnt parameters associated to it for instance, for a given :math:`(i,j)\in E`, we may have costs :math:`c_{ij}`, capacities :math:`B_{ij}` and each node :math:`i` may have a demand :math:`d_i`. + For a given graph :math:`G` with set of vertices :math:`V` and edges + :math:`E`. Depending on the problem, each edge may have differnt + parameters associated to it for instance, for a given :math:`(i,j)\in + E`, we may have costs :math:`c_{ij}`, capacities :math:`B_{ij}` and each + node :math:`i` may have a demand :math:`d_i`. The values for each case + are specified below. We need a set of continuous variables :math:`x_{ij}` to denote the amount of flow going through an edge. @@ -40,7 +58,14 @@ Give a brief overview of the problem being solved. \end{alignat} Where :math:`\delta^+(\cdot)` (:math:`\delta^-(\cdot)`) denotes the outgoing (incoming) neighours. + Additionally, we + + .. csv-table:: Parameters for the three cases. + :header: "Problem", ":math:`V'`", ":math:`d_i`", ":math:`B_{ij}`", ":math:`c_{ij}`" + "1. Min-cost flow", ":math:`V`", ":math:`\geq 0`", ":math:`\geq 0`", ":math:`\geq 0`" + "2. Max-flow", ":math:`V\setminus\{s,t\}`", ":math:`\geq 0`", ":math:`\geq 0`", ":math:`=-1` if :math:`i=s, j\in\delta^+(s)`, :math:`0` otherwise" + "3. Shortest path", ":math:`V`", ":math:`=1` if :math:`i=s`, :math:`=-1`, if :math:`i=t`, :math:`0` otherwise", ":math:`=1`", ":math:`\geq 0`" .. tabs:: @@ -81,6 +106,10 @@ Give a brief overview of the problem being solved. TODO: add plot +.. image:: figures/network-flow-result.png + :width: 600 + :alt: Sample network. + | Code @@ -90,10 +119,10 @@ Self contained code example to run the mod from an example dataset. Example datasets should bd included in the ``gurobi_optimods.datasets`` module for easy access by users. -.. testcode:: mod +.. testcode:: network_flow from gurobi_optimods.datasets import load_network_flow_example_data - from gurobi_optimods.network_flow import solve_min_cost + from gurobi_optimods.network_flow import shortest_path G, source, sink = load_network_flow_example_data() @@ -103,12 +132,11 @@ easy access by users. but serves as a doctest to make sure the code example runs. The ... lines are meaningful here, they will match anything in the output test. -.. testoutput:: mod +.. testoutput:: network_flow :hide: + ... - Solved in 2 iterations and 0.00 seconds (0.00 work units) Optimal objective 7.000000000e+00 - ... The model is solved as an LP by Gurobi. @@ -149,8 +177,3 @@ Show the solution. One way is to use doctests to display simple shell outputs (see the workforce example). This can be done simply by pasting outputs directly from a python shell. Another option is to include and display figures (see the graph matching examples). - -.. doctest:: mod - :options: +NORMALIZE_WHITESPACE - - >>> diff --git a/src/gurobi_optimods/data/network_flow2.gml b/src/gurobi_optimods/data/network_flow2.gml new file mode 100644 index 00000000..83b7f735 --- /dev/null +++ b/src/gurobi_optimods/data/network_flow2.gml @@ -0,0 +1,87 @@ +graph [ + directed 1 + node [ + id 0 + label "s" + pos 0 + pos 0 + demand 2 + ] + node [ + id 1 + label "1" + pos 1 + pos 0.5 + demand 0 + ] + node [ + id 2 + label "2" + pos 1 + pos -0.5 + demand 1 + ] + node [ + id 3 + label "3" + pos 2 + pos 0.5 + demand -1 + ] + node [ + id 4 + label "4" + pos 2 + pos -0.5 + demand 0 + ] + node [ + id 5 + label "t" + pos 3 + pos 0 + demand -2 + ] + edge [ + source 0 + target 1 + capacity 2 + cost 9 + ] + edge [ + source 0 + target 2 + capacity 2 + cost 7 + ] + edge [ + source 1 + target 3 + capacity 1 + cost 1 + ] + edge [ + source 2 + target 3 + capacity 1 + cost 10 + ] + edge [ + source 2 + target 4 + capacity 2 + cost 6 + ] + edge [ + source 3 + target 5 + capacity 2 + cost 1 + ] + edge [ + source 4 + target 5 + capacity 2 + cost 1 + ] +] diff --git a/src/gurobi_optimods/datasets.py b/src/gurobi_optimods/datasets.py index 30a30e2b..2012c0a5 100644 --- a/src/gurobi_optimods/datasets.py +++ b/src/gurobi_optimods/datasets.py @@ -7,6 +7,8 @@ import pandas as pd import networkx as nx +import matplotlib +import matplotlib.pyplot DATA_FILE_DIR = pathlib.Path(__file__).parent / "data" @@ -37,7 +39,45 @@ def load_network_flow_example_data(): return nx.read_gml(DATA_FILE_DIR / "network_flow.gml", destringizer=int), 0, 4 -def _create_network_flow(): +def load_network_flow_example_data2(): + return nx.read_gml(DATA_FILE_DIR / "network_flow2.gml", destringizer=int), "s", "t" + + +def _create_network_flow2(): + G = nx.DiGraph() + + G.add_node("s", pos=(0, 0), demand=2) + G.add_node(1, pos=(1, 0.5), demand=0) + G.add_node(2, pos=(1, -0.5), demand=1) + G.add_node(3, pos=(2, 0.5), demand=-1) + G.add_node(4, pos=(2, -0.5), demand=0) + G.add_node("t", pos=(3, 0), demand=-2) + + G.add_edge("s", 1, capacity=2, cost=9) + G.add_edge("s", 2, capacity=2, cost=7) + G.add_edge(1, 3, capacity=1, cost=1) + G.add_edge(2, 3, capacity=1, cost=10) + G.add_edge(2, 4, capacity=2, cost=6) + G.add_edge(3, "t", capacity=2, cost=1) + G.add_edge(4, "t", capacity=2, cost=1) + + # TODO: plot and place in docs + fig = matplotlib.pyplot.figure() + pos = nx.get_node_attributes(G, "pos") + lab = {} + for e in G.edges(): + lab[e] = str((G.edges[e]["capacity"], G.edges[e]["cost"])) + print(lab) + nx.draw(G, ax=fig.add_subplot(), with_labels=True, pos=pos) + nx.draw_networkx_edge_labels(G, pos, lab) + # Save plot to file + matplotlib.use("Agg") + fig.savefig("graph.png", dpi=1000) + + nx.write_gml(G, "network_flow.gml") + + +def _create_network_flow1(): G = nx.DiGraph() G.add_edge(0, 1, capacity=15, cost=4) @@ -57,5 +97,10 @@ def _create_network_flow(): G.nodes[4]["demand"] = -15 # TODO: plot and place in docs + fig = matplotlib.pyplot.figure() + nx.draw(G, ax=fig.add_subplot()) + # Save plot to file + matplotlib.use("Agg") + fig.savefig("graph.png") nx.write_gml(G, "network_flow.gml") diff --git a/src/gurobi_optimods/network_flow.py b/src/gurobi_optimods/network_flow.py index 60d9d0c8..a3257522 100644 --- a/src/gurobi_optimods/network_flow.py +++ b/src/gurobi_optimods/network_flow.py @@ -1,21 +1,16 @@ -import collections - import numpy as np import gurobipy as gp -from gurobipy import GRB - import networkx as nx +from gurobipy import GRB -def network_flow(G: nx.DiGraph, Vd=None): +def network_flow(G: nx.DiGraph, Vd=None, get_partition=False): """ - Network flow problem + Network flow problem. - :param G: networkx.DiGraph with edge and node attributes. - :param source: node of graph - :param sink: node of graph - :param demand: float with demand, optional - :param Vd: subset of nodes to account for in flow constraints. Optional. + :param G: networkx.DiGraph with edge attributes (capacity and cost) and node attributes (demand). + :param Vd: subset of nodes to account for in flow constraints. Default is all nodes. Optional. + :param get_partition: bool whether the min cut partition should be returned. Optional. """ def _get_demand(n): @@ -31,13 +26,13 @@ def _get_demand(n): use_demand = True edges, capacities, costs = gp.multidict( - {(e[0], e[1]): [e[2]["capacity"], e[2]["cost"]] for e in G.edges(data=True)} + {(i, j): [d["capacity"], d["cost"]] for i, j, d in G.edges(data=True)} ) if Vd is None: Vd = list(G.nodes()) - x = model.addVars(edges, lb=0, ub=capacities, name="x", obj=costs) - model.addConstrs( + x = model.addVars(edges, lb=0, name="x", obj=costs) + flow_constrs = model.addConstrs( ( gp.quicksum(x[n, j] for j in G.successors(n)) - gp.quicksum(x[j, n] for j in G.predecessors(n)) @@ -46,17 +41,30 @@ def _get_demand(n): ), name="flow_balance", ) + cap_constrs = model.addConstrs( + (x[i, j] <= capacities[i, j] for (i, j) in G.edges()), name="capacity" + ) # Use network Simplex - # TODO: report bug and re-enable later. # model.params.NetworkAlg = 1 - - model.write("model.lp") - model.optimize() if model.status == GRB.OPTIMAL: - return [(e, x[e].X) for e in edges if x[e].X > 1e-3], model.ObjVal + if get_partition: + + p1 = set({i for (i, j) in edges if cap_constrs[i, j].Pi < -1e-3}) + p2 = set() + for n in Vd: + if flow_constrs[n].Pi < 1e-3: + p2.add(n) + elif flow_constrs[n].Pi > 1e-3: + p1.add(n) + return ( + {e: x[e].X for e in edges if x[e].X > 1e-3}, + model.ObjVal, + (p1, p2), + ) + return {e: x[e].X for e in edges if x[e].X > 1e-3}, model.ObjVal elif model.status in [GRB.INF_OR_UNBD, GRB.INFEASIBLE]: raise ValueError("Your problem is infeasible") else: @@ -91,7 +99,7 @@ def min_cost_flow(G, source=None, sink=None): return network_flow(G) -def max_flow(G, source, sink): +def max_flow(G, source, sink, **kwargs): """ capacity attributes are user-defined so we only define the cost. @@ -105,17 +113,52 @@ def max_flow(G, source, sink): # Set cost attribute to -1 for all outgoing edges from source for j in G.successors(source): G.edges[(source, j)]["cost"] = -1 - return network_flow( - G, - Vd=[n for n in G.nodes() if n not in [source, sink]], - ) + if "get_partition" in kwargs and kwargs["get_partition"]: + sol, flow, partition = network_flow( + G, Vd=[n for n in G.nodes() if n not in [source, sink]], **kwargs + ) + return sol, -flow, partition + sol, flow = network_flow(G, Vd=[n for n in G.nodes() if n not in [source, sink]]) + return sol, -flow -def min_cut(G, capacities, source, sink): +def min_cut(G, source, sink): """ A sphinx-compatible docstring :param data1: Data structure for first argument :type data1: pd.DataFrame """ - pass + r1, r2 = nx.minimum_cut(G, source, sink) + result, flow, partition = max_flow(G, source, sink, get_partition=True) + partition[1].add(sink) + return partition, flow + + +def read_dimacs_graph(file_path): + """ + Parse .col file and return graph object + """ + G = nx.DiGraph() + with open(file_path, "r") as file: + for line in file: + if line.startswith("c"): # graph description + print(*line.split()[1:]) + # first line: p name num_of_vertices num_of_edges + elif line.startswith("p"): + p, name, vertices_num, edges_num = line.split() + elif line.startswith("n"): + _, n, demand = line.split() + G.add_node(n, demand=float(demand)) + elif line.startswith("e"): + _, v1, v2 = line.split() + G.add_edge(v1, v2) + elif line.startswith("a"): + _, v1, v2, _, cap, cost = line.split() + G.add_edge(v1, v2, capacity=float(cap), cost=float(cost)) + else: + continue + for n, d in G.nodes(data=True): + if "demand" not in d: + G.nodes[n]["demand"] = 0 + return G diff --git a/tests/test_network_flow.py b/tests/test_network_flow.py index 6d0f9671..c12dbc6c 100644 --- a/tests/test_network_flow.py +++ b/tests/test_network_flow.py @@ -5,8 +5,12 @@ import unittest import scipy.sparse as sp +import networkx as nx -from gurobi_optimods.datasets import load_network_flow_example_data +from gurobi_optimods.datasets import ( + load_network_flow_example_data, + load_network_flow_example_data2, +) from gurobi_optimods.network_flow import ( network_flow, @@ -18,40 +22,142 @@ class TestNetworkFlow(unittest.TestCase): + def setUp(self): + self.G, self.source, self.sink = load_network_flow_example_data() + + def test_network_flow(self): + sol, cost = network_flow(self.G) + self.assertEqual(cost, 150) + self.assertEqual( + sol, + { + (0, 1): 12.0, + (0, 2): 8.0, + (1, 3): 4.0, + (1, 2): 8.0, + (2, 3): 11.0, + (2, 4): 5.0, + (3, 4): 10.0, + }, + ) + def test_min_cost_flow(self): - G, _, _ = load_network_flow_example_data() - sol, cost = min_cost_flow(G) + sol, cost = min_cost_flow(self.G) self.assertEqual(cost, 150) self.assertEqual( - [s[0] for s in sol], + sol, + { + (0, 1): 12.0, + (0, 2): 8.0, + (1, 3): 4.0, + (1, 2): 8.0, + (2, 3): 11.0, + (2, 4): 5.0, + (3, 4): 10.0, + }, + ) + + def test_shortest_path(self): + sol, cost = shortest_path(self.G, self.source, self.sink) + self.assertEqual(cost, 7) + # Multiple solutions + self.assertIn( + sol, + [ + {(0, 2): 1, (2, 4): 1}, + {(0, 2): 1, (2, 3): 1, (3, 4): 1}, + ], + ) + + def test_max_flow(self): + sol, maxflow = max_flow(self.G, self.source, self.sink) + self.assertEqual(maxflow, 23.0) + # Multiple solutions + self.assertIn( + sol, [ - (0, 1), - (0, 2), - (1, 3), - (1, 2), - (2, 3), - (2, 4), - (3, 4), + { + (0, 1): 15.0, + (0, 2): 8.0, + (1, 3): 4.0, + (1, 2): 1.0, + (1, 4): 10.0, + (2, 3): 9.0, + (3, 4): 13.0, + }, + { + (0, 1): 15.0, + (0, 2): 8.0, + (1, 3): 4.0, + (1, 2): 1.0, + (1, 4): 10.0, + (2, 3): 4.0, + (2, 4): 5.0, + (3, 4): 8.0, + }, ], ) + + def test_min_cut(self): + partition, flow = min_cut(self.G, self.source, self.sink) + self.assertEqual(partition[0], set({0})) + self.assertEqual(partition[1], set({1, 2, 3, 4})) + + def test_min_cut2(self): + G = nx.DiGraph() + G.add_edge("x", "a", capacity=3.0) + G.add_edge("x", "b", capacity=1.0) + G.add_edge("a", "c", capacity=3.0) + G.add_edge("b", "c", capacity=5.0) + G.add_edge("b", "d", capacity=4.0) + G.add_edge("d", "e", capacity=2.0) + G.add_edge("c", "y", capacity=2.0) + G.add_edge("e", "y", capacity=3.0) + partition, flow = min_cut(G, "x", "y") + print(partition) + self.assertEqual(partition[0], set({"c", "a", "x"})) + self.assertEqual(partition[1], set({"d", "y", "e", "b"})) + + +class TestNetworkFlow2(unittest.TestCase): + def setUp(self): + self.G, self.source, self.sink = load_network_flow_example_data2() + + def test_network_flow(self): + sol, cost = network_flow(self.G) self.assertEqual( - [s[1] for s in sol], - [12.0, 8.0, 4.0, 8.0, 11.0, 5.0, 10.0], + sol, {("s", 1): 1.0, ("s", 2): 1.0, (1, 3): 1.0, (2, 4): 2.0, (4, "t"): 2.0} ) + self.assertEqual(cost, 31) - def test_shortest_path(self): - G, source, sink = load_network_flow_example_data() - sol, cost = shortest_path(G, source, sink) - self.assertEqual(cost, 7) - self.assertEqual([s[0] for s in sol], [(0, 2), (2, 3), (3, 4)]) - self.assertEqual([s[1] for s in sol], [1.0] * 3) + def test_min_cost_flow(self): + sol, cost = min_cost_flow(self.G) + self.assertEqual( + sol, {("s", 1): 1.0, ("s", 2): 1.0, (1, 3): 1.0, (2, 4): 2.0, (4, "t"): 2.0} + ) + self.assertEqual(cost, 31) def test_max_flow(self): - G, source, sink = load_network_flow_example_data() - sol, maxflow = max_flow(G, source, sink) - self.assertEqual(maxflow, -23.0) + sol, flow = max_flow(self.G, self.source, self.sink) self.assertEqual( - [s[0] for s in sol], - [(0, 1), (0, 2), (1, 3), (1, 2), (1, 4), (2, 3), (3, 4)], + sol, + { + ("s", 1): 1.0, + ("s", 2): 2.0, + (1, 3): 1.0, + (2, 4): 2.0, + (3, "t"): 1.0, + (4, "t"): 2.0, + }, ) - self.assertEqual([s[1] for s in sol], [15.0, 8.0, 4.0, 1.0, 10.0, 9.0, 13.0]) + self.assertEqual(flow, 3.0) + + def test_min_cut(self): + partition, flow = min_cut(self.G, self.source, self.sink) + self.assertEqual(partition[0], set({"s", 1})) + self.assertEqual(partition[1], set({2, 3, 4, "t"})) + + def test_shortest_path(self): + sol, cost = shortest_path(self.G, self.source, self.sink) + self.assertEqual(sol, {("s", 1): 1.0, (1, 3): 1.0, (3, "t"): 1.0}) + self.assertEqual(cost, 11) From d994dd43decebfab8dfadc07276a49b8cd3933c3 Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Tue, 25 Apr 2023 16:33:25 +0100 Subject: [PATCH 06/12] Split min cost flow. Add pd, sp and nx (optional) --- docs/source/api.rst | 7 +- .../mods/figures/min-cost-flow-result.png | Bin 0 -> 540595 bytes docs/source/mods/index.rst | 2 +- docs/source/mods/min-cost-flow.rst | 197 ++++++++++++++++++ docs/source/mods/mwis.rst | 2 +- docs/source/mods/network-flow.rst | 179 ---------------- .../data/graphs/edge_data1.csv | 10 + .../data/graphs/edge_data2.csv | 8 + .../data/graphs/node_data1.csv | 6 + .../data/graphs/node_data2.csv | 7 + src/gurobi_optimods/data/network_flow.gml | 82 -------- src/gurobi_optimods/data/network_flow2.gml | 87 -------- src/gurobi_optimods/datasets.py | 84 ++------ src/gurobi_optimods/min_cost_flow.py | 164 +++++++++++++++ src/gurobi_optimods/network_flow.py | 164 --------------- tests/test_min_cost_flow.py | 139 ++++++++++++ tests/test_network_flow.py | 163 --------------- 17 files changed, 549 insertions(+), 752 deletions(-) create mode 100644 docs/source/mods/figures/min-cost-flow-result.png create mode 100644 docs/source/mods/min-cost-flow.rst delete mode 100644 docs/source/mods/network-flow.rst create mode 100644 src/gurobi_optimods/data/graphs/edge_data1.csv create mode 100644 src/gurobi_optimods/data/graphs/edge_data2.csv create mode 100644 src/gurobi_optimods/data/graphs/node_data1.csv create mode 100644 src/gurobi_optimods/data/graphs/node_data2.csv delete mode 100644 src/gurobi_optimods/data/network_flow.gml delete mode 100644 src/gurobi_optimods/data/network_flow2.gml create mode 100644 src/gurobi_optimods/min_cost_flow.py delete mode 100644 src/gurobi_optimods/network_flow.py create mode 100644 tests/test_min_cost_flow.py delete mode 100644 tests/test_network_flow.py diff --git a/docs/source/api.rst b/docs/source/api.rst index a0855850..6dc60d95 100644 --- a/docs/source/api.rst +++ b/docs/source/api.rst @@ -7,15 +7,12 @@ API .. automodule:: gurobi_optimods.matching :members: maximum_bipartite_matching, maximum_weighted_matching -.. automodule:: gurobi_optimods.network_flow - :members: network_flow, min_cost_flow, shortest_path, max_flow, min_cut +.. automodule:: gurobi_optimods.min_cost_flow + :members: min_cost_flow, min_cost_flow_networkx, min_cost_flow_scipy .. automodule:: gurobi_optimods.mwis :members: maximum_weighted_independent_set -.. automodule:: gurobi_optimods.network_flow - :members: network_flow, min_cost_flow, shortest_path, max_flow, min_cut - .. automodule:: gurobi_optimods.network_util :members: solve_min_cost_flow diff --git a/docs/source/mods/figures/min-cost-flow-result.png b/docs/source/mods/figures/min-cost-flow-result.png new file mode 100644 index 0000000000000000000000000000000000000000..b267a248135c05b0f9ae46275c42bc780de63aca GIT binary patch literal 540595 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
    G|(K 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�=X=B5` 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 from gurobi_optimods import datasets + >>> edge_data, node_data = datasets.load_min_cost_flow2() + >>> edge_data + capacity cost + source target + 0 1 2 9 + 2 2 7 + 1 3 1 1 + 2 3 1 10 + 4 2 6 + 3 5 2 1 + 4 5 2 1 + >>> node_data + posx posy demand original_label + 0 0 0.0 -2 s + 1 1 0.5 0 1 + 2 1 -0.5 -1 2 + 3 2 0.5 1 3 + 4 2 -0.5 0 4 + 5 3 0.0 2 t + + .. tab:: ``networkx`` Graph + + We can also use ``networkx``. + + .. doctest:: mod + :options: +NORMALIZE_WHITESPACE + + >>> from gurobi_optimods.min_cost_flow import min_cost_flow_networkx + >>> from gurobi_optimods import datasets + >>> import networkx as nx + >>> + >>> edge_data, node_data = datasets.load_min_cost_flow2() + >>> G = nx.from_pandas_edgelist( + ... edge_data.reset_index(), create_using=nx.DiGraph(), edge_attr=True + ... ) + >>> for i, d in node_data.iterrows(): + ... G.add_node(i, demand=d.demand, pos=(d.posx, d.posy)) + ... + >>> + >>> obj, sol = min_cost_flow_networkx(G) # doctest: +IGNORE_RESULT + ... + >>> edge_labels = {} + >>> for i, j in G.edges(): + ... f = 0.0 + ... if (i, j) in sol: + ... f = sol[i, j] + ... edge_labels[i, j] = str((G.edges[i, j]["capacity"], G.edges[i, j]["cost"], f)) + ... + >>> node_labels1 = {} + >>> node_labels2 = {} + >>> for n in G.nodes(): + ... node_labels1[n] = f"{n}" + ... node_labels2[n] = f"{G.nodes[n]['demand']}" + ... + >>> color_map = ["red" if (i, j) in sol else "lightgrey" for (i, j) in G.edges()] + >>> pos = nx.get_node_attributes(G, "pos") + >>> nx.draw(G, with_labels=True, pos=pos, edge_color=color_map) + >>> nx.draw_networkx_edge_labels(G, pos, edge_labels) # doctest: +IGNORE_RESULT + >>> nx.draw_networkx_labels(G, pos, node_labels1) # doctest: +IGNORE_RESULT + >>> for k, v in pos.items(): + ... pos[k] = (v[0], v[1] + 0.07) + ... + >>> nx.draw_networkx_labels(G, pos, node_labels2, font_color="r") # doctest: +IGNORE_RESULT + +The solution is shown in the following figure below. The edge labels denote the +edge capacity, cost and resulting flow: :math:`(B_{ij}, c_{ij}, x^*_{ij})`. +Edges with non-zero flow are highlighted in red. The demand for each vertex is +shown on top of the vertex in red. A negative demand indicates a supply vertex +whereas a positive demand indicates a consumer vertex. + +.. image:: figures/min-cost-flow-result.png + :width: 600 + :alt: Sample network. diff --git a/docs/source/mods/mwis.rst b/docs/source/mods/mwis.rst index d2822823..b404e7f6 100644 --- a/docs/source/mods/mwis.rst +++ b/docs/source/mods/mwis.rst @@ -147,7 +147,7 @@ The solution is a numpy array containing the vertices in set :math:`S`. >>> import networkx as nx >>> import matplotlib.pyplot as plt >>> layout = nx.spring_layout(g, seed=0) - >>> color_map= ["red" if node in mwis else "lightgrey" for node in g.nodes()] + >>> color_map = ["red" if node in mwis else "lightgrey" for node in g.nodes()] >>> nx.draw(g, pos=layout, node_color=color_map, node_size=600, with_labels=True) The vertices in the independent set are highlighted in red. diff --git a/docs/source/mods/network-flow.rst b/docs/source/mods/network-flow.rst deleted file mode 100644 index 490fdc8c..00000000 --- a/docs/source/mods/network-flow.rst +++ /dev/null @@ -1,179 +0,0 @@ -Network Flow -============ - -Network flow type problems are defined on a graph or network where the goal is -to send an amount of flow. Variants of this problem may include costs as part of -the objective and/or capacities as part of the constraints or restrictions. - -Specific cases of network flow problems considered here are: - -- min-cost flow; -- max-flow/min-cut; -- and, shortest path. - -Problem Specification ---------------------- - - - -.. tabs:: - - .. tab:: Graph Theory - - For a given graph :math:`G` with set of vertices :math:`V` and edges - :math:`E`. Each edge may have different parameters associated to it for - instance, for a given :math:`(i,j)\in E`, we may have: - - - costs :math:`c_{ij}\in \mathbb{R}`; - - and capacities :math:`B_{ij}\in\mathbb{R}`. - - Similarly, each vertex :math:`i\in V` may have a demand :math:`d_i\in\mathbb{R}`. - There may be a source and sink nodes. - - - Min-cost flow: minimize the cost subject to edge capacities and fulfil - node demand. - - Max-flow/min-cut: maximize flow through the graph subject to edge - capacities. - - Shortest path: find a path from source to sink that has the minimal - cost. - - .. tab:: Optimization Model - - For a given graph :math:`G` with set of vertices :math:`V` and edges - :math:`E`. Depending on the problem, each edge may have differnt - parameters associated to it for instance, for a given :math:`(i,j)\in - E`, we may have costs :math:`c_{ij}`, capacities :math:`B_{ij}` and each - node :math:`i` may have a demand :math:`d_i`. The values for each case - are specified below. - - We need a set of continuous variables :math:`x_{ij}` to denote the - amount of flow going through an edge. - - .. math:: - - \begin{alignat}{2} - \min \quad & \sum_{(i, j) \in E} c_{ij} x_{ij} \\ - \mbox{s.t.} \quad & \sum_{j \in \delta^+(i)} x_{ij} - \sum_{j \in \delta^-(i)} x_{ji} = d_i & \forall i \in V' \\ - & 0 \leq x_{ij} \le B_{ij} & \forall (i, j) \in E \\ - \end{alignat} - - Where :math:`\delta^+(\cdot)` (:math:`\delta^-(\cdot)`) denotes the outgoing (incoming) neighours. - Additionally, we - - .. csv-table:: Parameters for the three cases. - :header: "Problem", ":math:`V'`", ":math:`d_i`", ":math:`B_{ij}`", ":math:`c_{ij}`" - - "1. Min-cost flow", ":math:`V`", ":math:`\geq 0`", ":math:`\geq 0`", ":math:`\geq 0`" - "2. Max-flow", ":math:`V\setminus\{s,t\}`", ":math:`\geq 0`", ":math:`\geq 0`", ":math:`=-1` if :math:`i=s, j\in\delta^+(s)`, :math:`0` otherwise" - "3. Shortest path", ":math:`V`", ":math:`=1` if :math:`i=s`, :math:`=-1`, if :math:`i=t`, :math:`0` otherwise", ":math:`=1`", ":math:`\geq 0`" - - -.. tabs:: - - .. tab:: ``load_network_flow_example_data`` - - Let us load a sample `networkx` graph. - - .. doctest:: mod - :options: +NORMALIZE_WHITESPACE - - >>> from gurobi_optimods import datasets - >>> G, s, t = datasets.load_network_flow_example_data() - >>> for n in G.nodes(data=True): - ... print(n) - ... - (0, {'demand': 20}) - (1, {'demand': 0}) - (2, {'demand': 0}) - (3, {'demand': -5}) - (4, {'demand': -15}) - >>> for e in G.edges(data=True): - ... print(e) - ... - (0, 1, {'capacity': 15, 'cost': 4}) - (0, 2, {'capacity': 8, 'cost': 4}) - (1, 3, {'capacity': 4, 'cost': 2}) - (1, 2, {'capacity': 20, 'cost': 2}) - (1, 4, {'capacity': 10, 'cost': 6}) - (2, 3, {'capacity': 15, 'cost': 1}) - (2, 4, {'capacity': 5, 'cost': 3}) - (3, 4, {'capacity': 20, 'cost': 2}) - (4, 2, {'capacity': 4, 'cost': 3}) - >>> s, t - (0, 4) - - .. tab:: Graph - - TODO: add plot - -.. image:: figures/network-flow-result.png - :width: 600 - :alt: Sample network. - -| - -Code ----- - -Self contained code example to run the mod from an example dataset. Example -datasets should bd included in the ``gurobi_optimods.datasets`` module for -easy access by users. - -.. testcode:: network_flow - - from gurobi_optimods.datasets import load_network_flow_example_data - from gurobi_optimods.network_flow import shortest_path - - - G, source, sink = load_network_flow_example_data() - sol, cost = shortest_path(G, source, sink) - -.. A snippet of the Gurobi log output here won't show in the rendered page, - but serves as a doctest to make sure the code example runs. The ... lines - are meaningful here, they will match anything in the output test. - -.. testoutput:: network_flow - :hide: - - ... - Optimal objective 7.000000000e+00 - -The model is solved as an LP by Gurobi. - -.. collapse:: View Gurobi Logs - - .. code-block:: text - - Gurobi Optimizer version 10.0.1 build v10.0.1rc0 (mac64[arm]) - - CPU model: Apple M1 - Thread count: 8 physical cores, 8 logical processors, using up to 8 threads - - WLS license - registered to david.torres-sanchez@gurobi.com - Optimize a model with 5 rows, 9 columns and 18 nonzeros - Model fingerprint: 0xce040fba - Coefficient statistics: - Matrix range [1e+00, 1e+00] - Objective range [1e+00, 6e+00] - Bounds range [1e+00, 1e+00] - RHS range [1e+00, 1e+00] - Presolve removed 1 rows and 1 columns - Presolve time: 0.00s - Presolved: 4 rows, 8 columns, 16 nonzeros - - Iteration Objective Primal Inf. Dual Inf. Time - 0 4.0000000e+00 2.000000e+00 0.000000e+00 0s - 2 7.0000000e+00 0.000000e+00 0.000000e+00 0s - - Solved in 2 iterations and 0.00 seconds (0.00 work units) - Optimal objective 7.000000000e+00 - -| - -Solution --------- - -Show the solution. One way is to use doctests to display simple shell outputs -(see the workforce example). This can be done simply by pasting outputs -directly from a python shell. Another option is to include and display figures -(see the graph matching examples). diff --git a/src/gurobi_optimods/data/graphs/edge_data1.csv b/src/gurobi_optimods/data/graphs/edge_data1.csv new file mode 100644 index 00000000..808d56fb --- /dev/null +++ b/src/gurobi_optimods/data/graphs/edge_data1.csv @@ -0,0 +1,10 @@ +source,target,capacity,cost +0,1,15,4 +0,2,8,4 +1,3,4,2 +1,2,20,2 +1,4,10,6 +2,3,15,1 +2,4,5,3 +3,4,20,2 +4,2,4,3 diff --git a/src/gurobi_optimods/data/graphs/edge_data2.csv b/src/gurobi_optimods/data/graphs/edge_data2.csv new file mode 100644 index 00000000..a5a9d3db --- /dev/null +++ b/src/gurobi_optimods/data/graphs/edge_data2.csv @@ -0,0 +1,8 @@ +source,target,capacity,cost +0,1,2,9 +0,2,2,7 +1,3,1,1 +2,3,1,10 +2,4,2,6 +3,5,2,1 +4,5,2,1 diff --git a/src/gurobi_optimods/data/graphs/node_data1.csv b/src/gurobi_optimods/data/graphs/node_data1.csv new file mode 100644 index 00000000..03167233 --- /dev/null +++ b/src/gurobi_optimods/data/graphs/node_data1.csv @@ -0,0 +1,6 @@ +,demand,original_label +0,-20,0 +1,0,1 +2,0,2 +3,5,3 +4,15,4 diff --git a/src/gurobi_optimods/data/graphs/node_data2.csv b/src/gurobi_optimods/data/graphs/node_data2.csv new file mode 100644 index 00000000..d24c61e0 --- /dev/null +++ b/src/gurobi_optimods/data/graphs/node_data2.csv @@ -0,0 +1,7 @@ +,posx,posy,demand,original_label +0,0, 0,-2,s +1,1, 0.5,0,1 +2,1, -0.5,-1,2 +3,2, 0.5,1,3 +4,2, -0.5,0,4 +5,3, 0,2,t diff --git a/src/gurobi_optimods/data/network_flow.gml b/src/gurobi_optimods/data/network_flow.gml deleted file mode 100644 index d6b54296..00000000 --- a/src/gurobi_optimods/data/network_flow.gml +++ /dev/null @@ -1,82 +0,0 @@ -graph [ - directed 1 - node [ - id 0 - label "0" - demand 20 - ] - node [ - id 1 - label "1" - demand 0 - ] - node [ - id 2 - label "2" - demand 0 - ] - node [ - id 3 - label "3" - demand -5 - ] - node [ - id 4 - label "4" - demand -15 - ] - edge [ - source 0 - target 1 - capacity 15 - cost 4 - ] - edge [ - source 0 - target 2 - capacity 8 - cost 4 - ] - edge [ - source 1 - target 3 - capacity 4 - cost 2 - ] - edge [ - source 1 - target 2 - capacity 20 - cost 2 - ] - edge [ - source 1 - target 4 - capacity 10 - cost 6 - ] - edge [ - source 2 - target 3 - capacity 15 - cost 1 - ] - edge [ - source 2 - target 4 - capacity 5 - cost 3 - ] - edge [ - source 3 - target 4 - capacity 20 - cost 2 - ] - edge [ - source 4 - target 2 - capacity 4 - cost 3 - ] -] diff --git a/src/gurobi_optimods/data/network_flow2.gml b/src/gurobi_optimods/data/network_flow2.gml deleted file mode 100644 index 83b7f735..00000000 --- a/src/gurobi_optimods/data/network_flow2.gml +++ /dev/null @@ -1,87 +0,0 @@ -graph [ - directed 1 - node [ - id 0 - label "s" - pos 0 - pos 0 - demand 2 - ] - node [ - id 1 - label "1" - pos 1 - pos 0.5 - demand 0 - ] - node [ - id 2 - label "2" - pos 1 - pos -0.5 - demand 1 - ] - node [ - id 3 - label "3" - pos 2 - pos 0.5 - demand -1 - ] - node [ - id 4 - label "4" - pos 2 - pos -0.5 - demand 0 - ] - node [ - id 5 - label "t" - pos 3 - pos 0 - demand -2 - ] - edge [ - source 0 - target 1 - capacity 2 - cost 9 - ] - edge [ - source 0 - target 2 - capacity 2 - cost 7 - ] - edge [ - source 1 - target 3 - capacity 1 - cost 1 - ] - edge [ - source 2 - target 3 - capacity 1 - cost 10 - ] - edge [ - source 2 - target 4 - capacity 2 - cost 6 - ] - edge [ - source 3 - target 5 - capacity 2 - cost 1 - ] - edge [ - source 4 - target 5 - capacity 2 - cost 1 - ] -] diff --git a/src/gurobi_optimods/datasets.py b/src/gurobi_optimods/datasets.py index 3dd71c95..342298ec 100644 --- a/src/gurobi_optimods/datasets.py +++ b/src/gurobi_optimods/datasets.py @@ -6,9 +6,6 @@ import pathlib import pandas as pd -import networkx as nx -import matplotlib -import matplotlib.pyplot DATA_FILE_DIR = pathlib.Path(__file__).parent / "data" @@ -35,75 +32,22 @@ def load_workforce(): ) -def load_network_flow_example_data(): - return nx.read_gml(DATA_FILE_DIR / "network_flow.gml", destringizer=int), 0, 4 - - -def load_network_flow_example_data2(): - return nx.read_gml(DATA_FILE_DIR / "network_flow2.gml", destringizer=int), "s", "t" - - -def _create_network_flow2(): - G = nx.DiGraph() - - G.add_node("s", pos=(0, 0), demand=2) - G.add_node(1, pos=(1, 0.5), demand=0) - G.add_node(2, pos=(1, -0.5), demand=1) - G.add_node(3, pos=(2, 0.5), demand=-1) - G.add_node(4, pos=(2, -0.5), demand=0) - G.add_node("t", pos=(3, 0), demand=-2) - - G.add_edge("s", 1, capacity=2, cost=9) - G.add_edge("s", 2, capacity=2, cost=7) - G.add_edge(1, 3, capacity=1, cost=1) - G.add_edge(2, 3, capacity=1, cost=10) - G.add_edge(2, 4, capacity=2, cost=6) - G.add_edge(3, "t", capacity=2, cost=1) - G.add_edge(4, "t", capacity=2, cost=1) - - # TODO: plot and place in docs - fig = matplotlib.pyplot.figure() - pos = nx.get_node_attributes(G, "pos") - lab = {} - for e in G.edges(): - lab[e] = str((G.edges[e]["capacity"], G.edges[e]["cost"])) - print(lab) - nx.draw(G, ax=fig.add_subplot(), with_labels=True, pos=pos) - nx.draw_networkx_edge_labels(G, pos, lab) - # Save plot to file - matplotlib.use("Agg") - fig.savefig("graph.png", dpi=1000) - - nx.write_gml(G, "network_flow.gml") - - -def _create_network_flow1(): - G = nx.DiGraph() - - G.add_edge(0, 1, capacity=15, cost=4) - G.add_edge(0, 2, capacity=8, cost=4) - G.add_edge(1, 3, capacity=4, cost=2) - G.add_edge(1, 2, capacity=20, cost=2) - G.add_edge(1, 4, capacity=10, cost=6) - G.add_edge(2, 3, capacity=15, cost=1) - G.add_edge(3, 4, capacity=20, cost=2) - G.add_edge(2, 4, capacity=5, cost=3) - G.add_edge(4, 2, capacity=4, cost=3) - - nx.set_node_attributes(G, 0, "demand") - - G.nodes[0]["demand"] = 20 - G.nodes[3]["demand"] = -5 - G.nodes[4]["demand"] = -15 +def load_min_cost_flow(): + return ( + pd.read_csv(DATA_FILE_DIR / "graphs/edge_data1.csv").set_index( + ["source", "target"] + ), + pd.read_csv(DATA_FILE_DIR / "graphs/node_data1.csv", index_col=0), + ) - # TODO: plot and place in docs - fig = matplotlib.pyplot.figure() - nx.draw(G, ax=fig.add_subplot()) - # Save plot to file - matplotlib.use("Agg") - fig.savefig("graph.png") - nx.write_gml(G, "network_flow.gml") +def load_min_cost_flow2(): + return ( + pd.read_csv(DATA_FILE_DIR / "graphs/edge_data2.csv").set_index( + ["source", "target"] + ), + pd.read_csv(DATA_FILE_DIR / "graphs/node_data2.csv", index_col=0), + ) def load_diet(): diff --git a/src/gurobi_optimods/min_cost_flow.py b/src/gurobi_optimods/min_cost_flow.py new file mode 100644 index 00000000..c6f30c9b --- /dev/null +++ b/src/gurobi_optimods/min_cost_flow.py @@ -0,0 +1,164 @@ +import collections +import logging +from dataclasses import dataclass + +import numpy as np +import pandas as pd +import gurobipy as gp +from gurobipy import GRB +import scipy.sparse as sp + +try: + import networkx as nx +except ImportError: + nx = None + +from gurobi_optimods.network_util import solve_min_cost_flow +from gurobi_optimods.utils import optimod + +logger = logging.getLogger(__name__) + + +@optimod() +def min_cost_flow(arc_data: pd.DataFrame, demand_data: pd.DataFrame, *, create_env): + """Solve the minimum cost flow problem for a given graph. + + The inputs adhere to the following structure: + + .. code-block:: python + + arc_data = pd.DataFrame( + [ + {"from": 0, "to": 1, "capacity": 16, "cost": 0}, + {"from": 1, "to": 2, "capacity": 10, "cost": 0}, + ] + ).set_index(["from", "to"]) + + demand_data = pd.DataFrame( + [{"node": 0, "demand": -1}, {"node": 2, "demand": 1}] + ).set_index("node") + + :param arc_data: DataFrame with graph and respective attributes. These must include ``"from"``, ``"to"`` nodes used as index, ``"capacity"``, and ``"cost"``. + :type arc_data: :class:`pd.DataFrame` + :param demand_data: DataFrame with node demand information. These must include indexed by `"node"`, and include the `"demand"`. This value can be positive (requesting flow) or negative (supplying flow). + :type demand_data: :class:`pd.DataFrame` + :return: Cost of the minimum cost flow. + :rtype: :class:`float` + :return: DataFrame with the flow for each edge. + :rtype: :class:`pd.DataFrame` + """ + # Perform conversion from pd to ndarray + + # Arcs and attributes + arcs = arc_data.index.to_numpy() + from_arc = np.array([a[0] for a in arcs], dtype="object") + to_arc = np.array([a[1] for a in arcs], dtype="object") + capacity = arc_data["capacity"].to_numpy() + cost = arc_data["cost"].to_numpy() + + # Nodes and attributes + rep_nodes = np.concatenate((from_arc, to_arc), dtype="object") + _, idx = np.unique(rep_nodes, return_index=True) + nodes = rep_nodes[np.sort(idx)] + demand_nodes = demand_data.index.to_numpy() + _demands = demand_data["demand"].to_numpy() + demands = np.zeros(nodes.shape, dtype=object) + demand_nodes_indeces = np.where(np.isin(nodes, demand_nodes, assume_unique=True))[0] + for i, n in enumerate(demand_nodes_indeces): + demands[n] = _demands[i] + + # Call solve_min_cost_flow using some data + with create_env() as env: + obj, flows = solve_min_cost_flow(env, from_arc, to_arc, capacity, cost, demands) + + # Put solution in the original dataframe + return obj, pd.Series(flows, index=arc_data.index) + + +@optimod() +def min_cost_flow_scipy( + G: sp.spmatrix, + capacities: sp.spmatrix, + costs: sp.spmatrix, + demands: np.ndarray, + *, + create_env, +): + """Solve the minimum cost flow problem for a given graph. + + :param G: Adjacency matrix of the graph. + :type G: :class:`sp.sparray` + :param capacities: Matrix containing capacities for each edge. + :type capacities: :class:`sp.sparray` + :param costs: Matrix containing costs for each edge. + :type costs: :class:`sp.sparray` + :param demands: Array containing the demand for each node. + :type demands: :class:`np.ndarray` + :return: Cost of the minimum cost flow. + :rtype: :class:`float` + :return: Adjacency matrix with flow in the solution + :rtype: :class:`sp.sparray` + """ + G = G.tocoo() + + from_arc = G.row + to_arc = G.col + + capacities = capacities.tocoo() + capacities = capacities.data + + costs = costs.tocoo() + costs = costs.data + + # Call solve_min_cost_flow using some data + with create_env() as env: + cost, flows = solve_min_cost_flow( + env, from_arc, to_arc, capacities, costs, demands + ) + # Filter + create scipy output matrix + select = flows > 0.5 + from_arc_result = from_arc[select] + to_arc_result = to_arc[select] + arg = (flows[select], (from_arc_result, to_arc_result)) + return cost, sp.coo_matrix(arg, dtype=float, shape=G.shape) + + +@optimod() +def min_cost_flow_networkx(G, *, create_env): + """Solve the minimum cost flow problem for a given graph. + + Note: We assume the networkx input graph node labels are all integers. + + :param G: Graph with edge attributes ``capacity`` and ``cost``, as well as node attributes ``demand``. + :type G: :class:`nx.DiGraph` + :return: Cost of the minimum cost flow. + :rtype: :class:`float` + :return: Dictionary indexed by edges with non-zero flow in the solution. + :rtype: :class:`dict` + """ + # Perform conversion from nx to ndarray + edges = list(G.edges(data=True)) # ensure ordering + + from_arc = np.array([e[0] for e in edges]) + to_arc = np.array([e[1] for e in edges]) + capacity = np.array([e[2]["capacity"] for e in edges]) + cost = np.array([e[2]["cost"] for e in edges]) + + nodes = list(G.nodes(data=True)) # ensure ordering + demands = np.zeros(len(nodes)) + for i, v in enumerate(nodes): + n, d = v # unpack tuple + if d: + demands[i] = d["demand"] + + # Call solve_min_cost_flow using some data + with create_env() as env: + obj, flows = solve_min_cost_flow(env, from_arc, to_arc, capacity, cost, demands) + + # Convert numpy sol back to networkx + select = flows > 0.5 + from_arc_result = from_arc[select] + to_arc_result = to_arc[select] + return obj, { + (f, t): v for f, t, v in zip(from_arc_result, to_arc_result, flows[select]) + } diff --git a/src/gurobi_optimods/network_flow.py b/src/gurobi_optimods/network_flow.py deleted file mode 100644 index a3257522..00000000 --- a/src/gurobi_optimods/network_flow.py +++ /dev/null @@ -1,164 +0,0 @@ -import numpy as np -import gurobipy as gp -import networkx as nx -from gurobipy import GRB - - -def network_flow(G: nx.DiGraph, Vd=None, get_partition=False): - """ - Network flow problem. - - :param G: networkx.DiGraph with edge attributes (capacity and cost) and node attributes (demand). - :param Vd: subset of nodes to account for in flow constraints. Default is all nodes. Optional. - :param get_partition: bool whether the min cut partition should be returned. Optional. - """ - - def _get_demand(n): - if use_demand: - return G.nodes[n]["demand"] - else: - return 0 - - with gp.Env() as env, gp.Model(env=env) as model: - # Check if demand should be used - use_demand = False - if len(nx.get_node_attributes(G, "demand")) > 0: - use_demand = True - - edges, capacities, costs = gp.multidict( - {(i, j): [d["capacity"], d["cost"]] for i, j, d in G.edges(data=True)} - ) - - if Vd is None: - Vd = list(G.nodes()) - x = model.addVars(edges, lb=0, name="x", obj=costs) - flow_constrs = model.addConstrs( - ( - gp.quicksum(x[n, j] for j in G.successors(n)) - - gp.quicksum(x[j, n] for j in G.predecessors(n)) - == _get_demand(n) - for n in Vd - ), - name="flow_balance", - ) - cap_constrs = model.addConstrs( - (x[i, j] <= capacities[i, j] for (i, j) in G.edges()), name="capacity" - ) - - # Use network Simplex - # model.params.NetworkAlg = 1 - model.optimize() - - if model.status == GRB.OPTIMAL: - if get_partition: - - p1 = set({i for (i, j) in edges if cap_constrs[i, j].Pi < -1e-3}) - p2 = set() - for n in Vd: - if flow_constrs[n].Pi < 1e-3: - p2.add(n) - elif flow_constrs[n].Pi > 1e-3: - p1.add(n) - return ( - {e: x[e].X for e in edges if x[e].X > 1e-3}, - model.ObjVal, - (p1, p2), - ) - return {e: x[e].X for e in edges if x[e].X > 1e-3}, model.ObjVal - elif model.status in [GRB.INF_OR_UNBD, GRB.INFEASIBLE]: - raise ValueError("Your problem is infeasible") - else: - raise Exception("An error occurred") - - -def shortest_path(G, source, sink): - """ - Cost attributes are user-defined - - :param data1: Data structure for first argument - :type data1: pd.DataFrame - """ - # Set capacity attribute - nx.set_edge_attributes(G, 1, "capacity") - # Set demand attribute - nx.set_node_attributes(G, 0, "demand") - - G.nodes[source]["demand"] = 1 - G.nodes[sink]["demand"] = -1 - - return network_flow(G) - - -def min_cost_flow(G, source=None, sink=None): - """ - A sphinx-compatible docstring - - :param data1: Data structure for first argument - :type data1: pd.DataFrame - """ - return network_flow(G) - - -def max_flow(G, source, sink, **kwargs): - """ - capacity attributes are user-defined so we only define the cost. - - :param data1: Data structure for first argument - :type data1: pd.DataFrame - """ - # Set cost attributes to 0 for all edges - nx.set_edge_attributes(G, 0, "cost") - # Set demand to 0 for all nodes - nx.set_node_attributes(G, 0, "demand") - # Set cost attribute to -1 for all outgoing edges from source - for j in G.successors(source): - G.edges[(source, j)]["cost"] = -1 - if "get_partition" in kwargs and kwargs["get_partition"]: - sol, flow, partition = network_flow( - G, Vd=[n for n in G.nodes() if n not in [source, sink]], **kwargs - ) - return sol, -flow, partition - sol, flow = network_flow(G, Vd=[n for n in G.nodes() if n not in [source, sink]]) - return sol, -flow - - -def min_cut(G, source, sink): - """ - A sphinx-compatible docstring - - :param data1: Data structure for first argument - :type data1: pd.DataFrame - """ - r1, r2 = nx.minimum_cut(G, source, sink) - result, flow, partition = max_flow(G, source, sink, get_partition=True) - partition[1].add(sink) - return partition, flow - - -def read_dimacs_graph(file_path): - """ - Parse .col file and return graph object - """ - G = nx.DiGraph() - with open(file_path, "r") as file: - for line in file: - if line.startswith("c"): # graph description - print(*line.split()[1:]) - # first line: p name num_of_vertices num_of_edges - elif line.startswith("p"): - p, name, vertices_num, edges_num = line.split() - elif line.startswith("n"): - _, n, demand = line.split() - G.add_node(n, demand=float(demand)) - elif line.startswith("e"): - _, v1, v2 = line.split() - G.add_edge(v1, v2) - elif line.startswith("a"): - _, v1, v2, _, cap, cost = line.split() - G.add_edge(v1, v2, capacity=float(cap), cost=float(cost)) - else: - continue - for n, d in G.nodes(data=True): - if "demand" not in d: - G.nodes[n]["demand"] = 0 - return G diff --git a/tests/test_min_cost_flow.py b/tests/test_min_cost_flow.py new file mode 100644 index 00000000..666442de --- /dev/null +++ b/tests/test_min_cost_flow.py @@ -0,0 +1,139 @@ +import unittest + +import numpy as np +import pandas as pd +import scipy.sparse as sp + +from numpy.testing import assert_array_equal + +try: + import networkx as nx +except ImportError: + nx = None + +from gurobi_optimods.datasets import load_min_cost_flow, load_min_cost_flow2 +from gurobi_optimods.min_cost_flow import ( + min_cost_flow, + min_cost_flow_networkx, + min_cost_flow_scipy, +) + + +def _convert_pandas_to_digraph(edge_data, node_data): + """ + Convert from a pandas DataFrame to a networkx.DiGraph with the appropriate + attributes. For edges: `capacity`, and `cost`. For nodes: `demand`. + """ + G = nx.from_pandas_edgelist( + edge_data.reset_index(), create_using=nx.DiGraph(), edge_attr=True + ) + for i, d in node_data.iterrows(): + G.add_node(i, demand=d.demand) + return G + + +def _convert_pandas_to_scipy(edge_data, node_data): + """ + Convert from a pandas DataFrame to several scipy.sparse.coo_matrix contain + the graph structure, the capacity and cost values per edge, and the demand + values per node. + """ + coords = edge_data.index.to_numpy() + + a0 = np.array([c[0] for c in coords]) + a1 = np.array([c[1] for c in coords]) + + data = np.ones(len(coords)) + G = sp.coo_matrix((data, (a0, a1))) + + data = edge_data["capacity"].values + cap = sp.coo_matrix((data, (a0, a1))) + + data = edge_data["cost"].values + costs = sp.coo_matrix((data, (a0, a1))) + + return G, cap, costs, node_data["demand"].values + + +class TestMinCostFlow(unittest.TestCase): + def setUp(self): + self.edge_data, self.node_data = load_min_cost_flow() + + def test_min_cost_flow(self): + cost, sol = min_cost_flow(self.edge_data, self.node_data) + self.assertEqual(cost, 150) + self.assertEqual(sol.tolist(), [12.0, 8.0, 4.0, 8.0, 0.0, 11.0, 5.0, 10.0, 0.0]) + self.assertEqual( + sol.index.tolist(), + [(0, 1), (0, 2), (1, 3), (1, 2), (1, 4), (2, 3), (2, 4), (3, 4), (4, 2)], + ) + + def test_min_cost_flow_scipy(self): + G, cap, cost, demands = _convert_pandas_to_scipy(self.edge_data, self.node_data) + cost, sol = min_cost_flow_scipy(G, cap, cost, demands) + self.assertEqual(cost, 150) + expected = np.array( + [ + [0.0, 12.0, 8.0, 0.0, 0.0], + [0.0, 0.0, 8.0, 4.0, 0.0], + [0.0, 0.0, 0.0, 11.0, 5.0], + [0.0, 0.0, 0.0, 0.0, 10.0], + [0.0, 0.0, 0.0, 0.0, 0.0], + ] + ) + assert_array_equal(sol.toarray(), expected) + + @unittest.skipIf(nx is None, "networkx is not installed") + def test_min_cost_flow_networkx(self): + G = _convert_pandas_to_digraph(self.edge_data, self.node_data) + cost, sol = min_cost_flow_networkx(G) + self.assertEqual(cost, 150) + self.assertEqual( + sol, + { + (0, 1): 12.0, + (0, 2): 8.0, + (1, 3): 4.0, + (1, 2): 8.0, + (2, 3): 11.0, + (2, 4): 5.0, + (3, 4): 10.0, + }, + ) + + +class TestMinCostFlow2(unittest.TestCase): + def setUp(self): + self.edge_data, self.node_data = load_min_cost_flow2() + + def test_min_cost_flow(self): + cost, sol = min_cost_flow(self.edge_data, self.node_data) + self.assertEqual(cost, 31) + self.assertEqual(sol.tolist(), [1.0, 1.0, 1.0, 0.0, 2.0, 0.0, 2.0]) + self.assertEqual( + sol.index.tolist(), [(0, 1), (0, 2), (1, 3), (2, 3), (2, 4), (3, 5), (4, 5)] + ) + + def test_min_cost_flow_scipy(self): + G, cap, cost, demands = _convert_pandas_to_scipy(self.edge_data, self.node_data) + cost, sol = min_cost_flow_scipy(G, cap, cost, demands) + self.assertEqual(cost, 31) + expected = np.array( + [ + [0.0, 1.0, 1.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 1.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 2.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 2.0], + ] + ) + assert_array_equal(sol.toarray(), expected) + + @unittest.skipIf(nx is None, "networkx is not installed") + def test_min_cost_flow_networkx(self): + G = _convert_pandas_to_digraph(self.edge_data, self.node_data) + cost, sol = min_cost_flow_networkx(G) + self.assertEqual(cost, 31) + self.assertEqual( + sol, {(0, 1): 1.0, (0, 2): 1.0, (1, 3): 1.0, (2, 4): 2.0, (4, 5): 2.0} + ) diff --git a/tests/test_network_flow.py b/tests/test_network_flow.py deleted file mode 100644 index c12dbc6c..00000000 --- a/tests/test_network_flow.py +++ /dev/null @@ -1,163 +0,0 @@ -# Unit tests for your network_flow. This is separate from the example tests, it should -# test smaller pieces of functionality, and can also test multiple cases. -# This template should be copied to tests/test_.py - -import unittest - -import scipy.sparse as sp -import networkx as nx - -from gurobi_optimods.datasets import ( - load_network_flow_example_data, - load_network_flow_example_data2, -) - -from gurobi_optimods.network_flow import ( - network_flow, - shortest_path, - min_cost_flow, - max_flow, - min_cut, -) - - -class TestNetworkFlow(unittest.TestCase): - def setUp(self): - self.G, self.source, self.sink = load_network_flow_example_data() - - def test_network_flow(self): - sol, cost = network_flow(self.G) - self.assertEqual(cost, 150) - self.assertEqual( - sol, - { - (0, 1): 12.0, - (0, 2): 8.0, - (1, 3): 4.0, - (1, 2): 8.0, - (2, 3): 11.0, - (2, 4): 5.0, - (3, 4): 10.0, - }, - ) - - def test_min_cost_flow(self): - sol, cost = min_cost_flow(self.G) - self.assertEqual(cost, 150) - self.assertEqual( - sol, - { - (0, 1): 12.0, - (0, 2): 8.0, - (1, 3): 4.0, - (1, 2): 8.0, - (2, 3): 11.0, - (2, 4): 5.0, - (3, 4): 10.0, - }, - ) - - def test_shortest_path(self): - sol, cost = shortest_path(self.G, self.source, self.sink) - self.assertEqual(cost, 7) - # Multiple solutions - self.assertIn( - sol, - [ - {(0, 2): 1, (2, 4): 1}, - {(0, 2): 1, (2, 3): 1, (3, 4): 1}, - ], - ) - - def test_max_flow(self): - sol, maxflow = max_flow(self.G, self.source, self.sink) - self.assertEqual(maxflow, 23.0) - # Multiple solutions - self.assertIn( - sol, - [ - { - (0, 1): 15.0, - (0, 2): 8.0, - (1, 3): 4.0, - (1, 2): 1.0, - (1, 4): 10.0, - (2, 3): 9.0, - (3, 4): 13.0, - }, - { - (0, 1): 15.0, - (0, 2): 8.0, - (1, 3): 4.0, - (1, 2): 1.0, - (1, 4): 10.0, - (2, 3): 4.0, - (2, 4): 5.0, - (3, 4): 8.0, - }, - ], - ) - - def test_min_cut(self): - partition, flow = min_cut(self.G, self.source, self.sink) - self.assertEqual(partition[0], set({0})) - self.assertEqual(partition[1], set({1, 2, 3, 4})) - - def test_min_cut2(self): - G = nx.DiGraph() - G.add_edge("x", "a", capacity=3.0) - G.add_edge("x", "b", capacity=1.0) - G.add_edge("a", "c", capacity=3.0) - G.add_edge("b", "c", capacity=5.0) - G.add_edge("b", "d", capacity=4.0) - G.add_edge("d", "e", capacity=2.0) - G.add_edge("c", "y", capacity=2.0) - G.add_edge("e", "y", capacity=3.0) - partition, flow = min_cut(G, "x", "y") - print(partition) - self.assertEqual(partition[0], set({"c", "a", "x"})) - self.assertEqual(partition[1], set({"d", "y", "e", "b"})) - - -class TestNetworkFlow2(unittest.TestCase): - def setUp(self): - self.G, self.source, self.sink = load_network_flow_example_data2() - - def test_network_flow(self): - sol, cost = network_flow(self.G) - self.assertEqual( - sol, {("s", 1): 1.0, ("s", 2): 1.0, (1, 3): 1.0, (2, 4): 2.0, (4, "t"): 2.0} - ) - self.assertEqual(cost, 31) - - def test_min_cost_flow(self): - sol, cost = min_cost_flow(self.G) - self.assertEqual( - sol, {("s", 1): 1.0, ("s", 2): 1.0, (1, 3): 1.0, (2, 4): 2.0, (4, "t"): 2.0} - ) - self.assertEqual(cost, 31) - - def test_max_flow(self): - sol, flow = max_flow(self.G, self.source, self.sink) - self.assertEqual( - sol, - { - ("s", 1): 1.0, - ("s", 2): 2.0, - (1, 3): 1.0, - (2, 4): 2.0, - (3, "t"): 1.0, - (4, "t"): 2.0, - }, - ) - self.assertEqual(flow, 3.0) - - def test_min_cut(self): - partition, flow = min_cut(self.G, self.source, self.sink) - self.assertEqual(partition[0], set({"s", 1})) - self.assertEqual(partition[1], set({2, 3, 4, "t"})) - - def test_shortest_path(self): - sol, cost = shortest_path(self.G, self.source, self.sink) - self.assertEqual(sol, {("s", 1): 1.0, (1, 3): 1.0, (3, "t"): 1.0}) - self.assertEqual(cost, 11) From 16cbe88ebbe5f95db5bb8bf2d20f329ac91cc27d Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Wed, 26 Apr 2023 22:26:13 +0100 Subject: [PATCH 07/12] Split docs into pd, nx, and sp. --- docs/source/conf.py | 1 + docs/source/mods/min-cost-flow.rst | 304 ++++++++++++------ pyproject.toml | 1 - .../data/graphs/edge_data1.csv | 16 +- .../data/graphs/edge_data2.csv | 16 +- .../data/graphs/node_data1.csv | 13 +- .../data/graphs/node_data2.csv | 13 +- src/gurobi_optimods/datasets.py | 77 ++++- src/gurobi_optimods/min_cost_flow.py | 14 +- tests/test_min_cost_flow.py | 126 +++----- 10 files changed, 355 insertions(+), 226 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 7dd87478..234c4391 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -24,6 +24,7 @@ "sphinx.ext.duration", "sphinx.ext.intersphinx", "sphinxcontrib.bibtex", + "sphinx_design", ] pygments_style = "vs" diff --git a/docs/source/mods/min-cost-flow.rst b/docs/source/mods/min-cost-flow.rst index 0e676513..87cb1053 100644 --- a/docs/source/mods/min-cost-flow.rst +++ b/docs/source/mods/min-cost-flow.rst @@ -33,6 +33,8 @@ Problem Specification - and capacity: :math:`B_{ij}\in\mathbb{R}`. Also, each vertex :math:`i\in V` has a demand :math:`d_i\in\mathbb{R}`. + A negative demand indicates a supply vertex whereas a positive demand + indicates a consumer vertex. Let us define a set of continuous variables :math:`x_{ij}` to represent the amount of flow going through an edge. @@ -52,146 +54,240 @@ Problem Specification The input data for this mod includes interfaces for the following: -* Pandas DataFrame with the format described below. -* A networkx graph with the edge/vertex attributes previously mentioned. -* Scipy sparse matrices in CSR format containing the graph structure, and the capacity and cost matrix. Additionally a numpy array representing the demands of the vertices. +* pandas; +* Networkx ; +* SciPy.sparse. | -Code ----- +Code and Inputs +--------------- -.. testcode:: network_flow +.. tab-set:: - from gurobi_optimods.datasets import load_min_cost_flow - from gurobi_optimods.min_cost_flow import min_cost_flow + .. tab-item:: pandas + :sync: pd + .. doctest:: load_min_cost_flow + :options: +NORMALIZE_WHITESPACE - edge_data, node_data = load_min_cost_flow() - cost, sol = min_cost_flow(edge_data, node_data) + >>> from gurobi_optimods import datasets + >>> edge_data, node_data = datasets.load_min_cost_flow() + >>> edge_data + capacity cost + source target + 0 1 2 9 + 2 2 7 + 1 3 1 1 + 2 3 1 10 + 4 2 6 + 3 5 2 1 + 4 5 2 1 + >>> node_data + demand + 0 -2 + 1 0 + 2 -1 + 3 1 + 4 0 + 5 2 -.. testoutput:: network_flow - :hide: + The ``edge_data`` DataFrame is indexed by ``source`` and ``target`` + nodes contains columns labelled ``capacity`` and ``cost``. - ... - Optimal objective 1.500000000e+02 + The ``node_data`` DataFrame is indexed by node and contains columns + labelled ``demand``. -The model is solved as an LP by Gurobi. + We assume that nodes labels are integers. -.. collapse:: View Gurobi Logs - .. code-block:: text + .. tab-item:: Networkx + :sync: nx + + .. doctest:: load_min_cost_flow_networkx + :options: +NORMALIZE_WHITESPACE + + >>> from gurobi_optimods import datasets + >>> G = datasets.load_min_cost_flow_networkx() + >>> for e in G.edges(data=True): + ... print(e) + ... + (0, 1, {'capacity': 2, 'cost': 9}) + (0, 2, {'capacity': 2, 'cost': 7}) + (1, 3, {'capacity': 1, 'cost': 1}) + (2, 3, {'capacity': 1, 'cost': 10}) + (2, 4, {'capacity': 2, 'cost': 6}) + (3, 5, {'capacity': 2, 'cost': 1}) + (4, 5, {'capacity': 2, 'cost': 1}) + >>> for n in G.nodes(data=True): + ... print(n) + ... + (0, {'demand': -2}) + (1, {'demand': 0}) + (2, {'demand': -1}) + (3, {'demand': 1}) + (4, {'demand': 0}) + (5, {'demand': 2}) - Solving min-cost flow with 5 nodes and 9 edges - Gurobi Optimizer version 10.0.1 build v10.0.1rc0 (mac64[arm]) + Edges have attributes ``capacity`` and ``cost`` and nodes have + attributes ``demand``. - CPU model: Apple M1 - Thread count: 8 physical cores, 8 logical processors, using up to 8 threads + We assume that nodes labels are integers. - WLS license - registered to david.torres-sanchez@gurobi.com - Optimize a model with 5 rows, 9 columns and 18 nonzeros - Model fingerprint: 0x516e531a - Coefficient statistics: - Matrix range [1e+00, 1e+00] - Objective range [1e+00, 6e+00] - Bounds range [4e+00, 2e+01] - RHS range [5e+00, 2e+01] - Presolve removed 2 rows and 2 columns - Presolve time: 0.00s - Presolved: 3 rows, 7 columns, 14 nonzeros + .. tab-item:: scipy.sparse + :sync: sp - Iteration Objective Primal Inf. Dual Inf. Time - 0 7.2994000e+01 5.000400e+01 0.000000e+00 0s - 2 1.5000000e+02 0.000000e+00 0.000000e+00 0s + .. doctest:: load_min_cost_flow_scipy + :options: +NORMALIZE_WHITESPACE - Solved in 2 iterations and 0.00 seconds (0.00 work units) - Optimal objective 1.500000000e+02 + >>> from gurobi_optimods import datasets + >>> G, capacities, cost, demands = datasets.load_min_cost_flow_scipy() + >>> G + <5x6 sparse matrix of type '' + with 7 stored elements in COOrdinate format> + >>> print(G) + (0, 1) 1 + (0, 2) 1 + (1, 3) 1 + (2, 3) 1 + (2, 4) 1 + (3, 5) 1 + (4, 5) 1 + >>> print(capacities) + (0, 1) 2 + (0, 2) 2 + (1, 3) 1 + (2, 3) 1 + (2, 4) 2 + (3, 5) 2 + (4, 5) 2 + >>> print(cost) + (0, 1) 9 + (0, 2) 7 + (1, 3) 1 + (2, 3) 10 + (2, 4) 6 + (3, 5) 1 + (4, 5) 1 + >>> print(demands) + [-2 0 -1 1 0 2] | Solution -------- -.. tabs:: +.. tab-set:: - .. tab:: ``load_min_cost_flow`` + .. tab-item:: pandas + :sync: pd - Let us load a sample graph in a pandas DataFrame format. + .. doctest:: min_cost_flow + :options: +NORMALIZE_WHITESPACE - .. doctest:: mod + >>> from gurobi_optimods import datasets + >>> from gurobi_optimods.min_cost_flow import min_cost_flow + >>> edge_data, node_data = datasets.load_min_cost_flow() + >>> obj, sol = min_cost_flow(edge_data, node_data, silent=True) + >>> obj + 31.0 + >>> sol + source target + 0 1 1.0 + 2 1.0 + 1 3 1.0 + 2 3 0.0 + 4 2.0 + 3 5 0.0 + 4 5 2.0 + dtype: float64 + + The ``min_cost_flow`` function returns the cost of the solution as well + as ``pd.Series`` with the flow per edge. Similarly as the input + DataFrame the resulting series is indexed by ``source`` and ``target``. + + + .. tab-item:: Networkx + :sync: nx + + .. doctest:: min_cost_flow_networkx :options: +NORMALIZE_WHITESPACE >>> from gurobi_optimods import datasets - >>> edge_data, node_data = datasets.load_min_cost_flow2() - >>> edge_data - capacity cost - source target - 0 1 2 9 - 2 2 7 - 1 3 1 1 - 2 3 1 10 - 4 2 6 - 3 5 2 1 - 4 5 2 1 - >>> node_data - posx posy demand original_label - 0 0 0.0 -2 s - 1 1 0.5 0 1 - 2 1 -0.5 -1 2 - 3 2 0.5 1 3 - 4 2 -0.5 0 4 - 5 3 0.0 2 t + >>> from gurobi_optimods.min_cost_flow import min_cost_flow_networkx + >>> G = datasets.load_min_cost_flow_networkx() + >>> obj, sol = min_cost_flow_networkx(G, silent=True) + >>> obj + 31.0 + >>> sol + {(0, 1): 1.0, (0, 2): 1.0, (1, 3): 1.0, (2, 4): 2.0, (4, 5): 2.0} - .. tab:: ``networkx`` Graph + The ``min_cost_flow_networkx`` function returns the cost of the solution as well + as a dictionary with the non-zero flow per edge. - We can also use ``networkx``. + .. tab-item:: scipy.sparse + :sync: sp - .. doctest:: mod + .. doctest:: min_cost_flow_networkx :options: +NORMALIZE_WHITESPACE - >>> from gurobi_optimods.min_cost_flow import min_cost_flow_networkx >>> from gurobi_optimods import datasets - >>> import networkx as nx - >>> - >>> edge_data, node_data = datasets.load_min_cost_flow2() - >>> G = nx.from_pandas_edgelist( - ... edge_data.reset_index(), create_using=nx.DiGraph(), edge_attr=True - ... ) - >>> for i, d in node_data.iterrows(): - ... G.add_node(i, demand=d.demand, pos=(d.posx, d.posy)) - ... - >>> - >>> obj, sol = min_cost_flow_networkx(G) # doctest: +IGNORE_RESULT - ... - >>> edge_labels = {} - >>> for i, j in G.edges(): - ... f = 0.0 - ... if (i, j) in sol: - ... f = sol[i, j] - ... edge_labels[i, j] = str((G.edges[i, j]["capacity"], G.edges[i, j]["cost"], f)) - ... - >>> node_labels1 = {} - >>> node_labels2 = {} - >>> for n in G.nodes(): - ... node_labels1[n] = f"{n}" - ... node_labels2[n] = f"{G.nodes[n]['demand']}" - ... - >>> color_map = ["red" if (i, j) in sol else "lightgrey" for (i, j) in G.edges()] - >>> pos = nx.get_node_attributes(G, "pos") - >>> nx.draw(G, with_labels=True, pos=pos, edge_color=color_map) - >>> nx.draw_networkx_edge_labels(G, pos, edge_labels) # doctest: +IGNORE_RESULT - >>> nx.draw_networkx_labels(G, pos, node_labels1) # doctest: +IGNORE_RESULT - >>> for k, v in pos.items(): - ... pos[k] = (v[0], v[1] + 0.07) - ... - >>> nx.draw_networkx_labels(G, pos, node_labels2, font_color="r") # doctest: +IGNORE_RESULT - -The solution is shown in the following figure below. The edge labels denote the -edge capacity, cost and resulting flow: :math:`(B_{ij}, c_{ij}, x^*_{ij})`. -Edges with non-zero flow are highlighted in red. The demand for each vertex is -shown on top of the vertex in red. A negative demand indicates a supply vertex -whereas a positive demand indicates a consumer vertex. + >>> from gurobi_optimods.min_cost_flow import min_cost_flow_scipy + >>> G, capacities, cost, demands = datasets.load_min_cost_flow_scipy() + >>> obj, sol = min_cost_flow_scipy(G, capacities, cost, demands, silent=True) + >>> obj + 31.0 + >>> sol + <5x6 sparse matrix of type '' + with 5 stored elements in COOrdinate format> + >>> print(sol) + (0, 1) 1.0 + (0, 2) 1.0 + (1, 3) 1.0 + (2, 4) 2.0 + (4, 5) 2.0 + + The ``min_cost_flow_scipy`` function returns the cost of the solution as + well as a ``sp.sparray`` with the edges where the data is the amount of + flow in the solution. + +The solution for this example is shown in the following figure below. The edge +labels denote the edge capacity, cost and resulting flow: :math:`(B_{ij}, +c_{ij}, x^*_{ij})`. Edges with non-zero flow are highlighted in red. The demand +for each vertex is shown on top of the vertex in red. .. image:: figures/min-cost-flow-result.png :width: 600 :alt: Sample network. + +In all these cases, the model is solved as an LP by Gurobi. + +.. collapse:: View Gurobi Logs + + .. code-block:: text + + Solving min-cost flow with 6 nodes and 7 edges + Gurobi Optimizer version 10.0.1 build v10.0.1rc0 (mac64[arm]) + + CPU model: Apple M1 + Thread count: 8 physical cores, 8 logical processors, using up to 8 threads + + Optimize a model with 6 rows, 7 columns and 14 nonzeros + Model fingerprint: 0xc6fc382e + Coefficient statistics: + Matrix range [1e+00, 1e+00] + Objective range [1e+00, 1e+01] + Bounds range [1e+00, 2e+00] + RHS range [1e+00, 2e+00] + Presolve removed 4 rows and 4 columns + Presolve time: 0.00s + Presolved: 2 rows, 3 columns, 6 nonzeros + + Iteration Objective Primal Inf. Dual Inf. Time + 0 2.7994000e+01 1.002000e+00 0.000000e+00 0s + 1 3.1000000e+01 0.000000e+00 0.000000e+00 0s + + Solved in 1 iterations and 0.00 seconds (0.00 work units) + Optimal objective 3.100000000e+01 + +---- diff --git a/pyproject.toml b/pyproject.toml index 6b6f313d..966786c5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,6 @@ dependencies = [ "numpy", "pandas", "scipy", - "networkx", ] dynamic = ["version"] diff --git a/src/gurobi_optimods/data/graphs/edge_data1.csv b/src/gurobi_optimods/data/graphs/edge_data1.csv index 808d56fb..a5a9d3db 100644 --- a/src/gurobi_optimods/data/graphs/edge_data1.csv +++ b/src/gurobi_optimods/data/graphs/edge_data1.csv @@ -1,10 +1,8 @@ source,target,capacity,cost -0,1,15,4 -0,2,8,4 -1,3,4,2 -1,2,20,2 -1,4,10,6 -2,3,15,1 -2,4,5,3 -3,4,20,2 -4,2,4,3 +0,1,2,9 +0,2,2,7 +1,3,1,1 +2,3,1,10 +2,4,2,6 +3,5,2,1 +4,5,2,1 diff --git a/src/gurobi_optimods/data/graphs/edge_data2.csv b/src/gurobi_optimods/data/graphs/edge_data2.csv index a5a9d3db..808d56fb 100644 --- a/src/gurobi_optimods/data/graphs/edge_data2.csv +++ b/src/gurobi_optimods/data/graphs/edge_data2.csv @@ -1,8 +1,10 @@ source,target,capacity,cost -0,1,2,9 -0,2,2,7 -1,3,1,1 -2,3,1,10 -2,4,2,6 -3,5,2,1 -4,5,2,1 +0,1,15,4 +0,2,8,4 +1,3,4,2 +1,2,20,2 +1,4,10,6 +2,3,15,1 +2,4,5,3 +3,4,20,2 +4,2,4,3 diff --git a/src/gurobi_optimods/data/graphs/node_data1.csv b/src/gurobi_optimods/data/graphs/node_data1.csv index 03167233..50c90385 100644 --- a/src/gurobi_optimods/data/graphs/node_data1.csv +++ b/src/gurobi_optimods/data/graphs/node_data1.csv @@ -1,6 +1,7 @@ -,demand,original_label -0,-20,0 -1,0,1 -2,0,2 -3,5,3 -4,15,4 +,posx,posy,demand +0,0, 0,-2 +1,1, 0.5,0 +2,1, -0.5,-1 +3,2, 0.5,1 +4,2, -0.5,0 +5,3, 0,2 diff --git a/src/gurobi_optimods/data/graphs/node_data2.csv b/src/gurobi_optimods/data/graphs/node_data2.csv index d24c61e0..03167233 100644 --- a/src/gurobi_optimods/data/graphs/node_data2.csv +++ b/src/gurobi_optimods/data/graphs/node_data2.csv @@ -1,7 +1,6 @@ -,posx,posy,demand,original_label -0,0, 0,-2,s -1,1, 0.5,0,1 -2,1, -0.5,-1,2 -3,2, 0.5,1,3 -4,2, -0.5,0,4 -5,3, 0,2,t +,demand,original_label +0,-20,0 +1,0,1 +2,0,2 +3,5,3 +4,15,4 diff --git a/src/gurobi_optimods/datasets.py b/src/gurobi_optimods/datasets.py index 342298ec..f0b406ca 100644 --- a/src/gurobi_optimods/datasets.py +++ b/src/gurobi_optimods/datasets.py @@ -5,7 +5,15 @@ import pathlib +import numpy as np import pandas as pd +import scipy.sparse as sp + +try: + import networkx as nx +except ImportError: + nx = None + DATA_FILE_DIR = pathlib.Path(__file__).parent / "data" @@ -32,13 +40,60 @@ def load_workforce(): ) -def load_min_cost_flow(): - return ( - pd.read_csv(DATA_FILE_DIR / "graphs/edge_data1.csv").set_index( - ["source", "target"] - ), - pd.read_csv(DATA_FILE_DIR / "graphs/node_data1.csv", index_col=0), +def _convert_pandas_to_digraph(edge_data, node_data): + """ + Convert from a pandas DataFrame to a networkx.DiGraph with the appropriate + attributes. For edges: `capacity`, and `cost`. For nodes: `demand`. + """ + G = nx.from_pandas_edgelist( + edge_data.reset_index(), create_using=nx.DiGraph(), edge_attr=True ) + for i, d in node_data.iterrows(): + G.add_node(i, demand=d.demand) + return G + + +def _convert_pandas_to_scipy(edge_data, node_data): + """ + Convert from a pandas DataFrame to several scipy.sparse.coo_matrix contain + the graph structure, the capacity and cost values per edge, and the demand + values per node. + """ + coords = edge_data.index.to_numpy() + + a0 = np.array([c[0] for c in coords]) + a1 = np.array([c[1] for c in coords]) + + data = np.ones(len(coords), dtype=np.int64) + G = sp.coo_matrix((data, (a0, a1))) + + data = edge_data["capacity"].values + cap = sp.coo_matrix((data, (a0, a1))) + + data = edge_data["cost"].values + costs = sp.coo_matrix((data, (a0, a1))) + + return G, cap, costs, node_data["demand"].values + + +def load_min_cost_flow(drop_pos=True): + edge_data = pd.read_csv(DATA_FILE_DIR / "graphs/edge_data1.csv").set_index( + ["source", "target"] + ) + node_data = pd.read_csv(DATA_FILE_DIR / "graphs/node_data1.csv", index_col=0) + if drop_pos: + node_data.drop(columns=["posx", "posy"], inplace=True) + return edge_data, node_data + + +def load_min_cost_flow_networkx(): + edge_data, node_data = load_min_cost_flow() + return _convert_pandas_to_digraph(edge_data, node_data) + + +def load_min_cost_flow_scipy(): + edge_data, node_data = load_min_cost_flow() + return _convert_pandas_to_scipy(edge_data, node_data) def load_min_cost_flow2(): @@ -50,6 +105,16 @@ def load_min_cost_flow2(): ) +def load_min_cost_flow2_networkx(): + edge_data, node_data = load_min_cost_flow2() + return _convert_pandas_to_digraph(edge_data, node_data) + + +def load_min_cost_flow2_scipy(): + edge_data, node_data = load_min_cost_flow2() + return _convert_pandas_to_scipy(edge_data, node_data) + + def load_diet(): return AttrDict( categories=pd.read_csv(DATA_FILE_DIR / "diet-categories.csv"), diff --git a/src/gurobi_optimods/min_cost_flow.py b/src/gurobi_optimods/min_cost_flow.py index c6f30c9b..a49088ad 100644 --- a/src/gurobi_optimods/min_cost_flow.py +++ b/src/gurobi_optimods/min_cost_flow.py @@ -42,10 +42,14 @@ def min_cost_flow(arc_data: pd.DataFrame, demand_data: pd.DataFrame, *, create_e :type arc_data: :class:`pd.DataFrame` :param demand_data: DataFrame with node demand information. These must include indexed by `"node"`, and include the `"demand"`. This value can be positive (requesting flow) or negative (supplying flow). :type demand_data: :class:`pd.DataFrame` + :param silent: Optional. Boolean with whether output should be printed. + :type silent: :class:`bool` + :param logfile: Optional. String with file path with logger and Gurobi. + :type logfile: :class:`str` :return: Cost of the minimum cost flow. :rtype: :class:`float` :return: DataFrame with the flow for each edge. - :rtype: :class:`pd.DataFrame` + :rtype: :class:`pd.Series` """ # Perform conversion from pd to ndarray @@ -94,6 +98,10 @@ def min_cost_flow_scipy( :type costs: :class:`sp.sparray` :param demands: Array containing the demand for each node. :type demands: :class:`np.ndarray` + :param silent: Optional. Boolean with whether output should be printed. + :type silent: :class:`bool` + :param logfile: Optional. String with file path with logger and Gurobi. + :type logfile: :class:`str` :return: Cost of the minimum cost flow. :rtype: :class:`float` :return: Adjacency matrix with flow in the solution @@ -131,6 +139,10 @@ def min_cost_flow_networkx(G, *, create_env): :param G: Graph with edge attributes ``capacity`` and ``cost``, as well as node attributes ``demand``. :type G: :class:`nx.DiGraph` + :param silent: Optional. Boolean with whether output should be printed. + :type silent: :class:`bool` + :param logfile: Optional. String with file path with logger and Gurobi. + :type logfile: :class:`str` :return: Cost of the minimum cost flow. :rtype: :class:`float` :return: Dictionary indexed by edges with non-zero flow in the solution. diff --git a/tests/test_min_cost_flow.py b/tests/test_min_cost_flow.py index 666442de..187476e7 100644 --- a/tests/test_min_cost_flow.py +++ b/tests/test_min_cost_flow.py @@ -4,63 +4,56 @@ import pandas as pd import scipy.sparse as sp -from numpy.testing import assert_array_equal - try: import networkx as nx except ImportError: nx = None -from gurobi_optimods.datasets import load_min_cost_flow, load_min_cost_flow2 -from gurobi_optimods.min_cost_flow import ( - min_cost_flow, - min_cost_flow_networkx, - min_cost_flow_scipy, -) - - -def _convert_pandas_to_digraph(edge_data, node_data): - """ - Convert from a pandas DataFrame to a networkx.DiGraph with the appropriate - attributes. For edges: `capacity`, and `cost`. For nodes: `demand`. - """ - G = nx.from_pandas_edgelist( - edge_data.reset_index(), create_using=nx.DiGraph(), edge_attr=True - ) - for i, d in node_data.iterrows(): - G.add_node(i, demand=d.demand) - return G - - -def _convert_pandas_to_scipy(edge_data, node_data): - """ - Convert from a pandas DataFrame to several scipy.sparse.coo_matrix contain - the graph structure, the capacity and cost values per edge, and the demand - values per node. - """ - coords = edge_data.index.to_numpy() +from numpy.testing import assert_array_equal - a0 = np.array([c[0] for c in coords]) - a1 = np.array([c[1] for c in coords]) +import gurobi_optimods.datasets as datasets +import gurobi_optimods.min_cost_flow as mcf - data = np.ones(len(coords)) - G = sp.coo_matrix((data, (a0, a1))) - data = edge_data["capacity"].values - cap = sp.coo_matrix((data, (a0, a1))) +class TestMinCostFlow(unittest.TestCase): + def test_min_cost_flow(self): + edge_data, node_data = datasets.load_min_cost_flow() + cost, sol = mcf.min_cost_flow(edge_data, node_data) + self.assertEqual(cost, 31) + self.assertEqual(sol.tolist(), [1.0, 1.0, 1.0, 0.0, 2.0, 0.0, 2.0]) + self.assertEqual( + sol.index.tolist(), [(0, 1), (0, 2), (1, 3), (2, 3), (2, 4), (3, 5), (4, 5)] + ) - data = edge_data["cost"].values - costs = sp.coo_matrix((data, (a0, a1))) + def test_min_cost_flow_scipy(self): + G, cap, cost, demands = datasets.load_min_cost_flow_scipy() + cost, sol = mcf.min_cost_flow_scipy(G, cap, cost, demands) + self.assertEqual(cost, 31) + expected = np.array( + [ + [0.0, 1.0, 1.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 1.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 2.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], + [0.0, 0.0, 0.0, 0.0, 0.0, 2.0], + ] + ) + assert_array_equal(sol.toarray(), expected) - return G, cap, costs, node_data["demand"].values + @unittest.skipIf(nx is None, "networkx is not installed") + def test_min_cost_flow_networkx(self): + G = datasets.load_min_cost_flow_networkx() + cost, sol = mcf.min_cost_flow_networkx(G) + self.assertEqual(cost, 31) + self.assertEqual( + sol, {(0, 1): 1.0, (0, 2): 1.0, (1, 3): 1.0, (2, 4): 2.0, (4, 5): 2.0} + ) -class TestMinCostFlow(unittest.TestCase): - def setUp(self): - self.edge_data, self.node_data = load_min_cost_flow() - +class TestMinCostFlow2(unittest.TestCase): def test_min_cost_flow(self): - cost, sol = min_cost_flow(self.edge_data, self.node_data) + edge_data, node_data = datasets.load_min_cost_flow2() + cost, sol = mcf.min_cost_flow(edge_data, node_data) self.assertEqual(cost, 150) self.assertEqual(sol.tolist(), [12.0, 8.0, 4.0, 8.0, 0.0, 11.0, 5.0, 10.0, 0.0]) self.assertEqual( @@ -69,8 +62,8 @@ def test_min_cost_flow(self): ) def test_min_cost_flow_scipy(self): - G, cap, cost, demands = _convert_pandas_to_scipy(self.edge_data, self.node_data) - cost, sol = min_cost_flow_scipy(G, cap, cost, demands) + G, cap, cost, demands = datasets.load_min_cost_flow2_scipy() + cost, sol = mcf.min_cost_flow_scipy(G, cap, cost, demands) self.assertEqual(cost, 150) expected = np.array( [ @@ -85,8 +78,8 @@ def test_min_cost_flow_scipy(self): @unittest.skipIf(nx is None, "networkx is not installed") def test_min_cost_flow_networkx(self): - G = _convert_pandas_to_digraph(self.edge_data, self.node_data) - cost, sol = min_cost_flow_networkx(G) + G = datasets.load_min_cost_flow2_networkx() + cost, sol = mcf.min_cost_flow_networkx(G) self.assertEqual(cost, 150) self.assertEqual( sol, @@ -100,40 +93,3 @@ def test_min_cost_flow_networkx(self): (3, 4): 10.0, }, ) - - -class TestMinCostFlow2(unittest.TestCase): - def setUp(self): - self.edge_data, self.node_data = load_min_cost_flow2() - - def test_min_cost_flow(self): - cost, sol = min_cost_flow(self.edge_data, self.node_data) - self.assertEqual(cost, 31) - self.assertEqual(sol.tolist(), [1.0, 1.0, 1.0, 0.0, 2.0, 0.0, 2.0]) - self.assertEqual( - sol.index.tolist(), [(0, 1), (0, 2), (1, 3), (2, 3), (2, 4), (3, 5), (4, 5)] - ) - - def test_min_cost_flow_scipy(self): - G, cap, cost, demands = _convert_pandas_to_scipy(self.edge_data, self.node_data) - cost, sol = min_cost_flow_scipy(G, cap, cost, demands) - self.assertEqual(cost, 31) - expected = np.array( - [ - [0.0, 1.0, 1.0, 0.0, 0.0, 0.0], - [0.0, 0.0, 0.0, 1.0, 0.0, 0.0], - [0.0, 0.0, 0.0, 0.0, 2.0, 0.0], - [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], - [0.0, 0.0, 0.0, 0.0, 0.0, 2.0], - ] - ) - assert_array_equal(sol.toarray(), expected) - - @unittest.skipIf(nx is None, "networkx is not installed") - def test_min_cost_flow_networkx(self): - G = _convert_pandas_to_digraph(self.edge_data, self.node_data) - cost, sol = min_cost_flow_networkx(G) - self.assertEqual(cost, 31) - self.assertEqual( - sol, {(0, 1): 1.0, (0, 2): 1.0, (1, 3): 1.0, (2, 4): 2.0, (4, 5): 2.0} - ) From ead05a7c30df1d04f3d8398cfcb7d10103bbe057 Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Wed, 26 Apr 2023 22:36:06 +0100 Subject: [PATCH 08/12] Add sphinx-design to docs requirements --- docs/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/requirements.txt b/docs/requirements.txt index d1451927..91b46d74 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -12,3 +12,4 @@ sphinx-rtd-theme==1.1.1 sphinx-tabs==3.4.0 sphinx-toolbox==3.1.2 sphinxcontrib-bibtex==2.5.0 +sphinx-design==0.4.1 From 9cd17c017c9a2177bb6312c715e4352aae3e55e6 Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Thu, 27 Apr 2023 12:19:32 +0100 Subject: [PATCH 09/12] Polish up docs --- docs/source/mods/min-cost-flow.rst | 69 +++++++++++++++------------- src/gurobi_optimods/min_cost_flow.py | 4 -- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/docs/source/mods/min-cost-flow.rst b/docs/source/mods/min-cost-flow.rst index 87cb1053..15dad848 100644 --- a/docs/source/mods/min-cost-flow.rst +++ b/docs/source/mods/min-cost-flow.rst @@ -1,43 +1,37 @@ -Minimum Cost Flow +Minimum-Cost Flow ================= -Minimum cost flow problems are defined on a graph or network where the goal is -to send an amount of flow. Other graph problems can be modelled using this -framework (with suitable alterations). +Minimum-cost flow problems is are defined on a graph where the goal is to route +a certain amount of flow in the cheapest way. It is a fundamental flow problem +as many other graph problems can be modelled using this framework, for example, +the shortest-path or maximum flow problems. Problem Specification --------------------- - .. tabs:: .. tab:: Graph Theory For a given graph :math:`G` with set of vertices :math:`V` and edges - :math:`E`. For a given :math:`(i,j)\in E`, we have: + :math:`E`. Each edge :math:`(i,j)\in E` has the following attributes: - cost: :math:`c_{ij}\in \mathbb{R}`; - and capacity: :math:`B_{ij}\in\mathbb{R}`. Also, each vertex :math:`i\in V` has a demand :math:`d_i\in\mathbb{R}`. - The problem can be stated as finding a capacity feasible flow such that - the total cost is minimised and the demand at each vertex is met. - - .. tab:: Optimization Model - - For a given graph :math:`G` with set of vertices :math:`V` and edges - :math:`E`. For a given :math:`(i,j)\in E`, we have: + The problem can be stated as finding a the flow with minimal cost such + that: - - cost: :math:`c_{ij}\in \mathbb{R}`; - - and capacity: :math:`B_{ij}\in\mathbb{R}`. + - the flow is capacity feasible; + - and, the demand at each vertex is met. - Also, each vertex :math:`i\in V` has a demand :math:`d_i\in\mathbb{R}`. - A negative demand indicates a supply vertex whereas a positive demand - indicates a consumer vertex. + .. tab:: Optimization Model Let us define a set of continuous variables :math:`x_{ij}` to represent - the amount of flow going through an edge. + the amount of non-negative (:math:`\geq 0`) flow going through an edge + :math:`(i,j)\in E`. The mathematical formulation can be stated as follows: @@ -52,17 +46,19 @@ Problem Specification Where :math:`\delta^+(\cdot)` (:math:`\delta^-(\cdot)`) denotes the outgoing (incoming) neighours. -The input data for this mod includes interfaces for the following: - -* pandas; -* Networkx ; -* SciPy.sparse. - | Code and Inputs --------------- +For this mod, one can use input graphs of different types: + +* pandas: using a ``pd.DataFrame``; +* Networkx: using a ``nx.DiGraph`` or ``nx.Graph``; +* SciPy.sparse: using some ``sp.sparray`` matrices and NumPy's ``np.ndarray``. + +An example of these inputs with their respective requirements is shown below. + .. tab-set:: .. tab-item:: pandas @@ -93,7 +89,8 @@ Code and Inputs 5 2 The ``edge_data`` DataFrame is indexed by ``source`` and ``target`` - nodes contains columns labelled ``capacity`` and ``cost``. + nodes and contains columns labelled ``capacity`` and ``cost`` with the + edge attributes. The ``node_data`` DataFrame is indexed by node and contains columns labelled ``demand``. @@ -172,11 +169,17 @@ Code and Inputs >>> print(demands) [-2 0 -1 1 0 2] + Three separate sparse matrices including the adjacency matrix, edge + capacity and cost, and a single array with the demands per node. + | Solution -------- +Depending on the input of choice, the solution also comes with different +formats. + .. tab-set:: .. tab-item:: pandas @@ -222,8 +225,8 @@ Solution >>> sol {(0, 1): 1.0, (0, 2): 1.0, (1, 3): 1.0, (2, 4): 2.0, (4, 5): 2.0} - The ``min_cost_flow_networkx`` function returns the cost of the solution as well - as a dictionary with the non-zero flow per edge. + The ``min_cost_flow_networkx`` function returns the cost of the solution + as well as a dictionary indexed by edge with the non-zero flow. .. tab-item:: scipy.sparse :sync: sp @@ -249,12 +252,12 @@ Solution The ``min_cost_flow_scipy`` function returns the cost of the solution as well as a ``sp.sparray`` with the edges where the data is the amount of - flow in the solution. + non-zero flow in the solution. -The solution for this example is shown in the following figure below. The edge -labels denote the edge capacity, cost and resulting flow: :math:`(B_{ij}, -c_{ij}, x^*_{ij})`. Edges with non-zero flow are highlighted in red. The demand -for each vertex is shown on top of the vertex in red. +The solution for this example is shown in the figure below. The edge labels +denote the edge capacity, cost and resulting flow: :math:`(B_{ij}, c_{ij}, +x^*_{ij})`. Edges with non-zero flow are highlighted in red. Also the demand for +each vertex is shown on top of the vertex in red. .. image:: figures/min-cost-flow-result.png :width: 600 diff --git a/src/gurobi_optimods/min_cost_flow.py b/src/gurobi_optimods/min_cost_flow.py index a49088ad..01f551d7 100644 --- a/src/gurobi_optimods/min_cost_flow.py +++ b/src/gurobi_optimods/min_cost_flow.py @@ -52,7 +52,6 @@ def min_cost_flow(arc_data: pd.DataFrame, demand_data: pd.DataFrame, *, create_e :rtype: :class:`pd.Series` """ # Perform conversion from pd to ndarray - # Arcs and attributes arcs = arc_data.index.to_numpy() from_arc = np.array([a[0] for a in arcs], dtype="object") @@ -75,7 +74,6 @@ def min_cost_flow(arc_data: pd.DataFrame, demand_data: pd.DataFrame, *, create_e with create_env() as env: obj, flows = solve_min_cost_flow(env, from_arc, to_arc, capacity, cost, demands) - # Put solution in the original dataframe return obj, pd.Series(flows, index=arc_data.index) @@ -118,7 +116,6 @@ def min_cost_flow_scipy( costs = costs.tocoo() costs = costs.data - # Call solve_min_cost_flow using some data with create_env() as env: cost, flows = solve_min_cost_flow( env, from_arc, to_arc, capacities, costs, demands @@ -163,7 +160,6 @@ def min_cost_flow_networkx(G, *, create_env): if d: demands[i] = d["demand"] - # Call solve_min_cost_flow using some data with create_env() as env: obj, flows = solve_min_cost_flow(env, from_arc, to_arc, capacity, cost, demands) From 48714fd6190c8afe459d41d830a0ff8eea6a2a74 Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Thu, 27 Apr 2023 12:26:00 +0100 Subject: [PATCH 10/12] Remove unnecessary column in data. Move graph conversion functions --- .../data/graphs/node_data2.csv | 12 +++--- src/gurobi_optimods/datasets.py | 40 ++---------------- src/gurobi_optimods/network_util.py | 41 +++++++++++++++++++ 3 files changed, 51 insertions(+), 42 deletions(-) diff --git a/src/gurobi_optimods/data/graphs/node_data2.csv b/src/gurobi_optimods/data/graphs/node_data2.csv index 03167233..dea798e0 100644 --- a/src/gurobi_optimods/data/graphs/node_data2.csv +++ b/src/gurobi_optimods/data/graphs/node_data2.csv @@ -1,6 +1,6 @@ -,demand,original_label -0,-20,0 -1,0,1 -2,0,2 -3,5,3 -4,15,4 +,demand +0,-20 +1,0 +2,0 +3,5 +4,15 diff --git a/src/gurobi_optimods/datasets.py b/src/gurobi_optimods/datasets.py index f0b406ca..36788b6d 100644 --- a/src/gurobi_optimods/datasets.py +++ b/src/gurobi_optimods/datasets.py @@ -14,6 +14,10 @@ except ImportError: nx = None +from gurobi_optimods.network_util import ( + _convert_pandas_to_digraph, + _convert_pandas_to_scipy, +) DATA_FILE_DIR = pathlib.Path(__file__).parent / "data" @@ -40,42 +44,6 @@ def load_workforce(): ) -def _convert_pandas_to_digraph(edge_data, node_data): - """ - Convert from a pandas DataFrame to a networkx.DiGraph with the appropriate - attributes. For edges: `capacity`, and `cost`. For nodes: `demand`. - """ - G = nx.from_pandas_edgelist( - edge_data.reset_index(), create_using=nx.DiGraph(), edge_attr=True - ) - for i, d in node_data.iterrows(): - G.add_node(i, demand=d.demand) - return G - - -def _convert_pandas_to_scipy(edge_data, node_data): - """ - Convert from a pandas DataFrame to several scipy.sparse.coo_matrix contain - the graph structure, the capacity and cost values per edge, and the demand - values per node. - """ - coords = edge_data.index.to_numpy() - - a0 = np.array([c[0] for c in coords]) - a1 = np.array([c[1] for c in coords]) - - data = np.ones(len(coords), dtype=np.int64) - G = sp.coo_matrix((data, (a0, a1))) - - data = edge_data["capacity"].values - cap = sp.coo_matrix((data, (a0, a1))) - - data = edge_data["cost"].values - costs = sp.coo_matrix((data, (a0, a1))) - - return G, cap, costs, node_data["demand"].values - - def load_min_cost_flow(drop_pos=True): edge_data = pd.read_csv(DATA_FILE_DIR / "graphs/edge_data1.csv").set_index( ["source", "target"] diff --git a/src/gurobi_optimods/network_util.py b/src/gurobi_optimods/network_util.py index dcddb633..933bb2fd 100644 --- a/src/gurobi_optimods/network_util.py +++ b/src/gurobi_optimods/network_util.py @@ -5,9 +5,50 @@ import scipy.sparse as sp from gurobipy import GRB +try: + import networkx as nx +except ImportError: + nx = None + logger = logging.getLogger(__name__) +def _convert_pandas_to_digraph(edge_data, node_data): + """ + Convert from a pandas DataFrame to a networkx.DiGraph with the appropriate + attributes. For edges: `capacity`, and `cost`. For nodes: `demand`. + """ + G = nx.from_pandas_edgelist( + edge_data.reset_index(), create_using=nx.DiGraph(), edge_attr=True + ) + for i, d in node_data.iterrows(): + G.add_node(i, demand=d.demand) + return G + + +def _convert_pandas_to_scipy(edge_data, node_data): + """ + Convert from a pandas DataFrame to several scipy.sparse.coo_matrix contain + the graph structure, the capacity and cost values per edge, and the demand + values per node. + """ + coords = edge_data.index.to_numpy() + + a0 = np.array([c[0] for c in coords]) + a1 = np.array([c[1] for c in coords]) + + data = np.ones(len(coords), dtype=np.int64) + G = sp.coo_matrix((data, (a0, a1))) + + data = edge_data["capacity"].values + cap = sp.coo_matrix((data, (a0, a1))) + + data = edge_data["cost"].values + costs = sp.coo_matrix((data, (a0, a1))) + + return G, cap, costs, node_data["demand"].values + + def solve_min_cost_flow( env: gp.Env, edge_source: np.ndarray, From 8182100e496bfebda5336da3d840ae881d49d8dc Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Thu, 27 Apr 2023 19:07:46 +0100 Subject: [PATCH 11/12] Address reviewer comments --- docs/requirements.txt | 1 - docs/source/mods/min-cost-flow.rst | 396 ++++++++++++++------------- docs/source/mods/mwis.rst | 9 +- src/gurobi_optimods/min_cost_flow.py | 3 + tests/test_min_cost_flow.py | 7 + 5 files changed, 217 insertions(+), 199 deletions(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 91b46d74..d1451927 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -12,4 +12,3 @@ sphinx-rtd-theme==1.1.1 sphinx-tabs==3.4.0 sphinx-toolbox==3.1.2 sphinxcontrib-bibtex==2.5.0 -sphinx-design==0.4.1 diff --git a/docs/source/mods/min-cost-flow.rst b/docs/source/mods/min-cost-flow.rst index 15dad848..0ea25f33 100644 --- a/docs/source/mods/min-cost-flow.rst +++ b/docs/source/mods/min-cost-flow.rst @@ -1,10 +1,10 @@ Minimum-Cost Flow ================= -Minimum-cost flow problems is are defined on a graph where the goal is to route +Minimum-cost flow problems are defined on a graph where the goal is to route a certain amount of flow in the cheapest way. It is a fundamental flow problem as many other graph problems can be modelled using this framework, for example, -the shortest-path or maximum flow problems. +the shortest-path, maximum flow, or matching problems. Problem Specification --------------------- @@ -20,12 +20,14 @@ Problem Specification - and capacity: :math:`B_{ij}\in\mathbb{R}`. Also, each vertex :math:`i\in V` has a demand :math:`d_i\in\mathbb{R}`. + This value can be positive (requesting flow), negative (supplying + flow), or 0. - The problem can be stated as finding a the flow with minimal cost such - that: + The problem can be stated as finding a the flow with minimal total cost + such that: - - the flow is capacity feasible; - - and, the demand at each vertex is met. + - the demand at each vertex is met; + - and, the flow is capacity feasible. .. tab:: Optimization Model @@ -44,7 +46,22 @@ Problem Specification & 0 \leq x_{ij} \le B_{ij} & \forall (i, j) \in E \\ \end{alignat} - Where :math:`\delta^+(\cdot)` (:math:`\delta^-(\cdot)`) denotes the outgoing (incoming) neighours. + Where :math:`\delta^+(\cdot)` (:math:`\delta^-(\cdot)`) denotes the + outgoing (incoming) neighours. + + The objective minimises the total cost over all edges. + + The first constraints ensure flow balance for all vertices. That is, for + a given node, the incoming flow (sum over all incoming edges to this + node) minus the outgoing flow (sum over all outgoing edges from this + node) is equal to the demand. Clearly, in the case when the demand is 0, + the outgoing flow must be equal to the incoming flow. When the demand is + negative, this node can supply flow to the network (outgoing term is + larger), and conversely when the demand is negative, this node can + request flow from the network (incoming term is larger). + + The last constraints ensure non-negativity of the variables and that the + capacity per edge is not exceeded. | @@ -59,118 +76,114 @@ For this mod, one can use input graphs of different types: An example of these inputs with their respective requirements is shown below. -.. tab-set:: - - .. tab-item:: pandas - :sync: pd - - .. doctest:: load_min_cost_flow - :options: +NORMALIZE_WHITESPACE - - >>> from gurobi_optimods import datasets - >>> edge_data, node_data = datasets.load_min_cost_flow() - >>> edge_data - capacity cost - source target - 0 1 2 9 - 2 2 7 - 1 3 1 1 - 2 3 1 10 - 4 2 6 - 3 5 2 1 - 4 5 2 1 - >>> node_data - demand - 0 -2 - 1 0 - 2 -1 - 3 1 - 4 0 - 5 2 - - The ``edge_data`` DataFrame is indexed by ``source`` and ``target`` - nodes and contains columns labelled ``capacity`` and ``cost`` with the - edge attributes. - - The ``node_data`` DataFrame is indexed by node and contains columns - labelled ``demand``. - - We assume that nodes labels are integers. - - - .. tab-item:: Networkx - :sync: nx - - .. doctest:: load_min_cost_flow_networkx - :options: +NORMALIZE_WHITESPACE - - >>> from gurobi_optimods import datasets - >>> G = datasets.load_min_cost_flow_networkx() - >>> for e in G.edges(data=True): - ... print(e) - ... - (0, 1, {'capacity': 2, 'cost': 9}) - (0, 2, {'capacity': 2, 'cost': 7}) - (1, 3, {'capacity': 1, 'cost': 1}) - (2, 3, {'capacity': 1, 'cost': 10}) - (2, 4, {'capacity': 2, 'cost': 6}) - (3, 5, {'capacity': 2, 'cost': 1}) - (4, 5, {'capacity': 2, 'cost': 1}) - >>> for n in G.nodes(data=True): - ... print(n) - ... - (0, {'demand': -2}) - (1, {'demand': 0}) - (2, {'demand': -1}) - (3, {'demand': 1}) - (4, {'demand': 0}) - (5, {'demand': 2}) - - Edges have attributes ``capacity`` and ``cost`` and nodes have - attributes ``demand``. - - We assume that nodes labels are integers. - - .. tab-item:: scipy.sparse - :sync: sp - - .. doctest:: load_min_cost_flow_scipy - :options: +NORMALIZE_WHITESPACE - - >>> from gurobi_optimods import datasets - >>> G, capacities, cost, demands = datasets.load_min_cost_flow_scipy() - >>> G - <5x6 sparse matrix of type '' - with 7 stored elements in COOrdinate format> - >>> print(G) - (0, 1) 1 - (0, 2) 1 - (1, 3) 1 - (2, 3) 1 - (2, 4) 1 - (3, 5) 1 - (4, 5) 1 - >>> print(capacities) - (0, 1) 2 - (0, 2) 2 - (1, 3) 1 - (2, 3) 1 - (2, 4) 2 - (3, 5) 2 - (4, 5) 2 - >>> print(cost) - (0, 1) 9 - (0, 2) 7 - (1, 3) 1 - (2, 3) 10 - (2, 4) 6 - (3, 5) 1 - (4, 5) 1 - >>> print(demands) - [-2 0 -1 1 0 2] - - Three separate sparse matrices including the adjacency matrix, edge - capacity and cost, and a single array with the demands per node. +.. tabs:: + + .. group-tab:: pandas + + .. doctest:: load_min_cost_flow + :options: +NORMALIZE_WHITESPACE + + >>> from gurobi_optimods import datasets + >>> edge_data, node_data = datasets.load_min_cost_flow() + >>> edge_data + capacity cost + source target + 0 1 2 9 + 2 2 7 + 1 3 1 1 + 2 3 1 10 + 4 2 6 + 3 5 2 1 + 4 5 2 1 + >>> node_data + demand + 0 -2 + 1 0 + 2 -1 + 3 1 + 4 0 + 5 2 + + The ``edge_data`` DataFrame is indexed by ``source`` and ``target`` + nodes and contains columns labelled ``capacity`` and ``cost`` with the + edge attributes. + + The ``node_data`` DataFrame is indexed by node and contains columns + labelled ``demand``. + + We assume that nodes labels are integers from :math:`0,\dots,|V|-1`. + + .. group-tab:: Networkx + + .. doctest:: load_min_cost_flow_networkx + :options: +NORMALIZE_WHITESPACE + + >>> from gurobi_optimods import datasets + >>> G = datasets.load_min_cost_flow_networkx() + >>> for e in G.edges(data=True): + ... print(e) + ... + (0, 1, {'capacity': 2, 'cost': 9}) + (0, 2, {'capacity': 2, 'cost': 7}) + (1, 3, {'capacity': 1, 'cost': 1}) + (2, 3, {'capacity': 1, 'cost': 10}) + (2, 4, {'capacity': 2, 'cost': 6}) + (3, 5, {'capacity': 2, 'cost': 1}) + (4, 5, {'capacity': 2, 'cost': 1}) + >>> for n in G.nodes(data=True): + ... print(n) + ... + (0, {'demand': -2}) + (1, {'demand': 0}) + (2, {'demand': -1}) + (3, {'demand': 1}) + (4, {'demand': 0}) + (5, {'demand': 2}) + + Edges have attributes ``capacity`` and ``cost`` and nodes have + attributes ``demand``. + + We assume that nodes labels are integers from :math:`0,\dots,|V|-1`. + + .. group-tab:: scipy.sparse + + .. doctest:: load_min_cost_flow_scipy + :options: +NORMALIZE_WHITESPACE + + >>> from gurobi_optimods import datasets + >>> G, capacities, cost, demands = datasets.load_min_cost_flow_scipy() + >>> G + <5x6 sparse matrix of type '' + with 7 stored elements in COOrdinate format> + >>> print(G) + (0, 1) 1 + (0, 2) 1 + (1, 3) 1 + (2, 3) 1 + (2, 4) 1 + (3, 5) 1 + (4, 5) 1 + >>> print(capacities) + (0, 1) 2 + (0, 2) 2 + (1, 3) 1 + (2, 3) 1 + (2, 4) 2 + (3, 5) 2 + (4, 5) 2 + >>> print(cost) + (0, 1) 9 + (0, 2) 7 + (1, 3) 1 + (2, 3) 10 + (2, 4) 6 + (3, 5) 1 + (4, 5) 1 + >>> print(demands) + [-2 0 -1 1 0 2] + + Three separate sparse matrices including the adjacency matrix, edge + capacity and cost, and a single array with the demands per node. | @@ -180,79 +193,76 @@ Solution Depending on the input of choice, the solution also comes with different formats. -.. tab-set:: - - .. tab-item:: pandas - :sync: pd - - .. doctest:: min_cost_flow - :options: +NORMALIZE_WHITESPACE - - >>> from gurobi_optimods import datasets - >>> from gurobi_optimods.min_cost_flow import min_cost_flow - >>> edge_data, node_data = datasets.load_min_cost_flow() - >>> obj, sol = min_cost_flow(edge_data, node_data, silent=True) - >>> obj - 31.0 - >>> sol - source target - 0 1 1.0 - 2 1.0 - 1 3 1.0 - 2 3 0.0 - 4 2.0 - 3 5 0.0 - 4 5 2.0 - dtype: float64 - - The ``min_cost_flow`` function returns the cost of the solution as well - as ``pd.Series`` with the flow per edge. Similarly as the input - DataFrame the resulting series is indexed by ``source`` and ``target``. - - - .. tab-item:: Networkx - :sync: nx - - .. doctest:: min_cost_flow_networkx - :options: +NORMALIZE_WHITESPACE - - >>> from gurobi_optimods import datasets - >>> from gurobi_optimods.min_cost_flow import min_cost_flow_networkx - >>> G = datasets.load_min_cost_flow_networkx() - >>> obj, sol = min_cost_flow_networkx(G, silent=True) - >>> obj - 31.0 - >>> sol - {(0, 1): 1.0, (0, 2): 1.0, (1, 3): 1.0, (2, 4): 2.0, (4, 5): 2.0} - - The ``min_cost_flow_networkx`` function returns the cost of the solution - as well as a dictionary indexed by edge with the non-zero flow. - - .. tab-item:: scipy.sparse - :sync: sp - - .. doctest:: min_cost_flow_networkx - :options: +NORMALIZE_WHITESPACE - - >>> from gurobi_optimods import datasets - >>> from gurobi_optimods.min_cost_flow import min_cost_flow_scipy - >>> G, capacities, cost, demands = datasets.load_min_cost_flow_scipy() - >>> obj, sol = min_cost_flow_scipy(G, capacities, cost, demands, silent=True) - >>> obj - 31.0 - >>> sol - <5x6 sparse matrix of type '' - with 5 stored elements in COOrdinate format> - >>> print(sol) - (0, 1) 1.0 - (0, 2) 1.0 - (1, 3) 1.0 - (2, 4) 2.0 - (4, 5) 2.0 - - The ``min_cost_flow_scipy`` function returns the cost of the solution as - well as a ``sp.sparray`` with the edges where the data is the amount of - non-zero flow in the solution. +.. tabs:: + + .. group-tab:: pandas + + .. doctest:: min_cost_flow + :options: +NORMALIZE_WHITESPACE + + >>> from gurobi_optimods import datasets + >>> from gurobi_optimods.min_cost_flow import min_cost_flow + >>> edge_data, node_data = datasets.load_min_cost_flow() + >>> obj, sol = min_cost_flow(edge_data, node_data, silent=True) + >>> obj + 31.0 + >>> sol + source target + 0 1 1.0 + 2 1.0 + 1 3 1.0 + 2 3 0.0 + 4 2.0 + 3 5 0.0 + 4 5 2.0 + dtype: float64 + + The ``min_cost_flow`` function returns the cost of the solution as well + as ``pd.Series`` with the flow per edge. Similarly as the input + DataFrame the resulting series is indexed by ``source`` and ``target``. + + + .. group-tab:: Networkx + + .. doctest:: min_cost_flow_networkx + :options: +NORMALIZE_WHITESPACE + + >>> from gurobi_optimods import datasets + >>> from gurobi_optimods.min_cost_flow import min_cost_flow_networkx + >>> G = datasets.load_min_cost_flow_networkx() + >>> obj, sol = min_cost_flow_networkx(G, silent=True) + >>> obj + 31.0 + >>> sol + {(0, 1): 1.0, (0, 2): 1.0, (1, 3): 1.0, (2, 4): 2.0, (4, 5): 2.0} + + The ``min_cost_flow_networkx`` function returns the cost of the solution + as well as a dictionary indexed by edge with the non-zero flow. + + .. group-tab:: scipy.sparse + + .. doctest:: min_cost_flow_networkx + :options: +NORMALIZE_WHITESPACE + + >>> from gurobi_optimods import datasets + >>> from gurobi_optimods.min_cost_flow import min_cost_flow_scipy + >>> G, capacities, cost, demands = datasets.load_min_cost_flow_scipy() + >>> obj, sol = min_cost_flow_scipy(G, capacities, cost, demands, silent=True) + >>> obj + 31.0 + >>> sol + <5x6 sparse matrix of type '' + with 5 stored elements in COOrdinate format> + >>> print(sol) + (0, 1) 1.0 + (0, 2) 1.0 + (1, 3) 1.0 + (2, 4) 2.0 + (4, 5) 2.0 + + The ``min_cost_flow_scipy`` function returns the cost of the solution as + well as a ``sp.sparray`` with the edges where the data is the amount of + non-zero flow in the solution. The solution for this example is shown in the figure below. The edge labels denote the edge capacity, cost and resulting flow: :math:`(B_{ij}, c_{ij}, @@ -292,5 +302,3 @@ In all these cases, the model is solved as an LP by Gurobi. Solved in 1 iterations and 0.00 seconds (0.00 work units) Optimal objective 3.100000000e+01 - ----- diff --git a/docs/source/mods/mwis.rst b/docs/source/mods/mwis.rst index b404e7f6..2dbd537b 100644 --- a/docs/source/mods/mwis.rst +++ b/docs/source/mods/mwis.rst @@ -25,10 +25,11 @@ between two molecules. Problem Specification --------------------- -Consider an undirected graph G with n vertices and m edges where each vertex is -associated with a positive weight w. Find a maximum weighted independent set, i.e., -select a set of vertices in graph G where there is no edge between any pair of -vertices and the sum of the vertex weight is maximum. +Consider an undirected graph :math:`G` with :math:`n` vertices and :math:`m` +edges where each vertex is associated with a positive weight :math:`w`. Find a +maximum weighted independent set, i.e., select a set of vertices in graph +:math:`G` where there is no edge between any pair of vertices and the sum of the +vertex weight is maximum. .. tabs:: diff --git a/src/gurobi_optimods/min_cost_flow.py b/src/gurobi_optimods/min_cost_flow.py index 01f551d7..d8d78c08 100644 --- a/src/gurobi_optimods/min_cost_flow.py +++ b/src/gurobi_optimods/min_cost_flow.py @@ -61,11 +61,14 @@ def min_cost_flow(arc_data: pd.DataFrame, demand_data: pd.DataFrame, *, create_e # Nodes and attributes rep_nodes = np.concatenate((from_arc, to_arc), dtype="object") + # Get unique node labels in the order they appear in rep_nodes _, idx = np.unique(rep_nodes, return_index=True) nodes = rep_nodes[np.sort(idx)] + demand_nodes = demand_data.index.to_numpy() _demands = demand_data["demand"].to_numpy() demands = np.zeros(nodes.shape, dtype=object) + # Assign demand in the same order as the nodes array demand_nodes_indeces = np.where(np.isin(nodes, demand_nodes, assume_unique=True))[0] for i, n in enumerate(demand_nodes_indeces): demands[n] = _demands[i] diff --git a/tests/test_min_cost_flow.py b/tests/test_min_cost_flow.py index 187476e7..b292a94d 100644 --- a/tests/test_min_cost_flow.py +++ b/tests/test_min_cost_flow.py @@ -25,6 +25,13 @@ def test_min_cost_flow(self): sol.index.tolist(), [(0, 1), (0, 2), (1, 3), (2, 3), (2, 4), (3, 5), (4, 5)] ) + def test_min_cost_flow_infeasible(self): + edge_data, node_data = datasets.load_min_cost_flow() + # Add a node requesting more flow than is available. + node_data["demand"].values[-1] = 10.0 + with self.assertRaisesRegex(ValueError, "Unsatisfiable flows"): + obj, sol = mcf.min_cost_flow(edge_data, node_data) + def test_min_cost_flow_scipy(self): G, cap, cost, demands = datasets.load_min_cost_flow_scipy() cost, sol = mcf.min_cost_flow_scipy(G, cap, cost, demands) From 529f6f3f78944841e2840e0063ab66d2cc8384f8 Mon Sep 17 00:00:00 2001 From: torressa <23246013+torressa@users.noreply.github.com> Date: Thu, 27 Apr 2023 19:12:22 +0100 Subject: [PATCH 12/12] Remove sphinx-design --- docs/source/conf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 234c4391..7dd87478 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -24,7 +24,6 @@ "sphinx.ext.duration", "sphinx.ext.intersphinx", "sphinxcontrib.bibtex", - "sphinx_design", ] pygments_style = "vs"

_>z>AF5JU6Jz%gCgR#1id~*rUKe5v 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