You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -83,7 +83,7 @@ if mfd_solver.is_solved():
83
83
84
84
You can inherit from these classes to add weights and model-specific constraints/objectives. See [a basic example](examples/inexact_flow_solver.py). These abstract classes interface with a wrapper for popular MILP solvers, so you don't need to worry about solver-specific details.
85
85
86
-
4.**Fast**: Having solvers implemented using `AbstractPathModelDAG` or `AbstractWalkModelDiGraph` means that any optimization to the path-/walk-finding mechanisms benefits **all** solvers that inherit from these classes. We implement some "safety optimizations" described in [this paper](https://doi.org/10.4230/LIPIcs.ESA.2025.55), based on ideas first introduced in [this paper](https://doi.org/10.4230/LIPIcs.SEA.2024.14), which can provide up to **1000x speedups**, depending on the graph instance, while preserving global optimality (under some simple assumptions).
86
+
4.**Fast**: Having solvers implemented using `AbstractPathModelDAG` or `AbstractWalkModelDiGraph` means that any optimization to the path-/walk-finding mechanisms benefits **all** solvers that inherit from these classes. We implement some "safety optimizations" described in [this paper](https://doi.org/10.4230/LIPIcs.ESA.2025.55) (for DAGs) and [this paper](http://arxiv.org/abs/2511.19153) (for general graphs), based on ideas first introduced in [this paper](https://doi.org/10.4230/LIPIcs.SEA.2024.14). These can provide up to **1000x speedups**, depending on the graph instance, while preserving global optimality (under some simple assumptions).
87
87
88
88
5.**Flexible inputs**: The models support graphs with flows/weights on either edges or nodes, and additional real use-case input features, such as [subpathconstraints](https://algbio.github.io/flowpaths/subpath-constraints.html) or [subset constraints](https://algbio.github.io/flowpaths/subset-constraints.html).
Copy file name to clipboardExpand all lines: docs/k-least-absolute-errors-cycles.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ $$
27
27
28
28
This class implements a more general version, as follows:
29
29
30
-
1. This class supports adding subpath constraints, that is, lists of edges that must appear in some solution path. See [Subpath constraints](subpath-constraints.md) for details.
30
+
1. This class supports adding subset constraints, that is, lists of edges that must appear in some solution path. See [Subset constraints](subset-constraints.md) for details.
31
31
2. The paths can start/end not only in source/sink nodes, but also in given sets of start/end nodes (set parameters `additional_starts` and `additional_ends`). See also [Additional start/end nodes](additional-start-end-nodes.md).
32
32
3. The above summation can happen only over a given subset $E' \subseteq E$ of the edges (set parameter `elements_to_ignore` to be $E \setminus E'$),
33
33
4. The error (i.e. the above absolute of the difference) of every edge can contribute differently to the objective function, according to a scale factor $\in [0,1]$. Set these via a dictionary that you pass to `error_scaling`, which stores the scale factor $\lambda_{(u,v)} \in [0,1]$ of each edge $(u,v)$ in the dictionary. Setting $\lambda_{(u,v)} = 0$ is equivalent to adding the edge $(u,v)$ to `elements_to_ignore`; the latter option is more efficient, as it results in a smaller model.
Copy file name to clipboardExpand all lines: docs/minimum-flow-decomposition-cycles.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -95,7 +95,7 @@ flowchart LR
95
95
96
96
## 2. Solving the problem
97
97
98
-
We create the graph as a [networkx DiGraph](https://networkx.org/documentation/stable/reference/classes/digraph.html). In real project, you will likely have a method that transforms your graph to a DiGraph. We also give an attribute `flow` for every edge storing its flow value.
98
+
We create the graph as a [networkx DiGraph](https://networkx.org/documentation/stable/reference/classes/digraph.html). In a real project, you will likely have a method that transforms your graph to a networkx DiGraph. We also give an attribute `flow` for every edge storing its flow value.
99
99
100
100
```python
101
101
import flowpaths as fp
@@ -146,6 +146,9 @@ There are several works on this problem, for example.
146
146
147
147
2. Fernando H. C. Dias, Lucia Williams, Brendan Mumey, Alexandru I. Tomescu [**Minimum Flow Decomposition in Graphs with Cycles using Integer Linear Programming**](https://arxiv.org/abs/2209.00042), arXiv, 2022
148
148
149
+
2. Francisco Sena, Alexandru I. Tomescu
150
+
[**Fast and Flexible Flow Decompositions in General Graphs via Dominators**](https://arxiv.org/abs/2511.19153), arXiv, 2025
151
+
149
152
3. See also flowpaths [References](references.md), and the other papers cited by these works.
Copy file name to clipboardExpand all lines: docs/references.md
+12-4Lines changed: 12 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,18 @@ The (M)ILPs for flow decomposition-like problems at the core of this package app
4
4
5
5
1. Fernando H. C. Dias, Lucia Williams, Brendan Mumey, Alexandru I. Tomescu,
6
6
[**Fast, Flexible, and Exact Minimum Flow Decompositions via ILP**](https://doi.org/10.1007/978-3-031-04749-7_14),
7
-
RECOMB 2022 - 26th Annual International Conference on Research in Computational Molecular Biology, Lecture Notes in Computer Science 13278, 230--245, 2022 [(preprint)](https://arxiv.org/abs/2201.10923)
7
+
RECOMB 2022 - 26th Annual International Conference on Research in Computational Molecular Biology, Lecture Notes in Computer Science 13278, 230--245, 2022 [**(preprint)**](https://arxiv.org/abs/2201.10923)
8
8
9
9
2. Fernando H.C. Dias, Lucia Williams, Brendan Mumey, Alexandru I. Tomescu,
10
10
[**Efficient Minimum Flow Decomposition via Integer Linear Programming**](https://doi.org/10.1089/cmb.2022.0257),
11
11
Journal of Computational Biology 29(11), 1--16, 2022
12
12
13
-
3. Fernando H. C. Dias, Lucia Williams, Brendan Mumey, Alexandru I. Tomescu [**Minimum Flow Decomposition in Graphs with Cycles using Integer Linear Programming**](https://arxiv.org/abs/2209.00042), arXiv, 2022
13
+
3. Fernando H. C. Dias, Lucia Williams, Brendan Mumey, Alexandru I. Tomescu [**Minimum Flow Decomposition in Graphs with Cycles using Integer Linear Programming**](https://doi.org/10.1007/s10898-025-01556-8), Journal of Global Optimization, 2025
14
+
15
+
4. Fernando H. C. Dias, Alexandru I. Tomescu
16
+
[**Accurate Flow Decomposition via Robust Integer Linear Programming**](https://doi.org/10.1109/TCBB.2024.3433523)
17
+
IEEE/ACM Transactions on Computational Biology and Bioinformatics 21(6), 1955-1964, 2024 [**(preprint)**](https://researchportal.helsinki.fi/files/325850154/TCBB3433523.pdf)
18
+
14
19
15
20
The flow decomposition with subpath constraints problem was formalized in:
16
21
@@ -25,7 +30,10 @@ The safety optimizations applied to all the path-/walk-finding models appeared i
25
30
SEA 2024 - 22nd International Symposium on Experimental Algorithms, Leibniz International Proceedings in Informatics (LIPIcs) 301, 14:1--14:19, 2024
26
31
27
32
2. Francisco Sena, Alexandru I. Tomescu
28
-
[**Safe Paths and Sequences for Scalable ILPs in RNA Transcript Assembly Problems**](https://arxiv.org/abs/2411.03871)
29
-
arXiv, 2024
33
+
Francisco Sena, Romeo Rizzi, Alexandru I. Tomescu
34
+
[**Safe Sequences via Dominators in DAGs for Path-Covering Problems**](https://doi.org/10.4230/LIPIcs.ESA.2025.55), ESA 2025 - 33rd Annual European Symposium on Algorithms (Track B), 55:1--55:17, 2025
35
+
36
+
3. Francisco Sena, Alexandru I. Tomescu
37
+
[**Fast and Flexible Flow Decompositions in General Graphs via Dominators**](https://arxiv.org/abs/2511.19153), arXiv, 2025
30
38
31
39
See the page of each decomposition model for some references to papers introducing them.
0 commit comments