0
6
0
34
21
15
9
31
60
| ... | ... |
@@ -318,3 +318,4 @@ |
| 318 | 318 |
This group contains the common graph search algorithms, namely |
| 319 |
\e breadth-first \e search (BFS) and \e depth-first \e search (DFS) |
|
| 319 |
\e breadth-first \e search (BFS) and \e depth-first \e search (DFS) |
|
| 320 |
\ref clrs01algorithms. |
|
| 320 | 321 |
*/ |
| ... | ... |
@@ -326,3 +327,4 @@ |
| 326 | 327 |
|
| 327 |
This group contains the algorithms for finding shortest paths in digraphs |
|
| 328 |
This group contains the algorithms for finding shortest paths in digraphs |
|
| 329 |
\ref clrs01algorithms. |
|
| 328 | 330 |
|
| ... | ... |
@@ -348,3 +350,3 @@ |
| 348 | 350 |
This group contains the algorithms for finding minimum cost spanning |
| 349 |
trees and arborescences. |
|
| 351 |
trees and arborescences \ref clrs01algorithms. |
|
| 350 | 352 |
*/ |
| ... | ... |
@@ -357,3 +359,3 @@ |
| 357 | 359 |
This group contains the algorithms for finding maximum flows and |
| 358 |
feasible circulations. |
|
| 360 |
feasible circulations \ref clrs01algorithms, \ref amo93networkflows. |
|
| 359 | 361 |
|
| ... | ... |
@@ -372,8 +374,12 @@ |
| 372 | 374 |
LEMON contains several algorithms for solving maximum flow problems: |
| 373 |
- \ref EdmondsKarp Edmonds-Karp algorithm. |
|
| 374 |
- \ref Preflow Goldberg-Tarjan's preflow push-relabel algorithm. |
|
| 375 |
- \ref DinitzSleatorTarjan Dinitz's blocking flow algorithm with dynamic trees. |
|
| 376 |
- \ref GoldbergTarjan Preflow push-relabel algorithm with dynamic trees. |
|
| 375 |
- \ref EdmondsKarp Edmonds-Karp algorithm |
|
| 376 |
\ref edmondskarp72theoretical. |
|
| 377 |
- \ref Preflow Goldberg-Tarjan's preflow push-relabel algorithm |
|
| 378 |
\ref goldberg88newapproach. |
|
| 379 |
- \ref DinitzSleatorTarjan Dinitz's blocking flow algorithm with dynamic trees |
|
| 380 |
\ref dinic70algorithm, \ref sleator83dynamic. |
|
| 381 |
- \ref GoldbergTarjan !Preflow push-relabel algorithm with dynamic trees |
|
| 382 |
\ref goldberg88newapproach, \ref sleator83dynamic. |
|
| 377 | 383 |
|
| 378 |
In most cases the \ref Preflow |
|
| 384 |
In most cases the \ref Preflow algorithm provides the |
|
| 379 | 385 |
fastest method for computing a maximum flow. All implementations |
| ... | ... |
@@ -395,4 +401,5 @@ |
| 395 | 401 |
This group contains the algorithms for finding minimum cost flows and |
| 396 |
circulations. For more information about this problem and its dual |
|
| 397 |
solution see \ref min_cost_flow "Minimum Cost Flow Problem". |
|
| 402 |
circulations \ref amo93networkflows. For more information about this |
|
| 403 |
problem and its dual solution, see \ref min_cost_flow |
|
| 404 |
"Minimum Cost Flow Problem". |
|
| 398 | 405 |
|
| ... | ... |
@@ -400,9 +407,12 @@ |
| 400 | 407 |
- \ref NetworkSimplex Primal Network Simplex algorithm with various |
| 401 |
pivot strategies. |
|
| 408 |
pivot strategies \ref dantzig63linearprog, \ref kellyoneill91netsimplex. |
|
| 402 | 409 |
- \ref CostScaling Push-Relabel and Augment-Relabel algorithms based on |
| 403 |
cost scaling |
|
| 410 |
cost scaling \ref goldberg90approximation, \ref goldberg97efficient, |
|
| 411 |
\ref bunnagel98efficient. |
|
| 404 | 412 |
- \ref CapacityScaling Successive Shortest %Path algorithm with optional |
| 405 |
capacity scaling. |
|
| 406 |
- \ref CancelAndTighten The Cancel and Tighten algorithm. |
|
| 407 |
|
|
| 413 |
capacity scaling \ref edmondskarp72theoretical. |
|
| 414 |
- \ref CancelAndTighten The Cancel and Tighten algorithm |
|
| 415 |
\ref goldberg89cyclecanceling. |
|
| 416 |
- \ref CycleCanceling Cycle-Canceling algorithms |
|
| 417 |
\ref klein67primal, \ref goldberg89cyclecanceling. |
|
| 408 | 418 |
|
| ... | ... |
@@ -536,9 +546,12 @@ |
| 536 | 546 |
/** |
| 537 |
@defgroup lp_group |
|
| 547 |
@defgroup lp_group LP and MIP Solvers |
|
| 538 | 548 |
@ingroup gen_opt_group |
| 539 |
\brief |
|
| 549 |
\brief LP and MIP solver interfaces for LEMON. |
|
| 540 | 550 |
|
| 541 |
This group contains Lp and Mip solver interfaces for LEMON. The |
|
| 542 |
various LP solvers could be used in the same manner with this |
|
| 543 |
|
|
| 551 |
This group contains LP and MIP solver interfaces for LEMON. |
|
| 552 |
Various LP solvers could be used in the same manner with this |
|
| 553 |
high-level interface. |
|
| 554 |
|
|
| 555 |
The currently supported solvers are \ref glpk, \ref clp, \ref cbc, |
|
| 556 |
\ref cplex, \ref soplex. |
|
| 544 | 557 |
*/ |
| ... | ... |
@@ -23,10 +23,7 @@ |
| 23 | 23 |
|
| 24 |
\subsection whatis What is LEMON |
|
| 25 |
|
|
| 26 |
LEMON stands for <b>L</b>ibrary for <b>E</b>fficient <b>M</b>odeling |
|
| 27 |
and <b>O</b>ptimization in <b>N</b>etworks. |
|
| 28 |
It is a C++ template |
|
| 29 |
library aimed at combinatorial optimization tasks which |
|
| 30 |
often involve in working |
|
| 31 |
with graphs. |
|
| 24 |
<b>LEMON</b> stands for <i><b>L</b>ibrary for <b>E</b>fficient <b>M</b>odeling |
|
| 25 |
and <b>O</b>ptimization in <b>N</b>etworks</i>. |
|
| 26 |
It is a C++ template library providing efficient implementation of common |
|
| 27 |
data structures and algorithms with focus on combinatorial optimization |
|
| 28 |
problems in graphs and networks. |
|
| 32 | 29 |
|
| ... | ... |
@@ -40,3 +37,12 @@ |
| 40 | 37 |
|
| 41 |
|
|
| 38 |
The project is maintained by the |
|
| 39 |
<a href="http://www.cs.elte.hu/egres/">Egerváry Research Group on |
|
| 40 |
Combinatorial Optimization</a> \ref egres |
|
| 41 |
at the Operations Research Department of the |
|
| 42 |
<a href="http://www.elte.hu/">Eötvös Loránd University, |
|
| 43 |
Budapest</a>, Hungary. |
|
| 44 |
LEMON is also a member of the <a href="http://www.coin-or.org/">COIN-OR</a> |
|
| 45 |
initiative \ref coinor. |
|
| 46 |
|
|
| 47 |
\section howtoread How to Read the Documentation |
|
| 42 | 48 |
| ... | ... |
@@ -152,11 +152,21 @@ |
| 152 | 152 |
|
| 153 |
@ |
|
| 153 |
@article{edmondskarp72theoretical,
|
|
| 154 |
author = {Jack Edmonds and Richard M. Karp},
|
|
| 155 |
title = {Theoretical improvements in algorithmic efficiency
|
|
| 156 |
for network flow problems}, |
|
| 157 |
journal = {Journal of the ACM},
|
|
| 158 |
year = 1972, |
|
| 159 |
volume = 19, |
|
| 160 |
number = 2, |
|
| 161 |
pages = {248-264}
|
|
| 162 |
} |
|
| 163 |
|
|
| 164 |
@article{goldberg88newapproach,
|
|
| 154 | 165 |
author = {Andrew V. Goldberg and Robert E. Tarjan},
|
| 155 | 166 |
title = {A new approach to the maximum flow problem},
|
| 156 |
booktitle = {STOC '86: Proceedings of the Eighteenth Annual ACM
|
|
| 157 |
Symposium on Theory of Computing}, |
|
| 158 |
year = 1986, |
|
| 159 |
publisher = {ACM Press},
|
|
| 160 |
address = {New York, NY},
|
|
| 161 |
pages = {136-146}
|
|
| 167 |
journal = {Journal of the ACM},
|
|
| 168 |
year = 1988, |
|
| 169 |
volume = 35, |
|
| 170 |
number = 4, |
|
| 171 |
pages = {921-940}
|
|
| 162 | 172 |
} |
| ... | ... |
@@ -231,3 +241,3 @@ |
| 231 | 241 |
|
| 232 |
@ |
|
| 242 |
@article{goldberg89cyclecanceling,
|
|
| 233 | 243 |
author = {Andrew V. Goldberg and Robert E. Tarjan},
|
| ... | ... |
@@ -235,34 +245,10 @@ |
| 235 | 245 |
negative cycles}, |
| 236 |
booktitle = {STOC '88: Proceedings of the Twentieth Annual ACM
|
|
| 237 |
Symposium on Theory of Computing}, |
|
| 238 |
year = 1988, |
|
| 239 |
publisher = {ACM Press},
|
|
| 240 |
address = {New York, NY},
|
|
| 241 |
pages = {388-397}
|
|
| 246 |
journal = {Journal of the ACM},
|
|
| 247 |
year = 1989, |
|
| 248 |
volume = 36, |
|
| 249 |
number = 4, |
|
| 250 |
pages = {873-886}
|
|
| 242 | 251 |
} |
| 243 | 252 |
|
| 244 |
@article{edmondskarp72theoretical,
|
|
| 245 |
author = {Jack Edmonds and Richard M. Karp},
|
|
| 246 |
title = {Theoretical improvements in algorithmic efficiency
|
|
| 247 |
for network flow problems}, |
|
| 248 |
journal = {Journal of the ACM},
|
|
| 249 |
year = 1972, |
|
| 250 |
volume = 19, |
|
| 251 |
number = 2, |
|
| 252 |
pages = {248-264}
|
|
| 253 |
} |
|
| 254 |
|
|
| 255 |
@inproceedings{goldberg87approximation,
|
|
| 256 |
author = {Andrew V. Goldberg and Robert E. Tarjan},
|
|
| 257 |
title = {Solving minimum-cost flow problems by successive
|
|
| 258 |
approximation}, |
|
| 259 |
booktitle = {STOC '87: Proceedings of the Nineteenth Annual ACM
|
|
| 260 |
Symposium on Theory of Computing}, |
|
| 261 |
year = 1987, |
|
| 262 |
publisher = {ACM Press},
|
|
| 263 |
address = {New York, NY},
|
|
| 264 |
pages = {7-18}
|
|
| 265 |
} |
|
| 266 |
|
|
| 267 |
@article{goldberg90finding,
|
|
| 253 |
@article{goldberg90approximation,
|
|
| 268 | 254 |
author = {Andrew V. Goldberg and Robert E. Tarjan},
|
| ... | ... |
@@ -299,2 +285,9 @@ |
| 299 | 285 |
|
| 286 |
@book{dantzig63linearprog,
|
|
| 287 |
author = {George B. Dantzig},
|
|
| 288 |
title = {Linear Programming and Extensions},
|
|
| 289 |
publisher = {Princeton University Press},
|
|
| 290 |
year = 1963 |
|
| 291 |
} |
|
| 292 |
|
|
| 300 | 293 |
@mastersthesis{kellyoneill91netsimplex,
|
| ... | ... |
@@ -308,23 +301,1 @@ |
| 308 | 301 |
} |
| 309 |
|
|
| 310 |
@techreport{lobel96networksimplex,
|
|
| 311 |
author = {Andreas L{\"o}bel},
|
|
| 312 |
title = {Solving large-scale real-world minimum-cost flow
|
|
| 313 |
problems by a network simplex method}, |
|
| 314 |
institution = {Konrad-Zuse-Zentrum fur Informationstechnik Berlin
|
|
| 315 |
({ZIB})},
|
|
| 316 |
address = {Berlin, Germany},
|
|
| 317 |
year = 1996, |
|
| 318 |
number = {SC 96-7}
|
|
| 319 |
} |
|
| 320 |
|
|
| 321 |
@article{frangioni06computational,
|
|
| 322 |
author = {Antonio Frangioni and Antonio Manca},
|
|
| 323 |
title = {A Computational Study of Cost Reoptimization for
|
|
| 324 |
Min-Cost Flow Problems}, |
|
| 325 |
journal = {INFORMS Journal On Computing},
|
|
| 326 |
year = 2006, |
|
| 327 |
volume = 18, |
|
| 328 |
number = 1, |
|
| 329 |
pages = {61-70}
|
|
| 330 |
} |
| ... | ... |
@@ -42,3 +42,5 @@ |
| 42 | 42 |
/// \ref NetworkSimplex implements the primal Network Simplex algorithm |
| 43 |
/// for finding a \ref min_cost_flow "minimum cost flow" |
|
| 43 |
/// for finding a \ref min_cost_flow "minimum cost flow" |
|
| 44 |
/// \ref amo93networkflows, \ref dantzig63linearprog, |
|
| 45 |
/// \ref kellyoneill91netsimplex. |
|
| 44 | 46 |
/// This algorithm is a specialized version of the linear programming |
| ... | ... |
@@ -104,3 +104,4 @@ |
| 104 | 104 |
/// \e push-relabel algorithm producing a \ref max_flow |
| 105 |
/// "flow of maximum value" in a digraph |
|
| 105 |
/// "flow of maximum value" in a digraph \ref clrs01algorithms, |
|
| 106 |
/// \ref amo93networkflows, \ref goldberg88newapproach. |
|
| 106 | 107 |
/// The preflow algorithms are the fastest known maximum |
0 comments (0 inline)