dbl_lib.h

Go to the documentation of this file.
00001 /****************************************************************************/
00002 /*                                                                          */
00003 /*  This file is part of QSopt_ex.                                          */
00004 /*                                                                          */
00005 /*  (c) Copyright 2006 by David Applegate, William Cook, Sanjeeb Dash,      */
00006 /*  and Daniel Espinoza                                                     */
00007 /*                                                                          */
00008 /*  Sanjeeb Dash ownership of copyright in QSopt_ex is derived from his     */
00009 /*  copyright in QSopt.                                                     */
00010 /*                                                                          */
00011 /*  This code may be used under the terms of the GNU General Public License */
00012 /*  (Version 2.1 or later) as published by the Free Software Foundation.    */
00013 /*                                                                          */
00014 /*  Alternatively, use is granted for research purposes only.               */
00015 /*                                                                          */
00016 /*  It is your choice of which of these two licenses you are operating      */
00017 /*  under.                                                                  */
00018 /*                                                                          */
00019 /*  We make no guarantees about the correctness or usefulness of this code. */
00020 /*                                                                          */
00021 /****************************************************************************/
00022 
00023 /* RCSINFO $Id: dbl_lib.h,v 1.4 2003/11/05 17:00:26 meven Exp $ */
00024 #ifndef dbl_ILL_LIB_H
00025 #define dbl_ILL_LIB_H
00026 
00027 #include "dbl_lpdefs.h"
00028 #include "dbl_lpdata.h"
00029 #include "dbl_price.h"
00030 #include "basicdefs.h"
00031 
00032 /****************************************************************************/
00033 /*                                                                          */
00034 /*                   Return Status for dbl_ILLlib_optimize                      */
00035 /*                                                                          */
00036 /****************************************************************************/
00037 
00038 /****************************************************************************/
00039 /*                                                                          */
00040 /*                               dbl_lib.c                                      */
00041 /*                                                                          */
00042 /****************************************************************************/
00043 
00044 struct itcnt_t;
00045 
00046 int dbl_ILLlib_optimize ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, dbl_price_info * pinf, int algo,
00047       int *status, int simplex_display, struct itcnt_t*itcnt),
00048     dbl_ILLlib_cache_solution ( dbl_lpinfo * lp, dbl_ILLlp_cache * C), 
00049     dbl_ILLlib_solution ( dbl_lpinfo * lp, dbl_ILLlp_cache * C, double * val, 
00050       double * x, double * pi, double * slack, double * rc),
00051     dbl_ILLlib_get_x ( dbl_lpinfo * lp, dbl_ILLlp_cache * C, double * x),
00052     dbl_ILLlib_get_slack ( dbl_lpinfo * lp, dbl_ILLlp_cache * C, double * slack),
00053     dbl_ILLlib_objval ( dbl_lpinfo * lp, dbl_ILLlp_cache * C, double * val),
00054     dbl_ILLlib_tableau ( dbl_lpinfo * lp, int row, double * binv, double * tabrow),
00055     dbl_ILLlib_basis_order ( dbl_lpinfo * lp, int *header),
00056     dbl_ILLlib_newrow ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, double rhs, int sense,
00057       double range, const char *name),
00058     dbl_ILLlib_newrows ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int num, double * rhs,
00059       char *sense, double * range, const char **names),
00060     dbl_ILLlib_addrow ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int cnt, int *ind,
00061       double * val, double rhs, int sense, double range,
00062       const char *rowname),
00063     dbl_ILLlib_addrows ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int num, int *rmatcnt, 
00064       int *rmatbeg, int *rmatind, double * rmatval, double * rhs, 
00065       char *sense, double * range, const char **names, int *nofactor),
00066     dbl_ILLlib_delrows ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, dbl_ILLlp_cache * C, int num, 
00067       int *dellist, int *basis_ok, int *cache_ok), 
00068     dbl_ILLlib_newcol ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, double obj, 
00069       double lower, double upper, const char *name, int factorok), 
00070     dbl_ILLlib_newcols ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int num, double * obj,
00071       double * lower, double * upper, const char **names, int factorok),
00072     dbl_ILLlib_addcol ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int cnt, int *ind,
00073       double * val, double obj, double lower, double upper, 
00074       const char *name, int factorok),
00075     dbl_ILLlib_addcols ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int num, int *cmatcnt,
00076       int *cmatbeg, int *cmatind, double * cmatval, double * obj,
00077       double * lower, double * upper, const char **names, int factorok),
00078     dbl_ILLlib_delcols ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int num, int *dellist,
00079       int *basis_ok),
00080     dbl_ILLlib_chgcoef ( dbl_lpinfo * lp, int rowindex, int colindex, double coef), 
00081     dbl_ILLlib_getcoef (dbl_lpinfo *lp, int rowindex, int colindex, double* coef),
00082     dbl_ILLlib_chgrange (dbl_lpinfo *lp, int indx, double coef),
00083     dbl_ILLlib_chgsense ( dbl_lpinfo * lp, int num, int *rowlist, char *sense),
00084     dbl_ILLlib_getsenses (dbl_lpinfo *lp, char *senses),
00085     dbl_ILLlib_getrows ( dbl_lpinfo * lp, int num, int *rowlist, int **rowcnt,
00086       int **rowbeg, int **rowind, double ** rowval, double ** rhs,
00087       char **sense, double ** range, char ***names),
00088     dbl_ILLlib_getcols ( dbl_lpinfo * lp, int num, int *collist, int **colcnt,
00089       int **colbeg, int **colind, double ** colval, double ** obj,
00090       double ** lower, double ** upper, char ***names),
00091     dbl_ILLlib_getobj ( dbl_lpinfo * lp, double * obj),
00092     dbl_ILLlib_getobj_list (dbl_lpinfo *lp, int num, int* collist, double* obj),
00093     dbl_ILLlib_chgobj ( dbl_lpinfo * lp, int indx, double coef),
00094     dbl_ILLlib_getrhs ( dbl_lpinfo * lp, double * rhs),
00095     dbl_ILLlib_chgrhs ( dbl_lpinfo * lp, int indx, double coef),
00096     dbl_ILLlib_getintflags ( dbl_lpinfo * lp, int *intflags),
00097     dbl_ILLlib_rownames ( dbl_lpinfo * lp, char **rownames),
00098     dbl_ILLlib_colnames ( dbl_lpinfo * lp, char **colnames),
00099     dbl_ILLlib_colindex ( dbl_lpinfo * lp, const char *name, int *colindex),
00100     dbl_ILLlib_rowindex ( dbl_lpinfo * lp, const char *name, int *rowindex),
00101     dbl_ILLlib_chgbnd ( dbl_lpinfo * lp, int indx, int lu, double bnd),
00102     dbl_ILLlib_chgbnds ( dbl_lpinfo * lp, int cnt, int *indx, char *lu, double * bnd),
00103     dbl_ILLlib_getbnd ( dbl_lpinfo * lp, int indx, int lu, double * bnd),
00104     dbl_ILLlib_getbnds ( dbl_lpinfo * lp, double * lower, double * upper),
00105     dbl_ILLlib_getbnds_list ( dbl_lpinfo *lp, int num, int*collist, double *lower,
00106       double *upper),
00107     dbl_ILLlib_strongbranch ( dbl_lpinfo * lp, dbl_price_info * pinf, int *candidatelist,
00108       int ncand, double * xlist, double * downpen, double * uppen,
00109       int iterations, double objbound, struct itcnt_t*itcnt),
00110     dbl_ILLlib_getbasis ( dbl_lpinfo * lp, char *cstat, char *rstat),
00111     dbl_ILLlib_loadbasis ( dbl_ILLlp_basis * B, int nstruct, int nrows, char *cstat,
00112       char *rstat),
00113     dbl_ILLlib_readbasis ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, const char *dbl_fname),
00114     dbl_ILLlib_writebasis ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, const char *dbl_fname),
00115     dbl_ILLlib_getrownorms ( dbl_lpinfo * lp, dbl_price_info * pinf, double * rownorms),
00116     dbl_ILLlib_loadrownorms ( dbl_lpinfo * lp, dbl_price_info * pinf, double * rownorms),
00117     dbl_ILLlib_recompute_rownorms ( dbl_lpinfo * lp, dbl_price_info * pinf),
00118     dbl_ILLlib_iter ( dbl_lpinfo * lp),
00119     dbl_ILLlib_print_x ( FILE * fd, dbl_lpinfo * lp, dbl_ILLlp_cache * C, double * x,
00120       int nonZerosOnly),
00121     dbl_ILLwrite_lp_file ( dbl_ILLlpdata * lp, FILE * eout, dbl_qserror_collector * c);
00122 
00123 
00124 extern int dbl_ILLlib_findName (
00125   dbl_ILLlpdata * qslp,
00126   int forRow,
00127   const char *name,
00128   int id,
00129   char buf[ILL_namebufsize]);
00130 
00131 /****************************************************************************/
00132 /*                                                                          */
00133 /*                           dbl_presolve.c                                     */
00134 /*                                                                          */
00135 /****************************************************************************/
00136 
00137 int dbl_ILLpresolve_add_logicals (
00138   dbl_ILLlpdata * lp);
00139 
00140 
00141 /****************************************************************************/
00142 /*                                                                          */
00143 /*                            dbl_binary.c                                      */
00144 /*                                                                          */
00145 /****************************************************************************/
00146 
00147 int dbl_ILLmip_binary_dfs (
00148   dbl_lpinfo * lp);
00149 
00150 #endif /* dbl_ILL_LIB_H */

Generated on Wed Apr 22 09:16:09 2009 for QSopt_ex by  doxygen 1.5.2