Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

Clp_C_Interface.h File Reference

#include "Coin_C_defines.h"

Go to the source code of this file.

Constructors and destructor

These do not have an exact analogue in C++.

The user does not need to know structure of Clp_Simplex.

For all functions outside this group there is an exact C++ analogue created by taking the first parameter out, removing the Clp_ from name and applying the method to an object of type ClpSimplex.

COINLIBAPI Clp_Simplex *COINLINKAGE Clp_newModel (void)
 Default constructor.
COINLIBAPI void COINLINKAGE Clp_deleteModel (Clp_Simplex *model)
 Destructor.

Load model - loads some stuff and initializes others

COINLIBAPI void COINLINKAGE Clp_loadProblem (Clp_Simplex *model, const int numcols, const int numrows, const CoinBigIndex *start, const int *index, const double *value, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub)
 Just like the other loadProblem() method except that the matrix is given in a standard column major ordered format (without gaps).
COINLIBAPI int COINLINKAGE Clp_readMps (Clp_Simplex *model, const char *filename, int keepNames, int ignoreErrors)
 Read an mps file from the given filename.
COINLIBAPI void COINLINKAGE Clp_copyInIntegerInformation (Clp_Simplex *model, const char *information)
 Copy in integer informations.
COINLIBAPI void COINLINKAGE Clp_deleteIntegerInformation (Clp_Simplex *model)
 Drop integer informations.
COINLIBAPI void COINLINKAGE Clp_resize (Clp_Simplex *model, int newNumberRows, int newNumberColumns)
 Resizes rim part of model.
COINLIBAPI void COINLINKAGE Clp_deleteRows (Clp_Simplex *model, int number, const int *which)
 Deletes rows.
COINLIBAPI void COINLINKAGE Clp_addRows (Clp_Simplex *model, int number, const double *rowLower, const double *rowUpper, const int *rowStarts, const int *columns, const double *elements)
 Add rows.
COINLIBAPI void COINLINKAGE Clp_deleteColumns (Clp_Simplex *model, int number, const int *which)
 Deletes columns.
COINLIBAPI void COINLINKAGE Clp_addColumns (Clp_Simplex *model, int number, const double *columnLower, const double *columnUpper, const double *objective, const int *columnStarts, const int *rows, const double *elements)
 Add columns.
COINLIBAPI void COINLINKAGE Clp_chgRowLower (Clp_Simplex *model, const double *rowLower)
 Change row lower bounds.
COINLIBAPI void COINLINKAGE Clp_chgRowUpper (Clp_Simplex *model, const double *rowUpper)
 Change row upper bounds.
COINLIBAPI void COINLINKAGE Clp_chgColumnLower (Clp_Simplex *model, const double *columnLower)
 Change column lower bounds.
COINLIBAPI void COINLINKAGE Clp_chgColumnUpper (Clp_Simplex *model, const double *columnUpper)
 Change column upper bounds.
COINLIBAPI void COINLINKAGE Clp_chgObjCoefficients (Clp_Simplex *model, const double *objIn)
 Change objective coefficients.
COINLIBAPI void COINLINKAGE Clp_dropNames (Clp_Simplex *model)
 Drops names - makes lengthnames 0 and names empty.
COINLIBAPI void COINLINKAGE Clp_copyNames (Clp_Simplex *model, const char *const *rowNames, const char *const *columnNames)
 Copies in names.

gets and sets - you will find some synonyms at the end of this file

COINLIBAPI int COINLINKAGE Clp_numberRows (Clp_Simplex *model)
 Number of rows.
COINLIBAPI int COINLINKAGE Clp_numberColumns (Clp_Simplex *model)
 Number of columns.
COINLIBAPI double COINLINKAGE Clp_primalTolerance (Clp_Simplex *model)
 Primal tolerance to use.
COINLIBAPI void COINLINKAGE Clp_setPrimalTolerance (Clp_Simplex *model, double value)
 Number of rows.
COINLIBAPI double COINLINKAGE Clp_dualTolerance (Clp_Simplex *model)
 Dual tolerance to use.
COINLIBAPI void COINLINKAGE Clp_setDualTolerance (Clp_Simplex *model, double value)
 Number of rows.
COINLIBAPI double COINLINKAGE Clp_dualObjectiveLimit (Clp_Simplex *model)
 Dual objective limit.
COINLIBAPI void COINLINKAGE Clp_setDualObjectiveLimit (Clp_Simplex *model, double value)
 Number of rows.
COINLIBAPI double COINLINKAGE Clp_objectiveOffset (Clp_Simplex *model)
 Objective offset.
COINLIBAPI void COINLINKAGE Clp_setObjectiveOffset (Clp_Simplex *model, double value)
 Number of rows.
COINLIBAPI void COINLINKAGE Clp_problemName (Clp_Simplex *model, int maxNumberCharacters, char *array)
 Fills in array with problem name.
COINLIBAPI bool COINLINKAGE Clp_setProblemName (Clp_Simplex *model, int maxNumberCharacters, char *array)
 Number of rows.
