Skip to main content

No project description provided

Project description

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()

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

eddysearch-0.3.0.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

eddysearch-0.3.0-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file eddysearch-0.3.0.tar.gz.

File metadata

  • Download URL: eddysearch-0.3.0.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for eddysearch-0.3.0.tar.gz
Algorithm Hash digest
SHA256 3a4cf0e481c63e2bad6cc5181c2d6edca17f91f6867884903dd09a7f05d7bd83
MD5 4000274af0b77ca76ae10a3eb1d2ac67
BLAKE2b-256 88cda06883654079a6452692f0f2f825fe4d98c6b6e9f3c0539d34e070a0e808

See more details on using hashes here.

File details

Details for the file eddysearch-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: eddysearch-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for eddysearch-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a9ff8d910b25f1ac88696af8ac68d8cf1085b0c17fdb29f27c971708432ab6f
MD5 9beeb3711387d9f5d5b57993cb8f185e
BLAKE2b-256 6f618440da0747c84ee843b253f0da964ad28cd14d0187d8bd372c9c146e9219

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