mpf_price.h

Go to the documentation of this file.
00001 #include "qs_config.h"
00002 #ifdef HAVE_LIBGMP
00003 #if HAVE_LIBGMP
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: mpf_price.h,v $ $Revision: 1.3 $ $Date: 2003/11/05 16:57:39 $" */
00027 #ifndef mpf___PRICE_H
00028 #define mpf___PRICE_H
00029 
00030 #include "mpf_dstruct.h"
00031 #include "basicdefs.h"
00032 
00033 typedef struct mpf_price_res
00034 {
00035   int eindex;
00036   int dir;
00037   int lindex;
00038   int lvstat;
00039   int price_stat;
00040   mpf_t dinfeas;
00041   mpf_t pinfeas;
00042 }
00043 mpf_price_res;
00044 
00045 int mpf_ILLprice_test_for_heap (
00046   mpf_lpinfo * const lp,
00047   mpf_price_info * const pinf,
00048   int const nkeys,
00049   mpf_t * keylist,
00050   int const algo,
00051   int const upd),
00052   mpf_ILLprice_build_heap (
00053   mpf_price_info * const pinf,
00054   int const nkeys,
00055   mpf_t * keylist),
00056   mpf_ILLprice_build_pricing_info (
00057   mpf_lpinfo * const lp,
00058   mpf_price_info * const pinf,
00059   int const phase),
00060   mpf_ILLprice_update_pricing_info (
00061   mpf_lpinfo * const lp,
00062   mpf_price_info * const pinf,
00063   int const phase,
00064   mpf_svector * const wz,
00065   int const eindex,
00066   int const lindex,
00067   mpf_t y),
00068   mpf_ILLprice_get_price (
00069   mpf_price_info * const p,
00070   int const phase),
00071   mpf_ILLprice_build_mpartial_info (
00072   mpf_lpinfo * const lp,
00073   mpf_price_info * const pinf,
00074   int const pricetype),
00075   mpf_ILLprice_build_pdevex_norms (
00076   mpf_lpinfo * const lp,
00077   mpf_p_devex_info * const pdinfo,
00078   int const reinit),
00079   mpf_ILLprice_update_pdevex_norms (
00080   mpf_lpinfo * const lp,
00081   mpf_p_devex_info * const pdinfo,
00082   int const eindex,
00083   mpf_t yl),
00084   mpf_ILLprice_build_psteep_norms (
00085   mpf_lpinfo * const lp,
00086   mpf_p_steep_info * const psinfo),
00087   mpf_ILLprice_build_ddevex_norms (
00088   mpf_lpinfo * const lp,
00089   mpf_d_devex_info * const ddinfo,
00090   int const reinit),
00091   mpf_ILLprice_update_ddevex_norms (
00092   mpf_lpinfo * const lp,
00093   mpf_d_devex_info * const ddinfo,
00094   int const eindex,
00095   mpf_t yl),
00096   mpf_ILLprice_build_dsteep_norms (
00097   mpf_lpinfo * const lp,
00098   mpf_d_steep_info * const dsinfo),
00099   mpf_ILLprice_get_dsteep_norms (
00100   mpf_lpinfo * const lp,
00101   int const count,
00102   int *constrowind,
00103   mpf_t * const norms),
00104   mpf_ILLprice_get_rownorms (
00105   mpf_lpinfo * const lp,
00106   mpf_price_info * const pinf,
00107   mpf_t * const rnorms),
00108   mpf_ILLprice_get_colnorms (
00109   mpf_lpinfo * const lp,
00110   mpf_price_info * const pinf,
00111   mpf_t * const cnorms),
00112   mpf_ILLprice_get_newnorms (
00113   mpf_lpinfo * const lp,
00114   int const nelems,
00115   mpf_t * const norms,
00116   int *const matcnt,
00117   int *const matbeg,
00118   int *const matind,
00119   mpf_t * const matval,
00120   int const option),
00121   mpf_ILLprice_get_new_rownorms (
00122   mpf_lpinfo * const lp,
00123   int const newrows,
00124   mpf_t * const rnorms,
00125   int *const rmatcnt,
00126   int *const rmatbeg,
00127   int *const rmatind,
00128   mpf_t * const rmatval),
00129   mpf_ILLprice_get_new_colnorms (
00130   mpf_lpinfo * const lp,
00131   int const newrows,
00132   mpf_t * const rnorms,
00133   int *const matcnt,
00134   int *const matbeg,
00135   int *const matind,
00136   mpf_t * const matval),
00137   mpf_ILLprice_load_rownorms (
00138   mpf_lpinfo * const lp,
00139   mpf_t * const rnorms,
00140   mpf_price_info * const pinf),
00141   mpf_ILLprice_load_colnorms (
00142   mpf_lpinfo * const lp,
00143   mpf_t * const cnorms,
00144   mpf_price_info * const pinf);
00145 
00146 
00147 void mpf_ILLprice_free_heap (
00148   mpf_price_info * const pinf),
00149   mpf_ILLprice_init_pricing_info (
00150   mpf_price_info * const pinf),
00151   mpf_ILLprice_free_pricing_info (
00152   mpf_price_info * const pinf),
00153   mpf_ILLprice_free_mpartial_info (
00154   mpf_mpart_info * p),
00155   mpf_ILLprice_init_mpartial_price (
00156   mpf_lpinfo * const lp,
00157   mpf_price_info * const pinf,
00158   int const phase,
00159   int const pricetype),
00160   mpf_ILLprice_update_mpartial_price (
00161   mpf_lpinfo * const lp,
00162   mpf_price_info * const pinf,
00163   int const phase,
00164   int const pricetype),
00165   mpf_ILLprice_delete_onempart_price (
00166   /*mpf_lpinfo * const lp,*/
00167   mpf_price_info * const pinf,
00168   int const indx,
00169   int const pricetype),
00170   mpf_ILLprice_mpartial_group (
00171   mpf_lpinfo * const lp,
00172   mpf_mpart_info * const p,
00173   int const phase,
00174   int const g,
00175   int const pricetype),
00176   mpf_ILLprice_column (
00177   mpf_lpinfo * const lp,
00178   int const ix,
00179   int const phase,
00180   mpf_price_res * const pr),
00181   mpf_ILLprice_row (
00182   mpf_lpinfo * const lp,
00183   int const ix,
00184   int const phase,
00185   mpf_price_res * const pr),
00186   mpf_ILLprice_update_psteep_norms (
00187   mpf_lpinfo * lp,
00188   mpf_p_steep_info * psinfo,
00189   mpf_svector * wz,
00190   int eindex,
00191   mpf_t yl),
00192   mpf_ILLprice_update_dsteep_norms (
00193   mpf_lpinfo * const lp,
00194   mpf_d_steep_info * const dsinfo,
00195   mpf_svector * const wz,
00196   int const lindex,
00197   mpf_t yl),
00198   mpf_ILLprice_compute_dual_inf (
00199   mpf_lpinfo * const lp,
00200   mpf_price_info * const p,
00201   int *const ix,
00202   int const icnt,
00203   int const phase),
00204   mpf_ILLprice_primal (
00205   mpf_lpinfo * const lp,
00206   mpf_price_info * const pinf,
00207   mpf_price_res * const pr,
00208   int const phase),
00209   mpf_ILLprice_compute_primal_inf (
00210   mpf_lpinfo * const lp,
00211   mpf_price_info * const p,
00212   int *const ix,
00213   int const icnt,
00214   int const phase),
00215   mpf_ILLprice_dual (
00216   mpf_lpinfo * const lp,
00217   mpf_price_info * const pinf,
00218   int const phase,
00219   mpf_price_res * const pr);
00220 
00221 void mpf_test_dsteep_norms (
00222   mpf_lpinfo * const lp,
00223   mpf_price_info * const p);
00224 
00225 #endif /* mpf___PRICE_H */
00226 #endif
00227 #endif

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