Skip to main content

BAM Frequently Asked Questions

Welcome, Anonymous

This page is for general questions about using BAM and solutions to common error messages. For further technical support, please email info@minlp.com.

Getting Started

BAM (Branch-And-Model) is a derivative-free global optimization solver designed for problems where the objective or constraints are not available in algebraic form. It is ideal for simulation-based, experimental, or black-box optimization problems.

Use BAM when:

  • You cannot write the problem in a closed-form equation.
  • Your model is a simulator or experiment (black-box).
  • Function evaluations are expensive.
  • You want a global solution to high-dimensional or nonconvex problems.

 

BAM combines:

  • Global optimization techniques (via domain partitioning).
  • Surrogate modeling (using ALAMO for accurate local models).
  • Guaranteed convergence even for discontinuous or discrete problems.
  • BARON to globally solve surrogate models for new sampling points.

BAM runs on:

  • Windows
  • Linux
  • macOS

Installation is easy. Simply download and run the installer or unzip the archive available at BAM Downloads.

Problem Scope

BAM can handle:

  • Continuous, integer, or categorical variables
  • Nonconvex, discontinuous, or noisy functions
  • Problems defined by simulators or experiments
  • Data-driven optimization using previously collected evaluations

No. BAM is completely derivative-free. It uses function values only. No gradients or Hessians are needed.

Licensing

Yes. BAM requires a valid license file.

Options include:

  • Free academic license
  • Commercial license (with support and updates)

See BAM Licenses for details.

BAM offers three license types:

  • Commercial License: Includes technical support and software updates.
  • Academic License: Free for academic research and educational use.
  • DOE License: Free for the U.S. Department of Energy.

See BAM Licenses to view options or contact sales@minlp.com for further information.

Usage Tips

From the command line:

bam my_problem.bam

This runs BAM using the input file my_problem.bam.

The data provider is your simulator or executable. BAM calls it to evaluate the objective function. The provider must:

  • Read input variables from a file (input.in)
  • Write a single output value to a file (output.out)

Yes. BAM can use:

  • Unevaluated points (initial guesses)
  • Evaluated points (historical data)
    This reduces function calls and helps warm-start the optimization.

Error Messages and Support

Check the terminal or listing file (.lst). BAM provides clear termination codes such as:

  • Licensing error
  • Input file error
  • Simulator not returning valid output
  • Function call or time limit reached

See the Error Messages section of the BAM User Manual for full details.

Please contact our technical team at info@minlp.com for support or licensing questions.