Skip to content

Welcome!

dmosopt aims to simplify distributed multi-objective surrogate-assisted optimization while staying out of your way.

Overview

At its core, dmosopt implements a unified, generic optimization API via the dmosopt.run(dopt_params=...) function. The dopt_params argument takes a dictionary that allows users to define arbitrary multi-objective optimization problems, including the objectives, sampling space, constraints and optimization strategies. At the most basic level, all dmosopt scripts will take the following form:

python
from dmosopt import dmosopt

dmosopt.run({
    "opt_id": "example_optimization",
    ...  #  configuation options
})
from dmosopt import dmosopt

dmosopt.run({
    "opt_id": "example_optimization",
    ...  #  configuation options
})

The opt_id serves a unique namespace for the resulting output file that captures the best solutions as well as various meta data about the optimization progress.

The output file format is HDF5, supporting high-performance, parallel data access.

dmosopt relies on MPI and more specifically distwq to support scaling and parallelization.

Where to go from here

Installation

To get started, run pip install dmosopt.

Learn more

Continue with the Guide

To dive into available configuration options and features.

Check out the examples

Explore examples that demonstrate dmosopt' optimization capabilities.

Consult the Reference

Describes available APIs in full detail.