eg_pdp.h

Go to the documentation of this file.
00001 #include "eg_ddomino.h"
00002 #include "cookInterface.h"
00003 #include "eg_list.h"
00004 #include "eg_menger.h"
00005 #include "eg_mempool.h"
00006 #include "eg_ddpconstraint.h"
00007 #include "dp_config.h"
00008 #include "graph_boyer.h"
00009 #define EGPDP_DBGLVL 1000
00010 #define EGU2_LVL 1000
00011 #define EGFDOM_LVL 1000
00012 #define EGFD2DOM_LVL 1000
00013 #define EGPDP_FIX2PIE 1
00014 #define EGPDP_GETP2P 1
00015 #define EGGP2P_LVL 1000
00016 
00017 int EGfixDualDominos (EGlist_t * domino_list, /* dual dominos to be fixed */
00018 
00019                       int nnodes, /* number of nodes in primal graph */
00020 
00021                       int nedges, /* number of edges in primal graph */
00022 
00023                       double *const weight, /* weight of all non small edges */
00024 
00025                       int *const edges, /* non small edges in cook's format */
00026 
00027                       int *const elim_edges,  /* index of eliminated edges */
00028 
00029                       int nelim_edges,  /* size of the array elim_edges */
00030 
00031                       graphP G, /* pointer to the dual graph in boyer's format */
00032 
00033                       EGmemPool_t * mem); /* memory pool */
00034 
00035 int EGgetPrimalDP (EGddpConstraint_t * ddp, // dual DP constraint 
00036 
00037                    int nnodes,  // number of nodes in primal graph
00038 
00039                    int nedges,  // number of edges in primal graph
00040 
00041                    int *const edges,  // non small edges in cook's format
00042 
00043                    int *const elim_edges, // index of eliminated edges
00044 
00045                    int nelim_edges, // size of the array elim_edges
00046 
00047                    double *const weight,  // weight of all non small edges
00048 
00049                    int *const ndom, // store number of dominos
00050 
00051                    int **const nAset, // store the size of A each sets
00052 
00053                    int **const nBset, // store the size of B each sets
00054 
00055                    int *const nHandle,  // store the size of the handle
00056 
00057                    int ***const Aset, // store each A set
00058 
00059                    int ***const Bset, // store each B set
00060 
00061                    int **const Handle,  // store the handle
00062 
00063                    double *const violation, // primal violation of the cut
00064 
00065                    graphP G,    // pointer to the dual graph in boyer's format
00066 
00067                    EGmemPool_t * const mem);  // memory pool
00068 
00069 
00070 /* given a list of dominos of type DOM_DUAL_NORM and the dual (planar) graph we
00071  * untangle all domino-paths and set path[1] as the longest one. mem is the
00072  * memory pool from where the dominos where allocated. embed is the dual planar
00073  * embed as returned by getDualBoyer. */
00074 int EGuntangleAllDomino (EGlist_t * ddom_list,
00075                          EGdGraph_t * dgraph,
00076                          EGlist_t ** embed,
00077                          EGmemPool_t * mem);

Generated on Thu Oct 20 14:58:41 2005 for DominoParitySeparator by  doxygen 1.4.5