source: html/ch01s02.html @ 2188

Last change on this file since 2188 was 561, checked in by ladanyi, 13 years ago

Cbc static pages moved

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
2<html xmlns="http://www.w3.org/1999/xhtml"><head><title>
3  Prerequisites
4  </title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"/><link rel="home" href="index.html" title="CBC User Guide"/><link rel="up" href="ch01.html" title="Chapter 1. &#10;    Introduction&#10;  "/><link rel="previous" href="ch01.html" title="Chapter 1. &#10;    Introduction&#10;  "/><link rel="next" href="ch01s03.html" title="Preliminaries"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
5  Prerequisites
6  </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center">Chapter 1. 
7    Introduction
8  </th><td width="20%" align="right"> <a accesskey="n" href="ch01s03.html">Next</a></td></tr></table><hr/></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id2976757"/>
9  Prerequisites
10  </h2></div></div><div/></div><p>
11  The primary users of CBC are expected to be developers implementing customized branch-and-cut algorithms in C++ using CBC as a library. Consequently, this document assumes a working knowledge of
12  <a href="http://www.cplusplus.com/doc/tutorial/" target="_top">C++</a>, including basic
13  object-oriented programming terminology, and familiarity with the fundamental concepts of
14  <a href="http://carbon.cudenver.edu/~hgreenbe/courseware/LPshort/intro.html" target="_top">
15  linear programming</a> (LP) and
16  <a href="http://carbon.cudenver.edu/~hgreenbe/courseware/MIP/intro.html" target="_top">
17  mixed integer programming</a> (MIP).
18  </p><p>
19
20CBC relies on other parts of the COIN repository. CBC needs a LP solver and relies on the COIN Open Solver Inteface (OSI) to communicate with the user's choice of solver. Any LP solver with an OSI interface can be used with CBC. The LP solver expected to be used most commonly is COIN's native linear program solver, CLP. For cut generators, CBC relies on the COIN Cut Generation Library (CGL). Any cut generator written to CGL standards can be used with CBC. Some of the cut generators in CGL rely on other parts of COIN, e.g., CGL's Gomory cut generator rely on the factorization functionality of <tt class="classname">CoinFactorization</tt>. This document assumes basic familiarity with OSI and CGL.
21</p><p>
22Technically speaking, CBC accesses the solver (and sometime the model and data it contains) through an <tt class="classname">OSISolverInterface</tt>. For the sake of simplicity, we will refer to the <tt class="classname">OsiSolverInterface</tt> as "the solver" in this document, rather than "the standard application programming interface to the solver." We hope any confusion caused by blurring this distinction will be mitigated by the shorter sentences. 
23 
24</p><p>
25In summary, readers should have the following prerequisites:
26   </p><div class="itemizedlist"><ul type="disc"><li>C++ knowledge,</li><li>LP and MIP fundamentals, and </li><li>OSI familiarity.</li></ul></div><p>
27</p></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. 
28    Introduction
29   </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Preliminaries</td></tr></table></div></body></html>
Note: See TracBrowser for help on using the repository browser.