lemon-project-template-glpk
comparison deps/glpk/examples/netgen.c @ 9:33de93886c88
Import GLPK 4.47
author | Alpar Juttner <alpar@cs.elte.hu> |
---|---|
date | Sun, 06 Nov 2011 20:59:10 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:37153a921d76 |
---|---|
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 | |
12 static 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 | |
122 typedef struct { double rhs; } v_data; | |
123 typedef struct { double cap, cost; } a_data; | |
124 | |
125 int 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 */ |