Skip to main content

BAM Data Driven Optimizer

Welcome, Anonymous

BAM

Branch-And-Model (BAM) Optimization Tool

A global optimization solver for black-box and data-driven problems.
BAM Licenses

 

What is BAM?

BAM (Branch-And-Model) is a derivative-free global optimization algorithm designed to solve complex optimization problems where objective functions and constraints are not available in algebraic form. BAM is ideal for problems involving: 

  • Expensive simulations
  • Laboratory experiments
  • Hyperparameter tuning
  • Black-box or data-driven modeling

BAM intelligently navigates the search space using surrogate modeling and a novel domain partitioning strategy to minimize costly evaluations, making it highly efficient for optimization based on expensive simulations or laboratory experiments.

 

Key Features

  • Black-box optimization: Optimize systems without requiring gradient or algebraic model information.
  • Flexible input: Work with simulations, experimental setups, or pre-collected data.
  • Efficient sampling: Uses a unique subdivision algorithm for global search convergence.
  • Model-driven strategy: Builds and optimizes local surrogate models powered by ALAMO.
  • Built-in optimization engine: Employs BARON to globally solve surrogate models.
  • Support for discrete variables: Handles integer and categorical inputs seamlessly.
  • Automation: Fully automated optimization without manual intervention.

 

How It Works

BAM follows a four-stage process for each iteration:

  1. Domain Partitioning: Divides the search space into boxes using all previously evaluated points.
  2. Box Selection: Identifies promising regions using a Lipschitz-inspired filter (without needing a Lipschitz constant).
  3. Local Surrogate Modeling: Builds accurate, sparse models around selected points using ALAMO.
  4. Evaluation & Update: Solves surrogate models with BARON to select new sample points.

This loop repeats until BAM meets a stopping criterion (e.g., function call or time limit).

 

Applications

BAM is particularly well-suited for:

 
Chemical process optimization
 
Machine learning hyperparameter tuning
 
Simulation-based decision making
 
Laboratory experiment design and automation

 

How to Run BAM

BAM runs from the command line and reads a simple text-based input file. Users define:

  • Number and bounds of variables
  • Data provider executable (simulator or experimental data collecting program)
  • Evaluation budget and options

A typical run looks like:

bam my_problem.bam

Outputs are logged both on-screen and in a .lst file for later analysis.

 

Licensing and Installation

BAM is available for download at BAM Downloads. Installation is straightforward across Windows, Linux, and macOS platforms. A valid license file is required to run the software.

  • Academic licenses and licenses for the Department of Energy are available for free.
  • Commercial licenses are available.
  • Licenses include technical support and free upgrades for the license duration.
  • A one-month commercial version is available to try BAM before a long-term purchase.

 

Publications

If you use BAM, please cite:

Ma et al. (2023). Branch-and-Model: A derivative-free global optimization algorithm. Computational Optimization and Applications, 85(2), 337–367, 2023. 

Full bibliography available in the BAM User Manual.

 

Try BAM

Explore example problems, learn more, and download BAM at BAM Downloads.