COIN-OR::LEMON - Graph Library

source: glpk-cmake/examples/netgen.c @ 1:c445c931472f

Last change on this file since 1:c445c931472f was 1:c445c931472f, checked in by Alpar Juttner <alpar@…>, 10 years ago

Import glpk-4.45

  • Generated files and doc/notes are removed
File size: 5.4 KB
Line 
1/* netgen.c */
2
3/* This main program generates 50 original NETGEN instances of the
4   minimum cost flow problem and writes them in DIMACS format to the
5   current directory. */
6
7#include <stddef.h>
8#include <stdio.h>
9#include <stdlib.h>
10#include <glpk.h>
11
12static int parm[50][15] =
13{    {13502460, 101,
14      5000, 2500, 2500, 25000, 1, 100, 250000, 0, 0, 0, 100, 1, 1000,
15   },{4281922, 102,
16      5000, 2500, 2500, 25000, 1, 100, 2500000, 0, 0, 0, 100, 1, 1000,
17   },{44820113, 103,
18      5000, 2500, 2500, 25000, 1, 100, 6250000, 0, 0, 0, 100, 1, 1000,
19   },{13450451, 104,
20      5000, 2500, 2500, 25000, -100, -1, 250000, 0, 0, 0, 100, 1, 1000,
21   },{14719436, 105,
22      5000, 2500, 2500, 25000, 101, 200, 250000, 0, 0, 0, 100, 1, 1000,
23   },{17365786, 106,
24      5000, 2500, 2500, 12500, 1, 100, 125000, 0, 0, 0, 100, 1, 1000,
25   },{19540113, 107,
26      5000, 2500, 2500, 37500, 1, 100, 375000, 0, 0, 0, 100, 1, 1000,
27   },{19560313, 108,
28      5000, 2500, 2500, 50000, 1, 100, 500000, 0, 0, 0, 100, 1, 1000,
29   },{2403509, 109,
30      5000, 2500, 2500, 75000, 1, 100, 750000, 0, 0, 0, 100, 1, 1000,
31   },{92480414, 110,
32      5000, 2500, 2500, 12500, 1, 100, 250000, 0, 0, 0, 100, 1, 1000,
33   },{4230140, 111,
34      5000, 2500, 2500, 37500, 1, 100, 250000, 0, 0, 0, 100, 1, 1000,
35   },{10032490, 112,
36      5000, 2500, 2500, 50000, 1, 100, 250000, 0, 0, 0, 100, 1, 1000,
37   },{17307474, 113,
38      5000, 2500, 2500, 75000, 1, 100, 250000, 0, 0, 0, 100, 1, 1000,
39   },{4925114, 114,
40      5000, 500, 4500, 25000, 1, 100, 250000, 0, 0, 0, 100, 1, 1000,
41   },{19842704, 115,
42      5000, 1500, 3500, 25000, 1, 100, 250000, 0, 0, 0, 100, 1, 1000,
43   },{88392060, 116,
44      5000, 2500, 2500, 25000, 1, 100, 250000, 0, 0, 0, 0, 1, 1000,
45   },{12904407, 117,
46      5000, 2500, 2500, 12500, 1, 100, 125000, 0, 0, 0, 0, 1, 1000,
47   },{11811811, 118,
48      5000, 2500, 2500, 37500, 1, 100, 375000, 0, 0, 0, 0, 1, 1000,
49   },{90023593, 119,
50      5000, 2500, 2500, 50000, 1, 100, 500000, 0, 0, 0, 0, 1, 1000,
51   },{93028922, 120,
52      5000, 2500, 2500, 75000, 1, 100, 750000, 0, 0, 0, 0, 1, 1000,
53   },{72707401, 121,
54      5000, 50, 50, 25000, 1, 100, 250000, 50, 50, 0, 100, 1, 1000,
55   },{93040771, 122,
56      5000, 250, 250, 25000, 1, 100, 250000, 250, 250, 0, 100, 1, 1000,
57   },{70220611, 123,
58      5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000,
59   },{52774811, 124,
60      5000, 1000, 1000, 25000, 1, 100, 250000, 1000, 1000, 0, 100, 1,
61      1000,
62   },{22492311, 125,
63      5000, 1500, 1500, 25000, 1, 100, 250000, 1500, 1500, 0, 100, 1,
64      1000,
65   },{35269337, 126,
66      5000, 500, 500, 12500, 1, 100, 125000, 500, 500, 0, 100, 1, 1000,
67   },{30140502, 127,
68      5000, 500, 500, 37500, 1, 100, 375000, 500, 500, 0, 100, 1, 1000,
69   },{49205455, 128,
70      5000, 500, 500, 50000, 1, 100, 500000, 500, 500, 0, 100, 1, 1000,
71   },{42958341, 129,
72      5000, 500, 500, 75000, 1, 100, 750000, 500, 500, 0, 100, 1, 1000,
73   },{25440925, 130,
74      5000, 500, 500, 12500, 1, 100, 250000, 500, 500, 0, 100, 1, 1000,
75   },{75294924, 131,
76      5000, 500, 500, 37500, 1, 100, 250000, 500, 500, 0, 100, 1, 1000,
77   },{4463965, 132,
78      5000, 500, 500, 50000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000,
79   },{13390427, 133,
80      5000, 500, 500, 75000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000,
81   },{95250971, 134,
82      1000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000,
83   },{54830522, 135,
84      2500, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000,
85   },{520593, 136,
86      7500, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000,
87   },{52900925, 137,
88      10000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000,
89   },{22603395, 138,
90      5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 50,
91   },{55253099, 139,
92      5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 250,
93   },{75357001, 140,
94      5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 500,
95   },{10072459, 141,
96      5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 2500,
97   },{55728492, 142,
98      5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 5000,
99   },{593043, 143,
100      5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 0, 1, 1000,
101   },{94236572, 144,
102      5000, 500, 500, 25000, 1, 10, 250000, 500, 500, 0, 100, 1, 1000,
103   },{94882955, 145,
104      5000, 500, 500, 25000, 1, 1000, 250000, 500, 500, 0, 100, 1, 1000,
105   },{48489922, 146,
106      5000, 500, 500, 25000, 1, 10000, 250000, 500, 500, 0, 100, 1,
107      1000,
108   },{75578374, 147,
109      5000, 500, 500, 25000, -100, -1, 250000, 500, 500, 0, 100, 1,
110      1000,
111   },{44821152, 148,
112      5000, 500, 500, 25000, -50, 49, 250000, 500, 500, 0, 100, 1, 1000,
113   },{45224103, 149,
114      5000, 500, 500, 25000, 101, 200, 250000, 500, 500, 0, 100, 1,
115      1000,
116   },{63491741, 150,
117      5000, 500, 500, 25000, 1001, 1100, 250000, 500, 500, 0, 100, 1,
118      1000,
119   }
120};
121
122typedef struct { double rhs; } v_data;
123typedef struct { double cap, cost; } a_data;
124
125int main(void)
126{     glp_graph *G;
127      int k;
128      char fname[100+1];
129      G = glp_create_graph(sizeof(v_data), sizeof(a_data));
130      for (k = 1; k <= 50; k++)
131      {  sprintf(fname, "netgn%03d.min", parm[k-1][1]);
132         glp_netgen(G, offsetof(v_data, rhs), offsetof(a_data, cap),
133            offsetof(a_data, cost), &parm[k-1][-1]);
134         glp_write_mincost(G, offsetof(v_data, rhs), -1,
135            offsetof(a_data, cap), offsetof(a_data, cost), fname);
136      }
137      glp_delete_graph(G);
138      return 0;
139}
140
141/* eof */
Note: See TracBrowser for help on using the repository browser.