Skip to main content

ALAMO Release Notes

Welcome, Anonymous

2026.5.28

Algorithmic improvements

Updated the embedded BARON.

2026.5.27

A major release. ALAMO now provides users the ability to ensure completely deterministic behavior. The build system has been modernized and the distribution now includes LICENSES and THIRD-PARTY-LICENSES files for all bundled components.

New features

  • New deterministic termination limits based on work units used (wuused), combining counts of OLR, CLR, MIP, and NLP subproblems. The work-unit count is now printed in the trace file.
  • Adaptive sampling now respects integer-valued inputs (XISINT): when integer variables are present, adaptive sampling proceeds on the lattice of integer variables.

Bug fixes

Fixed an error in the termination routine that, in cases of early failure without results, could produce a negative total time.

Platform and packaging

  • All libraries are now compiled with position-independent code.
  • LICENSES and THIRD-PARTY-LICENSES files included in the distribution.
  • Build and packaging scripts cleaned up; missing executables for both ARM platforms have been added.

2026.2.10

2026.1.7

New features

  • New options for fine-grained control over the basis function pool: MONOLIM, MULTI2LIM, MULTI3LIM, and RATIOSLIM.

Algorithmic improvements

  • Embedded an improved BARON.
  • Added a stop-iteration check argument to the simulator interface.

2025.12.10

Algorithmic improvements

  • Improved numerical robustness in OLR problem setup: NaN and infinity values are now consistently filtered out of OLR subproblem coefficients.
  • A new deltaterm mechanism in OLR-via-BARON improves numerical stability.
  • Execution now proceeds even when an individual OLR subproblem fails to solve, rather than terminating the entire run.

Documentation

Updated opening screen.

2025.12.5

Bug fixes

  • Fixed a serious bug in power-elimination logic that could remove the power of 1 for product terms such as x*y.
  • Fixed a serious bug in the initialization of the user-specified sigma option.

2025.11.28

Algorithmic improvements

Embedded an improved BARON.

2025.11.17

Algorithmic improvements

Embedded an improved BARON.

2025.10.15

Algorithmic improvements

Embedded an improved BARON.

2025.10.5

Bug fixes

  • Fixed a serious bug in the power-elimination routine.
  • Fix in array-resizing logic.

2025.9.13

Platform and packaging

License-generator and Windows portability fixes.

2025.8.12

Platform and packaging

  • Improved ARM64 portability: ALAMO now depends on GLIBC 2.17 instead of 2.38, broadening the range of Linux distributions on which ALAMO runs without a glibc upgrade.
  • Date-handling fix on Windows.

2025.8.5

Bug fixes

Bug fix in the constrained-regression search routine.

Platform and packaging

  • Builds extended to ARM platforms.
  • Windows executable now signed with an EV certificate.

2025.7.16

Platform and packaging

  • Distribution now includes Windows zip archives.
  • Builds extended to macOS Apple Silicon (with MACOSX_DEPLOYMENT_TARGET=13.0) and macOS Intel (with MACOSX_DEPLOYMENT_TARGET=10.12).

2025.7.5

Several improvements to the input language, numerical robustness, and platform support have been made.

New features

  • Input variables that are fixed (constant) in the supplied data are now automatically excluded from model building, instead of triggering an error.
  • Comment lines may now also start with /, in addition to %, #, *, and !.
  • Duplicate input/output labels are now detected and reported by the input parser.

Algorithmic improvements

  • Numerical robustness improvements in the OLR routine for extreme cases.
  • Improved detection and handling of invalid power-basis combinations.

Platform and packaging

  • Built ALAMO for macOS Apple Silicon.
  • Updated to Java SE Development Kit 24.0.1 for the GUI.

2024.10.25

Bug fixes

  • Fixed a bug in enumeration-based solving that resulted in incorrect solution reporting on timeouts.
  • Fix to ensure ALAMO does not attempt to sample more than NBANK points in the absence of an actual simulator.

