bbopt / nomad

NOMAD - A blackbox optimization software
https://nomad-4-user-guide.readthedocs.io/
GNU Lesser General Public License v3.0
110 stars 24 forks source link

Binary vs Integer Variables #169

Open stumarcus314 opened 2 months ago

stumarcus314 commented 2 months ago

If the variables in my optimization problem are all binary, is there any difference internally to NOMAD between specifying them as binary by setting BB_INPUT_TYPE to (B B B) versus specifying them as integers by setting BB_INPUT_TYPE to (I I I) with lower bounds 0 and upper bounds 1? For example, does specifying them explicitly as binary using the first approach realize computational and/or memory efficiencies for NOMAD?

ctribes commented 1 month ago

With the default mesh and direction type used by Nomad, binary variables are converted into integer variables (granularity 1) with 0 and 1 bounds. Other direction types maybe developed in the future that handle binary differently.