Both GAMS MIRO Desktop - boosted by GAMS Engine and GAMS MIRO Server are currently under development. This part of the documentation is updated regularly.
Both GAMS MIRO Desktop - boosted by GAMS Engine and GAMS MIRO Server are currently under development. This part of the documentation is updated regularly.
In the most basic setup - GAMS MIRO Desktop - both the MIRO application and GAMS itself are installed on the same computer and run exclusively on this machine. But MIRO is not limited to this setup: You can run your MIRO applications locally, but solve the GAMS jobs in the cloud. For you nothing changes, the MIRO interface remains the same. We call this setup GAMS MIRO Desktop - boosted by GAMS Engine. GAMS Engine is a product based on Docker, which uses state-of-the-art technology to handle the entire job management, scheduling and load balancing of your computationally intensive optimization problems. The same technology is also used for the last MIRO setup: GAMS MIRO Server. GAMS MIRO Server allows you to run both the GAMS execution engine as well as the MIRO application itself in the cloud. Your optimization applications can then be accessed from any device with a modern web browser like a PC, smartphone or tablet.
Both GAMS MIRO Desktop - boosted by GAMS Engine and GAMS MIRO Server are not part of GAMS MIRO Desktop, but must be purchased separately. Please contact sales@gams.com if you are interested in one of these setups.
Both GAMS MIRO Server and GAMS MIRO Desktop - boosted by GAMS Engine - the latter already carries the name - make use of the GAMS Engine to run GAMS jobs on one or more servers. The following section explains how to set up GAMS MIRO Server.
The following installation instructions refer exclusively to the installation of GAMS MIRO Server. The corresponding installation steps have to be performed on the server used for this purpose.
Since GAMS MIRO Server is based on Docker technology, both Docker and docker-compose must be installed on the server first.
To use the Docker CLI without sudo, you must add your user to the docker group.
If you have purchased GAMS MIRO Server, GAMS will provide you with a ZIP file that contains everything you need to get started.
GAMS MIRO applications will later be stored at this location.
Environment Variable Name | Environment Variable Value | Example |
---|---|---|
GMS_MIRO_ENGINE_HOST | IP adress and port/DNS of Engine | https://miro.gams.com/engine/api |
GMS_MIRO_ENGINE_NS | Namespace to use for GAMS MIRO Server | miro_server |
GMS_MIRO_ENGINE_USER | Name of a user that is an inviter (or admin) inside the given namespace | miro_server_admin |
GMS_MIRO_ENGINE_PWD | Password of the user | miro_server_admin_password |
Once you have GAMS MIRO Server installed, you can launch it via
To update GAMS MIRO Server to the latest version, run
To stop a running instance of GAMS MIRO Server, run
To remove GAMS MIRO Server including all data associated with it from your server, run
The entire customization in GAMS MIRO Server is done in the file data/application.yml. Here you can add/remove users, change the authentication method or the language of GAMS MIRO.
Please make sure each user is assigned to at least one group. MIRO does not support assigning users to no group at all!
We suggest to run GAMS MIRO Server behind a reverse proxy such as nginx. The following configuration will allow you to access GAMS MIRO Server on the root of your server:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
location / {
proxy_pass http://127.0.0.1:8080;
client_max_body_size 200M;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 600s;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
You may want to host MIRO Server on a different path. To do this, you must adjust the context path in the file application.yml accordingly (server.servlet.context-path).
Note that with SELinux active (e.g. CentOS/RHEL), you have to allow your nginx server to proxy to the upstream MIRO Server host. You can do so by running:
With GAMS MIRO Desktop - Boosted by GAMS Engine, you can solve GAMS jobs in the cloud with your locally running MIRO applications. This requires an instance of GAMS Engine to solve the GAMS jobs. In order to use switch from executing your optimization jobs on your local machine to solving them in the cloud you only have to activate the checkbox "Execution of models on GAMS Engine" in the preferences of GAMS MIRO.
The next time you start a MIRO application a login button appears in the upper right corner. Click on it in order to connect to GAMS Engine.
You can use GAMS Engine for both MIRO applications that are still under development (started via GAMS Studio) and for already deployed apps.
In the login form, there are two additional checkboxes:
Is your model registered in the namespace?
If a GAMS job is to be solved in the cloud, the GAMS model must be available on the corresponding server for the namespace you chose. There are two possibilities:
Remember me
Your credentials will be saved so that you will not have to log in again the next time you start the application.