  NOMAD is software for optimizing blackbox problems. In continuous development
since 2001, it constantly evolved with the integration of new algorithmic
features published in scientific publications. These features are motivated by
real applications encountered by industrial partners. The latest major release
of NOMAD, version 3, dates from 2008. Minor releases are produced as new
features are incorporated. The present work describes NOMAD 4, a complete
redesign of the previous version, with a new architecture providing more
flexible code, added functionalities and reusable code. We introduce
algorithmic components, which are building blocks for more complex algorithms,
and can initiate other components, launch nested algorithms, or perform
specialized tasks. They facilitate the implementation of new ideas, including
the MegaSearchPoll component, warm and hot restarts, and a revised version of
the PSD-MADS algorithm. Another main improvement of NOMAD 4 is the usage of
parallelism, to simultaneously compute multiple blackbox evaluations, and to
maximize usage of available cores. Running different algorithms, tuning their
parameters, and comparing their performance for optimization is simpler than
before, while overall optimization performance is maintained between versions 3
and 4. NOMAD is freely available at www.gerad.ca/nomad and the whole project is
visible at github.com/bbopt/nomad.
