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.
LICENSESandTHIRD-PARTY-LICENSESfiles 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, andRATIOSLIM.
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
deltatermmechanism 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
glibcupgrade. - 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 (withMACOSX_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
NBANKpoints 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
NBANKoption: 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
.almfiles containing comments. - Adaptive sampling now continues when factorization in
dgetrifails 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
-hcommand-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
.almfile 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
BACKSTEPPERandGREEDYBACKoptions: apply a backward-elimination heuristic during model building. - New
DATALIMITTERMSandNUMLIMITBASISoptions. - 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
EXCLUDEfeature: 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
LINFCNSoption for linear basis functions. - New
GREEDYBUILDoption, on by default. - New
XPREDATAoption: print predicted values for a user-specified data set. - Listing file now reports the basis functions chosen for each output.
- Renamed the
RBFoption toGRBFCNS.
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
MADpmodeler (modeler #8). - New
LASSOPATHmechanism for warm-starting model selection (off by default). - Default
FUNFORMis 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
TOLSSEoption: 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
ZISINTcapability for modeling integer-valued outputs via rounding. - Validation sets are now scaled when
XSCALINGis 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
BUILDERheuristic for solving the model-selection MINLP. - Completed the
PRINT_TO_SCREENoption. - New
SOLVEMIPoption. By default, the MIP solver and enumeration are now off whenBUILDERis on.
2016.1.16
New features
- New
RICmetric. - New facility to generate validation points.
- New Python plotting utility.
- New convergence criteria:
TOLRELMETRICandTOLABSMETRICreplaceTOLMEANERROR.
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
SIMINandSIMOUTparser 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
GAMSNLPSOLVERoption 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
LINEARERRORis 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
RELERRORoption, 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.