COINLIBAPI int COINLINKAGE Clp_numberIterations (Clp_Simplex *model)
 Number of iterations.
COINLIBAPI void COINLINKAGE Clp_setNumberIterations (Clp_Simplex *model, int numberIterations)
 Number of rows.
COINLIBAPI int maximumIterations (Clp_Simplex *model)
 Maximum number of iterations.
COINLIBAPI void COINLINKAGE Clp_setMaximumIterations (Clp_Simplex *model, int value)
 Number of rows.
COINLIBAPI double COINLINKAGE Clp_maximumSeconds (Clp_Simplex *model)
 Maximum time in seconds (from when set called).
COINLIBAPI void COINLINKAGE Clp_setMaximumSeconds (Clp_Simplex *model, double value)
 Number of rows.
COINLIBAPI int COINLINKAGE Clp_hitMaximumIterations (Clp_Simplex *model)
 Returns true if hit maximum iterations (or time).
COINLIBAPI int COINLINKAGE Clp_status (Clp_Simplex *model)
 Status of problem: 0 - optimal 1 - primal infeasible 2 - dual infeasible 3 - stopped on iterations etc 4 - stopped due to errors.
COINLIBAPI void COINLINKAGE Clp_setProblemStatus (Clp_Simplex *model, int problemStatus)
 Set problem status.
COINLIBAPI int COINLINKAGE Clp_secondaryStatus (Clp_Simplex *model)
 Secondary status of problem - may get extended 0 - none 1 - primal infeasible because dual limit reached 2 - scaled problem optimal - unscaled has primal infeasibilities 3 - scaled problem optimal - unscaled has dual infeasibilities 4 - scaled problem optimal - unscaled has both dual and primal infeasibilities.
COINLIBAPI void COINLINKAGE Clp_setSecondaryStatus (Clp_Simplex *model, int status)
 Number of rows.
COINLIBAPI double COINLINKAGE Clp_optimizationDirection (Clp_Simplex *model)
 Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore.
COINLIBAPI void COINLINKAGE Clp_setOptimizationDirection (Clp_Simplex *model, double value)
 Number of rows.
COINLIBAPI double *COINLINKAGE Clp_primalRowSolution (Clp_Simplex *model)
 Primal row solution.
COINLIBAPI double *COINLINKAGE Clp_primalColumnSolution (Clp_Simplex *model)
 Primal column solution.
COINLIBAPI double *COINLINKAGE Clp_dualRowSolution (Clp_Simplex *model)
 Dual row solution.
COINLIBAPI double *COINLINKAGE Clp_dualColumnSolution (Clp_Simplex *model)
 Reduced costs.
COINLIBAPI double *COINLINKAGE Clp_rowLower (Clp_Simplex *model)
 Row lower.
COINLIBAPI double *COINLINKAGE Clp_rowUpper (Clp_Simplex *model)
 Row upper.
COINLIBAPI double *COINLINKAGE Clp_objective (Clp_Simplex *model)
 Objective.
COINLIBAPI double *COINLINKAGE Clp_columnLower (Clp_Simplex *model)
 Column Lower.
COINLIBAPI double *COINLINKAGE Clp_columnUpper (Clp_Simplex *model)
 Column Upper.
COINLIBAPI int COINLINKAGE Clp_getNumElements (Clp_Simplex *model)
 Number of elements in matrix.
COINLIBAPI const CoinBigIndex
*COINLINKAGE 
Clp_getVectorStarts (Clp_Simplex *model)
 Number of rows.
COINLIBAPI const int *COINLINKAGE Clp_getIndices (Clp_Simplex *model)
 Number of rows.
COINLIBAPI const int *COINLINKAGE Clp_getVectorLengths (Clp_Simplex *model)
 Number of rows.
COINLIBAPI const double *COINLINKAGE Clp_getElements (Clp_Simplex *model)
 Number of rows.
COINLIBAPI double COINLINKAGE Clp_objectiveValue (Clp_Simplex *model)
 Objective value.
COINLIBAPI char *COINLINKAGE Clp_integerInformation (Clp_Simplex *model)
 Integer information.
COINLIBAPI double *COINLINKAGE Clp_infeasibilityRay (Clp_Simplex *model)
 Infeasibility/unbounded ray (NULL returned if none/wrong) Up to user to use delete [] on these arrays.
COINLIBAPI double *COINLINKAGE Clp_unboundedRay (Clp_Simplex *model)
 Number of rows.
COINLIBAPI int COINLINKAGE Clp_statusExists (Clp_Simplex *model)
 See if status array exists (partly for OsiClp).
COINLIBAPI unsigned char
*COINLINKAGE 
Clp_statusArray (Clp_Simplex *model)
 Return address of status array (char[numberRows+numberColumns]).
COINLIBAPI void COINLINKAGE Clp_copyinStatus (Clp_Simplex *model, const unsigned char *statusArray)
 Copy in status vector.
COINLIBAPI const int COINLINKAGE Clp_getColumnStatus (Clp_Simplex *model, int sequence)
 Number of rows.
