Basic Command Configurations
Introduction
This page is to help users that are hosting an Opt-Server to configure the solvers and interpreters that they want to support.
You can configure virtually any solver or command-line tool in your Opt-Server. The instructions below are only for some popular solvers and tools, free and commercial, that you may want your Opt-Server to support.
General Remarks
AMPL
1. Installation (skip if it is already installed):
- Step 1: Purchase AMPL or download one of its free versions (demo, community or academic).
- Step 2: Extract the compressed file you got wherever you want, e.g.
/home/joe/my-programs
2. Add the following to your Opt-Server's
{ "name" : "ampl", "executable" : "/home/joe/my-programs/ampl.linux-intel64/ampl", "mount-readable" : [ "/lib64", "/lib/x86_64-linux-gnu", "/home/joe/my-programs/ampl.linux-intel64" ], "environment-variables" : [ "PATH=/home/joe/my-programs/ampl.linux-intel64", "CPATH=/home/joe/my-programs/ampl.linux-intel64/amplapi/include", "LIBRARY_PATH=/home/joe/my-programs/ampl.linux-intel64/amplapi/lib", "LD_LIBRARY_PATH=/home/joe/my-programs/ampl.linux-intel64/amplapi/lib" ], "auto-mount" : "disabled" }
CMPL
1. Installation (skip if it is already installed):
- Step 1: Install the open source CBC solver.
> sudo apt-get install coinor-cbc coinor-libcbc-dev
- Step 2: Download and extract CMPL wherever you want:
> cd /home/joe/my-programs > wget http://www.coliop.org/_download/Cmpl-2-0-1-linux64.tar.gz > tar xf Cmpl-2-0-1-linux64.tar.gz
2. Add the following to your Opt-Server's
{ "name" : "cmpl", "executable" : "/home/joe/my-programs/Cmpl-2-0-1-linux64/bin/cmpl", "mount-readable" : [ "/lib64", "/lib/x86_64-linux-gnu", "/bin/sh", "/home/joe/my-programs/Cmpl-2-0-1-linux64" ], "environment-variables" : [ "PATH=/home/joe/my-programs/Cmpl-2-0-1-linux64/bin" ], "auto-mount" : "disabled" }
CPLEX
1. Installation (skip if it is already installed):
- Step 1: Purchase CPLEX or download one of its free versions (community or academic).
- Step 2: Run the installer you got, e.g.
./cos-installer.bin . Follow the installer instructions and select the destination folder:Where would you like to install? Default Install Folder: /opt/ibm/ILOG/CPLEX_Studio_Community221 ENTER AN ABSOLUTE PATH, OR PRESS
TO ACCEPT THE DEFAULT : /home/joe/my-programs/CPLEX_Studio_Community221
2. If you would like to execute
{ "name" : "oplrun", "executable" : "/home/joe/my-programs/CPLEX_Studio_Community221/opl/bin/x86-64_linux/oplrun", "mount-readable" : [ "/lib64", "/lib/x86_64-linux-gnu", "/home/joe/my-programs/CPLEX_Studio_Community221" ], "environment-variables" : [ "PATH=/home/joe/my-programs/CPLEX_Studio_Community221/opl/bin/x86-64_linux", "CPATH=/home/joe/my-programs/CPLEX_Studio_Community221/opl/include", "LIBRARY_PATH=/home/joe/my-programs/CPLEX_Studio_Community221/opl/bin/x86-64_linux", "LIBRARY_PATH=/home/joe/my-programs/CPLEX_Studio_Community221/opl/lib/x86-64_linux/static_pic", "LD_LIBRARY_PATH=/home/joe/my-programs/CPLEX_Studio_Community221/opl/bin/x86-64_linux", "LD_LIBRARY_PATH=/home/joe/my-programs/CPLEX_Studio_Community221/opl/lib/x86-64_linux/static_pic" ], "auto-mount" : "disabled" }
3. If you would like to execute
{ "name" : "cplex", "executable" : "/home/joe/my-programs/CPLEX_Studio_Community221/cplex/bin/x86-64_linux/cplex", "mount-readable" : [ "/lib64", "/lib/x86_64-linux-gnu", "/home/joe/my-programs/CPLEX_Studio_Community221" ], "environment-variables" : [ "PATH=/home/joe/my-programs/CPLEX_Studio_Community221/cplex/bin/x86-64_linux", "PYTHONPATH=/home/joe/my-programs/CPLEX_Studio_Community221/cplex/python/3.9/x86-64_linux", "PYTHONPATH=/home/joe/my-programs/CPLEX_Studio_Community221/python/docplex", "CPATH=/home/joe/my-programs/CPLEX_Studio_Community221/cplex/include", "LIBRARY_PATH=/home/joe/my-programs/CPLEX_Studio_Community221/cplex/lib/x86-64_linux/static_pic", "LIBRARY_PATH=/home/joe/my-programs/CPLEX_Studio_Community221/cplex/bin/x86-64_linux", "LD_LIBRARY_PATH=/home/joe/my-programs/CPLEX_Studio_Community221/cplex/bin/x86-64_linux", "CPATH=/home/joe/my-programs/CPLEX_Studio_Community221/concert/include", "LIBRARY_PATH=/home/joe/my-programs/CPLEX_Studio_Community221/concert/lib/x86-64_linux/static_pic" ], "auto-mount" : "disabled" }
4. If you would like to execute
{ "name" : "cpoptimizer", "executable" : "/home/joe/my-programs/CPLEX_Studio_Community221/cpoptimizer/bin/x86-64_linux/cpoptimizer", "mount-readable" : [ "/lib64", "/lib/x86_64-linux-gnu", "/home/joe/my-programs/CPLEX_Studio_Community221/cpoptimizer" ], "environment-variables" : [ "PATH=/home/joe/my-programs/CPLEX_Studio_Community221/cpoptimizer/bin/x86-64_linux", "LIBRARY_PATH=/home/joe/my-programs/CPLEX_Studio_Community221/cpoptimizer/lib/x86-64_linux/static_pic", "CPATH=/home/joe/my-programs/CPLEX_Studio_Community221/cpoptimizer/include" ], "auto-mount" : "disabled" }
GAMS
1. Installation (skip if it is already installed):
- Step 1: Purchase GAMS or get one of the demo versions. You should have a GAMS installer and a GAMS license before continuing. The license is usually sent to your email.
- Step 2: Put the installer you got, e.g.
./linux_x64_64_sfx.exe , inside a directory of your choice, e.g./home/joe/my-programs . -
Step 3: Go to
/home/joe/my-programs and run the installer, which will create a directory in-place. -
Step 4: Go to the extracted fodlder, write your license to
gamslice.txt and run./gamsinst to install the license.
2. Add the following to your Opt-Server's
{ "name" : "gams", "executable" : "/home/joe/my-programs/gams40.1_linux_x64_64_sfx/gams", "mount-readable" : [ "/lib64", "/lib/x86_64-linux-gnu", "/home/joe/my-programs/gams40.1_linux_x64_64_sfx" ], "environment-variables" : [ "PATH=/home/joe/my-programs/gams40.1_linux_x64_64_sfx", "PYTHONPATH=/home/joe/my-programs/gams40.1_linux_x64_64_sfx/apifiles/Python/api_38", "PYTHONPATH=/home/joe/my-programs/gams40.1_linux_x64_64_sfx/apifiles/Python/gams", "CPATH=/home/joe/my-programs/gams40.1_linux_x64_64_sfx/apifiles/C/api", "CPATH=/home/joe/my-programs/gams40.1_linux_x64_64_sfx/apifiles/C++/api", "LIBRARY_PATH=/home/joe/my-programs/gams40.1_linux_x64_64_sfx", "LIBRARY_PATH=/home/joe/my-programs/gams40.1_linux_x64_64_sfx/apifiles/C++/lib", "LIBRARY_PATH=/home/joe/my-programs/gams40.1_linux_x64_64_sfx/apifiles/C/api", "LIBRARY_PATH=/home/joe/my-programs/gams40.1_linux_x64_64_sfx/apifiles/C++/api", "LD_LIBRARY_PATH=/home/joe/my-programs/gams40.1_linux_x64_64_sfx", "LD_LIBRARY_PATH=/home/joe/my-programs/gams40.1_linux_x64_64_sfx/apifiles/C++/lib" ], "auto-mount" : "disabled" }
GLPK
1. Installation (skip if it is already installed):
> sudo apt-get install glpk-utils2. Add the following to your Opt-Server's
{ "name" : "glpsol", "executable" : "/usr/bin/glpsol", "mount-readable" : [ "/lib64", "/lib/x86_64-linux-gnu", "/usr/bin/glpsol" ], "environment-variables" : [ "PATH=/usr/bin" ], "auto-mount" : "disabled" }
MiniZinc
1. Installation (skip if it is already installed):
- Step 1: Install the CBC solver.
> sudo apt-get install coinor-cbc coinor-libcbc-dev
- Step 2: Download and extract MiniZinc wherever you want:
> cd /home/joe/my-programs > tar xf MiniZincIDE-2.6.3-bundle-linux-x86_64.tgz
2. Add the following to your Opt-Server's
{ "name" : "minizinc", "executable" : "/home/joe/my-programs/MiniZincIDE-2.6.3-bundle-linux-x86_64/bin/minizinc", "mount-readable" : [ "/lib64", "/lib/x86_64-linux-gnu", "/home/joe/my-programs/MiniZincIDE-2.6.3-bundle-linux-x86_64" ], "environment-variables" : [ "PATH=/home/joe/my-programs/MiniZincIDE-2.6.3-bundle-linux-x86_64/bin", "LD_LIBRARY_PATH=/home/joe/my-programs/MiniZincIDE-2.6.3-bundle-linux-x86_64/lib", "MZN_STDLIB_DIR=/home/joe/my-programs/MiniZincIDE-2.6.3-bundle-linux-x86_64/share/minizinc" ], "auto-mount" : "disabled" }
Python3
1. Installation: rather than using the Python installation that comes with your operating system, we highly recommend that you explicitly install and configure the specific Python version that you want your Opt-Server to support.
-
Step 1: Install the Python version you want, e.g.
python3.9 .> sudo add-apt-repository ppa:deadsnakes/ppa # <-- not always needed > sudo apt-get install python3.9 > sudo apt-get install python3.9-distutils
-
Step 2: Manually install
pip by running the get-pip.py script with the Python version that you have just installed.> wget https://bootstrap.pypa.io/get-pip.py > python3.9 get-pip.py > python3.9 -m pip install --upgrade setuptools
2. Add the following to your Opt-Server's
{ "name" : "python3", "executable" : "/usr/bin/python3.9", "mount-readable" : [ "/lib64", "/lib/x86_64-linux-gnu", "/usr/lib/python3.9", "/usr/bin/python3.9", "/usr/bin/python3.9:/usr/bin/python3", "/home/joe/.local/bin", "/home/joe/.local/lib/python3.9/site-packages" ], "environment-variables" : [ "PATH=/usr/bin", "PYTHONPATH=/usr/lib/python3.9", "PYTHONPATH=/home/joe/.local/lib/python3.9/site-packages", "PYTHONPATH=/home/joe/.local/bin" ], "file-extensions" : [ "py" ], "auto-mount" : "disabled" }
3. If you want to be able to install packages directly from PIFOP using
{ "name" : "pip3", "executable" : "/usr/bin/python3.9", "prepend-options" : "-m pip", "auto-mount" : "disabled", "enable-network" : true, "inherit-user-id" : true, "admin-only" : true, "mount-readable" : [ "/lib64", "/lib", "/usr/lib", "/etc/resolv.conf", "/usr/bin/python3.9" ], "mount-writable" : [ "/home/joe/.cache/pip", "/home/joe/.local/bin", "/home/joe/.local/share", "/home/joe/.local/lib/python3.9/site-packages", "/dev/null" ], "environment-variables" : [ "PATH=/usr/bin", "PATH=/home/joe/.local/bin", "PYTHONPATH=/usr/lib/python3.9", "PYTHONPATH=/home/joe/.local/lib/python3.9/site-packages", "PYTHONPATH=/home/joe/.local/bin" ] }
SCIP
1. Installation (skip if it is already installed):
- Step 1: Install the dependencies.
> sudo apt-get install unzip libtbb-dev liblapack-dev
- Step 2: Download and extract our build of the open source Ipopt solver.
> cd /home/joe/my-programs > wget https://pifop.com/download/dev/Ipopt-build-3.14.6.zip > unzip Ipopt-build-3.14.6.zip
- Step 3: Download and extract our build of SCIP.
> wget https://pifop.com/download/dev/scipoptsuit-build-8.0.0.zip > unzip scipoptsuit-build-8.0.0.zip
2. Add the following to your Opt-Server's
{ "name" : "scip", "executable" : "/home/joe/my-programs/scipoptsuit-build-8.0.0/bin/scip", "mount-readable" : [ "/lib64", "/lib/x86_64-linux-gnu", "/usr/lib/x86_64-linux-gnu", "/etc/alternatives", "/home/joe/my-programs/scipoptsuit-build-8.0.0", "/home/joe/my-programs/Ipopt-build-3.14.6" ], "environment-variables" : [ "PATH=/home/joe/my-programs/scipoptsuit-build-8.0.0/bin", "LD_LIBRARY_PATH=/home/joe/my-programs/Ipopt-build-3.14.6/lib" ], "auto-mount" : "disabled" }
Xpress
1. Installation (skip if it is already installed):
- Step 1: Purchase Xpress or download one of its demo versions.
- Step 2: Extract the installer and run it.
> tar -xf xp8.14.0_linux_x86_64_setup.tar > cd xp8.14.0_linux_x86_64_setup > ./install.sh
- Step 3: Follow the installer instructions and select the destination folder.
Where do you want to install the Xpress-MP? /home/joe/my-programs/xpressmp
2. Add the following to your Opt-Server's
{ "name" : "mosel", "executable" : "/home/joe/my-programs/xpressmp/bin/mosel", "mount-readable" : [ "/lib64", "/lib/x86_64-linux-gnu", "/home/joe/my-programs/xpressmp" ], "environment-variables" : [ "PATH=/home/joe/my-programs/xpressmp/bin", "CPATH=/home/joe/my-programs/xpressmp/include", "LD_LIBRARY_PATH=/home/joe/my-programs/xpressmp/lib", "XPAUTH_PATH=/home/joe/my-programs/xpressmp/bin/xpauth.xpr" ], "auto-mount" : "disabled" }