Concorde lp.h functions
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