Skip to main content

EddySearch Maintenance Python 3.6 Python 3.7 Python 3.6 Tests

Eddy is a collection of artificial function landscapes and search strategies to find their extrema points. Most artificial landscapes are in euclidean space and can simply be seen as a landscape of hills and valleys and the goal is to find the lowest or highest point within a given evaluation budget. This gives the possibility to compare optimization methods -- or often also known as search strategies -- in artificial settings: either for the curious mind, for pedagogical purpose or for fair experimental comparison. You can simply extend it with your own search strategy and see how well it works in these landscapes (objective functions).

Jump to ..

Installation

  • Install from PyPi via poetry: poetry install eddysearch
  • Install with pip: pip install eddysearch
  • Install latest development version: poetry add git+https://github.com/innvariant/eddysearch.git#master

Intro

To make visualizations (e.g. 3D Plots or Manim-Videos) easy, objectives define much more information than just the pure function definition. For example, they contain information about suggested visualization boundaries or their analytical or empirical known extrema. Search strategies on the other hand provide capabilities to track their search path through space. So it is easy to follow their search principles. The main intent is to provide insights into the differences of various search strategies and how they behave in different artifcial landscapes.

Random Search over Himmelblau objective CMA-ES Search over Himmelblau objective Adam Gradient Descent over Himmelblau objective Random Search over Rastrigin objective

Artificial Landscapes

.. also called test functions for optimization on Wikipedia.

Himmelblau Function

Also see Wikipedia: Himmelblau's function.

$f(x,y) = (x^2+y-11(x+ y^2-7)^2)$

from eddysearch.objective import HimmelblauObjective

obj = HimmelblauObjective()

RastriginObjective

from eddysearch.objective import RastriginObjective

obj = RastriginObjective()

RosenbrockObjective

from eddysearch.objective import RosenbrockObjective

obj = RosenbrockObjective()

LeviN13Objective

from eddysearch.objective import LeviN13Objective

obj = LeviN13Objective()

CrossInTrayObjective

from eddysearch.objective import CrossInTrayObjective

obj = CrossInTrayObjective()

EggholderObjective

from eddysearch.objective import EggholderObjective

obj = EggholderObjective()

Under Development

  • Stier2020A1Objective
from eddysearch.objective import Stier2020A1Objective

obj = Stier2020A1Objective()
  • Stier2020A2Objective
from eddysearch.objective import Stier2020A2Objective

obj = Stier2020A2Objective()
  • Stier2020BObjective
from eddysearch.objective import Stier2020BObjective

obj = Stier2020BObjective()

Metadata

Release files for eddysearch 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eddysearch 0.3.0
File Size Uploaded Provenance Actions
eddysearch-0.3.0.tar.gz 19.3 kB Without provenance Details for eddysearch-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for eddysearch 0.3.0
File Interpreter ABI Platform Actions
eddysearch-0.3.0-py3-none-any.whl Python 3 none any Details for eddysearch-0.3.0-py3-none-any.whl

Total release size: 39.6 kB

Release files / eddysearch-0.3.0.tar.gz

Download URL eddysearch-0.3.0.tar.gz
Size 19.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3a4cf0e481c63e2bad6cc5181c2d6edca17f91f6867884903dd09a7f05d7bd83
BLAKE2b-256 checksum
How to use checksums
88cda06883654079a6452692f0f2f825fe4d98c6b6e9f3c0539d34e070a0e808
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.7.1 requests/2.24.0 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.3

Release files / eddysearch-0.3.0-py3-none-any.whl

Download URL eddysearch-0.3.0-py3-none-any.whl
Size 20.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3a9ff8d910b25f1ac88696af8ac68d8cf1085b0c17fdb29f27c971708432ab6f
BLAKE2b-256 checksum
How to use checksums
6f618440da0747c84ee843b253f0da964ad28cd14d0187d8bd372c9c146e9219
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.7.1 requests/2.24.0 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.7.3

Security for eddysearch 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page