The JCCOptim library contains Java programs for the management of call centers. The main programs are developed for the agent staffing and scheduling optimization, and also call-to-agent routing optimization. Several queueing formulas, such as Erlang A (abandonment), Erlang B and C, are also available. This package uses heavily the (free) Java libraries ContactCenters and SSJ for the modeling and simulation of call centers.
JCCOptim has been developed mostly during the master and doctorate degrees of Wyean Chan, under the supervision of Prof. Pierre L'Ecuyer, at the Department of Computer Science and Operations Research of Université de Montréal. This library contains original algorithms developed by the author and also implementations of methods from scientific papers written by other researchers.
Java 6 is required to run these programs, however Java 8 is recommended. The required libraries are included in the folder 'lib'.
Note that this library does not contain any LP or MIP solver. The user must install the LP/MIP solver library he wants to use in order to run the cutting-plane optimization. In particular, many staffing optimization programs that solve linear and integer problems have been hard-coded to use Ilog Cplex.
This software is provided as is and free to use for personal, academic and non-commercial usage. This software is provided without warranty of any kind.
As a Java library, the methods and algorithms are accessible and can be integrated
into the user's own program.
The library also provides many executable programs (implemented as the
that can be executed in terminal or command line.
This library contains multiple packages, with each package usually designed for a particular type of problem.
Last update: 2015-08-24
Download the JCCOptim JAR file.
View the JAR dependency files. (Look here if you're missing a JAR file.)
Implemented Java solver interface : Ilog Cplex (tested with Cplex 8, 9 and 12), Apache.org Solver and
Later version of Cplex should be compatible.
The solver interfaces can be downloaded here. Unzip the file and add the parent folder to the CLASSPATH. For example, if the zip file is unzipped in folder
lib, then add the path to folder
to the CLASSPATH.
Unfortunately, Opsresearch has been discontinued since many years and it seems to have disappeared from the web. Their jar package is made available here: or124.jar.
Here are some examples of XML files that are required by the programs in JCCOptim. The user can use these files to test the programs or to customize the parameters.
For example, the files batchSimParams.xml and repSimParams.xml contain parameters for the simulator. The file cp.xml contains the optimization parameters for CuttingPlaneOptimizer. To solve example ex4.xml with this program, the user can execute the following command in the terminal:
java umontreal.iro.lecuyer.ccoptim.cp.CuttingPlaneOptimizer ex4.xml batchSimParams.xml cp.xml
(Sorry, I will give a better description of the examples in the future.)
Looking for a call center simulation software? Check out our project ContactCenters.
. . , edn., () : chap. , . .
Here is a partial list of the scientific publications that have been implemented in this library: