NOMAD - A blackbox optimization software

Overview
###################################################################################
#                                                                                 #
#                                    README                                       #
#                                                                                 #
#---------------------------------------------------------------------------------#
#  NOMAD - Nonlinear Optimization by Mesh Adaptive Direct Search -                #
#                                                                                 #
#  NOMAD - Version 4 has been created by                                          #
#                 Viviane Rochon Montplaisir  - Polytechnique Montreal            #
#                 Christophe Tribes           - Polytechnique Montreal            #
#                                                                                 #
#  The copyright of NOMAD - version 4 is owned by                                 #
#                 Charles Audet               - Polytechnique Montreal            #
#                 Sebastien Le Digabel        - Polytechnique Montreal            #
#                 Viviane Rochon Montplaisir  - Polytechnique Montreal            #
#                 Christophe Tribes           - Polytechnique Montreal            #
#                                                                                 #
#  NOMAD 4 has been funded by Rio Tinto, Hydro-Québec, Huawei-Canada,             #
#  NSERC (Natural Sciences and Engineering Research Council of Canada),           #
#  InnovÉÉ (Innovation en Énergie Électrique) and IVADO (The Institute            #
#  for Data Valorization)                                                         #
#                                                                                 #
#  NOMAD v3 was created and developed by Charles Audet, Sebastien Le Digabel,     #
#  Christophe Tribes and Viviane Rochon Montplaisir and was funded by AFOSR       #
#  and Exxon Mobil.                                                               #
#                                                                                 #
#  NOMAD v1 and v2 were created and developed by Mark Abramson, Charles Audet,    #
#  Gilles Couture, and John E. Dennis Jr., and were funded by AFOSR and           #
#  Exxon Mobil.                                                                   #
#                                                                                 #
#  Contact information:                                                           #
#    Polytechnique Montreal - GERAD                                               #
#    C.P. 6079, Succ. Centre-ville, Montreal (Quebec) H3C 3A7 Canada              #
#    e-mail: [email protected]                                                       #
#                                                                                 #
#  This program is free software: you can redistribute it and/or modify it        #
#  under the terms of the GNU Lesser General Public License as published by       #
#  the Free Software Foundation, either version 3 of the License, or (at your     #
#  option) any later version.                                                     #
#                                                                                 #
#  This program is distributed in the hope that it will be useful, but WITHOUT    #
#  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or          #
#  FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License    #
#  for more details.                                                              #
#                                                                                 #
#  You should have received a copy of the GNU Lesser General Public License       #
#  along with this program. If not, see <http://www.gnu.org/licenses/>.           #
#                                                                                 #
#  You can find information on the NOMAD software at www.gerad.ca/nomad           #
#---------------------------------------------------------------------------------#

DESCRIPTION:

NOMAD is a C++ implementation of the Mesh Adaptive Direct Search (MADS)
algorithm, designed for constrained optimization of black-box functions.

The algorithms implemented are based on the book
"Derivative-Free and Blackbox Optimization", by Charles Audet and Warren Hare,
Springer 2017.


WEB PAGE:

https://www.gerad.ca/nomad/


CONTACT:

[email protected]


VERSION WARNING:

This repository is for NOMAD 4. NOMAD 3 is not on GitHub.
NOMAD 4 is similar in usage to NOMAD 3. It does not have all
functionalities from NOMAD 3 yet. NOMAD 4 has a new software
architecture, uses OpenMP to run evaluations in parallel,
and also has some new functionalities.


COMPILATION (Release):

On Linux, Unix, Windows and Mac OS X, NOMAD can be compiled using CMake.
The minimum version of CMake is 3.14. Older versions will trigger
an error. A recent C++ compiler is also required.

The procedure is the following. On the command line in the
 $NOMAD_HOME directory:

cmake -S . -B build/release     ---> Create the CMake files and directories for
                                     building (-B) in build/release.
                                     The source (-S) CMakeLists.txt file is in
                                       the $NOMAD_HOME directory.
                                     To enable time stats build:
                                       cmake -DTIME_STATS=ON -S . -B build/release
                                     To enable interfaces (C and Python) building:
                                       cmake -DBUILD_INTERFACES=ON -S . -B build/release
                                       Python and Cython need to be available;
                                       using Anaconda is recommended.
                                     To deactivate compilation with OpenMP:
                                       cmake -DTEST_OPENMP=OFF -S . -B build/release