COINLIBAPI const int COINLINKAGE Clp_getRowStatus (Clp_Simplex *model, int sequence)
 Number of rows.
COINLIBAPI void COINLINKAGE Clp_setColumnStatus (Clp_Simplex *model, int sequence, int value)
 Number of rows.
COINLIBAPI void COINLINKAGE Clp_setRowStatus (Clp_Simplex *model, int sequence, int value)
 Number of rows.
COINLIBAPI void COINLINKAGE Clp_setUserPointer (Clp_Simplex *model, void *pointer)
 User pointer for whatever reason.
COINLIBAPI void *COINLINKAGE Clp_getUserPointer (Clp_Simplex *model)
 Number of rows.

Message handling. Call backs are handled by ONE function

COINLIBAPI void COINLINKAGE Clp_registerCallBack (Clp_Simplex *model, clp_callback userCallBack)
 Pass in Callback function.
COINLIBAPI void COINLINKAGE Clp_clearCallBack (Clp_Simplex *model)
 Unset Callback function.
COINLIBAPI void COINLINKAGE Clp_setLogLevel (Clp_Simplex *model, int value)
 Amount of print out: 0 - none 1 - just final 2 - just factorizations 3 - as 2 plus a bit more 4 - verbose above that 8,16,32 etc just for selective debug.
COINLIBAPI int COINLINKAGE Clp_logLevel (Clp_Simplex *model)
 Pass in Callback function.
