This page is for general questions about using ALAMO and solutions to common error messages. For further technical support, please email info@minlp.com.
General
What is ALAMO?
ALAMO is a powerful machine learning software used by over 500 engineers and data scientists in industries including automation, chemicals, pharmaceuticals, computer software, and manufacturing since its launch in 2018. To learn more, read our Company Brochure or watch the ALAMO Tutorial.
How can I get a license for ALAMO?
To get a license, please see our ALAMO Licenses page for license options.
Can I try ALAMO for free for commercial use?
Commercial users can pay $200 for a monthly license to evaluate the product at minimal cost. After your monthly license expires, we are happy to apply the amount paid for your initial license to your next purchase of either a perpetual or annual license.
What if I generated a license but still haven’t received it?
Please check your spam folder or whitelist licenses@theoptimizationfirm.com and try again.
What if I get a browser error when trying to register for an ALAMO license?
Try registering through a different browser or contact us to generate a license for you.
What if I am a sponsor of CAPD, but my free license has expired?
You can renew your license online for free for as long as your company remains a member of the CAPD.
Can national research labs get free ALAMO licenses?
Yes! You can create a user account and request your free license here
Error Messages and Solutions
What if I get the error, ‘ALAMO terminated with termination code 1. ALAMO must be called with exactly one command-line argument’?
Provide an ALAMO input file as the command line argument when you launch ALAMO.
What if I get the error, ‘Error while attempting to access the external simulator’?
Ensure that your simulator exists and can be found in your system PATH or specify its complete path through ALAMO’s SIMULATOR option. ALAMO will execute the simulator in a scratch directory it generates during its run; hence, the simulator should not rely on any relative paths to access other programs or files.
What if I get an error saying that my license is not valid for this version of ALAMO after installing the software?
Make sure you are using the latest ALAMO version and generate a new license online. Please send us a screenshot of ALAMO's output to diagnose the problem if the error message persists.
What if I get the error, 'ALAMO executable was not found in the path. Add ALAMO executable in the path and re-run ALAMO GUI'?
If in Windows, follow the instructions here: https://www.computerhope.com/issues/ch000549.htm
If using Mac: https://www.cyberciti.biz/faq/appleosx-bash-unix-change-set-path-environment-variable/
Then, restart the terminal and operating system.
What version of Java do I need to run the ALAMO GUI?
We recommend using Java version 21.0.1 (released on 2023-10-17) or a newer version.
What if I can run ALAMO from the command line but cannot run it from the GUI?
Check your Java version. We recommend using Java version 21.0.1 (released on 2023-10-17) or a newer version.
Capabilities
Where can I find tutorials on how to use ALAMO?
Please look under the examples folder of the ALAMO distribution. The folder contains several examples of how to use ALAMO. You can also find tutorials and short demos on our YouTube channel.
Where can I find an example to demonstrate how to use the constrained regression feature of ALAMO?
For using the constrained regression feature, please see Section 6.4 in the ALAMO User Manual.
How does ALAMO perform adaptive sampling?
We pose the sampling problem as an optimization problem to find points in the domain that maximize the deviation between the simulator and ALAMO's current surrogate model. These simulation-optimization problems must be solved in the absence of derivative information, i.e., they are 'black-box optimization problems.' ALAMO comes with an implementation of the SNOBFIT algorithm (from Neumaier's group in Vienna) for solving black-box optimization problems.
Why do I need to supply at least one data point?
In the sampling stage of the algorithm, ALAMO cannot proceed unless you provide at least one data point. Without it, ALAMO will terminate.
How can I use a simulator with ALAMO?
ALAMO communicates with simulators through text files. To use a simulator with ALAMO, the user must provide a wrapper to the simulator in order to deal with the data exchange between ALAMO and the simulator. This wrapper needs to read an ALAMO text file with the points requested by ALAMO to be simulated, call the simulator at these points, and return the simulation results to ALAMO through another text file. To understand how this process work, we provide a folder with examples in your ALAMO installation. On a Windows system, this folder is likely located at C:\alamo\examples. On a Linux system, it may be under /usr/local/alamo/examples. The examples folder includes many examples of using ALAMO with simulators, including MATLAB, Python, and direct executables. In all cases, all you need to write is a wrapper to the specific simulator. The best way to get started with these is to look into a specific example. For instance, if you are comfortable using Python in a Windows environment, look into the folder named batpython and consider example e1.alm. This is a text file that can be opened in any editor and includes the line:
simulator e1.bat
This line instructs ALAMO to use the executable e1.bat as the simulator. All e1.bat is doing is launching Python through the command:
python2.7 C:\alamo\e1.py
In this line, Python Version 2.7 can be replaced by the one available in your system. Then, consider the contents of e1.py, which is also provided in the same folder. For this example, the actual simulator is in line 28 of e1.py, where the function x^2 is computed. All other lines in e1.py deal with input/output operations. In particular, they read input.txt to obtain the points that ALAMO wants to be simulated, run the simulator in line 28, and write the simulator results for ALAMO to read from file output.txt.
Overall, keep in mind that ALAMO communicates with simulators with text files. All you need to do in order to utilize a process simulator is replace line 28 in e1.py with a sequence of commands that will fire up the simulator, provide it with the simulation point, and collect the simulation results.
How can I set up multiple outputs to be read by the simulator?
In SIMOUT, the simulator must return a number of lines, each containing a point in the input variable space (space-separated NINPUTS reals) where a simulation was performed, along with the corresponding output variable values (space-separated NOUTPUTS reals). In other words, each line contains NINPUTS+NOUTPUTS reals that are space-separated.
How can I combine a simulator or some data sets in Python with ALAMO?
Please look under the examples folder of the ALAMO distribution. The folder contains several examples of how to use ALAMO with a simulator in Python, Matlab, or any other executable.
Can I use Aspen or GAMS as the simulator?
You can do a system call from Python, Fortran, C, bash, or bat and call an Aspen or GAMS executable.
How can I do data split?
Data splitting is required by other surrogate model-building algorithms but not by ALAMO. For algorithms such as neural network training, users are required to do cross-validation to tune hyperparameters and have to set aside a small portion of their data set for final testing. ALAMO does not have such requirements because it relies on information criteria, such as the Bayesian information criterion, Akaike's information criterion, and others, that are known to be equivalent to leave-one-out-cross-validation. This is advantageous because all your measurements can be used for model building. As a result, in comparison to neural networks and other similar techniques, ALAMO requires a much smaller number of measurements to build models.
How can I modify the parameter “NINPUTS” with the GUI?
You cannot change it in the GUI version of the software. Specifying NINPUTS in the GUI is not needed. Once you have specified NOUTPUTS, ALAMO will subtract that number from the number of columns in the spreadsheet to calculate NINPUTS.
What is 'INITIALPOINTS' in the alm file?
NDATA is the number of measurements the user has from a pre-existing data set obtained outside ALAMO.
NSAMPLE is the number of points to be generated via sampling by ALAMO before any model is built.
If INITIALPOINTS is declared by the user, NSAMPLE will be ignored and set equal to the difference between INITIALPOINTS and NDATA; otherwise, INITIALPOINTS will be set equal to the sum of NDATA and NSAMPLE.
How do I use part of my dataset for model development and the other part for testing the model?
You can use NPREDDATA for points for which you are only interested in using for predictions. You can use the options NVALSETS and NVALDATA to specify points for testing.
How do I know which options to select under the ALAMO RUN tab?
You can see demos here and here. For a more extensive description of the methods behind ALAMO, you can see a demo through the Python interface in this tutorial (starting at about 17:37).
For a complete description of all the options, please see the ALAMO User Manual.
How can I get further technical support?
Please get in touch with info@minlp.com, and our technical team will get back to you. In your email, please attach a screenshot of any warning or error messages you are getting. This allows us to investigate the issue and provide better insights.