cmake --build build/release     ---> Build all the libraries and applications
                                     Option --parallel xx can be added for faster
                                       build.
                                     Option --config Release should be used on
                                       *Windows* to compile Release configuration.
                                     The default configuration is Debug.

cmake --install build/release   ---> Copy binaries and headers in
                                       build/release/[bin, include, lib]
                                       and in the examples/tests directories.
                                     Option --config Release should be used on
                                       Windows to install Release configuration.
                                     The default configuration is Debug.

The executable "nomad" will installed into the directory:
build/release/bin/  (build/debug/bin/ when in debug mode).

It is possible to build only a single application in its working directory:
(with NOMAD_HOME environment variable properly set)

cd $NOMAD_HOME/examples/basic/library/example1
cmake --build $NOMAD_HOME/build/release --target example1_lib.exe
cmake --install $NOMAD_HOME/build/release


COMPILATION (Debug):

The procedure to build the debug version is the following.
On the command line in the $NOMAD_HOME directory:

cmake -S . -B build/debug -D CMAKE_BUILD_TYPE=Debug
                              ---> On Windows, all 4 configurations are always build
                                   Debug, RelWithDebugInfo, MinSizeRel, Release);
                                   flag CMAKE_BUILD_TYPE is ignored.

cmake --build build/debug     ---> Build the libraries and applications
                                     Option --parallel xx can be added for faster
                                     build.
                                   On Windows, the default configuration is Debug.

cmake --install build/debug   ---> Copy binaries and headers in
                                     build/debug/[bin, include, lib]
                                     and in the examples/tests directories


EXAMPLES OF OPTIMIZATION:

Batch Mode:
There are examples in batch mode in examples/basic/batch/.
In each directory, the blackbox functions (usually named bb) are compiled by default.
The problem may be resolved using NOMAD and the parameter file:
nomad param.txt

Library Mode:
There are examples in library mode in examples/basic/library/.
In each directory, the executable may be compiled when building
Nomad application. The problems may be resolved by execution,
for instance:
example_lib.exe
Comments
  • Installation error in Windows

    Installation error in Windows

    The command cmake --install build/release in Windows powershell

    Returns

    CMake Error at build/release/ext/sgtelib/cmake_install.cmake:39 (file):
      file INSTALL cannot find
      "C:/......../nomad-v.4.2.0/build/release/ext/sgtelib/Release/sgtelib_main.exe":
    

    A temporary fix consists of replacing the file CMakeLists.txt in C:/..../nomad-v.4.2.0/ext/sgtelib by the one in attachment. I just commented "sgtelib_main.exe" which is not necessary for Nomad optimization. CMakeLists.txt

    opened by ctribes 17
  • cmake error during Configuration step

    cmake error during Configuration step

    I am on windows server 2019. The command cmake -S . -B build/release returns an error.

    CMake Error at CMakeLists.txt:9 (project):
      Running
        'nmake' '-?'
      failed with:
         The system cannot find the file specified
    
    CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
    CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
    -- Configuring incomplete, errors occurred!
    See also "C:/Nomad/nomad-4.1.0/build/release/CMakeFiles/CmakeOutput.log".
    

    Any ideas?

    opened by p-staub 11
  • fix mingw compat

    fix mingw compat

    see https://dev.azure.com/JuliaPackaging/Yggdrasil/_build/results?buildId=20791&view=logs&jobId=eb643228-59a0-57e5-a6a5-6cb55400d5ea&j=26a97fd6-2070-5ccc-98fe-466416439df2&t=abe13601-88ab-5e8d-6817-533311385b0c

    opened by SobhanMP 5
  • Java wrapper build error

    Java wrapper build error

    OS: Debian "bullseye" Nomad version: 4.2

    When building the Java wrapper, following the instructions in interfaces/jNomad/Readme, I get the following error:

    [ 93%] Built target jNomad
    [ 93%] Linking CXX executable NMOpt.exe
    Scanning dependencies of target jNomad_jar
    gmake[2]: *** No rule to make target 'interfaces/jNomad/SWIGTYPE_p_NOMAD_4_1__EvalParameters.java', needed by 'interfaces/jNomad/CMakeFiles/jNomad_jar.dir/java_compiled_jNomad_jar'.  Stop.
    gmake[1]: *** [CMakeFiles/Makefile2:1366: interfaces/jNomad/CMakeFiles/jNomad_jar.dir/all] Error 2
    gmake[1]: *** Waiting for unfinished jobs....
    

    and cmake exits with error code 2.

    Here is the complete Dockerfile I'm using:

    FROM openjdk:8u332-bullseye
    
    ENV DEBIAN_FRONTEND=noninteractive
    
    # Install dependencies
    RUN apt-get update && apt-get install -y --no-install-recommends \
    	build-essential	\
    	m4 \
        cmake \
        nano \
        curl
    
    WORKDIR /
    
    # First install SWIG
    # Install dependencies
    RUN apt-get update && apt-get install -y --no-install-recommends \
    	git \
    	autotools-dev \
    	automake \
    	byacc \
    	libpcre2-dev
    
    RUN git clone https://github.com/swig/swig.git
    
    WORKDIR swig
    RUN ./autogen.sh
    RUN ./configure --prefix=/swig
    RUN make
    RUN make install
    
    RUN ln -s /swig/bin/swig /usr/local/bin/swig
    
    # Compile and install NOMAD
    WORKDIR /
    
    RUN curl https://codeload.github.com/bbopt/nomad/tar.gz/refs/tags/v.4.2.0 --output NOMAD42.tar.gz
    RUN tar -xf NOMAD42.tar.gz && mv nomad-v.4.2.0 NOMAD42 && rm -r NOMAD42.tar.gz
    
    ENV NOMAD_HOME="/NOMAD42"
    WORKDIR /NOMAD42
    
    RUN cmake -DTEST_OPENMP=OFF -DBUILD_INTERFACE_C=ON -DBUILD_INTERFACE_JAVA=ON  -S . -B build/release && \
        cmake --build build/release --parallel 16 && \
        cmake --install build/release
    
    ENV LD_LIBRARY_PATH="/NOMAD42/build/release/lib"
    
    WORKDIR /
    CMD /bin/bash
    

    I was able to build the C and Python interfaces without a problem.

    Any help would be greatly appreciated!

    opened by espositomarco 5
  • Failure in solving recurrent problems using PyNOMAD

    Failure in solving recurrent problems using PyNOMAD

    Hi, I'm devising an application for which I'm using Nomad in python as an MIP solver. I want to use PyNomad recurrently to solve several subproblems but I get the following message from the second execution of Nomad (it works well in the first one) : image

    How can I avoid such problem?

    Best regards, Juan José

    opened by juantorres91 5
  • Some examples run unsucessfully in NOMAD4, but successuly in NOMAD3.9.1

    Some examples run unsucessfully in NOMAD4, but successuly in NOMAD3.9.1

    Hi, I am new using the NOMAD to do a evaluation of a problem. When I download the NOMAD 4 and modify the single_obj file to a simple objective function like y=sin(x) * x *x, every parameter seems set good. NOMAD4 will run into a dead loop while NOMAD3.9.1 will run with best feasible solution immediately. They are the same project in different libraries. 3 4 I am not sure this is normal for using NOMAD. Thank you

    opened by windless1015 4
  • Repository size

    Repository size

    The size of this repository is over 300 Mb, mostly because of the compiled docs. I'm wondering if you could shrink it, by making the compiled docs available by other means. This might benefit users with poor connection, by reducing network traffic and storage.

    Thanks for making this great tool available here!

    opened by andrescodas 4
  • Inconsistency in AllParameters::readParamLine

    Inconsistency in AllParameters::readParamLine

    opened by jan-provaznik 3
  • Make Nomad 4 installer for end users

    Make Nomad 4 installer for end users

    Hello Nomad team,

    for Nomad 3.9.1, there is an installer for end user so the user can install with a simple click of the installer file.

    Could we also have an installer for Nomad 4 for end user? Typically I am asking for Windows OS.

    Thank you, Jenny

    opened by jennywang123 3
  • Add Julia interface in doc

    Add Julia interface in doc

    Would it be pertinent to have a section about the Julia interface Nomad.jl in this section https://nomad-4-user-guide.readthedocs.io/en/latest/LibraryMode.html ?

    documentation 
    opened by tmigot 2
  • Is there a way to terminate the costly blackbox evaluation in advance?

    Is there a way to terminate the costly blackbox evaluation in advance?

    Hi, I am using the NOMAD3.9.1 to evaluate a blackbox task. It will drop to obvious local optimum somethings. I notice that the outputs are nearly same or even get very small differences at the end of the evaluation. In some conditions, it will last for hundres of iterations. More compuating resources and time have been put into the final result, but the result has satisfied the requirements. So, my question is how can I alter some arguments or is there a mechanism to terminate the evaluaion in NOMAD to solve this problem? I know user can use CTRL-C to terminate the algorithm mamually. Thank you very much.

    opened by windless1015 2
  • MATLAB interface documentation inconsistency

    MATLAB interface documentation inconsistency

    The documentation for the MATLAB interface diverges from the actual implementation.

    1. According to the documentation, nomadOpt returns [ x, fval, exitflag, iter, nfval ], however, the actual implementation returns [ x, fval, hinf, exitflag, nfval ]. The example reflects the actual implementation.
    2. Values of the exitflag do not follow the documented scheme. Instead of the declared spectrum of return values, only two values are returned and their meaning differs from the documentation. The value 0 represents generic success, whereas -1 indicates no feasible result was found.

    I believe it may be possible to modify nomadmex.cpp to approach the documented behavior. The following pseudo-code might do that.

    bool hasConverged = (nbBestFeas > 0);
    bool hasInfeasible = (nbBestInf > 0);
    
    bool exitInitializationError = AllStopReasons::testIf(INITIALIZATION_FAILED);
    bool exitUser = (
      AllStopReasons::testIf(BaseStopType::CTRL_C) ||
      AllStopReasons::testIf(BaseStopType::USER_STOPPED));
    bool exitNomadError = (
      AllStopReasons::testIf(BaseStopType::ERROR) ||
      AllStopReasons::testIf(BaseStopType::UNKNOWN_STOP_REASON));
    bool exitExceededEvaluations =  (
      AllStopReasons::testIf(EvalGlobalStopType::MAX_EVAL_REACHED) ||
      AllStopReasons::testIf(EvalGlobalStopType::MAX_BB_EVAL_REACHED) ||
      AllStopReasons::testIf(EvalGlobalStopType::MAX_BLOCK_EVAL_REACHED) ||
      AllStopReasons::testIf(EvalGlobalStopType::MAX_SURROGATE_EVAL_OPTIMIZATION_REACHED));
    
    if (exitUser) {
      * exitflag = -5;
    }
    else if (exitNomadError) {
      * exitflag = -3;
    }
    else if (exitInitializationError) {
      * exitflag = -2;
    }
    else if (hasConverged) {
      * exitflag = 1;
    }
    else if (exitExceededEvaluations) {
      * exitflag = 0;
    }
    else if (hasInfeasible) {
      * exitflag = -1;
    }
    else {
      // Something else must have happened.
      // There are neither feasible nor infeasible points and there is no clear reason for termination. 
      // Let's chalk that up as 'nomad error'.
      * exitflag = -3;
    }
    

    REMARKS

    • I see a potential issue regarding the definition of converged / target reached within the above code: should we consider the search successful if at least one feasible point was found even though the optimizer eventually ran out of evaluations?
    • I currently do not have access to MATLAB-compatible version of GCC. Once I do, and if desired, I can eventually turn this into a pull request.
    • Essentially identical code could be used to resolve https://github.com/bbopt/nomad/issues/104.
    opened by jan-provaznik 2
  • Install PyNomad in virtual environment

    Install PyNomad in virtual environment

    The current installation instructions make very hard to install PyNomad in virtual enviroment, in fact the --user option in the line COMMAND python setup_PyNomad.py ${CMAKE_BINARY_DIR} ${NOMAD_VERSION} install inside interfaces/PyNomad/CMakeLists.txt overwrite the default setting of a virtual environment.

    A separate parameter PYTHON_DIR defined in CMake could allow the user to specify the correct Python location, otherwise the --user flag could be removed to let the system the best location by itself.

    Is there a way to install PyNomad in a virtual environment with the current code?

    opened by lucagrementieri 2
  • 4.x Constraint Tolerance Parameter Equivalent

    4.x Constraint Tolerance Parameter Equivalent

    What are the NOMAD 4.x equivalent parameters to the 3.x parameters "h_min" and "h_norm"? I don't see anything that is roughly the same as these in the 4.x parameter list.

    opened by Arrowstar 4
  • Add pip installation

    Add pip installation

    I found an unofficial pip installation path to an older and possibly modified version of NOMAD. Would be convenient to have an official pip installation path to the latest version.

    opened by pklimov 2
  • Matlab and python interface exit status

    Matlab and python interface exit status

    Both python and matlab interfaces should provide complete exit status range: % 1 - converged / target reached % 0 - maximum iterations / function evaluations exceeded % -1 - infeasible / mesh limit reached % -2 - initialization error % -3 - nomad error % -5 - user exit

    This issue has been updated using issue #124. Maybe we need more exit statuses (and clarify the meaning):

    • (feasible+max eval/iter reached) from (infeasible+max eval/iter reached).
    • (feasible+mesh limit reached-> equivalent to 1-converged) from (infeasible+mesh limit reached).
    feature 
    opened by ctribes 0
  • MATLAB building fails on macOS

    MATLAB building fails on macOS

    My problem

    I am building nomad on macOS for MATLAB. I hence ran

    cmake -DBUILD_INTERFACE_MATLAB=ON -DMatlab_ROOT_DIR=/Applications/MATLAB_R2022b.app -S . -B build/release
    

    This completed successfully. However, when building the library with

    cmake --build build/release
    

    I get the following error.

    [ 99%] Linking CXX shared library nomadOpt.mexmaci64
    Undefined symbols for architecture x86_64:
      "_utIsInterruptPending", referenced from:
          matlabEval::eval_x(NOMAD_4_2::EvalPoint&, NOMAD_4_2::Double const&, bool&) const in nomadmex.cpp.o
      "_utSetInterruptPending", referenced from:
          matlabEval::eval_x(NOMAD_4_2::EvalPoint&, NOMAD_4_2::Double const&, bool&) const in nomadmex.cpp.o
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make[2]: *** [interfaces/Matlab_MEX/nomadOpt.mexmaci64] Error 1
    make[1]: *** [interfaces/Matlab_MEX/CMakeFiles/nomadOpt.dir/all] Error 2
    make: *** [all] Error 2
    

    I set up mex to run with clang.

    My architecture

    • macOS: version 12.6 (Monterey, x86_64)
    • clang: version 14.0.0 (clang-1400.0.29.102)
    • MATLAB: version 9.13.0.2049777 (R2022b)
    • CMake: version 3.24.1

    Do you have any idea how I can fix my problem? Thank you very much for your help :grin:

    fix 
    opened by ragonneau 4