COINLIBAPI int COINLINKAGE Clp_lengthNames (Clp_Simplex *model)
 length of names (0 means no names0
COINLIBAPI void COINLINKAGE Clp_rowName (Clp_Simplex *model, int iRow, char *name)
 Fill in array (at least lengthNames+1 long) with a row name.
COINLIBAPI void COINLINKAGE Clp_columnName (Clp_Simplex *model, int iColumn, char *name)
 Fill in array (at least lengthNames+1 long) with a column name.

Functions most useful to user

COINLIBAPI int COINLINKAGE Clp_initialSolve (Clp_Simplex *model)
 General solve algorithm which can do presolve.
COINLIBAPI int COINLINKAGE Clp_initialDualSolve (Clp_Simplex *model)
 Dual initial solve.
COINLIBAPI int COINLINKAGE Clp_initialPrimalSolve (Clp_Simplex *model)
 Primal initial solve.
COINLIBAPI int COINLINKAGE Clp_dual (Clp_Simplex *model, int ifValuesPass)
 Dual algorithm - see ClpSimplexDual.hpp for method.
COINLIBAPI int COINLINKAGE Clp_primal (Clp_Simplex *model, int ifValuesPass)
 Primal algorithm - see ClpSimplexPrimal.hpp for method.
COINLIBAPI void COINLINKAGE Clp_scaling (Clp_Simplex *model, int mode)
 Sets or unsets scaling, 0 -off, 1 equilibrium, 2 geometric, 3, auto, 4 dynamic(later).
COINLIBAPI int COINLINKAGE Clp_scalingFlag (Clp_Simplex *model)
 Gets scalingFlag.
COINLIBAPI int COINLINKAGE Clp_crash (Clp_Simplex *model, double gap, int pivot)
 Crash - at present just aimed at dual, returns -2 if dual preferred and crash basis created -1 if dual preferred and all slack basis preferred 0 if basis going in was not all slack 1 if primal preferred and all slack basis preferred 2 if primal preferred and crash basis created.

most useful gets and sets

COINLIBAPI int COINLINKAGE Clp_primalFeasible (Clp_Simplex *model)
 If problem is primal feasible.
COINLIBAPI int COINLINKAGE Clp_dualFeasible (Clp_Simplex *model)
 If problem is dual feasible.
COINLIBAPI double COINLINKAGE Clp_dualBound (Clp_Simplex *model)
 Dual bound.
COINLIBAPI void COINLINKAGE Clp_setDualBound (Clp_Simplex *model, double value)
 If problem is primal feasible.
COINLIBAPI double COINLINKAGE Clp_infeasibilityCost (Clp_Simplex *model)
 Infeasibility cost.
COINLIBAPI void COINLINKAGE Clp_setInfeasibilityCost (Clp_Simplex *model, double value)
 If problem is primal feasible.
COINLIBAPI int COINLINKAGE Clp_perturbation (Clp_Simplex *model)
 Perturbation: 50 - switch on perturbation 100 - auto perturb if takes too long (1.0e-6 largest nonzero) 101 - we are perturbed 102 - don't try perturbing again default is 100 others are for playing.
COINLIBAPI void COINLINKAGE Clp_setPerturbation (Clp_Simplex *model, int value)
 If problem is primal feasible.
COINLIBAPI int COINLINKAGE Clp_algorithm (Clp_Simplex *model)
 Current (or last) algorithm.
COINLIBAPI void COINLINKAGE Clp_setAlgorithm (Clp_Simplex *model, int value)
 Set algorithm.
COINLIBAPI double COINLINKAGE Clp_sumDualInfeasibilities (Clp_Simplex *model)
 Sum of dual infeasibilities.
COINLIBAPI int COINLINKAGE Clp_numberDualInfeasibilities (Clp_Simplex *model)
 Number of dual infeasibilities.
COINLIBAPI double COINLINKAGE Clp_sumPrimalInfeasibilities (Clp_Simplex *model)
 Sum of primal infeasibilities.
COINLIBAPI int COINLINKAGE Clp_numberPrimalInfeasibilities (Clp_Simplex *model)
 Number of primal infeasibilities.
COINLIBAPI int COINLINKAGE Clp_saveModel (Clp_Simplex *model, const char *fileName)
 Save model to file, returns 0 if success.
COINLIBAPI int COINLINKAGE Clp_restoreModel (Clp_Simplex *model, const char *fileName)
 Restore model from file, returns 0 if success, deletes current model.
COINLIBAPI void COINLINKAGE Clp_checkSolution (Clp_Simplex *model)
 Just check solution (for external use) - sets sum of infeasibilities etc.

gets and sets - some synonyms

COINLIBAPI int COINLINKAGE Clp_getNumRows (Clp_Simplex *model)
 Number of rows.
COINLIBAPI int COINLINKAGE Clp_getNumCols (Clp_Simplex *model)
 Number of columns.
COINLIBAPI int COINLINKAGE Clp_getIterationCount (Clp_Simplex *model)
 Number of iterations.
COINLIBAPI int COINLINKAGE Clp_isAbandoned (Clp_Simplex *model)
 Are there a numerical difficulties?
COINLIBAPI int COINLINKAGE Clp_isProvenOptimal (Clp_Simplex *model)
 Is optimality proven?
COINLIBAPI int COINLINKAGE Clp_isProvenPrimalInfeasible (Clp_Simplex *model)
 Is primal infeasiblity proven?
COINLIBAPI int COINLINKAGE Clp_isProvenDualInfeasible (Clp_Simplex *model)
 Is dual infeasiblity proven?
COINLIBAPI int COINLINKAGE Clp_isPrimalObjectiveLimitReached (Clp_Simplex *model)
 Is the given primal objective limit reached?
COINLIBAPI int COINLINKAGE Clp_isDualObjectiveLimitReached (Clp_Simplex *model)
 Is the given dual objective limit reached?
COINLIBAPI int COINLINKAGE Clp_isIterationLimitReached (Clp_Simplex *model)
 Iteration limit reached?
COINLIBAPI double COINLINKAGE Clp_getObjSense (Clp_Simplex *model)
 Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore.
COINLIBAPI const double *COINLINKAGE Clp_getRowActivity (Clp_Simplex *model)
 Primal row solution.
COINLIBAPI const double *COINLINKAGE Clp_getColSolution (Clp_Simplex *model)
 Primal column solution.
COINLIBAPI void COINLINKAGE Clp_setColSolution (Clp_Simplex *model, const double *input)
 Number of rows.
COINLIBAPI const double *COINLINKAGE Clp_getRowPrice (Clp_Simplex *model)
 Dual row solution.
COINLIBAPI const double *COINLINKAGE Clp_getReducedCost (Clp_Simplex *model)
 Reduced costs.
COINLIBAPI const double *COINLINKAGE Clp_getRowLower (Clp_Simplex *model)
 Row lower.
COINLIBAPI const double *COINLINKAGE Clp_getRowUpper (Clp_Simplex *model)
 Row upper.
COINLIBAPI const double *COINLINKAGE Clp_getObjCoefficients (Clp_Simplex *model)
 Objective.
COINLIBAPI const double *COINLINKAGE Clp_getColLower (Clp_Simplex *model)
 Column Lower.
COINLIBAPI const double *COINLINKAGE Clp_getColUpper (Clp_Simplex *model)
 Column Upper.
COINLIBAPI double COINLINKAGE Clp_getObjValue (Clp_Simplex *model)
 Objective value.
COINLIBAPI void COINLINKAGE Clp_printModel (Clp_Simplex *model, const char *prefix)
 Print model for debugging purposes.
COINLIBAPI double COINLINKAGE Clp_getSmallElementValue (Clp_Simplex *model)
 Number of rows.
COINLIBAPI void COINLINKAGE Clp_setSmallElementValue (Clp_Simplex *model, double value)
 Number of rows.


Function Documentation

COINLIBAPI Clp_Simplex* COINLINKAGE Clp_newModel void   ) 
 

Default constructor.

COINLIBAPI void COINLINKAGE Clp_deleteModel Clp_Simplex *  model  ) 
 

Destructor.

COINLIBAPI void COINLINKAGE Clp_loadProblem Clp_Simplex *  model,
const int  numcols,
const int  numrows,
const CoinBigIndex *  start,
const int *  index,
const double *  value,
const double *  collb,
const double *  colub,
const double *  obj,
const double *  rowlb,
const double *  rowub
 

Just like the other loadProblem() method except that the matrix is given in a standard column major ordered format (without gaps).

