Skip to content

campa-consortium/gest-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

186 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This repository is an effort to standardize the interface of the generators in optimization libraries such as:

The objective of this effort is for these different libraries to be able to use each other's generators with little effort.

Examples:

Using libEnsemble generators in Optimas: APOSMM NLopt - IBCDFO

Using Xopt generators in Optimas: Multiple Examples

Using Xopt generators in libEnsemble: ExpectedImprovement - (with Xopt-style sim)

Using Optimas generators in libEnsemble: Multi-Fidelity Ax Generator

Using libEnsemble generators in Xopt: APOSMM Generator

Definitions

  • Generator:

    A generator is an object that recommends points to be evaluated in an optimization. It can also receive data (evaluations from past or ongoing optimization), which helps it make more informed recommendations.

    Note: The generator does not orchestrate the overall optimization (e.g. dispatch evaluations, etc.). As such, it is distinct from libEnsemble's gen_f function, and is not itself "workflow" software.

  • Variables, Objectives, Constraints (VOCS):

    A VOCS is an object that specifies the names and types of components of the optimization problem that will be used by the generator. Each generator will validate that it can handle the specified set of variables, objectives, constraints, etc.

Documentation

For complete API documentation, examples, and detailed specifications, see the official documentation:

https://generator-standard.readthedocs.io

Installation

The Python abstract classes that define the standard can be installed with:

pip install gest-api

About

Standardization for generators used in optimas, Xopt, libEnsemble...

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages