search index
No, BARON's parser does not support iterative model construction—all variables and constraints must be defined explicitly. For large models, users typically generate BARON input files programmatically using C, C++, or other languages, or use modeling interfaces like Pyomo or MATLAB, which offer more convenient ways to handle large-scale formulations.
BARON guarantees global optimality for a broad class of factorable nonlinear programs—problems that can be written as recursive compositions of sums and products of univariate functions such as powers, exponentials, and logarithms. These guarantees hold as long as the domains of all functions are bounded.
For more details, see Section 2 of the BARON User Manual, and explore the BARON Optimization Test Problems for examples of solvable models.
Configuring BARON in Pyomo is the same as with other solvers. You can try something like this example.
Use BARON's file name options to set custom paths. For example:
On UNIX/Linux/macOS:
TimName: "/home/username/mytim.lst";On Windows:
TimName: "C:\Users\username\mytim.lst";
You can set similar options for BARON's results, summary, and other output files.
Use Pyomo's keepfiles=True option to view the .bar file generated for BARON. Refer to this example.
Please email info@minlp.com for assistance. To help us diagnose the issue more effectively, include the following in your message:
- A screenshot of any warning or error messages
- Your
.barfile (if BARON runs) related to the problem
This information helps our technical team investigate and provide targeted support.
Use the custom option. See https://minlp.com/mat-bar-baronset.
We recommend using Java version 21.0.1 (released on 2023-10-17) or newer. Make sure to install the Java Development Kit (JDK)—the Java Runtime Environment (JRE) alone is not sufficient.
This issue is likely related to your Java version. We recommend using Java version 21.0.1 (released on 2023-10-17) or a newer version to ensure proper functionality of the GUI.
The issue is likely due to an insufficient Java version. We recommend updating to the most recent version of Java and installing the Java Development Kit (JDK).
Using BARON with Pyomo is simple—just replace the solver name in your existing Pyomo code (e.g., change IPOPT to BARON).
For a small usage example, see e03.py.
For additional resources:
- BARON FAQ (search for “Pyomo”)
- Optimization Test Problems (see the “global” and “prince” libraries for thousands of Pyomo models)