45#include <lal/linear_arrangement.hpp>
46#include <lal/graphs/free_tree.hpp>
47#include <lal/graphs/rooted_tree.hpp>
48#include <lal/properties/bipartite_graph_coloring.hpp>
49#include <lal/properties/branchless_path.hpp>
75[[nodiscard]] std::pair<uint64_t, std::vector<linear_arrangement>>
79 const std::vector<std::vector<node>>& orbits,
81 const std::vector<properties::branchless_path>& bps,
82 const std::size_t num_threads = 1
107 const graphs::free_tree& t,
108 const std::vector<std::vector<
node>>& orbits,
109 const std::vector<properties::branchless_path>& bps,
110 const std::
size_t num_threads = 1
135 const graphs::free_tree& t,
136 const properties::bipartite_graph_coloring& c,
137 const std::vector<properties::branchless_path>& bps,
138 const std::
size_t num_threads = 1
163 const graphs::free_tree& t,
164 const std::vector<std::vector<
node>>& orbits,
165 const properties::bipartite_graph_coloring& c,
166 const std::
size_t num_threads = 1
190 const graphs::free_tree& t,
191 const std::vector<properties::branchless_path>& bps,
192 const std::
size_t num_threads = 1
216 const graphs::free_tree& t,
217 const properties::bipartite_graph_coloring& c,
218 const std::
size_t num_threads = 1
242 const graphs::free_tree& t,
243 const std::vector<std::vector<
node>>& orbits,
244 const std::
size_t num_threads = 1
266(const graphs::free_tree& t, const std::
size_t num_threads = 1)
288 const graphs::free_tree& t,
289 const properties::bipartite_graph_coloring& c,
290 const std::vector<properties::branchless_path>& bps
309(const graphs::free_tree& t, const std::vector<properties::branchless_path>& bps)
326(const graphs::free_tree& t, const properties::bipartite_graph_coloring& c)
343(const graphs::free_tree& t)
361(const graphs::free_tree& t, const std::vector<properties::branchless_path>& bps)
378(const graphs::free_tree& t)
398(const graphs::undirected_graph& g, const properties::bipartite_graph_coloring& c)
414(const graphs::undirected_graph& g)
434(const graphs::directed_graph& g, const properties::bipartite_graph_coloring& c)
453(const graphs::directed_graph& g)
476(const graphs::free_tree& t)
499(const graphs::rooted_tree& t)
545[[nodiscard]]
inline std::pair<std::vector<uint64_t>,
node>
570[[nodiscard]] std::pair<uint64_t, linear_arrangement>
Free tree graph class.
Definition free_tree.hpp:60
Rooted tree graph class.
Definition rooted_tree.hpp:109
Linear arrangement of vertices.
Definition linear_arrangement.hpp:103
A class to represent a coloring of the vertices of a bipartite graph.
Definition bipartite_graph_coloring.hpp:60
std::pair< uint64_t, linear_arrangement > max_sum_edge_lengths_projective(const graphs::rooted_tree &t) noexcept
Computes the maximum value of in rooted trees under the projectivity constraint.
std::pair< uint64_t, linear_arrangement > max_sum_edge_lengths_bipartite(const graphs::undirected_graph &g, const properties::bipartite_graph_coloring &c) noexcept
Calculates the solution to Bipartite MaxLA as defined in Alemany2024a.
std::pair< std::vector< uint64_t >, node > max_sum_edge_lengths_projective_roots(const graphs::free_tree &t) noexcept
Computes the maximum value of in trees under the projectivity constraint at every vertex of the tree...
std::pair< uint64_t, std::vector< linear_arrangement > > max_sum_edge_lengths_all(const graphs::free_tree &t, const std::vector< std::vector< node > > &orbits, const properties::bipartite_graph_coloring &c, const std::vector< properties::branchless_path > &bps, const std::size_t num_threads=1) noexcept
Calculates all the linear arrangements that yield the maximum sum of edge lengths.
std::pair< uint64_t, linear_arrangement > max_sum_edge_lengths_1_eq_thistle(const graphs::free_tree &t, const std::vector< properties::branchless_path > &bps) noexcept
Calculates the solution to -thistle MaxLA.
std::pair< uint64_t, linear_arrangement > max_sum_edge_lengths_1_le_thistle(const graphs::free_tree &t, const properties::bipartite_graph_coloring &c, const std::vector< properties::branchless_path > &bps) noexcept
Calculates the solution to -thistle MaxLA.
std::pair< uint64_t, linear_arrangement > max_sum_edge_lengths_planar(const graphs::free_tree &t) noexcept
Computes the maximum value of in trees under the planarity constraint.
Main namespace of the library.
Definition basic_types.hpp:48
uint64_t node
Node type. See Node / Vertex page for further details.
Definition basic_types.hpp:51