Documentation

Added a reference to a recent paper on ALAMO's algorithms.

2024.10.19

In addition to bug fixes, ALAMO now ships with better sampling defaults and a new data-bank capability for working with large pre-existing datasets. The default sampler is now SAMPLER=2 (ALAMO's adaptive sampling) instead of random sampling. ALAMO can now sample not just by calling a simulator but also by drawing from a pre-existing dataset, controlled through the newly introduced NBANK option, intended for large pre-existing datasets. The term "validation set" has been replaced by "test set" to avoid confusion; the old options (VALDATA, NUMVAL, etc.) remain accepted for backward compatibility. ALAMO's GUI, available on all operating systems, can now generate parity plots of the learned model against any test set. ALAMO's internal optimization algorithms have been upgraded to rely on a newer and more efficient version of BARON.

New features

  • New NBANK option: ALAMO can now sample from a pre-existing dataset rather than calling a simulator. Intended for large pre-existing datasets; not a replacement for the default algorithm.
  • Renamed "validation set" to "test set" in options and output. Old option names (VALDATA, NUMVAL, etc.) remain accepted for backward compatibility.
  • GUI now generates parity plots of the learned model against test sets.

Algorithmic improvements

  • Default sampler is now SAMPLER=2 (ALAMO's adaptive sampling), replacing random sampling as the default.
  • Upgraded to a newer and more efficient version of BARON.

Bug fixes

  • Fixes in the model-building search routine and Faure-initialization sampling.
  • Trace file now reports the correct total time.
  • MIP solver via BARON now correctly reads integer-variable values.

2024.10.10

New features

  • Transformations that cannot be evaluated by the parser or that produce infinity or NaN are now silently ignored rather than triggering an error.
  • The GUI now turns off constant and linear basis terms when the user has done so.

Algorithmic improvements

  • Improvements to internal data structures for input-value storage.
  • Improvements in the metrics calculation routine.

Documentation

Updated the manual with instructions for silent installation on Windows.

2023.2.13

New features

New FUNFORM option 6: print models in Python.

Bug fixes

Fixes in adaptive sampling and the calculation and printing of RBF basis functions.

2023.1.23

This version comes with numerical-stability improvements, improved optimization strategies within ALAMO, and important bug fixes in ALAMO's constrained-regression routines.

Algorithmic improvements

  • Constrained-regression incompatibility with trigonometric basis functions is now fully detected.
  • Constant input variables and their corresponding basis functions are now excluded from constrained regression.

Bug fixes

  • Bug fixes in constrained regression with BARON.
  • Fix to constrained-regression right-hand side calculation.
  • Improved debug information for termination conditions.

2023.1.16

Bug fixes

  • Relative paths to BARON are now converted to absolute paths.
  • New search routine to locate executables, including embedded BARON.

2022.10.7

Bug fixes

  • Fixes in the constrained-regression capability.
  • GUI now correctly reads .alm files containing comments.
  • Adaptive sampling now continues when factorization in dgetri fails or the matrix is singular.
  • Fix in the call to the Faure initializer.
  • Fixes in adaptive sampling, SNOBFIT, and the adjusted-R² calculation.

2022.8.22

Bug fixes

  • Fix in MIP solving via BARON.
  • GUI cleanup: removed redundant vector-length requirements.

2022.6.4

A major release. The embedded BARON is now used for all internal optimization, and the GAMS dependency has been eliminated entirely from both the software and the manual.

New features

  • BARON is now packaged within ALAMO; all GAMS-related options and calls have been turned off.
  • GAMS dependency eliminated from the software and the documentation.
  • Replaced GAMS-based OLR, constrained regression, MIP, and lasso routines with BARON-based counterparts.
  • New BARON-encrypted file mechanism for transactions between ALAMO and BARON.

2021.12.28

Bug fixes

GUI now handles spaces in ALAMO's installation path.

2021.12.5

Documentation

Removed the MINTERMS option from the manual; this option was never implemented.

Bug fixes

Fixes in the GAMS-mode constrained-regression and MIP solvers for proper use of put statements, avoiding printing and reading errors.

2021.11.25

New features

Information criteria (BIC, Cp, AICc, HQC, RIC, MallowsCp) are now also printed for test sets.

Bug fixes

Fix in the constrained-regression GAMS/BARON model to avoid collisions between user labels and GAMS/BARON variable names.

2021.5.8

Bug fixes

Added a new error code (133) and fixed a bug in GAMS-file output from the MIP solver.

2021.4.29

Algorithmic improvements

Production builds now use strict floating-point compilation flags (-fp-model precise -fp-model source -fp-model consistent) to minimize the effect of floating-point round-off errors. Replaced the MKL dependency with bundled BLAS and LAPACK routines, removing the external dependency.

Bug fixes

Fix in initialization related to the USEGAMS option.

2020.10.15

Bug fixes

Bug fixes in the GUI.

2020.8.31

Bug fixes

Bug fix in the CLR routine.

2020.8.14

Bug fixes

  • Bug fixes in the lasso solver and the MIP-via-BARON solver.
  • Completed the PRESET (missing-value) implementation across the OLR, CLR, scaling, printing, metrics, and output routines.
  • Fix in the constrained-regression GAMS solver.
  • Fixes in group-constraint reading.
  • Fix in the adaptive sampling interface in the dimensioning of the request array.

Documentation

Additions to the manual and to listing-file output.

2020.5.27

New features

  • New -h command-line option for help.
  • GUI now gives a better message when the ALAMO executable is not found.

2020.5.2

Bug fixes

  • Fix in R² calculation when building with mconstant=0.
  • Suppressed unnecessary GAMS availability checks.
  • Removed GAMS options from the manual example.

2020.4.25

Bug fixes

Fixed a major bug in the adaptive-sampling routine that had effectively disabled adaptive sampling.

2020.4.19

Algorithmic improvements

  • Replaced the OLR-via-GAMS routine with an OLR-via-BARON routine.
  • New MIP-via-BARON solver as an alternative to the MIP-via-GAMS solver.

Bug fixes

  • Several fixes in option reading.
  • Fixes in the constrained-regression routine.

2019.10.16

New features

GUI now handles the TOLMAXERROR option, reading 0/1 values from .alm files and T/F values from .lst files.

Bug fixes

Fix in the printing of TOLMAXERROR.

2019.10.3

New features

TOLMAXERROR is now a vector option (per output variable), documented in the manual.

Bug fixes

Fix related to the MAXPOINTS option.

2019.8.3

New features

Replaced the REGULARIZER option with SCREENER, introducing sure independence screening. New SISMULT option controls the screening effect.

2019.7.10

Bug fixes

GUI fixes for simulator permissions on Linux.

2019.7.6

Documentation

Updated manual.

Bug fixes

Fixes in the GUI.

2019.7.3

ALAMO now ships with The Optimization Firm's own native Fortran implementation of a SNOBFIT solver for error-maximization sampling, eliminating the dependency on MATLAB-SNOBFIT for adaptive sampling. The Faure sequence is now available as an initializer and sampler option. MATLAB-SNOBFIT is no longer supported.

New features

  • Integrated Fortran SNOBFIT directly into the adaptive-sampling routine.
  • Faure sequence available as an initializer and sampler option.

Documentation

Manual no longer references MATLAB-SNOBFIT or MINQ.

2019.6.16

New features

GUI now displays a residual plot.

Bug fixes

Fixes in the GUI.

2019.1.26

Bug fixes

  • Fix in the allocation of XISINT.
  • Added an objective-function-value sanity check in OLR.

2019.1.10

Bug fixes

Fix in the printing of log and ln basis functions.

2018.12.20

Bug fixes

  • GUI improvements and bug fixes.
  • Fixes in the build scripts.

Platform and packaging

Added -m64 for the Windows makefile.

2018.12.10

Bug fixes

  • Fix in printing of predicted values in the listing file.
  • Fix in the CSV reader.

2018.9.3

New features

GUI now includes a predicted-results pane.

2018.7.13

New features

New XISINT capability for declaring integer-valued input variables.

Bug fixes

Fix in the variable-name substitution routine.

2018.6.20

New features

  • GUI improvements: undo support and plotting of validation data points.
  • Validation absolute errors now printed in the listing file.

Bug fixes

Fix in group reading (member index validation).

2018.3.10

New features

  • Duplicate-power basis functions are now eliminated automatically.
  • Most data and results are now printed without trailing zeros.

2018.2.16

Bug fixes

Fixes to the GUI.

2018.2.2

Algorithmic improvements

Improvements in the SNOBFIT interface; ALAMO now switches to random sampling if SNOBFIT fails.

2018.2.1

New features

  • The parser now reads the & continuation character and shows percentage completion during execution.
  • Double-clicking an .alm file opens it through the GUI.

Algorithmic improvements

SNOBFIT-proposed points are now projected onto the box if they fall outside.

2018.1.29

New features

  • New BACKSTEPPER and GREEDYBACK options: apply a backward-elimination heuristic during model building.
  • New DATALIMITTERMS and NUMLIMITBASIS options.
  • License file is now searched for in the working directory, then in the directory where the executable is installed, and finally on the system path.

Bug fixes

Fixes in adaptive sampling and the simulation interface.

2017.10.7

New features

Extrapolation predictions are now printed only for points for which at least one input variable falls outside its nominal range.

Bug fixes

Fixes in the constrained-regression implementation for multiple output variables.

2017.9.26

Launched the Windows installer and the GUI.

2017.9.28

New features

Now prints extrapolation predictions when input data falls outside the nominal training range.

2017.9.22

New features

The scratch directory is now specified as an optional second command-line argument rather than an option in the input file.

2017.9.21

New features

ALAMO now writes its process ID to a file (alamopid) in the scratch directory.

2017.9.8

New features

Listing file now includes all problem data, so a run can be reproduced entirely from the listing file via the ALAMO GUI.

Bug fixes

Fixes in OLR initialization and in metrics calculation, plus the printing routine.

2017.8.18

New features

  • New GAMS/CPLEX option for solving nonconvex MIQPs.
  • User-specified sigma now supported.
  • Group constraints now apply across all outputs.
  • Listing file now shows times, iterations, and other statistics per output variable.

Algorithmic improvements

  • L2 KKT constraint added in the MIP solver.
  • Inactive basis functions are now excluded from RBF calculations.

2017.8.6

Algorithmic improvements

More digits are now printed for GRBF and other basis function coefficients.

Platform and packaging

Removed GLIB2.11 dependency on the Intel-compiler build.

2017.6.21

Platform and packaging

Built for GLIBC 2.12 (RHEL6).

2017.6.12

New features

Users may now specify paths to the external SNOBFIT and MINQ binaries; the SNOBFIT subprocess now runs in the scratch directory.

2017.5.24

Bug fixes

Fixed simulation time calculation with Intel compilers.

2017.5.22

Platform and packaging

Added batpython, batmatlab, and bashmatlab simulator examples to the distribution.

2017.5.20

Bug fixes

  • Fixed a bug that led to premature termination during enumeration for the MAD modeler.
  • Improved sigma calculation.
  • Fixes in the simulator-call routine to exit the scratch directory on error.
  • Replaced an external path-resolution routine with a more robust in-house version.

Platform and packaging

Added Python simulator examples to the distribution.

2017.4.12

Bug fixes

Fix in the GAMS model for group constraints in the MIP solver.

2017.3.22

New features

ALAMO can now read paths containing spaces and find files (simulator, GAMS, etc.) anywhere on the user's PATH.

2017.3.20

New features

  • New EXCLUDE feature: exclude specified input variables from the model.
  • Paths containing spaces are now allowed for the scratch directory, simulator, simulator input/output files, GAMS executable, and trace file.

2017.3.18

Platform and packaging

Compiled on Windows with the Intel Fortran compiler.

2017.3.13

New features

  • New comment-block syntax (BEGIN_COMMENT / END_COMMENT).
  • Completed the group-constraint (GROUPCON) capability.

2017.2.10

Bug fixes

Fix in file-closing in the error-maximization sampling routine, resolving issues in locating and using SNOBFIT.

2017.2.4

New features

Process ID is now printed in the simulator input file.

Documentation

Revised manual.

2016.11.17

New features

  • New adjusted-R² metric.
  • Continuation lines for multi-column data records.

Bug fixes

  • Fix in adaptive sampling.
  • Fix in metrics calculation (integer division issues).

2016.9.25

New features

  • New LINFCNS option for linear basis functions.
  • New GREEDYBUILD option, on by default.
  • New XPREDATA option: print predicted values for a user-specified data set.
  • Listing file now reports the basis functions chosen for each output.
  • Renamed the RBF option to GRBFCNS.

Bug fixes

  • Disallowed powers of 0 and 1 in the basis pool.
  • Fix in the printing of RBF functions.

2016.9.15

New features

  • New MADp modeler (modeler #8).
  • New LASSOPATH mechanism for warm-starting model selection (off by default).
  • Default FUNFORM is now 5.

2016.7.25

New features

Listing file now reports absolute errors and maximum absolute errors.

2016.7.5

New features

New CONSTANT basis-function option.

2016.6.23

Bug fixes

Fix in the printing of power-basis functions.

2016.6.22

Documentation

Re-added the XSCALING option to the manual.

2016.5.17

Documentation

Listing file now prints complete XLABELS and ZLABELS.

Platform and packaging

The macOS build is now identified as "OSX" instead of "LNX" in the version banner.

2016.5.15

New features

Sigma is now printed to the listing file.

2016.5.14

New features

New FUNFORM option: print models in Fortran, GAMS, BARON, or C.

Bug fixes

Fix in the BIC metric calculation for the convex case.

2016.5.2

Bug fixes

Fix in the TOLSSE termination implementation.

2016.4.30

New features

  • New TOLSSE option: termination based on sum of squared errors.
  • Renamed the "Convex penalty" metric to SSEp.
  • Listing file now reports SSE for test and validation sets.

2016.4.29

New features

  • Small coefficients are now printed in the final model.
  • New ZISINT capability for modeling integer-valued outputs via rounding.
  • Validation sets are now scaled when XSCALING is on.

Bug fixes

Inactive basis functions are now consistently excluded from the "bases considered" listing.

2016.4.25

New features

New NTRANS and TRANSFORM data sections: model transformations of input/output variables.

2016.4.20

New features

  • New BUILDER heuristic for solving the model-selection MINLP.
  • Completed the PRINT_TO_SCREEN option.
  • New SOLVEMIP option. By default, the MIP solver and enumeration are now off when BUILDER is on.

2016.1.16

New features

  • New RIC metric.
  • New facility to generate validation points.
  • New Python plotting utility.
  • New convergence criteria: TOLRELMETRIC and TOLABSMETRIC replace TOLMEANERROR.

Algorithmic improvements

Gauss-Seidel iteration now used in OLR.

2015.11.5

Bug fixes

Fixes in OLR time calculations and recovery from failed OLR-via-GAMS subproblems.

2015.10.29

New features

  • New cross-validation R² metric and k-fold cross-validation option (ALMFOLD).
  • For convex criteria, ALAMO now minimizes the number of terms when SSE is near zero, bounding SSE by twice the sigma threshold.

Algorithmic improvements

Cleaned-up SSE-term and sigma implementation; now using a nonconvex variant of BIC in enumeration.

2015.10.15

New features

  • Comments are now allowed on every line of the input file, including within BEGIN_...END_ blocks.
  • Listing file is now saved in the execution directory.

Algorithmic improvements

  • Robustness improvements in constrained regression and OLR.
  • New KKT test for OLR solutions, leading to better sigma calculation for BIC/Cp and more robust scaling factors.
  • Powers of zero are now eliminated automatically.

2015.9.30

New features

  • Custom basis-function support.
  • New SIMIN and SIMOUT parser keywords.
  • Input and output variable names must now be Fortran-compatible and distinct.

Bug fixes

  • Fix in the printing of models: redundant null model and repeated last model removed.
  • Integer-valued options now strictly enforced.

2015.8.3

New features

All generated GAMS files and corresponding listing files are now retained when DEBUG=1 and REMOVESCRATCH=0. The complementary KEEPSCRATCH=1 alias for REMOVESCRATCH=0 is now accepted.

Bug fixes

Bug fixes in the constrained-regression routine.

2015.7.4

Bug fixes

Fixes in the trace facility and constrained regression.

2015.6.30

New features

Extended tracing facility.

Bug fixes

Fix for segmentation fault when INITIALPOINTS=0.

2015.6.26

A major release. ALAMO adopts a year-month-day version-numbering scheme. The GAMS dependency for lasso regression is eliminated by an in-house Fortran implementation. New radial basis function (RBF) support, an extended trace facility, and a convex-penalty metric have been added. Several reporting improvements expand the information available at the end of each run.

New features

  • Radial basis functions (RBFs) are now available as basis functions.
  • New convex-penalty metric.
  • Native Fortran lasso implementation, eliminating the GAMS dependency for lasso.
  • Listing file now reports R², model sizes, and all quality metrics in addition to RMSE at the end of each run.
  • New GAMSNLPSOLVER option to set the NLP solver used by the constrained-regression routine.

Bug fixes

  • Fixes in constrained regression for large model sizes.
  • Fix to handle spaces in the simulator path.
  • Adopted year-month-day version numbering.

2015.5.30

New features

Listing file now reports the number of points requested from, and returned by, the simulator.

Documentation

Manual now requires the complete path of the simulator.

2014.10

New features

RELERROR and z-scaling are now off by default.

Bug fixes

  • Fix in the calculation of beta-max coefficients.
  • Fix in the GAMS model equation-count limit.
  • Error termination is now signaled when OLR fails.

2014.9

New features

  • LINEARERROR is now allowed with the BARON solver.
  • New BIC and Cp metrics.

2014.8

Bug fixes

Fixed serious issues in the calculation of binomial coefficients that had led to complete enumeration timeouts for problems with more than 17 basis functions.

2014.6

New features

Integrated the most recent constrained-regression routine.

Bug fixes

Fix in output formatting for problems with multiple output variables.

2014.3.1

A substantial release. ALAMO gains explicit support for ordinary least-squares regression, constrained regression, multiple validation data sets, explicit enumeration as a basis-selection strategy, trace-file generation, and a MATLAB/SNOBFIT link for error-maximization sampling. The optimization-solver dependency for unconstrained model building has been eliminated.

New features

  • Multiple validation data sets.
  • Constrained regression and ordinary least-squares regression as basis-selection strategies.
  • Explicit enumeration of basis-function subsets.
  • Trace-file generation.
  • MATLAB/SNOBFIT link for error-maximization sampling.
  • Intelligent initialization of beta bounds.
  • Basis-function scaling.

Algorithmic improvements

Eliminated the dependency on an external optimization solver for unconstrained model building.

2014.2.1

New features

  • New RELERROR option, on by default.
  • Computation and printing of errors on validation data sets.
  • Computation and printing of errors at observed data points.
  • Basis-function scaling.
  • Domain checking for basis-function deactivation.
  • Coefficients in the listing file are now printed with more significant digits.

Bug fixes

Resolved an issue with reading the GAMS results file.

2013.10

Initial public distribution of ALAMO-Fortran, to members of the CCSI Industrial Advisory Board.