Skip to main content

Pure python constraint satisfaction solver

Project description

Constraining Order
==================

Constraining Order is a pure python library for solving certain classes of
constraint satisfaction problems. In particular it contains an implementation
of IntervalSets to represent fairly general sets of real numbers.

Constraining Order is neither very powerful, nor very performant, and for
serious problems there are more powerful solutions available:

* `gecode <http://www.gecode.org>`_ (which looks amazing and superbly documented)
* `or-tools <https://code.google.com/p/or-tools/>`_
* `choco <http://www.choco-solver.org/>`_

The creation of Constraining Order was sparked by the realisation that several
of my projects require the solution of relatively simple constraint
satisfaction problems, while it was unacceptable to pull in a heavy dependency
for that.

The code is hosted on `GitHub <https://github.com>`_:

https://github.com/jreinhardt/constraining-order

Documentation is hosted on `readthedocs <https://readthedocs.org/>`_:

https://constraining-order.readthedocs.org/en/latest/

The API of Constraining Order is slightly inspired by gecode (as I had looked
at its documentation before writing it) and the nomenclature I use roughly
follows

Tsang, E. Foundations of Constraint Satisfaction Academic Press, 1996

which I used to read up a bit on the topic.

The name `constraining order` is a pun on restraining order, as it was not yet
taken for a software project and even makes a bit of sense as long as you don't
think about it.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

constrainingorder-0.1.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

constrainingorder-0.1-py2.py3-none-any.whl (16.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file constrainingorder-0.1.tar.gz.

File metadata

File hashes

Hashes for constrainingorder-0.1.tar.gz
Algorithm Hash digest
SHA256 82fcb3148ce3b3ca60faf353d25f07be96ddb8253519b6c8520bef686f9ebbd5
MD5 a333c592d43208ddafa16142a28a1c4b
BLAKE2b-256 e3c676a60b91f34e5ac0a6550066c4105b7b245d8e43ba01917b88644c508681

See more details on using hashes here.

File details

Details for the file constrainingorder-0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for constrainingorder-0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d6924206a6031a46f3bff69cd4f8752b5b6213ec1a36b457d89736c47188ea75
MD5 661626adfd29d50c2ddc41504af9f4e7
BLAKE2b-256 33d3f594cd51972dd1300e7a6eafe9823ad8200d10675d4c7a765978f49c1016

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page