lemongraph 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.yardopts +8 -0
- data/LICENSE +674 -0
- data/README.md +6 -0
- data/ext/lemon-1.3.1/AUTHORS +26 -0
- data/ext/lemon-1.3.1/CMakeLists.txt +371 -0
- data/ext/lemon-1.3.1/INSTALL +167 -0
- data/ext/lemon-1.3.1/LICENSE +32 -0
- data/ext/lemon-1.3.1/NEWS +337 -0
- data/ext/lemon-1.3.1/README +50 -0
- data/ext/lemon-1.3.1/cmake/FindCOIN.cmake +110 -0
- data/ext/lemon-1.3.1/cmake/FindGLPK.cmake +55 -0
- data/ext/lemon-1.3.1/cmake/FindGhostscript.cmake +10 -0
- data/ext/lemon-1.3.1/cmake/FindILOG.cmake +102 -0
- data/ext/lemon-1.3.1/cmake/FindSOPLEX.cmake +23 -0
- data/ext/lemon-1.3.1/cmake/LEMONConfig.cmake.in +13 -0
- data/ext/lemon-1.3.1/cmake/nsis/lemon.ico +0 -0
- data/ext/lemon-1.3.1/cmake/nsis/uninstall.ico +0 -0
- data/ext/lemon-1.3.1/cmake/version.cmake +1 -0
- data/ext/lemon-1.3.1/cmake/version.cmake.in +1 -0
- data/ext/lemon-1.3.1/contrib/CMakeLists.txt +19 -0
- data/ext/lemon-1.3.1/lemon/CMakeLists.txt +91 -0
- data/ext/lemon-1.3.1/lemon/adaptors.h +3638 -0
- data/ext/lemon-1.3.1/lemon/arg_parser.cc +474 -0
- data/ext/lemon-1.3.1/lemon/arg_parser.h +440 -0
- data/ext/lemon-1.3.1/lemon/assert.h +214 -0
- data/ext/lemon-1.3.1/lemon/base.cc +37 -0
- data/ext/lemon-1.3.1/lemon/bellman_ford.h +1116 -0
- data/ext/lemon-1.3.1/lemon/bfs.h +1754 -0
- data/ext/lemon-1.3.1/lemon/bin_heap.h +347 -0
- data/ext/lemon-1.3.1/lemon/binomial_heap.h +445 -0
- data/ext/lemon-1.3.1/lemon/bits/alteration_notifier.h +472 -0
- data/ext/lemon-1.3.1/lemon/bits/array_map.h +351 -0
- data/ext/lemon-1.3.1/lemon/bits/bezier.h +174 -0
- data/ext/lemon-1.3.1/lemon/bits/default_map.h +182 -0
- data/ext/lemon-1.3.1/lemon/bits/edge_set_extender.h +627 -0
- data/ext/lemon-1.3.1/lemon/bits/enable_if.h +131 -0
- data/ext/lemon-1.3.1/lemon/bits/graph_adaptor_extender.h +401 -0
- data/ext/lemon-1.3.1/lemon/bits/graph_extender.h +1332 -0
- data/ext/lemon-1.3.1/lemon/bits/lock.h +65 -0
- data/ext/lemon-1.3.1/lemon/bits/map_extender.h +332 -0
- data/ext/lemon-1.3.1/lemon/bits/path_dump.h +177 -0
- data/ext/lemon-1.3.1/lemon/bits/solver_bits.h +194 -0
- data/ext/lemon-1.3.1/lemon/bits/traits.h +388 -0
- data/ext/lemon-1.3.1/lemon/bits/variant.h +494 -0
- data/ext/lemon-1.3.1/lemon/bits/vector_map.h +244 -0
- data/ext/lemon-1.3.1/lemon/bits/windows.cc +166 -0
- data/ext/lemon-1.3.1/lemon/bits/windows.h +44 -0
- data/ext/lemon-1.3.1/lemon/bucket_heap.h +594 -0
- data/ext/lemon-1.3.1/lemon/capacity_scaling.h +1014 -0
- data/ext/lemon-1.3.1/lemon/cbc.cc +460 -0
- data/ext/lemon-1.3.1/lemon/cbc.h +129 -0
- data/ext/lemon-1.3.1/lemon/christofides_tsp.h +254 -0
- data/ext/lemon-1.3.1/lemon/circulation.h +807 -0
- data/ext/lemon-1.3.1/lemon/clp.cc +464 -0
- data/ext/lemon-1.3.1/lemon/clp.h +164 -0
- data/ext/lemon-1.3.1/lemon/color.cc +44 -0
- data/ext/lemon-1.3.1/lemon/color.h +204 -0
- data/ext/lemon-1.3.1/lemon/concept_check.h +77 -0
- data/ext/lemon-1.3.1/lemon/concepts/bpgraph.h +1029 -0
- data/ext/lemon-1.3.1/lemon/concepts/digraph.h +491 -0
- data/ext/lemon-1.3.1/lemon/concepts/graph.h +788 -0
- data/ext/lemon-1.3.1/lemon/concepts/graph_components.h +2134 -0
- data/ext/lemon-1.3.1/lemon/concepts/heap.h +324 -0
- data/ext/lemon-1.3.1/lemon/concepts/maps.h +223 -0
- data/ext/lemon-1.3.1/lemon/concepts/path.h +312 -0
- data/ext/lemon-1.3.1/lemon/config.h.in +22 -0
- data/ext/lemon-1.3.1/lemon/connectivity.h +1688 -0
- data/ext/lemon-1.3.1/lemon/core.h +2506 -0
- data/ext/lemon-1.3.1/lemon/cost_scaling.h +1607 -0
- data/ext/lemon-1.3.1/lemon/counter.h +249 -0
- data/ext/lemon-1.3.1/lemon/cplex.cc +994 -0
- data/ext/lemon-1.3.1/lemon/cplex.h +292 -0
- data/ext/lemon-1.3.1/lemon/cycle_canceling.h +1230 -0
- data/ext/lemon-1.3.1/lemon/dfs.h +1637 -0
- data/ext/lemon-1.3.1/lemon/dheap.h +352 -0
- data/ext/lemon-1.3.1/lemon/dijkstra.h +1303 -0
- data/ext/lemon-1.3.1/lemon/dim2.h +726 -0
- data/ext/lemon-1.3.1/lemon/dimacs.h +448 -0
- data/ext/lemon-1.3.1/lemon/edge_set.h +1420 -0
- data/ext/lemon-1.3.1/lemon/edmonds_karp.h +556 -0
- data/ext/lemon-1.3.1/lemon/elevator.h +982 -0
- data/ext/lemon-1.3.1/lemon/error.h +276 -0
- data/ext/lemon-1.3.1/lemon/euler.h +287 -0
- data/ext/lemon-1.3.1/lemon/fib_heap.h +475 -0
- data/ext/lemon-1.3.1/lemon/fractional_matching.h +2139 -0
- data/ext/lemon-1.3.1/lemon/full_graph.h +1082 -0
- data/ext/lemon-1.3.1/lemon/glpk.cc +1012 -0
- data/ext/lemon-1.3.1/lemon/glpk.h +263 -0
- data/ext/lemon-1.3.1/lemon/gomory_hu.h +568 -0
- data/ext/lemon-1.3.1/lemon/graph_to_eps.h +1186 -0
- data/ext/lemon-1.3.1/lemon/greedy_tsp.h +251 -0
- data/ext/lemon-1.3.1/lemon/grid_graph.h +699 -0
- data/ext/lemon-1.3.1/lemon/grosso_locatelli_pullan_mc.h +840 -0
- data/ext/lemon-1.3.1/lemon/hao_orlin.h +1015 -0
- data/ext/lemon-1.3.1/lemon/hartmann_orlin_mmc.h +654 -0
- data/ext/lemon-1.3.1/lemon/howard_mmc.h +651 -0
- data/ext/lemon-1.3.1/lemon/hypercube_graph.h +459 -0
- data/ext/lemon-1.3.1/lemon/insertion_tsp.h +533 -0
- data/ext/lemon-1.3.1/lemon/karp_mmc.h +590 -0
- data/ext/lemon-1.3.1/lemon/kruskal.h +324 -0
- data/ext/lemon-1.3.1/lemon/lemon.pc.in +10 -0
- data/ext/lemon-1.3.1/lemon/lgf_reader.h +3854 -0
- data/ext/lemon-1.3.1/lemon/lgf_writer.h +2687 -0
- data/ext/lemon-1.3.1/lemon/list_graph.h +2510 -0
- data/ext/lemon-1.3.1/lemon/lp.h +95 -0
- data/ext/lemon-1.3.1/lemon/lp_base.cc +30 -0
- data/ext/lemon-1.3.1/lemon/lp_base.h +2147 -0
- data/ext/lemon-1.3.1/lemon/lp_skeleton.cc +143 -0
- data/ext/lemon-1.3.1/lemon/lp_skeleton.h +234 -0
- data/ext/lemon-1.3.1/lemon/maps.h +4057 -0
- data/ext/lemon-1.3.1/lemon/matching.h +3505 -0
- data/ext/lemon-1.3.1/lemon/math.h +77 -0
- data/ext/lemon-1.3.1/lemon/max_cardinality_search.h +794 -0
- data/ext/lemon-1.3.1/lemon/min_cost_arborescence.h +808 -0
- data/ext/lemon-1.3.1/lemon/nagamochi_ibaraki.h +702 -0
- data/ext/lemon-1.3.1/lemon/nauty_reader.h +113 -0
- data/ext/lemon-1.3.1/lemon/nearest_neighbor_tsp.h +238 -0
- data/ext/lemon-1.3.1/lemon/network_simplex.h +1659 -0
- data/ext/lemon-1.3.1/lemon/opt2_tsp.h +367 -0
- data/ext/lemon-1.3.1/lemon/pairing_heap.h +474 -0
- data/ext/lemon-1.3.1/lemon/path.h +1164 -0
- data/ext/lemon-1.3.1/lemon/planarity.h +2754 -0
- data/ext/lemon-1.3.1/lemon/preflow.h +985 -0
- data/ext/lemon-1.3.1/lemon/quad_heap.h +343 -0
- data/ext/lemon-1.3.1/lemon/radix_heap.h +438 -0
- data/ext/lemon-1.3.1/lemon/radix_sort.h +487 -0
- data/ext/lemon-1.3.1/lemon/random.cc +29 -0
- data/ext/lemon-1.3.1/lemon/random.h +1005 -0
- data/ext/lemon-1.3.1/lemon/smart_graph.h +1344 -0
- data/ext/lemon-1.3.1/lemon/soplex.cc +465 -0
- data/ext/lemon-1.3.1/lemon/soplex.h +158 -0
- data/ext/lemon-1.3.1/lemon/static_graph.h +476 -0
- data/ext/lemon-1.3.1/lemon/suurballe.h +776 -0
- data/ext/lemon-1.3.1/lemon/time_measure.h +610 -0
- data/ext/lemon-1.3.1/lemon/tolerance.h +242 -0
- data/ext/lemon-1.3.1/lemon/unionfind.h +1824 -0
- data/ext/lemon-1.3.1/scripts/unify-sources.sh +390 -0
- data/ext/lemon-1.3.1/scripts/valgrind-wrapper.sh +22 -0
- data/ext/lemongraph/arc_map.cc +1007 -0
- data/ext/lemongraph/digraph.cc +282 -0
- data/ext/lemongraph/digraph_arc.cc +153 -0
- data/ext/lemongraph/digraph_node.cc +277 -0
- data/ext/lemongraph/edge_map.cc +770 -0
- data/ext/lemongraph/extconf.rb +53 -0
- data/ext/lemongraph/graph.cc +351 -0
- data/ext/lemongraph/graph_arc.cc +95 -0
- data/ext/lemongraph/graph_edge.cc +153 -0
- data/ext/lemongraph/graph_item.cc +76 -0
- data/ext/lemongraph/graph_node.cc +321 -0
- data/ext/lemongraph/lemongraph.cc +260 -0
- data/ext/lemongraph/lemongraph.hh +295 -0
- data/ext/lemongraph/lemongraph.map +6 -0
- data/ext/lemongraph/lemongraph_export.hh +31 -0
- data/ext/lemongraph/node_map.cc +1011 -0
- data/lemongraph.gemspec +176 -0
- data/lib/lemongraph/graphviz.rb +240 -0
- data/lib/lemongraph/version.rb +4 -0
- data/lib/lemongraph.rb +21 -0
- data/samples/lemondeps.rb +38 -0
- metadata +202 -0
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
2014-07-07 Version 1.3.1 released
|
|
2
|
+
|
|
3
|
+
Bugfix release.
|
|
4
|
+
|
|
5
|
+
#484: Require CMAKE 2.8
|
|
6
|
+
#471, #472, #480: Various clang compatibility fixes
|
|
7
|
+
#481, #482: Fix shared lib build and versioning
|
|
8
|
+
#476: Fix invalid map query in NearestNeighborTsp
|
|
9
|
+
#478: Bugfix in debug checking and lower bound handling
|
|
10
|
+
in min cost flow algorithms
|
|
11
|
+
#479, #465: Bugfix in default LP/MIP backend settings
|
|
12
|
+
#476: Bugfix in tsp_test
|
|
13
|
+
#487: Add missing include header and std:: namespace spec.
|
|
14
|
+
#474: Fix division by zero error in NetworkSimplex
|
|
15
|
+
|
|
16
|
+
2013-08-10 Version 1.3 released
|
|
17
|
+
|
|
18
|
+
This is major feature release
|
|
19
|
+
|
|
20
|
+
* New data structures
|
|
21
|
+
|
|
22
|
+
#69 : Bipartite graph concepts and implementations
|
|
23
|
+
|
|
24
|
+
* New algorithms
|
|
25
|
+
|
|
26
|
+
#177: Port Edmonds-Karp algorithm
|
|
27
|
+
#380, #405: Heuristic algorithm for the max clique problem
|
|
28
|
+
#386: Heuristic algorithms for symmetric TSP
|
|
29
|
+
----: Nagamochi-Ibaraki algorithm [5087694945e4]
|
|
30
|
+
#397, #56: Max. cardinality search
|
|
31
|
+
|
|
32
|
+
* Other new features
|
|
33
|
+
|
|
34
|
+
#223: Thread safe graph and graph map implementations
|
|
35
|
+
#442: Different TimeStamp print formats
|
|
36
|
+
#457: File export functionality to LpBase
|
|
37
|
+
#362: Bidirectional iterator support for radixSort()
|
|
38
|
+
|
|
39
|
+
* Implementation improvements
|
|
40
|
+
|
|
41
|
+
----: Network Simplex
|
|
42
|
+
#391: Better update process, pivot rule and arc mixing
|
|
43
|
+
#435: Improved Altering List pivot rule
|
|
44
|
+
#417: Various fine tunings in CostScaling
|
|
45
|
+
#438: Optional iteration limit in HowardMmc
|
|
46
|
+
#436: Ensure strongly polynomial running time for CycleCanceling
|
|
47
|
+
while keeping the same performance
|
|
48
|
+
----: Make the CBC interface be compatible with latest CBC releases
|
|
49
|
+
[ee581a0ecfbf]
|
|
50
|
+
|
|
51
|
+
* CMAKE has become the default build environment (#434)
|
|
52
|
+
|
|
53
|
+
----: Autotool support has been dropped
|
|
54
|
+
----: Improved LP/MIP configuration
|
|
55
|
+
#465: Enable/disable options for LP/MIP backends
|
|
56
|
+
#446: Better CPLEX discovery
|
|
57
|
+
#460: Add cmake config to find SoPlex
|
|
58
|
+
----: Allow CPACK configuration on all platforms
|
|
59
|
+
#390: Add 'Maintainer' CMAKE build type
|
|
60
|
+
#388: Add 'check' target.
|
|
61
|
+
#401: Add contrib dir
|
|
62
|
+
#389: Better version string setting in CMAKE
|
|
63
|
+
#433: Support shared library build
|
|
64
|
+
#416: Support testing with valgrind
|
|
65
|
+
|
|
66
|
+
* Doc improvements
|
|
67
|
+
|
|
68
|
+
#395: SOURCE_BROWSER Doxygen switch is configurable from CMAKE
|
|
69
|
+
update-external-tags CMAKE target
|
|
70
|
+
#455: Optionally use MathJax for rendering the math formulae
|
|
71
|
+
#402, #437, #459, #456, #463: Various doc improvements
|
|
72
|
+
|
|
73
|
+
* Bugfixes (compared to release 1.2):
|
|
74
|
+
|
|
75
|
+
#432: Add missing doc/template.h and doc/references.bib to release
|
|
76
|
+
tarball
|
|
77
|
+
----: Intel C++ compatibility fixes
|
|
78
|
+
#441: Fix buggy reinitialization in _solver_bits::VarIndex::clear()
|
|
79
|
+
#444: Bugfix in path copy constructors and assignment operators
|
|
80
|
+
#447: Bugfix in AllArcLookUp<>
|
|
81
|
+
#448: Bugfix in adaptor_test.cc
|
|
82
|
+
#449: Fix clang compilation warnings and errors
|
|
83
|
+
#440: Fix a bug + remove redundant typedefs in dimacs-solver
|
|
84
|
+
#453: Avoid GCC 4.7 compiler warnings
|
|
85
|
+
#445: Fix missing initialization in CplexEnv::CplexEnv()
|
|
86
|
+
#428: Add missing lemon/lemon.pc.cmake to the release tarball
|
|
87
|
+
#393: Create and install lemon.pc
|
|
88
|
+
#429: Fix VS warnings
|
|
89
|
+
#430: Fix LpBase::Constr two-side limit bug
|
|
90
|
+
#392: Bug fix in Dfs::start(s,t)
|
|
91
|
+
#414: Fix wrong initialization in Preflow
|
|
92
|
+
#418: Better Win CodeBlock/MinGW support
|
|
93
|
+
#419: Build environment improvements
|
|
94
|
+
- Build of mip_test and lp_test precede the running of the tests
|
|
95
|
+
- Also search for coin libs under ${COIN_ROOT_DIR}/lib/coin
|
|
96
|
+
- Do not look for COIN_VOL libraries
|
|
97
|
+
#382: Allow lgf file without Arc maps
|
|
98
|
+
#417: Bug fix in CostScaling
|
|
99
|
+
#366: Fix Pred[Matrix]MapPath::empty()
|
|
100
|
+
#371: Bug fix in (di)graphCopy()
|
|
101
|
+
The target graph is cleared before adding nodes and arcs/edges.
|
|
102
|
+
#364: Add missing UndirectedTags
|
|
103
|
+
#368: Fix the usage of std::numeric_limits<>::min() in Network Simplex
|
|
104
|
+
#372: Fix a critical bug in preflow
|
|
105
|
+
#461: Bugfix in assert.h
|
|
106
|
+
#470: Fix compilation issues related to various gcc versions
|
|
107
|
+
#446: Fix #define indicating CPLEX availability
|
|
108
|
+
#294: Add explicit namespace to
|
|
109
|
+
ignore_unused_variable_warning() usages
|
|
110
|
+
#420: Bugfix in IterableValueMap
|
|
111
|
+
#439: Bugfix in biNodeConnected()
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
2010-03-19 Version 1.2 released
|
|
115
|
+
|
|
116
|
+
This is major feature release
|
|
117
|
+
|
|
118
|
+
* New algorithms
|
|
119
|
+
* Bellman-Ford algorithm (#51)
|
|
120
|
+
* Minimum mean cycle algorithms (#179)
|
|
121
|
+
* Karp, Hartman-Orlin and Howard algorithms
|
|
122
|
+
* New minimum cost flow algorithms (#180)
|
|
123
|
+
* Cost Scaling algorithms
|
|
124
|
+
* Capacity Scaling algorithm
|
|
125
|
+
* Cycle-Canceling algorithms
|
|
126
|
+
* Planarity related algorithms (#62)
|
|
127
|
+
* Planarity checking algorithm
|
|
128
|
+
* Planar embedding algorithm
|
|
129
|
+
* Schnyder's planar drawing algorithm
|
|
130
|
+
* Coloring planar graphs with five or six colors
|
|
131
|
+
* Fractional matching algorithms (#314)
|
|
132
|
+
* New data structures
|
|
133
|
+
* StaticDigraph structure (#68)
|
|
134
|
+
* Several new priority queue structures (#50, #301)
|
|
135
|
+
* Fibonacci, Radix, Bucket, Pairing, Binomial
|
|
136
|
+
D-ary and fourary heaps (#301)
|
|
137
|
+
* Iterable map structures (#73)
|
|
138
|
+
* Other new tools and functionality
|
|
139
|
+
* Map utility functions (#320)
|
|
140
|
+
* Reserve functions are added to ListGraph and SmartGraph (#311)
|
|
141
|
+
* A resize() function is added to HypercubeGraph (#311)
|
|
142
|
+
* A count() function is added to CrossRefMap (#302)
|
|
143
|
+
* Support for multiple targets in Suurballe using fullInit() (#181)
|
|
144
|
+
* Traits class and named parameters for Suurballe (#323)
|
|
145
|
+
* Separate reset() and resetParams() functions in NetworkSimplex
|
|
146
|
+
to handle graph changes (#327)
|
|
147
|
+
* tolerance() functions are added to HaoOrlin (#306)
|
|
148
|
+
* Implementation improvements
|
|
149
|
+
* Improvements in weighted matching algorithms (#314)
|
|
150
|
+
* Jumpstart initialization
|
|
151
|
+
* ArcIt iteration is based on out-arc lists instead of in-arc lists
|
|
152
|
+
in ListDigraph (#311)
|
|
153
|
+
* Faster add row operation in CbcMip (#203)
|
|
154
|
+
* Better implementation for split() in ListDigraph (#311)
|
|
155
|
+
* ArgParser can also throw exception instead of exit(1) (#332)
|
|
156
|
+
* Miscellaneous
|
|
157
|
+
* A simple interactive bootstrap script
|
|
158
|
+
* Doc improvements (#62,#180,#299,#302,#303,#304,#307,#311,#331,#315,
|
|
159
|
+
#316,#319)
|
|
160
|
+
* BibTeX references in the doc (#184)
|
|
161
|
+
* Optionally use valgrind when running tests
|
|
162
|
+
* Also check ReferenceMapTag in concept checks (#312)
|
|
163
|
+
* dimacs-solver uses long long type by default.
|
|
164
|
+
* Several bugfixes (compared to release 1.1):
|
|
165
|
+
#295: Suppress MSVC warnings using pragmas
|
|
166
|
+
----: Various CMAKE related improvements
|
|
167
|
+
* Remove duplications from doc/CMakeLists.txt
|
|
168
|
+
* Rename documentation install folder from 'docs' to 'html'
|
|
169
|
+
* Add tools/CMakeLists.txt to the tarball
|
|
170
|
+
* Generate and install LEMONConfig.cmake
|
|
171
|
+
* Change the label of the html project in Visual Studio
|
|
172
|
+
* Fix the check for the 'long long' type
|
|
173
|
+
* Put the version string into config.h
|
|
174
|
+
* Minor CMake improvements
|
|
175
|
+
* Set the version to 'hg-tip' if everything fails
|
|
176
|
+
#311: Add missing 'explicit' keywords
|
|
177
|
+
#302: Fix the implementation and doc of CrossRefMap
|
|
178
|
+
#308: Remove duplicate list_graph.h entry from source list
|
|
179
|
+
#307: Bugfix in Preflow and Circulation
|
|
180
|
+
#305: Bugfix and extension in the rename script
|
|
181
|
+
#312: Also check ReferenceMapTag in concept checks
|
|
182
|
+
#250: Bugfix in pathSource() and pathTarget()
|
|
183
|
+
#321: Use pathCopy(from,to) instead of copyPath(to,from)
|
|
184
|
+
#322: Distribure LEMONConfig.cmake.in
|
|
185
|
+
#330: Bug fix in map_extender.h
|
|
186
|
+
#336: Fix the date field comment of graphToEps() output
|
|
187
|
+
#323: Bug fix in Suurballe
|
|
188
|
+
#335: Fix clear() function in ExtendFindEnum
|
|
189
|
+
#337: Use void* as the LPX object pointer
|
|
190
|
+
#317: Fix (and improve) error message in mip_test.cc
|
|
191
|
+
Remove unnecessary OsiCbc dependency
|
|
192
|
+
#356: Allow multiple executions of weighted matching algorithms (#356)
|
|
193
|
+
|
|
194
|
+
2009-05-13 Version 1.1 released
|
|
195
|
+
|
|
196
|
+
This is the second stable release of the 1.x series. It
|
|
197
|
+
features a better coverage of the tools available in the 0.x
|
|
198
|
+
series, a thoroughly reworked LP/MIP interface plus various
|
|
199
|
+
improvements in the existing tools.
|
|
200
|
+
|
|
201
|
+
* Much improved M$ Windows support
|
|
202
|
+
* Various improvements in the CMAKE build system
|
|
203
|
+
* Compilation warnings are fixed/suppressed
|
|
204
|
+
* Support IBM xlC compiler
|
|
205
|
+
* New algorithms
|
|
206
|
+
* Connectivity related algorithms (#61)
|
|
207
|
+
* Euler walks (#65)
|
|
208
|
+
* Preflow push-relabel max. flow algorithm (#176)
|
|
209
|
+
* Circulation algorithm (push-relabel based) (#175)
|
|
210
|
+
* Suurballe algorithm (#47)
|
|
211
|
+
* Gomory-Hu algorithm (#66)
|
|
212
|
+
* Hao-Orlin algorithm (#58)
|
|
213
|
+
* Edmond's maximum cardinality and weighted matching algorithms
|
|
214
|
+
in general graphs (#48,#265)
|
|
215
|
+
* Minimum cost arborescence/branching (#60)
|
|
216
|
+
* Network Simplex min. cost flow algorithm (#234)
|
|
217
|
+
* New data structures
|
|
218
|
+
* Full graph structure (#57)
|
|
219
|
+
* Grid graph structure (#57)
|
|
220
|
+
* Hypercube graph structure (#57)
|
|
221
|
+
* Graph adaptors (#67)
|
|
222
|
+
* ArcSet and EdgeSet classes (#67)
|
|
223
|
+
* Elevator class (#174)
|
|
224
|
+
* Other new tools
|
|
225
|
+
* LP/MIP interface (#44)
|
|
226
|
+
* Support for GLPK, CPLEX, Soplex, COIN-OR CLP and CBC
|
|
227
|
+
* Reader for the Nauty file format (#55)
|
|
228
|
+
* DIMACS readers (#167)
|
|
229
|
+
* Radix sort algorithms (#72)
|
|
230
|
+
* RangeIdMap and CrossRefMap (#160)
|
|
231
|
+
* New command line tools
|
|
232
|
+
* DIMACS to LGF converter (#182)
|
|
233
|
+
* lgf-gen - a graph generator (#45)
|
|
234
|
+
* DIMACS solver utility (#226)
|
|
235
|
+
* Other code improvements
|
|
236
|
+
* Lognormal distribution added to Random (#102)
|
|
237
|
+
* Better (i.e. O(1) time) item counting in SmartGraph (#3)
|
|
238
|
+
* The standard maps of graphs are guaranteed to be
|
|
239
|
+
reference maps (#190)
|
|
240
|
+
* Miscellaneous
|
|
241
|
+
* Various doc improvements
|
|
242
|
+
* Improved 0.x -> 1.x converter script
|
|
243
|
+
|
|
244
|
+
* Several bugfixes (compared to release 1.0):
|
|
245
|
+
#170: Bugfix SmartDigraph::split()
|
|
246
|
+
#171: Bugfix in SmartGraph::restoreSnapshot()
|
|
247
|
+
#172: Extended test cases for graphs and digraphs
|
|
248
|
+
#173: Bugfix in Random
|
|
249
|
+
* operator()s always return a double now
|
|
250
|
+
* the faulty real<Num>(Num) and real<Num>(Num,Num)
|
|
251
|
+
have been removed
|
|
252
|
+
#187: Remove DijkstraWidestPathOperationTraits
|
|
253
|
+
#61: Bugfix in DfsVisit
|
|
254
|
+
#193: Bugfix in GraphReader::skipSection()
|
|
255
|
+
#195: Bugfix in ConEdgeIt()
|
|
256
|
+
#197: Bugfix in heap unionfind
|
|
257
|
+
* This bug affects Edmond's general matching algorithms
|
|
258
|
+
#207: Fix 'make install' without 'make html' using CMAKE
|
|
259
|
+
#208: Suppress or fix VS2008 compilation warnings
|
|
260
|
+
----: Update the LEMON icon
|
|
261
|
+
----: Enable the component-based installer
|
|
262
|
+
(in installers made by CPACK)
|
|
263
|
+
----: Set the proper version for CMAKE in the tarballs
|
|
264
|
+
(made by autotools)
|
|
265
|
+
----: Minor clarification in the LICENSE file
|
|
266
|
+
----: Add missing unistd.h include to time_measure.h
|
|
267
|
+
#204: Compilation bug fixed in graph_to_eps.h with VS2005
|
|
268
|
+
#214,#215: windows.h should never be included by LEMON headers
|
|
269
|
+
#230: Build systems check the availability of 'long long' type
|
|
270
|
+
#229: Default implementation of Tolerance<> is used for integer types
|
|
271
|
+
#211,#212: Various fixes for compiling on AIX
|
|
272
|
+
----: Improvements in CMAKE config
|
|
273
|
+
- docs is installed in share/doc/
|
|
274
|
+
- detects newer versions of Ghostscript
|
|
275
|
+
#239: Fix missing 'inline' specifier in time_measure.h
|
|
276
|
+
#274,#280: Install lemon/config.h
|
|
277
|
+
#275: Prefix macro names with LEMON_ in lemon/config.h
|
|
278
|
+
----: Small script for making the release tarballs added
|
|
279
|
+
----: Minor improvement in unify-sources.sh (a76f55d7d397)
|
|
280
|
+
|
|
281
|
+
2009-03-27 LEMON joins to the COIN-OR initiative
|
|
282
|
+
|
|
283
|
+
COIN-OR (Computational Infrastructure for Operations Research,
|
|
284
|
+
http://www.coin-or.org) project is an initiative to spur the
|
|
285
|
+
development of open-source software for the operations research
|
|
286
|
+
community.
|
|
287
|
+
|
|
288
|
+
2008-10-13 Version 1.0 released
|
|
289
|
+
|
|
290
|
+
This is the first stable release of LEMON. Compared to the 0.x
|
|
291
|
+
release series, it features a considerably smaller but more
|
|
292
|
+
matured set of tools. The API has also completely revised and
|
|
293
|
+
changed in several places.
|
|
294
|
+
|
|
295
|
+
* The major name changes compared to the 0.x series (see the
|
|
296
|
+
Migration Guide in the doc for more details)
|
|
297
|
+
* Graph -> Digraph, UGraph -> Graph
|
|
298
|
+
* Edge -> Arc, UEdge -> Edge
|
|
299
|
+
* source(UEdge)/target(UEdge) -> u(Edge)/v(Edge)
|
|
300
|
+
* Other improvements
|
|
301
|
+
* Better documentation
|
|
302
|
+
* Reviewed and cleaned up codebase
|
|
303
|
+
* CMake based build system (along with the autotools based one)
|
|
304
|
+
* Contents of the library (ported from 0.x)
|
|
305
|
+
* Algorithms
|
|
306
|
+
* breadth-first search (bfs.h)
|
|
307
|
+
* depth-first search (dfs.h)
|
|
308
|
+
* Dijkstra's algorithm (dijkstra.h)
|
|
309
|
+
* Kruskal's algorithm (kruskal.h)
|
|
310
|
+
* Data structures
|
|
311
|
+
* graph data structures (list_graph.h, smart_graph.h)
|
|
312
|
+
* path data structures (path.h)
|
|
313
|
+
* binary heap data structure (bin_heap.h)
|
|
314
|
+
* union-find data structures (unionfind.h)
|
|
315
|
+
* miscellaneous property maps (maps.h)
|
|
316
|
+
* two dimensional vector and bounding box (dim2.h)
|
|
317
|
+
* Concepts
|
|
318
|
+
* graph structure concepts (concepts/digraph.h, concepts/graph.h,
|
|
319
|
+
concepts/graph_components.h)
|
|
320
|
+
* concepts for other structures (concepts/heap.h, concepts/maps.h,
|
|
321
|
+
concepts/path.h)
|
|
322
|
+
* Tools
|
|
323
|
+
* Mersenne twister random number generator (random.h)
|
|
324
|
+
* tools for measuring cpu and wall clock time (time_measure.h)
|
|
325
|
+
* tools for counting steps and events (counter.h)
|
|
326
|
+
* tool for parsing command line arguments (arg_parser.h)
|
|
327
|
+
* tool for visualizing graphs (graph_to_eps.h)
|
|
328
|
+
* tools for reading and writing data in LEMON Graph Format
|
|
329
|
+
(lgf_reader.h, lgf_writer.h)
|
|
330
|
+
* tools to handle the anomalies of calculations with
|
|
331
|
+
floating point numbers (tolerance.h)
|
|
332
|
+
* tools to manage RGB colors (color.h)
|
|
333
|
+
* Infrastructure
|
|
334
|
+
* extended assertion handling (assert.h)
|
|
335
|
+
* exception classes and error handling (error.h)
|
|
336
|
+
* concept checking (concept_check.h)
|
|
337
|
+
* commonly used mathematical constants (math.h)
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
=====================================================================
|
|
2
|
+
LEMON - a Library for Efficient Modeling and Optimization in Networks
|
|
3
|
+
=====================================================================
|
|
4
|
+
|
|
5
|
+
LEMON is an open source library written in C++. It provides
|
|
6
|
+
easy-to-use implementations of common data structures and algorithms
|
|
7
|
+
in the area of optimization and helps implementing new ones. The main
|
|
8
|
+
focus is on graphs and graph algorithms, thus it is especially
|
|
9
|
+
suitable for solving design and optimization problems of
|
|
10
|
+
telecommunication networks. To achieve wide usability its data
|
|
11
|
+
structures and algorithms provide generic interfaces.
|
|
12
|
+
|
|
13
|
+
Contents
|
|
14
|
+
========
|
|
15
|
+
|
|
16
|
+
LICENSE
|
|
17
|
+
|
|
18
|
+
Copying, distribution and modification conditions and terms.
|
|
19
|
+
|
|
20
|
+
NEWS
|
|
21
|
+
|
|
22
|
+
News and version history.
|
|
23
|
+
|
|
24
|
+
INSTALL
|
|
25
|
+
|
|
26
|
+
General building and installation instructions.
|
|
27
|
+
|
|
28
|
+
lemon/
|
|
29
|
+
|
|
30
|
+
Source code of LEMON library.
|
|
31
|
+
|
|
32
|
+
doc/
|
|
33
|
+
|
|
34
|
+
Documentation of LEMON. The starting page is doc/html/index.html.
|
|
35
|
+
|
|
36
|
+
demo/
|
|
37
|
+
|
|
38
|
+
Some example programs to make you easier to get familiar with LEMON.
|
|
39
|
+
|
|
40
|
+
scripts/
|
|
41
|
+
|
|
42
|
+
Scripts that make it easier to develop LEMON.
|
|
43
|
+
|
|
44
|
+
test/
|
|
45
|
+
|
|
46
|
+
Programs to check the integrity and correctness of LEMON.
|
|
47
|
+
|
|
48
|
+
tools/
|
|
49
|
+
|
|
50
|
+
Various utilities related to LEMON.
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
SET(COIN_ROOT_DIR "" CACHE PATH "COIN root directory")
|
|
2
|
+
|
|
3
|
+
FIND_PATH(COIN_INCLUDE_DIR coin/CoinUtilsConfig.h
|
|
4
|
+
HINTS ${COIN_ROOT_DIR}/include
|
|
5
|
+
)
|
|
6
|
+
FIND_LIBRARY(COIN_CBC_LIBRARY
|
|
7
|
+
NAMES Cbc libCbc
|
|
8
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
9
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
10
|
+
)
|
|
11
|
+
FIND_LIBRARY(COIN_CBC_SOLVER_LIBRARY
|
|
12
|
+
NAMES CbcSolver libCbcSolver
|
|
13
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
14
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
15
|
+
)
|
|
16
|
+
FIND_LIBRARY(COIN_CGL_LIBRARY
|
|
17
|
+
NAMES Cgl libCgl
|
|
18
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
19
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
20
|
+
)
|
|
21
|
+
FIND_LIBRARY(COIN_CLP_LIBRARY
|
|
22
|
+
NAMES Clp libClp
|
|
23
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
24
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
25
|
+
)
|
|
26
|
+
FIND_LIBRARY(COIN_COIN_UTILS_LIBRARY
|
|
27
|
+
NAMES CoinUtils libCoinUtils
|
|
28
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
29
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
30
|
+
)
|
|
31
|
+
FIND_LIBRARY(COIN_OSI_LIBRARY
|
|
32
|
+
NAMES Osi libOsi
|
|
33
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
34
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
35
|
+
)
|
|
36
|
+
FIND_LIBRARY(COIN_OSI_CBC_LIBRARY
|
|
37
|
+
NAMES OsiCbc libOsiCbc
|
|
38
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
39
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
40
|
+
)
|
|
41
|
+
FIND_LIBRARY(COIN_OSI_CLP_LIBRARY
|
|
42
|
+
NAMES OsiClp libOsiClp
|
|
43
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
44
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
45
|
+
)
|
|
46
|
+
FIND_LIBRARY(COIN_OSI_VOL_LIBRARY
|
|
47
|
+
NAMES OsiVol libOsiVol
|
|
48
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
49
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
50
|
+
)
|
|
51
|
+
FIND_LIBRARY(COIN_VOL_LIBRARY
|
|
52
|
+
NAMES Vol libVol
|
|
53
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
54
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
FIND_LIBRARY(COIN_ZLIB_LIBRARY
|
|
58
|
+
NAMES z libz
|
|
59
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
60
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
61
|
+
)
|
|
62
|
+
FIND_LIBRARY(COIN_BZ2_LIBRARY
|
|
63
|
+
NAMES bz2 libbz2
|
|
64
|
+
HINTS ${COIN_ROOT_DIR}/lib/coin
|
|
65
|
+
HINTS ${COIN_ROOT_DIR}/lib
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
INCLUDE(FindPackageHandleStandardArgs)
|
|
69
|
+
FIND_PACKAGE_HANDLE_STANDARD_ARGS(COIN DEFAULT_MSG
|
|
70
|
+
COIN_INCLUDE_DIR
|
|
71
|
+
COIN_CBC_LIBRARY
|
|
72
|
+
COIN_CBC_SOLVER_LIBRARY
|
|
73
|
+
COIN_CGL_LIBRARY
|
|
74
|
+
COIN_CLP_LIBRARY
|
|
75
|
+
COIN_COIN_UTILS_LIBRARY
|
|
76
|
+
COIN_OSI_LIBRARY
|
|
77
|
+
COIN_OSI_CBC_LIBRARY
|
|
78
|
+
COIN_OSI_CLP_LIBRARY
|
|
79
|
+
# COIN_OSI_VOL_LIBRARY
|
|
80
|
+
# COIN_VOL_LIBRARY
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
IF(COIN_FOUND)
|
|
84
|
+
SET(COIN_INCLUDE_DIRS ${COIN_INCLUDE_DIR})
|
|
85
|
+
SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARY};${COIN_COIN_UTILS_LIBRARY};${COIN_ZLIB_LIBRARY};${COIN_BZ2_LIBRARY}")
|
|
86
|
+
IF(COIN_ZLIB_LIBRARY)
|
|
87
|
+
SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARIES};${COIN_ZLIB_LIBRARY}")
|
|
88
|
+
ENDIF(COIN_ZLIB_LIBRARY)
|
|
89
|
+
IF(COIN_BZ2_LIBRARY)
|
|
90
|
+
SET(COIN_CLP_LIBRARIES "${COIN_CLP_LIBRARIES};${COIN_BZ2_LIBRARY}")
|
|
91
|
+
ENDIF(COIN_BZ2_LIBRARY)
|
|
92
|
+
SET(COIN_CBC_LIBRARIES "${COIN_CBC_LIBRARY};${COIN_CBC_SOLVER_LIBRARY};${COIN_CGL_LIBRARY};${COIN_OSI_LIBRARY};${COIN_OSI_CBC_LIBRARY};${COIN_OSI_CLP_LIBRARY};${COIN_ZLIB_LIBRARY};${COIN_BZ2_LIBRARY};${COIN_CLP_LIBRARIES}")
|
|
93
|
+
SET(COIN_LIBRARIES ${COIN_CBC_LIBRARIES})
|
|
94
|
+
ENDIF(COIN_FOUND)
|
|
95
|
+
|
|
96
|
+
MARK_AS_ADVANCED(
|
|
97
|
+
COIN_INCLUDE_DIR
|
|
98
|
+
COIN_CBC_LIBRARY
|
|
99
|
+
COIN_CBC_SOLVER_LIBRARY
|
|
100
|
+
COIN_CGL_LIBRARY
|
|
101
|
+
COIN_CLP_LIBRARY
|
|
102
|
+
COIN_COIN_UTILS_LIBRARY
|
|
103
|
+
COIN_OSI_LIBRARY
|
|
104
|
+
COIN_OSI_CBC_LIBRARY
|
|
105
|
+
COIN_OSI_CLP_LIBRARY
|
|
106
|
+
COIN_OSI_VOL_LIBRARY
|
|
107
|
+
COIN_VOL_LIBRARY
|
|
108
|
+
COIN_ZLIB_LIBRARY
|
|
109
|
+
COIN_BZ2_LIBRARY
|
|
110
|
+
)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
SET(GLPK_ROOT_DIR "" CACHE PATH "GLPK root directory")
|
|
2
|
+
|
|
3
|
+
SET(GLPK_REGKEY "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Glpk;InstallPath]")
|
|
4
|
+
GET_FILENAME_COMPONENT(GLPK_ROOT_PATH ${GLPK_REGKEY} ABSOLUTE)
|
|
5
|
+
|
|
6
|
+
FIND_PATH(GLPK_INCLUDE_DIR
|
|
7
|
+
glpk.h
|
|
8
|
+
PATHS ${GLPK_REGKEY}/include
|
|
9
|
+
HINTS ${GLPK_ROOT_DIR}/include
|
|
10
|
+
)
|
|
11
|
+
FIND_LIBRARY(GLPK_LIBRARY
|
|
12
|
+
glpk
|
|
13
|
+
PATHS ${GLPK_REGKEY}/lib
|
|
14
|
+
HINTS ${GLPK_ROOT_DIR}/lib
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
IF(GLPK_INCLUDE_DIR AND GLPK_LIBRARY)
|
|
18
|
+
FILE(READ ${GLPK_INCLUDE_DIR}/glpk.h GLPK_GLPK_H)
|
|
19
|
+
|
|
20
|
+
STRING(REGEX MATCH "define[ ]+GLP_MAJOR_VERSION[ ]+[0-9]+" GLPK_MAJOR_VERSION_LINE "${GLPK_GLPK_H}")
|
|
21
|
+
STRING(REGEX REPLACE "define[ ]+GLP_MAJOR_VERSION[ ]+([0-9]+)" "\\1" GLPK_VERSION_MAJOR "${GLPK_MAJOR_VERSION_LINE}")
|
|
22
|
+
|
|
23
|
+
STRING(REGEX MATCH "define[ ]+GLP_MINOR_VERSION[ ]+[0-9]+" GLPK_MINOR_VERSION_LINE "${GLPK_GLPK_H}")
|
|
24
|
+
STRING(REGEX REPLACE "define[ ]+GLP_MINOR_VERSION[ ]+([0-9]+)" "\\1" GLPK_VERSION_MINOR "${GLPK_MINOR_VERSION_LINE}")
|
|
25
|
+
|
|
26
|
+
SET(GLPK_VERSION_STRING "${GLPK_VERSION_MAJOR}.${GLPK_VERSION_MINOR}")
|
|
27
|
+
|
|
28
|
+
IF(GLPK_FIND_VERSION)
|
|
29
|
+
IF(GLPK_FIND_VERSION_COUNT GREATER 2)
|
|
30
|
+
MESSAGE(SEND_ERROR "unexpected version string")
|
|
31
|
+
ENDIF(GLPK_FIND_VERSION_COUNT GREATER 2)
|
|
32
|
+
|
|
33
|
+
MATH(EXPR GLPK_REQUESTED_VERSION "${GLPK_FIND_VERSION_MAJOR}*100 + ${GLPK_FIND_VERSION_MINOR}")
|
|
34
|
+
MATH(EXPR GLPK_FOUND_VERSION "${GLPK_VERSION_MAJOR}*100 + ${GLPK_VERSION_MINOR}")
|
|
35
|
+
|
|
36
|
+
IF(GLPK_FOUND_VERSION LESS GLPK_REQUESTED_VERSION)
|
|
37
|
+
SET(GLPK_PROPER_VERSION_FOUND FALSE)
|
|
38
|
+
ELSE(GLPK_FOUND_VERSION LESS GLPK_REQUESTED_VERSION)
|
|
39
|
+
SET(GLPK_PROPER_VERSION_FOUND TRUE)
|
|
40
|
+
ENDIF(GLPK_FOUND_VERSION LESS GLPK_REQUESTED_VERSION)
|
|
41
|
+
ELSE(GLPK_FIND_VERSION)
|
|
42
|
+
SET(GLPK_PROPER_VERSION_FOUND TRUE)
|
|
43
|
+
ENDIF(GLPK_FIND_VERSION)
|
|
44
|
+
ENDIF(GLPK_INCLUDE_DIR AND GLPK_LIBRARY)
|
|
45
|
+
|
|
46
|
+
INCLUDE(FindPackageHandleStandardArgs)
|
|
47
|
+
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLPK DEFAULT_MSG GLPK_LIBRARY GLPK_INCLUDE_DIR GLPK_PROPER_VERSION_FOUND)
|
|
48
|
+
|
|
49
|
+
IF(GLPK_FOUND)
|
|
50
|
+
SET(GLPK_INCLUDE_DIRS ${GLPK_INCLUDE_DIR})
|
|
51
|
+
SET(GLPK_LIBRARIES ${GLPK_LIBRARY})
|
|
52
|
+
SET(GLPK_BIN_DIR ${GLPK_ROOT_PATH}/bin)
|
|
53
|
+
ENDIF(GLPK_FOUND)
|
|
54
|
+
|
|
55
|
+
MARK_AS_ADVANCED(GLPK_LIBRARY GLPK_INCLUDE_DIR GLPK_BIN_DIR)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
INCLUDE(FindPackageHandleStandardArgs)
|
|
2
|
+
|
|
3
|
+
FIND_PROGRAM(GHOSTSCRIPT_EXECUTABLE
|
|
4
|
+
NAMES gs gswin32c
|
|
5
|
+
PATHS "$ENV{ProgramFiles}/gs"
|
|
6
|
+
PATH_SUFFIXES gs8.61/bin gs8.62/bin gs8.63/bin gs8.64/bin gs8.65/bin
|
|
7
|
+
DOC "Ghostscript: PostScript and PDF language interpreter and previewer."
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Ghostscript DEFAULT_MSG GHOSTSCRIPT_EXECUTABLE)
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
FIND_PATH(ILOG_ROOT_DIR
|
|
2
|
+
NAMES cplex
|
|
3
|
+
DOC "CPLEX STUDIO root directory"
|
|
4
|
+
PATHS /opt/ibm/ILOG /usr/local/ibm/ILOG /usr/local/ILOG /usr/local/ilog
|
|
5
|
+
PATHS "$ENV{HOME}/ILOG" "$ENV{HOME}/.local/ILOG"
|
|
6
|
+
PATHS "$ENV{HOME}/ibm/ILOG" "$ENV{HOME}/.local/ibm/ILOG"
|
|
7
|
+
PATHS "C:/Program Files/IBM/ILOG"
|
|
8
|
+
PATH_SUFFIXES "CPLEX_Studio126" "CPLEX_Studio125"
|
|
9
|
+
"CPLEX_Studio124" "CPLEX_Studio123" "CPLEX_Studio122"
|
|
10
|
+
NO_DEFAULT_PATH
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
IF(WIN32)
|
|
14
|
+
IF(MSVC_VERSION STREQUAL "1400")
|
|
15
|
+
SET(ILOG_WIN_COMPILER "windows_vs2005")
|
|
16
|
+
ELSEIF(MSVC_VERSION STREQUAL "1500")
|
|
17
|
+
SET(ILOG_WIN_COMPILER "windows_vs2008")
|
|
18
|
+
ELSEIF(MSVC_VERSION STREQUAL "1600")
|
|
19
|
+
SET(ILOG_WIN_COMPILER "windows_vs2010")
|
|
20
|
+
ELSE()
|
|
21
|
+
SET(ILOG_WIN_COMPILER "windows_vs2008")
|
|
22
|
+
ENDIF()
|
|
23
|
+
IF(CMAKE_CL_64)
|
|
24
|
+
SET(ILOG_WIN_COMPILER "x64_${ILOG_WIN_COMPILER}")
|
|
25
|
+
SET(ILOG_WIN_PLATFORM "x64_win32")
|
|
26
|
+
ELSE()
|
|
27
|
+
SET(ILOG_WIN_COMPILER "x86_${ILOG_WIN_COMPILER}")
|
|
28
|
+
SET(ILOG_WIN_PLATFORM "x86_win32")
|
|
29
|
+
ENDIF()
|
|
30
|
+
ENDIF()
|
|
31
|
+
|
|
32
|
+
FIND_PATH(ILOG_CPLEX_ROOT_DIR
|
|
33
|
+
NAMES include/ilcplex
|
|
34
|
+
HINTS ${ILOG_ROOT_DIR}/cplex ${ILOG_ROOT_DIR}/cplex121
|
|
35
|
+
${ILOG_ROOT_DIR}/cplex122 ${ILOG_ROOT_DIR}/cplex123
|
|
36
|
+
DOC "CPLEX root directory"
|
|
37
|
+
NO_DEFAULT_PATH
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
FIND_PATH(ILOG_CONCERT_ROOT_DIR
|
|
41
|
+
NAMES include/ilconcert
|
|
42
|
+
HINTS ${ILOG_ROOT_DIR}/concert ${ILOG_ROOT_DIR}/concert29
|
|
43
|
+
DOC "CONCERT root directory"
|
|
44
|
+
NO_DEFAULT_PATH
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
FIND_PATH(ILOG_CPLEX_INCLUDE_DIR
|
|
48
|
+
ilcplex/cplex.h
|
|
49
|
+
HINTS ${ILOG_CPLEX_ROOT_DIR}/include
|
|
50
|
+
NO_DEFAULT_PATH
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
FIND_PATH(ILOG_CONCERT_INCLUDE_DIR
|
|
54
|
+
ilconcert/ilobasic.h
|
|
55
|
+
HINTS ${ILOG_CONCERT_ROOT_DIR}/include
|
|
56
|
+
NO_DEFAULT_PATH
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
FIND_LIBRARY(ILOG_CPLEX_LIBRARY
|
|
60
|
+
cplex cplex121 cplex122 cplex123 cplex124
|
|
61
|
+
HINTS ${ILOG_CPLEX_ROOT_DIR}/lib/x86_sles10_4.1/static_pic
|
|
62
|
+
${ILOG_CPLEX_ROOT_DIR}/lib/x86-64_sles10_4.1/static_pic
|
|
63
|
+
${ILOG_CPLEX_ROOT_DIR}/lib/x86_debian4.0_4.1/static_pic
|
|
64
|
+
${ILOG_CPLEX_ROOT_DIR}/lib/x86-64_debian4.0_4.1/static_pic
|
|
65
|
+
${ILOG_CPLEX_ROOT_DIR}/lib/${ILOG_WIN_COMPILER}/stat_mda
|
|
66
|
+
NO_DEFAULT_PATH
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
FIND_LIBRARY(ILOG_CONCERT_LIBRARY
|
|
70
|
+
concert
|
|
71
|
+
HINTS ${ILOG_CONCERT_ROOT_DIR}/lib/x86_sles10_4.1/static_pic
|
|
72
|
+
${ILOG_CONCERT_ROOT_DIR}/lib/x86-64_sles10_4.1/static_pic
|
|
73
|
+
${ILOG_CONCERT_ROOT_DIR}/lib/x86_debian4.0_4.1/static_pic
|
|
74
|
+
${ILOG_CONCERT_ROOT_DIR}/lib/x86-64_debian4.0_4.1/static_pic
|
|
75
|
+
${ILOG_CONCERT_ROOT_DIR}/lib/${ILOG_WIN_COMPILER}/stat_mda
|
|
76
|
+
NO_DEFAULT_PATH
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
FIND_FILE(ILOG_CPLEX_DLL
|
|
80
|
+
cplex121.dll cplex122.dll cplex123.dll cplex124.dll
|
|
81
|
+
HINTS ${ILOG_CPLEX_ROOT_DIR}/bin/${ILOG_WIN_PLATFORM}
|
|
82
|
+
NO_DEFAULT_PATH
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
INCLUDE(FindPackageHandleStandardArgs)
|
|
86
|
+
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ILOG
|
|
87
|
+
DEFAULT_MSG ILOG_CPLEX_LIBRARY ILOG_CPLEX_INCLUDE_DIR
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
IF(ILOG_FOUND)
|
|
91
|
+
SET(ILOG_INCLUDE_DIRS ${ILOG_CPLEX_INCLUDE_DIR} ${ILOG_CONCERT_INCLUDE_DIR})
|
|
92
|
+
SET(ILOG_LIBRARIES ${ILOG_CPLEX_LIBRARY} ${ILOG_CONCERT_LIBRARY})
|
|
93
|
+
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
94
|
+
# SET(CPLEX_LIBRARIES "${CPLEX_LIBRARIES};m;pthread")
|
|
95
|
+
SET(ILOG_LIBRARIES ${ILOG_LIBRARIES} "m" "pthread")
|
|
96
|
+
ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
97
|
+
ENDIF(ILOG_FOUND)
|
|
98
|
+
|
|
99
|
+
MARK_AS_ADVANCED(
|
|
100
|
+
ILOG_CPLEX_LIBRARY ILOG_CPLEX_INCLUDE_DIR ILOG_CPLEX_DLL
|
|
101
|
+
ILOG_CONCERT_LIBRARY ILOG_CONCERT_INCLUDE_DIR ILOG_CONCERT_DLL
|
|
102
|
+
)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
SET(SOPLEX_ROOT_DIR "" CACHE PATH "SoPlex root directory")
|
|
2
|
+
|
|
3
|
+
FIND_PATH(SOPLEX_INCLUDE_DIR
|
|
4
|
+
soplex.h
|
|
5
|
+
HINTS ${SOPLEX_ROOT_DIR}/src
|
|
6
|
+
)
|
|
7
|
+
FIND_LIBRARY(SOPLEX_LIBRARY
|
|
8
|
+
soplex
|
|
9
|
+
HINTS ${SOPLEX_ROOT_DIR}/lib
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
INCLUDE(FindPackageHandleStandardArgs)
|
|
13
|
+
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SOPLEX DEFAULT_MSG SOPLEX_LIBRARY SOPLEX_INCLUDE_DIR)
|
|
14
|
+
|
|
15
|
+
IF(SOPLEX_FOUND)
|
|
16
|
+
SET(SOPLEX_INCLUDE_DIRS ${SOPLEX_INCLUDE_DIR})
|
|
17
|
+
SET(SOPLEX_LIBRARIES ${SOPLEX_LIBRARY})
|
|
18
|
+
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
19
|
+
SET(SOPLEX_LIBRARIES "${SOPLEX_LIBRARIES};z")
|
|
20
|
+
ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
21
|
+
ENDIF(SOPLEX_FOUND)
|
|
22
|
+
|
|
23
|
+
MARK_AS_ADVANCED(SOPLEX_LIBRARY SOPLEX_INCLUDE_DIR)
|