Contents
view
Description
CPLEX Optimizer provides flexible and high-performance mathematical programming solvers for linear programming, mixed-integer programming, constraint programming, and quadratic constraint programming problems. These solvers include a distributed parallel algorithm for mixed-integer programming to leverage multiple computers to solve challenging problems.
Setting up the environment
- Loading the cplex module
ml optimizer/cplex
or
ml optimizer/cplex/12.8.0
- Available version : 22.1.1.0 (limited version) and 12.8.0 (academic version)
Tutorials
Access to the software
- Loading the cplex module
- Type in
cplex
command line
$ ml optimizer/cplex/22.1.1.0
$ cplex
Welcome to IBM(R) ILOG(R) CPLEX(R) Interactive Optimizer Community Edition 22.1.1.0
with Simplex, Mixed Integer & Barrier Optimizers
5725-A06 5725-A29 5724-Y48 5724-Y49 5724-Y54 5724-Y55 5655-Y21
Copyright IBM Corp. 1988, 2022. All Rights Reserved.
Type 'help' for a list of available commands.
Type 'help' followed by a command name for more
information on commands.
CPLEX> help
add add constraints to the problem
baropt solve using barrier algorithm
change change the problem
display display problem, solution, or parameter settings
enter enter a new problem
feasopt find relaxation to an infeasible problem
help provide information on CPLEX commands
mipopt solve a mixed integer program
netopt solve the problem using network method
optimize solve the problem
populate get additional solutions for a mixed integer program
primopt solve using the primal method
quit leave CPLEX
read read problem or advanced start information from a file
set set parameters
tools tools for analysis and debugging of models
tranopt solve using the dual method
write write problem or solution information to a file
xecute execute a command from the operating system
Enter enough characters to uniquely identify commands & options. Commands can be
entered partially (CPLEX will prompt you for further information) or as a whole.
CPLEX> quit
Launching a job
For launching the job, we need 2 input files in addition to the launch script:
- the file containing the problem to solve
- a
cplex
command file
Description of the toy example
Minimize – x1 – 2 x2 – 3 x3 with the following constraints :
- x1 + x2 + x3 <= 20
- x1 – 3 x2 + x3 <= 30
- 3 x1 + 2 x2 – x3 >= 100
- x3 – 4 x4 <= 40
- 0 <= x1 <= 40
- x2 >= 10
- 0 <= x3 <= 100
- All other variables are >= 0.
File example.mps containing the problem
NAME
ROWS
N obj
L c1
L c2
G c3
L c4
COLUMNS
x1 obj -1 c1 -1
x1 c2 1 c3 3
x2 obj -2 c1 1
x2 c2 -3 c3 2
x3 obj -3 c1 1
x3 c2 1 c3 -1
x3 c4 1
x4 c4 -4
RHS
rhs c1 20 c2 30
rhs c3 100 c4 40
BOUNDS
UP bnd x1 40
LO bnd x2 10
UP bnd x3 100
ENDATA
cplex
command file
The following commands ask to find :
- an optimization of the problem described in the example.mps file
- display the problem
- display the solution for the 4 variables x1, x2, x3 and x4
- display the quality of the solution
- then quit
cplex
read example.mps
optimize
display problem all
display solution variables 1-4
display solution quality
quit
Script to launch a cplex job
We assume that the script is called launch_cplex.sh.
#!/bin/sh
#SBATCH --job-name=test_cplex
#SBATCH --partition=normal-amd # submission queue
#SBATCH --time=1:00:00 # 1-1 means one day and one hour
#SBATCH --mem=8G # T-tera, G-giga, M-mega
#SBATCH --cpus-per-task=1
#SBATCH --ntasks-per-node=1
#SBATCH --nodes=1
ml optimizer/cplex
cplex -f mycplexcommands.txt
Submitting the job
sbatch launch_cplex.sh
Search for examples
Here is a command to search for other toy examples :
ml help optimizer/cplex