COINLIBAPI int COINLINKAGE Clp_readMps Clp_Simplex *  model,
const char *  filename,
int  keepNames,
int  ignoreErrors
 

Read an mps file from the given filename.

COINLIBAPI void COINLINKAGE Clp_copyInIntegerInformation Clp_Simplex *  model,
const char *  information
 

Copy in integer informations.

COINLIBAPI void COINLINKAGE Clp_deleteIntegerInformation Clp_Simplex *  model  ) 
 

Drop integer informations.

COINLIBAPI void COINLINKAGE Clp_resize Clp_Simplex *  model,
int  newNumberRows,
int  newNumberColumns
 

Resizes rim part of model.

COINLIBAPI void COINLINKAGE Clp_deleteRows Clp_Simplex *  model,
int  number,
const int *  which
 

Deletes rows.

COINLIBAPI void COINLINKAGE Clp_addRows Clp_Simplex *  model,
int  number,
const double *  rowLower,
const double *  rowUpper,
const int *  rowStarts,
const int *  columns,
const double *  elements
 

Add rows.

COINLIBAPI void COINLINKAGE Clp_deleteColumns Clp_Simplex *  model,
int  number,
const int *  which
 

Deletes columns.

COINLIBAPI void COINLINKAGE Clp_addColumns Clp_Simplex *  model,
int  number,
const double *  columnLower,
const double *  columnUpper,
const double *  objective,
const int *  columnStarts,
const int *  rows,
const double *  elements
 

Add columns.

COINLIBAPI void COINLINKAGE Clp_chgRowLower Clp_Simplex *  model,
const double *  rowLower
 

Change row lower bounds.

COINLIBAPI void COINLINKAGE Clp_chgRowUpper Clp_Simplex *  model,
const double *  rowUpper
 

Change row upper bounds.

COINLIBAPI void COINLINKAGE Clp_chgColumnLower Clp_Simplex *  model,
const double *  columnLower
 

Change column lower bounds.

COINLIBAPI void COINLINKAGE Clp_chgColumnUpper Clp_Simplex *  model,
const double *  columnUpper
 

Change column upper bounds.

COINLIBAPI void COINLINKAGE Clp_chgObjCoefficients Clp_Simplex *  model,
const double *  objIn
 

Change objective coefficients.

COINLIBAPI void COINLINKAGE Clp_dropNames Clp_Simplex *  model  ) 
 

Drops names - makes lengthnames 0 and names empty.

COINLIBAPI void COINLINKAGE Clp_copyNames Clp_Simplex *  model,
const char *const *  rowNames,
const char *const *  columnNames
 

Copies in names.

COINLIBAPI int COINLINKAGE Clp_numberRows Clp_Simplex *  model  ) 
 

Number of rows.

COINLIBAPI int COINLINKAGE Clp_numberColumns Clp_Simplex *  model  ) 
 

Number of columns.

COINLIBAPI double COINLINKAGE Clp_primalTolerance Clp_Simplex *  model  ) 
 

Primal tolerance to use.

COINLIBAPI void COINLINKAGE Clp_setPrimalTolerance Clp_Simplex *  model,
double  value
 

Number of rows.

COINLIBAPI double COINLINKAGE Clp_dualTolerance Clp_Simplex *  model  ) 
 

Dual tolerance to use.

COINLIBAPI void COINLINKAGE Clp_setDualTolerance Clp_Simplex *  model,
double  value
 

Number of rows.

COINLIBAPI double COINLINKAGE Clp_dualObjectiveLimit Clp_Simplex *  model  ) 
 

Dual objective limit.

COINLIBAPI void COINLINKAGE Clp_setDualObjectiveLimit Clp_Simplex *  model,
double  value
 

Number of rows.

COINLIBAPI double COINLINKAGE Clp_objectiveOffset Clp_Simplex *  model  ) 
 

Objective offset.

COINLIBAPI void COINLINKAGE Clp_setObjectiveOffset Clp_Simplex *  model,
double  value
 

Number of rows.

COINLIBAPI void COINLINKAGE Clp_problemName Clp_Simplex *  model,
int  maxNumberCharacters,
char *  array
 

Fills in array with problem name.

COINLIBAPI bool COINLINKAGE Clp_setProblemName Clp_Simplex *  model,
int  maxNumberCharacters,
char *  array
 

Number of rows.

COINLIBAPI int COINLINKAGE Clp_numberIterations Clp_Simplex *  model  ) 
 

Number of iterations.

COINLIBAPI void COINLINKAGE Clp_setNumberIterations Clp_Simplex *  model,
int  numberIterations
 

Number of rows.

COINLIBAPI int maximumIterations Clp_Simplex *  model  ) 
 

Maximum number of iterations.

COINLIBAPI void COINLINKAGE Clp_setMaximumIterations Clp_Simplex *  model,
int  value
 

Number of rows.

COINLIBAPI double COINLINKAGE Clp_maximumSeconds Clp_Simplex *  model  ) 
 

Maximum time in seconds (from when set called).