Releases(v.4.3.1)
  • v.4.3.1(Dec 23, 2022)

    NOMAD 4 is available as open-source code, under the LGPL license. Compilation on MacOS, Windows and Linux is done using cmake. Binary packages are also available.

    We are looking forward for user feedback. For more information, reach out to [email protected].

    The user guide is available here.

    We recommend to download the complete NOMAD source files and examples and build the project for your platform. The user guide describes the complete steps for building.

    For users who do not follow the previous recommendation, a compact version with binaries (zipped) are available for Windows, Mac-OSX and Linux Ubuntu in the Assets section below. Please note, that you will need to do manual modifications to execute the binaries (see the end Note in the README file).

    New in Release 4.3: DMultiMads algorithm for multiobjective optimization problems. A Template algorithm to help users implement their own method in Nomad. Static surrogate can be used in library mode. Enable control the display precision.

    Source code(tar.gz)
    Source code(zip)
    MacOS.zip(2.71 MB)
    Ubuntu.zip(3.35 MB)
    Windows--MSVC.zip(1.47 MB)
  • v.4.3.0(Dec 20, 2022)

    NOMAD 4 is available as open-source code, under the LGPL license. Compilation on MacOS, Windows and Linux is done using cmake. Binary packages are also available.

    We are looking forward for user feedback. For more information, reach out to [email protected].

    The user guide is available here.

    We recommend to download the complete NOMAD source files and examples and build the project for your platform. The user guide describes the complete steps for building.

    For users who do not follow the previous recommendation, a compact version with binaries (zipped) are available for Windows, Mac-OSX and Linux Ubuntu in the Assets section below. Please note, that you will need to do manual modifications to execute the binaries (see the end Note in the README file).

    New in Release 4.3: DMultiMads algorithm for multiobjective optimization problems. A Template algorithm to help users implement their own method in Nomad. Static surrogate can be used in library mode. Enable control the display precision.

    Source code(tar.gz)
    Source code(zip)
    nomad4.3.0_binaries_macos.zip(2.71 MB)
    nomad4.3.0_binaries_ubuntu.zip(3.34 MB)
    nomad4.3.0_binaries_windows.zip(1.47 MB)
  • v.4.2.0(Feb 9, 2022)

    NOMAD 4 is available as open-source code, under the LGPL license. Compilation on MacOS, Windows and Linux is done using cmake. Binary packages are also available.

    We are looking forward for user feedback. For more information, reach out to [email protected].

    The user guide is available here.

    We recommend to download the complete NOMAD source files and examples and build the project for your platform. The user guide describes the complete steps for building.

    For users who do not follow the previous recommendation, a compact version with binaries (zipped) are available for Windows, Mac-OSX and Linux Ubuntu in the Assets section below. Please note, that you may need to change the permissions to be able to execute the binaries.

    New in Release 4.2:

    • Poll direction ORTHO N+1 QUAD is now supported for parameters DIRECTION_TYPE.
    • Default evaluation points sorting uses quadratic model.
    • PSD-Mads has been implemented.
    • Java interface is supported using Swig.
    • Building PyNomad interface is supported for all versions using cmake.
    • Building Matlab interface is done with cmake.
    Source code(tar.gz)
    Source code(zip)
    nomad4.2.0_binaries_macos.zip(3.42 MB)
    nomad4.2.0_binaries_ubuntu.zip(4.31 MB)
    nomad4.2.0_binaries_windows.zip(1.77 MB)
  • v4.1.0(Jul 7, 2021)

    NOMAD 4 is available as open-source code, under the LGPL license. Compilation on MacOS, Windows and Linux is done using cmake.

    We are looking forward for user feedback. For more information, reach out to [email protected].

    The doc is available here https://nomad-4-user-guide.readthedocs.io/en/v4.1.0/

    New in Release 4.1:

    • It is possible to use a static surrogate executable to sort points before evaluating them with the blackbox. See parameter EVAL_QUEUE_SORT with value SURROGATE.
    • It is also possible to do a full optimization using only the surrogate executable instead of the blackbox executable. See parameter EVAL_SURROGATE_OPTIMIZATION.
    • Poll direction ORTHO N+1 NEG is now supported for parameters DIRECTION_TYPE and DIRECTION_TYPE_SECONDARY_POLL. It is also now possible to define several direction types for these parameters.
    • Variable Neighborhood Search, using Mads for sub-optimization, is now supported. See parameter VNS_MADS_SEARCH.
    • NOMAD can now be compiled on Windows. Follow the instructions in the README. PyNomad interface is not supported for this version.
    Source code(tar.gz)
    Source code(zip)
  • v.4.0.2(Apr 26, 2021)

    NOMAD 4 official release.

    NOMAD 4 is available as open-source code, under the LGPL license. Compilation on MacOS and Linux is done using cmake. The code has not been compiled on Windows.

    We are looking forward for user feedback. For more information, reach out to [email protected].

    The doc is available here https://nomad-4-user-guide.readthedocs.io/en/v.4.0.2/

    New in Release 4.0:

    • Secondary Poll center
    • Speculative Search as in NOMAD 3
    • Sort on direction of last success
    • Latin hypercube may be used when X0 is not provided
    • Updated parameter names
    • User guide

    Features already available in NOMAD 4, Beta 2:

    • Quadratic Model Search (QUAD_MODEL_SEARCH)
    • Groups of variables (VARIABLE_GROUP)
    • Direction types (DIRECTION_TYPE)
    • Sort evaluation queue before evaluating points; randomize point evaluation
    • PSD-Mads
    • Additional statistics, HISTORY_FILE, SOLUTION_FILE
    • Compilation using CMake
    • Parameter USE_CACHE

    Features already available in NOMAD 4, Beta 1:

    • Parameter syntax for parameter file is the same as in NOMAD 3
    • Search implementations: Nelder Mead, Speculative, Latin Hypercube, SgtelibModel
    • Usage of library Sgtelib
    • Management of PB (progressive barrier) and EB (extreme barrier) constraints
    • Python interface
    • Callbacks
    • Block evaluations
    • Evaluations are done in parallel, using OpenMP
    • Hot restart: See parameter HOT_RESTART_ON_USER_INTERRUPT
    Source code(tar.gz)
    Source code(zip)
  • v.4.0.1(Apr 21, 2021)

  • v.4.0.0(Apr 21, 2021)

  • v.4.0.0-beta.2.0.1(Dec 18, 2020)

    NOMAD 4 Beta 2 has numerous improvements since Beta 1 (December 2019).

    NOMAD 4 is available as open-source code, under the LGPL license. Makefiles are present for compilation on MacOS and Linux. The code has not been compiled on Windows.

    We are looking forward for user feedback. For more information, reach out to [email protected].

    Overview:

    New in Beta 2:

    • Quadratic Model Search (QUAD_MODEL_SEARCH)
    • Groups of variables (VARIABLE_GROUP)
    • Direction types (DIRECTION_TYPE)
    • Sort evaluation queue before evaluating points; randomize point evaluation
    • PSD-Mads
    • Additional statistics, HISTORY_FILE, SOLUTION_FILE
    • Compilation using CMake
    • Parameter USE_CACHE

    Features already available in NOMAD 4, Beta 1:

    • Parameter syntax for parameter file is the same as in NOMAD 3
    • Search implementations: Nelder Mead, Speculative, Latin Hypercube, SgtelibModel
    • Usage of library Sgtelib
    • Management of PB (progressive barrier) and EB (extreme barrier) constraints
    • Python interface
    • Callbacks
    • Block evaluations
    • Evaluations are done in parallel, using OpenMP
    • Hot restart: See parameter HOT_RESTART_ON_USER_INTERRUPT
    Source code(tar.gz)
    Source code(zip)
  • v.4.0.0-beta.2(Dec 1, 2020)

  • v.4.0.0-beta.1.0.2(Dec 19, 2019)

