lemon-project-template-glpk
diff 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 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/deps/glpk/examples/netgen.c Sun Nov 06 20:59:10 2011 +0100 1.3 @@ -0,0 +1,141 @@ 1.4 +/* netgen.c */ 1.5 + 1.6 +/* This main program generates 50 original NETGEN instances of the 1.7 + minimum cost flow problem and writes them in DIMACS format to the 1.8 + current directory. */ 1.9 + 1.10 +#include <stddef.h> 1.11 +#include <stdio.h> 1.12 +#include <stdlib.h> 1.13 +#include <glpk.h> 1.14 + 1.15 +static int parm[50][15] = 1.16 +{ {13502460, 101, 1.17 + 5000, 2500, 2500, 25000, 1, 100, 250000, 0, 0, 0, 100, 1, 1000, 1.18 + },{4281922, 102, 1.19 + 5000, 2500, 2500, 25000, 1, 100, 2500000, 0, 0, 0, 100, 1, 1000, 1.20 + },{44820113, 103, 1.21 + 5000, 2500, 2500, 25000, 1, 100, 6250000, 0, 0, 0, 100, 1, 1000, 1.22 + },{13450451, 104, 1.23 + 5000, 2500, 2500, 25000, -100, -1, 250000, 0, 0, 0, 100, 1, 1000, 1.24 + },{14719436, 105, 1.25 + 5000, 2500, 2500, 25000, 101, 200, 250000, 0, 0, 0, 100, 1, 1000, 1.26 + },{17365786, 106, 1.27 + 5000, 2500, 2500, 12500, 1, 100, 125000, 0, 0, 0, 100, 1, 1000, 1.28 + },{19540113, 107, 1.29 + 5000, 2500, 2500, 37500, 1, 100, 375000, 0, 0, 0, 100, 1, 1000, 1.30 + },{19560313, 108, 1.31 + 5000, 2500, 2500, 50000, 1, 100, 500000, 0, 0, 0, 100, 1, 1000, 1.32 + },{2403509, 109, 1.33 + 5000, 2500, 2500, 75000, 1, 100, 750000, 0, 0, 0, 100, 1, 1000, 1.34 + },{92480414, 110, 1.35 + 5000, 2500, 2500, 12500, 1, 100, 250000, 0, 0, 0, 100, 1, 1000, 1.36 + },{4230140, 111, 1.37 + 5000, 2500, 2500, 37500, 1, 100, 250000, 0, 0, 0, 100, 1, 1000, 1.38 + },{10032490, 112, 1.39 + 5000, 2500, 2500, 50000, 1, 100, 250000, 0, 0, 0, 100, 1, 1000, 1.40 + },{17307474, 113, 1.41 + 5000, 2500, 2500, 75000, 1, 100, 250000, 0, 0, 0, 100, 1, 1000, 1.42 + },{4925114, 114, 1.43 + 5000, 500, 4500, 25000, 1, 100, 250000, 0, 0, 0, 100, 1, 1000, 1.44 + },{19842704, 115, 1.45 + 5000, 1500, 3500, 25000, 1, 100, 250000, 0, 0, 0, 100, 1, 1000, 1.46 + },{88392060, 116, 1.47 + 5000, 2500, 2500, 25000, 1, 100, 250000, 0, 0, 0, 0, 1, 1000, 1.48 + },{12904407, 117, 1.49 + 5000, 2500, 2500, 12500, 1, 100, 125000, 0, 0, 0, 0, 1, 1000, 1.50 + },{11811811, 118, 1.51 + 5000, 2500, 2500, 37500, 1, 100, 375000, 0, 0, 0, 0, 1, 1000, 1.52 + },{90023593, 119, 1.53 + 5000, 2500, 2500, 50000, 1, 100, 500000, 0, 0, 0, 0, 1, 1000, 1.54 + },{93028922, 120, 1.55 + 5000, 2500, 2500, 75000, 1, 100, 750000, 0, 0, 0, 0, 1, 1000, 1.56 + },{72707401, 121, 1.57 + 5000, 50, 50, 25000, 1, 100, 250000, 50, 50, 0, 100, 1, 1000, 1.58 + },{93040771, 122, 1.59 + 5000, 250, 250, 25000, 1, 100, 250000, 250, 250, 0, 100, 1, 1000, 1.60 + },{70220611, 123, 1.61 + 5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000, 1.62 + },{52774811, 124, 1.63 + 5000, 1000, 1000, 25000, 1, 100, 250000, 1000, 1000, 0, 100, 1, 1.64 + 1000, 1.65 + },{22492311, 125, 1.66 + 5000, 1500, 1500, 25000, 1, 100, 250000, 1500, 1500, 0, 100, 1, 1.67 + 1000, 1.68 + },{35269337, 126, 1.69 + 5000, 500, 500, 12500, 1, 100, 125000, 500, 500, 0, 100, 1, 1000, 1.70 + },{30140502, 127, 1.71 + 5000, 500, 500, 37500, 1, 100, 375000, 500, 500, 0, 100, 1, 1000, 1.72 + },{49205455, 128, 1.73 + 5000, 500, 500, 50000, 1, 100, 500000, 500, 500, 0, 100, 1, 1000, 1.74 + },{42958341, 129, 1.75 + 5000, 500, 500, 75000, 1, 100, 750000, 500, 500, 0, 100, 1, 1000, 1.76 + },{25440925, 130, 1.77 + 5000, 500, 500, 12500, 1, 100, 250000, 500, 500, 0, 100, 1, 1000, 1.78 + },{75294924, 131, 1.79 + 5000, 500, 500, 37500, 1, 100, 250000, 500, 500, 0, 100, 1, 1000, 1.80 + },{4463965, 132, 1.81 + 5000, 500, 500, 50000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000, 1.82 + },{13390427, 133, 1.83 + 5000, 500, 500, 75000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000, 1.84 + },{95250971, 134, 1.85 + 1000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000, 1.86 + },{54830522, 135, 1.87 + 2500, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000, 1.88 + },{520593, 136, 1.89 + 7500, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000, 1.90 + },{52900925, 137, 1.91 + 10000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 1000, 1.92 + },{22603395, 138, 1.93 + 5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 50, 1.94 + },{55253099, 139, 1.95 + 5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 250, 1.96 + },{75357001, 140, 1.97 + 5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 500, 1.98 + },{10072459, 141, 1.99 + 5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 2500, 1.100 + },{55728492, 142, 1.101 + 5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 100, 1, 5000, 1.102 + },{593043, 143, 1.103 + 5000, 500, 500, 25000, 1, 100, 250000, 500, 500, 0, 0, 1, 1000, 1.104 + },{94236572, 144, 1.105 + 5000, 500, 500, 25000, 1, 10, 250000, 500, 500, 0, 100, 1, 1000, 1.106 + },{94882955, 145, 1.107 + 5000, 500, 500, 25000, 1, 1000, 250000, 500, 500, 0, 100, 1, 1000, 1.108 + },{48489922, 146, 1.109 + 5000, 500, 500, 25000, 1, 10000, 250000, 500, 500, 0, 100, 1, 1.110 + 1000, 1.111 + },{75578374, 147, 1.112 + 5000, 500, 500, 25000, -100, -1, 250000, 500, 500, 0, 100, 1, 1.113 + 1000, 1.114 + },{44821152, 148, 1.115 + 5000, 500, 500, 25000, -50, 49, 250000, 500, 500, 0, 100, 1, 1000, 1.116 + },{45224103, 149, 1.117 + 5000, 500, 500, 25000, 101, 200, 250000, 500, 500, 0, 100, 1, 1.118 + 1000, 1.119 + },{63491741, 150, 1.120 + 5000, 500, 500, 25000, 1001, 1100, 250000, 500, 500, 0, 100, 1, 1.121 + 1000, 1.122 + } 1.123 +}; 1.124 + 1.125 +typedef struct { double rhs; } v_data; 1.126 +typedef struct { double cap, cost; } a_data; 1.127 + 1.128 +int main(void) 1.129 +{ glp_graph *G; 1.130 + int k; 1.131 + char fname[100+1]; 1.132 + G = glp_create_graph(sizeof(v_data), sizeof(a_data)); 1.133 + for (k = 1; k <= 50; k++) 1.134 + { sprintf(fname, "netgn%03d.min", parm[k-1][1]); 1.135 + glp_netgen(G, offsetof(v_data, rhs), offsetof(a_data, cap), 1.136 + offsetof(a_data, cost), &parm[k-1][-1]); 1.137 + glp_write_mincost(G, offsetof(v_data, rhs), -1, 1.138 + offsetof(a_data, cap), offsetof(a_data, cost), fname); 1.139 + } 1.140 + glp_delete_graph(G); 1.141 + return 0; 1.142 +} 1.143 + 1.144 +/* eof */