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:
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
To dive into available configuration options and features.
Explore examples that demonstrate dmosopt' optimization capabilities.
Describes available APIs in full detail.