Owner
Blackbox Optimization
GitHub organization of the research group from Polytechnique Montréal and GERAD for derivative-free and blackbox optimization
Blackbox Optimization
FaceAnon - Anonymize people in images and videos using yolov5-crowdhuman

Face Anonymizer Blur faces from image and video files in /input/ folder. Require

22 Nov 03, 2022
Colossal-AI: A Unified Deep Learning System for Large-Scale Parallel Training

ColossalAI An integrated large-scale model training system with efficient parallelization techniques. arXiv: Colossal-AI: A Unified Deep Learning Syst

HPC-AI Tech 7.9k Jan 08, 2023
Official implementation of the ICCV 2021 paper "Conditional DETR for Fast Training Convergence".

The DETR approach applies the transformer encoder and decoder architecture to object detection and achieves promising performance. In this paper, we handle the critical issue, slow training convergen

281 Dec 30, 2022
CVPR2021 Workshop - HDRUNet: Single Image HDR Reconstruction with Denoising and Dequantization.

HDRUNet [Paper Link] HDRUNet: Single Image HDR Reconstruction with Denoising and Dequantization By Xiangyu Chen, Yihao Liu, Zhengwen Zhang, Yu Qiao an

XyChen 105 Dec 20, 2022
DimReductionClustering - Dimensionality Reduction + Clustering + Unsupervised Score Metrics

Dimensionality Reduction + Clustering + Unsupervised Score Metrics Introduction

11 Nov 15, 2022
[CVPR 2022 Oral] Rethinking Minimal Sufficient Representation in Contrastive Learning

Rethinking Minimal Sufficient Representation in Contrastive Learning PyTorch implementation of Rethinking Minimal Sufficient Representation in Contras

36 Nov 23, 2022
Datasets for new state-of-the-art challenge in disentanglement learning

High resolution disentanglement datasets This repository contains the Falcor3D and Isaac3D datasets, which present a state-of-the-art challenge for co

NVIDIA Research Projects 37 May 26, 2022
Neural Tangent Generalization Attacks (NTGA)

Neural Tangent Generalization Attacks (NTGA) ICML 2021 Video | Paper | Quickstart | Results | Unlearnable Datasets | Competitions | Citation Overview

Chia-Hung Yuan 34 Nov 25, 2022
Original Implementation of Prompt Tuning from Lester, et al, 2021

Prompt Tuning This is the code to reproduce the experiments from the EMNLP 2021 paper "The Power of Scale for Parameter-Efficient Prompt Tuning" (Lest

Google Research 282 Dec 28, 2022
The King is Naked: on the Notion of Robustness for Natural Language Processing

the-king-is-naked: on the notion of robustness for natural language processing AAAI2022 DISCLAIMER:This repo will be updated soon with instructions on

Iperboreo_ 1 Nov 24, 2022
Vit-ImageClassification - Pytorch ViT for Image classification on the CIFAR10 dataset

Vit-ImageClassification Introduction This project uses ViT to perform image clas

Kaicheng Yang 4 Jun 01, 2022
Code for generating a single image pretraining dataset

Single Image Pretraining of Visual Representations As shown in the paper A critical analysis of self-supervision, or what we can learn from a single i

Yuki M. Asano 12 Dec 19, 2022
Tiny Kinetics-400 for test

Kinetics-400迷你数据集 English | 简体中文 该数据集旨在解决的问题:参照Kinetics-400数据格式,训练基于自己数据的视频理解模型。 数据集介绍 Kinetics-400是视频领域benchmark常用数据集,详细介绍可以参考其官方网站Kinetics。整个数据集包含40

38 Jan 06, 2023
Veri Setinizi Yolov5 Formatına Dönüştürün

Veri Setinizi Yolov5 Formatına Dönüştürün! Bu Repo da Neler Var? Xml Formatındaki Veri Setini .Txt Formatına Çevirme Xml Formatındaki Dosyaları Silme

Kadir Nar 4 Aug 22, 2022
You Only 👀 One Sequence

You Only 👀 One Sequence TL;DR: We study the transferability of the vanilla ViT pre-trained on mid-sized ImageNet-1k to the more challenging COCO obje

Hust Visual Learning Team 666 Jan 03, 2023
Chainer Implementation of Semantic Segmentation using Adversarial Networks

Semantic Segmentation using Adversarial Networks Requirements Chainer (1.23.0) Differences Use of FCN-VGG16 instead of Dilated8 as Segmentor. Caution

Taiki Oyama 99 Jun 28, 2022
docTR by Mindee (Document Text Recognition) - a seamless, high-performing & accessible library for OCR-related tasks powered by Deep Learning.

docTR by Mindee (Document Text Recognition) - a seamless, high-performing & accessible library for OCR-related tasks powered by Deep Learning.

Mindee 1.5k Jan 01, 2023
CLNTM - Contrastive Learning for Neural Topic Model

Contrastive Learning for Neural Topic Model This repository contains the impleme

Thong Thanh Nguyen 25 Nov 24, 2022
HIVE: Evaluating the Human Interpretability of Visual Explanations

HIVE: Evaluating the Human Interpretability of Visual Explanations Project Page | Paper This repo provides the code for HIVE, a human evaluation frame

Princeton Visual AI Lab 16 Dec 13, 2022
Real Time Object Detection and Classification using Yolo Algorithm.

Real time Object detection & Classification using YOLO algorithm. Real Time Object Detection and Classification using Yolo Algorithm. What is Object D

Ketan Chawla 1 Apr 17, 2022