dbl_price.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 /*  $RCSfile: dbl_price.h,v $ $Revision: 1.3 $ $Date: 2003/11/05 16:57:39 $" */
00024 #ifndef dbl___PRICE_H
00025 #define dbl___PRICE_H
00026 
00027 #include "dbl_dstruct.h"
00028 #include "basicdefs.h"
00029 
00030 typedef struct dbl_price_res
00031 {
00032   int eindex;
00033   int dir;
00034   int lindex;
00035   int lvstat;
00036   int price_stat;
00037   double dinfeas;
00038   double pinfeas;
00039 }
00040 dbl_price_res;
00041 
00042 int dbl_ILLprice_test_for_heap (
00043   dbl_lpinfo * const lp,
00044   dbl_price_info * const pinf,
00045   int const nkeys,
00046   double * keylist,
00047   int const algo,
00048   int const upd),
00049   dbl_ILLprice_build_heap (
00050   dbl_price_info * const pinf,
00051   int const nkeys,
00052   double * keylist),
00053   dbl_ILLprice_build_pricing_info (
00054   dbl_lpinfo * const lp,
00055   dbl_price_info * const pinf,
00056   int const phase),
00057   dbl_ILLprice_update_pricing_info (
00058   dbl_lpinfo * const lp,
00059   dbl_price_info * const pinf,
00060   int const phase,
00061   dbl_svector * const wz,
00062   int const eindex,
00063   int const lindex,
00064   double y),
00065   dbl_ILLprice_get_price (
00066   dbl_price_info * const p,
00067   int const phase),
00068   dbl_ILLprice_build_mpartial_info (
00069   dbl_lpinfo * const lp,
00070   dbl_price_info * const pinf,
00071   int const pricetype),
00072   dbl_ILLprice_build_pdevex_norms (
00073   dbl_lpinfo * const lp,
00074   dbl_p_devex_info * const pdinfo,
00075   int const reinit),
00076   dbl_ILLprice_update_pdevex_norms (
00077   dbl_lpinfo * const lp,
00078   dbl_p_devex_info * const pdinfo,
00079   int const eindex,
00080   double yl),
00081   dbl_ILLprice_build_psteep_norms (
00082   dbl_lpinfo * const lp,
00083   dbl_p_steep_info * const psinfo),
00084   dbl_ILLprice_build_ddevex_norms (
00085   dbl_lpinfo * const lp,
00086   dbl_d_devex_info * const ddinfo,
00087   int const reinit),
00088   dbl_ILLprice_update_ddevex_norms (
00089   dbl_lpinfo * const lp,
00090   dbl_d_devex_info * const ddinfo,
00091   int const eindex,
00092   double yl),
00093   dbl_ILLprice_build_dsteep_norms (
00094   dbl_lpinfo * const lp,
00095   dbl_d_steep_info * const dsinfo),
00096   dbl_ILLprice_get_dsteep_norms (
00097   dbl_lpinfo * const lp,
00098   int const count,
00099   int *constrowind,
00100   double * const norms),
00101   dbl_ILLprice_get_rownorms (
00102   dbl_lpinfo * const lp,
00103   dbl_price_info * const pinf,
00104   double * const rnorms),
00105   dbl_ILLprice_get_colnorms (
00106   dbl_lpinfo * const lp,
00107   dbl_price_info * const pinf,
00108   double * const cnorms),
00109   dbl_ILLprice_get_newnorms (
00110   dbl_lpinfo * const lp,
00111   int const nelems,
00112   double * const norms,
00113   int *const matcnt,
00114   int *const matbeg,
00115   int *const matind,
00116   double * const matval,
00117   int const option),
00118   dbl_ILLprice_get_new_rownorms (
00119   dbl_lpinfo * const lp,
00120   int const newrows,
00121   double * const rnorms,
00122   int *const rmatcnt,
00123   int *const rmatbeg,
00124   int *const rmatind,
00125   double * const rmatval),
00126   dbl_ILLprice_get_new_colnorms (
00127   dbl_lpinfo * const lp,
00128   int const newrows,
00129   double * const rnorms,
00130   int *const matcnt,
00131   int *const matbeg,
00132   int *const matind,
00133   double * const matval),
00134   dbl_ILLprice_load_rownorms (
00135   dbl_lpinfo * const lp,
00136   double * const rnorms,
00137   dbl_price_info * const pinf),
00138   dbl_ILLprice_load_colnorms (
00139   dbl_lpinfo * const lp,
00140   double * const cnorms,
00141   dbl_price_info * const pinf);
00142 
00143 
00144 void dbl_ILLprice_free_heap (
00145   dbl_price_info * const pinf),
00146   dbl_ILLprice_init_pricing_info (
00147   dbl_price_info * const pinf),
00148   dbl_ILLprice_free_pricing_info (
00149   dbl_price_info * const pinf),
00150   dbl_ILLprice_free_mpartial_info (
00151   dbl_mpart_info * p),
00152   dbl_ILLprice_init_mpartial_price (
00153   dbl_lpinfo * const lp,
00154   dbl_price_info * const pinf,
00155   int const phase,
00156   int const pricetype),
00157   dbl_ILLprice_update_mpartial_price (
00158   dbl_lpinfo * const lp,
00159   dbl_price_info * const pinf,
00160   int const phase,
00161   int const pricetype),
00162   dbl_ILLprice_delete_onempart_price (
00163   /*dbl_lpinfo * const lp,*/
00164   dbl_price_info * const pinf,
00165   int const indx,
00166   int const pricetype),
00167   dbl_ILLprice_mpartial_group (
00168   dbl_lpinfo * const lp,
00169   dbl_mpart_info * const p,
00170   int const phase,
00171   int const g,
00172   int const pricetype),
00173   dbl_ILLprice_column (
00174   dbl_lpinfo * const lp,
00175   int const ix,
00176   int const phase,
00177   dbl_price_res * const pr),
00178   dbl_ILLprice_row (
00179   dbl_lpinfo * const lp,
00180   int const ix,
00181   int const phase,
00182   dbl_price_res * const pr),
00183   dbl_ILLprice_update_psteep_norms (
00184   dbl_lpinfo * lp,
00185   dbl_p_steep_info * psinfo,
00186   dbl_svector * wz,
00187   int eindex,
00188   double yl),
00189   dbl_ILLprice_update_dsteep_norms (
00190   dbl_lpinfo * const lp,
00191   dbl_d_steep_info * const dsinfo,
00192   dbl_svector * const wz,
00193   int const lindex,
00194   double yl),
00195   dbl_ILLprice_compute_dual_inf (
00196   dbl_lpinfo * const lp,
00197   dbl_price_info * const p,
00198   int *const ix,
00199   int const icnt,
00200   int const phase),
00201   dbl_ILLprice_primal (
00202   dbl_lpinfo * const lp,
00203   dbl_price_info * const pinf,
00204   dbl_price_res * const pr,
00205   int const phase),
00206   dbl_ILLprice_compute_primal_inf (
00207   dbl_lpinfo * const lp,
00208   dbl_price_info * const p,
00209   int *const ix,
00210   int const icnt,
00211   int const phase),
00212   dbl_ILLprice_dual (
00213   dbl_lpinfo * const lp,
00214   dbl_price_info * const pinf,
00215   int const phase,
00216   dbl_price_res * const pr);
00217 
00218 void dbl_test_dsteep_norms (
00219   dbl_lpinfo * const lp,
00220   dbl_price_info * const p);
00221 
00222 #endif /* dbl___PRICE_H */

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