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: price.h,v $ $Revision: 1.3 $ $Date: 2003/11/05 16:57:39 $" */
00024 #ifndef __PRICE_H
00025 #define __PRICE_H
00026 
00027 #include "dstruct.h"
00028 #include "basicdefs.h"
00029 
00030 typedef struct price_res
00031 {
00032   int eindex;
00033   int dir;
00034   int lindex;
00035   int lvstat;
00036   int price_stat;
00037   EGlpNum_t dinfeas;
00038   EGlpNum_t pinfeas;
00039 }
00040 price_res;
00041 
00042 int ILLprice_test_for_heap (
00043   lpinfo * const lp,
00044   price_info * const pinf,
00045   int const nkeys,
00046   EGlpNum_t * keylist,
00047   int const algo,
00048   int const upd),
00049   ILLprice_build_heap (
00050   price_info * const pinf,
00051   int const nkeys,
00052   EGlpNum_t * keylist),
00053   ILLprice_build_pricing_info (
00054   lpinfo * const lp,
00055   price_info * const pinf,
00056   int const phase),
00057   ILLprice_update_pricing_info (
00058   lpinfo * const lp,
00059   price_info * const pinf,
00060   int const phase,
00061   svector * const wz,
00062   int const eindex,
00063   int const lindex,
00064   EGlpNum_t y),
00065   ILLprice_get_price (
00066   price_info * const p,
00067   int const phase),
00068   ILLprice_build_mpartial_info (
00069   lpinfo * const lp,
00070   price_info * const pinf,
00071   int const pricetype),
00072   ILLprice_build_pdevex_norms (
00073   lpinfo * const lp,
00074   p_devex_info * const pdinfo,
00075   int const reinit),
00076   ILLprice_update_pdevex_norms (
00077   lpinfo * const lp,
00078   p_devex_info * const pdinfo,
00079   int const eindex,
00080   EGlpNum_t yl),
00081   ILLprice_build_psteep_norms (
00082   lpinfo * const lp,
00083   p_steep_info * const psinfo),
00084   ILLprice_build_ddevex_norms (
00085   lpinfo * const lp,
00086   d_devex_info * const ddinfo,
00087   int const reinit),
00088   ILLprice_update_ddevex_norms (
00089   lpinfo * const lp,
00090   d_devex_info * const ddinfo,
00091   int const eindex,
00092   EGlpNum_t yl),
00093   ILLprice_build_dsteep_norms (
00094   lpinfo * const lp,
00095   d_steep_info * const dsinfo),
00096   ILLprice_get_dsteep_norms (
00097   lpinfo * const lp,
00098   int const count,
00099   int *constrowind,
00100   EGlpNum_t * const norms),
00101   ILLprice_get_rownorms (
00102   lpinfo * const lp,
00103   price_info * const pinf,
00104   EGlpNum_t * const rnorms),
00105   ILLprice_get_colnorms (
00106   lpinfo * const lp,
00107   price_info * const pinf,
00108   EGlpNum_t * const cnorms),
00109   ILLprice_get_newnorms (
00110   lpinfo * const lp,
00111   int const nelems,
00112   EGlpNum_t * const norms,
00113   int *const matcnt,
00114   int *const matbeg,
00115   int *const matind,
00116   EGlpNum_t * const matval,
00117   int const option),
00118   ILLprice_get_new_rownorms (
00119   lpinfo * const lp,
00120   int const newrows,
00121   EGlpNum_t * const rnorms,
00122   int *const rmatcnt,
00123   int *const rmatbeg,
00124   int *const rmatind,
00125   EGlpNum_t * const rmatval),
00126   ILLprice_get_new_colnorms (
00127   lpinfo * const lp,
00128   int const newrows,
00129   EGlpNum_t * const rnorms,
00130   int *const matcnt,
00131   int *const matbeg,
00132   int *const matind,
00133   EGlpNum_t * const matval),
00134   ILLprice_load_rownorms (
00135   lpinfo * const lp,
00136   EGlpNum_t * const rnorms,
00137   price_info * const pinf),
00138   ILLprice_load_colnorms (
00139   lpinfo * const lp,
00140   EGlpNum_t * const cnorms,
00141   price_info * const pinf);
00142 
00143 
00144 void ILLprice_free_heap (
00145   price_info * const pinf),
00146   ILLprice_init_pricing_info (
00147   price_info * const pinf),
00148   ILLprice_free_pricing_info (
00149   price_info * const pinf),
00150   ILLprice_free_mpartial_info (
00151   mpart_info * p),
00152   ILLprice_init_mpartial_price (
00153   lpinfo * const lp,
00154   price_info * const pinf,
00155   int const phase,
00156   int const pricetype),
00157   ILLprice_update_mpartial_price (
00158   lpinfo * const lp,
00159   price_info * const pinf,
00160   int const phase,
00161   int const pricetype),
00162   ILLprice_delete_onempart_price (
00163   /*lpinfo * const lp,*/
00164   price_info * const pinf,
00165   int const indx,
00166   int const pricetype),
00167   ILLprice_mpartial_group (
00168   lpinfo * const lp,
00169   mpart_info * const p,
00170   int const phase,
00171   int const g,
00172   int const pricetype),
00173   ILLprice_column (
00174   lpinfo * const lp,
00175   int const ix,
00176   int const phase,
00177   price_res * const pr),
00178   ILLprice_row (
00179   lpinfo * const lp,
00180   int const ix,
00181   int const phase,
00182   price_res * const pr),
00183   ILLprice_update_psteep_norms (
00184   lpinfo * lp,
00185   p_steep_info * psinfo,
00186   svector * wz,
00187   int eindex,
00188   EGlpNum_t yl),
00189   ILLprice_update_dsteep_norms (
00190   lpinfo * const lp,
00191   d_steep_info * const dsinfo,
00192   svector * const wz,
00193   int const lindex,
00194   EGlpNum_t yl),
00195   ILLprice_compute_dual_inf (
00196   lpinfo * const lp,
00197   price_info * const p,
00198   int *const ix,
00199   int const icnt,
00200   int const phase),
00201   ILLprice_primal (
00202   lpinfo * const lp,
00203   price_info * const pinf,
00204   price_res * const pr,
00205   int const phase),
00206   ILLprice_compute_primal_inf (
00207   lpinfo * const lp,
00208   price_info * const p,
00209   int *const ix,
00210   int const icnt,
00211   int const phase),
00212   ILLprice_dual (
00213   lpinfo * const lp,
00214   price_info * const pinf,
00215   int const phase,
00216   price_res * const pr);
00217 
00218 void test_dsteep_norms (
00219   lpinfo * const lp,
00220   price_info * const p);
00221 
00222 #endif /* __PRICE_H */

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