Closed mkoeppe closed 1 year ago
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
07a8254 | almost all doctests working, some pyscipopt patches |
9206579 | getParam and setParam working |
60b470f | all methods implemented in backend; all doctests working |
ccaae73 | one more patch |
c0bc9d2 | pyscipopt: update to v1.4.3 |
04f33d1 | pyscipopt: update to v1.4.4 |
3816595 | scip-backend: added '# optional - pyscipopt' |
563e0aa | quicksum and modify doctests |
59d8529 | remove all patches |
8af6e7f | change 4 back to 9 |
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
670146b | almost all doctests working, some pyscipopt patches |
cfbbdb1 | getParam and setParam working |
9d66f70 | all methods implemented in backend; all doctests working |
2b6efc9 | one more patch |
d246de5 | pyscipopt: update to v1.4.3 |
b431129 | pyscipopt: update to v1.4.4 |
1f9050d | scip-backend: added '# optional - pyscipopt' |
95890af | quicksum and modify doctests |
6c7d9c9 | remove all patches |
c82646a | change 4 back to 9 |
now everything seems to work! I reviewed the stubs and everything written by Matthias on this ticket.
Reviewer: Moritz Firsching
In the spkg-install
script you should not be using the make
command but rather sdh_make
from the "Sage-distribution helper" tools (see src/bin/sage-dist-helpers
).
Also avoid $MAKE test | tee testsuite.log
(in spkg-check
). It is not the role of the script to perform redirections.
Thanks for the comments, Vincent! I assume, they are meant for the scipoptsuite package, not the pyscipopt one, I will change that on #24662..
Please use multiple lines for
cmake .. -DCMAKE_INSTALL_PREFIX="${SAGE_LOCAL}"/ -DCMAKE_VERBOSE_MAKEFILE=ON -DGMP_DIR="${SAGE_LOCAL}" -DZLIB_ROOT="${SAGE_LOCAL}" -DReadline_ROOT_DIR="${SAGE_LOCAL}" -DBLISS_DIR="${SAGE_LOCAL}" -DIPOPT=FALSE
Replying to @mo271:
Thanks for the comments, Vincent! I assume, they are meant for the scipoptsuite package, not the pyscipopt one, I will change that on #24662..
You should not, this ticket is in positive review!
Why this change in numerical/mip.pyx
- self._p._backend.set_variable_type(j, self._vtype)
+ #self._p._backend.set_variable_type(j, self._vtype)
If this line is not needed anymore just remove it.
You could also simplify the SPKG.txt
file:
SPKG Maintainers
of SPKG.txt is not needed anymore (the information is likely to be not up to date in few time)Special Update/Build Instructions
is empty, just avoid it.Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
c3bc320 | getParam and setParam working |
c4c3680 | all methods implemented in backend; all doctests working |
d3aa9d0 | one more patch |
e9f531e | pyscipopt: update to v1.4.3 |
0a07d61 | pyscipopt: update to v1.4.4 |
de6b1bf | scip-backend: added '# optional - pyscipopt' |
fba294a | quicksum and modify doctests |
4aadef8 | remove all patches |
94fac2d | change 4 back to 9 |
31e0d1f | rebased and Vincent's suggestions |
Branch pushed to git repo; I updated commit sha1. New commits:
c0b432c | correct linebreaks |
I addressed all suggestions by Vincent and tested the install of scipoptsuite as well as pyscipopt.
merge conflicts
Changed reviewer from Moritz Firsching to Moritz Firsching, Vincent Delecroix
And this will not work
cmake .. -DCMAKE_INSTALL_PREFIX="${SAGE_LOCAL}"/
-DCMAKE_VERBOSE_MAKEFILE=ON
-DGMP_DIR="${SAGE_LOCAL}"
-DZLIB_ROOT="${SAGE_LOCAL}"
-DReadline_ROOT_DIR="${SAGE_LOCAL}"
-DBLISS_DIR="${SAGE_LOCAL}"
-DIPOPT=FALSE
You need to add backslashes for line continuation
cmake .. -DCMAKE_INSTALL_PREFIX="${SAGE_LOCAL}" \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DGMP_DIR="${SAGE_LOCAL}" \
-DZLIB_ROOT="${SAGE_LOCAL}" \
-DReadline_ROOT_DIR="${SAGE_LOCAL}" \
-DBLISS_DIR="${SAGE_LOCAL}" \
-DIPOPT=FALSE
I will get to work. I think the line break issue was fixed here: https://github.com/sagemath/sagetrac-mirror/commit/c0b432c427236c07f76f930a156a15d3f33eb1f1
But I can make the slashes align, of course.
Alignment does not matter. But there should be backslashes.
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
3c7d354 | all methods implemented in backend; all doctests working |
e9095b7 | one more patch |
f33a55e | pyscipopt: update to v1.4.3 |
99c5010 | pyscipopt: update to v1.4.4 |
78ef11d | scip-backend: added '# optional - pyscipopt' |
e59e041 | quicksum and modify doctests |
24ca41d | remove all patches |
d627bcd | change 4 back to 9 |
10913f8 | rebased and Vincent's suggestions |
c07eb7e | correct linebreaks |
Replying to @videlec:
merge conflicts
I did a rebase, and it was done automatically. I ran all the tests, and (at least on my machine) everything works..
I am a bit confused, because I expected to see merge conflicts..
What is the point of using Cython here? Because you use pyscipopt
everywhere there is no C at all in the file scip_backend.pyx
. I would keep it simple and use pure python here.
Replying to @videlec:
What is the point of using Cython here? Because you use
pyscipopt
everywhere there is no C at all in the filescip_backend.pyx
. I would keep it simple and use pure python here.
I think Matthias made the backend Cython, because the generic_backend.pyx
is also written this way and all the other files are written in this way. However other backends might actually need this.
I agree that there we don't really need Cython for the pyscipopt backend. But it doesn't do any harm, does it? I am indifferent; we can change it or leave it, both is fine with me.
Replying to @mo271:
Replying to @videlec:
What is the point of using Cython here? Because you use
pyscipopt
everywhere there is no C at all in the filescip_backend.pyx
. I would keep it simple and use pure python here.I think Matthias made the backend Cython, because the
generic_backend.pyx
is also written this way and all the other files are written in this way. However other backends might actually need this.I agree that there we don't really need Cython for the pyscipopt backend. But it doesn't do any harm, does it? I am indifferent; we can change it or leave it, both is fine with me.
On the plus side
On the minus side
The reason why all other backends are written in Cython is because they do call C functions.
Replying to @mo271:
I think Matthias made the backend Cython, because the
generic_backend.pyx
is also written this way and all the other files are written in this way.
That's correct, I did this just for copypastability and no technical reason otherwise.
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
0e30cca | pyscipopt: update to v1.4.3 |
7e112c8 | pyscipopt: update to v1.4.4 |
d1519b9 | scip-backend: added '# optional - pyscipopt' |
901f8cf | quicksum and modify doctests |
8fc35cf | remove all patches |
32884a0 | change 4 back to 9 |
0ef22c6 | rebased and Vincent's suggestions |
d23ed3e | correct linebreaks |
1cefe04 | towards uncythening the scip backend |
ae0bab0 | decythonizing finished |
Another update to SCIPoptsuite 6.0 is due
milestone update 8.3 -> 8.4
Changed branch from u/moritz/pyscipopt to u/mkoeppe/pyscipopt
Changed dependencies from #22557, #24662 to #31329
Changed branch from u/mkoeppe/pyscipopt to u/moritz/pyscipopt
Squashed/rebased onto #31329 (Update scipoptsuite to 7.0.2)
Changed branch from u/moritz/pyscipopt to u/mkoeppe/pyscipopt
Branch pushed to git repo; I updated commit sha1. New commits:
cd0b761 | build/pkgs/pyscipopt: Update to 3.1.0, update metadata format |
sage: from pyscipopt import Model
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-fcc6f2f967b1> in <module>
----> 1 from pyscipopt import Model
~/s/sage/sage-rebasing/worktree-algebraic-2018-spring/local/lib/python3.9/site-packages/pyscipopt/__init__.py in <module>
9 # export user-relevant objects:
10 from pyscipopt.Multidict import multidict
---> 11 from pyscipopt.scip import Model
12 from pyscipopt.scip import Benders
13 from pyscipopt.scip import Benderscut
ImportError: dlopen(/Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/local/lib/python3.9/site-packages/pyscipopt/scip.cpython-39-darwin.so, 2): Library not loaded: libscip.7.0.dylib
Referenced from: /Users/mkoeppe/s/sage/sage-rebasing/worktree-algebraic-2018-spring/local/lib/python3.9/site-packages/pyscipopt/scip.cpython-39-darwin.so
Reason: image not found
Description changed:
---
+++
@@ -2,11 +2,11 @@
https://github.com/SCIP-Interfaces/PySCIPOpt
-Branch is on top of #24662.
+Branch is on top of #31329.
Steps to get it to work:
- pull from this branch
-- put http://scip.zib.de/download.php?fname=scipoptsuite-5.0.1.tgz in `./upstream` (see #24662)
-- put [PySCIPOpt-1.4.4.tar.gz](https://files.pythonhosted.org/packages/50/2e/392ae55d3c13ef7d91eee69c764d6362e1e27f7ecceee00572f60637522c/PySCIPOpt-1.4.4.tar.gz) in `./upstream`
+- put http://scip.zib.de/download.php?fname=scipoptsuite-7.0.2.tgz in `./upstream`
+- put PySCIPOpt-3.1.0.tar.gz in `./upstream`
- `sage -f pyscipopt`
Setting new milestone based on a cursory review of ticket status, priority, and last modification date.
Setting a new milestone for this ticket based on a cursory review.
yes, I came here to note the license change too :-)
Description changed:
---
+++
@@ -1,12 +1,10 @@
-This ticket adds a package pyscipopt and adds a new MIP backend based on it.
+This ticket adds a package `pyscipopt` and adds a new MIP backend based on it.
-https://github.com/SCIP-Interfaces/PySCIPOpt
+https://github.com/scipopt/PySCIPOpt
Branch is on top of #31329.
Steps to get it to work:
- pull from this branch
-- put http://scip.zib.de/download.php?fname=scipoptsuite-7.0.2.tgz in `./upstream`
-- put PySCIPOpt-3.1.0.tar.gz in `./upstream`
- `sage -f pyscipopt`
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
3680001 | build/pkgs/scipoptsuite/SPKG.rst: Update |
dadd03d | build/pkgs/scipoptsuite: Update to 8.0.2, remove patches for now |
19614bc | build/pkgs/soplex: New |
9eaece2 | Merge #34742 |
cbc591a | build/pkgs/scipoptsuite: Change to optional |
0e1057d | build/pkgs/scipoptsuite: Update dependencies, cmake options |
148dac6 | Merge #31329 |
0c390fe | Add SCIP backend, New pip package pyscipopt |
f127fc6 | build/pkgs/pyscipopt: Update to 3.1.0, update metadata format |
ebf2237 | build/pkgs/pyscipopt: Update to 4.2.0 |
This ticket adds a package
pyscipopt
and adds a new MIP backend based on it.https://github.com/scipopt/PySCIPOpt
Branch is on top of #31329.
Steps to get it to work:
sage -f pyscipopt
Depends on #31329
CC: @mo271 @yuan-zhou @malb @dcoudert @dimpase
Component: linear programming
Keywords: days84, IMA-PolyGeom
Author: Matthias Koeppe, Moritz Firsching, Martin Rubey
Branch/Commit:
099c15b
Reviewer: Moritz Firsching, Vincent Delecroix, David Coudert, Matthias Koeppe
Issue created by migration from https://trac.sagemath.org/ticket/21003