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"
}