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 "qs_config.h"
00028 #include "dbl_lpdefs.h"
00029 #include "dbl_lpdata.h"
00030 #include "dbl_price.h"
00031 #include "basicdefs.h"
00032 
00033 /****************************************************************************/
00034 /*                                                                          */
00035 /*                   Return Status for dbl_ILLlib_optimize                      */
00036 /*                                                                          */
00037 /****************************************************************************/
00038 
00039 /****************************************************************************/
00040 /*                                                                          */
00041 /*                               dbl_lib.c                                      */
00042 /*                                                                          */
00043 /****************************************************************************/
00044 
00045 struct itcnt_t;
00046 
00047 int dbl_ILLlib_optimize ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, dbl_price_info * pinf, int algo,
00048       int *status, int simplex_display, struct itcnt_t*itcnt),
00049     dbl_ILLlib_cache_solution ( dbl_lpinfo * lp, dbl_ILLlp_cache * C), 
00050     dbl_ILLlib_solution ( dbl_lpinfo * lp, dbl_ILLlp_cache * C, double * val, 
00051       double * x, double * pi, double * slack, double * rc),
00052     dbl_ILLlib_get_x ( dbl_lpinfo * lp, dbl_ILLlp_cache * C, double * x),
00053     dbl_ILLlib_get_slack ( dbl_lpinfo * lp, dbl_ILLlp_cache * C, double * slack),
00054     dbl_ILLlib_objval ( dbl_lpinfo * lp, dbl_ILLlp_cache * C, double * val),
00055     dbl_ILLlib_tableau ( dbl_lpinfo * lp, int row, double * binv, double * tabrow),
00056     dbl_ILLlib_basis_order ( dbl_lpinfo * lp, int *header),
00057     dbl_ILLlib_newrow ( dbl_lpinfo * lp, dbl_ILLlp_basis * B,const double rhs, int sense,
00058       const double range, const char *name),
00059     dbl_ILLlib_newrows ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int num,const double * rhs,
00060       char *sense, const double * range, const char **names),
00061     dbl_ILLlib_addrow ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int cnt, int *ind,
00062       const double * val, const double rhs, int sense,const double range,
00063       const char *rowname),
00064     dbl_ILLlib_addrows ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int num, int *rmatcnt, 
00065       int *rmatbeg, int *rmatind,const double * rmatval,const double * rhs, 
00066       char *sense, const double * range, const char **names, int *nofactor),
00067     dbl_ILLlib_delrows ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, dbl_ILLlp_cache * C, int num, 
00068       int *dellist, int *basis_ok, int *cache_ok), 
00069     dbl_ILLlib_newcol ( dbl_lpinfo * lp, dbl_ILLlp_basis * B,const double obj, 
00070       const double lower,const double upper, const char *name, int factorok), 
00071     dbl_ILLlib_newcols ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int num, double * obj,
00072       double * lower, double * upper, const char **names, int factorok),
00073     dbl_ILLlib_addcol ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int cnt, int *ind,
00074       double * val,const double obj,const double lower,const double upper, 
00075       const char *name, int factorok),
00076     dbl_ILLlib_addcols ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int num, int *cmatcnt,
00077       int *cmatbeg, int *cmatind, double * cmatval, double * obj,
00078       double * lower, double * upper, const char **names, int factorok),
00079     dbl_ILLlib_delcols ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, int num, int *dellist,
00080       int *basis_ok),
00081     dbl_ILLlib_chgcoef ( dbl_lpinfo * lp, int rowindex, int colindex, double coef), 
00082     dbl_ILLlib_getcoef (dbl_lpinfo *lp, int rowindex, int colindex, double* coef),
00083     dbl_ILLlib_chgrange (dbl_lpinfo *lp, int indx, double coef),
00084     dbl_ILLlib_chgsense ( dbl_lpinfo * lp, int num, int *rowlist, char *sense),
00085     dbl_ILLlib_getsenses (dbl_lpinfo *lp, char *senses),
00086     dbl_ILLlib_getrows ( dbl_lpinfo * lp, int num, int *rowlist, int **rowcnt,
00087       int **rowbeg, int **rowind, double ** rowval, double ** rhs,
00088       char **sense, double ** range, char ***names),
00089     dbl_ILLlib_getcols ( dbl_lpinfo * lp, int num, int *collist, int **colcnt,
00090       int **colbeg, int **colind, double ** colval, double ** obj,
00091       double ** lower, double ** upper, char ***names),
00092     dbl_ILLlib_getobj ( dbl_lpinfo * lp, double * obj),
00093     dbl_ILLlib_getobj_list (dbl_lpinfo *lp, int num, int* collist, double* obj),
00094     dbl_ILLlib_chgobj ( dbl_lpinfo * lp, int indx, double coef),
00095     dbl_ILLlib_getrhs ( dbl_lpinfo * lp, double * rhs),
00096     dbl_ILLlib_chgrhs ( dbl_lpinfo * lp, int indx, double coef),
00097     dbl_ILLlib_getintflags ( dbl_lpinfo * lp, int *intflags),
00098     dbl_ILLlib_rownames ( dbl_lpinfo * lp, char **rownames),
00099     dbl_ILLlib_colnames ( dbl_lpinfo * lp, char **colnames),
00100     dbl_ILLlib_colindex ( dbl_lpinfo * lp, const char *name, int *colindex),
00101     dbl_ILLlib_rowindex ( dbl_lpinfo * lp, const char *name, int *rowindex),
00102     dbl_ILLlib_chgbnd ( dbl_lpinfo * lp, int indx, int lu,const double bnd),
00103     dbl_ILLlib_chgbnds ( dbl_lpinfo * lp, int cnt, int *indx, char *lu, const double * bnd),
00104     dbl_ILLlib_getbnd ( dbl_lpinfo * lp, int indx, int lu, double * bnd),
00105     dbl_ILLlib_getbnds ( dbl_lpinfo * lp, double * lower, double * upper),
00106     dbl_ILLlib_getbnds_list ( dbl_lpinfo *lp, int num, int*collist, double *lower,
00107       double *upper),
00108     dbl_ILLlib_strongbranch ( dbl_lpinfo * lp, dbl_price_info * pinf, int *candidatelist,
00109       int ncand, double * xlist, double * downpen, double * uppen,
00110       int iterations, double objbound, struct itcnt_t*itcnt),
00111     dbl_ILLlib_getbasis ( dbl_lpinfo * lp, char *cstat, char *rstat),
00112     dbl_ILLlib_loadbasis ( dbl_ILLlp_basis * B, int nstruct, int nrows, char *cstat,
00113       char *rstat),
00114     dbl_ILLlib_readbasis ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, const char *dbl_fname),
00115     dbl_ILLlib_writebasis ( dbl_lpinfo * lp, dbl_ILLlp_basis * B, const char *dbl_fname),
00116     dbl_ILLlib_getrownorms ( dbl_lpinfo * lp, dbl_price_info * pinf, double * rownorms),
00117     dbl_ILLlib_loadrownorms ( dbl_lpinfo * lp, dbl_price_info * pinf, double * rownorms),
00118     dbl_ILLlib_recompute_rownorms ( dbl_lpinfo * lp, dbl_price_info * pinf),
00119     dbl_ILLlib_iter ( dbl_lpinfo * lp),
00120     dbl_ILLlib_print_x ( EGioFile_t * fd, dbl_lpinfo * lp, dbl_ILLlp_cache * C, double * x,
00121       int nonZerosOnly),
00122     dbl_ILLwrite_lp_file ( dbl_ILLlpdata * lp, EGioFile_t * eout, dbl_qserror_collector * c);
00123 
00124 
00125 extern int dbl_ILLlib_findName (
00126   dbl_ILLlpdata * qslp,
00127   int forRow,
00128   const char *name,
00129   int id,
00130   char buf[ILL_namebufsize]);
00131 
00132 /****************************************************************************/
00133 /*                                                                          */
00134 /*                           dbl_presolve.c                                     */
00135 /*                                                                          */
00136 /****************************************************************************/
00137 
00138 int dbl_ILLpresolve_add_logicals (
00139   dbl_ILLlpdata * lp);
00140 
00141 
00142 /****************************************************************************/
00143 /*                                                                          */
00144 /*                            dbl_binary.c                                      */
00145 /*                                                                          */
00146 /****************************************************************************/
00147 
00148 int dbl_ILLmip_binary_dfs (
00149   dbl_lpinfo * lp);
00150 
00151 #endif /* dbl_ILL_LIB_H */

Generated on Thu Mar 29 09:32:29 2012 for QSopt_ex by  doxygen 1.4.7