COINLIBAPI void COINLINKAGE Clp_setMaximumSeconds Clp_Simplex *  model,
double  value
 

Number of rows.

COINLIBAPI int COINLINKAGE Clp_hitMaximumIterations Clp_Simplex *  model  ) 
 

Returns true if hit maximum iterations (or time).

COINLIBAPI int COINLINKAGE Clp_status Clp_Simplex *  model  ) 
 

Status of problem: 0 - optimal 1 - primal infeasible 2 - dual infeasible 3 - stopped on iterations etc 4 - stopped due to errors.

COINLIBAPI void COINLINKAGE Clp_setProblemStatus Clp_Simplex *  model,
int  problemStatus
 

Set problem status.

COINLIBAPI int COINLINKAGE Clp_secondaryStatus Clp_Simplex *  model  ) 
 

Secondary status of problem - may get extended 0 - none 1 - primal infeasible because dual limit reached 2 - scaled problem optimal - unscaled has primal infeasibilities 3 - scaled problem optimal - unscaled has dual infeasibilities 4 - scaled problem optimal - unscaled has both dual and primal infeasibilities.

COINLIBAPI void COINLINKAGE Clp_setSecondaryStatus Clp_Simplex *  model,
int  status
 

Number of rows.

COINLIBAPI double COINLINKAGE Clp_optimizationDirection Clp_Simplex *  model  ) 
 

Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore.

COINLIBAPI void COINLINKAGE Clp_setOptimizationDirection Clp_Simplex *  model,
double  value
 

Number of rows.

COINLIBAPI double* COINLINKAGE Clp_primalRowSolution Clp_Simplex *  model  ) 
 

Primal row solution.

COINLIBAPI double* COINLINKAGE Clp_primalColumnSolution Clp_Simplex *  model  ) 
 

Primal column solution.

COINLIBAPI double* COINLINKAGE Clp_dualRowSolution Clp_Simplex *  model  ) 
 

Dual row solution.

COINLIBAPI double* COINLINKAGE Clp_dualColumnSolution Clp_Simplex *  model  ) 
 

Reduced costs.

COINLIBAPI double* COINLINKAGE Clp_rowLower Clp_Simplex *  model  ) 
 

Row lower.

COINLIBAPI double* COINLINKAGE Clp_rowUpper Clp_Simplex *  model  ) 
 

Row upper.

COINLIBAPI double* COINLINKAGE Clp_objective Clp_Simplex *  model  ) 
 

Objective.

COINLIBAPI double* COINLINKAGE Clp_columnLower Clp_Simplex *  model  ) 
 

Column Lower.

COINLIBAPI double* COINLINKAGE Clp_columnUpper Clp_Simplex *  model  ) 
 

Column Upper.

COINLIBAPI int COINLINKAGE Clp_getNumElements Clp_Simplex *  model  ) 
 

Number of elements in matrix.

COINLIBAPI const CoinBigIndex* COINLINKAGE Clp_getVectorStarts Clp_Simplex *  model  ) 
 

Number of rows.

COINLIBAPI const int* COINLINKAGE Clp_getIndices Clp_Simplex *  model  ) 
 

Number of rows.

COINLIBAPI const int* COINLINKAGE Clp_getVectorLengths Clp_Simplex *  model  ) 
 

Number of rows.

COINLIBAPI const double* COINLINKAGE Clp_getElements Clp_Simplex *  model  ) 
 

Number of rows.

COINLIBAPI double COINLINKAGE Clp_objectiveValue Clp_Simplex *  model  ) 
 

Objective value.

COINLIBAPI char* COINLINKAGE Clp_integerInformation Clp_Simplex *  model  ) 
 

Integer information.

COINLIBAPI double* COINLINKAGE Clp_infeasibilityRay Clp_Simplex *  model  ) 
 

Infeasibility/unbounded ray (NULL returned if none/wrong) Up to user to use delete [] on these arrays.

COINLIBAPI double* COINLINKAGE Clp_unboundedRay Clp_Simplex *  model  ) 
 

Number of rows.

COINLIBAPI int COINLINKAGE Clp_statusExists Clp_Simplex *  model  ) 
 

See if status array exists (partly for OsiClp).

COINLIBAPI unsigned char* COINLINKAGE Clp_statusArray Clp_Simplex *  model  ) 
 

Return address of status array (char[numberRows+numberColumns]).

COINLIBAPI void COINLINKAGE Clp_copyinStatus Clp_Simplex *  model,
const unsigned char *  statusArray
 

Copy in status vector.

COINLIBAPI const int COINLINKAGE Clp_getColumnStatus Clp_Simplex *  model,
int  sequence
 

Number of rows.

COINLIBAPI const int COINLINKAGE Clp_getRowStatus Clp_Simplex *  model,
int  sequence
 

Number of rows.

COINLIBAPI void COINLINKAGE Clp_setColumnStatus Clp_Simplex *  model,
int  sequence,
int  value
 

Number of rows.

COINLIBAPI void COINLINKAGE Clp_setRowStatus Clp_Simplex *  model,
int  sequence,
int  value
 

Number of rows.

COINLIBAPI void COINLINKAGE Clp_setUserPointer Clp_Simplex *  model,
void *  pointer
 

User pointer for whatever reason.

COINLIBAPI void* COINLINKAGE Clp_getUserPointer Clp_Simplex *  model  ) 
 

Number of rows.

COINLIBAPI void COINLINKAGE Clp_registerCallBack Clp_Simplex *  model,
clp_callback  userCallBack
 

Pass in Callback function.

Message numbers up to 1000000 are Clp, Coin ones have 1000000 added

COINLIBAPI void COINLINKAGE Clp_clearCallBack Clp_Simplex *  model  ) 
 

Unset Callback function.

COINLIBAPI void COINLINKAGE Clp_setLogLevel Clp_Simplex *  model,
int  value
 

Amount of print out: 0 - none 1 - just final 2 - just factorizations 3 - as 2 plus a bit more 4 - verbose above that 8,16,32 etc just for selective debug.

COINLIBAPI int COINLINKAGE Clp_logLevel Clp_Simplex *  model  ) 
 

Pass in Callback function.

Message numbers up to 1000000 are Clp, Coin ones have 1000000 added

COINLIBAPI int COINLINKAGE Clp_lengthNames Clp_Simplex *  model  ) 
 

length of names (0 means no names0

COINLIBAPI void COINLINKAGE Clp_rowName Clp_Simplex *  model,
int  iRow,
char *  name
 

Fill in array (at least lengthNames+1 long) with a row name.

COINLIBAPI void COINLINKAGE Clp_columnName Clp_Simplex *  model,
int  iColumn,
char *  name
 

Fill in array (at least lengthNames+1 long) with a column name.

COINLIBAPI int COINLINKAGE Clp_initialSolve Clp_Simplex *  model  ) 
 

General solve algorithm which can do presolve.

See ClpSolve.hpp for options

COINLIBAPI int COINLINKAGE Clp_initialDualSolve Clp_Simplex *  model  ) 
 

Dual initial solve.

COINLIBAPI int COINLINKAGE Clp_initialPrimalSolve Clp_Simplex *  model  ) 
 

Primal initial solve.

COINLIBAPI int COINLINKAGE Clp_dual Clp_Simplex *  model,
int  ifValuesPass
 

Dual algorithm - see ClpSimplexDual.hpp for method.

COINLIBAPI int COINLINKAGE Clp_primal Clp_Simplex *  model,
int  ifValuesPass
 

Primal algorithm - see ClpSimplexPrimal.hpp for method.

COINLIBAPI void COINLINKAGE Clp_scaling Clp_Simplex *  model,
int  mode
 

Sets or unsets scaling, 0 -off, 1 equilibrium, 2 geometric, 3, auto, 4 dynamic(later).

COINLIBAPI int COINLINKAGE Clp_scalingFlag Clp_Simplex *  model  ) 
 

Gets scalingFlag.

COINLIBAPI int COINLINKAGE Clp_crash Clp_Simplex *  model,
double  gap,
int  pivot
 

Crash - at present just aimed at dual, returns -2 if dual preferred and crash basis created -1 if dual preferred and all slack basis preferred 0 if basis going in was not all slack 1 if primal preferred and all slack basis preferred 2 if primal preferred and crash basis created.

if gap between bounds <="gap" variables can be flipped

If "pivot" is 0 No pivoting (so will just be choice of algorithm) 1 Simple pivoting e.g. gub 2 Mini iterations

COINLIBAPI int COINLINKAGE Clp_primalFeasible Clp_Simplex *  model  ) 
 

If problem is primal feasible.

COINLIBAPI int COINLINKAGE Clp_dualFeasible Clp_Simplex *  model  ) 
 

If problem is dual feasible.

COINLIBAPI double COINLINKAGE Clp_dualBound Clp_Simplex *  model  ) 
 

Dual bound.

COINLIBAPI void COINLINKAGE Clp_setDualBound Clp_Simplex *  model,
double  value
 

If problem is primal feasible.

COINLIBAPI double COINLINKAGE Clp_infeasibilityCost Clp_Simplex *  model  ) 
 

Infeasibility cost.

COINLIBAPI void COINLINKAGE Clp_setInfeasibilityCost Clp_Simplex *  model,
double  value
 

If problem is primal feasible.

COINLIBAPI int COINLINKAGE Clp_perturbation Clp_Simplex *  model  ) 
 

Perturbation: 50 - switch on perturbation 100 - auto perturb if takes too long (1.0e-6 largest nonzero) 101 - we are perturbed 102 - don't try perturbing again default is 100 others are for playing.

COINLIBAPI void COINLINKAGE Clp_setPerturbation Clp_Simplex *  model,
int  value
 

If problem is primal feasible.

COINLIBAPI int COINLINKAGE Clp_algorithm Clp_Simplex *  model  ) 
 

Current (or last) algorithm.

COINLIBAPI void COINLINKAGE Clp_setAlgorithm Clp_Simplex *  model,
int  value
 

Set algorithm.

COINLIBAPI double COINLINKAGE Clp_sumDualInfeasibilities Clp_Simplex *  model  ) 
 

Sum of dual infeasibilities.

COINLIBAPI int COINLINKAGE Clp_numberDualInfeasibilities Clp_Simplex *  model  ) 
 

Number of dual infeasibilities.

COINLIBAPI double COINLINKAGE Clp_sumPrimalInfeasibilities Clp_Simplex *  model  ) 
 

Sum of primal infeasibilities.

COINLIBAPI int COINLINKAGE Clp_numberPrimalInfeasibilities Clp_Simplex *  model  ) 
 

Number of primal infeasibilities.

COINLIBAPI int COINLINKAGE Clp_saveModel Clp_Simplex *  model,
const char *  fileName
 

Save model to file, returns 0 if success.

This is designed for use outside algorithms so does not save iterating arrays etc. It does not save any messaging information. Does not save scaling values. It does not know about all types of virtual functions.

COINLIBAPI int COINLINKAGE Clp_restoreModel Clp_Simplex *  model,
const char *  fileName
 

Restore model from file, returns 0 if success, deletes current model.

COINLIBAPI void COINLINKAGE Clp_checkSolution Clp_Simplex *  model  ) 
 

Just check solution (for external use) - sets sum of infeasibilities etc.

COINLIBAPI int COINLINKAGE Clp_getNumRows Clp_Simplex *  model  ) 
 

Number of rows.

COINLIBAPI int COINLINKAGE Clp_getNumCols Clp_Simplex *  model  ) 
 

Number of columns.

COINLIBAPI int COINLINKAGE Clp_getIterationCount Clp_Simplex *  model  ) 
 

Number of iterations.

COINLIBAPI int COINLINKAGE Clp_isAbandoned Clp_Simplex *  model  ) 
 

Are there a numerical difficulties?

COINLIBAPI int COINLINKAGE Clp_isProvenOptimal Clp_Simplex *  model  ) 
 

Is optimality proven?

COINLIBAPI int COINLINKAGE Clp_isProvenPrimalInfeasible Clp_Simplex *  model  ) 
 

Is primal infeasiblity proven?

COINLIBAPI int COINLINKAGE Clp_isProvenDualInfeasible Clp_Simplex *  model  ) 
 

Is dual infeasiblity proven?

COINLIBAPI int COINLINKAGE Clp_isPrimalObjectiveLimitReached Clp_Simplex *  model  ) 
 

Is the given primal objective limit reached?

COINLIBAPI int COINLINKAGE Clp_isDualObjectiveLimitReached Clp_Simplex *  model  ) 
 

Is the given dual objective limit reached?

COINLIBAPI int COINLINKAGE Clp_isIterationLimitReached Clp_Simplex *  model  ) 
 

Iteration limit reached?

COINLIBAPI double COINLINKAGE Clp_getObjSense Clp_Simplex *  model  ) 
 

Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore.

COINLIBAPI const double* COINLINKAGE Clp_getRowActivity Clp_Simplex *  model  ) 
 

Primal row solution.

COINLIBAPI const double* COINLINKAGE Clp_getColSolution Clp_Simplex *  model  ) 
 

Primal column solution.

COINLIBAPI void COINLINKAGE Clp_setColSolution Clp_Simplex *  model,
const double *  input
 

Number of rows.

COINLIBAPI const double* COINLINKAGE Clp_getRowPrice Clp_Simplex *  model  ) 
 

Dual row solution.

COINLIBAPI const double* COINLINKAGE Clp_getReducedCost Clp_Simplex *  model  ) 
 

Reduced costs.

COINLIBAPI const double* COINLINKAGE Clp_getRowLower Clp_Simplex *  model  ) 
 

Row lower.

COINLIBAPI const double* COINLINKAGE Clp_getRowUpper Clp_Simplex *  model  ) 
 

Row upper.

COINLIBAPI const double* COINLINKAGE Clp_getObjCoefficients Clp_Simplex *  model  ) 
 

Objective.

COINLIBAPI const double* COINLINKAGE Clp_getColLower Clp_Simplex *  model  ) 
 

Column Lower.

COINLIBAPI const double* COINLINKAGE Clp_getColUpper Clp_Simplex *  model  ) 
 

Column Upper.

COINLIBAPI double COINLINKAGE Clp_getObjValue Clp_Simplex *  model  ) 
 

Objective value.

COINLIBAPI void COINLINKAGE Clp_printModel Clp_Simplex *  model,
const char *  prefix
 

Print model for debugging purposes.

COINLIBAPI double COINLINKAGE Clp_getSmallElementValue Clp_Simplex *  model  ) 
 

Number of rows.

COINLIBAPI void COINLINKAGE Clp_setSmallElementValue Clp_Simplex *  model,
double  value
 

Number of rows.


Generated on Sun Jun 11 02:00:26 2006 by  doxygen 1.3.9.1