Skip to content
forked from eigenpi/CS2-CPP

Minimum-cost maximum-flow. This is a "ported to C++" version of the famous scaling push-relabel CS2 mcmf algorithm of A.V. Goldberg [1]. This C++ implementation is developed from the original C code. [1] A.V. Goldberg, "An Efficient Implementation of a Scaling Minimum-Cost Flow Algorithm," J. Algorithms, vol. 22, pp. 1-29, 1997.

Notifications You must be signed in to change notification settings

hanhaonwu/CS2-CPP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Cristinel Ababei
January 2009, Fargo ND
[email protected]


SUMMARY
=======

This is a C++ implementation of CS2 min-cost-max-flow scaling algorithm. 

This is intended to be one of the cleanest and simplest to use minimum-cost 
max-flow (MCMF) implementation using C++.  If you have a C++ application in 
which you need to use a MCMF algo, then this may be your most elegant bet.
See main() function for an example of how to use it.

I compiled it on Linux Fedora, using g++.  If you have any  question please 
contact Cristinel.


CREDITS
=======

This is an adapted (i.e., ported to C++) version of the faimous CS2 algo;
CS2 is the second version of scaling algorithm for minimum-cost max-flow 
problems.  For a detailed description of this famous algo, see:
A.V. Goldberg, "An Efficient Implementation of a Scaling Minimum-Cost 
Flow Algorithm", Journal of Algorithms, vol. 22, pp. 1-29, 1997.

CS2 was developed by Andrew Goldberg ([email protected]) and
Boris Cherkassky ([email protected]).

The original C version is located in cs2-4.3/


COPYRIGHT
=========

The program is available on "as is" basis.  It is not guaranteed to
be free of bugs, and the author assumes no responsibility for any
potential problems.
The original copyright notice of the C version applies to this C++
version as well.


ACADEMIA
========

If you use this C++ version in any research project and want to 
include references to it, then please use:

[1] Cristinel Ababei, C++ Implementation of Goldberg's CS2 Scaling 
    Minimum-Cost Flow Algorithm, 2009, [Online], Available: 
    http://www.ece.ndsu.nodak.edu/~cris/software.html

[2] A.V. Goldberg, An Efficient Implementation of a Scaling 
    Minimum-Cost Flow Algorithm, Journal of Algorithms, Vol. 22, 
    pp. 1-29, 1997.


FINAL NOTE
==========

If you'll ever hit it big (to be read: make a lot of money :-) ),
and this code helped you in any way, then please consider 
donating some to support my research (I need it :-) ).

About

Minimum-cost maximum-flow. This is a "ported to C++" version of the famous scaling push-relabel CS2 mcmf algorithm of A.V. Goldberg [1]. This C++ implementation is developed from the original C code. [1] A.V. Goldberg, "An Efficient Implementation of a Scaling Minimum-Cost Flow Algorithm," J. Algorithms, vol. 22, pp. 1-29, 1997.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.8%
  • Makefile 1.2%