Skip to main content

Operations Research Framework for building metaheuristic algorithms.

Project description

OR-Testbed

OR-testbed is a framework designed to solve combinatorial optimization problems through the use and modeling of metaheuristics. Since metaheuristics are based on certain basic assumptions, they can be adapted for a multitude of different problems.

The contribution of OR-Testbed is to provide the implementation of the basic structure of metaheuristics. In this way, the problems to be solved (and therefore the related structures needed) only need to be modeled once. Then, once each of the functions and parameters of the metaheuristics to be used have been adapted, the problem can be solved with all of them from a centralized point.

In summary, the objective of the framework is to implement the most relevant metaheuristics in the state of the art, as well as the techniques commonly used in literature to improve them. This lets developers and researchers to have a centralized repository of implemented metaheuristics, techniques and potential execution service for all of their problems.

At this moment, the list of implemented metaheuristics is:

  • GRASP
  • Simulated Annealing
  • Tabu Search

To see the development plans at a glance, all relevant information can be found in the roadmap.

Installing

Since OR-Testbed is coded in pure Python no requirements are needed, just execute:

pip install or-testbed

Examples and usage

There is no oneliner example, but there is a tutorial in the docs section. Also, check the available examples where some problems and algorithms are implemented and the usual workflow is showed.

Contributing

All contributions will be greatly appreciated. The main alternatives are to report or correct bugs, suggest changes or functionalities, open issues and, of course, implement new metaheuristics.

Testing

Run the unit test collection with:

pytest

Building docs

First, build the docs using Sphinx:

cd docs
make html

Then open build/html/index.html in your browser to view the docs.

Read more about Sphinx.

Other resources

Since using OR-Testbed requires both coding and optimization related knowledge, this section will be more focused on the latter:

Project details


Download files

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

Source Distribution

or-testbed-1.0.2.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

or_testbed-1.0.2-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file or-testbed-1.0.2.tar.gz.

File metadata

  • Download URL: or-testbed-1.0.2.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.8

File hashes

Hashes for or-testbed-1.0.2.tar.gz
Algorithm Hash digest
SHA256 04f2b123c4a7e7841ee58c3f045e225f606f1c87edce2d9b41e09c770f0b0a8b
MD5 03c4b9c4ce9d4e564e544ec77bf7f986
BLAKE2b-256 a8331e826c97f640ebcf8f482c748ee3b814fe86f2baa7a393b3b3a7796c2253

See more details on using hashes here.

File details

Details for the file or_testbed-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: or_testbed-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 19.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.8

File hashes

Hashes for or_testbed-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6179d40ad6cea1b21cf149174d289d0ec655413bbe3903e96d1753389f054e11
MD5 8f536ebdfa8c00b47763a3395dc90c49
BLAKE2b-256 24e84d1ba164324a951db3f377398d4a5bc8205eb0343a1f85fa8c903ed2124f

See more details on using hashes here.

Supported by

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