/home/coin/SVN-release/Osi-0.102.2/CoinUtils/src/CoinPresolveMatrix.hpp File Reference

#include "CoinPragma.hpp"
#include "CoinPackedMatrix.hpp"
#include "CoinMessage.hpp"
#include "CoinTime.hpp"
#include <cmath>
#include <cassert>
#include <cfloat>

Include dependency graph for CoinPresolveMatrix.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CoinPresolveAction
 Abstract base class of all presolve routines. More...
class  CoinPrePostsolveMatrix
 Collects all the information about the problem that is needed in both presolve and postsolve. More...
class  presolvehlink
 Links to aid in packed matrix modification. More...
class  CoinPresolveMatrix
 Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolve. More...
class  CoinPostsolveMatrix
 Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsolve. More...

Defines

#define deleteAction(array, type)   delete [] array
#define PRESOLVEASSERT(x)   {}
#define PRESOLVE_STMT(s)   {}
#define PRESOLVE_INF   COIN_DBL_MAX
#define NO_LINK   -66666666
#define PRESOLVEFINITE(n)   (-PRESOLVE_INF < (n) && (n) < PRESOLVE_INF)

Functions

void DIE (const char *)
int ALIGN (int n, int m)
int ALIGN_DOUBLE (int n)
void presolve_delete_many_from_major (int majndx, char *marked, const CoinBigIndex *majstrts, int *majlens, int *minndxs, double *els)
double * presolve_dupmajor (const double *elems, const int *indices, int length, CoinBigIndex offset, int tgt=-1)
 Duplicate a major-dimension vector; optionally omit the entry with minor index tgt.
void coin_init_random_vec (double *work, int n)
 Initialize an array with random numbers.

Variables

const double ZTOLDP = 1e-12
 Zero tolerance.
const double ZTOLDP2 = 1e-10


Detailed Description

Declarations for CoinPresolveMatrix and CoinPostsolveMatrix and their common base class CoinPrePostsolveMatrix. Also declarations for CoinPresolveAction and a number of non-member utility functions.

Definition in file CoinPresolveMatrix.hpp.


Define Documentation

#define deleteAction ( array,
type   )     delete [] array

Definition at line 30 of file CoinPresolveMatrix.hpp.

Referenced by drop_empty_cols_action::~drop_empty_cols_action(), drop_empty_rows_action::~drop_empty_rows_action(), drop_zero_coefficients_action::~drop_zero_coefficients_action(), make_fixed_action::~make_fixed_action(), slack_doubleton_action::~slack_doubleton_action(), and slack_singleton_action::~slack_singleton_action().

#define PRESOLVEASSERT (  )     {}

Definition at line 58 of file CoinPresolveMatrix.hpp.

#define PRESOLVE_STMT (  )     {}

Definition at line 59 of file CoinPresolveMatrix.hpp.

Referenced by CoinPresolveMatrix::change_bias().

#define PRESOLVE_INF   COIN_DBL_MAX

Definition at line 72 of file CoinPresolveMatrix.hpp.

Referenced by CoinPrePostsolveMatrix::setColumnStatus().

#define NO_LINK   -66666666

Definition at line 691 of file CoinPresolveMatrix.hpp.

Referenced by presolvehlink::PRESOLVE_MOVE_LINK(), and presolvehlink::PRESOLVE_REMOVE_LINK().

#define PRESOLVEFINITE (  )     (-PRESOLVE_INF < (n) && (n) < PRESOLVE_INF)

Definition at line 1415 of file CoinPresolveMatrix.hpp.


Function Documentation

void DIE ( const char *   )  [inline]

Definition at line 61 of file CoinPresolveMatrix.hpp.

Referenced by CoinPrePostsolveMatrix::presolve_find_minor().

int ALIGN ( int  n,
int  m 
) [inline]

Definition at line 65 of file CoinPresolveMatrix.hpp.

Referenced by ALIGN_DOUBLE().

int ALIGN_DOUBLE ( int  n  )  [inline]

Definition at line 66 of file CoinPresolveMatrix.hpp.

References ALIGN().


Variable Documentation

const double ZTOLDP = 1e-12

Zero tolerance.

OSL had a fixed zero tolerance; we still use that here.

Definition at line 37 of file CoinPresolveMatrix.hpp.

const double ZTOLDP2 = 1e-10

Definition at line 39 of file CoinPresolveMatrix.hpp.


Generated on Wed Apr 7 03:07:13 2010 by  doxygen 1.4.7