[gecode-users] [ANN] gecode/python v0.22
Denys Duchier
denys.duchier at univ-orleans.fr
Sat Oct 22 16:03:58 CEST 2011
I am pleased to announce release 0.22 of gecode-python, the simplified
gecode bindings for python. This release brings a number of goodies!
WHAT'S NEW:
- support for "restart" search engine:
s.search(restart=True)
- support for search options:
s.search(threads=N1, c_d=N2, a_d=N3)
- support for keeping only some of the variables:
s.keep(V)
if some variables are thus marked as "kept", then only these variables
will be explicitly copied during search. This could bring substantial
benefits in memory usage. Of course, in a solution, you can then only
look at variables that have been "kept". If no variable is marked as
"kept", then they are all kept. Thus marking variables as "kept" is
purely an optimization.
- support for Gist:
s.gist(onclick=None, threads=None, c_d=None, a_d=None)
if your installation of Gecode has Gist support, then this will invoke it.
onclick is an inspector or an iterable of inspectors. An inspector is
a callable, or a class whose instances are callables, that has/have been
specially annoted by a decorator:
@inspector("My Inspector 1")
def show1(s2):
print s2.values([X1,X2])
Note that s2 is not necessarily a solution! You may also define a
textinspector to show textual output in a graphical window:
@textinspector("My Inspector 2")
def show2(s2):
return "X1=%s X2=%s" % s2.values([X1,X2])
A textinspector must return a string.
INSTALL:
- from pypi using easy_install (provided by setuptools):
sudo -E easy_install gecode-python
or easy_install gecode-python --prefix ~
if you are upgrading a previous install:
sudo -E easy_install -U gecode-python
or easy_install -U gecode-python --prefix ~
- from pypi using the tarball:
tar zxf gecode-python-0.17.tar.gz
cd gecode-python-0.17
sudo -E python setup.py install
or python setup.py install --prefix ~
- using the launchpad branch:
bzr branch lp:gecode-python
cd gecode-python
sudo -E python setup.py install
or python setup.py install --prefix ~
if you are installing using "--prefix ~" I recommend that:
1. you create directory ~/.local if it does not already exist
2. you create a symbolic link:
~/.local/lib -> ~/lib
or ~/.local/lib64 -> ~/lib64
depending on whether you have a ~/lib or a ~/lib64 directory in your
home after install.
this will allow python to find your locally installed packages without
requiring you to fiddle with environment variable PYTHONPATH.
Cheers,
--Denys
More information about the users
mailing list