ldbl_price.h

Go to the documentation of this file.
00001 #include "qs_config.h"
00002 #ifdef HAVE_LONG_DOUBLE
00003 #if HAVE_LONG_DOUBLE
00004 /****************************************************************************/
00005 /*                                                                          */
00006 /*  This file is part of QSopt_ex.                                          */
00007 /*                                                                          */
00008 /*  (c) Copyright 2006 by David Applegate, William Cook, Sanjeeb Dash,      */
00009 /*  and Daniel Espinoza                                                     */
00010 /*                                                                          */
00011 /*  Sanjeeb Dash ownership of copyright in QSopt_ex is derived from his     */
00012 /*  copyright in QSopt.                                                     */
00013 /*                                                                          */
00014 /*  This code may be used under the terms of the GNU General Public License */
00015 /*  (Version 2.1 or later) as published by the Free Software Foundation.    */
00016 /*                                                                          */
00017 /*  Alternatively, use is granted for research purposes only.               */
00018 /*                                                                          */
00019 /*  It is your choice of which of these two licenses you are operating      */
00020 /*  under.                                                                  */
00021 /*                                                                          */
00022 /*  We make no guarantees about the correctness or usefulness of this code. */
00023 /*                                                                          */
00024 /****************************************************************************/
00025 
00026 /*  $RCSfile: ldbl_price.h,v $ $Revision: 1.3 $ $Date: 2003/11/05 16:57:39 $" */
00027 #ifndef ldbl___PRICE_H
00028 #define ldbl___PRICE_H
00029 
00030 #include "ldbl_dstruct.h"
00031 #include "basicdefs.h"
00032 
00033 typedef struct ldbl_price_res
00034 {
00035   int eindex;
00036   int dir;
00037   int lindex;
00038   int lvstat;
00039   int price_stat;
00040   long double dinfeas;
00041   long double pinfeas;
00042 }
00043 ldbl_price_res;
00044 
00045 int ldbl_ILLprice_test_for_heap (
00046   ldbl_lpinfo * const lp,
00047   ldbl_price_info * const pinf,
00048   int const nkeys,
00049   long double * keylist,
00050   int const algo,
00051   int const upd),
00052   ldbl_ILLprice_build_heap (
00053   ldbl_price_info * const pinf,
00054   int const nkeys,
00055   long double * keylist),
00056   ldbl_ILLprice_build_pricing_info (
00057   ldbl_lpinfo * const lp,
00058   ldbl_price_info * const pinf,
00059   int const phase),
00060   ldbl_ILLprice_update_pricing_info (
00061   ldbl_lpinfo * const lp,
00062   ldbl_price_info * const pinf,
00063   int const phase,
00064   ldbl_svector * const wz,
00065   int const eindex,
00066   int const lindex,
00067   long double y),
00068   ldbl_ILLprice_get_price (
00069   ldbl_price_info * const p,
00070   int const phase),
00071   ldbl_ILLprice_build_mpartial_info (
00072   ldbl_lpinfo * const lp,
00073   ldbl_price_info * const pinf,
00074   int const pricetype),
00075   ldbl_ILLprice_build_pdevex_norms (
00076   ldbl_lpinfo * const lp,
00077   ldbl_p_devex_info * const pdinfo,
00078   int const reinit),
00079   ldbl_ILLprice_update_pdevex_norms (
00080   ldbl_lpinfo * const lp,
00081   ldbl_p_devex_info * const pdinfo,
00082   int const eindex,
00083   long double yl),
00084   ldbl_ILLprice_build_psteep_norms (
00085   ldbl_lpinfo * const lp,
00086   ldbl_p_steep_info * const psinfo),
00087   ldbl_ILLprice_build_ddevex_norms (
00088   ldbl_lpinfo * const lp,
00089   ldbl_d_devex_info * const ddinfo,
00090   int const reinit),
00091   ldbl_ILLprice_update_ddevex_norms (
00092   ldbl_lpinfo * const lp,
00093   ldbl_d_devex_info * const ddinfo,
00094   int const eindex,
00095   long double yl),
00096   ldbl_ILLprice_build_dsteep_norms (
00097   ldbl_lpinfo * const lp,
00098   ldbl_d_steep_info * const dsinfo),
00099   ldbl_ILLprice_get_dsteep_norms (
00100   ldbl_lpinfo * const lp,
00101   int const count,
00102   int *constrowind,
00103   long double * const norms),
00104   ldbl_ILLprice_get_rownorms (
00105   ldbl_lpinfo * const lp,
00106   ldbl_price_info * const pinf,
00107   long double * const rnorms),
00108   ldbl_ILLprice_get_colnorms (
00109   ldbl_lpinfo * const lp,
00110   ldbl_price_info * const pinf,
00111   long double * const cnorms),
00112   ldbl_ILLprice_get_newnorms (
00113   ldbl_lpinfo * const lp,
00114   int const nelems,
00115   long double * const norms,
00116   int *const matcnt,
00117   int *const matbeg,
00118   int *const matind,
00119   long double * const matval,
00120   int const option),
00121   ldbl_ILLprice_get_new_rownorms (
00122   ldbl_lpinfo * const lp,
00123   int const newrows,
00124   long double * const rnorms,
00125   int *const rmatcnt,
00126   int *const rmatbeg,
00127   int *const rmatind,
00128   long double * const rmatval),
00129   ldbl_ILLprice_get_new_colnorms (
00130   ldbl_lpinfo * const lp,
00131   int const newrows,
00132   long double * const rnorms,
00133   int *const matcnt,
00134   int *const matbeg,
00135   int *const matind,
00136   long double * const matval),
00137   ldbl_ILLprice_load_rownorms (
00138   ldbl_lpinfo * const lp,
00139   long double * const rnorms,
00140   ldbl_price_info * const pinf),
00141   ldbl_ILLprice_load_colnorms (
00142   ldbl_lpinfo * const lp,
00143   long double * const cnorms,
00144   ldbl_price_info * const pinf);
00145 
00146 
00147 void ldbl_ILLprice_free_heap (
00148   ldbl_price_info * const pinf),
00149   ldbl_ILLprice_init_pricing_info (
00150   ldbl_price_info * const pinf),
00151   ldbl_ILLprice_free_pricing_info (
00152   ldbl_price_info * const pinf),
00153   ldbl_ILLprice_free_mpartial_info (
00154   ldbl_mpart_info * p),
00155   ldbl_ILLprice_init_mpartial_price (
00156   ldbl_lpinfo * const lp,
00157   ldbl_price_info * const pinf,
00158   int const phase,
00159   int const pricetype),
00160   ldbl_ILLprice_update_mpartial_price (
00161   ldbl_lpinfo * const lp,
00162   ldbl_price_info * const pinf,
00163   int const phase,
00164   int const pricetype),
00165   ldbl_ILLprice_delete_onempart_price (
00166   /*ldbl_lpinfo * const lp,*/
00167   ldbl_price_info * const pinf,
00168   int const indx,
00169   int const pricetype),
00170   ldbl_ILLprice_mpartial_group (
00171   ldbl_lpinfo * const lp,
00172   ldbl_mpart_info * const p,
00173   int const phase,
00174   int const g,
00175   int const pricetype),
00176   ldbl_ILLprice_column (
00177   ldbl_lpinfo * const lp,
00178   int const ix,
00179   int const phase,
00180   ldbl_price_res * const pr),
00181   ldbl_ILLprice_row (
00182   ldbl_lpinfo * const lp,
00183   int const ix,
00184   int const phase,
00185   ldbl_price_res * const pr),
00186   ldbl_ILLprice_update_psteep_norms (
00187   ldbl_lpinfo * lp,
00188   ldbl_p_steep_info * psinfo,
00189   ldbl_svector * wz,
00190   int eindex,
00191   long double yl),
00192   ldbl_ILLprice_update_dsteep_norms (
00193   ldbl_lpinfo * const lp,
00194   ldbl_d_steep_info * const dsinfo,
00195   ldbl_svector * const wz,
00196   int const lindex,
00197   long double yl),
00198   ldbl_ILLprice_compute_dual_inf (
00199   ldbl_lpinfo * const lp,
00200   ldbl_price_info * const p,
00201   int *const ix,
00202   int const icnt,
00203   int const phase),
00204   ldbl_ILLprice_primal (
00205   ldbl_lpinfo * const lp,
00206   ldbl_price_info * const pinf,
00207   ldbl_price_res * const pr,
00208   int const phase),
00209   ldbl_ILLprice_compute_primal_inf (
00210   ldbl_lpinfo * const lp,
00211   ldbl_price_info * const p,
00212   int *const ix,
00213   int const icnt,
00214   int const phase),
00215   ldbl_ILLprice_dual (
00216   ldbl_lpinfo * const lp,
00217   ldbl_price_info * const pinf,
00218   int const phase,
00219   ldbl_price_res * const pr);
00220 
00221 void ldbl_test_dsteep_norms (
00222   ldbl_lpinfo * const lp,
00223   ldbl_price_info * const p);
00224 
00225 #endif /* ldbl___PRICE_H */
00226 #endif
00227 #endif

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