popso 0.8.2__tar.gz

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.
Files changed (138) hide show
  1. popso-0.8.2/.gitignore +27 -0
  2. popso-0.8.2/BENCHMARKS.md +1165 -0
  3. popso-0.8.2/CHANGELOG.md +1337 -0
  4. popso-0.8.2/CMakeLists.txt +94 -0
  5. popso-0.8.2/LICENSE +202 -0
  6. popso-0.8.2/NOTICE +4 -0
  7. popso-0.8.2/PKG-INFO +45 -0
  8. popso-0.8.2/README.md +485 -0
  9. popso-0.8.2/apps/popso_main.cpp +319 -0
  10. popso-0.8.2/include/popso.h +367 -0
  11. popso-0.8.2/pyproject.toml +45 -0
  12. popso-0.8.2/python/README.md +26 -0
  13. popso-0.8.2/python/popso/__init__.py +54 -0
  14. popso-0.8.2/python/popso/_lib.py +143 -0
  15. popso-0.8.2/python/popso/model.py +1030 -0
  16. popso-0.8.2/src/api/CMakeLists.txt +69 -0
  17. popso-0.8.2/src/api/popso_c.cpp +1042 -0
  18. popso-0.8.2/src/milp/conic/relaxation.cpp +242 -0
  19. popso-0.8.2/src/milp/conic/relaxation.hpp +37 -0
  20. popso-0.8.2/src/milp/conic/socp.cpp +893 -0
  21. popso-0.8.2/src/milp/conic/socp.hpp +76 -0
  22. popso-0.8.2/src/milp/core/interrupt.hpp +140 -0
  23. popso-0.8.2/src/milp/core/log.hpp +34 -0
  24. popso-0.8.2/src/milp/core/memory.cpp +78 -0
  25. popso-0.8.2/src/milp/core/memory.hpp +15 -0
  26. popso-0.8.2/src/milp/core/model.cpp +278 -0
  27. popso-0.8.2/src/milp/core/model.hpp +146 -0
  28. popso-0.8.2/src/milp/core/sparse.cpp +76 -0
  29. popso-0.8.2/src/milp/core/sparse.hpp +72 -0
  30. popso-0.8.2/src/milp/core/timer.hpp +18 -0
  31. popso-0.8.2/src/milp/core/types.hpp +34 -0
  32. popso-0.8.2/src/milp/core/worker_pool.hpp +104 -0
  33. popso-0.8.2/src/milp/cuts/clique.cpp +265 -0
  34. popso-0.8.2/src/milp/cuts/cover.cpp +222 -0
  35. popso-0.8.2/src/milp/cuts/cut.cpp +425 -0
  36. popso-0.8.2/src/milp/cuts/cut.hpp +171 -0
  37. popso-0.8.2/src/milp/cuts/cut_loop.cpp +807 -0
  38. popso-0.8.2/src/milp/cuts/cut_loop.hpp +143 -0
  39. popso-0.8.2/src/milp/cuts/gomory.cpp +207 -0
  40. popso-0.8.2/src/milp/cuts/implied.cpp +132 -0
  41. popso-0.8.2/src/milp/cuts/mcf.cpp +322 -0
  42. popso-0.8.2/src/milp/cuts/mcf.hpp +42 -0
  43. popso-0.8.2/src/milp/cuts/mir.cpp +1516 -0
  44. popso-0.8.2/src/milp/cuts/quad_oa.cpp +60 -0
  45. popso-0.8.2/src/milp/cuts/zerohalf.cpp +365 -0
  46. popso-0.8.2/src/milp/heuristics/diving.cpp +202 -0
  47. popso-0.8.2/src/milp/heuristics/diving.hpp +56 -0
  48. popso-0.8.2/src/milp/heuristics/feaspump.cpp +170 -0
  49. popso-0.8.2/src/milp/heuristics/feaspump.hpp +29 -0
  50. popso-0.8.2/src/milp/heuristics/fj.cpp +325 -0
  51. popso-0.8.2/src/milp/heuristics/fj.hpp +43 -0
  52. popso-0.8.2/src/milp/heuristics/fpr.cpp +1090 -0
  53. popso-0.8.2/src/milp/heuristics/fpr.hpp +96 -0
  54. popso-0.8.2/src/milp/heuristics/lmip.cpp +717 -0
  55. popso-0.8.2/src/milp/heuristics/lmip.hpp +71 -0
  56. popso-0.8.2/src/milp/heuristics/localsearch.cpp +148 -0
  57. popso-0.8.2/src/milp/heuristics/localsearch.hpp +31 -0
  58. popso-0.8.2/src/milp/heuristics/rounding.cpp +112 -0
  59. popso-0.8.2/src/milp/heuristics/rounding.hpp +41 -0
  60. popso-0.8.2/src/milp/heuristics/submip.cpp +708 -0
  61. popso-0.8.2/src/milp/heuristics/submip.hpp +108 -0
  62. popso-0.8.2/src/milp/io/anonymize.cpp +221 -0
  63. popso-0.8.2/src/milp/io/anonymize.hpp +48 -0
  64. popso-0.8.2/src/milp/io/cbf_reader.cpp +312 -0
  65. popso-0.8.2/src/milp/io/cbf_reader.hpp +31 -0
  66. popso-0.8.2/src/milp/io/charconv_compat.hpp +80 -0
  67. popso-0.8.2/src/milp/io/gzip.cpp +412 -0
  68. popso-0.8.2/src/milp/io/gzip.hpp +52 -0
  69. popso-0.8.2/src/milp/io/lp_reader.cpp +959 -0
  70. popso-0.8.2/src/milp/io/lp_reader.hpp +72 -0
  71. popso-0.8.2/src/milp/io/mps_reader.cpp +1131 -0
  72. popso-0.8.2/src/milp/io/mps_reader.hpp +79 -0
  73. popso-0.8.2/src/milp/io/solution.cpp +130 -0
  74. popso-0.8.2/src/milp/io/solution.hpp +46 -0
  75. popso-0.8.2/src/milp/lp/barrier.cpp +1288 -0
  76. popso-0.8.2/src/milp/lp/barrier.hpp +97 -0
  77. popso-0.8.2/src/milp/lp/cholesky.cpp +503 -0
  78. popso-0.8.2/src/milp/lp/cholesky.hpp +121 -0
  79. popso-0.8.2/src/milp/lp/crossover.cpp +534 -0
  80. popso-0.8.2/src/milp/lp/crossover.hpp +77 -0
  81. popso-0.8.2/src/milp/lp/lu.cpp +1751 -0
  82. popso-0.8.2/src/milp/lp/lu.hpp +170 -0
  83. popso-0.8.2/src/milp/lp/ordering.cpp +270 -0
  84. popso-0.8.2/src/milp/lp/ordering.hpp +25 -0
  85. popso-0.8.2/src/milp/lp/simplex.cpp +2008 -0
  86. popso-0.8.2/src/milp/lp/simplex.hpp +305 -0
  87. popso-0.8.2/src/milp/presolve/clique_merge.cpp +380 -0
  88. popso-0.8.2/src/milp/presolve/clique_merge.hpp +48 -0
  89. popso-0.8.2/src/milp/presolve/implied_int.cpp +120 -0
  90. popso-0.8.2/src/milp/presolve/implied_int.hpp +37 -0
  91. popso-0.8.2/src/milp/presolve/presolve.cpp +2096 -0
  92. popso-0.8.2/src/milp/presolve/presolve.hpp +169 -0
  93. popso-0.8.2/src/milp/presolve/probing.cpp +561 -0
  94. popso-0.8.2/src/milp/presolve/probing.hpp +62 -0
  95. popso-0.8.2/src/milp/qp/miqp.cpp +956 -0
  96. popso-0.8.2/src/milp/qp/miqp.hpp +62 -0
  97. popso-0.8.2/src/milp/qp/qp.cpp +450 -0
  98. popso-0.8.2/src/milp/qp/qp.hpp +74 -0
  99. popso-0.8.2/src/milp/qp/qp_active.cpp +826 -0
  100. popso-0.8.2/src/milp/qp/qp_active.hpp +93 -0
  101. popso-0.8.2/src/milp/qp/qp_presolve.cpp +345 -0
  102. popso-0.8.2/src/milp/qp/qp_presolve.hpp +78 -0
  103. popso-0.8.2/src/milp/search/branch_and_bound.cpp +7328 -0
  104. popso-0.8.2/src/milp/search/branch_and_bound.hpp +192 -0
  105. popso-0.8.2/src/milp/search/branch_score.hpp +131 -0
  106. popso-0.8.2/src/milp/search/conflict.cpp +707 -0
  107. popso-0.8.2/src/milp/search/conflict.hpp +122 -0
  108. popso-0.8.2/src/milp/search/genres.cpp +613 -0
  109. popso-0.8.2/src/milp/search/genres.hpp +70 -0
  110. popso-0.8.2/src/milp/search/mip_problem.cpp +190 -0
  111. popso-0.8.2/src/milp/search/mip_problem.hpp +105 -0
  112. popso-0.8.2/src/milp/search/node_store.cpp +664 -0
  113. popso-0.8.2/src/milp/search/node_store.hpp +626 -0
  114. popso-0.8.2/src/milp/search/obj_cliques.cpp +253 -0
  115. popso-0.8.2/src/milp/search/obj_cliques.hpp +75 -0
  116. popso-0.8.2/src/milp/search/orbitope.cpp +510 -0
  117. popso-0.8.2/src/milp/search/orbitope.hpp +55 -0
  118. popso-0.8.2/src/milp/search/propagation.cpp +191 -0
  119. popso-0.8.2/src/milp/search/propagation.hpp +58 -0
  120. popso-0.8.2/src/milp/search/sst.cpp +368 -0
  121. popso-0.8.2/src/milp/search/sst.hpp +59 -0
  122. popso-0.8.2/src/milp/search/symmetry.cpp +626 -0
  123. popso-0.8.2/src/milp/search/symmetry.hpp +88 -0
  124. popso-0.8.2/src/milp/search/trail.hpp +90 -0
  125. popso-0.8.2/src/milp/solver/duals.cpp +89 -0
  126. popso-0.8.2/src/milp/solver/duals.hpp +49 -0
  127. popso-0.8.2/src/milp/solver/postsolve.cpp +94 -0
  128. popso-0.8.2/src/milp/solver/postsolve.hpp +34 -0
  129. popso-0.8.2/src/milp/solver/profile.cpp +508 -0
  130. popso-0.8.2/src/milp/solver/profile.hpp +114 -0
  131. popso-0.8.2/src/milp/solver/reformulate.cpp +391 -0
  132. popso-0.8.2/src/milp/solver/reformulate.hpp +64 -0
  133. popso-0.8.2/src/milp/solver/solver.cpp +1903 -0
  134. popso-0.8.2/src/milp/solver/solver.hpp +148 -0
  135. popso-0.8.2/src/milp/solver/square_terms.cpp +216 -0
  136. popso-0.8.2/src/milp/solver/square_terms.hpp +58 -0
  137. popso-0.8.2/src/milp/solver/start.cpp +86 -0
  138. popso-0.8.2/src/milp/solver/start.hpp +28 -0
popso-0.8.2/.gitignore ADDED
@@ -0,0 +1,27 @@
1
+ build/
2
+ build-*/
3
+ .venv/
4
+ __pycache__/
5
+ *.pyc
6
+ .DS_Store
7
+ benchmarks/miplib/
8
+ benchmarks/qplib/
9
+ benchmarks/cblib/
10
+ benchmarks/results/tmp/
11
+ *.sol.tmp
12
+ .vscode/
13
+ .idea/
14
+ .claude/
15
+
16
+ # local-only data and tools (never committed)
17
+ private/
18
+
19
+ # shared library copied into the Python package; Python build output
20
+ python/popso/*.so
21
+ python/popso/*.dylib
22
+ python/popso/*.dll
23
+ python/build/
24
+ python/*.egg-info/
25
+
26
+ # benchmark result files (a few older ones are tracked on purpose)
27
+ benchmarks/results/