Concorde lp.h functions

Organizational index     Function index     Program index     Macro index     Data Types index    

CClp_init

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_init (CClp **lp)
Description:
INITIALIZES the LP.

CClp_force_perturb

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_force_perturb (CClp *lp)
Description:
Forces a perturbation in the LP simplex solves

CClp_tune_small

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_tune_small (CClp *lp)
Description:
SETS solver options for tiny problems.

CClp_disable_presolve

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_disable_presolve (CClp *lp)
Description:
DISABLES the solvers presolve.

CClp_free

File:
LP/lp_none.c
Header:
lp.h
Prototype:
void CClp_free (CClp **lp)
Description:
FREES the LP, both the allocation in CClp_init () and the
allocation in CClp_loadlp.

CClp_freelp

File:
LP/lp_none.c
Header:
lp.h
Prototype:
void CClp_freelp (CClp **lp)
Description:
FREES the LP loaded in CClp_loadlp (or CClp_create), but does
not free the data allocated by CClp_init.

CClp_loadlp

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_loadlp (CClp *lp, const char *name, int ncols, int nrows,
    int objsense, double *obj, double *rhs, char *sense,
    int *matbeg, int *matcnt,
    int *matind, double *matval,
    double *lb, double *ub)
Description:
LOADS the data into the LP.
  -name attaches a name to the LP (it can be used by the LP solver
   in io routines)
  -ncols and nrows give the number of columns and rows in the LP
  -objsense should be 1 for minimize and -1 for maximize
  -obj and rhs are arrays giving the objective function and rhs
  -sense is an array specifying 'L', 'E', or 'G' for each of the
   rows
  -matbeg, matcnt, matind, and matval give the coefficients of
   the constraint matrix in column by column order. matbeg gives
   gives the index of the start of each column; matcnt gives the
   number of coefficients in each column; matind gives the indices
   of the rows where the coefficients are located in the constraint
   matrix (so for column j, the indices are given in matcnt[j]
   locations starting at matind[matbeg[j]]; and matval gives the
   actual coefficients (organized like matind).
  -lb and ub are arrays giving the upper and lower bounds of
   the variables.

CClp_create

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_create (CClp *lp, const char *name)
Description:
CREATES an empty lp.  This supports an alternative to CClp_loadlp
for loading a problem.
  -name attaches a name to the LP (it can be used by the LP solver
   in io routines)

CClp_new_row

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_new_row (CClp *lp, char sense, double rhs)
Description:
ADDS a new empty row to the lp
  -sense is 'L', 'E', or 'G' for a <=, =, or >= constraint
  -rhs is the right-hand side of the row

CClp_change_sense

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_change_sense (CClp *lp, int row, char sense)
Description:
CHANGES the sense of a row
  -row is the row number to change
  -sense is 'L', 'E', or 'G' to change to <=, =, or >=

CClp_opt

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_opt (CClp *lp, int method)
Description:
CALLS designated LP solution method.

CClp_limited_dualopt

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_limited_dualopt (CClp *lp, int lim, int *status,
    double *upperbound)
Description:
CALLS the dual simplex method with a limit on the number of pivots.
  -upperbound it is used to cutoff the dual simplex method (when
   the objective value reaches upperbound); it can be NULL
  -status returns the status of the optimization (it can be NULL)

CClp_addrows

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_addrows (CClp *lp, int newrows, int newnz, double *rhs,
    char *sense, int *rmatbeg, int *rmatind, double *rmatval)
Description:
ADDS the rows to the LP.
  -newrows is the number of rows to be added
  -newnz is the number of nonzero coefficients in the new rows
  -rhs is an array of the rhs values for the new rows
  -sense is 'L', 'E', or 'G' for each of the new rows
  -rmatbeg, rmatind, and rmatval give the coefficients of the
   new rows in sparse format. The arrays can be freed after the
   call.

CClp_addcols

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_addcols (CClp *lp, int newcols, int newnz, double *obj,
    int *cmatbeg, int *cmatind, double *cmatval,
    double *lb, double *ub)
Description:
ADDS the columns to the LP.

CClp_delete_row

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_delete_row (CClp *lp, int i)
Description:
DELETES row i of the LP.

CClp_delete_set_of_rows

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_delete_set_of_rows (CClp *lp, int *delstat)
Description:
DELETES the rows corresponding to 1 entries in delstat.
  -delstat is a 0/1 array having an entry for each row

CClp_delete_column

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_delete_column (CClp *lp, int i)
Description:
DELETES column i from the LP.

CClp_delete_set_of_columns

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_delete_set_of_columns (CClp *lp, int *delstat)
Description:
DELETES the columns corresponding to the 1 entries in delstat.
  -delstat is a 0/1 array having an entry for each column

CClp_setbnd

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_setbnd (CClp *lp, int col, char lower_or_upper, double bnd)
Description:
SETS the bound on the variable index by col.
  -lower_or_upper should be either 'L' or 'U'

CClp_get_warmstart

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_get_warmstart (CClp *lp, CClp_warmstart **w)
Description:
SAVES information for efficiently resolving the current lp in w,
for example, basis or norm information

CClp_load_warmstart

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_load_warmstart (CClp *lp, CClp_warmstart *w)
Description:
RESTORES the warmstart information in w.

CClp_build_warmstart

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_build_warmstart (CClp_warmstart **w, CClp_info *i)
Description:
BUILDS some warmstart information from the row/column information
in i.

CClp_free_warmstart

File:
LP/lp_none.c
Header:
lp.h
Prototype:
void CClp_free_warmstart (CClp_warmstart **w)
Description:
FREES the memory used by w.

CClp_sread_warmstart

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_sread_warmstart (CC_SFILE *f, CClp_warmstart **w)
Description:
READS warmstart information from the f.

CClp_swrite_warmstart

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_swrite_warmstart (CC_SFILE *f, CClp_warmstart *w)
Description:
WRITES warmstart information from the f.

CClp_get_info

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_get_info (CClp *lp, CClp_info **i)
Description:
BUILDS information useful for efficiently answering questions
about the status of rows and columns

CClp_create_info

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_create_info (CClp_info **i, int rcount, int ccount)
Description:
CREATES a structure for storing information about the status of
rows and columns.

CClp_is_col_active

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_is_col_active (CClp_info *i, int c)
Description:
returns 1 if column e is active, 0 otherwise.
"active" means participating in the current solution (for example,
it could mean basic or nonbasic at upper bound)

CClp_is_row_active

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_is_row_active (CClp_info *i, int r)
Description:
returns 1 if row e is active, 0 otherwise.
"active" means participating in the current solution (for example,
it could mean the row's slack is non-basic)

CClp_set_col_active

File:
LP/lp_none.c
Header:
lp.h
Prototype:
void CClp_set_col_active (CClp_info *i, int c)
Description:
marks column e as active (for eventual CClp_build_warmstart)

CClp_set_col_inactive

File:
LP/lp_none.c
Header:
lp.h
Prototype:
void CClp_set_col_inactive (CClp_info *i, int c)
Description:
marks column e as inactive (for eventual CClp_build_warmstart)

CClp_set_col_upper

File:
LP/lp_none.c
Header:
lp.h
Prototype:
void CClp_set_col_upper (CClp_info *i, int c)
Description:
marks column e as active at upper bound (for eventual
CClp_build_warmstart)

CClp_set_row_active

File:
LP/lp_none.c
Header:
lp.h
Prototype:
void CClp_set_row_active (CClp_info *i, int r)
Description:
marks row r as active (for eventual CClp_build_warmstart)

CClp_set_row_inactive

File:
LP/lp_none.c
Header:
lp.h
Prototype:
void CClp_set_row_inactive (CClp_info *i, int r)
Description:
marks row r as inactive (for eventual CClp_build_warmstart)

CClp_free_info

File:
LP/lp_none.c
Header:
lp.h
Prototype:
void CClp_free_info (CClp_info **i)
Description:
FREES the memory used by i.

CClp_x

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_x (CClp *lp, double *x)
Description:
RETURNS the current LP solution.
  -x should be an array of length at least ncols

CClp_rc

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_rc (CClp *lp, double *rc)
Description:
RETURNS the current reduced costs.
  -rc should be an array of length at least ncols

CClp_pi

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_pi (CClp *lp, double *pi)
Description:
RETURNS the dual values on the constraints.
  -pi should be an array of length at least nrows
NOTES: If the lp and dual lp are feasible, these pi values are
  the traditional dual solution.  If the dual is unbounded, these
  pi satisfy
   pi_i <= 0  for <= constraints
   pi_i >= 0  for >= constraints
   pi'b - sum (pi'A_j * u_j: pi'A_j > 0)
        - sum (pi'A_j * l_j: pi'A_j < 0) > 0
where b is the rhs vector, u_j is the upper bound on variable x_j,
l_j the lower bound, and A_j the constraint matrix column for x_j.

CClp_objval

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_objval (CClp *lp, double *obj)
Description:
RETURNS the objective value of the lp.

CClp_nrows

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_nrows (CClp *lp)
Description:
RETURNS the number of rows in the LP.

CClp_ncols

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_ncols (CClp *lp)
Description:
RETURNS the number of columns in the LP.

CClp_nnonzeros

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_nnonzeros (CClp *lp)
Description:
RETURNS the number of nonzeros in the LP.

CClp_status

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_status (CClp *lp, int *status)
Description:
CHECKS whether the current lp is infeasible or whether an optimal
 solution has been found. It returns an error if the LP has not
 not been optimized.
  -lp is the lp
  -status returns 0 if the lp has an optimal solution and 1 if it
   is infeasible.

CClp_getweight

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_getweight (CClp *lp, int nrows, int *rmatbeg, int *rmatind,
    double *rmatval, double *weight)
Description:
COMPUTES the duals of the steepest edge norms for the n rows
 specified in rmatbeg, rmatind, and rmatval.
  -weight returns the array of weights; the array should be at
   least nrows long

CClp_dump_lp

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_dump_lp (CClp *lp, const char *fname)
Description:
WRITES the LP to file fname.

CClp_getgoodlist

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_getgoodlist (CClp *lp, int *goodlist, int *goodlen_p,
    double *downpen, double *uppen)
Description:
RETURNS an array of the column indices corresponding to variables
 that move in both the up and down directions. This is a useful
 list of candidates for strong branching.
  -goodlist, downpen and uppen should be arrays of length at
   least ncols.

CClp_strongbranch

File:
LP/lp_none.c
Header:
lp.h
Prototype:
int CClp_strongbranch (CClp *lp, int *candidatelist, int ncand,
    double *downpen, double *uppen, int iterations,
    double upperbound)
Description:
RETURNS estimates of the lp values obtained by setting each of the
  ncand variables listed in candidatelist to 0 and 1. The estimates
  are obtained by performing iterations pivots of dual simplex
  method. upperbound is used to cutoff the dual simplex method.
  downpen and uppen should never be > upperbound.
   -downpen and uppen should be arrays of length at least ncand

CClp_pivotout

File:
LP/lp_none.c
Header:
lp.h
Prototype:
void CClp_pivotout (CClp *lp, int j)
Description:
MISSING

CClp_pivotin

File:
LP/lp_none.c
Header:
lp.h
Prototype:
void CClp_pivotin (CClp *lp, int i)
Description:
MISSING