Java implementation for Benders Decomposition
This is an implementation of Benders decomposition using Java programming language. The code uses CPLEX for solving Mixed-integer programs and Linear programs.
It uses two types of files .mps file and .tim file. .mps file is used to read the model, and .tim is used to identify the variables and constraints for master and sub problem.
java -Xms32m -Xmx1g -Djava.library.path=<location of \cplex\bin\x64_win64 dir> -classpath bd.jar;<location of \cplex.jar> com.project.optimizer.Optimizer CEP1 > CEP1.txt
CEP1 is the name of the instance. CEP is a standard 'capacity expansion for planning' instance. A successful run will create the following output:
Selected objective sense: MINIMIZE Selected objective name: COST Selected RHS name: RHS
Selected objective sense: MINIMIZE Selected objective name: COST Selected RHS name: RHS
Algorithm Starts: LB: 32099.999999999767 UB: 1800000.0 Iter: 1 LB: 89502.02887858287 UB: 113716.66666666651 Iter: 2 LB: 90199.99999999965 UB: 92025.42158515981 Iter: 3 LB: 90199.99999999974 UB: 90199.99999999965 Iter: 4 Algorithm Ends:
Total Time Taken (Secs): 0
To cite the code used in this repository, use the following citation:
S. Venkatachalam. Java Code for Benders Decomposition. https://github.com/saran-v/Java-code-for-Benders-Decomposition/, 2020.