Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ds4dm/ecole
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.6.0
Choose a base ref
...
head repository: ds4dm/ecole
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 10,664 additions and 5,743 deletions.
  1. +0 −319 .circleci/config.yml
  2. +2 −1 .clang-tidy
  3. +2 −2 .github/ISSUE_TEMPLATE/bug_report.md
  4. +8 −0 .github/ISSUE_TEMPLATE/config.yml
  5. +1 −1 .github/ISSUE_TEMPLATE/new_feature.md
  6. +10 −0 .github/actions/push-to-repo/Dockerfile
  7. +40 −0 .github/actions/push-to-repo/action.yml
  8. +67 −0 .github/actions/push-to-repo/entrypoint.sh
  9. +2 −2 .github/pull_request_template.md
  10. +264 −0 .github/workflows/continuous-testing.yml
  11. +3 −0 .gitignore
  12. +11 −5 .pre-commit-config.yaml
  13. +1 −1 AUTHORS
  14. +22 −11 CMakeLists.txt
  15. +41 −13 README.rst
  16. +9 −2 VERSION
  17. +15 −19 cmake/CompilerWarnings.cmake
  18. +4 −4 cmake/Conda.cmake
  19. +5 −12 cmake/Coverage.cmake
  20. +2 −5 cmake/DefaultSettings.cmake
  21. +36 −33 cmake/{Dependencies.cmake → DependenciesResolver.cmake}
  22. +10 −4 cmake/Python.cmake
  23. +0 −39 cmake/PythonVenv.cmake
  24. +16 −24 cmake/Sanitizers.cmake
  25. +0 −17 dev/Dockerfile.conda
  26. +14 −3 dev/Dockerfile.src
  27. +12 −5 dev/conda.yaml
  28. +9 −7 dev/hooks/build
  29. +602 −0 dev/run.sh
  30. +0 −65 docs/CMakeLists.txt
  31. +2 −2 docs/_static/css/custom.css
  32. +0 −5 docs/conf.py
  33. +77 −70 docs/contributing.rst
  34. +8 −8 docs/developers/example-observation.rst
  35. +32 −33 docs/discussion/gym-differences.rst
  36. +8 −8 docs/discussion/seeding.rst
  37. +14 −14 docs/discussion/theory.rst
  38. +131 −33 docs/howto/create-environments.rst
  39. +45 −59 docs/howto/create-functions.rst
  40. +55 −61 docs/howto/instances.rst
  41. +16 −17 docs/howto/observation-functions.rst
  42. +34 −37 docs/howto/reward-functions.rst
  43. +5 −5 docs/index.rst
  44. +36 −11 docs/installation.rst
  45. +5 −0 docs/reference/environments.rst
  46. +4 −0 docs/reference/instances.rst
  47. +5 −0 docs/reference/observations.rst
  48. +12 −0 docs/reference/rewards.rst
  49. +28 −0 docs/reference/scip-interface.rst
  50. +2 −2 docs/reference/utilities.rst
  51. +2 −1 docs/using-environments.rst
  52. +0 −1,499 examples/branching-imitation.ipynb
  53. +13 −0 examples/branching-imitation/conda-requirements.yaml
  54. +1,498 −0 examples/branching-imitation/example.ipynb
  55. +0 −337 examples/configuring-bandits.ipynb
  56. +13 −0 examples/configuring-bandits/conda-requirements.yaml
  57. +370 −0 examples/configuring-bandits/example.ipynb
  58. +16 −0 examples/libecole/CMakeLists.txt
  59. +30 −0 examples/libecole/src/branching.cpp
  60. +120 −77 libecole/CMakeLists.txt
  61. +17 −0 libecole/EcoleConfig.cmake.in
  62. +12 −15 libecole/benchmarks/CMakeLists.txt
  63. +8 −0 libecole/benchmarks/dependencies/private.cmake
  64. +1 −1 libecole/benchmarks/src/benchmark.cpp
  65. +1 −1 libecole/benchmarks/src/benchmark.hpp
  66. +1 −1 libecole/benchmarks/src/branching/index-branchrule.hpp
  67. +7 −7 libecole/benchmarks/src/main.cpp
  68. +30 −0 libecole/dependencies/private.cmake
  69. +29 −0 libecole/dependencies/public.cmake
  70. +0 −31 libecole/include/ecole/data/abstract.hpp
  71. +5 −3 libecole/include/ecole/data/constant.hpp
  72. +84 −0 libecole/include/ecole/data/dynamic.hpp
  73. +3 −4 libecole/include/ecole/data/map.hpp
  74. +3 −4 libecole/include/ecole/data/multiary.hpp
  75. +4 −2 libecole/include/ecole/data/none.hpp
  76. +3 −3 libecole/include/ecole/data/timed.hpp
  77. +3 −3 libecole/include/ecole/data/tuple.hpp
  78. +3 −3 libecole/include/ecole/data/vector.hpp
  79. +30 −0 libecole/include/ecole/default.hpp
  80. +12 −6 libecole/include/ecole/dynamics/branching.hpp
  81. +11 −4 libecole/include/ecole/dynamics/configuring.hpp
  82. +0 −57 libecole/include/ecole/dynamics/dynamics.hpp
  83. +20 −0 libecole/include/ecole/dynamics/parts.hpp
  84. +43 −0 libecole/include/ecole/dynamics/primal-search.hpp
  85. +2 −2 libecole/include/ecole/environment/branching.hpp
  86. +1 −1 libecole/include/ecole/environment/configuring.hpp
  87. +51 −25 libecole/include/ecole/environment/environment.hpp
  88. +18 −0 libecole/include/ecole/environment/primal-search.hpp
  89. +16 −6 libecole/include/ecole/exception.hpp
  90. +0 −11 libecole/include/ecole/information/abstract.hpp
  91. +4 −2 libecole/include/ecole/information/nothing.hpp
  92. +11 −5 libecole/include/ecole/instance/abstract.hpp
  93. +12 −10 libecole/include/ecole/instance/capacitated-facility-location.hpp
  94. +13 −11 libecole/include/ecole/instance/combinatorial-auction.hpp
  95. +45 −0 libecole/include/ecole/instance/files.hpp
  96. +12 −10 libecole/include/ecole/instance/independent-set.hpp
  97. +12 −10 libecole/include/ecole/instance/set-cover.hpp
  98. +6 −4 libecole/include/ecole/none.hpp
  99. +0 −18 libecole/include/ecole/observation/abstract.hpp
  100. +76 −0 libecole/include/ecole/observation/hutter-2011.hpp
  101. +9 −5 libecole/include/ecole/observation/khalil-2016.hpp
  102. +8 −5 libecole/include/ecole/observation/{milpbipartite.hpp → milp-bipartite.hpp}
  103. +11 −10 libecole/include/ecole/observation/{nodebipartite.hpp → node-bipartite.hpp}
  104. +5 −2 libecole/include/ecole/observation/pseudocosts.hpp
  105. +26 −0 libecole/include/ecole/observation/strong-branching-scores.hpp
  106. +0 −22 libecole/include/ecole/observation/strongbranchingscores.hpp
  107. +13 −11 libecole/include/ecole/random.hpp
  108. +0 −9 libecole/include/ecole/reward/abstract.hpp
  109. +35 −0 libecole/include/ecole/reward/bound-integral.hpp
  110. +14 −0 libecole/include/ecole/reward/is-done.hpp
  111. +0 −12 libecole/include/ecole/reward/isdone.hpp
  112. +19 −0 libecole/include/ecole/reward/lp-iterations.hpp
  113. +0 −17 libecole/include/ecole/reward/lpiterations.hpp
  114. +19 −0 libecole/include/ecole/reward/n-nodes.hpp
  115. +0 −17 libecole/include/ecole/reward/nnodes.hpp
  116. +4 −3 libecole/include/ecole/reward/{solvingtime.hpp → solving-time.hpp}
  117. +83 −0 libecole/include/ecole/scip/callback.hpp
  118. +4 −2 libecole/include/ecole/scip/col.hpp
  119. +30 −8 libecole/include/ecole/scip/cons.hpp
  120. +7 −5 libecole/include/ecole/scip/exception.hpp
  121. +160 −91 libecole/include/ecole/scip/model.hpp
  122. +8 −6 libecole/include/ecole/scip/row.hpp
  123. +26 −14 libecole/include/ecole/scip/scimpl.hpp
  124. +9 −0 libecole/include/ecole/scip/seed.hpp
  125. +2 −32 libecole/include/ecole/scip/type.hpp
  126. +2 −2 libecole/include/ecole/scip/utils.hpp
  127. +5 −3 libecole/include/ecole/scip/var.hpp
  128. +36 −9 libecole/include/ecole/traits.hpp
  129. +16 −0 libecole/include/ecole/tweak/range.hpp
  130. +4 −2 libecole/include/ecole/utility/chrono.hpp
  131. +357 −0 libecole/include/ecole/utility/coroutine.hpp
  132. +6 −6 libecole/include/ecole/utility/function-traits.hpp
  133. +4 −4 libecole/include/ecole/utility/random.hpp
  134. +0 −102 libecole/include/ecole/utility/reverse-control.hpp
  135. +8 −2 libecole/include/ecole/utility/type-traits.hpp
  136. +12 −0 libecole/include/ecole/utility/unreachable.hpp
  137. +29 −7 libecole/include/ecole/version.hpp.in
  138. +47 −28 libecole/src/dynamics/branching.cpp
  139. +4 −2 libecole/src/dynamics/configuring.cpp
  140. +17 −0 libecole/src/dynamics/parts.cpp
  141. +153 −0 libecole/src/dynamics/primal-search.cpp
  142. +1 −5 libecole/src/exception.cpp
  143. +15 −18 libecole/src/instance/capacitated-facility-location.cpp
  144. +31 −31 libecole/src/instance/combinatorial-auction.cpp
  145. +84 −0 libecole/src/instance/files.cpp
  146. +15 −14 libecole/src/instance/independent-set.cpp
  147. +18 −19 libecole/src/instance/set-cover.cpp
  148. +393 −0 libecole/src/observation/hutter-2011.cpp
  149. +58 −141 libecole/src/observation/khalil-2016.cpp
  150. +153 −0 libecole/src/observation/milp-bipartite.cpp
  151. +0 −305 libecole/src/observation/milpbipartite.cpp
  152. +89 −84 libecole/src/observation/{nodebipartite.cpp → node-bipartite.cpp}
  153. +7 −8 libecole/src/observation/pseudocosts.cpp
  154. +8 −9 libecole/src/observation/{strongbranchingscores.cpp → strong-branching-scores.cpp}
  155. +22 −22 libecole/src/random.cpp
  156. +352 −0 libecole/src/reward/bound-integral.cpp
  157. +1 −1 libecole/src/reward/{isdone.cpp → is-done.cpp}
  158. +9 −5 libecole/src/reward/{lpiterations.cpp → lp-iterations.cpp}
  159. +2 −2 libecole/src/reward/{nnodes.cpp → n-nodes.cpp}
  160. +1 −1 libecole/src/reward/{solvingtime.cpp → solving-time.cpp}
  161. +288 −3 libecole/src/scip/cons.cpp
  162. +28 −27 libecole/src/scip/exception.cpp
  163. +88 −68 libecole/src/scip/model.cpp
  164. +208 −88 libecole/src/scip/scimpl.cpp
  165. +62 −42 libecole/src/{instance/independent-set-graph.cpp → utility/graph.cpp}
  166. +22 −19 libecole/src/{instance/independent-set-graph.hpp → utility/graph.hpp}
  167. +93 −0 libecole/src/utility/math.hpp
  168. +0 −154 libecole/src/utility/reverse-control.cpp
  169. +48 −6 libecole/src/version.cpp
  170. +36 −25 libecole/tests/CMakeLists.txt
  171. +6 −0 libecole/tests/dependencies/private.cmake
  172. +24 −3 libecole/tests/src/conftest.cpp
  173. +5 −3 libecole/tests/src/conftest.hpp
  174. +4 −3 libecole/tests/src/data/mock-function.hpp
  175. +1 −1 libecole/tests/src/data/test-constant.cpp
  176. +36 −0 libecole/tests/src/data/test-dynamic.cpp
  177. +1 −1 libecole/tests/src/data/test-map.cpp
  178. +2 −2 libecole/tests/src/data/test-multiary.cpp
  179. +1 −1 libecole/tests/src/data/test-none.cpp
  180. +1 −1 libecole/tests/src/data/test-parser.cpp
  181. +2 −2 libecole/tests/src/data/test-timed.cpp
  182. +1 −1 libecole/tests/src/data/test-tuple.cpp
  183. +1 −1 libecole/tests/src/data/test-vector.cpp
  184. +25 −8 libecole/tests/src/data/unit-tests.hpp
  185. +11 −3 libecole/tests/src/dynamics/test-branching.cpp
  186. +2 −1 libecole/tests/src/dynamics/test-configuring.cpp
  187. +27 −0 libecole/tests/src/dynamics/test-parts.cpp
  188. +173 −0 libecole/tests/src/dynamics/test-primal-search.cpp
  189. +10 −10 libecole/tests/src/dynamics/unit-tests.hpp
  190. +28 −42 libecole/tests/src/environment/test-environment.cpp
  191. +98 −0 libecole/tests/src/instance/test-files.cpp
  192. +2 −2 libecole/tests/src/instance/test-independent-set.cpp
  193. +10 −10 libecole/tests/src/instance/unit-tests.cpp
  194. +7 −7 libecole/tests/src/instance/unit-tests.hpp
  195. +129 −0 libecole/tests/src/observation/test-hutter-2011.cpp
  196. +35 −11 libecole/tests/src/observation/test-khalil-2016.cpp
  197. +1 −1 libecole/tests/src/observation/{test-milpbipartite.cpp → test-milp-bipartite.cpp}
  198. +9 −13 libecole/tests/src/observation/{test-nodebipartite.cpp → test-node-bipartite.cpp}
  199. +4 −4 libecole/tests/src/observation/test-pseudocosts.cpp
  200. +2 −2 libecole/tests/src/observation/{test-strongbranchingscores.cpp → test-strong-branching-scores.cpp}
  201. +50 −0 libecole/tests/src/reward/test-bound-integral.cpp
  202. +2 −2 libecole/tests/src/reward/{test-isdone.cpp → test-is-done.cpp}
  203. +6 −6 libecole/tests/src/reward/{test-lpiterations.cpp → test-lp-iterations.cpp}
  204. +5 −5 libecole/tests/src/reward/{test-nnodes.cpp → test-n-nodes.cpp}
  205. +2 −2 libecole/tests/src/reward/{test-solvingtime.cpp → test-solving-time.cpp}
  206. +10 −16 libecole/tests/src/reward/unit-tests.hpp
  207. +71 −7 libecole/tests/src/scip/test-model.cpp
  208. +17 −17 libecole/tests/src/test-random.cpp
  209. +107 −21 libecole/tests/src/test-traits.cpp
  210. +38 −0 libecole/tests/src/test-utility/tmp-folder.cpp
  211. +31 −0 libecole/tests/src/test-utility/tmp-folder.hpp
  212. +1 −1 libecole/tests/src/utility/test-chrono.cpp
  213. +88 −0 libecole/tests/src/utility/test-coroutine.cpp
  214. +10 −11 libecole/tests/src/{instance/test-independent-set-graph.cpp → utility/test-graph.cpp}
  215. +6 −6 libecole/tests/src/utility/test-random.cpp
  216. +12 −0 pyproject.toml
  217. +0 −94 python/CMakeLists.txt
  218. +97 −0 python/ecole/CMakeLists.txt
  219. 0 python/{ → ecole}/README.md
  220. +15 −0 python/ecole/src/ecole/__init__.py
  221. +3 −3 python/{ → ecole}/src/ecole/core/caster.hpp
  222. +95 −0 python/ecole/src/ecole/core/core.cpp
  223. +5 −1 python/{ → ecole}/src/ecole/core/core.hpp
  224. +3 −3 python/{ → ecole}/src/ecole/core/data.cpp
  225. +307 −0 python/ecole/src/ecole/core/dynamics.cpp
  226. 0 python/{ → ecole}/src/ecole/core/information.cpp
  227. +68 −24 python/{ → ecole}/src/ecole/core/instance.cpp
  228. +156 −77 python/{ → ecole}/src/ecole/core/observation.cpp
  229. +102 −4 python/{ → ecole}/src/ecole/core/reward.cpp
  230. +201 −0 python/ecole/src/ecole/core/scip.cpp
  231. +30 −0 python/ecole/src/ecole/core/version.cpp
  232. +5 −2 python/{ → ecole}/src/ecole/data.py
  233. +28 −0 python/ecole/src/ecole/doctor.py
  234. 0 python/{ → ecole}/src/ecole/dynamics.py
  235. +64 −41 python/{ → ecole}/src/ecole/environment.py
  236. 0 python/{ → ecole}/src/ecole/information.py
  237. 0 python/{ → ecole}/src/ecole/instance.py
  238. 0 python/{ → ecole}/src/ecole/observation.py
  239. 0 python/{ → ecole}/src/ecole/py.typed
  240. 0 python/{ → ecole}/src/ecole/reward.py
  241. 0 python/{ → ecole}/src/ecole/scip.py
  242. +11 −16 python/{ → ecole}/src/ecole/typing.py
  243. +1 −0 python/ecole/src/ecole/version.py
  244. +25 −5 python/{ → ecole}/tests/conftest.py
  245. +45 −25 python/{ → ecole}/tests/test_data.py
  246. +51 −21 python/{ → ecole}/tests/test_dynamics.py
  247. +12 −4 python/{ → ecole}/tests/test_environment.py
  248. +3 −9 python/{ → ecole}/tests/test_information.py
  249. +48 −18 python/{ → ecole}/tests/test_instance.py
  250. +19 −17 python/{ → ecole}/tests/test_observation.py
  251. +60 −0 python/ecole/tests/test_random.py
  252. +51 −20 python/{ → ecole}/tests/test_reward.py
  253. +41 −3 python/{ → ecole}/tests/test_scip.py
  254. +22 −2 python/{ → ecole}/tests/test_version.py
  255. +74 −0 python/extension-helper/CMakeLists.txt
  256. +17 −0 python/extension-helper/EcoleExtensionHelperConfig.cmake.in
  257. +21 −0 python/extension-helper/dependencies/public.cmake
  258. +48 −7 python/{src/ecole/core → extension-helper/include/ecole/python}/auto-class.hpp
  259. +0 −81 python/setup.py.in
  260. +0 −12 python/src/ecole/__init__.py.in
  261. +0 −94 python/src/ecole/core/core.cpp
  262. +0 −40 python/src/ecole/core/dynamics.cpp
  263. +0 −68 python/src/ecole/core/scip.cpp
  264. +0 −16 python/src/ecole/version.py
  265. +0 −81 python/tests/_test_instance_old.py
  266. +0 −60 python/tests/test_random.py
  267. +100 −0 setup.py
319 changes: 0 additions & 319 deletions .circleci/config.yml

This file was deleted.

3 changes: 2 additions & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
@@ -10,7 +10,8 @@ Checks: >-
performance-*,
portability-*,
readability-*,
-readability-implicit-bool-conversion
-readability-implicit-bool-conversion,
-readability-convert-member-functions-to-static
WarningsAsErrors: '*'
HeaderFilterRegex: '.*'
AnalyzeTemporaryDtors: false
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
name: 🐛 Bug report
about: Create a report to help us improve
about: Create a report to help us improve Ecole
title: ''
labels: bug
labels: 'type/bug 🐛'
assignees: ''

---
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: 📖 Documentation
url: https://doc.ecole.ai/
about: Find common usage in the documentation.
- name: ❓ Github Discussions
url: https://github.com/ds4dm/ecole/discussions
about: Ask questions and share ideas.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/new_feature.md
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
name: 🚀 New feature
about: Suggest a change to improve Ecole user experience
title: ''
labels: enhancement
labels: 'type/enhancement 🚀'
assignees: ''

---
10 changes: 10 additions & 0 deletions .github/actions/push-to-repo/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
FROM alpine:3.10

LABEL version=v0.2

RUN apk add --no-cache openssh git rsync bash

COPY entrypoint.sh /entrypoint.sh

ENV SSH_AUTH_SOCK /tmp/ssh_agent.sock
ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
Loading