The GAMS Java control API provides a Java programming interface to the General Algebraic Model System (GAMS). GAMS Java API objects allow a convenient way to exchange input data and model results with in-memory representation of data (GAMSDatabase), and to create and run GAMS models (GAMSJob) that can be customized by GAMS options (GAMSOptions). Furthermore, they introduce a way to solve a sequence of closely related model instances in a more efficient way (GAMSModelInstance).
The underlying GAMS engine relies to some extent on file based communication (e.g. the listing file) and other resources. The use of Java Control API in the Java environment requires special attention when resource management is a critical issue in the application. Some Control API objects need to be properly disposed by releasing external resources they hold before they are removed from the memory.
A GAMS program can include other source files (e.g. $include), load data from GDX files (e.g. $GDXIN or execute_load), and create PUT files. All these files can be specified with a (relative) path and therefore an anchor into the file system is required. The base object GAMSWorkspace manages the anchor to the file system.
With the exception of GAMSWorkspace the objects in the gams namespace cannot be accessed across different threads unless the instance is locked. The classes themselves are thread safe and multiple objects of the class can be used from different threads (see below for restrictions on solvers that are not thread safe within the GAMSModelInstance class).
Currently only Cplex, Gurobi, and SoPlex fully utilize the power of solving GAMSModelInstances. Some solvers will not work in a multi-threaded application using GAMSModelInstances. For some solvers this is unavoidable because the solver library is not thread safe (e.g. MINOS), other solvers are in principle thread safe but the GAMS link is not (e.g. SNOPT). Moreover, GAMSModelInstances are not available for quadratic model types (QCP, MIQCP, RMIQCP).
Java Control API does not provide support for the following GAMS components: acronyms, GAMS compilation/execution errors, structured access to listing file, and solver options.
Here you can find a list of all classes with descriptions that are available in the Java control API. The tutorials provide an overview of the basic functionality of the API and the examples provide a list of examples that are available with the GAMS distribution.
The GAMS Java API works with Java SE 11 or later. The non-mainstream version of Java API that works with Java SE 8 is still available with maintenance support, but the functionality that is newer than GAMS 43 will be not available in this version. See Java Release Notes and Java Tutorial for more details.
Here you can find a list of all classes with descriptions that are available in the Java control API. The tutorials provide an overview of the basic functionality of the API and the examples provide a list of examples that are available with the GAMS distribution.
The GAMS Java API works with Java SE 11 or later. The non-mainstream version of Java API that works with Java SE 8 is still available with maintenance support, but the functionality that is newer than GAMS 43 will be not available in this version. See Java Release Notes and Java Tutorial for more details.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4