Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
net_apps.H File Reference

Network flow applications. More...

#include <vector>
#include <string>
#include <functional>
#include <tpl_net.H>
#include <tpl_maxflow.H>
#include <tpl_netcost.H>
#include <tpl_dynSetTree.H>
#include <tpl_dynListQueue.H>
Include dependency graph for net_apps.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Aleph::CirculationResult< Flow_Type >
 Result of a circulation problem. More...
 
struct  Aleph::Project< Value_Type >
 Project with profit and dependencies. More...
 
struct  Aleph::ProjectSelectionResult< Value_Type >
 Result of project selection. More...
 
struct  Aleph::Team
 Team information for baseball elimination. More...
 
struct  Aleph::BaseballEliminationResult
 Result of baseball elimination check. More...
 
struct  Aleph::SegmentationResult
 Result of binary image segmentation. More...
 
struct  Aleph::SurveyQuestion
 Survey question with constraints. More...
 
struct  Aleph::SurveyRespondent
 Survey respondent with constraints. More...
 
struct  Aleph::SurveyDesignResult
 Result of survey design. More...
 

Namespaces

namespace  Aleph
 Main namespace for Aleph-w library functions.
 

Functions

template<class Net , class GetDemand , class GetLower , template< class > class Maxflow = Dinic_Maximum_Flow>
CirculationResult< typename Net::Flow_TypeAleph::solve_circulation (Net &net, GetDemand get_demand, GetLower get_lower)
 Solve a circulation problem with demands.
 
template<typename Value_Type >
ProjectSelectionResult< Value_Type > Aleph::solve_project_selection (const std::vector< Project< Value_Type > > &projects)
 Solve project selection problem using max-flow.
 
BaseballEliminationResult Aleph::check_baseball_elimination (const std::vector< Team > &teams, size_t team_idx)
 Check if a team is mathematically eliminated from winning.
 
template<typename Value_Type >
SegmentationResult Aleph::segment_image (size_t rows, size_t cols, const std::vector< std::vector< std::array< Value_Type, 2 > > > &data_cost, Value_Type smoothness)
 Segment image using graph cuts.
 
SurveyDesignResult Aleph::design_survey (const std::vector< SurveyQuestion > &questions, const std::vector< SurveyRespondent > &respondents)
 Design survey assignment using network flow.
 

Detailed Description

Network flow applications.

This file provides solutions to classic problems that can be modeled and solved using network flow algorithms.

Problems Included

Circulation with Demands

Find feasible flow satisfying node supplies/demands and edge lower bounds.

Project Selection

Select projects to maximize profit given dependencies (max-flow min-cut).

Baseball Elimination

Determine if a team can still win the championship.

Image Segmentation

Binary image segmentation using graph cuts.

Survey Design

Assign respondents to questions respecting constraints.

See also
tpl_net.H Network flow structures
tpl_maxflow.H Maximum flow algorithms
tpl_mincost.H Minimum cost flow
Author
Leandro Rabindranath León

Definition in file net_apps.H.