lp.h File Reference

linear program. More...

#include "abacus/array.h"
#include "abacus/optsense.h"
#include "abacus/lpvarstat.h"
#include "abacus/slackstat.h"
#include "abacus/cputimer.h"

Go to the source code of this file.

Classes

class  ABA_LP
 section provides a generic interface class to linear programs, from which we will derive further classes both for the solution of LP-relaxations (ABA_LPSUB) with a \ algorithm and for interfaces to LP-solvers (ABA_OSIIF). More...


Detailed Description

linear program.

Author:
Matthias Elf
The following section provides a generic interface class to linear programs, from which we will derive further classes both for the solution of LP-relaxations (ABA_LPSUB) with a \ algorithm and for interfaces to LP-solvers (ABA_OSIIF).

The framework should be very flexible in the use of different LP-solvers. Therefore, we implement in the class ABA_LP a very general interface to the linear program. All functions of the framework communicate with the linear program only by the public functions of the class ABA_LP.
The public functions call pure virtual functions starting with the prefix _, which have to be implemented in the derived class for each specific LP-solver.
Linear programs cannot only be used for solving the LP-relaxation within the \ algorithm. There are also techniques in integer programming where linear programming is used for generating cutting planes and for applying heuristics. Therefore, we design the class ABA_LP that it can be used very generally.
License:
This file is part of ABACUS - A Branch And CUt System Copyright (C) 1995 - 2003 University of Cologne, Germany
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
See also:
http://www.gnu.org/copyleft/gpl.html

Definition in file lp.h.


Generated on Tue Aug 14 18:09:55 2007 for ABACUS by  doxygen 1.5.1