Skip to main content

Biobjective Archive class with hypervolume indicator and uncrowded hypervolume improvement computation

Project description


The Python class moarchiving.BiobjectiveNondominatedSortedList implements a bi-objective non-dominated archive with list as parent class. It is heavily based on the bisect module. It provides easy and fast access to the overall hypervolume, the contributing hypervolume of each element, and to the uncrowded hypervolume improvement of any given point in objective space.


Either via

pip install git+

or simply via

pip install moarchiving

The single file (from the moarchiving/ folder) can also be directly used by itself when copied in the current folder or in a path visible to Python (e.g. a path contained in sys.path).


moarchiving uses the fractions.Fraction type to avoid rounding errors when computing hypervolume differences, but its usage can also easily switched off by assigning the respective class attribute. The Fraction type may become prohibitively computationally expensive with increasing precision.


  • 0.5.3 fixed assertion error when not using fractions.Fraction
  • 0.5.2 first published version


Project details

Download files

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

Files for moarchiving, version 0.5.3
Filename, size File type Python version Upload date Hashes
Filename, size moarchiving-0.5.3-py2.py3-none-any.whl (14.2 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size moarchiving-0.5.3.tar.gz (14.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page