lpsolver 0.1.0 → 0.2.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.
Files changed (1165) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/README.md +104 -26
  4. data/ext/lpsolver/Makefile +269 -0
  5. data/ext/lpsolver/ext.c +353 -0
  6. data/ext/lpsolver/ext.o +0 -0
  7. data/ext/lpsolver/extconf.rb +79 -0
  8. data/ext/lpsolver/native.so +0 -0
  9. data/ext/lpsolver-highs/AUTHORS +7 -0
  10. data/ext/lpsolver-highs/BUILD.bazel +243 -0
  11. data/ext/lpsolver-highs/CITATION.cff +29 -0
  12. data/ext/lpsolver-highs/CMakeCache.txt +406 -0
  13. data/ext/lpsolver-highs/CMakeFiles/3.31.4/CMakeCCompiler.cmake +81 -0
  14. data/ext/lpsolver-highs/CMakeFiles/3.31.4/CMakeCXXCompiler.cmake +101 -0
  15. data/ext/lpsolver-highs/CMakeFiles/3.31.4/CMakeDetermineCompilerABI_C.bin +0 -0
  16. data/ext/lpsolver-highs/CMakeFiles/3.31.4/CMakeDetermineCompilerABI_CXX.bin +0 -0
  17. data/ext/lpsolver-highs/CMakeFiles/3.31.4/CMakeSystem.cmake +15 -0
  18. data/ext/lpsolver-highs/CMakeFiles/3.31.4/CompilerIdC/CMakeCCompilerId.c +904 -0
  19. data/ext/lpsolver-highs/CMakeFiles/3.31.4/CompilerIdC/a.out +0 -0
  20. data/ext/lpsolver-highs/CMakeFiles/3.31.4/CompilerIdCXX/CMakeCXXCompilerId.cpp +919 -0
  21. data/ext/lpsolver-highs/CMakeFiles/3.31.4/CompilerIdCXX/a.out +0 -0
  22. data/ext/lpsolver-highs/CMakeFiles/CMakeConfigureLog.yaml +576 -0
  23. data/ext/lpsolver-highs/CMakeFiles/cmake.check_cache +1 -0
  24. data/ext/lpsolver-highs/CMakeLists.txt +983 -0
  25. data/ext/lpsolver-highs/CODE_OF_CONDUCT.md +128 -0
  26. data/ext/lpsolver-highs/CONTRIBUTING.md +31 -0
  27. data/ext/lpsolver-highs/FEATURES.md +61 -0
  28. data/ext/lpsolver-highs/LICENSE.txt +21 -0
  29. data/ext/lpsolver-highs/MODULE.bazel +38 -0
  30. data/ext/lpsolver-highs/README.md +281 -0
  31. data/ext/lpsolver-highs/THIRD_PARTY_NOTICES.md +78 -0
  32. data/ext/lpsolver-highs/Version.txt +4 -0
  33. data/ext/lpsolver-highs/WORKSPACE +33 -0
  34. data/ext/lpsolver-highs/app/CMakeLists.txt +110 -0
  35. data/ext/lpsolver-highs/app/HighsRuntimeOptions.h +292 -0
  36. data/ext/lpsolver-highs/app/RunHighs.cpp +147 -0
  37. data/ext/lpsolver-highs/app/highs_webdemo_shell.html +73 -0
  38. data/ext/lpsolver-highs/build/bin/highs +0 -0
  39. data/ext/lpsolver-highs/build/include/highs/HConfig.h +22 -0
  40. data/ext/lpsolver-highs/build/include/highs/Highs.h +1812 -0
  41. data/ext/lpsolver-highs/build/include/highs/interfaces/highs_c_api.h +2651 -0
  42. data/ext/lpsolver-highs/build/include/highs/io/Filereader.h +45 -0
  43. data/ext/lpsolver-highs/build/include/highs/io/FilereaderLp.h +49 -0
  44. data/ext/lpsolver-highs/build/include/highs/io/FilereaderMps.h +27 -0
  45. data/ext/lpsolver-highs/build/include/highs/io/HMPSIO.h +78 -0
  46. data/ext/lpsolver-highs/build/include/highs/io/HMpsFF.h +245 -0
  47. data/ext/lpsolver-highs/build/include/highs/io/HighsIO.h +118 -0
  48. data/ext/lpsolver-highs/build/include/highs/io/LoadOptions.h +24 -0
  49. data/ext/lpsolver-highs/build/include/highs/io/filereaderlp/builder.hpp +25 -0
  50. data/ext/lpsolver-highs/build/include/highs/io/filereaderlp/def.hpp +19 -0
  51. data/ext/lpsolver-highs/build/include/highs/io/filereaderlp/model.hpp +68 -0
  52. data/ext/lpsolver-highs/build/include/highs/io/filereaderlp/reader.hpp +10 -0
  53. data/ext/lpsolver-highs/build/include/highs/ipm/IpxSolution.h +32 -0
  54. data/ext/lpsolver-highs/build/include/highs/ipm/IpxWrapper.h +106 -0
  55. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu.h +161 -0
  56. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  57. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  58. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  59. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  60. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  61. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  62. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  63. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  64. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  65. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  66. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  67. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  68. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  69. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  70. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  71. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  72. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/lu_def.h +39 -0
  73. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/lu_file.h +21 -0
  74. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/lu_internal.h +220 -0
  75. data/ext/lpsolver-highs/build/include/highs/ipm/basiclu/lu_list.h +173 -0
  76. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  77. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  78. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/basis.h +350 -0
  79. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  80. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/control.h +167 -0
  81. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/crossover.h +157 -0
  82. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  83. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  84. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/guess_basis.h +21 -0
  85. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/indexed_vector.h +113 -0
  86. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/info.h +27 -0
  87. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/ipm.h +94 -0
  88. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/ipx_c.h +47 -0
  89. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/ipx_config.h +9 -0
  90. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/ipx_info.h +111 -0
  91. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/ipx_internal.h +89 -0
  92. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/ipx_parameters.h +76 -0
  93. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/ipx_status.h +57 -0
  94. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/iterate.h +331 -0
  95. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/kkt_solver.h +70 -0
  96. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  97. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  98. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/linear_operator.h +26 -0
  99. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/lp_solver.h +204 -0
  100. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/lu_factorization.h +79 -0
  101. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/lu_update.h +129 -0
  102. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/maxvolume.h +54 -0
  103. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/model.h +413 -0
  104. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/multistream.h +52 -0
  105. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/normal_matrix.h +44 -0
  106. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/power_method.h +44 -0
  107. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  108. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/sparse_utils.h +58 -0
  109. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  110. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/starting_basis.h +39 -0
  111. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  112. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/timer.h +25 -0
  113. data/ext/lpsolver-highs/build/include/highs/ipm/ipx/utils.h +37 -0
  114. data/ext/lpsolver-highs/build/include/highs/lp_data/HConst.h +430 -0
  115. data/ext/lpsolver-highs/build/include/highs/lp_data/HStruct.h +213 -0
  116. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsAnalysis.h +23 -0
  117. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsCallback.h +104 -0
  118. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsCallbackStruct.h +70 -0
  119. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsDebug.h +34 -0
  120. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsIis.h +139 -0
  121. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsInfo.h +421 -0
  122. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsInfoDebug.h +27 -0
  123. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsLp.h +97 -0
  124. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsLpSolverObject.h +47 -0
  125. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsLpUtils.h +330 -0
  126. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsModelUtils.h +129 -0
  127. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsOptions.h +1715 -0
  128. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsRanging.h +43 -0
  129. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsSolution.h +179 -0
  130. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsSolutionDebug.h +87 -0
  131. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsSolve.h +29 -0
  132. data/ext/lpsolver-highs/build/include/highs/lp_data/HighsStatus.h +29 -0
  133. data/ext/lpsolver-highs/build/include/highs/mip/HighsCliqueTable.h +329 -0
  134. data/ext/lpsolver-highs/build/include/highs/mip/HighsConflictPool.h +109 -0
  135. data/ext/lpsolver-highs/build/include/highs/mip/HighsCutGeneration.h +108 -0
  136. data/ext/lpsolver-highs/build/include/highs/mip/HighsCutPool.h +168 -0
  137. data/ext/lpsolver-highs/build/include/highs/mip/HighsDebugSol.h +133 -0
  138. data/ext/lpsolver-highs/build/include/highs/mip/HighsDomain.h +657 -0
  139. data/ext/lpsolver-highs/build/include/highs/mip/HighsDomainChange.h +48 -0
  140. data/ext/lpsolver-highs/build/include/highs/mip/HighsDynamicRowMatrix.h +104 -0
  141. data/ext/lpsolver-highs/build/include/highs/mip/HighsGFkSolve.h +439 -0
  142. data/ext/lpsolver-highs/build/include/highs/mip/HighsImplications.h +194 -0
  143. data/ext/lpsolver-highs/build/include/highs/mip/HighsLpAggregator.h +50 -0
  144. data/ext/lpsolver-highs/build/include/highs/mip/HighsLpRelaxation.h +361 -0
  145. data/ext/lpsolver-highs/build/include/highs/mip/HighsMipAnalysis.h +71 -0
  146. data/ext/lpsolver-highs/build/include/highs/mip/HighsMipSolver.h +159 -0
  147. data/ext/lpsolver-highs/build/include/highs/mip/HighsMipSolverData.h +313 -0
  148. data/ext/lpsolver-highs/build/include/highs/mip/HighsModkSeparator.h +60 -0
  149. data/ext/lpsolver-highs/build/include/highs/mip/HighsNodeQueue.h +312 -0
  150. data/ext/lpsolver-highs/build/include/highs/mip/HighsObjectiveFunction.h +71 -0
  151. data/ext/lpsolver-highs/build/include/highs/mip/HighsPathSeparator.h +39 -0
  152. data/ext/lpsolver-highs/build/include/highs/mip/HighsPrimalHeuristics.h +75 -0
  153. data/ext/lpsolver-highs/build/include/highs/mip/HighsPseudocost.h +366 -0
  154. data/ext/lpsolver-highs/build/include/highs/mip/HighsRedcostFixing.h +42 -0
  155. data/ext/lpsolver-highs/build/include/highs/mip/HighsSearch.h +241 -0
  156. data/ext/lpsolver-highs/build/include/highs/mip/HighsSeparation.h +41 -0
  157. data/ext/lpsolver-highs/build/include/highs/mip/HighsSeparator.h +60 -0
  158. data/ext/lpsolver-highs/build/include/highs/mip/HighsTableauSeparator.h +34 -0
  159. data/ext/lpsolver-highs/build/include/highs/mip/HighsTransformedLp.h +63 -0
  160. data/ext/lpsolver-highs/build/include/highs/mip/MipTimer.h +544 -0
  161. data/ext/lpsolver-highs/build/include/highs/mip/feasibilityjump.hh +800 -0
  162. data/ext/lpsolver-highs/build/include/highs/model/HighsHessian.h +54 -0
  163. data/ext/lpsolver-highs/build/include/highs/model/HighsHessianUtils.h +47 -0
  164. data/ext/lpsolver-highs/build/include/highs/model/HighsModel.h +42 -0
  165. data/ext/lpsolver-highs/build/include/highs/parallel/HighsBinarySemaphore.h +108 -0
  166. data/ext/lpsolver-highs/build/include/highs/parallel/HighsCacheAlign.h +82 -0
  167. data/ext/lpsolver-highs/build/include/highs/parallel/HighsCombinable.h +116 -0
  168. data/ext/lpsolver-highs/build/include/highs/parallel/HighsMutex.h +124 -0
  169. data/ext/lpsolver-highs/build/include/highs/parallel/HighsParallel.h +128 -0
  170. data/ext/lpsolver-highs/build/include/highs/parallel/HighsRaceTimer.h +38 -0
  171. data/ext/lpsolver-highs/build/include/highs/parallel/HighsSchedulerConstants.h +19 -0
  172. data/ext/lpsolver-highs/build/include/highs/parallel/HighsSpinMutex.h +48 -0
  173. data/ext/lpsolver-highs/build/include/highs/parallel/HighsSplitDeque.h +606 -0
  174. data/ext/lpsolver-highs/build/include/highs/parallel/HighsTask.h +170 -0
  175. data/ext/lpsolver-highs/build/include/highs/parallel/HighsTaskExecutor.h +217 -0
  176. data/ext/lpsolver-highs/build/include/highs/pdlp/CupdlpWrapper.h +108 -0
  177. data/ext/lpsolver-highs/build/include/highs/pdlp/HiPdlpTimer.h +155 -0
  178. data/ext/lpsolver-highs/build/include/highs/pdlp/HiPdlpWrapper.h +26 -0
  179. data/ext/lpsolver-highs/build/include/highs/pdlp/cupdlp/cupdlp_cs.h +40 -0
  180. data/ext/lpsolver-highs/build/include/highs/pdlp/cupdlp/cupdlp_defs.h +447 -0
  181. data/ext/lpsolver-highs/build/include/highs/pdlp/cupdlp/cupdlp_linalg.h +189 -0
  182. data/ext/lpsolver-highs/build/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  183. data/ext/lpsolver-highs/build/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  184. data/ext/lpsolver-highs/build/include/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
  185. data/ext/lpsolver-highs/build/include/highs/pdlp/cupdlp/cupdlp_solver.h +105 -0
  186. data/ext/lpsolver-highs/build/include/highs/pdlp/cupdlp/cupdlp_step.h +37 -0
  187. data/ext/lpsolver-highs/build/include/highs/pdlp/cupdlp/cupdlp_utils.c +1850 -0
  188. data/ext/lpsolver-highs/build/include/highs/pdlp/hipdlp/defs.hpp +222 -0
  189. data/ext/lpsolver-highs/build/include/highs/pdlp/hipdlp/linalg.hpp +61 -0
  190. data/ext/lpsolver-highs/build/include/highs/pdlp/hipdlp/logger.hpp +80 -0
  191. data/ext/lpsolver-highs/build/include/highs/pdlp/hipdlp/pdhg.hpp +358 -0
  192. data/ext/lpsolver-highs/build/include/highs/pdlp/hipdlp/restart.hpp +96 -0
  193. data/ext/lpsolver-highs/build/include/highs/pdlp/hipdlp/scaling.hpp +74 -0
  194. data/ext/lpsolver-highs/build/include/highs/pdlp/hipdlp/solver_results.hpp +65 -0
  195. data/ext/lpsolver-highs/build/include/highs/pdqsort/pdqsort.h +532 -0
  196. data/ext/lpsolver-highs/build/include/highs/presolve/HPresolve.h +505 -0
  197. data/ext/lpsolver-highs/build/include/highs/presolve/HPresolveAnalysis.h +52 -0
  198. data/ext/lpsolver-highs/build/include/highs/presolve/HighsPostsolveStack.h +943 -0
  199. data/ext/lpsolver-highs/build/include/highs/presolve/HighsSymmetry.h +284 -0
  200. data/ext/lpsolver-highs/build/include/highs/presolve/ICrash.h +124 -0
  201. data/ext/lpsolver-highs/build/include/highs/presolve/ICrashUtil.h +62 -0
  202. data/ext/lpsolver-highs/build/include/highs/presolve/ICrashX.h +23 -0
  203. data/ext/lpsolver-highs/build/include/highs/presolve/PresolveComponent.h +90 -0
  204. data/ext/lpsolver-highs/build/include/highs/qpsolver/a_asm.hpp +77 -0
  205. data/ext/lpsolver-highs/build/include/highs/qpsolver/a_quass.hpp +22 -0
  206. data/ext/lpsolver-highs/build/include/highs/qpsolver/basis.hpp +159 -0
  207. data/ext/lpsolver-highs/build/include/highs/qpsolver/crashsolution.hpp +20 -0
  208. data/ext/lpsolver-highs/build/include/highs/qpsolver/dantzigpricing.hpp +80 -0
  209. data/ext/lpsolver-highs/build/include/highs/qpsolver/devexpricing.hpp +108 -0
  210. data/ext/lpsolver-highs/build/include/highs/qpsolver/eventhandler.hpp +30 -0
  211. data/ext/lpsolver-highs/build/include/highs/qpsolver/factor.hpp +408 -0
  212. data/ext/lpsolver-highs/build/include/highs/qpsolver/feasibility_bounded.hpp +114 -0
  213. data/ext/lpsolver-highs/build/include/highs/qpsolver/feasibility_highs.hpp +301 -0
  214. data/ext/lpsolver-highs/build/include/highs/qpsolver/gradient.hpp +46 -0
  215. data/ext/lpsolver-highs/build/include/highs/qpsolver/instance.hpp +70 -0
  216. data/ext/lpsolver-highs/build/include/highs/qpsolver/matrix.hpp +342 -0
  217. data/ext/lpsolver-highs/build/include/highs/qpsolver/perturbation.hpp +15 -0
  218. data/ext/lpsolver-highs/build/include/highs/qpsolver/pricing.hpp +22 -0
  219. data/ext/lpsolver-highs/build/include/highs/qpsolver/qpconst.hpp +34 -0
  220. data/ext/lpsolver-highs/build/include/highs/qpsolver/qpvector.hpp +242 -0
  221. data/ext/lpsolver-highs/build/include/highs/qpsolver/quass.hpp +27 -0
  222. data/ext/lpsolver-highs/build/include/highs/qpsolver/ratiotest.hpp +26 -0
  223. data/ext/lpsolver-highs/build/include/highs/qpsolver/runtime.hpp +45 -0
  224. data/ext/lpsolver-highs/build/include/highs/qpsolver/scaling.hpp +15 -0
  225. data/ext/lpsolver-highs/build/include/highs/qpsolver/settings.hpp +84 -0
  226. data/ext/lpsolver-highs/build/include/highs/qpsolver/snippets.hpp +36 -0
  227. data/ext/lpsolver-highs/build/include/highs/qpsolver/statistics.hpp +30 -0
  228. data/ext/lpsolver-highs/build/include/highs/qpsolver/steepestedgepricing.hpp +173 -0
  229. data/ext/lpsolver-highs/build/include/highs/simplex/HApp.h +550 -0
  230. data/ext/lpsolver-highs/build/include/highs/simplex/HEkk.h +419 -0
  231. data/ext/lpsolver-highs/build/include/highs/simplex/HEkkDual.h +513 -0
  232. data/ext/lpsolver-highs/build/include/highs/simplex/HEkkDualRHS.h +134 -0
  233. data/ext/lpsolver-highs/build/include/highs/simplex/HEkkDualRow.h +201 -0
  234. data/ext/lpsolver-highs/build/include/highs/simplex/HEkkPrimal.h +191 -0
  235. data/ext/lpsolver-highs/build/include/highs/simplex/HSimplex.h +42 -0
  236. data/ext/lpsolver-highs/build/include/highs/simplex/HSimplexDebug.h +48 -0
  237. data/ext/lpsolver-highs/build/include/highs/simplex/HSimplexNla.h +158 -0
  238. data/ext/lpsolver-highs/build/include/highs/simplex/HSimplexReport.h +21 -0
  239. data/ext/lpsolver-highs/build/include/highs/simplex/HighsSimplexAnalysis.h +500 -0
  240. data/ext/lpsolver-highs/build/include/highs/simplex/SimplexConst.h +273 -0
  241. data/ext/lpsolver-highs/build/include/highs/simplex/SimplexStruct.h +263 -0
  242. data/ext/lpsolver-highs/build/include/highs/simplex/SimplexTimer.h +414 -0
  243. data/ext/lpsolver-highs/build/include/highs/test_kkt/DevKkt.h +143 -0
  244. data/ext/lpsolver-highs/build/include/highs/test_kkt/KktCh2.h +79 -0
  245. data/ext/lpsolver-highs/build/include/highs/util/FactorTimer.h +199 -0
  246. data/ext/lpsolver-highs/build/include/highs/util/HFactor.h +587 -0
  247. data/ext/lpsolver-highs/build/include/highs/util/HFactorConst.h +81 -0
  248. data/ext/lpsolver-highs/build/include/highs/util/HFactorDebug.h +55 -0
  249. data/ext/lpsolver-highs/build/include/highs/util/HSet.h +89 -0
  250. data/ext/lpsolver-highs/build/include/highs/util/HVector.h +22 -0
  251. data/ext/lpsolver-highs/build/include/highs/util/HVectorBase.h +102 -0
  252. data/ext/lpsolver-highs/build/include/highs/util/HighsCDouble.h +323 -0
  253. data/ext/lpsolver-highs/build/include/highs/util/HighsComponent.h +53 -0
  254. data/ext/lpsolver-highs/build/include/highs/util/HighsDataStack.h +83 -0
  255. data/ext/lpsolver-highs/build/include/highs/util/HighsDisjointSets.h +107 -0
  256. data/ext/lpsolver-highs/build/include/highs/util/HighsHash.h +1274 -0
  257. data/ext/lpsolver-highs/build/include/highs/util/HighsHashTree.h +1461 -0
  258. data/ext/lpsolver-highs/build/include/highs/util/HighsInt.h +36 -0
  259. data/ext/lpsolver-highs/build/include/highs/util/HighsIntegers.h +212 -0
  260. data/ext/lpsolver-highs/build/include/highs/util/HighsLinearSumBounds.h +203 -0
  261. data/ext/lpsolver-highs/build/include/highs/util/HighsMatrixPic.h +37 -0
  262. data/ext/lpsolver-highs/build/include/highs/util/HighsMatrixSlice.h +561 -0
  263. data/ext/lpsolver-highs/build/include/highs/util/HighsMatrixUtils.h +57 -0
  264. data/ext/lpsolver-highs/build/include/highs/util/HighsMemoryAllocation.h +63 -0
  265. data/ext/lpsolver-highs/build/include/highs/util/HighsRandom.h +242 -0
  266. data/ext/lpsolver-highs/build/include/highs/util/HighsRbTree.h +452 -0
  267. data/ext/lpsolver-highs/build/include/highs/util/HighsSort.h +131 -0
  268. data/ext/lpsolver-highs/build/include/highs/util/HighsSparseMatrix.h +151 -0
  269. data/ext/lpsolver-highs/build/include/highs/util/HighsSparseVectorSum.h +95 -0
  270. data/ext/lpsolver-highs/build/include/highs/util/HighsSplay.h +135 -0
  271. data/ext/lpsolver-highs/build/include/highs/util/HighsTimer.h +385 -0
  272. data/ext/lpsolver-highs/build/include/highs/util/HighsUtils.h +272 -0
  273. data/ext/lpsolver-highs/build/include/highs/util/stringutil.h +46 -0
  274. data/ext/lpsolver-highs/build/include/highs/zstr/strict_fstream.hpp +237 -0
  275. data/ext/lpsolver-highs/build/include/highs/zstr/zstr.hpp +473 -0
  276. data/ext/lpsolver-highs/build/include/highs_export.h +43 -0
  277. data/ext/lpsolver-highs/build/lib/cmake/highs/highs-config-version.cmake +65 -0
  278. data/ext/lpsolver-highs/build/lib/cmake/highs/highs-config.cmake +36 -0
  279. data/ext/lpsolver-highs/build/lib/cmake/highs/highs-targets-release.cmake +19 -0
  280. data/ext/lpsolver-highs/build/lib/cmake/highs/highs-targets.cmake +111 -0
  281. data/ext/lpsolver-highs/build/lib/libhighs.a +0 -0
  282. data/ext/lpsolver-highs/build/lib/pkgconfig/highs.pc +12 -0
  283. data/ext/lpsolver-highs/build/share/doc/HIGHS/AUTHORS +7 -0
  284. data/ext/lpsolver-highs/build/share/doc/HIGHS/CITATION.cff +29 -0
  285. data/ext/lpsolver-highs/build/share/doc/HIGHS/CODE_OF_CONDUCT.md +128 -0
  286. data/ext/lpsolver-highs/build/share/doc/HIGHS/CONTRIBUTING.md +31 -0
  287. data/ext/lpsolver-highs/build/share/doc/HIGHS/FEATURES.md +61 -0
  288. data/ext/lpsolver-highs/build/share/doc/HIGHS/LICENSE.txt +21 -0
  289. data/ext/lpsolver-highs/build/share/doc/HIGHS/README.md +281 -0
  290. data/ext/lpsolver-highs/build_webdemo.sh +46 -0
  291. data/ext/lpsolver-highs/check/Avgas.cpp +245 -0
  292. data/ext/lpsolver-highs/check/Avgas.h +44 -0
  293. data/ext/lpsolver-highs/check/CMakeLists.txt +573 -0
  294. data/ext/lpsolver-highs/check/HCheckConfig.h.bazel.in +6 -0
  295. data/ext/lpsolver-highs/check/HCheckConfig.h.in +12 -0
  296. data/ext/lpsolver-highs/check/HCheckConfig.h.meson.in +6 -0
  297. data/ext/lpsolver-highs/check/SpecialLps.h +405 -0
  298. data/ext/lpsolver-highs/check/TestAlienBasis.cpp +720 -0
  299. data/ext/lpsolver-highs/check/TestBasis.cpp +359 -0
  300. data/ext/lpsolver-highs/check/TestBasisSolves.cpp +669 -0
  301. data/ext/lpsolver-highs/check/TestCAPI.c +2513 -0
  302. data/ext/lpsolver-highs/check/TestCallbacks.cpp +608 -0
  303. data/ext/lpsolver-highs/check/TestCheckSolution.cpp +740 -0
  304. data/ext/lpsolver-highs/check/TestCrossover.cpp +111 -0
  305. data/ext/lpsolver-highs/check/TestDualize.cpp +172 -0
  306. data/ext/lpsolver-highs/check/TestEkk.cpp +100 -0
  307. data/ext/lpsolver-highs/check/TestFactor.cpp +389 -0
  308. data/ext/lpsolver-highs/check/TestFilereader.cpp +568 -0
  309. data/ext/lpsolver-highs/check/TestFortranAPI.f90 +65 -0
  310. data/ext/lpsolver-highs/check/TestHSet.cpp +80 -0
  311. data/ext/lpsolver-highs/check/TestHighsCDouble.cpp +109 -0
  312. data/ext/lpsolver-highs/check/TestHighsGFkSolve.cpp +102 -0
  313. data/ext/lpsolver-highs/check/TestHighsHash.cpp +126 -0
  314. data/ext/lpsolver-highs/check/TestHighsHessian.cpp +329 -0
  315. data/ext/lpsolver-highs/check/TestHighsIntegers.cpp +42 -0
  316. data/ext/lpsolver-highs/check/TestHighsModel.cpp +134 -0
  317. data/ext/lpsolver-highs/check/TestHighsParallel.cpp +277 -0
  318. data/ext/lpsolver-highs/check/TestHighsRbTree.cpp +109 -0
  319. data/ext/lpsolver-highs/check/TestHighsSparseMatrix.cpp +126 -0
  320. data/ext/lpsolver-highs/check/TestHighsVersion.cpp +61 -0
  321. data/ext/lpsolver-highs/check/TestHipo.cpp +122 -0
  322. data/ext/lpsolver-highs/check/TestICrash.cpp +46 -0
  323. data/ext/lpsolver-highs/check/TestIO.cpp +163 -0
  324. data/ext/lpsolver-highs/check/TestIis.cpp +1063 -0
  325. data/ext/lpsolver-highs/check/TestInfo.cpp +116 -0
  326. data/ext/lpsolver-highs/check/TestIpm.cpp +226 -0
  327. data/ext/lpsolver-highs/check/TestIpx.cpp +96 -0
  328. data/ext/lpsolver-highs/check/TestLPFileFormat.cpp +22 -0
  329. data/ext/lpsolver-highs/check/TestLogging.cpp +69 -0
  330. data/ext/lpsolver-highs/check/TestLpModification.cpp +2497 -0
  331. data/ext/lpsolver-highs/check/TestLpOrientation.cpp +121 -0
  332. data/ext/lpsolver-highs/check/TestLpSolvers.cpp +555 -0
  333. data/ext/lpsolver-highs/check/TestLpValidation.cpp +689 -0
  334. data/ext/lpsolver-highs/check/TestMain.cpp +6 -0
  335. data/ext/lpsolver-highs/check/TestMipSolver.cpp +1406 -0
  336. data/ext/lpsolver-highs/check/TestModelProperties.cpp +143 -0
  337. data/ext/lpsolver-highs/check/TestMultiObjective.cpp +198 -0
  338. data/ext/lpsolver-highs/check/TestNames.cpp +187 -0
  339. data/ext/lpsolver-highs/check/TestOptions.cpp +544 -0
  340. data/ext/lpsolver-highs/check/TestPdlp.cpp +327 -0
  341. data/ext/lpsolver-highs/check/TestPdlpHi.cpp +40 -0
  342. data/ext/lpsolver-highs/check/TestPresolve.cpp +912 -0
  343. data/ext/lpsolver-highs/check/TestQpSolver.cpp +1345 -0
  344. data/ext/lpsolver-highs/check/TestRanging.cpp +558 -0
  345. data/ext/lpsolver-highs/check/TestRays.cpp +1010 -0
  346. data/ext/lpsolver-highs/check/TestSemiVariables.cpp +329 -0
  347. data/ext/lpsolver-highs/check/TestSetup.cpp +12 -0
  348. data/ext/lpsolver-highs/check/TestSort.cpp +247 -0
  349. data/ext/lpsolver-highs/check/TestSpecialLps.cpp +775 -0
  350. data/ext/lpsolver-highs/check/TestThrow.cpp +83 -0
  351. data/ext/lpsolver-highs/check/TestTspSolver.cpp +19 -0
  352. data/ext/lpsolver-highs/check/TestUserScale.cpp +444 -0
  353. data/ext/lpsolver-highs/check/cublas_example.cpp +76 -0
  354. data/ext/lpsolver-highs/check/cublas_gpu_start.cpp +88 -0
  355. data/ext/lpsolver-highs/check/hipo_test_option_files/hipo_options_0 +1 -0
  356. data/ext/lpsolver-highs/check/instances/1448.lp +1 -0
  357. data/ext/lpsolver-highs/check/instances/1449a.lp +1 -0
  358. data/ext/lpsolver-highs/check/instances/1449b.lp +1 -0
  359. data/ext/lpsolver-highs/check/instances/1451.lp +8 -0
  360. data/ext/lpsolver-highs/check/instances/2122.lp +1822 -0
  361. data/ext/lpsolver-highs/check/instances/2171.mps +717 -0
  362. data/ext/lpsolver-highs/check/instances/25fv47.mps +6919 -0
  363. data/ext/lpsolver-highs/check/instances/2821-duplicate.mps +31 -0
  364. data/ext/lpsolver-highs/check/instances/2821-qmatrix.mps +31 -0
  365. data/ext/lpsolver-highs/check/instances/2821-quadobj.mps +29 -0
  366. data/ext/lpsolver-highs/check/instances/2821-summation.mps +30 -0
  367. data/ext/lpsolver-highs/check/instances/2821.mps +29 -0
  368. data/ext/lpsolver-highs/check/instances/2894.mps +89 -0
  369. data/ext/lpsolver-highs/check/instances/80bau3b.mps +23732 -0
  370. data/ext/lpsolver-highs/check/instances/WithInf.set +3 -0
  371. data/ext/lpsolver-highs/check/instances/adlittle.mps +335 -0
  372. data/ext/lpsolver-highs/check/instances/afiro.mps +83 -0
  373. data/ext/lpsolver-highs/check/instances/avgas.mps +51 -0
  374. data/ext/lpsolver-highs/check/instances/bell5.mps +384 -0
  375. data/ext/lpsolver-highs/check/instances/bgetam.mps +2112 -0
  376. data/ext/lpsolver-highs/check/instances/blending.mps +13 -0
  377. data/ext/lpsolver-highs/check/instances/box1.mps +1085 -0
  378. data/ext/lpsolver-highs/check/instances/chip.mps +13 -0
  379. data/ext/lpsolver-highs/check/instances/comment.mps +23 -0
  380. data/ext/lpsolver-highs/check/instances/cplex1.mps +9674 -0
  381. data/ext/lpsolver-highs/check/instances/dD2e.mps +10 -0
  382. data/ext/lpsolver-highs/check/instances/dcmulti.mps +2310 -0
  383. data/ext/lpsolver-highs/check/instances/e226.mps +1733 -0
  384. data/ext/lpsolver-highs/check/instances/egout-ac.mps +473 -0
  385. data/ext/lpsolver-highs/check/instances/egout.mps +403 -0
  386. data/ext/lpsolver-highs/check/instances/etamacro.mps +2084 -0
  387. data/ext/lpsolver-highs/check/instances/ex72a.mps +849 -0
  388. data/ext/lpsolver-highs/check/instances/fixed-binary.lp +11 -0
  389. data/ext/lpsolver-highs/check/instances/flugpl.mps +111 -0
  390. data/ext/lpsolver-highs/check/instances/flugpl_illegal_integer.sol +24 -0
  391. data/ext/lpsolver-highs/check/instances/flugpl_integer.sol +25 -0
  392. data/ext/lpsolver-highs/check/instances/forest6.mps +261 -0
  393. data/ext/lpsolver-highs/check/instances/galenet.mps +34 -0
  394. data/ext/lpsolver-highs/check/instances/gams10am.mps +478 -0
  395. data/ext/lpsolver-highs/check/instances/garbage.ems +3 -0
  396. data/ext/lpsolver-highs/check/instances/garbage.lp +3 -0
  397. data/ext/lpsolver-highs/check/instances/garbage.mps +3 -0
  398. data/ext/lpsolver-highs/check/instances/gas11.mps +2924 -0
  399. data/ext/lpsolver-highs/check/instances/gesa2.mps +5459 -0
  400. data/ext/lpsolver-highs/check/instances/greenbea.mps +19215 -0
  401. data/ext/lpsolver-highs/check/instances/gt2.mps +534 -0
  402. data/ext/lpsolver-highs/check/instances/infeasible-mip0.mps +140 -0
  403. data/ext/lpsolver-highs/check/instances/infeasible-mip1.mps +371 -0
  404. data/ext/lpsolver-highs/check/instances/israel.mps +1490 -0
  405. data/ext/lpsolver-highs/check/instances/issue-2095.mps +836 -0
  406. data/ext/lpsolver-highs/check/instances/issue-2173.mps +3331 -0
  407. data/ext/lpsolver-highs/check/instances/issue-2204.mps +143 -0
  408. data/ext/lpsolver-highs/check/instances/issue-2290.mps +158 -0
  409. data/ext/lpsolver-highs/check/instances/issue-2388.lp +76 -0
  410. data/ext/lpsolver-highs/check/instances/issue-2402.mps +435 -0
  411. data/ext/lpsolver-highs/check/instances/issue-2446.mps +9154 -0
  412. data/ext/lpsolver-highs/check/instances/issue-2585.lp +16 -0
  413. data/ext/lpsolver-highs/check/instances/issue-2874-3.mps +97 -0
  414. data/ext/lpsolver-highs/check/instances/klein1.mps +422 -0
  415. data/ext/lpsolver-highs/check/instances/lseu.mps +371 -0
  416. data/ext/lpsolver-highs/check/instances/model.xyz +1 -0
  417. data/ext/lpsolver-highs/check/instances/nan0.mps +13 -0
  418. data/ext/lpsolver-highs/check/instances/nan1.mps +13 -0
  419. data/ext/lpsolver-highs/check/instances/nan2.mps +13 -0
  420. data/ext/lpsolver-highs/check/instances/no-newline-eof.lp +5 -0
  421. data/ext/lpsolver-highs/check/instances/p01.mps +909 -0
  422. data/ext/lpsolver-highs/check/instances/p0548.mps +1992 -0
  423. data/ext/lpsolver-highs/check/instances/primal1.mps +3909 -0
  424. data/ext/lpsolver-highs/check/instances/qap04.mps +606 -0
  425. data/ext/lpsolver-highs/check/instances/qcqp.lp +8 -0
  426. data/ext/lpsolver-highs/check/instances/qjh.lp +9 -0
  427. data/ext/lpsolver-highs/check/instances/qjh.mps +18 -0
  428. data/ext/lpsolver-highs/check/instances/qjh_qmatrix.mps +19 -0
  429. data/ext/lpsolver-highs/check/instances/qjh_quadobj.mps +18 -0
  430. data/ext/lpsolver-highs/check/instances/qjh_quadobj_qmatrix.mps +25 -0
  431. data/ext/lpsolver-highs/check/instances/qjh_uncon.lp +10 -0
  432. data/ext/lpsolver-highs/check/instances/qjh_uncon.mps +17 -0
  433. data/ext/lpsolver-highs/check/instances/qpinfeasible.lp +8 -0
  434. data/ext/lpsolver-highs/check/instances/qptestnw.lp +7 -0
  435. data/ext/lpsolver-highs/check/instances/qpunbounded.lp +5 -0
  436. data/ext/lpsolver-highs/check/instances/refinery.mps +1882 -0
  437. data/ext/lpsolver-highs/check/instances/rgn.mps +559 -0
  438. data/ext/lpsolver-highs/check/instances/scrs8.mps +2717 -0
  439. data/ext/lpsolver-highs/check/instances/sctest.mps +66 -0
  440. data/ext/lpsolver-highs/check/instances/semi-continuous.lp +13 -0
  441. data/ext/lpsolver-highs/check/instances/semi-continuous.mps +24 -0
  442. data/ext/lpsolver-highs/check/instances/semi-integer.lp +15 -0
  443. data/ext/lpsolver-highs/check/instances/semi-integer.mps +22 -0
  444. data/ext/lpsolver-highs/check/instances/shell.mps +4039 -0
  445. data/ext/lpsolver-highs/check/instances/silly-names.mps +14 -0
  446. data/ext/lpsolver-highs/check/instances/small_mip.mps +87 -0
  447. data/ext/lpsolver-highs/check/instances/smalllp.mps +21 -0
  448. data/ext/lpsolver-highs/check/instances/sp150x300d.mps +1983 -0
  449. data/ext/lpsolver-highs/check/instances/stair.mps +2499 -0
  450. data/ext/lpsolver-highs/check/instances/standata.mps +2317 -0
  451. data/ext/lpsolver-highs/check/instances/standgub.mps +2428 -0
  452. data/ext/lpsolver-highs/check/instances/standmps.mps +2695 -0
  453. data/ext/lpsolver-highs/check/instances/test.mps +53 -0
  454. data/ext/lpsolver-highs/check/instances/vol1.mps +1895 -0
  455. data/ext/lpsolver-highs/check/instances/warnings.mps +68 -0
  456. data/ext/lpsolver-highs/check/instances/woodinfe.mps +216 -0
  457. data/ext/lpsolver-highs/check/matrix_multiplication.hpp +49 -0
  458. data/ext/lpsolver-highs/check/meson.build +92 -0
  459. data/ext/lpsolver-highs/check/pythontest.py +11 -0
  460. data/ext/lpsolver-highs/check/sample_options_file +8 -0
  461. data/ext/lpsolver-highs/cmake/CheckAtomic.cmake +74 -0
  462. data/ext/lpsolver-highs/cmake/FindCUDAConf.cmake +44 -0
  463. data/ext/lpsolver-highs/cmake/FindHipoDeps.cmake +351 -0
  464. data/ext/lpsolver-highs/cmake/README.md +243 -0
  465. data/ext/lpsolver-highs/cmake/cpp-highs.cmake +243 -0
  466. data/ext/lpsolver-highs/cmake/dotnet.cmake +94 -0
  467. data/ext/lpsolver-highs/cmake/highs-config.cmake.in +22 -0
  468. data/ext/lpsolver-highs/cmake/python-highs.cmake +74 -0
  469. data/ext/lpsolver-highs/cmake/set-version.cmake +26 -0
  470. data/ext/lpsolver-highs/cmake/sources-python.cmake +461 -0
  471. data/ext/lpsolver-highs/cmake/sources.cmake +618 -0
  472. data/ext/lpsolver-highs/docs/HiGHS_CopyrightHeader.pl +78 -0
  473. data/ext/lpsolver-highs/docs/HiGHS_CopyrightHeaderUpdateAll +32 -0
  474. data/ext/lpsolver-highs/docs/Project.toml +7 -0
  475. data/ext/lpsolver-highs/docs/README.md +27 -0
  476. data/ext/lpsolver-highs/docs/c_api_gen/HConfig.h +1 -0
  477. data/ext/lpsolver-highs/docs/c_api_gen/build.jl +48 -0
  478. data/ext/lpsolver-highs/docs/make.jl +115 -0
  479. data/ext/lpsolver-highs/docs/src/assets/logo.png +0 -0
  480. data/ext/lpsolver-highs/docs/src/callbacks.md +171 -0
  481. data/ext/lpsolver-highs/docs/src/executable.md +88 -0
  482. data/ext/lpsolver-highs/docs/src/guide/advanced.md +66 -0
  483. data/ext/lpsolver-highs/docs/src/guide/basic.md +116 -0
  484. data/ext/lpsolver-highs/docs/src/guide/further.md +193 -0
  485. data/ext/lpsolver-highs/docs/src/guide/gpu.md +58 -0
  486. data/ext/lpsolver-highs/docs/src/guide/index.md +18 -0
  487. data/ext/lpsolver-highs/docs/src/guide/kkt.md +219 -0
  488. data/ext/lpsolver-highs/docs/src/guide/numerics.md +55 -0
  489. data/ext/lpsolver-highs/docs/src/index.md +86 -0
  490. data/ext/lpsolver-highs/docs/src/installation.md +130 -0
  491. data/ext/lpsolver-highs/docs/src/interfaces/c_api.md +6 -0
  492. data/ext/lpsolver-highs/docs/src/interfaces/cpp/examples.md +1 -0
  493. data/ext/lpsolver-highs/docs/src/interfaces/cpp/index.md +29 -0
  494. data/ext/lpsolver-highs/docs/src/interfaces/cpp/library.md +107 -0
  495. data/ext/lpsolver-highs/docs/src/interfaces/csharp.md +55 -0
  496. data/ext/lpsolver-highs/docs/src/interfaces/fortran.md +11 -0
  497. data/ext/lpsolver-highs/docs/src/interfaces/julia/index.md +130 -0
  498. data/ext/lpsolver-highs/docs/src/interfaces/other.md +41 -0
  499. data/ext/lpsolver-highs/docs/src/interfaces/python/example-py.md +275 -0
  500. data/ext/lpsolver-highs/docs/src/interfaces/python/index.md +91 -0
  501. data/ext/lpsolver-highs/docs/src/interfaces/python/model-py.md +90 -0
  502. data/ext/lpsolver-highs/docs/src/options/definitions.md +529 -0
  503. data/ext/lpsolver-highs/docs/src/options/intro.md +46 -0
  504. data/ext/lpsolver-highs/docs/src/parallel.md +88 -0
  505. data/ext/lpsolver-highs/docs/src/solvers.md +168 -0
  506. data/ext/lpsolver-highs/docs/src/structures/classes/HighsHessian.md +9 -0
  507. data/ext/lpsolver-highs/docs/src/structures/classes/HighsIis.md +16 -0
  508. data/ext/lpsolver-highs/docs/src/structures/classes/HighsLp.md +19 -0
  509. data/ext/lpsolver-highs/docs/src/structures/classes/HighsModel.md +6 -0
  510. data/ext/lpsolver-highs/docs/src/structures/classes/HighsSparseMatrix.md +10 -0
  511. data/ext/lpsolver-highs/docs/src/structures/classes/index.md +11 -0
  512. data/ext/lpsolver-highs/docs/src/structures/enums.md +114 -0
  513. data/ext/lpsolver-highs/docs/src/structures/index.md +12 -0
  514. data/ext/lpsolver-highs/docs/src/structures/structs/HighsBasis.md +8 -0
  515. data/ext/lpsolver-highs/docs/src/structures/structs/HighsInfo.md +148 -0
  516. data/ext/lpsolver-highs/docs/src/structures/structs/HighsLinearObjective.md +11 -0
  517. data/ext/lpsolver-highs/docs/src/structures/structs/HighsSolution.md +10 -0
  518. data/ext/lpsolver-highs/docs/src/structures/structs/index.md +10 -0
  519. data/ext/lpsolver-highs/docs/src/terminology.md +163 -0
  520. data/ext/lpsolver-highs/examples/CMakeLists.txt +26 -0
  521. data/ext/lpsolver-highs/examples/Docs.py +104 -0
  522. data/ext/lpsolver-highs/examples/branch-and-price.py +465 -0
  523. data/ext/lpsolver-highs/examples/call_highs_from_c.c +685 -0
  524. data/ext/lpsolver-highs/examples/call_highs_from_c_minimal.c +659 -0
  525. data/ext/lpsolver-highs/examples/call_highs_from_cpp.cpp +178 -0
  526. data/ext/lpsolver-highs/examples/call_highs_from_csharp.cs +83 -0
  527. data/ext/lpsolver-highs/examples/call_highs_from_fortran.f90 +579 -0
  528. data/ext/lpsolver-highs/examples/call_highs_from_python.py +448 -0
  529. data/ext/lpsolver-highs/examples/call_highs_from_python_highspy.py +71 -0
  530. data/ext/lpsolver-highs/examples/call_highs_from_python_mps.py +59 -0
  531. data/ext/lpsolver-highs/examples/callback_gap.py +71 -0
  532. data/ext/lpsolver-highs/examples/chip.py +43 -0
  533. data/ext/lpsolver-highs/examples/chip0.py +29 -0
  534. data/ext/lpsolver-highs/examples/distillation.py +77 -0
  535. data/ext/lpsolver-highs/examples/knapsack.py +43 -0
  536. data/ext/lpsolver-highs/examples/minimal.py +11 -0
  537. data/ext/lpsolver-highs/examples/multi_objective.py +139 -0
  538. data/ext/lpsolver-highs/examples/multiple_objective.py +120 -0
  539. data/ext/lpsolver-highs/examples/network_flow.py +37 -0
  540. data/ext/lpsolver-highs/examples/nqueens.py +29 -0
  541. data/ext/lpsolver-highs/examples/plot_highs_log.py +134 -0
  542. data/ext/lpsolver-highs/extern/CLI11.hpp +11546 -0
  543. data/ext/lpsolver-highs/extern/LICENCE_1_0.txt +23 -0
  544. data/ext/lpsolver-highs/extern/amd/License.txt +35 -0
  545. data/ext/lpsolver-highs/extern/amd/SuiteSparse_config.c +54 -0
  546. data/ext/lpsolver-highs/extern/amd/SuiteSparse_config.h +56 -0
  547. data/ext/lpsolver-highs/extern/amd/amd.h +357 -0
  548. data/ext/lpsolver-highs/extern/amd/amd_1.c +172 -0
  549. data/ext/lpsolver-highs/extern/amd/amd_2.c +1761 -0
  550. data/ext/lpsolver-highs/extern/amd/amd_aat.c +179 -0
  551. data/ext/lpsolver-highs/extern/amd/amd_control.c +65 -0
  552. data/ext/lpsolver-highs/extern/amd/amd_defaults.c +37 -0
  553. data/ext/lpsolver-highs/extern/amd/amd_info.c +120 -0
  554. data/ext/lpsolver-highs/extern/amd/amd_internal.h +137 -0
  555. data/ext/lpsolver-highs/extern/amd/amd_order.c +195 -0
  556. data/ext/lpsolver-highs/extern/amd/amd_post_tree.c +105 -0
  557. data/ext/lpsolver-highs/extern/amd/amd_postorder.c +140 -0
  558. data/ext/lpsolver-highs/extern/amd/amd_preprocess.c +107 -0
  559. data/ext/lpsolver-highs/extern/amd/amd_valid.c +93 -0
  560. data/ext/lpsolver-highs/extern/amd/changes.txt +8 -0
  561. data/ext/lpsolver-highs/extern/catch.hpp +18861 -0
  562. data/ext/lpsolver-highs/extern/metis/Changes.txt +31 -0
  563. data/ext/lpsolver-highs/extern/metis/GKlib/GKlib.h +62 -0
  564. data/ext/lpsolver-highs/extern/metis/GKlib/error.c +21 -0
  565. data/ext/lpsolver-highs/extern/metis/GKlib/gk_arch.h +64 -0
  566. data/ext/lpsolver-highs/extern/metis/GKlib/gk_defs.h +19 -0
  567. data/ext/lpsolver-highs/extern/metis/GKlib/gk_macros.h +50 -0
  568. data/ext/lpsolver-highs/extern/metis/GKlib/gk_mkblas.h +51 -0
  569. data/ext/lpsolver-highs/extern/metis/GKlib/gk_mkmemory.h +80 -0
  570. data/ext/lpsolver-highs/extern/metis/GKlib/gk_mkpqueue.h +329 -0
  571. data/ext/lpsolver-highs/extern/metis/GKlib/gk_mkrandom.h +89 -0
  572. data/ext/lpsolver-highs/extern/metis/GKlib/gk_mksort.h +271 -0
  573. data/ext/lpsolver-highs/extern/metis/GKlib/gk_ms_inttypes.h +41 -0
  574. data/ext/lpsolver-highs/extern/metis/GKlib/gk_ms_stat.h +22 -0
  575. data/ext/lpsolver-highs/extern/metis/GKlib/gk_ms_stdint.h +41 -0
  576. data/ext/lpsolver-highs/extern/metis/GKlib/gk_proto.h +50 -0
  577. data/ext/lpsolver-highs/extern/metis/GKlib/gk_struct.h +66 -0
  578. data/ext/lpsolver-highs/extern/metis/GKlib/gk_types.h +15 -0
  579. data/ext/lpsolver-highs/extern/metis/GKlib/mcore.c +176 -0
  580. data/ext/lpsolver-highs/extern/metis/GKlib/memory.c +23 -0
  581. data/ext/lpsolver-highs/extern/metis/GKlib/random.c +37 -0
  582. data/ext/lpsolver-highs/extern/metis/LICENSE.txt +18 -0
  583. data/ext/lpsolver-highs/extern/metis/libmetis/auxapi.c +27 -0
  584. data/ext/lpsolver-highs/extern/metis/libmetis/balance.c +491 -0
  585. data/ext/lpsolver-highs/extern/metis/libmetis/bucketsort.c +44 -0
  586. data/ext/lpsolver-highs/extern/metis/libmetis/coarsen.c +895 -0
  587. data/ext/lpsolver-highs/extern/metis/libmetis/compress.c +231 -0
  588. data/ext/lpsolver-highs/extern/metis/libmetis/contig.c +83 -0
  589. data/ext/lpsolver-highs/extern/metis/libmetis/defs.h +39 -0
  590. data/ext/lpsolver-highs/extern/metis/libmetis/fm.c +527 -0
  591. data/ext/lpsolver-highs/extern/metis/libmetis/gklib.c +55 -0
  592. data/ext/lpsolver-highs/extern/metis/libmetis/gklib_defs.h +33 -0
  593. data/ext/lpsolver-highs/extern/metis/libmetis/graph.c +268 -0
  594. data/ext/lpsolver-highs/extern/metis/libmetis/initpart.c +385 -0
  595. data/ext/lpsolver-highs/extern/metis/libmetis/macros.h +59 -0
  596. data/ext/lpsolver-highs/extern/metis/libmetis/mcutil.c +162 -0
  597. data/ext/lpsolver-highs/extern/metis/libmetis/metislib.h +35 -0
  598. data/ext/lpsolver-highs/extern/metis/libmetis/mmd.c +598 -0
  599. data/ext/lpsolver-highs/extern/metis/libmetis/ometis.c +661 -0
  600. data/ext/lpsolver-highs/extern/metis/libmetis/options.c +260 -0
  601. data/ext/lpsolver-highs/extern/metis/libmetis/proto.h +172 -0
  602. data/ext/lpsolver-highs/extern/metis/libmetis/refine.c +99 -0
  603. data/ext/lpsolver-highs/extern/metis/libmetis/separator.c +57 -0
  604. data/ext/lpsolver-highs/extern/metis/libmetis/sfm.c +581 -0
  605. data/ext/lpsolver-highs/extern/metis/libmetis/srefine.c +152 -0
  606. data/ext/lpsolver-highs/extern/metis/libmetis/stdheaders.h +29 -0
  607. data/ext/lpsolver-highs/extern/metis/libmetis/struct.h +117 -0
  608. data/ext/lpsolver-highs/extern/metis/libmetis/util.c +59 -0
  609. data/ext/lpsolver-highs/extern/metis/libmetis/wspace.c +91 -0
  610. data/ext/lpsolver-highs/extern/metis/metis.h +271 -0
  611. data/ext/lpsolver-highs/extern/pdqsort/license.txt +16 -0
  612. data/ext/lpsolver-highs/extern/pdqsort/pdqsort.h +532 -0
  613. data/ext/lpsolver-highs/extern/rcm/LICENSE +19 -0
  614. data/ext/lpsolver-highs/extern/rcm/rcm.cpp +873 -0
  615. data/ext/lpsolver-highs/extern/rcm/rcm.h +22 -0
  616. data/ext/lpsolver-highs/extern/zstr/LICENSE +21 -0
  617. data/ext/lpsolver-highs/extern/zstr/strict_fstream.hpp +237 -0
  618. data/ext/lpsolver-highs/extern/zstr/zstr.hpp +473 -0
  619. data/ext/lpsolver-highs/flake.lock +61 -0
  620. data/ext/lpsolver-highs/flake.nix +73 -0
  621. data/ext/lpsolver-highs/highs/CMakeLists.txt +499 -0
  622. data/ext/lpsolver-highs/highs/HConfig.h.bazel.in +25 -0
  623. data/ext/lpsolver-highs/highs/HConfig.h.in +22 -0
  624. data/ext/lpsolver-highs/highs/HConfig.h.meson.in +17 -0
  625. data/ext/lpsolver-highs/highs/Highs.h +1812 -0
  626. data/ext/lpsolver-highs/highs/HighsRun.md +143 -0
  627. data/ext/lpsolver-highs/highs/highs_bindings.cpp +1826 -0
  628. data/ext/lpsolver-highs/highs/highspy/__init__.py +93 -0
  629. data/ext/lpsolver-highs/highs/highspy/__init__.pyi +91 -0
  630. data/ext/lpsolver-highs/highs/highspy/_core/__init__.pyi +1058 -0
  631. data/ext/lpsolver-highs/highs/highspy/_core/cb.pyi +118 -0
  632. data/ext/lpsolver-highs/highs/highspy/_core/simplex_constants.pyi +472 -0
  633. data/ext/lpsolver-highs/highs/highspy/highs.py +2430 -0
  634. data/ext/lpsolver-highs/highs/interfaces/highs_c_api.cpp +1812 -0
  635. data/ext/lpsolver-highs/highs/interfaces/highs_c_api.h +2651 -0
  636. data/ext/lpsolver-highs/highs/interfaces/highs_csharp_api.cs +1142 -0
  637. data/ext/lpsolver-highs/highs/interfaces/highs_fortran_api.f90 +873 -0
  638. data/ext/lpsolver-highs/highs/io/Filereader.cpp +87 -0
  639. data/ext/lpsolver-highs/highs/io/Filereader.h +45 -0
  640. data/ext/lpsolver-highs/highs/io/FilereaderLp.cpp +539 -0
  641. data/ext/lpsolver-highs/highs/io/FilereaderLp.h +49 -0
  642. data/ext/lpsolver-highs/highs/io/FilereaderMps.cpp +86 -0
  643. data/ext/lpsolver-highs/highs/io/FilereaderMps.h +27 -0
  644. data/ext/lpsolver-highs/highs/io/HMPSIO.cpp +1001 -0
  645. data/ext/lpsolver-highs/highs/io/HMPSIO.h +78 -0
  646. data/ext/lpsolver-highs/highs/io/HMpsFF.cpp +2113 -0
  647. data/ext/lpsolver-highs/highs/io/HMpsFF.h +245 -0
  648. data/ext/lpsolver-highs/highs/io/HighsIO.cpp +371 -0
  649. data/ext/lpsolver-highs/highs/io/HighsIO.h +118 -0
  650. data/ext/lpsolver-highs/highs/io/LoadOptions.cpp +60 -0
  651. data/ext/lpsolver-highs/highs/io/LoadOptions.h +24 -0
  652. data/ext/lpsolver-highs/highs/io/filereaderlp/LICENSE +19 -0
  653. data/ext/lpsolver-highs/highs/io/filereaderlp/builder.hpp +25 -0
  654. data/ext/lpsolver-highs/highs/io/filereaderlp/def.hpp +19 -0
  655. data/ext/lpsolver-highs/highs/io/filereaderlp/model.hpp +68 -0
  656. data/ext/lpsolver-highs/highs/io/filereaderlp/reader.cpp +1375 -0
  657. data/ext/lpsolver-highs/highs/io/filereaderlp/reader.hpp +10 -0
  658. data/ext/lpsolver-highs/highs/ipm/IpxSolution.h +32 -0
  659. data/ext/lpsolver-highs/highs/ipm/IpxWrapper.cpp +1526 -0
  660. data/ext/lpsolver-highs/highs/ipm/IpxWrapper.h +106 -0
  661. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu.h +161 -0
  662. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_factorize.c +132 -0
  663. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  664. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_get_factors.c +148 -0
  665. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  666. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_initialize.c +24 -0
  667. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  668. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  669. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  670. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  671. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  672. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  673. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  674. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  675. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  676. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_object.c +325 -0
  677. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_object.h +30 -0
  678. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_solve_dense.c +46 -0
  679. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  680. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_solve_for_update.c +79 -0
  681. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  682. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_solve_sparse.c +63 -0
  683. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  684. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_update.c +44 -0
  685. data/ext/lpsolver-highs/highs/ipm/basiclu/basiclu_update.h +125 -0
  686. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_build_factors.c +441 -0
  687. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_condest.c +124 -0
  688. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_def.h +39 -0
  689. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_dfs.c +141 -0
  690. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_factorize_bump.c +56 -0
  691. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_file.c +184 -0
  692. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_file.h +21 -0
  693. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_garbage_perm.c +53 -0
  694. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_initialize.c +56 -0
  695. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_internal.c +352 -0
  696. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_internal.h +220 -0
  697. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_list.h +173 -0
  698. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_markowitz.c +188 -0
  699. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_matrix_norm.c +51 -0
  700. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_pivot.c +1247 -0
  701. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_residual_test.c +155 -0
  702. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_setup_bump.c +198 -0
  703. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_singletons.c +511 -0
  704. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_solve_dense.c +129 -0
  705. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_solve_for_update.c +360 -0
  706. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_solve_sparse.c +284 -0
  707. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_solve_symbolic.c +48 -0
  708. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_solve_triangular.c +140 -0
  709. data/ext/lpsolver-highs/highs/ipm/basiclu/lu_update.c +908 -0
  710. data/ext/lpsolver-highs/highs/ipm/hipo/auxiliary/Auxiliary.cpp +301 -0
  711. data/ext/lpsolver-highs/highs/ipm/hipo/auxiliary/Auxiliary.h +104 -0
  712. data/ext/lpsolver-highs/highs/ipm/hipo/auxiliary/IntConfig.h +27 -0
  713. data/ext/lpsolver-highs/highs/ipm/hipo/auxiliary/KrylovMethods.cpp +193 -0
  714. data/ext/lpsolver-highs/highs/ipm/hipo/auxiliary/KrylovMethods.h +30 -0
  715. data/ext/lpsolver-highs/highs/ipm/hipo/auxiliary/Log.cpp +60 -0
  716. data/ext/lpsolver-highs/highs/ipm/hipo/auxiliary/Log.h +62 -0
  717. data/ext/lpsolver-highs/highs/ipm/hipo/auxiliary/OrderingPrint.h +10 -0
  718. data/ext/lpsolver-highs/highs/ipm/hipo/auxiliary/VectorOperations.cpp +117 -0
  719. data/ext/lpsolver-highs/highs/ipm/hipo/auxiliary/VectorOperations.h +59 -0
  720. data/ext/lpsolver-highs/highs/ipm/hipo/auxiliary/mycblas.h +85 -0
  721. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/Analyse.cpp +1367 -0
  722. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/Analyse.h +122 -0
  723. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/CallAndTimeBlas.cpp +114 -0
  724. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/CallAndTimeBlas.h +46 -0
  725. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/CliqueStack.cpp +82 -0
  726. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/CliqueStack.h +83 -0
  727. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/DataCollector.cpp +326 -0
  728. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/DataCollector.h +86 -0
  729. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/DenseFact.h +48 -0
  730. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/DenseFactHybrid.cpp +279 -0
  731. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/DenseFactKernel.cpp +284 -0
  732. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/DgemmParallel.cpp +38 -0
  733. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/DgemmParallel.h +32 -0
  734. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/FactorHiGHS.cpp +57 -0
  735. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/FactorHiGHS.h +112 -0
  736. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/FactorHiGHSSettings.h +63 -0
  737. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/Factorise.cpp +405 -0
  738. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/Factorise.h +85 -0
  739. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/FormatHandler.cpp +46 -0
  740. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/FormatHandler.h +95 -0
  741. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/HybridHybridFormatHandler.cpp +238 -0
  742. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/HybridHybridFormatHandler.h +31 -0
  743. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/HybridSolveHandler.cpp +272 -0
  744. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/HybridSolveHandler.h +26 -0
  745. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/KrylovMethodsIpm.cpp +83 -0
  746. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/KrylovMethodsIpm.h +45 -0
  747. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/Numeric.cpp +54 -0
  748. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/Numeric.h +46 -0
  749. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/ReturnValues.h +19 -0
  750. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/SolveHandler.cpp +10 -0
  751. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/SolveHandler.h +48 -0
  752. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/Swaps.cpp +70 -0
  753. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/Swaps.h +19 -0
  754. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/Symbolic.cpp +101 -0
  755. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/Symbolic.h +220 -0
  756. data/ext/lpsolver-highs/highs/ipm/hipo/factorhighs/Timing.h +114 -0
  757. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Control.cpp +38 -0
  758. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Control.h +41 -0
  759. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/FactorHiGHSSolver.cpp +887 -0
  760. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/FactorHiGHSSolver.h +92 -0
  761. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Info.h +58 -0
  762. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/IpmData.cpp +8 -0
  763. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/IpmData.h +37 -0
  764. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Iterate.cpp +640 -0
  765. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Iterate.h +172 -0
  766. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/LinearSolver.h +81 -0
  767. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/LogHighs.cpp +71 -0
  768. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/LogHighs.h +33 -0
  769. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Model.cpp +403 -0
  770. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Model.h +136 -0
  771. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Options.h +35 -0
  772. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Parameters.h +63 -0
  773. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/PreProcess.cpp +646 -0
  774. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/PreProcess.h +94 -0
  775. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Refine.cpp +214 -0
  776. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Solver.cpp +1346 -0
  777. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Solver.h +338 -0
  778. data/ext/lpsolver-highs/highs/ipm/hipo/ipm/Status.h +88 -0
  779. data/ext/lpsolver-highs/highs/ipm/ipx/basiclu_kernel.cc +71 -0
  780. data/ext/lpsolver-highs/highs/ipm/ipx/basiclu_kernel.h +20 -0
  781. data/ext/lpsolver-highs/highs/ipm/ipx/basiclu_wrapper.cc +299 -0
  782. data/ext/lpsolver-highs/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  783. data/ext/lpsolver-highs/highs/ipm/ipx/basis.cc +966 -0
  784. data/ext/lpsolver-highs/highs/ipm/ipx/basis.h +350 -0
  785. data/ext/lpsolver-highs/highs/ipm/ipx/conjugate_residuals.cc +217 -0
  786. data/ext/lpsolver-highs/highs/ipm/ipx/conjugate_residuals.h +74 -0
  787. data/ext/lpsolver-highs/highs/ipm/ipx/control.cc +151 -0
  788. data/ext/lpsolver-highs/highs/ipm/ipx/control.h +167 -0
  789. data/ext/lpsolver-highs/highs/ipm/ipx/crossover.cc +479 -0
  790. data/ext/lpsolver-highs/highs/ipm/ipx/crossover.h +157 -0
  791. data/ext/lpsolver-highs/highs/ipm/ipx/diagonal_precond.cc +70 -0
  792. data/ext/lpsolver-highs/highs/ipm/ipx/diagonal_precond.h +45 -0
  793. data/ext/lpsolver-highs/highs/ipm/ipx/forrest_tomlin.cc +360 -0
  794. data/ext/lpsolver-highs/highs/ipm/ipx/forrest_tomlin.h +102 -0
  795. data/ext/lpsolver-highs/highs/ipm/ipx/guess_basis.cc +233 -0
  796. data/ext/lpsolver-highs/highs/ipm/ipx/guess_basis.h +21 -0
  797. data/ext/lpsolver-highs/highs/ipm/ipx/indexed_vector.cc +30 -0
  798. data/ext/lpsolver-highs/highs/ipm/ipx/indexed_vector.h +113 -0
  799. data/ext/lpsolver-highs/highs/ipm/ipx/info.cc +124 -0
  800. data/ext/lpsolver-highs/highs/ipm/ipx/info.h +27 -0
  801. data/ext/lpsolver-highs/highs/ipm/ipx/ipm.cc +897 -0
  802. data/ext/lpsolver-highs/highs/ipm/ipx/ipm.h +94 -0
  803. data/ext/lpsolver-highs/highs/ipm/ipx/ipx_c.cc +83 -0
  804. data/ext/lpsolver-highs/highs/ipm/ipx/ipx_c.h +47 -0
  805. data/ext/lpsolver-highs/highs/ipm/ipx/ipx_config.h +9 -0
  806. data/ext/lpsolver-highs/highs/ipm/ipx/ipx_info.h +111 -0
  807. data/ext/lpsolver-highs/highs/ipm/ipx/ipx_internal.h +89 -0
  808. data/ext/lpsolver-highs/highs/ipm/ipx/ipx_parameters.h +76 -0
  809. data/ext/lpsolver-highs/highs/ipm/ipx/ipx_status.h +57 -0
  810. data/ext/lpsolver-highs/highs/ipm/ipx/iterate.cc +683 -0
  811. data/ext/lpsolver-highs/highs/ipm/ipx/iterate.h +331 -0
  812. data/ext/lpsolver-highs/highs/ipm/ipx/kkt_solver.cc +23 -0
  813. data/ext/lpsolver-highs/highs/ipm/ipx/kkt_solver.h +70 -0
  814. data/ext/lpsolver-highs/highs/ipm/ipx/kkt_solver_basis.cc +387 -0
  815. data/ext/lpsolver-highs/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  816. data/ext/lpsolver-highs/highs/ipm/ipx/kkt_solver_diag.cc +120 -0
  817. data/ext/lpsolver-highs/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  818. data/ext/lpsolver-highs/highs/ipm/ipx/linear_operator.cc +10 -0
  819. data/ext/lpsolver-highs/highs/ipm/ipx/linear_operator.h +26 -0
  820. data/ext/lpsolver-highs/highs/ipm/ipx/lp_solver.cc +686 -0
  821. data/ext/lpsolver-highs/highs/ipm/ipx/lp_solver.h +204 -0
  822. data/ext/lpsolver-highs/highs/ipm/ipx/lu_factorization.cc +131 -0
  823. data/ext/lpsolver-highs/highs/ipm/ipx/lu_factorization.h +79 -0
  824. data/ext/lpsolver-highs/highs/ipm/ipx/lu_update.cc +62 -0
  825. data/ext/lpsolver-highs/highs/ipm/ipx/lu_update.h +129 -0
  826. data/ext/lpsolver-highs/highs/ipm/ipx/maxvolume.cc +337 -0
  827. data/ext/lpsolver-highs/highs/ipm/ipx/maxvolume.h +54 -0
  828. data/ext/lpsolver-highs/highs/ipm/ipx/model.cc +1528 -0
  829. data/ext/lpsolver-highs/highs/ipm/ipx/model.h +413 -0
  830. data/ext/lpsolver-highs/highs/ipm/ipx/multistream.h +52 -0
  831. data/ext/lpsolver-highs/highs/ipm/ipx/normal_matrix.cc +126 -0
  832. data/ext/lpsolver-highs/highs/ipm/ipx/normal_matrix.h +44 -0
  833. data/ext/lpsolver-highs/highs/ipm/ipx/power_method.h +44 -0
  834. data/ext/lpsolver-highs/highs/ipm/ipx/sparse_matrix.cc +382 -0
  835. data/ext/lpsolver-highs/highs/ipm/ipx/sparse_matrix.h +195 -0
  836. data/ext/lpsolver-highs/highs/ipm/ipx/sparse_utils.cc +92 -0
  837. data/ext/lpsolver-highs/highs/ipm/ipx/sparse_utils.h +58 -0
  838. data/ext/lpsolver-highs/highs/ipm/ipx/splitted_normal_matrix.cc +117 -0
  839. data/ext/lpsolver-highs/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  840. data/ext/lpsolver-highs/highs/ipm/ipx/starting_basis.cc +182 -0
  841. data/ext/lpsolver-highs/highs/ipm/ipx/starting_basis.h +39 -0
  842. data/ext/lpsolver-highs/highs/ipm/ipx/symbolic_invert.cc +183 -0
  843. data/ext/lpsolver-highs/highs/ipm/ipx/symbolic_invert.h +29 -0
  844. data/ext/lpsolver-highs/highs/ipm/ipx/timer.cc +16 -0
  845. data/ext/lpsolver-highs/highs/ipm/ipx/timer.h +25 -0
  846. data/ext/lpsolver-highs/highs/ipm/ipx/utils.cc +95 -0
  847. data/ext/lpsolver-highs/highs/ipm/ipx/utils.h +37 -0
  848. data/ext/lpsolver-highs/highs/lp_data/HConst.h +430 -0
  849. data/ext/lpsolver-highs/highs/lp_data/HStruct.h +213 -0
  850. data/ext/lpsolver-highs/highs/lp_data/Highs.cpp +4949 -0
  851. data/ext/lpsolver-highs/highs/lp_data/HighsAnalysis.h +23 -0
  852. data/ext/lpsolver-highs/highs/lp_data/HighsCallback.cpp +323 -0
  853. data/ext/lpsolver-highs/highs/lp_data/HighsCallback.h +104 -0
  854. data/ext/lpsolver-highs/highs/lp_data/HighsCallbackStruct.h +70 -0
  855. data/ext/lpsolver-highs/highs/lp_data/HighsDebug.cpp +54 -0
  856. data/ext/lpsolver-highs/highs/lp_data/HighsDebug.h +34 -0
  857. data/ext/lpsolver-highs/highs/lp_data/HighsDeprecated.cpp +181 -0
  858. data/ext/lpsolver-highs/highs/lp_data/HighsIis.cpp +1290 -0
  859. data/ext/lpsolver-highs/highs/lp_data/HighsIis.h +139 -0
  860. data/ext/lpsolver-highs/highs/lp_data/HighsInfo.cpp +426 -0
  861. data/ext/lpsolver-highs/highs/lp_data/HighsInfo.h +421 -0
  862. data/ext/lpsolver-highs/highs/lp_data/HighsInfoDebug.cpp +175 -0
  863. data/ext/lpsolver-highs/highs/lp_data/HighsInfoDebug.h +27 -0
  864. data/ext/lpsolver-highs/highs/lp_data/HighsInterface.cpp +4344 -0
  865. data/ext/lpsolver-highs/highs/lp_data/HighsLp.cpp +564 -0
  866. data/ext/lpsolver-highs/highs/lp_data/HighsLp.h +97 -0
  867. data/ext/lpsolver-highs/highs/lp_data/HighsLpSolverObject.h +47 -0
  868. data/ext/lpsolver-highs/highs/lp_data/HighsLpUtils.cpp +3794 -0
  869. data/ext/lpsolver-highs/highs/lp_data/HighsLpUtils.h +330 -0
  870. data/ext/lpsolver-highs/highs/lp_data/HighsModelUtils.cpp +1650 -0
  871. data/ext/lpsolver-highs/highs/lp_data/HighsModelUtils.h +129 -0
  872. data/ext/lpsolver-highs/highs/lp_data/HighsOptions.cpp +1176 -0
  873. data/ext/lpsolver-highs/highs/lp_data/HighsOptions.h +1715 -0
  874. data/ext/lpsolver-highs/highs/lp_data/HighsRanging.cpp +733 -0
  875. data/ext/lpsolver-highs/highs/lp_data/HighsRanging.h +43 -0
  876. data/ext/lpsolver-highs/highs/lp_data/HighsSolution.cpp +2194 -0
  877. data/ext/lpsolver-highs/highs/lp_data/HighsSolution.h +179 -0
  878. data/ext/lpsolver-highs/highs/lp_data/HighsSolutionDebug.cpp +490 -0
  879. data/ext/lpsolver-highs/highs/lp_data/HighsSolutionDebug.h +87 -0
  880. data/ext/lpsolver-highs/highs/lp_data/HighsSolve.cpp +747 -0
  881. data/ext/lpsolver-highs/highs/lp_data/HighsSolve.h +29 -0
  882. data/ext/lpsolver-highs/highs/lp_data/HighsStatus.cpp +48 -0
  883. data/ext/lpsolver-highs/highs/lp_data/HighsStatus.h +29 -0
  884. data/ext/lpsolver-highs/highs/lp_data/Iis.md +113 -0
  885. data/ext/lpsolver-highs/highs/meson.build +433 -0
  886. data/ext/lpsolver-highs/highs/mip/HighsCliqueTable.cpp +2236 -0
  887. data/ext/lpsolver-highs/highs/mip/HighsCliqueTable.h +329 -0
  888. data/ext/lpsolver-highs/highs/mip/HighsConflictPool.cpp +201 -0
  889. data/ext/lpsolver-highs/highs/mip/HighsConflictPool.h +109 -0
  890. data/ext/lpsolver-highs/highs/mip/HighsCutGeneration.cpp +1491 -0
  891. data/ext/lpsolver-highs/highs/mip/HighsCutGeneration.h +108 -0
  892. data/ext/lpsolver-highs/highs/mip/HighsCutPool.cpp +526 -0
  893. data/ext/lpsolver-highs/highs/mip/HighsCutPool.h +168 -0
  894. data/ext/lpsolver-highs/highs/mip/HighsDebugSol.cpp +313 -0
  895. data/ext/lpsolver-highs/highs/mip/HighsDebugSol.h +133 -0
  896. data/ext/lpsolver-highs/highs/mip/HighsDomain.cpp +3861 -0
  897. data/ext/lpsolver-highs/highs/mip/HighsDomain.h +657 -0
  898. data/ext/lpsolver-highs/highs/mip/HighsDomainChange.h +48 -0
  899. data/ext/lpsolver-highs/highs/mip/HighsDynamicRowMatrix.cpp +199 -0
  900. data/ext/lpsolver-highs/highs/mip/HighsDynamicRowMatrix.h +104 -0
  901. data/ext/lpsolver-highs/highs/mip/HighsFeasibilityJump.cpp +139 -0
  902. data/ext/lpsolver-highs/highs/mip/HighsGFkSolve.cpp +106 -0
  903. data/ext/lpsolver-highs/highs/mip/HighsGFkSolve.h +439 -0
  904. data/ext/lpsolver-highs/highs/mip/HighsImplications.cpp +915 -0
  905. data/ext/lpsolver-highs/highs/mip/HighsImplications.h +194 -0
  906. data/ext/lpsolver-highs/highs/mip/HighsLpAggregator.cpp +56 -0
  907. data/ext/lpsolver-highs/highs/mip/HighsLpAggregator.h +50 -0
  908. data/ext/lpsolver-highs/highs/mip/HighsLpRelaxation.cpp +1609 -0
  909. data/ext/lpsolver-highs/highs/mip/HighsLpRelaxation.h +361 -0
  910. data/ext/lpsolver-highs/highs/mip/HighsMipAnalysis.cpp +313 -0
  911. data/ext/lpsolver-highs/highs/mip/HighsMipAnalysis.h +71 -0
  912. data/ext/lpsolver-highs/highs/mip/HighsMipSolver.cpp +1002 -0
  913. data/ext/lpsolver-highs/highs/mip/HighsMipSolver.h +159 -0
  914. data/ext/lpsolver-highs/highs/mip/HighsMipSolverData.cpp +2936 -0
  915. data/ext/lpsolver-highs/highs/mip/HighsMipSolverData.h +313 -0
  916. data/ext/lpsolver-highs/highs/mip/HighsModkSeparator.cpp +267 -0
  917. data/ext/lpsolver-highs/highs/mip/HighsModkSeparator.h +60 -0
  918. data/ext/lpsolver-highs/highs/mip/HighsNodeQueue.cpp +443 -0
  919. data/ext/lpsolver-highs/highs/mip/HighsNodeQueue.h +312 -0
  920. data/ext/lpsolver-highs/highs/mip/HighsObjectiveFunction.cpp +124 -0
  921. data/ext/lpsolver-highs/highs/mip/HighsObjectiveFunction.h +71 -0
  922. data/ext/lpsolver-highs/highs/mip/HighsPathSeparator.cpp +549 -0
  923. data/ext/lpsolver-highs/highs/mip/HighsPathSeparator.h +39 -0
  924. data/ext/lpsolver-highs/highs/mip/HighsPrimalHeuristics.cpp +1673 -0
  925. data/ext/lpsolver-highs/highs/mip/HighsPrimalHeuristics.h +75 -0
  926. data/ext/lpsolver-highs/highs/mip/HighsPseudocost.cpp +129 -0
  927. data/ext/lpsolver-highs/highs/mip/HighsPseudocost.h +366 -0
  928. data/ext/lpsolver-highs/highs/mip/HighsRedcostFixing.cpp +316 -0
  929. data/ext/lpsolver-highs/highs/mip/HighsRedcostFixing.h +42 -0
  930. data/ext/lpsolver-highs/highs/mip/HighsSearch.cpp +1881 -0
  931. data/ext/lpsolver-highs/highs/mip/HighsSearch.h +241 -0
  932. data/ext/lpsolver-highs/highs/mip/HighsSeparation.cpp +186 -0
  933. data/ext/lpsolver-highs/highs/mip/HighsSeparation.h +41 -0
  934. data/ext/lpsolver-highs/highs/mip/HighsSeparator.cpp +39 -0
  935. data/ext/lpsolver-highs/highs/mip/HighsSeparator.h +60 -0
  936. data/ext/lpsolver-highs/highs/mip/HighsTableauSeparator.cpp +244 -0
  937. data/ext/lpsolver-highs/highs/mip/HighsTableauSeparator.h +34 -0
  938. data/ext/lpsolver-highs/highs/mip/HighsTransformedLp.cpp +563 -0
  939. data/ext/lpsolver-highs/highs/mip/HighsTransformedLp.h +63 -0
  940. data/ext/lpsolver-highs/highs/mip/MipTimer.h +544 -0
  941. data/ext/lpsolver-highs/highs/mip/feasibilityjump.hh +800 -0
  942. data/ext/lpsolver-highs/highs/model/HighsHessian.cpp +263 -0
  943. data/ext/lpsolver-highs/highs/model/HighsHessian.h +54 -0
  944. data/ext/lpsolver-highs/highs/model/HighsHessianUtils.cpp +584 -0
  945. data/ext/lpsolver-highs/highs/model/HighsHessianUtils.h +47 -0
  946. data/ext/lpsolver-highs/highs/model/HighsModel.cpp +46 -0
  947. data/ext/lpsolver-highs/highs/model/HighsModel.h +42 -0
  948. data/ext/lpsolver-highs/highs/parallel/HighsBinarySemaphore.h +108 -0
  949. data/ext/lpsolver-highs/highs/parallel/HighsCacheAlign.h +82 -0
  950. data/ext/lpsolver-highs/highs/parallel/HighsCombinable.h +116 -0
  951. data/ext/lpsolver-highs/highs/parallel/HighsMutex.h +124 -0
  952. data/ext/lpsolver-highs/highs/parallel/HighsParallel.h +128 -0
  953. data/ext/lpsolver-highs/highs/parallel/HighsRaceTimer.h +38 -0
  954. data/ext/lpsolver-highs/highs/parallel/HighsSchedulerConstants.h +19 -0
  955. data/ext/lpsolver-highs/highs/parallel/HighsSpinMutex.h +48 -0
  956. data/ext/lpsolver-highs/highs/parallel/HighsSplitDeque.h +606 -0
  957. data/ext/lpsolver-highs/highs/parallel/HighsTask.h +170 -0
  958. data/ext/lpsolver-highs/highs/parallel/HighsTaskExecutor.cpp +43 -0
  959. data/ext/lpsolver-highs/highs/parallel/HighsTaskExecutor.h +217 -0
  960. data/ext/lpsolver-highs/highs/pdlp/CupdlpWrapper.cpp +848 -0
  961. data/ext/lpsolver-highs/highs/pdlp/CupdlpWrapper.h +108 -0
  962. data/ext/lpsolver-highs/highs/pdlp/HiPdlpTimer.h +155 -0
  963. data/ext/lpsolver-highs/highs/pdlp/HiPdlpWrapper.cpp +141 -0
  964. data/ext/lpsolver-highs/highs/pdlp/HiPdlpWrapper.h +26 -0
  965. data/ext/lpsolver-highs/highs/pdlp/cupdlp/Diff +12 -0
  966. data/ext/lpsolver-highs/highs/pdlp/cupdlp/Meld +7 -0
  967. data/ext/lpsolver-highs/highs/pdlp/cupdlp/Merge +2 -0
  968. data/ext/lpsolver-highs/highs/pdlp/cupdlp/README.md +95 -0
  969. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cuda/CMakeLists.txt +58 -0
  970. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cuda/cupdlp_cuda_kernels.cu +338 -0
  971. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cuda/cupdlp_cuda_kernels.cuh +319 -0
  972. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cuda/cupdlp_cudalinalg.cu +386 -0
  973. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cuda/cupdlp_cudalinalg.cuh +149 -0
  974. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cuda/test_cublas.c +154 -0
  975. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cuda/test_cuda_linalg.c +79 -0
  976. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp.h +16 -0
  977. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_cs.c +214 -0
  978. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_cs.h +40 -0
  979. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_defs.h +447 -0
  980. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_linalg.c +802 -0
  981. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_linalg.h +189 -0
  982. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_proj.c +148 -0
  983. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  984. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_restart.c +124 -0
  985. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  986. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_scaling.c +425 -0
  987. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
  988. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_solver.c +1498 -0
  989. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_solver.h +105 -0
  990. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_step.c +478 -0
  991. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_step.h +37 -0
  992. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_utils.c +1850 -0
  993. data/ext/lpsolver-highs/highs/pdlp/cupdlp/cupdlp_utils.h +212 -0
  994. data/ext/lpsolver-highs/highs/pdlp/cupdlp/glbopts.h +342 -0
  995. data/ext/lpsolver-highs/highs/pdlp/hipdlp/defs.hpp +222 -0
  996. data/ext/lpsolver-highs/highs/pdlp/hipdlp/linalg.cc +231 -0
  997. data/ext/lpsolver-highs/highs/pdlp/hipdlp/linalg.hpp +61 -0
  998. data/ext/lpsolver-highs/highs/pdlp/hipdlp/logger.cc +225 -0
  999. data/ext/lpsolver-highs/highs/pdlp/hipdlp/logger.hpp +80 -0
  1000. data/ext/lpsolver-highs/highs/pdlp/hipdlp/pdhg.cc +2798 -0
  1001. data/ext/lpsolver-highs/highs/pdlp/hipdlp/pdhg.cu +497 -0
  1002. data/ext/lpsolver-highs/highs/pdlp/hipdlp/pdhg.hpp +358 -0
  1003. data/ext/lpsolver-highs/highs/pdlp/hipdlp/pdhg_kernels.hpp +77 -0
  1004. data/ext/lpsolver-highs/highs/pdlp/hipdlp/pdlp_gpu_debug.hpp +62 -0
  1005. data/ext/lpsolver-highs/highs/pdlp/hipdlp/restart.cc +132 -0
  1006. data/ext/lpsolver-highs/highs/pdlp/hipdlp/restart.hpp +96 -0
  1007. data/ext/lpsolver-highs/highs/pdlp/hipdlp/scaling.cc +307 -0
  1008. data/ext/lpsolver-highs/highs/pdlp/hipdlp/scaling.hpp +74 -0
  1009. data/ext/lpsolver-highs/highs/pdlp/hipdlp/solver_results.hpp +65 -0
  1010. data/ext/lpsolver-highs/highs/presolve/HPresolve.cpp +8511 -0
  1011. data/ext/lpsolver-highs/highs/presolve/HPresolve.h +505 -0
  1012. data/ext/lpsolver-highs/highs/presolve/HPresolveAnalysis.cpp +239 -0
  1013. data/ext/lpsolver-highs/highs/presolve/HPresolveAnalysis.h +52 -0
  1014. data/ext/lpsolver-highs/highs/presolve/HighsPostsolveStack.cpp +1368 -0
  1015. data/ext/lpsolver-highs/highs/presolve/HighsPostsolveStack.h +943 -0
  1016. data/ext/lpsolver-highs/highs/presolve/HighsSymmetry.cpp +1921 -0
  1017. data/ext/lpsolver-highs/highs/presolve/HighsSymmetry.h +284 -0
  1018. data/ext/lpsolver-highs/highs/presolve/ICrash.cpp +474 -0
  1019. data/ext/lpsolver-highs/highs/presolve/ICrash.h +124 -0
  1020. data/ext/lpsolver-highs/highs/presolve/ICrashUtil.cpp +267 -0
  1021. data/ext/lpsolver-highs/highs/presolve/ICrashUtil.h +62 -0
  1022. data/ext/lpsolver-highs/highs/presolve/ICrashX.cpp +173 -0
  1023. data/ext/lpsolver-highs/highs/presolve/ICrashX.h +23 -0
  1024. data/ext/lpsolver-highs/highs/presolve/PresolveComponent.cpp +45 -0
  1025. data/ext/lpsolver-highs/highs/presolve/PresolveComponent.h +90 -0
  1026. data/ext/lpsolver-highs/highs/qpsolver/README.md +185 -0
  1027. data/ext/lpsolver-highs/highs/qpsolver/a_asm.cpp +139 -0
  1028. data/ext/lpsolver-highs/highs/qpsolver/a_asm.hpp +77 -0
  1029. data/ext/lpsolver-highs/highs/qpsolver/a_quass.cpp +194 -0
  1030. data/ext/lpsolver-highs/highs/qpsolver/a_quass.hpp +22 -0
  1031. data/ext/lpsolver-highs/highs/qpsolver/basis.cpp +443 -0
  1032. data/ext/lpsolver-highs/highs/qpsolver/basis.hpp +159 -0
  1033. data/ext/lpsolver-highs/highs/qpsolver/crashsolution.hpp +20 -0
  1034. data/ext/lpsolver-highs/highs/qpsolver/dantzigpricing.hpp +80 -0
  1035. data/ext/lpsolver-highs/highs/qpsolver/devexharrispricing.hpp +98 -0
  1036. data/ext/lpsolver-highs/highs/qpsolver/devexpricing.hpp +108 -0
  1037. data/ext/lpsolver-highs/highs/qpsolver/eventhandler.hpp +30 -0
  1038. data/ext/lpsolver-highs/highs/qpsolver/factor.hpp +408 -0
  1039. data/ext/lpsolver-highs/highs/qpsolver/feasibility_bounded.hpp +114 -0
  1040. data/ext/lpsolver-highs/highs/qpsolver/feasibility_highs.hpp +301 -0
  1041. data/ext/lpsolver-highs/highs/qpsolver/gradient.hpp +46 -0
  1042. data/ext/lpsolver-highs/highs/qpsolver/instance.hpp +70 -0
  1043. data/ext/lpsolver-highs/highs/qpsolver/matrix.hpp +342 -0
  1044. data/ext/lpsolver-highs/highs/qpsolver/perturbation.cpp +41 -0
  1045. data/ext/lpsolver-highs/highs/qpsolver/perturbation.hpp +15 -0
  1046. data/ext/lpsolver-highs/highs/qpsolver/pricing.hpp +22 -0
  1047. data/ext/lpsolver-highs/highs/qpsolver/qpconst.hpp +34 -0
  1048. data/ext/lpsolver-highs/highs/qpsolver/qpvector.hpp +242 -0
  1049. data/ext/lpsolver-highs/highs/qpsolver/quass.cpp +551 -0
  1050. data/ext/lpsolver-highs/highs/qpsolver/quass.hpp +27 -0
  1051. data/ext/lpsolver-highs/highs/qpsolver/ratiotest.cpp +146 -0
  1052. data/ext/lpsolver-highs/highs/qpsolver/ratiotest.hpp +26 -0
  1053. data/ext/lpsolver-highs/highs/qpsolver/reducedcosts.hpp +46 -0
  1054. data/ext/lpsolver-highs/highs/qpsolver/reducedgradient.hpp +95 -0
  1055. data/ext/lpsolver-highs/highs/qpsolver/runtime.hpp +45 -0
  1056. data/ext/lpsolver-highs/highs/qpsolver/scaling.cpp +123 -0
  1057. data/ext/lpsolver-highs/highs/qpsolver/scaling.hpp +15 -0
  1058. data/ext/lpsolver-highs/highs/qpsolver/settings.hpp +84 -0
  1059. data/ext/lpsolver-highs/highs/qpsolver/snippets.hpp +36 -0
  1060. data/ext/lpsolver-highs/highs/qpsolver/statistics.hpp +30 -0
  1061. data/ext/lpsolver-highs/highs/qpsolver/steepestedgepricing.hpp +173 -0
  1062. data/ext/lpsolver-highs/highs/simplex/HApp.h +550 -0
  1063. data/ext/lpsolver-highs/highs/simplex/HEkk.cpp +4404 -0
  1064. data/ext/lpsolver-highs/highs/simplex/HEkk.h +419 -0
  1065. data/ext/lpsolver-highs/highs/simplex/HEkkControl.cpp +146 -0
  1066. data/ext/lpsolver-highs/highs/simplex/HEkkDebug.cpp +1722 -0
  1067. data/ext/lpsolver-highs/highs/simplex/HEkkDual.cpp +3003 -0
  1068. data/ext/lpsolver-highs/highs/simplex/HEkkDual.h +513 -0
  1069. data/ext/lpsolver-highs/highs/simplex/HEkkDualMulti.cpp +1020 -0
  1070. data/ext/lpsolver-highs/highs/simplex/HEkkDualRHS.cpp +535 -0
  1071. data/ext/lpsolver-highs/highs/simplex/HEkkDualRHS.h +134 -0
  1072. data/ext/lpsolver-highs/highs/simplex/HEkkDualRow.cpp +697 -0
  1073. data/ext/lpsolver-highs/highs/simplex/HEkkDualRow.h +201 -0
  1074. data/ext/lpsolver-highs/highs/simplex/HEkkInterface.cpp +26 -0
  1075. data/ext/lpsolver-highs/highs/simplex/HEkkPrimal.cpp +2984 -0
  1076. data/ext/lpsolver-highs/highs/simplex/HEkkPrimal.h +191 -0
  1077. data/ext/lpsolver-highs/highs/simplex/HSimplex.cpp +330 -0
  1078. data/ext/lpsolver-highs/highs/simplex/HSimplex.h +42 -0
  1079. data/ext/lpsolver-highs/highs/simplex/HSimplexDebug.cpp +145 -0
  1080. data/ext/lpsolver-highs/highs/simplex/HSimplexDebug.h +48 -0
  1081. data/ext/lpsolver-highs/highs/simplex/HSimplexNla.cpp +517 -0
  1082. data/ext/lpsolver-highs/highs/simplex/HSimplexNla.h +158 -0
  1083. data/ext/lpsolver-highs/highs/simplex/HSimplexNlaDebug.cpp +373 -0
  1084. data/ext/lpsolver-highs/highs/simplex/HSimplexNlaFreeze.cpp +28 -0
  1085. data/ext/lpsolver-highs/highs/simplex/HSimplexNlaProductForm.cpp +113 -0
  1086. data/ext/lpsolver-highs/highs/simplex/HSimplexReport.cpp +77 -0
  1087. data/ext/lpsolver-highs/highs/simplex/HSimplexReport.h +21 -0
  1088. data/ext/lpsolver-highs/highs/simplex/HighsSimplexAnalysis.cpp +1495 -0
  1089. data/ext/lpsolver-highs/highs/simplex/HighsSimplexAnalysis.h +500 -0
  1090. data/ext/lpsolver-highs/highs/simplex/SimplexConst.h +273 -0
  1091. data/ext/lpsolver-highs/highs/simplex/SimplexStruct.h +263 -0
  1092. data/ext/lpsolver-highs/highs/simplex/SimplexTimer.h +414 -0
  1093. data/ext/lpsolver-highs/highs/test_kkt/DevKkt.cpp +469 -0
  1094. data/ext/lpsolver-highs/highs/test_kkt/DevKkt.h +143 -0
  1095. data/ext/lpsolver-highs/highs/test_kkt/KktCh2.cpp +305 -0
  1096. data/ext/lpsolver-highs/highs/test_kkt/KktCh2.h +79 -0
  1097. data/ext/lpsolver-highs/highs/util/FactorTimer.h +199 -0
  1098. data/ext/lpsolver-highs/highs/util/HFactor.cpp +2597 -0
  1099. data/ext/lpsolver-highs/highs/util/HFactor.h +587 -0
  1100. data/ext/lpsolver-highs/highs/util/HFactorConst.h +81 -0
  1101. data/ext/lpsolver-highs/highs/util/HFactorDebug.cpp +231 -0
  1102. data/ext/lpsolver-highs/highs/util/HFactorDebug.h +55 -0
  1103. data/ext/lpsolver-highs/highs/util/HFactorExtend.cpp +229 -0
  1104. data/ext/lpsolver-highs/highs/util/HFactorRefactor.cpp +304 -0
  1105. data/ext/lpsolver-highs/highs/util/HFactorUtils.cpp +122 -0
  1106. data/ext/lpsolver-highs/highs/util/HSet.cpp +197 -0
  1107. data/ext/lpsolver-highs/highs/util/HSet.h +89 -0
  1108. data/ext/lpsolver-highs/highs/util/HVector.h +22 -0
  1109. data/ext/lpsolver-highs/highs/util/HVectorBase.cpp +271 -0
  1110. data/ext/lpsolver-highs/highs/util/HVectorBase.h +102 -0
  1111. data/ext/lpsolver-highs/highs/util/HighsCDouble.h +323 -0
  1112. data/ext/lpsolver-highs/highs/util/HighsComponent.h +53 -0
  1113. data/ext/lpsolver-highs/highs/util/HighsDataStack.h +83 -0
  1114. data/ext/lpsolver-highs/highs/util/HighsDisjointSets.h +107 -0
  1115. data/ext/lpsolver-highs/highs/util/HighsHash.cpp +10 -0
  1116. data/ext/lpsolver-highs/highs/util/HighsHash.h +1274 -0
  1117. data/ext/lpsolver-highs/highs/util/HighsHashTree.h +1461 -0
  1118. data/ext/lpsolver-highs/highs/util/HighsInt.h +36 -0
  1119. data/ext/lpsolver-highs/highs/util/HighsIntegers.h +212 -0
  1120. data/ext/lpsolver-highs/highs/util/HighsLinearSumBounds.cpp +267 -0
  1121. data/ext/lpsolver-highs/highs/util/HighsLinearSumBounds.h +203 -0
  1122. data/ext/lpsolver-highs/highs/util/HighsMatrixPic.cpp +146 -0
  1123. data/ext/lpsolver-highs/highs/util/HighsMatrixPic.h +37 -0
  1124. data/ext/lpsolver-highs/highs/util/HighsMatrixSlice.h +561 -0
  1125. data/ext/lpsolver-highs/highs/util/HighsMatrixUtils.cpp +407 -0
  1126. data/ext/lpsolver-highs/highs/util/HighsMatrixUtils.h +57 -0
  1127. data/ext/lpsolver-highs/highs/util/HighsMemoryAllocation.h +63 -0
  1128. data/ext/lpsolver-highs/highs/util/HighsRandom.h +242 -0
  1129. data/ext/lpsolver-highs/highs/util/HighsRbTree.h +452 -0
  1130. data/ext/lpsolver-highs/highs/util/HighsSort.cpp +364 -0
  1131. data/ext/lpsolver-highs/highs/util/HighsSort.h +131 -0
  1132. data/ext/lpsolver-highs/highs/util/HighsSparseMatrix.cpp +1746 -0
  1133. data/ext/lpsolver-highs/highs/util/HighsSparseMatrix.h +151 -0
  1134. data/ext/lpsolver-highs/highs/util/HighsSparseVectorSum.h +95 -0
  1135. data/ext/lpsolver-highs/highs/util/HighsSplay.h +135 -0
  1136. data/ext/lpsolver-highs/highs/util/HighsTimer.h +385 -0
  1137. data/ext/lpsolver-highs/highs/util/HighsUtils.cpp +1259 -0
  1138. data/ext/lpsolver-highs/highs/util/HighsUtils.h +272 -0
  1139. data/ext/lpsolver-highs/highs/util/stringutil.cpp +131 -0
  1140. data/ext/lpsolver-highs/highs/util/stringutil.h +46 -0
  1141. data/ext/lpsolver-highs/highs.pc.in +12 -0
  1142. data/ext/lpsolver-highs/meson.build +198 -0
  1143. data/ext/lpsolver-highs/meson_options.txt +31 -0
  1144. data/ext/lpsolver-highs/nuget/HiGHS_Logo.png +0 -0
  1145. data/ext/lpsolver-highs/nuget/Highs.csproj +25 -0
  1146. data/ext/lpsolver-highs/nuget/Highs.csproj.in +36 -0
  1147. data/ext/lpsolver-highs/nuget/HowToAlternative.md +77 -0
  1148. data/ext/lpsolver-highs/nuget/README.md +38 -0
  1149. data/ext/lpsolver-highs/nuget/arm-toolchain.cmake +15 -0
  1150. data/ext/lpsolver-highs/nuget/build_linux-arm.sh +13 -0
  1151. data/ext/lpsolver-highs/nuget/build_linux.sh +10 -0
  1152. data/ext/lpsolver-highs/nuget/build_windows.ps1 +27 -0
  1153. data/ext/lpsolver-highs/nuget/generatePackage.ps1 +28 -0
  1154. data/ext/lpsolver-highs/pyproject.toml +221 -0
  1155. data/ext/lpsolver-highs/subprojects/pybind11.wrap +13 -0
  1156. data/ext/lpsolver-highs/tests/test_highspy.py +2310 -0
  1157. data/ext/lpsolver-highs/version.rc.in +50 -0
  1158. data/lib/lpsolver/highs +0 -0
  1159. data/lib/lpsolver/model.rb +35 -7
  1160. data/lib/lpsolver/native.so +0 -0
  1161. data/lib/lpsolver/native_model.rb +261 -0
  1162. data/lib/lpsolver/solution.rb +93 -8
  1163. data/lib/lpsolver/version.rb +1 -1
  1164. data/lpsolver.gemspec +4 -1
  1165. metadata +1176 -4
@@ -0,0 +1,1822 @@
1
+ \ File written by HiGHS .lp file handler
2
+ max
3
+ obj: -1050.09490748148 x1 +0.077 x2 +0.068 x3 +0.05912 x4 +0.07261 x5 +0.05721 x6 +0.05509 x7 +0.05085 x8 +0.05085 x9 +0.06442 x10 +0.07947 x11 +0.08693 x12 +0.09921 x13 +0.09671 x14 +0.10135 x15 +0.09307 x16 +0.08284 x17 +0.07707 x18 +0.05433 x19 +0.07567 x20 +0.03881 x21 +0.06258 x22 +0.02425 x23 +0.04996 x24 +0.02532 x25 -0.077 x26 -0.068 x27 -0.05912 x28 -0.07261 x29 -0.05721 x30 -0.05509 x31 -0.05085 x32 -0.05085 x33 -0.06442 x34 -0.07947 x35 -0.08693 x36 -0.09921 x37 -0.09671 x38 -0.10135 x39 -0.09307 x40 -0.08284 x41 -0.07707 x42 -0.05433 x43
4
+ -0.07567 x44 -0.03881 x45 -0.06258 x46 -0.02425 x47 -0.04996 x48 -0.02532 x49 +0.02532 x50 -0.02532 x51 -0.00042330288 x52 -0.00042330288 x53 -0.00042330288 x54 -0.00042330288 x55 -0.00042330288 x56 -0.00042330288 x57 -0.00042330288 x58 -0.00042330288 x59 -0.00042330288 x60 -0.00042330288 x61 -0.00042330288 x62 -0.00042330288 x63 -0.00042330288 x64 -0.00042330288 x65 -0.00042330288 x66 -0.00042330288 x67 -0.00042330288 x68 -0.00042330288 x69 -0.00042330288 x70 -0.00042330288 x71 -0.00042330288 x72 -0.00042330288 x73 -0.00042330288 x74 -0.00042330288
5
+ x75 -0.00042330288 x76 -0.00042330288 x77 -0.00042330288 x78 -10 x79 -10 x80 -10 x81 -10 x82 -10 x83 -10 x84 -10 x85 -10 x86 -10 x87 -10 x88 -10 x89 -10 x90 -10 x91 -10 x92 -10 x93 -10 x94 -10 x95 -10 x96 -10 x97 -10 x98 -10 x99 -10 x100 -10 x101 -10 x102 -10 x103 -10 x104 -10 x105 -10 x106 -10 x107 -10 x108 -10 x109 -10 x110 -10 x111 -10 x112 -10 x113 -10 x114 -10 x115 -10 x116 -10 x117 -10 x118 -10 x119 -10 x120 -10 x121 -10 x122 -10 x123 -10 x124 -10 x125 -10 x126 -10 x127 -10 x128 -10 x129 -10 x130 -10 x131 -10 x132 -10 x133 -10 x134 -0.01 x135
6
+ -0.01 x136 -0.01 x137 -0.01 x138 -0.01 x139 -0.01 x140 -0.01 x141 -0.01 x142 -0.01 x143 -0.01 x144 -0.01 x145 -0.01 x146 -0.01 x147 -0.01 x148 -0.01 x149 -0.01 x150 -0.01 x151 -0.01 x152 -0.01 x153 -0.01 x154 -0.01 x155 -0.01 x156 -0.01 x157 -0.01 x158
7
+ st
8
+ con1: +1 x159 -0.5 x160 -0.00833333333333333 x161 +0.00833333333333333 x162 +0.00833333333333333 x163 = +0
9
+ con2: +1 x164 -0.5 x165 -0.00833333333333333 x166 +0.00833333333333333 x167 +0.00833333333333333 x168 = +0
10
+ con3: +1 x169 -0.5 x170 +0.00833333333333333 x171 +0.00833333333333333 x172 = +0
11
+ con4: +1 x173 -0.5 x174 +0.00833333333333333 x175 +0.00833333333333333 x176 = +0
12
+ con5: +1 x177 -0.5 x178 +0.00833333333333333 x179 +0.00833333333333333 x180 = +0
13
+ con6: +1 x181 -0.5 x182 +0.00833333333333333 x183 +0.00833333333333333 x184 = +0
14
+ con7: +1 x185 -0.5 x186 +0.00833333333333333 x187 +0.00833333333333333 x188 = +0
15
+ con8: +1 x189 -0.5 x190 +0.00833333333333333 x191 +0.00833333333333333 x192 = +0
16
+ con9: +1 x193 -0.5 x194 +0.00833333333333333 x195 +0.00833333333333333 x196 = +0
17
+ con10: +1 x197 -0.5 x198 +0.00833333333333333 x199 +0.00833333333333333 x200 = +0
18
+ con11: +1 x201 -0.5 x202 +0.00833333333333333 x203 +0.00833333333333333 x204 = +0
19
+ con12: +1 x205 -0.5 x206 +0.00833333333333333 x207 +0.00833333333333333 x208 = +0
20
+ con13: +1 x209 -0.5 x210 +0.00833333333333333 x211 +0.00833333333333333 x212 = +0
21
+ con14: +1 x213 -0.5 x214 +0.00833333333333333 x215 +0.00833333333333333 x216 = +0
22
+ con15: +1 x217 -0.5 x218 +0.00833333333333333 x219 +0.00833333333333333 x220 = +0
23
+ con16: +1 x221 -0.5 x222 +0.00833333333333333 x223 +0.00833333333333333 x224 = +0
24
+ con17: +1 x225 -0.5 x226 +0.00833333333333333 x227 +0.00833333333333333 x228 = +0
25
+ con18: +1 x229 -0.5 x230 +0.00833333333333333 x231 +0.00833333333333333 x232 = +0
26
+ con19: +1 x233 -0.5 x234 +0.00833333333333333 x235 +0.00833333333333333 x236 = +0
27
+ con20: +1 x237 -0.5 x238 +0.00833333333333333 x239 +0.00833333333333333 x240 = +0
28
+ con21: +1 x241 -0.5 x242 +0.00833333333333333 x243 +0.00833333333333333 x244 = +0
29
+ con22: +1 x245 -0.5 x246 +0.00833333333333333 x247 +0.00833333333333333 x248 = +0
30
+ con23: +1 x249 -0.5 x250 +0.00833333333333333 x251 +0.00833333333333333 x252 = +0
31
+ con24: +1 x253 -0.5 x254 +0.00833333333333333 x255 +0.00833333333333333 x256 = +0
32
+ con25: -12000 x257 <= -12000
33
+ con26: +8000 x257 <= +8000
34
+ con27: +1 x160 -12000 x258 <= +0
35
+ con28: +1 x165 +7000 x258 <= +7000
36
+ con29: +1 x170 -12000 x259 <= +0
37
+ con30: +1 x174 +7000 x259 <= +7000
38
+ con31: +1 x178 -12000 x260 <= +0
39
+ con32: +1 x182 +7000 x260 <= +7000
40
+ con33: +1 x186 -12000 x261 <= +0
41
+ con34: +1 x190 +7000 x261 <= +7000
42
+ con35: +1 x194 -12000 x262 <= +0
43
+ con36: +1 x198 +7000 x262 <= +7000
44
+ con37: +1 x202 -12000 x263 <= +0
45
+ con38: +1 x206 +7000 x263 <= +7000
46
+ con39: +1 x210 -12000 x264 <= +0
47
+ con40: +1 x214 +7000 x264 <= +7000
48
+ con41: +1 x218 -12000 x265 <= +0
49
+ con42: +1 x222 +7000 x265 <= +7000
50
+ con43: +1 x226 -12000 x266 <= +0
51
+ con44: +1 x230 +8000 x266 <= +8000
52
+ con45: +1 x234 -12000 x267 <= +0
53
+ con46: +1 x238 +8000 x267 <= +8000
54
+ con47: +1 x242 -12000 x268 <= +0
55
+ con48: +1 x246 +8000 x268 <= +8000
56
+ con49: +1 x250 -12000 x269 <= +0
57
+ con50: +1 x254 +8000 x269 <= +8000
58
+ con51: +1 x270 -12000 x271 <= +0
59
+ con52: +8000 x271 +1 x272 <= +8000
60
+ con53: +1 x163 -12000 x273 <= +0
61
+ con54: +1 x161 +12000 x273 <= +12000
62
+ con55: +1 x168 -8000 x274 <= +0
63
+ con56: +1 x166 +8000 x274 <= +8000
64
+ con57: +1 x172 -12000 x275 <= +0
65
+ con58: +1 x162 +12000 x275 <= +12000
66
+ con59: +1 x176 -7000 x276 <= +0
67
+ con60: +1 x167 +7000 x276 <= +7000
68
+ con61: +1 x180 -12000 x277 <= +0
69
+ con62: +1 x171 +12000 x277 <= +12000
70
+ con63: +1 x184 -7000 x278 <= +0
71
+ con64: +1 x175 +7000 x278 <= +7000
72
+ con65: +1 x188 -12000 x279 <= +0
73
+ con66: +1 x179 +12000 x279 <= +12000
74
+ con67: +1 x192 -7000 x280 <= +0
75
+ con68: +1 x183 +7000 x280 <= +7000
76
+ con69: +1 x196 -12000 x281 <= +0
77
+ con70: +1 x187 +12000 x281 <= +12000
78
+ con71: +1 x200 -7000 x282 <= +0
79
+ con72: +1 x191 +7000 x282 <= +7000
80
+ con73: +1 x204 -12000 x283 <= +0
81
+ con74: +1 x195 +12000 x283 <= +12000
82
+ con75: +1 x208 -7000 x284 <= +0
83
+ con76: +1 x199 +7000 x284 <= +7000
84
+ con77: +1 x212 -12000 x285 <= +0
85
+ con78: +1 x203 +12000 x285 <= +12000
86
+ con79: +1 x216 -7000 x286 <= +0
87
+ con80: +1 x207 +7000 x286 <= +7000
88
+ con81: +1 x220 -12000 x287 <= +0
89
+ con82: +1 x211 +12000 x287 <= +12000
90
+ con83: +1 x224 -7000 x288 <= +0
91
+ con84: +1 x215 +7000 x288 <= +7000
92
+ con85: +1 x228 -12000 x289 <= +0
93
+ con86: +1 x219 +12000 x289 <= +12000
94
+ con87: +1 x232 -8000 x290 <= +0
95
+ con88: +1 x223 +8000 x290 <= +8000
96
+ con89: +1 x236 -12000 x291 <= +0
97
+ con90: +1 x227 +12000 x291 <= +12000
98
+ con91: +1 x240 -8000 x292 <= +0
99
+ con92: +1 x231 +8000 x292 <= +8000
100
+ con93: +1 x244 -12000 x293 <= +0
101
+ con94: +1 x235 +12000 x293 <= +12000
102
+ con95: +1 x248 -8000 x294 <= +0
103
+ con96: +1 x239 +8000 x294 <= +8000
104
+ con97: +1 x252 -12000 x295 <= +0
105
+ con98: +1 x243 +12000 x295 <= +12000
106
+ con99: +1 x256 -8000 x296 <= +0
107
+ con100: +1 x247 +8000 x296 <= +8000
108
+ con101: -12000 x297 <= +0
109
+ con102: +1 x251 +12000 x297 <= +12000
110
+ con103: -8000 x298 <= +0
111
+ con104: +1 x255 +8000 x298 <= +8000
112
+ con105: +1 x160 +1 x161 -1 x163 = +12000
113
+ con106: +1 x165 +1 x166 -1 x168 = +0
114
+ con107: -1 x160 +1 x162 +1 x170 -1 x172 = +0
115
+ con108: -1 x165 +1 x167 +1 x174 -1 x176 = +0
116
+ con109: -1 x170 +1 x171 +1 x178 -1 x180 = +0
117
+ con110: -1 x174 +1 x175 +1 x182 -1 x184 = +0
118
+ con111: -1 x178 +1 x179 +1 x186 -1 x188 = +0
119
+ con112: -1 x182 +1 x183 +1 x190 -1 x192 = +0
120
+ con113: -1 x186 +1 x187 +1 x194 -1 x196 = +0
121
+ con114: -1 x190 +1 x191 +1 x198 -1 x200 = +0
122
+ con115: -1 x194 +1 x195 +1 x202 -1 x204 = +0
123
+ con116: -1 x198 +1 x199 +1 x206 -1 x208 = +0
124
+ con117: -1 x202 +1 x203 +1 x210 -1 x212 = +0
125
+ con118: -1 x206 +1 x207 +1 x214 -1 x216 = +0
126
+ con119: -1 x210 +1 x211 +1 x218 -1 x220 = +0
127
+ con120: -1 x214 +1 x215 +1 x222 -1 x224 = +0
128
+ con121: -1 x218 +1 x219 +1 x226 -1 x228 = +0
129
+ con122: -1 x222 +1 x223 +1 x230 -1 x232 = +0
130
+ con123: -1 x226 +1 x227 +1 x234 -1 x236 = +0
131
+ con124: -1 x230 +1 x231 +1 x238 -1 x240 = +0
132
+ con125: -1 x234 +1 x235 +1 x242 -1 x244 = +0
133
+ con126: -1 x238 +1 x239 +1 x246 -1 x248 = +0
134
+ con127: -1 x242 +1 x243 +1 x250 -1 x252 = +0
135
+ con128: -1 x246 +1 x247 +1 x254 -1 x256 = +0
136
+ con129: -1 x250 +1 x251 +1 x270 = +0
137
+ con130: -1 x254 +1 x255 +1 x272 = +0
138
+ con131: -1000 x299 = -12000
139
+ con132: -1000 x300 = +0
140
+ con133: +1 x160 -1000 x301 = +0
141
+ con134: +1 x165 -1000 x302 = +0
142
+ con135: +1 x170 -1000 x303 = +0
143
+ con136: +1 x174 -1000 x304 = +0
144
+ con137: +1 x178 -1000 x305 = +0
145
+ con138: +1 x182 -1000 x306 = +0
146
+ con139: +1 x186 -1000 x307 = +0
147
+ con140: +1 x190 -1000 x308 = +0
148
+ con141: +1 x194 -1000 x309 = +0
149
+ con142: +1 x198 -1000 x310 = +0
150
+ con143: +1 x202 -1000 x311 = +0
151
+ con144: +1 x206 -1000 x312 = +0
152
+ con145: +1 x210 -1000 x313 = +0
153
+ con146: +1 x214 -1000 x314 = +0
154
+ con147: +1 x218 -1000 x315 = +0
155
+ con148: +1 x222 -1000 x316 = +0
156
+ con149: +1 x226 -1000 x317 = +0
157
+ con150: +1 x230 -1000 x318 = +0
158
+ con151: +1 x234 -1000 x319 = +0
159
+ con152: +1 x238 -1000 x320 = +0
160
+ con153: +1 x242 -1000 x321 = +0
161
+ con154: +1 x246 -1000 x322 = +0
162
+ con155: +1 x250 -1000 x323 = +0
163
+ con156: +1 x254 -1000 x324 = +0
164
+ con157: +1 x270 -1000 x325 = +0
165
+ con158: +1 x272 -1000 x326 = +0
166
+ con159: +1 x160 +1 x161 <= +12000
167
+ con160: +1 x165 +1 x166 <= +7000
168
+ con161: -1 x257 +1 x258 = +0
169
+ con162: +1 x327 -1 x328 = -222.34033333
170
+ con163: +1 x329 -1 x330 = +4423.87633333333
171
+ con164: +1 x331 -1 x332 = +4490.543
172
+ con165: +1 x135 +1 x333 -1 x334 -1 x335 = -1583.939
173
+ con166: +1 x136 +1 x336 -1 x337 -1 x338 = -1583.939
174
+ con167: +1 x137 +1 x339 -1 x340 -1 x341 = -1583.939
175
+ con168: +1 x138 +1 x342 -1 x343 -1 x344 = -1583.939
176
+ con169: +1 x139 +1 x345 -1 x346 -1 x347 = -1583.939
177
+ con170: +1 x140 +1 x348 -1 x349 -1 x350 = -1583.939
178
+ con171: +1 x141 +1 x351 -1 x352 -1 x353 = -1583.939
179
+ con172: +1 x142 +1 x354 -1 x355 -1 x356 = -1583.939
180
+ con173: +1 x143 +1 x357 -1 x358 -1 x359 = -1509.457
181
+ con174: +1 x144 +1 x360 -1 x361 -1 x362 = -1509.457
182
+ con175: +1 x145 +1 x363 -1 x364 -1 x365 = -1509.457
183
+ con176: +1 x146 +1 x366 -1 x367 -1 x368 = -1509.457
184
+ con177: +1 x147 +1 x369 -1 x370 -1 x371 = -1509.457
185
+ con178: +1 x148 +1 x372 -1 x373 -1 x374 = -1509.457
186
+ con179: +1 x149 +1 x375 -1 x376 -1 x377 = -1509.457
187
+ con180: +1 x150 +1 x378 -1 x379 -1 x380 = -1509.457
188
+ con181: +1 x151 +1 x381 -1 x382 -1 x383 = -1583.939
189
+ con182: +1 x152 +1 x384 -1 x385 -1 x386 = -1583.939
190
+ con183: +1 x153 +1 x387 -1 x388 -1 x389 = -1583.939
191
+ con184: +1 x154 +1 x390 -1 x391 -1 x392 = -1583.939
192
+ con185: +1 x155 +1 x393 -1 x394 -1 x395 = -1583.939
193
+ con186: +1 x156 +1 x396 -1 x397 -1 x398 = -1583.939
194
+ con187: +1 x157 +1 x399 -1 x400 -1 x401 = -1583.939
195
+ con188: +1 x158 +1 x402 -1 x403 -1 x404 = -1583.939
196
+ con189: -17400 x405 <= -1491.66666667
197
+ con190: +17400 x405 <= +17400
198
+ con191: -29000 x406 <= -5933.33333333333
199
+ con192: +29000 x406 <= +29000
200
+ con193: -29000 x407 <= -6000
201
+ con194: +29000 x407 <= +29000
202
+ con195: +1 x335 -29000 x408 <= +0
203
+ con196: +1 x135 +29000 x408 <= +29000
204
+ con197: +1 x338 -29000 x409 <= +0
205
+ con198: +1 x136 +29000 x409 <= +29000
206
+ con199: +1 x341 -29000 x410 <= +0
207
+ con200: +1 x137 +29000 x410 <= +29000
208
+ con201: +1 x344 -29000 x411 <= +0
209
+ con202: +1 x138 +29000 x411 <= +29000
210
+ con203: +1 x347 -29000 x412 <= +0
211
+ con204: +1 x139 +29000 x412 <= +29000
212
+ con205: +1 x350 -29000 x413 <= +0
213
+ con206: +1 x140 +29000 x413 <= +29000
214
+ con207: +1 x353 -29000 x414 <= +0
215
+ con208: +1 x141 +29000 x414 <= +29000
216
+ con209: +1 x356 -29000 x415 <= +0
217
+ con210: +1 x142 +29000 x415 <= +29000
218
+ con211: +1 x359 -29000 x416 <= +0
219
+ con212: +1 x143 +29000 x416 <= +29000
220
+ con213: +1 x362 -29000 x417 <= +0
221
+ con214: +1 x144 +29000 x417 <= +29000
222
+ con215: +1 x365 -29000 x418 <= +0
223
+ con216: +1 x145 +29000 x418 <= +29000
224
+ con217: +1 x368 -29000 x419 <= +0
225
+ con218: +1 x146 +29000 x419 <= +29000
226
+ con219: +1 x371 -29000 x420 <= +0
227
+ con220: +1 x147 +29000 x420 <= +29000
228
+ con221: +1 x374 -29000 x421 <= +0
229
+ con222: +1 x148 +29000 x421 <= +29000
230
+ con223: +1 x377 -29000 x422 <= +0
231
+ con224: +1 x149 +29000 x422 <= +29000
232
+ con225: +1 x380 -29000 x423 <= +0
233
+ con226: +1 x150 +29000 x423 <= +29000
234
+ con227: +1 x383 -29000 x424 <= +0
235
+ con228: +1 x151 +29000 x424 <= +29000
236
+ con229: +1 x386 -29000 x425 <= +0
237
+ con230: +1 x152 +29000 x425 <= +29000
238
+ con231: +1 x389 -29000 x426 <= +0
239
+ con232: +1 x153 +29000 x426 <= +29000
240
+ con233: +1 x392 -29000 x427 <= +0
241
+ con234: +1 x154 +29000 x427 <= +29000
242
+ con235: +1 x395 -29000 x428 <= +0
243
+ con236: +1 x155 +29000 x428 <= +29000
244
+ con237: +1 x398 -29000 x429 <= +0
245
+ con238: +1 x156 +29000 x429 <= +29000
246
+ con239: +1 x401 -29000 x430 <= +0
247
+ con240: +1 x157 +29000 x430 <= +29000
248
+ con241: +1 x404 -29000 x431 <= +0
249
+ con242: +1 x158 +29000 x431 <= +29000
250
+ con243: -0.9 x327 +1 x432 = +0
251
+ con244: +1 x328 -1 x433 = +0
252
+ con245: -0.9 x329 +1 x434 = +0
253
+ con246: +1 x330 -1 x435 = +0
254
+ con247: -0.9 x331 +1 x436 = +0
255
+ con248: +1 x332 -1 x437 = +0
256
+ con249: -0.9 x333 +1 x438 = +0
257
+ con250: +1 x334 -1 x439 = +0
258
+ con251: -0.9 x336 +1 x440 = +0
259
+ con252: +1 x337 -1 x441 = +0
260
+ con253: -0.9 x339 +1 x442 = +0
261
+ con254: +1 x340 -1 x443 = +0
262
+ con255: -0.9 x342 +1 x444 = +0
263
+ con256: +1 x343 -1 x445 = +0
264
+ con257: -0.9 x345 +1 x446 = +0
265
+ con258: +1 x346 -1 x447 = +0
266
+ con259: -0.9 x348 +1 x448 = +0
267
+ con260: +1 x349 -1 x449 = +0
268
+ con261: -0.9 x351 +1 x450 = +0
269
+ con262: +1 x352 -1 x451 = +0
270
+ con263: -0.9 x354 +1 x452 = +0
271
+ con264: +1 x355 -1 x453 = +0
272
+ con265: -0.9 x357 +1 x454 = +0
273
+ con266: +1 x358 -1 x455 = +0
274
+ con267: -0.9 x360 +1 x456 = +0
275
+ con268: +1 x361 -1 x457 = +0
276
+ con269: -0.9 x363 +1 x458 = +0
277
+ con270: +1 x364 -1 x459 = +0
278
+ con271: -0.9 x366 +1 x460 = +0
279
+ con272: +1 x367 -1 x461 = +0
280
+ con273: -0.9 x369 +1 x462 = +0
281
+ con274: +1 x370 -1 x463 = +0
282
+ con275: -0.9 x372 +1 x464 = +0
283
+ con276: +1 x373 -1 x465 = +0
284
+ con277: -0.9 x375 +1 x466 = +0
285
+ con278: +1 x376 -1 x467 = +0
286
+ con279: -0.9 x378 +1 x468 = +0
287
+ con280: +1 x379 -1 x469 = +0
288
+ con281: -0.9 x381 +1 x470 = +0
289
+ con282: +1 x382 -1 x471 = +0
290
+ con283: -0.9 x384 +1 x472 = +0
291
+ con284: +1 x385 -1 x473 = +0
292
+ con285: -0.9 x387 +1 x474 = +0
293
+ con286: +1 x388 -1 x475 = +0
294
+ con287: -0.9 x390 +1 x476 = +0
295
+ con288: +1 x391 -1 x477 = +0
296
+ con289: -0.9 x393 +1 x478 = +0
297
+ con290: +1 x394 -1 x479 = +0
298
+ con291: -0.9 x396 +1 x480 = +0
299
+ con292: +1 x397 -1 x481 = +0
300
+ con293: -0.9 x399 +1 x482 = +0
301
+ con294: +1 x400 -1 x483 = +0
302
+ con295: -0.9 x402 +1 x484 = +0
303
+ con296: +1 x403 -1 x485 = +0
304
+ con297: -1 x135 -1 x159 +1 x164 +1 x335 = +0
305
+ con298: -1 x136 -1 x169 +1 x173 +1 x338 = +0
306
+ con299: -1 x137 -1 x177 +1 x181 +1 x341 = +0
307
+ con300: -1 x138 -1 x185 +1 x189 +1 x344 = +0
308
+ con301: -1 x139 -1 x193 +1 x197 +1 x347 = +0
309
+ con302: -1 x140 -1 x201 +1 x205 +1 x350 = +0
310
+ con303: -1 x141 -1 x209 +1 x213 +1 x353 = +0
311
+ con304: -1 x142 -1 x217 +1 x221 +1 x356 = +0
312
+ con305: -1 x143 -1 x225 +1 x229 +1 x359 = +0
313
+ con306: -1 x144 -1 x233 +1 x237 +1 x362 = +0
314
+ con307: -1 x145 -1 x241 +1 x245 +1 x365 = +0
315
+ con308: -1 x146 -1 x249 +1 x253 +1 x368 = +0
316
+ con309: +1 x486 = +0
317
+ con310: +1 x487 = +0
318
+ con311: +1 x488 = +0
319
+ con312: +1 x489 = +0
320
+ con313: +1 x490 = +0
321
+ con314: +1 x491 = +0
322
+ con315: +1 x492 = +0
323
+ con316: +1 x493 = +0
324
+ con317: +1 x494 = +0
325
+ con318: +1 x495 = +0
326
+ con319: +1 x496 = +0
327
+ con320: +1 x497 = +0
328
+ con321: +1 x498 = +0
329
+ con322: +1 x499 = +0
330
+ con323: +1 x500 = +0
331
+ con324: +1 x501 = +0
332
+ con325: +1 x502 = +0
333
+ con326: +1 x503 = +0
334
+ con327: +1 x504 = +0
335
+ con328: +1 x505 = +0
336
+ con329: +1 x506 = +0
337
+ con330: +1 x507 = +0
338
+ con331: +1 x508 = +0
339
+ con332: +1 x509 = +0
340
+ con333: +1 x510 = +0
341
+ con334: +1 x511 = +0
342
+ con335: +1 x512 = +0
343
+ con336: +1 x513 = +0
344
+ con337: +1 x514 = +0
345
+ con338: +1 x515 = +0
346
+ con339: +1 x516 = +0
347
+ con340: +1 x517 = +0
348
+ con341: +1 x518 = +0
349
+ con342: +1 x519 = +0
350
+ con343: +1 x520 = +0
351
+ con344: +1 x521 = +0
352
+ con345: +1 x522 = +0
353
+ con346: +1 x523 = +0
354
+ con347: +1 x524 = +0
355
+ con348: +1 x525 = +0
356
+ con349: +1 x526 = +0
357
+ con350: +1 x527 = +0
358
+ con351: +1 x528 = +0
359
+ con352: +1 x529 = +0
360
+ con353: +1 x530 = +0
361
+ con354: +1 x531 = +0
362
+ con355: +1 x532 = +0
363
+ con356: +1 x533 = +0
364
+ con357: +1 x534 = +0
365
+ con358: +1 x535 = +0
366
+ con359: +1 x536 = +0
367
+ con360: +1 x537 = +0
368
+ con361: +1 x538 = +0
369
+ con362: +1 x539 = +0
370
+ con363: +1 x327 <= +8700
371
+ con364: +1 x329 <= +14500
372
+ con365: +1 x331 <= +14500
373
+ con366: +1 x333 <= +14500
374
+ con367: +1 x336 <= +14500
375
+ con368: +1 x339 <= +14500
376
+ con369: +1 x342 <= +14500
377
+ con370: +1 x345 <= +14500
378
+ con371: +1 x348 <= +14500
379
+ con372: +1 x351 <= +14500
380
+ con373: +1 x354 <= +14500
381
+ con374: +1 x357 <= +14500
382
+ con375: +1 x360 <= +14500
383
+ con376: +1 x363 <= +14500
384
+ con377: +1 x366 <= +14500
385
+ con378: +1 x369 <= +14500
386
+ con379: +1 x372 <= +14500
387
+ con380: +1 x375 <= +14500
388
+ con381: +1 x378 <= +14500
389
+ con382: +1 x381 <= +14500
390
+ con383: +1 x384 <= +14500
391
+ con384: +1 x387 <= +14500
392
+ con385: +1 x390 <= +14500
393
+ con386: +1 x393 <= +14500
394
+ con387: +1 x396 <= +14500
395
+ con388: +1 x399 <= +14500
396
+ con389: +1 x402 <= +14500
397
+ con390: +1 x328 <= +8700
398
+ con391: +1 x330 <= +14500
399
+ con392: +1 x332 <= +14500
400
+ con393: +1 x334 <= +14500
401
+ con394: +1 x337 <= +14500
402
+ con395: +1 x340 <= +14500
403
+ con396: +1 x343 <= +14500
404
+ con397: +1 x346 <= +14500
405
+ con398: +1 x349 <= +14500
406
+ con399: +1 x352 <= +14500
407
+ con400: +1 x355 <= +14500
408
+ con401: +1 x358 <= +14500
409
+ con402: +1 x361 <= +14500
410
+ con403: +1 x364 <= +14500
411
+ con404: +1 x367 <= +14500
412
+ con405: +1 x370 <= +14500
413
+ con406: +1 x373 <= +14500
414
+ con407: +1 x376 <= +14500
415
+ con408: +1 x379 <= +14500
416
+ con409: +1 x382 <= +14500
417
+ con410: +1 x385 <= +14500
418
+ con411: +1 x388 <= +14500
419
+ con412: +1 x391 <= +14500
420
+ con413: +1 x394 <= +14500
421
+ con414: +1 x397 <= +14500
422
+ con415: +1 x400 <= +14500
423
+ con416: +1 x403 <= +14500
424
+ con417: +1 x327 -14501 x540 <= +0
425
+ con418: +1 x328 +14501 x540 <= +14501
426
+ con419: +1 x329 -14501 x541 <= +0
427
+ con420: +1 x330 +14501 x541 <= +14501
428
+ con421: +1 x331 -14501 x542 <= +0
429
+ con422: +1 x332 +14501 x542 <= +14501
430
+ con423: +1 x333 -14501 x543 <= +0
431
+ con424: +1 x334 +14501 x543 <= +14501
432
+ con425: +1 x336 -14501 x544 <= +0
433
+ con426: +1 x337 +14501 x544 <= +14501
434
+ con427: +1 x339 -14501 x545 <= +0
435
+ con428: +1 x340 +14501 x545 <= +14501
436
+ con429: +1 x342 -14501 x546 <= +0
437
+ con430: +1 x343 +14501 x546 <= +14501
438
+ con431: +1 x345 -14501 x547 <= +0
439
+ con432: +1 x346 +14501 x547 <= +14501
440
+ con433: +1 x348 -14501 x548 <= +0
441
+ con434: +1 x349 +14501 x548 <= +14501
442
+ con435: +1 x351 -14501 x549 <= +0
443
+ con436: +1 x352 +14501 x549 <= +14501
444
+ con437: +1 x354 -14501 x550 <= +0
445
+ con438: +1 x355 +14501 x550 <= +14501
446
+ con439: +1 x357 -14501 x551 <= +0
447
+ con440: +1 x358 +14501 x551 <= +14501
448
+ con441: +1 x360 -14501 x552 <= +0
449
+ con442: +1 x361 +14501 x552 <= +14501
450
+ con443: +1 x363 -14501 x553 <= +0
451
+ con444: +1 x364 +14501 x553 <= +14501
452
+ con445: +1 x366 -14501 x554 <= +0
453
+ con446: +1 x367 +14501 x554 <= +14501
454
+ con447: +1 x369 -14501 x555 <= +0
455
+ con448: +1 x370 +14501 x555 <= +14501
456
+ con449: +1 x372 -14501 x556 <= +0
457
+ con450: +1 x373 +14501 x556 <= +14501
458
+ con451: +1 x375 -14501 x557 <= +0
459
+ con452: +1 x376 +14501 x557 <= +14501
460
+ con453: +1 x378 -14501 x558 <= +0
461
+ con454: +1 x379 +14501 x558 <= +14501
462
+ con455: +1 x381 -14501 x559 <= +0
463
+ con456: +1 x382 +14501 x559 <= +14501
464
+ con457: +1 x384 -14501 x560 <= +0
465
+ con458: +1 x385 +14501 x560 <= +14501
466
+ con459: +1 x387 -14501 x561 <= +0
467
+ con460: +1 x388 +14501 x561 <= +14501
468
+ con461: +1 x390 -14501 x562 <= +0
469
+ con462: +1 x391 +14501 x562 <= +14501
470
+ con463: +1 x393 -14501 x563 <= +0
471
+ con464: +1 x394 +14501 x563 <= +14501
472
+ con465: +1 x396 -14501 x564 <= +0
473
+ con466: +1 x397 +14501 x564 <= +14501
474
+ con467: +1 x399 -14501 x565 <= +0
475
+ con468: +1 x400 +14501 x565 <= +14501
476
+ con469: +1 x402 -14501 x566 <= +0
477
+ con470: +1 x403 +14501 x566 <= +14501
478
+ con471: -1 x432 +1 x433 +1 x486 +1 x513 +1 x567 = +3776
479
+ con472: -1 x434 +1 x435 +1 x487 +1 x514 -1 x567 +1 x568 = +0
480
+ con473: -1 x436 +1 x437 +1 x488 +1 x515 -1 x568 +1 x569 = +0
481
+ con474: -1 x438 +1 x439 +1 x489 +1 x516 -1 x569 +1 x570 = +0
482
+ con475: -1 x440 +1 x441 +1 x490 +1 x517 -1 x570 +1 x571 = +0
483
+ con476: -1 x442 +1 x443 +1 x491 +1 x518 -1 x571 +1 x572 = +0
484
+ con477: -1 x444 +1 x445 +1 x492 +1 x519 -1 x572 +1 x573 = +0
485
+ con478: -1 x446 +1 x447 +1 x493 +1 x520 -1 x573 +1 x574 = +0
486
+ con479: -1 x448 +1 x449 +1 x494 +1 x521 -1 x574 +1 x575 = +0
487
+ con480: -1 x450 +1 x451 +1 x495 +1 x522 -1 x575 +1 x576 = +0
488
+ con481: -1 x452 +1 x453 +1 x496 +1 x523 -1 x576 +1 x577 = +0
489
+ con482: -1 x454 +1 x455 +1 x497 +1 x524 -1 x577 +1 x578 = +0
490
+ con483: -1 x456 +1 x457 +1 x498 +1 x525 -1 x578 +1 x579 = +0
491
+ con484: -1 x458 +1 x459 +1 x499 +1 x526 -1 x579 +1 x580 = +0
492
+ con485: -1 x460 +1 x461 +1 x500 +1 x527 -1 x580 +1 x581 = +0
493
+ con486: -1 x462 +1 x463 +1 x501 +1 x528 -1 x581 +1 x582 = +0
494
+ con487: -1 x464 +1 x465 +1 x502 +1 x529 -1 x582 +1 x583 = +0
495
+ con488: -1 x466 +1 x467 +1 x503 +1 x530 -1 x583 +1 x584 = +0
496
+ con489: -1 x468 +1 x469 +1 x504 +1 x531 -1 x584 +1 x585 = +0
497
+ con490: -1 x470 +1 x471 +1 x505 +1 x532 -1 x585 +1 x586 = +0
498
+ con491: -1 x472 +1 x473 +1 x506 +1 x533 -1 x586 +1 x587 = +0
499
+ con492: -1 x474 +1 x475 +1 x507 +1 x534 -1 x587 +1 x588 = +0
500
+ con493: -1 x476 +1 x477 +1 x508 +1 x535 -1 x588 +1 x589 = +0
501
+ con494: -1 x478 +1 x479 +1 x509 +1 x536 -1 x589 +1 x590 = +0
502
+ con495: -1 x480 +1 x481 +1 x510 +1 x537 -1 x590 +1 x591 = +0
503
+ con496: -1 x482 +1 x483 +1 x511 +1 x538 -1 x591 +1 x592 = +0
504
+ con497: -1 x484 +1 x485 +1 x512 +1 x539 -1 x592 +1 x593 = +0
505
+ con498: -1 x79 <= +0
506
+ con499: -1 x80 -1 x567 <= -13507.000312
507
+ con500: -1 x81 -1 x568 <= -13507.000312
508
+ con501: -1 x82 -1 x569 <= -14081.143184
509
+ con502: -1 x83 -1 x570 <= -14081.143184
510
+ con503: -1 x84 -1 x571 <= -14081.143184
511
+ con504: -1 x85 -1 x572 <= -14081.143184
512
+ con505: -1 x86 -1 x573 <= -14081.143184
513
+ con506: -1 x87 -1 x574 <= -14081.143184
514
+ con507: -1 x88 -1 x575 <= -14081.143184
515
+ con508: -1 x89 -1 x576 <= -14081.143184
516
+ con509: -1 x90 -1 x577 <= -14081.143184
517
+ con510: -1 x91 -1 x578 <= -13507.000312
518
+ con511: -1 x92 -1 x579 <= -13507.000312
519
+ con512: -1 x93 -1 x580 <= -13507.000312
520
+ con513: -1 x94 -1 x581 <= -13507.000312
521
+ con514: -1 x95 -1 x582 <= -13507.000312
522
+ con515: -1 x96 -1 x583 <= -13507.000312
523
+ con516: -1 x97 -1 x584 <= -13507.000312
524
+ con517: -1 x98 -1 x585 <= -14081.143184
525
+ con518: -1 x99 -1 x586 <= -14081.143184
526
+ con519: -1 x100 -1 x587 <= -14081.143184
527
+ con520: -1 x101 -1 x588 <= -14081.143184
528
+ con521: -1 x102 -1 x589 <= -14081.143184
529
+ con522: -1 x103 -1 x590 <= -14081.143184
530
+ con523: -1 x104 -1 x591 <= -14081.143184
531
+ con524: -1 x105 -1 x592 <= -14081.143184
532
+ con525: -1 x106 -1 x593 <= -14081.143184
533
+ con526: -1 x107 <= +0
534
+ con527: -1 x108 +1 x567 <= +22857.628918
535
+ con528: -1 x109 +1 x568 <= +22857.628918
536
+ con529: -1 x110 +1 x569 <= +22634.182676
537
+ con530: -1 x111 +1 x570 <= +22634.182676
538
+ con531: -1 x112 +1 x571 <= +22634.182676
539
+ con532: -1 x113 +1 x572 <= +22634.182676
540
+ con533: -1 x114 +1 x573 <= +22634.182676
541
+ con534: -1 x115 +1 x574 <= +22634.182676
542
+ con535: -1 x116 +1 x575 <= +22634.182676
543
+ con536: -1 x117 +1 x576 <= +22634.182676
544
+ con537: -1 x118 +1 x577 <= +22634.182676
545
+ con538: -1 x119 +1 x578 <= +22857.628918
546
+ con539: -1 x120 +1 x579 <= +22857.628918
547
+ con540: -1 x121 +1 x580 <= +22857.628918
548
+ con541: -1 x122 +1 x581 <= +22857.628918
549
+ con542: -1 x123 +1 x582 <= +22857.628918
550
+ con543: -1 x124 +1 x583 <= +22857.628918
551
+ con544: -1 x125 +1 x584 <= +22857.628918
552
+ con545: -1 x126 +1 x585 <= +22634.182676
553
+ con546: -1 x127 +1 x586 <= +22634.182676
554
+ con547: -1 x128 +1 x587 <= +22634.182676
555
+ con548: -1 x129 +1 x588 <= +22634.182676
556
+ con549: -1 x130 +1 x589 <= +22634.182676
557
+ con550: -1 x131 +1 x590 <= +22634.182676
558
+ con551: -1 x132 +1 x591 <= +22634.182676
559
+ con552: -1 x133 +1 x592 <= +22634.182676
560
+ con553: -1 x134 +1 x593 <= +14081.143184
561
+ con554: -1 x594 = -1714.007
562
+ con555: -1 x595 = -1509.457
563
+ con556: -1 x596 = -1509.457
564
+ con557: -1 x597 = -1583.939
565
+ con558: -1 x598 = -1583.939
566
+ con559: -1 x599 = -1583.939
567
+ con560: -1 x600 = -1583.939
568
+ con561: -1 x601 = -1583.939
569
+ con562: -1 x602 = -1583.939
570
+ con563: -1 x603 = -1583.939
571
+ con564: -1 x604 = -1583.939
572
+ con565: -1 x605 = -1509.457
573
+ con566: -1 x606 = -1509.457
574
+ con567: -1 x607 = -1509.457
575
+ con568: -1 x608 = -1509.457
576
+ con569: -1 x609 = -1509.457
577
+ con570: -1 x610 = -1509.457
578
+ con571: -1 x611 = -1509.457
579
+ con572: -1 x612 = -1509.457
580
+ con573: -1 x613 = -1583.939
581
+ con574: -1 x614 = -1583.939
582
+ con575: -1 x615 = -1583.939
583
+ con576: -1 x616 = -1583.939
584
+ con577: -1 x617 = -1583.939
585
+ con578: -1 x618 = -1583.939
586
+ con579: -1 x619 = -1583.939
587
+ con580: -1 x620 = -1583.939
588
+ con581: -1 x621 = +0
589
+ con582: -1 x622 = +0
590
+ con583: -1 x623 = +0
591
+ con584: -1 x624 = +0
592
+ con585: -1 x625 = +0
593
+ con586: -1 x626 = +0
594
+ con587: -1 x627 = +0
595
+ con588: -1 x628 = +0
596
+ con589: -1 x629 = +0
597
+ con590: -1 x630 = +0
598
+ con591: -1 x631 = +0
599
+ con592: -1 x632 = +0
600
+ con593: -1 x633 = +0
601
+ con594: -1 x634 = +0
602
+ con595: -1 x635 = +0
603
+ con596: -1 x636 = +0
604
+ con597: -1 x637 = +0
605
+ con598: -1 x638 = +0
606
+ con599: -1 x639 = +0
607
+ con600: -1 x640 = +0
608
+ con601: -1 x641 = +0
609
+ con602: -1 x642 = +0
610
+ con603: -1 x643 = +0
611
+ con604: -1 x644 = +0
612
+ con605: -1 x645 = +0
613
+ con606: -1 x646 = +0
614
+ con607: -1 x647 = +0
615
+ con608: +1 x52 <= +8700
616
+ con609: +1 x53 <= +14500
617
+ con610: +1 x54 <= +14500
618
+ con611: +1 x55 <= +14500
619
+ con612: +1 x56 <= +14500
620
+ con613: +1 x57 <= +14500
621
+ con614: +1 x58 <= +14500
622
+ con615: +1 x59 <= +14500
623
+ con616: +1 x60 <= +14500
624
+ con617: +1 x61 <= +14500
625
+ con618: +1 x62 <= +14500
626
+ con619: +1 x63 <= +14500
627
+ con620: +1 x64 <= +14500
628
+ con621: +1 x65 <= +14500
629
+ con622: +1 x66 <= +14500
630
+ con623: +1 x67 <= +14500
631
+ con624: +1 x68 <= +14500
632
+ con625: +1 x69 <= +14500
633
+ con626: +1 x70 <= +14500
634
+ con627: +1 x71 <= +14500
635
+ con628: +1 x72 <= +14500
636
+ con629: +1 x73 <= +14500
637
+ con630: +1 x74 <= +14500
638
+ con631: +1 x75 <= +14500
639
+ con632: +1 x76 <= +14500
640
+ con633: +1 x77 <= +14500
641
+ con634: +1 x78 <= +14500
642
+ con635: +1 x648 <= +8700
643
+ con636: +1 x649 <= +14500
644
+ con637: +1 x650 <= +14500
645
+ con638: +1 x651 <= +14500
646
+ con639: +1 x652 <= +14500
647
+ con640: +1 x653 <= +14500
648
+ con641: +1 x654 <= +14500
649
+ con642: +1 x655 <= +14500
650
+ con643: +1 x656 <= +14500
651
+ con644: +1 x657 <= +14500
652
+ con645: +1 x658 <= +14500
653
+ con646: +1 x659 <= +14500
654
+ con647: +1 x660 <= +14500
655
+ con648: +1 x661 <= +14500
656
+ con649: +1 x662 <= +14500
657
+ con650: +1 x663 <= +14500
658
+ con651: +1 x664 <= +14500
659
+ con652: +1 x665 <= +14500
660
+ con653: +1 x666 <= +14500
661
+ con654: +1 x667 <= +14500
662
+ con655: +1 x668 <= +14500
663
+ con656: +1 x669 <= +14500
664
+ con657: +1 x670 <= +14500
665
+ con658: +1 x671 <= +14500
666
+ con659: +1 x672 <= +14500
667
+ con660: +1 x673 <= +14500
668
+ con661: +1 x674 <= +14500
669
+ con662: +1 x52 -14501 x675 <= +0
670
+ con663: +1 x648 +14501 x675 <= +14501
671
+ con664: +1 x53 -14501 x676 <= +0
672
+ con665: +1 x649 +14501 x676 <= +14501
673
+ con666: +1 x54 -14501 x677 <= +0
674
+ con667: +1 x650 +14501 x677 <= +14501
675
+ con668: +1 x55 -14501 x678 <= +0
676
+ con669: +1 x651 +14501 x678 <= +14501
677
+ con670: +1 x56 -14501 x679 <= +0
678
+ con671: +1 x652 +14501 x679 <= +14501
679
+ con672: +1 x57 -14501 x680 <= +0
680
+ con673: +1 x653 +14501 x680 <= +14501
681
+ con674: +1 x58 -14501 x681 <= +0
682
+ con675: +1 x654 +14501 x681 <= +14501
683
+ con676: +1 x59 -14501 x682 <= +0
684
+ con677: +1 x655 +14501 x682 <= +14501
685
+ con678: +1 x60 -14501 x683 <= +0
686
+ con679: +1 x656 +14501 x683 <= +14501
687
+ con680: +1 x61 -14501 x684 <= +0
688
+ con681: +1 x657 +14501 x684 <= +14501
689
+ con682: +1 x62 -14501 x685 <= +0
690
+ con683: +1 x658 +14501 x685 <= +14501
691
+ con684: +1 x63 -14501 x686 <= +0
692
+ con685: +1 x659 +14501 x686 <= +14501
693
+ con686: +1 x64 -14501 x687 <= +0
694
+ con687: +1 x660 +14501 x687 <= +14501
695
+ con688: +1 x65 -14501 x688 <= +0
696
+ con689: +1 x661 +14501 x688 <= +14501
697
+ con690: +1 x66 -14501 x689 <= +0
698
+ con691: +1 x662 +14501 x689 <= +14501
699
+ con692: +1 x67 -14501 x690 <= +0
700
+ con693: +1 x663 +14501 x690 <= +14501
701
+ con694: +1 x68 -14501 x691 <= +0
702
+ con695: +1 x664 +14501 x691 <= +14501
703
+ con696: +1 x69 -14501 x692 <= +0
704
+ con697: +1 x665 +14501 x692 <= +14501
705
+ con698: +1 x70 -14501 x693 <= +0
706
+ con699: +1 x666 +14501 x693 <= +14501
707
+ con700: +1 x71 -14501 x694 <= +0
708
+ con701: +1 x667 +14501 x694 <= +14501
709
+ con702: +1 x72 -14501 x695 <= +0
710
+ con703: +1 x668 +14501 x695 <= +14501
711
+ con704: +1 x73 -14501 x696 <= +0
712
+ con705: +1 x669 +14501 x696 <= +14501
713
+ con706: +1 x74 -14501 x697 <= +0
714
+ con707: +1 x670 +14501 x697 <= +14501
715
+ con708: +1 x75 -14501 x698 <= +0
716
+ con709: +1 x671 +14501 x698 <= +14501
717
+ con710: +1 x76 -14501 x699 <= +0
718
+ con711: +1 x672 +14501 x699 <= +14501
719
+ con712: +1 x77 -14501 x700 <= +0
720
+ con713: +1 x673 +14501 x700 <= +14501
721
+ con714: +1 x78 -14501 x701 <= +0
722
+ con715: +1 x674 +14501 x701 <= +14501
723
+ con716: +1 x52 -1 x327 +1 x328 -1 x648 = +0
724
+ con717: +1 x53 -1 x329 +1 x330 -1 x649 = +0
725
+ con718: +1 x54 -1 x331 +1 x332 -1 x650 = +0
726
+ con719: +1 x55 -1 x333 +1 x334 -1 x651 = +0
727
+ con720: +1 x56 -1 x336 +1 x337 -1 x652 = +0
728
+ con721: +1 x57 -1 x339 +1 x340 -1 x653 = +0
729
+ con722: +1 x58 -1 x342 +1 x343 -1 x654 = +0
730
+ con723: +1 x59 -1 x345 +1 x346 -1 x655 = +0
731
+ con724: +1 x60 -1 x348 +1 x349 -1 x656 = +0
732
+ con725: +1 x61 -1 x351 +1 x352 -1 x657 = +0
733
+ con726: +1 x62 -1 x354 +1 x355 -1 x658 = +0
734
+ con727: +1 x63 -1 x357 +1 x358 -1 x659 = +0
735
+ con728: +1 x64 -1 x360 +1 x361 -1 x660 = +0
736
+ con729: +1 x65 -1 x363 +1 x364 -1 x661 = +0
737
+ con730: +1 x66 -1 x366 +1 x367 -1 x662 = +0
738
+ con731: +1 x67 -1 x369 +1 x370 -1 x663 = +0
739
+ con732: +1 x68 -1 x372 +1 x373 -1 x664 = +0
740
+ con733: +1 x69 -1 x375 +1 x376 -1 x665 = +0
741
+ con734: +1 x70 -1 x378 +1 x379 -1 x666 = +0
742
+ con735: +1 x71 -1 x381 +1 x382 -1 x667 = +0
743
+ con736: +1 x72 -1 x384 +1 x385 -1 x668 = +0
744
+ con737: +1 x73 -1 x387 +1 x388 -1 x669 = +0
745
+ con738: +1 x74 -1 x390 +1 x391 -1 x670 = +0
746
+ con739: +1 x75 -1 x393 +1 x394 -1 x671 = +0
747
+ con740: +1 x76 -1 x396 +1 x397 -1 x672 = +0
748
+ con741: +1 x77 -1 x399 +1 x400 -1 x673 = +0
749
+ con742: +1 x78 -1 x402 +1 x403 -1 x674 = +0
750
+ con743: -1.01333353535354 x52 -1.01333353535354 x594 +1.01333353535354 x621 +1.01333353535354 x648 = -1511.55585690236
751
+ con744: -1.02286483146067 x53 -1.02286483146067 x595 +1.02286483146067 x622 +1.02286483146067 x649 = -6068.998
752
+ con745: -1.02294058333333 x54 -1.02294058333333 x596 +1.02294058333333 x623 +1.02294058333333 x650 = -6137.6435
753
+ con746: -1 x2 +1 x26 -1.029686 x55 -1.002874 x597 +1.029686 x624 +1.002874 x651 -1 x702 +1 x703 = +0
754
+ con747: -1 x3 +1 x27 -1.029686 x56 -1.002874 x598 +1.029686 x625 +1.002874 x652 -1 x704 +1 x705 = +0
755
+ con748: -1 x4 +1 x28 -1.029686 x57 -1.002874 x599 +1.029686 x626 +1.002874 x653 -1 x706 +1 x707 = +0
756
+ con749: -1 x5 +1 x29 -1.029686 x58 -1.002874 x600 +1.029686 x627 +1.002874 x654 -1 x708 +1 x709 = +0
757
+ con750: -1 x6 +1 x30 -1.029686 x59 -1.002874 x601 +1.029686 x628 +1.002874 x655 -1 x710 +1 x711 = +0
758
+ con751: -1 x7 +1 x31 -1.029686 x60 -1.002874 x602 +1.029686 x629 +1.002874 x656 -1 x712 +1 x713 = +0
759
+ con752: -1 x8 +1 x32 -1.029686 x61 -1.002874 x603 +1.029686 x630 +1.002874 x657 -1 x714 +1 x715 = +0
760
+ con753: -1 x9 +1 x33 -1.029686 x62 -1.002874 x604 +1.029686 x631 +1.002874 x658 -1 x716 +1 x717 = +0
761
+ con754: -1 x10 +1 x34 -1.029686 x63 -1.002874 x605 +1.029686 x632 +1.002874 x659 -1 x718 +1 x719 = +0
762
+ con755: -1 x11 +1 x35 -1.029686 x64 -1.002874 x606 +1.029686 x633 +1.002874 x660 -1 x720 +1 x721 = +0
763
+ con756: -1 x12 +1 x36 -1.029686 x65 -1.002874 x607 +1.029686 x634 +1.002874 x661 -1 x722 +1 x723 = +0
764
+ con757: -1 x13 +1 x37 -1.029686 x66 -1.002874 x608 +1.029686 x635 +1.002874 x662 -1 x724 +1 x725 = +0
765
+ con758: -1 x14 +1 x38 -1.029686 x67 -1.002874 x609 +1.029686 x636 +1.002874 x663 -1 x726 +1 x727 = +0
766
+ con759: -1 x15 +1 x39 -1.029686 x68 -1.002874 x610 +1.029686 x637 +1.002874 x664 -1 x728 +1 x729 = +0
767
+ con760: -1 x16 +1 x40 -1.029686 x69 -1.002874 x611 +1.029686 x638 +1.002874 x665 -1 x730 +1 x731 = +0
768
+ con761: -1 x17 +1 x41 -1.029686 x70 -1.002874 x612 +1.029686 x639 +1.002874 x666 -1 x732 +1 x733 = +0
769
+ con762: -1 x18 +1 x42 -1.029686 x71 -1.002874 x613 +1.029686 x640 +1.002874 x667 -1 x734 +1 x735 = +0
770
+ con763: -1 x19 +1 x43 -1.029686 x72 -1.002874 x614 +1.029686 x641 +1.002874 x668 -1 x736 +1 x737 = +0
771
+ con764: -1 x20 +1 x44 -1.029686 x73 -1.002874 x615 +1.029686 x642 +1.002874 x669 -1 x738 +1 x739 = +0
772
+ con765: -1 x21 +1 x45 -1.029686 x74 -1.002874 x616 +1.029686 x643 +1.002874 x670 -1 x740 +1 x741 = +0
773
+ con766: -1 x22 +1 x46 -1.029686 x75 -1.002874 x617 +1.029686 x644 +1.002874 x671 -1 x742 +1 x743 = +0
774
+ con767: -1 x23 +1 x47 -1.029686 x76 -1.002874 x618 +1.029686 x645 +1.002874 x672 -1 x744 +1 x745 = +0
775
+ con768: -1 x24 +1 x48 -1.029686 x77 -1.002874 x619 +1.029686 x646 +1.002874 x673 -1 x746 +1 x747 = +0
776
+ con769: -1 x25 +1 x49 -1 x50 +1 x51 -1.029686 x78 -1.002874 x620 +1.029686 x647 +1.002874 x674 = +0
777
+ con770: -17400 x748 <= -1511.55585690236
778
+ con771: +17400 x748 <= +17400
779
+ con772: -17400 x749 <= -1511.55585690236
780
+ con773: -29000 x750 <= -6068.998
781
+ con774: +29000 x750 <= +29000
782
+ con775: -29000 x751 <= -6068.998
783
+ con776: -29000 x752 <= -6137.6435
784
+ con777: +29000 x752 <= +29000
785
+ con778: -29000 x753 <= -6137.6435
786
+ con779: +1 x26 -29000 x754 <= +0
787
+ con780: +1 x2 +29000 x754 <= +29000
788
+ con781: +1 x2 +1 x26 -29000 x755 <= +0
789
+ con782: +1 x27 -29000 x756 <= +0
790
+ con783: +1 x3 +29000 x756 <= +29000
791
+ con784: +1 x3 +1 x27 -29000 x757 <= +0
792
+ con785: +1 x28 -29000 x758 <= +0
793
+ con786: +1 x4 +29000 x758 <= +29000
794
+ con787: +1 x4 +1 x28 -29000 x759 <= +0
795
+ con788: +1 x29 -29000 x760 <= +0
796
+ con789: +1 x5 +29000 x760 <= +29000
797
+ con790: +1 x5 +1 x29 -29000 x761 <= +0
798
+ con791: +1 x30 -29000 x762 <= +0
799
+ con792: +1 x6 +29000 x762 <= +29000
800
+ con793: +1 x6 +1 x30 -29000 x763 <= +0
801
+ con794: +1 x31 -29000 x764 <= +0
802
+ con795: +1 x7 +29000 x764 <= +29000
803
+ con796: +1 x7 +1 x31 -29000 x765 <= +0
804
+ con797: +1 x32 -29000 x766 <= +0
805
+ con798: +1 x8 +29000 x766 <= +29000
806
+ con799: +1 x8 +1 x32 -29000 x767 <= +0
807
+ con800: +1 x33 -29000 x768 <= +0
808
+ con801: +1 x9 +29000 x768 <= +29000
809
+ con802: +1 x9 +1 x33 -29000 x769 <= +0
810
+ con803: +1 x34 -29000 x770 <= +0
811
+ con804: +1 x10 +29000 x770 <= +29000
812
+ con805: +1 x10 +1 x34 -29000 x771 <= +0
813
+ con806: +1 x35 -29000 x772 <= +0
814
+ con807: +1 x11 +29000 x772 <= +29000
815
+ con808: +1 x11 +1 x35 -29000 x773 <= +0
816
+ con809: +1 x36 -29000 x774 <= +0
817
+ con810: +1 x12 +29000 x774 <= +29000
818
+ con811: +1 x12 +1 x36 -29000 x775 <= +0
819
+ con812: +1 x37 -29000 x776 <= +0
820
+ con813: +1 x13 +29000 x776 <= +29000
821
+ con814: +1 x13 +1 x37 -29000 x777 <= +0
822
+ con815: +1 x38 -29000 x778 <= +0
823
+ con816: +1 x14 +29000 x778 <= +29000
824
+ con817: +1 x14 +1 x38 -29000 x779 <= +0
825
+ con818: +1 x39 -29000 x780 <= +0
826
+ con819: +1 x15 +29000 x780 <= +29000
827
+ con820: +1 x15 +1 x39 -29000 x781 <= +0
828
+ con821: +1 x40 -29000 x782 <= +0
829
+ con822: +1 x16 +29000 x782 <= +29000
830
+ con823: +1 x16 +1 x40 -29000 x783 <= +0
831
+ con824: +1 x41 -29000 x784 <= +0
832
+ con825: +1 x17 +29000 x784 <= +29000
833
+ con826: +1 x17 +1 x41 -29000 x785 <= +0
834
+ con827: +1 x42 -29000 x786 <= +0
835
+ con828: +1 x18 +29000 x786 <= +29000
836
+ con829: +1 x18 +1 x42 -29000 x787 <= +0
837
+ con830: +1 x43 -29000 x788 <= +0
838
+ con831: +1 x19 +29000 x788 <= +29000
839
+ con832: +1 x19 +1 x43 -29000 x789 <= +0
840
+ con833: +1 x44 -29000 x790 <= +0
841
+ con834: +1 x20 +29000 x790 <= +29000
842
+ con835: +1 x20 +1 x44 -29000 x791 <= +0
843
+ con836: +1 x45 -29000 x792 <= +0
844
+ con837: +1 x21 +29000 x792 <= +29000
845
+ con838: +1 x21 +1 x45 -29000 x793 <= +0
846
+ con839: +1 x46 -29000 x794 <= +0
847
+ con840: +1 x22 +29000 x794 <= +29000
848
+ con841: +1 x22 +1 x46 -29000 x795 <= +0
849
+ con842: +1 x47 -29000 x796 <= +0
850
+ con843: +1 x23 +29000 x796 <= +29000
851
+ con844: +1 x23 +1 x47 -29000 x797 <= +0
852
+ con845: +1 x48 -29000 x798 <= +0
853
+ con846: +1 x24 +29000 x798 <= +29000
854
+ con847: +1 x24 +1 x48 -29000 x799 <= +0
855
+ con848: +1 x49 -29000 x800 <= +0
856
+ con849: +1 x25 +29000 x800 <= +29000
857
+ con850: +1 x25 +1 x49 -29000 x801 <= +0
858
+ con851: -17400 x802 <= +0
859
+ con852: +17400 x802 <= +17400
860
+ con853: -17400 x803 <= +0
861
+ con854: -29000 x804 <= +0
862
+ con855: +29000 x804 <= +29000
863
+ con856: -29000 x805 <= +0
864
+ con857: -29000 x806 <= +0
865
+ con858: +29000 x806 <= +29000
866
+ con859: -29000 x807 <= +0
867
+ con860: +1 x703 -29000 x808 <= +0
868
+ con861: +1 x702 +29000 x808 <= +29000
869
+ con862: +1 x702 +1 x703 -29000 x809 <= +0
870
+ con863: +1 x705 -29000 x810 <= +0
871
+ con864: +1 x704 +29000 x810 <= +29000
872
+ con865: +1 x704 +1 x705 -29000 x811 <= +0
873
+ con866: +1 x707 -29000 x812 <= +0
874
+ con867: +1 x706 +29000 x812 <= +29000
875
+ con868: +1 x706 +1 x707 -29000 x813 <= +0
876
+ con869: +1 x709 -29000 x814 <= +0
877
+ con870: +1 x708 +29000 x814 <= +29000
878
+ con871: +1 x708 +1 x709 -29000 x815 <= +0
879
+ con872: +1 x711 -29000 x816 <= +0
880
+ con873: +1 x710 +29000 x816 <= +29000
881
+ con874: +1 x710 +1 x711 -29000 x817 <= +0
882
+ con875: +1 x713 -29000 x818 <= +0
883
+ con876: +1 x712 +29000 x818 <= +29000
884
+ con877: +1 x712 +1 x713 -29000 x819 <= +0
885
+ con878: +1 x715 -29000 x820 <= +0
886
+ con879: +1 x714 +29000 x820 <= +29000
887
+ con880: +1 x714 +1 x715 -29000 x821 <= +0
888
+ con881: +1 x717 -29000 x822 <= +0
889
+ con882: +1 x716 +29000 x822 <= +29000
890
+ con883: +1 x716 +1 x717 -29000 x823 <= +0
891
+ con884: +1 x719 -29000 x824 <= +0
892
+ con885: +1 x718 +29000 x824 <= +29000
893
+ con886: +1 x718 +1 x719 -29000 x825 <= +0
894
+ con887: +1 x721 -29000 x826 <= +0
895
+ con888: +1 x720 +29000 x826 <= +29000
896
+ con889: +1 x720 +1 x721 -29000 x827 <= +0
897
+ con890: +1 x723 -29000 x828 <= +0
898
+ con891: +1 x722 +29000 x828 <= +29000
899
+ con892: +1 x722 +1 x723 -29000 x829 <= +0
900
+ con893: +1 x725 -29000 x830 <= +0
901
+ con894: +1 x724 +29000 x830 <= +29000
902
+ con895: +1 x724 +1 x725 -29000 x831 <= +0
903
+ con896: +1 x727 -29000 x832 <= +0
904
+ con897: +1 x726 +29000 x832 <= +29000
905
+ con898: +1 x726 +1 x727 -29000 x833 <= +0
906
+ con899: +1 x729 -29000 x834 <= +0
907
+ con900: +1 x728 +29000 x834 <= +29000
908
+ con901: +1 x728 +1 x729 -29000 x835 <= +0
909
+ con902: +1 x731 -29000 x836 <= +0
910
+ con903: +1 x730 +29000 x836 <= +29000
911
+ con904: +1 x730 +1 x731 -29000 x837 <= +0
912
+ con905: +1 x733 -29000 x838 <= +0
913
+ con906: +1 x732 +29000 x838 <= +29000
914
+ con907: +1 x732 +1 x733 -29000 x839 <= +0
915
+ con908: +1 x735 -29000 x840 <= +0
916
+ con909: +1 x734 +29000 x840 <= +29000
917
+ con910: +1 x734 +1 x735 -29000 x841 <= +0
918
+ con911: +1 x737 -29000 x842 <= +0
919
+ con912: +1 x736 +29000 x842 <= +29000
920
+ con913: +1 x736 +1 x737 -29000 x843 <= +0
921
+ con914: +1 x739 -29000 x844 <= +0
922
+ con915: +1 x738 +29000 x844 <= +29000
923
+ con916: +1 x738 +1 x739 -29000 x845 <= +0
924
+ con917: +1 x741 -29000 x846 <= +0
925
+ con918: +1 x740 +29000 x846 <= +29000
926
+ con919: +1 x740 +1 x741 -29000 x847 <= +0
927
+ con920: +1 x743 -29000 x848 <= +0
928
+ con921: +1 x742 +29000 x848 <= +29000
929
+ con922: +1 x742 +1 x743 -29000 x849 <= +0
930
+ con923: +1 x745 -29000 x850 <= +0
931
+ con924: +1 x744 +29000 x850 <= +29000
932
+ con925: +1 x744 +1 x745 -29000 x851 <= +0
933
+ con926: +1 x747 -29000 x852 <= +0
934
+ con927: +1 x746 +29000 x852 <= +29000
935
+ con928: +1 x746 +1 x747 -29000 x853 <= +0
936
+ con929: +1 x51 -29000 x854 <= +0
937
+ con930: +1 x50 +29000 x854 <= +29000
938
+ con931: +1 x50 +1 x51 -29000 x855 <= +0
939
+ con932: = +0
940
+ con933: = +0
941
+ con934: = +0
942
+ con935: +1 x703 = +0
943
+ con936: +1 x705 = +0
944
+ con937: +1 x707 = +0
945
+ con938: +1 x709 = +0
946
+ con939: +1 x711 = +0
947
+ con940: +1 x713 = +0
948
+ con941: +1 x715 = +0
949
+ con942: +1 x717 = +0
950
+ con943: +1 x719 = +0
951
+ con944: +1 x721 = +0
952
+ con945: +1 x723 = +0
953
+ con946: +1 x725 = +0
954
+ con947: +1 x727 = +0
955
+ con948: +1 x729 = +0
956
+ con949: +1 x731 = +0
957
+ con950: +1 x733 = +0
958
+ con951: +1 x735 = +0
959
+ con952: +1 x737 = +0
960
+ con953: +1 x739 = +0
961
+ con954: +1 x741 = +0
962
+ con955: +1 x743 = +0
963
+ con956: +1 x745 = +0
964
+ con957: +1 x747 = +0
965
+ con958: = +0
966
+ con959: = +0
967
+ con960: = +0
968
+ con961: +1 x702 = +0
969
+ con962: +1 x704 = +0
970
+ con963: +1 x706 = +0
971
+ con964: +1 x708 = +0
972
+ con965: +1 x710 = +0
973
+ con966: +1 x712 = +0
974
+ con967: +1 x714 = +0
975
+ con968: +1 x716 = +0
976
+ con969: +1 x718 = +0
977
+ con970: +1 x720 = +0
978
+ con971: +1 x722 = +0
979
+ con972: +1 x724 = +0
980
+ con973: +1 x726 = +0
981
+ con974: +1 x728 = +0
982
+ con975: +1 x730 = +0
983
+ con976: +1 x732 = +0
984
+ con977: +1 x734 = +0
985
+ con978: +1 x736 = +0
986
+ con979: +1 x738 = +0
987
+ con980: +1 x740 = +0
988
+ con981: +1 x742 = +0
989
+ con982: +1 x744 = +0
990
+ con983: +1 x746 = +0
991
+ con984: +1 x328 +1 x330 +1 x332 +1 x334 +1 x337 +1 x340 +1 x343 +1 x346 +1 x349 +1 x352 +1 x355 +1 x358 +1 x361 +1 x364 +1 x367 +1 x370 +1 x373 +1 x376 +1 x379 +1 x382 +1 x385 +1 x388 +1 x391 +1 x394 +1 x397 +1 x400 +1 x403 <= +20970.557
992
+ con985: +1 x135 +1 x136 +1 x137 +1 x138 +1 x139 +1 x140 +1 x141 +1 x142 +1 x143 +1 x144 +1 x145 +1 x146 +1 x147 +1 x148 +1 x149 +1 x150 +1 x151 +1 x152 +1 x153 +1 x154 +1 x155 +1 x156 +1 x157 +1 x158 <= +20970.557
993
+ con986: +1 x335 <= +6000
994
+ con987: +1 x338 <= +6000
995
+ con988: +1 x341 <= +6000
996
+ con989: +1 x344 <= +6000
997
+ con990: +1 x347 <= +6000
998
+ con991: +1 x350 <= +6000
999
+ con992: +1 x353 <= +6000
1000
+ con993: +1 x356 <= +6000
1001
+ con994: +1 x359 <= +6000
1002
+ con995: +1 x362 <= +6000
1003
+ con996: +1 x365 <= +6000
1004
+ con997: +1 x368 <= +6000
1005
+ con998: +1 x371 <= +6000
1006
+ con999: +1 x374 <= +6000
1007
+ con1000: +1 x377 <= +6000
1008
+ con1001: +1 x380 <= +6000
1009
+ con1002: +1 x383 <= +6000
1010
+ con1003: +1 x386 <= +6000
1011
+ con1004: +1 x389 <= +6000
1012
+ con1005: +1 x392 <= +6000
1013
+ con1006: +1 x395 <= +6000
1014
+ con1007: +1 x398 <= +6000
1015
+ con1008: +1 x401 <= +6000
1016
+ con1009: +1 x404 <= +6000
1017
+ con1010: +1 x135 <= +3500
1018
+ con1011: +1 x136 <= +3500
1019
+ con1012: +1 x137 <= +3500
1020
+ con1013: +1 x138 <= +3500
1021
+ con1014: +1 x139 <= +3500
1022
+ con1015: +1 x140 <= +3500
1023
+ con1016: +1 x141 <= +3500
1024
+ con1017: +1 x142 <= +3500
1025
+ con1018: +1 x143 <= +4000
1026
+ con1019: +1 x144 <= +4000
1027
+ con1020: +1 x145 <= +4000
1028
+ con1021: +1 x146 <= +4000
1029
+ con1022: +1 x147 <= +4000
1030
+ con1023: +1 x148 <= +4000
1031
+ con1024: +1 x149 <= +4000
1032
+ con1025: +1 x150 <= +4000
1033
+ con1026: +1 x151 <= +3500
1034
+ con1027: +1 x152 <= +3500
1035
+ con1028: +1 x153 <= +3500
1036
+ con1029: +1 x154 <= +3500
1037
+ con1030: +1 x155 <= +3500
1038
+ con1031: +1 x156 <= +3500
1039
+ con1032: +1 x157 <= +3500
1040
+ con1033: +1 x158 <= +3500
1041
+ con1034: +1 x749 +1 x803 <= +2
1042
+ con1035: +1 x751 +1 x805 <= +2
1043
+ con1036: +1 x753 +1 x807 <= +2
1044
+ con1037: +1 x755 +1 x809 <= +1
1045
+ con1038: +1 x757 +1 x811 <= +1
1046
+ con1039: +1 x759 +1 x813 <= +1
1047
+ con1040: +1 x761 +1 x815 <= +1
1048
+ con1041: +1 x763 +1 x817 <= +1
1049
+ con1042: +1 x765 +1 x819 <= +1
1050
+ con1043: +1 x767 +1 x821 <= +1
1051
+ con1044: +1 x769 +1 x823 <= +1
1052
+ con1045: +1 x771 +1 x825 <= +1
1053
+ con1046: +1 x773 +1 x827 <= +1
1054
+ con1047: +1 x775 +1 x829 <= +1
1055
+ con1048: +1 x777 +1 x831 <= +1
1056
+ con1049: +1 x779 +1 x833 <= +1
1057
+ con1050: +1 x781 +1 x835 <= +1
1058
+ con1051: +1 x783 +1 x837 <= +1
1059
+ con1052: +1 x785 +1 x839 <= +1
1060
+ con1053: +1 x787 +1 x841 <= +1
1061
+ con1054: +1 x789 +1 x843 <= +1
1062
+ con1055: +1 x791 +1 x845 <= +1
1063
+ con1056: +1 x793 +1 x847 <= +1
1064
+ con1057: +1 x795 +1 x849 <= +1
1065
+ con1058: +1 x797 +1 x851 <= +1
1066
+ con1059: +1 x799 +1 x853 <= +1
1067
+ con1060: +1 x801 +1 x855 <= +1
1068
+ bounds
1069
+ x1 = 1
1070
+ x52 <= 8700
1071
+ x53 <= 14500
1072
+ x54 <= 14500
1073
+ x55 <= 14500
1074
+ x56 <= 14500
1075
+ x57 <= 14500
1076
+ x58 <= 14500
1077
+ x59 <= 14500
1078
+ x60 <= 14500
1079
+ x61 <= 14500
1080
+ x62 <= 14500
1081
+ x63 <= 14500
1082
+ x64 <= 14500
1083
+ x65 <= 14500
1084
+ x66 <= 14500
1085
+ x67 <= 14500
1086
+ x68 <= 14500
1087
+ x69 <= 14500
1088
+ x70 <= 14500
1089
+ x71 <= 14500
1090
+ x72 <= 14500
1091
+ x73 <= 14500
1092
+ x74 <= 14500
1093
+ x75 <= 14500
1094
+ x76 <= 14500
1095
+ x77 <= 14500
1096
+ x78 <= 14500
1097
+ x159 <= 6000
1098
+ x160 <= 12000
1099
+ x161 <= 12000
1100
+ x162 <= 12000
1101
+ x163 <= 12000
1102
+ x164 <= 3500
1103
+ x165 <= 7000
1104
+ x166 <= 8000
1105
+ x167 <= 7000
1106
+ x168 <= 8000
1107
+ x169 <= 6000
1108
+ x170 <= 12000
1109
+ x171 <= 12000
1110
+ x172 <= 12000
1111
+ x173 <= 3500
1112
+ x174 <= 7000
1113
+ x175 <= 7000
1114
+ x176 <= 7000
1115
+ x177 <= 6000
1116
+ x178 <= 12000
1117
+ x179 <= 12000
1118
+ x180 <= 12000
1119
+ x181 <= 3500
1120
+ x182 <= 7000
1121
+ x183 <= 7000
1122
+ x184 <= 7000
1123
+ x185 <= 6000
1124
+ x186 <= 12000
1125
+ x187 <= 12000
1126
+ x188 <= 12000
1127
+ x189 <= 3500
1128
+ x190 <= 7000
1129
+ x191 <= 7000
1130
+ x192 <= 7000
1131
+ x193 <= 6000
1132
+ x194 <= 12000
1133
+ x195 <= 12000
1134
+ x196 <= 12000
1135
+ x197 <= 3500
1136
+ x198 <= 7000
1137
+ x199 <= 7000
1138
+ x200 <= 7000
1139
+ x201 <= 6000
1140
+ x202 <= 12000
1141
+ x203 <= 12000
1142
+ x204 <= 12000
1143
+ x205 <= 3500
1144
+ x206 <= 7000
1145
+ x207 <= 7000
1146
+ x208 <= 7000
1147
+ x209 <= 6000
1148
+ x210 <= 12000
1149
+ x211 <= 12000
1150
+ x212 <= 12000
1151
+ x213 <= 3500
1152
+ x214 <= 7000
1153
+ x215 <= 7000
1154
+ x216 <= 7000
1155
+ x217 <= 6000
1156
+ x218 <= 12000
1157
+ x219 <= 12000
1158
+ x220 <= 12000
1159
+ x221 <= 3500
1160
+ x222 <= 7000
1161
+ x223 <= 8000
1162
+ x224 <= 7000
1163
+ x225 <= 6000
1164
+ x226 <= 12000
1165
+ x227 <= 12000
1166
+ x228 <= 12000
1167
+ x229 <= 4000
1168
+ x230 <= 8000
1169
+ x231 <= 8000
1170
+ x232 <= 8000
1171
+ x233 <= 6000
1172
+ x234 <= 12000
1173
+ x235 <= 12000
1174
+ x236 <= 12000
1175
+ x237 <= 4000
1176
+ x238 <= 8000
1177
+ x239 <= 8000
1178
+ x240 <= 8000
1179
+ x241 <= 6000
1180
+ x242 <= 12000
1181
+ x243 <= 12000
1182
+ x244 <= 12000
1183
+ x245 <= 4000
1184
+ x246 <= 8000
1185
+ x247 <= 8000
1186
+ x248 <= 8000
1187
+ x249 <= 6000
1188
+ x250 <= 12000
1189
+ x251 <= 12000
1190
+ x252 <= 12000
1191
+ x253 <= 4000
1192
+ x254 <= 8000
1193
+ x255 <= 8000
1194
+ x256 <= 8000
1195
+ x257 <= 1
1196
+ x258 <= 1
1197
+ x259 <= 1
1198
+ x260 <= 1
1199
+ x261 <= 1
1200
+ x262 <= 1
1201
+ x263 <= 1
1202
+ x264 <= 1
1203
+ x265 <= 1
1204
+ x266 <= 1
1205
+ x267 <= 1
1206
+ x268 <= 1
1207
+ x269 <= 1
1208
+ x270 <= 12000
1209
+ x271 <= 1
1210
+ x272 <= 8000
1211
+ x273 <= 1
1212
+ x274 <= 1
1213
+ x275 <= 1
1214
+ x276 <= 1
1215
+ x277 <= 1
1216
+ x278 <= 1
1217
+ x279 <= 1
1218
+ x280 <= 1
1219
+ x281 <= 1
1220
+ x282 <= 1
1221
+ x283 <= 1
1222
+ x284 <= 1
1223
+ x285 <= 1
1224
+ x286 <= 1
1225
+ x287 <= 1
1226
+ x288 <= 1
1227
+ x289 <= 1
1228
+ x290 <= 1
1229
+ x291 <= 1
1230
+ x292 <= 1
1231
+ x293 <= 1
1232
+ x294 <= 1
1233
+ x295 <= 1
1234
+ x296 <= 1
1235
+ x297 <= 1
1236
+ x298 <= 1
1237
+ x299 <= 12
1238
+ x300 <= 8
1239
+ x301 <= 12
1240
+ x302 <= 7
1241
+ x303 <= 12
1242
+ x304 <= 7
1243
+ x305 <= 12
1244
+ x306 <= 7
1245
+ x307 <= 12
1246
+ x308 <= 7
1247
+ x309 <= 12
1248
+ x310 <= 7
1249
+ x311 <= 12
1250
+ x312 <= 7
1251
+ x313 <= 12
1252
+ x314 <= 7
1253
+ x315 <= 12
1254
+ x316 <= 7
1255
+ x317 <= 12
1256
+ x318 <= 8
1257
+ x319 <= 12
1258
+ x320 <= 8
1259
+ x321 <= 12
1260
+ x322 <= 8
1261
+ x323 <= 12
1262
+ x324 <= 8
1263
+ x325 <= 12
1264
+ x326 <= 8
1265
+ x327 <= 8700
1266
+ x328 <= 8700
1267
+ x329 <= 14500
1268
+ x330 <= 14500
1269
+ x331 <= 14500
1270
+ x332 <= 14500
1271
+ x333 <= 14500
1272
+ x334 <= 14500
1273
+ x336 <= 14500
1274
+ x337 <= 14500
1275
+ x339 <= 14500
1276
+ x340 <= 14500
1277
+ x342 <= 14500
1278
+ x343 <= 14500
1279
+ x345 <= 14500
1280
+ x346 <= 14500
1281
+ x348 <= 14500
1282
+ x349 <= 14500
1283
+ x351 <= 14500
1284
+ x352 <= 14500
1285
+ x354 <= 14500
1286
+ x355 <= 14500
1287
+ x357 <= 14500
1288
+ x358 <= 14500
1289
+ x360 <= 14500
1290
+ x361 <= 14500
1291
+ x363 <= 14500
1292
+ x364 <= 14500
1293
+ x366 <= 14500
1294
+ x367 <= 14500
1295
+ x369 <= 14500
1296
+ x370 <= 14500
1297
+ x372 <= 14500
1298
+ x373 <= 14500
1299
+ x375 <= 14500
1300
+ x376 <= 14500
1301
+ x378 <= 14500
1302
+ x379 <= 14500
1303
+ x381 <= 14500
1304
+ x382 <= 14500
1305
+ x384 <= 14500
1306
+ x385 <= 14500
1307
+ x387 <= 14500
1308
+ x388 <= 14500
1309
+ x390 <= 14500
1310
+ x391 <= 14500
1311
+ x393 <= 14500
1312
+ x394 <= 14500
1313
+ x396 <= 14500
1314
+ x397 <= 14500
1315
+ x399 <= 14500
1316
+ x400 <= 14500
1317
+ x402 <= 14500
1318
+ x403 <= 14500
1319
+ x405 <= 1
1320
+ x406 <= 1
1321
+ x407 <= 1
1322
+ x408 <= 1
1323
+ x409 <= 1
1324
+ x410 <= 1
1325
+ x411 <= 1
1326
+ x412 <= 1
1327
+ x413 <= 1
1328
+ x414 <= 1
1329
+ x415 <= 1
1330
+ x416 <= 1
1331
+ x417 <= 1
1332
+ x418 <= 1
1333
+ x419 <= 1
1334
+ x420 <= 1
1335
+ x421 <= 1
1336
+ x422 <= 1
1337
+ x423 <= 1
1338
+ x424 <= 1
1339
+ x425 <= 1
1340
+ x426 <= 1
1341
+ x427 <= 1
1342
+ x428 <= 1
1343
+ x429 <= 1
1344
+ x430 <= 1
1345
+ x431 <= 1
1346
+ x540 <= 1
1347
+ x541 <= 1
1348
+ x542 <= 1
1349
+ x543 <= 1
1350
+ x544 <= 1
1351
+ x545 <= 1
1352
+ x546 <= 1
1353
+ x547 <= 1
1354
+ x548 <= 1
1355
+ x549 <= 1
1356
+ x550 <= 1
1357
+ x551 <= 1
1358
+ x552 <= 1
1359
+ x553 <= 1
1360
+ x554 <= 1
1361
+ x555 <= 1
1362
+ x556 <= 1
1363
+ x557 <= 1
1364
+ x558 <= 1
1365
+ x559 <= 1
1366
+ x560 <= 1
1367
+ x561 <= 1
1368
+ x562 <= 1
1369
+ x563 <= 1
1370
+ x564 <= 1
1371
+ x565 <= 1
1372
+ x566 <= 1
1373
+ x567 <= 29000
1374
+ x568 <= 29000
1375
+ x569 <= 29000
1376
+ x570 <= 29000
1377
+ x571 <= 29000
1378
+ x572 <= 29000
1379
+ x573 <= 29000
1380
+ x574 <= 29000
1381
+ x575 <= 29000
1382
+ x576 <= 29000
1383
+ x577 <= 29000
1384
+ x578 <= 29000
1385
+ x579 <= 29000
1386
+ x580 <= 29000
1387
+ x581 <= 29000
1388
+ x582 <= 29000
1389
+ x583 <= 29000
1390
+ x584 <= 29000
1391
+ x585 <= 29000
1392
+ x586 <= 29000
1393
+ x587 <= 29000
1394
+ x588 <= 29000
1395
+ x589 <= 29000
1396
+ x590 <= 29000
1397
+ x591 <= 29000
1398
+ x592 <= 29000
1399
+ x593 <= 29000
1400
+ x648 <= 8700
1401
+ x649 <= 14500
1402
+ x650 <= 14500
1403
+ x651 <= 14500
1404
+ x652 <= 14500
1405
+ x653 <= 14500
1406
+ x654 <= 14500
1407
+ x655 <= 14500
1408
+ x656 <= 14500
1409
+ x657 <= 14500
1410
+ x658 <= 14500
1411
+ x659 <= 14500
1412
+ x660 <= 14500
1413
+ x661 <= 14500
1414
+ x662 <= 14500
1415
+ x663 <= 14500
1416
+ x664 <= 14500
1417
+ x665 <= 14500
1418
+ x666 <= 14500
1419
+ x667 <= 14500
1420
+ x668 <= 14500
1421
+ x669 <= 14500
1422
+ x670 <= 14500
1423
+ x671 <= 14500
1424
+ x672 <= 14500
1425
+ x673 <= 14500
1426
+ x674 <= 14500
1427
+ x675 <= 1
1428
+ x676 <= 1
1429
+ x677 <= 1
1430
+ x678 <= 1
1431
+ x679 <= 1
1432
+ x680 <= 1
1433
+ x681 <= 1
1434
+ x682 <= 1
1435
+ x683 <= 1
1436
+ x684 <= 1
1437
+ x685 <= 1
1438
+ x686 <= 1
1439
+ x687 <= 1
1440
+ x688 <= 1
1441
+ x689 <= 1
1442
+ x690 <= 1
1443
+ x691 <= 1
1444
+ x692 <= 1
1445
+ x693 <= 1
1446
+ x694 <= 1
1447
+ x695 <= 1
1448
+ x696 <= 1
1449
+ x697 <= 1
1450
+ x698 <= 1
1451
+ x699 <= 1
1452
+ x700 <= 1
1453
+ x701 <= 1
1454
+ x748 <= 1
1455
+ x749 <= 1
1456
+ x750 <= 1
1457
+ x751 <= 1
1458
+ x752 <= 1
1459
+ x753 <= 1
1460
+ x754 <= 1
1461
+ x755 <= 1
1462
+ x756 <= 1
1463
+ x757 <= 1
1464
+ x758 <= 1
1465
+ x759 <= 1
1466
+ x760 <= 1
1467
+ x761 <= 1
1468
+ x762 <= 1
1469
+ x763 <= 1
1470
+ x764 <= 1
1471
+ x765 <= 1
1472
+ x766 <= 1
1473
+ x767 <= 1
1474
+ x768 <= 1
1475
+ x769 <= 1
1476
+ x770 <= 1
1477
+ x771 <= 1
1478
+ x772 <= 1
1479
+ x773 <= 1
1480
+ x774 <= 1
1481
+ x775 <= 1
1482
+ x776 <= 1
1483
+ x777 <= 1
1484
+ x778 <= 1
1485
+ x779 <= 1
1486
+ x780 <= 1
1487
+ x781 <= 1
1488
+ x782 <= 1
1489
+ x783 <= 1
1490
+ x784 <= 1
1491
+ x785 <= 1
1492
+ x786 <= 1
1493
+ x787 <= 1
1494
+ x788 <= 1
1495
+ x789 <= 1
1496
+ x790 <= 1
1497
+ x791 <= 1
1498
+ x792 <= 1
1499
+ x793 <= 1
1500
+ x794 <= 1
1501
+ x795 <= 1
1502
+ x796 <= 1
1503
+ x797 <= 1
1504
+ x798 <= 1
1505
+ x799 <= 1
1506
+ x800 <= 1
1507
+ x801 <= 1
1508
+ x802 <= 1
1509
+ x803 <= 1
1510
+ x804 <= 1
1511
+ x805 <= 1
1512
+ x806 <= 1
1513
+ x807 <= 1
1514
+ x808 <= 1
1515
+ x809 <= 1
1516
+ x810 <= 1
1517
+ x811 <= 1
1518
+ x812 <= 1
1519
+ x813 <= 1
1520
+ x814 <= 1
1521
+ x815 <= 1
1522
+ x816 <= 1
1523
+ x817 <= 1
1524
+ x818 <= 1
1525
+ x819 <= 1
1526
+ x820 <= 1
1527
+ x821 <= 1
1528
+ x822 <= 1
1529
+ x823 <= 1
1530
+ x824 <= 1
1531
+ x825 <= 1
1532
+ x826 <= 1
1533
+ x827 <= 1
1534
+ x828 <= 1
1535
+ x829 <= 1
1536
+ x830 <= 1
1537
+ x831 <= 1
1538
+ x832 <= 1
1539
+ x833 <= 1
1540
+ x834 <= 1
1541
+ x835 <= 1
1542
+ x836 <= 1
1543
+ x837 <= 1
1544
+ x838 <= 1
1545
+ x839 <= 1
1546
+ x840 <= 1
1547
+ x841 <= 1
1548
+ x842 <= 1
1549
+ x843 <= 1
1550
+ x844 <= 1
1551
+ x845 <= 1
1552
+ x846 <= 1
1553
+ x847 <= 1
1554
+ x848 <= 1
1555
+ x849 <= 1
1556
+ x850 <= 1
1557
+ x851 <= 1
1558
+ x852 <= 1
1559
+ x853 <= 1
1560
+ x854 <= 1
1561
+ x855 <= 1
1562
+ bin
1563
+ x257
1564
+ x258
1565
+ x259
1566
+ x260
1567
+ x261
1568
+ x262
1569
+ x263
1570
+ x264
1571
+ x265
1572
+ x266
1573
+ x267
1574
+ x268
1575
+ x269
1576
+ x271
1577
+ x273
1578
+ x274
1579
+ x275
1580
+ x276
1581
+ x277
1582
+ x278
1583
+ x279
1584
+ x280
1585
+ x281
1586
+ x282
1587
+ x283
1588
+ x284
1589
+ x285
1590
+ x286
1591
+ x287
1592
+ x288
1593
+ x289
1594
+ x290
1595
+ x291
1596
+ x292
1597
+ x293
1598
+ x294
1599
+ x295
1600
+ x296
1601
+ x297
1602
+ x298
1603
+ x405
1604
+ x406
1605
+ x407
1606
+ x408
1607
+ x409
1608
+ x410
1609
+ x411
1610
+ x412
1611
+ x413
1612
+ x414
1613
+ x415
1614
+ x416
1615
+ x417
1616
+ x418
1617
+ x419
1618
+ x420
1619
+ x421
1620
+ x422
1621
+ x423
1622
+ x424
1623
+ x425
1624
+ x426
1625
+ x427
1626
+ x428
1627
+ x429
1628
+ x430
1629
+ x431
1630
+ x540
1631
+ x541
1632
+ x542
1633
+ x543
1634
+ x544
1635
+ x545
1636
+ x546
1637
+ x547
1638
+ x548
1639
+ x549
1640
+ x550
1641
+ x551
1642
+ x552
1643
+ x553
1644
+ x554
1645
+ x555
1646
+ x556
1647
+ x557
1648
+ x558
1649
+ x559
1650
+ x560
1651
+ x561
1652
+ x562
1653
+ x563
1654
+ x564
1655
+ x565
1656
+ x566
1657
+ x675
1658
+ x676
1659
+ x677
1660
+ x678
1661
+ x679
1662
+ x680
1663
+ x681
1664
+ x682
1665
+ x683
1666
+ x684
1667
+ x685
1668
+ x686
1669
+ x687
1670
+ x688
1671
+ x689
1672
+ x690
1673
+ x691
1674
+ x692
1675
+ x693
1676
+ x694
1677
+ x695
1678
+ x696
1679
+ x697
1680
+ x698
1681
+ x699
1682
+ x700
1683
+ x701
1684
+ x748
1685
+ x749
1686
+ x750
1687
+ x751
1688
+ x752
1689
+ x753
1690
+ x754
1691
+ x755
1692
+ x756
1693
+ x757
1694
+ x758
1695
+ x759
1696
+ x760
1697
+ x761
1698
+ x762
1699
+ x763
1700
+ x764
1701
+ x765
1702
+ x766
1703
+ x767
1704
+ x768
1705
+ x769
1706
+ x770
1707
+ x771
1708
+ x772
1709
+ x773
1710
+ x774
1711
+ x775
1712
+ x776
1713
+ x777
1714
+ x778
1715
+ x779
1716
+ x780
1717
+ x781
1718
+ x782
1719
+ x783
1720
+ x784
1721
+ x785
1722
+ x786
1723
+ x787
1724
+ x788
1725
+ x789
1726
+ x790
1727
+ x791
1728
+ x792
1729
+ x793
1730
+ x794
1731
+ x795
1732
+ x796
1733
+ x797
1734
+ x798
1735
+ x799
1736
+ x800
1737
+ x801
1738
+ x802
1739
+ x803
1740
+ x804
1741
+ x805
1742
+ x806
1743
+ x807
1744
+ x808
1745
+ x809
1746
+ x810
1747
+ x811
1748
+ x812
1749
+ x813
1750
+ x814
1751
+ x815
1752
+ x816
1753
+ x817
1754
+ x818
1755
+ x819
1756
+ x820
1757
+ x821
1758
+ x822
1759
+ x823
1760
+ x824
1761
+ x825
1762
+ x826
1763
+ x827
1764
+ x828
1765
+ x829
1766
+ x830
1767
+ x831
1768
+ x832
1769
+ x833
1770
+ x834
1771
+ x835
1772
+ x836
1773
+ x837
1774
+ x838
1775
+ x839
1776
+ x840
1777
+ x841
1778
+ x842
1779
+ x843
1780
+ x844
1781
+ x845
1782
+ x846
1783
+ x847
1784
+ x848
1785
+ x849
1786
+ x850
1787
+ x851
1788
+ x852
1789
+ x853
1790
+ x854
1791
+ x855
1792
+ gen
1793
+ x299
1794
+ x300
1795
+ x301
1796
+ x302
1797
+ x303
1798
+ x304
1799
+ x305
1800
+ x306
1801
+ x307
1802
+ x308
1803
+ x309
1804
+ x310
1805
+ x311
1806
+ x312
1807
+ x313
1808
+ x314
1809
+ x315
1810
+ x316
1811
+ x317
1812
+ x318
1813
+ x319
1814
+ x320
1815
+ x321
1816
+ x322
1817
+ x323
1818
+ x324
1819
+ x325
1820
+ x326
1821
+ semi
1822
+ end