|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Complete bipartite network generator. More...
#include <random_network_generator.H>
Public Member Functions | |
| BipartiteNetworkGenerator (const NetworkGeneratorConfig &cfg, size_t left=5, size_t right=5) | |
| void | generate (Net &net) override |
Public Member Functions inherited from Aleph::Testing::RandomNetworkGenerator< Net > | |
| RandomNetworkGenerator (const NetworkGeneratorConfig &cfg) | |
| virtual | ~RandomNetworkGenerator ()=default |
| void | reseed () |
| Reset the random number generator to the original seed. | |
| void | reseed (unsigned new_seed) |
| Reset with a specific seed (also updates config.seed) | |
Private Types | |
| using | Base = RandomNetworkGenerator< Net > |
| using | Node = typename Net::Node |
Private Member Functions | |
| void | insert_arc (Net &net, Node *src, Node *tgt) |
Private Attributes | |
| size_t | left_size |
| size_t | right_size |
| NetworkGeneratorConfig | config |
Additional Inherited Members | |
Protected Types inherited from Aleph::Testing::RandomNetworkGenerator< Net > | |
| using | Node = typename Net::Node |
| using | Arc = typename Net::Arc |
Protected Member Functions inherited from Aleph::Testing::RandomNetworkGenerator< Net > | |
| double | random_capacity () |
| double | random_cost () |
| double | random_prob () |
| bool | is_connected (const Net &net, Node *source, Node *sink) |
| void | ensure_path (Net &net, Node *source, Node *sink, const std::vector< Node * > &nodes) |
| void | insert_arc (Net &net, Node *src, Node *tgt) |
Protected Attributes inherited from Aleph::Testing::RandomNetworkGenerator< Net > | |
| NetworkGeneratorConfig | config |
| std::mt19937 | rng |
| std::uniform_real_distribution< double > | capacity_dist |
| std::uniform_real_distribution< double > | cost_dist |
| std::uniform_real_distribution< double > | prob_dist {0.0, 1.0} |
Complete bipartite network generator.
Generates K_{m,n} with source connected to left side and right side connected to sink. Good for testing matching algorithms.
Definition at line 406 of file random_network_generator.H.
|
private |
Definition at line 408 of file random_network_generator.H.
Definition at line 90 of file random_network_generator.H.
|
inline |
Definition at line 417 of file random_network_generator.H.
References Aleph::Testing::BipartiteNetworkGenerator< Net >::config, and Aleph::Testing::NetworkGeneratorConfig::num_nodes.
|
inlineoverridevirtual |
Implements Aleph::Testing::RandomNetworkGenerator< Net >.
Definition at line 425 of file random_network_generator.H.
References Aleph::Testing::BipartiteNetworkGenerator< Net >::insert_arc(), Aleph::Net_Graph< NodeT, ArcT >::insert_node(), Aleph::Testing::BipartiteNetworkGenerator< Net >::left_size, Aleph::maps(), and Aleph::Testing::BipartiteNetworkGenerator< Net >::right_size.
|
inlineprivate |
Definition at line 195 of file random_network_generator.H.
Referenced by Aleph::Testing::BipartiteNetworkGenerator< Net >::generate().
|
private |
Definition at line 87 of file random_network_generator.H.
Referenced by Aleph::Testing::BipartiteNetworkGenerator< Net >::BipartiteNetworkGenerator().
|
private |
Definition at line 413 of file random_network_generator.H.
Referenced by Aleph::Testing::BipartiteNetworkGenerator< Net >::generate().
|
private |
Definition at line 414 of file random_network_generator.H.
Referenced by Aleph::Testing::BipartiteNetworkGenerator< Net >::generate().