CLP User Guide

John Forrest

IBM Research

David de la Nuez

Columbia University & IBM Research

Robin Lougee-Heimer

IBM Research
CLP and this documentation are provided under the terms of the Common Public License ("CPL"). Any use, reproduction or distribution of the programs constitutes the recipient's acceptance of the license. The CPL is approved by the Open Source Initiative. IBM Corporation, the author of the CPL, has a CPL FAQ available which is based on IBM's understanding of the CPL.

Table of Contents

1. Introduction
Welcome to CLP!
Prerequisites
2. Basic Model Classes
Hierarchy
First Example
Getting at the Solution
Building and Modifying a Model
Tolerances
Some Useful Set and Get Methods
Simplex-specific Methods
Presolve
Status Array
3. Not-Quite-So-Basic Model Classes
Pivot Choices
Matrix Classes
Message Handling
4. More Samples
CLP's Samples Directory
minimum.cpp
defaults.cpp
driver.cpp
network.cpp
testBarrier.cpp
dualCuts.cpp
decompose.cpp
driver2.cpp
Common CLP Tasks in the Samples
5. The CLP Executable
Quick Start
Online Help and Basic Usage
A Sample Session
6. Messages
A. FAQ
B. Doxygen
C. Revision History

List of Tables

2.1. Methods for getting solution information
2.2. Some Useful Set and Get Methods
2.3. Common Simplex-specific methods
2.4. Possible states of a variable
4.1. Basic Samples
4.2. Advanced Samples
4.3. Unsupported Samples
4.4. Contents of the Samples directory
5.1. Command examples for the clp executable
6.1. COIN Messages passed at or above logging level 1
6.2. CLP Messages passed at or above logging level 1
6.3. COIN Messages passed at or above logging level 0
6.4. CLP Messages passed at or above logging level 0

List of Examples

2.1. minimum.cpp
2.2. Possible extension of minimum.cpp
2.3. Presolve code fragment
3.1. Sophisticated message handling