IBM Support

CPLEX functionality for column generation and branch and price

Question & Answer


Question

I want to solve a difficult model using column generation or branch and price. Can I do this with CPLEX?

Answer

The CPLEX C, C++, Java, and .NET APIs all provide the functions required to implement most column generation procedures involving linear and quadratic programs (including the root node associated with a MIP or MIQP) fairly quickly. Column generation typically involves a series of optimizations of a master and subproblem, where the solution from one problem is used to modify the other problem. All CPLEX APIs have the necessary functionality to maintain multiple problems, obtain solution values, and add constraints or variables to a problem. For example, look at the CutStock.java or cutstock.cpp example programs provided with the CPLEX software distribution.

When solving MIPs, the CPLEX APIs offer limited functionality to apply column generation to child node problems (also known as branch and price). This limitation arises because CPLEX does not directly permit the modification of node problems, a modification which is essential for column generation in the CPLEX branch and bound algorithm.

IBM offers a wide variety of optimization consulting services, including development of column generation applications when suitable. Click here for more information and contacts.

[{"Product":{"code":"SSSA5P","label":"IBM ILOG CPLEX Optimization Studio"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Mathematical Programming","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.2;9.1.3;9.1.2;9.1;9.0;8.1;8.0;7.5;7.1;7.0;6.6;12.5.0.1;12.5;12.4;12.3;12.2;12.1;12.0;11.2.1;11.2;11.1.1;11.1;11.0.1;11.0;10.3;10.2.1;10.2;10.1.1;10.1;10.0","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}},{"Product":{"code":"SSSA5P","label":"IBM ILOG CPLEX Optimization Studio"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF017","label":"Mac OS"}],"Version":"12.2","Edition":"All Editions","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Historical Number

cplex/FAQ/93

Document Information

Modified date:
16 June 2018

UID

swg21400010