Dip
0.92.4
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
tmp
Dip-0.92.4
SYMPHONY
Applications
CNRP
include
cnrp_cp.h
Go to the documentation of this file.
1
/*===========================================================================*/
2
/* */
3
/* This file is part of a demonstration application for use with the */
4
/* SYMPHONY Branch, Cut, and Price Library. This application is a solver for */
5
/* Capacitated Network Routing Problems. */
6
/* */
7
/* (c) Copyright 2000-2013 Ted Ralphs. All Rights Reserved. */
8
/* */
9
/* This application was developed by Ted Ralphs (ted@lehigh.edu) */
10
/* */
11
/* This software is licensed under the Eclipse Public License. Please see */
12
/* accompanying file for terms. */
13
/* */
14
/*===========================================================================*/
15
16
#ifndef _CUT_POOL_USER_H
17
#define _CUT_POOL_USER_H
18
19
/* SYMPHONY include files */
20
#include "
sym_proto.h
"
21
22
/* CNRP include files */
23
#include "
cnrp_cp_params.h
"
24
25
26
typedef
struct
CNRP_SPEC_CP
{
27
cnrp_cp_params
par
;
28
int
vertnum
;
/*number of vertices in the problem*/
29
int
edgenum
;
/*number of edges in the problem*/
30
double
capacity
;
31
double
*
demand
;
32
int
*
edges
;
/*a list of the edges (by index pairs)*/
33
struct
POOL_NET
*
n
;
34
}
cnrp_spec_cp
;
35
36
/*--------------------------------------------------------------------------*
37
* The next three data structuires are used in the construction of the
38
* solution graph which we use to check the violation of certain cuts
39
*--------------------------------------------------------------------------*/
40
41
typedef
struct
POOL_NET
{
42
struct
POOL_NODE
*
verts
;
43
struct
POOL_EDGE
*
adjlist
;
44
int
vertnum
;
45
int
edgenum
;
46
}
pool_net
;
47
48
typedef
struct
POOL_NODE
{
49
struct
POOL_EDGE
*
first
;
50
}
pool_node
;
51
52
typedef
struct
POOL_EDGE
{
53
struct
POOL_EDGE
*
next
;
54
int
other_end
;
55
double
weight
;
56
}
pool_edge
;
57
58
pool_net
*create_pool_net
PROTO
((
cnrp_spec_cp
*vcp,
int
varnum,
int
*indices,
59
double
*values));
60
void
free_pool_net
PROTO
((
cnrp_spec_cp
*vcp));
61
62
63
#endif
POOL_NET::edgenum
int edgenum
Definition:
cnrp_cp.h:45
pool_edge
struct POOL_EDGE pool_edge
POOL_EDGE::weight
double weight
Definition:
cnrp_cp.h:55
PROTO
#define PROTO(x)
Definition:
sym_proto.h:27
CNRP_SPEC_CP::edges
int * edges
Definition:
cnrp_cp.h:32
POOL_NET
Definition:
cnrp_cp.h:41
POOL_NET::verts
struct POOL_NODE * verts
Definition:
cnrp_cp.h:42
CP_USER_PARAMS
Definition:
cnrp_cp_params.h:19
POOL_EDGE::next
struct POOL_EDGE * next
Definition:
cnrp_cp.h:53
pool_net
struct POOL_NET pool_net
pool_node
struct POOL_NODE pool_node
CNRP_SPEC_CP::capacity
double capacity
Definition:
cnrp_cp.h:30
CNRP_SPEC_CP::demand
double * demand
Definition:
cnrp_cp.h:31
sym_proto.h
CNRP_SPEC_CP
Definition:
cnrp_cp.h:26
CNRP_SPEC_CP::edgenum
int edgenum
Definition:
cnrp_cp.h:29
cnrp_spec_cp
struct CNRP_SPEC_CP cnrp_spec_cp
POOL_EDGE::other_end
int other_end
Definition:
cnrp_cp.h:54
POOL_NODE
Definition:
cnrp_cp.h:48
CNRP_SPEC_CP::vertnum
int vertnum
Definition:
cnrp_cp.h:28
CNRP_SPEC_CP::n
struct POOL_NET * n
Definition:
cnrp_cp.h:33
CNRP_SPEC_CP::par
cnrp_cp_params par
Definition:
cnrp_cp.h:27
cnrp_cp_params.h
POOL_NODE::first
struct POOL_EDGE * first
Definition:
cnrp_cp.h:49
POOL_EDGE
Definition:
cnrp_cp.h:52
POOL_NET::adjlist
struct POOL_EDGE * adjlist
Definition:
cnrp_cp.h:43
POOL_NET::vertnum
int vertnum
Definition:
cnrp_cp.h:44
Generated by
1.8.5