Skip to content

Commit 4cdc67c

Browse files
Updated references
1 parent baa8990 commit 4cdc67c

File tree

5 files changed

+21
-7
lines changed

5 files changed

+21
-7
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ if mfd_solver.is_solved():
8383

8484
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.
8585

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).
8787

8888
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).
8989

docs/k-least-absolute-errors-cycles.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ $$
2727

2828
This class implements a more general version, as follows:
2929

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.
3131
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).
3232
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'$),
3333
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.

docs/k-min-path-error-cycles.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ This class implements a more general version, as follows:
5858
[**Accurate Flow Decomposition via Robust Integer Linear Programming**](https://doi.org/10.1109/TCBB.2024.3433523)
5959
IEEE/ACM Transactions on Computational Biology and Bioinformatics 21(6), 1955-1964, 2024 [(preprint)](https://researchportal.helsinki.fi/files/325850154/TCBB3433523.pdf)
6060

61+
2. Francisco Sena, Alexandru I. Tomescu
62+
[**Fast and Flexible Flow Decompositions in General Graphs via Dominators**](https://arxiv.org/abs/2511.19153), arXiv, 2025
63+
6164
::: flowpaths.kminpatherrorcycles
6265
options:
6366
filters:

docs/minimum-flow-decomposition-cycles.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ flowchart LR
9595

9696
## 2. Solving the problem
9797

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.
9999

100100
``` python
101101
import flowpaths as fp
@@ -146,6 +146,9 @@ There are several works on this problem, for example.
146146

147147
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
148148

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+
149152
3. See also flowpaths [References](references.md), and the other papers cited by these works.
150153

151154
::: flowpaths.minflowdecompcycles

docs/references.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,18 @@ The (M)ILPs for flow decomposition-like problems at the core of this package app
44

55
1. Fernando H. C. Dias, Lucia Williams, Brendan Mumey, Alexandru I. Tomescu,
66
[**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)
88

99
2. Fernando H.C. Dias, Lucia Williams, Brendan Mumey, Alexandru I. Tomescu,
1010
[**Efficient Minimum Flow Decomposition via Integer Linear Programming**](https://doi.org/10.1089/cmb.2022.0257),
1111
Journal of Computational Biology 29(11), 1--16, 2022
1212

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+
1419

1520
The flow decomposition with subpath constraints problem was formalized in:
1621

@@ -25,7 +30,10 @@ The safety optimizations applied to all the path-/walk-finding models appeared i
2530
SEA 2024 - 22nd International Symposium on Experimental Algorithms, Leibniz International Proceedings in Informatics (LIPIcs) 301, 14:1--14:19, 2024
2631

2732
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
3038

3139
See the page of each decomposition model for some references to papers introducing them.

0 commit comments

Comments
 (0)