lemon-project-template-glpk

view deps/glpk/examples/dist.mod @ 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 source
1 # DIST, a product distribution model
2 #
3 # References:
4 # Robert Fourer, David M. Gay and Brian W. Kernighan, "A Modeling Language
5 # for Mathematical Programming." Management Science 36 (1990) 519-554.
7 ### SHIPPING SETS AND PARAMETERS ###
9 set whse 'warehouses'; # Locations from which demand is satisfied
11 set dctr 'distribution centers' within whse;
13 # Locations from which product may be shipped
15 param sc 'shipping cost' {dctr,whse} >= 0;
17 # Shipping costs, to whse from dctr, in $ / 100 lb
19 param huge 'largest shipping cost' > 0;
21 # Largest cost allowed for a usable shipping route
23 param msr 'minimum size restriction' {dctr,whse} logical;
25 # True indicates a minimum-size restriction on
26 # direct shipments using this dctr --> whse route
28 param dsr 'direct shipment requirement' {dctr} >= 0;
30 # Minimum total demand, in pallets, needed to
31 # allow shipment on routes subject to the
32 # minimum size restriction
34 ### PLANT SETS AND PARAMETERS ###
36 set fact 'factories' within dctr;
38 # Locations where product is manufactured
40 param rtmin 'regular-time total minimum' >= 0;
42 # Lower limit on (average) total regular-time
43 # crews employed at all factories
45 param rtmax 'regular-time total maximum' >= rtmin;
47 # Upper limit on (average) total regular-time
48 # crews employed at all factories
50 param otmin 'overtime total minimum' >= 0;
52 # Lower limit on total overtime hours at all factories
54 param otmax 'overtime total maximum' >= otmin;
56 # Upper limit on total overtime hours at all factories
58 param rmin 'regular-time minimums' {fact} >= 0;
60 # Lower limits on (average) regular-time crews
62 param rmax 'regular-time maximums' {f in fact} >= rmin[f];
64 # Upper limits on (average) regular-time crews
66 param omin 'overtime minimums' {fact} >= 0;
68 # Lower limits on overtime hours
70 param omax 'overtime maximums' {f in fact} >= omin[f];
72 # Upper limits on overtime hours
74 param hd 'hours per day' {fact} >= 0;
76 # Regular-time hours per working day
78 param dp 'days in period' {fact} > 0;
80 # Working days in the current planning period
82 ### PRODUCT SETS AND PARAMETERS ###
84 set prd 'products'; # Elements of the product group
86 param wt 'weight' {prd} > 0;
88 # Weight in 100 lb / 1000 cases
90 param cpp 'cases per pallet' {prd} > 0;
92 # Cases of product per shipping pallet
94 param tc 'transshipment cost' {prd} >= 0;
96 # Transshipment cost in $ / 1000 cases
98 param pt 'production time' {prd,fact} >= 0;
100 # Crew-hours to produce 1000 cases
102 param rpc 'regular-time production cost' {prd,fact} >= 0;
104 # Cost of production on regular time,
105 # in $ / 1000 cases
107 param opc 'overtime production cost' {prd,fact} >= 0;
109 # Cost of production on overtime, in $ / 1000 cases
111 ### DEMAND SETS AND PARAMETERS ###
113 param dt 'total demand' {prd} >= 0;
115 # Total demands for products, in 1000s
117 param ds 'demand shares' {prd,whse} >= 0.0, <= 1.0;
119 # Historical demand data, from which each
120 # warehouse's share of total demand is deduced
122 param dstot {p in prd} := sum {w in whse} ds[p,w];
124 # Total of demand shares; should be 1, but often isn't
126 param dem 'demand' {p in prd, w in whse} := dt[p] * ds[p,w] / dstot[p];
128 # Projected demands to be satisfied, in 1000s
130 set rt 'shipping routes available' :=
132 {d in dctr, w in whse:
133 d <> w and sc[d,w] < huge and
134 (w in dctr or sum {p in prd} dem[p,w] > 0) and
135 not (msr[d,w] and sum {p in prd} 1000*dem[p,w]/cpp[p] < dsr[d]) };
137 # List of ordered pairs that represent routes
138 # on which shipments are allowed
140 ### VARIABLES ###
142 var Rprd 'regular-time production' {prd,fact} >= 0;
144 # Regular-time production of each product
145 # at each factory, in 1000s of cases
147 var Oprd 'overtime production' {prd,fact} >= 0;
149 # Overtime production of each product
150 # at each factory, in 1000s of cases
152 var Ship 'shipments' {prd,rt} >= 0;
154 # Shipments of each product on each allowed route,
155 # in 1000s of cases
157 var Trans 'transshipments' {prd,dctr} >= 0;
159 # Transshipments of each product at each
160 # distribution center, in 1000s of cases
162 ### OBJECTIVE ###
164 minimize cost: sum {p in prd, f in fact} rpc[p,f] * Rprd[p,f] +
165 sum {p in prd, f in fact} opc[p,f] * Oprd[p,f] +
166 sum {p in prd, (d,w) in rt} sc[d,w] * wt[p] * Ship[p,d,w] +
167 sum {p in prd, d in dctr} tc[p] * Trans[p,d];
169 # Total cost: regular production, overtime
170 # production, shipping, and transshipment
172 ### CONSTRAINTS ###
174 rtlim 'regular-time total limits':
176 rtmin <= sum {p in prd, f in fact}
177 (pt[p,f] * Rprd[p,f]) / (dp[f] * hd[f]) <= rtmax;
179 # Total crews must lie between limits
181 otlim 'overtime total limits':
183 otmin <= sum {p in prd, f in fact} pt[p,f] * Oprd[p,f] <= otmax;
185 # Total overtime must lie between limits
187 rlim 'regular-time limits' {f in fact}:
189 rmin[f] <= sum {p in prd}
190 (pt[p,f] * Rprd[p,f]) / (dp[f] * hd[f]) <= rmax[f];
192 # Crews at each factory must lie between limits
194 olim 'overtime limits' {f in fact}:
196 omin[f] <= sum {p in prd} pt[p,f] * Oprd[p,f] <= omax[f];
198 # Overtime at each factory must lie between limits
200 noRprd 'no regular production' {p in prd, f in fact: rpc[p,f] = 0}:
202 Rprd[p,f] = 0;
204 noOprd 'no overtime production' {p in prd, f in fact: opc[p,f] = 0}:
206 Oprd[p,f] = 0; # Do not produce where specified cost is zero
208 bal 'material balance' {p in prd, w in whse}:
210 sum {(v,w) in rt}
211 Ship [p,v,w] + (if w in fact then Rprd[p,w] + Oprd[p,w]) =
213 dem[p,w] + (if w in dctr then sum {(w,v) in rt} Ship[p,w,v]);
215 # Demand is satisfied by shipment into warehouse
216 # plus production (if it is a factory)
217 # minus shipment out (if it is a distn. center)
219 trdef 'transshipment definition' {p in prd, d in dctr}:
221 Trans[p,d] >= sum {(d,w) in rt} Ship [p,d,w] -
222 (if d in fact then Rprd[p,d] + Oprd[p,d]);
224 # Transshipment at a distribution center is
225 # shipments out less production (if any)
227 ### DATA -- 3 PRODUCTS ###
229 data;
231 set prd := 18REG 24REG 24PRO ;
233 set whse := w01 w02 w03 w04 w05 w06 w08 w09 w12 w14 w15 w17
234 w18 w19 w20 w21 w24 w25 w26 w27 w28 w29 w30 w31
235 w32 w33 w34 w35 w36 w37 w38 w39 w40 w41 w42 w43
236 w44 w45 w46 w47 w48 w49 w50 w51 w53 w54 w55 w56
237 w57 w59 w60 w61 w62 w63 w64 w65 w66 w68 w69 w71
238 w72 w73 w74 w75 w76 w77 w78 w79 w80 w81 w82 w83
239 w84 w85 w86 w87 w89 w90 w91 w92 w93 w94 w95 w96
240 w98 x22 x23 ;
242 set dctr := w01 w02 w03 w04 w05 w62 w76 w96 ;
244 set fact := w01 w05 w96 ;
246 param huge := 99. ;
248 param rtmin := 0.0 ;
249 param rtmax := 8.0 ;
251 param otmin := 0.0 ;
252 param otmax := 96.0 ;
254 param rmin := w01 0.00 w05 0.00 w96 0.00 ;
255 param rmax := w01 3.00 w05 2.00 w96 3.00 ;
257 param omin := w01 0.0 w05 0.0 w96 0.0 ;
258 param omax := w01 48.0 w05 0.0 w96 48.0 ;
260 param hd := w01 8.0 w05 8.0 w96 8.0 ;
262 param dp := w01 19.0 w05 19.0 w96 19.0 ;
264 param wt := 18REG 47.3 24REG 63.0 24PRO 63.0 ;
266 param tc := 18REG 40.00 24REG 45.00 24PRO 45.00 ;
268 param dt := 18REG 376.0 24REG 172.4 24PRO 316.3 ;
270 param cpp := 18REG 102. 24REG 91. 24PRO 91. ;
272 param dsr := w01 96. w02 96. w03 96. w04 96. w05 96.
273 w62 96. w76 96. w96 96. ;
275 param pt (tr) :
277 18REG 24REG 24PRO :=
279 w01 1.194 1.429 1.429
280 w05 1.194 1.509 1.509
281 w96 0.000 1.600 1.600 ;
283 param rpc (tr) :
285 18REG 24REG 24PRO :=
287 w01 2119. 2653. 2617.
288 w05 2489. 3182. 3176.
289 w96 0. 2925. 2918. ;
291 param opc (tr) :
293 18REG 24REG 24PRO :=
295 w01 2903. 3585. 3579.
296 w05 0. 0. 0.
297 w96 0. 3629. 3622. ;
299 param sc default 99.99 (tr) :
301 w01 w02 w03 w04 w05 w62 w76 w96 :=
303 w01 . 2.97 1.14 2.08 2.37 1.26 2.42 1.43
304 w02 4.74 . 4.17 6.12 7.41 3.78 7.04 5.21
305 w03 2.45 4.74 . 3.67 2.84 0.90 2.41 2.55
306 w04 1.74 5.03 2.43 . 3.19 2.45 2.69 0.58
307 w05 2.70 5.16 2.84 2.85 . 3.26 3.34 2.71
308 w06 1.99 4.17 2.13 2.19 2.52 2.06 2.00 1.51
309 w08 0.21 2.92 1.24 2.07 2.29 1.25 2.32 1.55
310 w09 0.66 3.76 1.41 2.47 1.82 1.66 . 1.87
311 w12 1.38 3.83 1.68 2.53 2.39 . 1.96 1.94
312 w14 2.47 1.58 2.40 3.59 3.85 2.25 . 3.05
313 w15 1.06 4.95 2.48 1.39 3.41 1.96 . 1.02
314 w17 0.88 3.39 1.46 2.00 2.67 1.45 . 1.46
315 w18 7.90 6.57 7.79 9.59 10.81 . . 6.70
316 w19 1.42 4.12 1.96 1.99 3.52 1.88 . 1.26
317 w20 3.03 1.59 2.34 4.76 3.98 1.88 . 3.73
318 w24 1.58 2.80 2.27 2.87 3.19 1.31 . 2.05
319 w25 1.51 5.05 2.74 0.57 2.98 . 2.95 0.27
320 w26 1.75 3.61 2.70 1.54 4.07 3.52 . 1.03
321 w27 2.48 6.87 3.17 1.59 2.08 3.45 . 0.99
322 w28 2.05 6.83 2.97 1.13 2.91 . . 1.26
323 w29 4.03 3.68 4.46 3.20 5.50 . . 3.20
324 w30 2.48 5.78 2.99 2.24 1.79 3.10 . 1.39
325 w31 2.34 5.41 2.87 1.67 1.66 . . 1.39
326 w32 14.36 . . . . . . .
327 w33 3.87 4.27 5.11 3.48 5.66 4.03 . 3.05
328 w34 3.26 4.80 3.21 2.70 4.14 . . 1.77
329 w35 2.34 2.84 2.89 3.35 3.78 2.68 . 2.52
330 w36 2.43 5.69 2.96 2.95 1.02 2.61 1.07 2.54
331 w37 2.23 4.64 2.41 1.99 4.30 2.61 . 1.44
332 w38 4.66 4.36 5.23 3.04 4.46 . . 3.82
333 w39 1.11 3.51 1.10 2.53 3.07 1.12 . 2.23
334 w40 2.99 4.78 4.23 1.57 3.92 . . 1.80
335 w41 4.93 4.00 5.43 4.45 6.31 . . 3.81
336 w42 3.86 6.55 5.03 2.11 4.41 . . 2.63
337 w43 4.61 4.45 3.77 1.22 4.31 . . 2.35
338 w44 2.05 4.48 1.06 3.70 3.46 1.10 . 3.21
339 w45 0.92 3.42 1.58 3.04 1.82 1.94 . 2.52
340 w46 1.36 2.44 0.95 3.08 2.78 0.39 2.16 2.37
341 w47 1.30 3.39 1.60 2.49 4.29 2.04 . 1.68
342 w48 1.65 3.78 1.03 2.97 2.21 1.31 . 2.74
343 w49 1.96 3.00 1.50 3.24 3.68 1.00 . 2.99
344 w50 0.90 4.14 1.60 1.95 3.61 1.61 . 1.52
345 w51 1.59 3.95 0.25 2.96 2.58 1.00 2.41 2.71
346 w53 1.59 3.79 1.28 3.12 3.10 0.89 . 2.98
347 w54 1.72 4.36 1.61 2.92 2.34 1.91 1.97 3.05
348 w55 2.45 2.73 2.21 4.47 4.30 2.57 . 4.48
349 w56 1.10 3.73 1.59 2.74 2.33 1.45 . 2.44
350 w57 0.95 3.39 1.37 2.30 2.47 1.15 . 1.95
351 w59 3.29 5.35 3.32 3.81 1.52 3.38 1.34 4.08
352 w60 2.41 6.12 2.46 3.65 2.35 . 1.37 4.06
353 w61 3.32 5.50 3.41 3.38 1.23 . 0.99 4.28
354 w62 1.12 3.00 0.82 3.22 2.95 . 3.33 2.53
355 w63 3.59 6.36 3.25 4.12 1.84 3.59 1.46 4.03
356 w64 1.85 4.45 2.17 3.43 2.13 2.03 . 4.02
357 w65 2.78 4.79 2.81 2.94 1.54 2.90 1.07 2.94
358 w66 3.90 5.79 3.05 3.65 1.36 3.39 1.22 3.57
359 w68 2.61 5.20 2.90 2.34 1.68 3.19 1.48 2.31
360 w69 2.94 5.21 2.78 3.43 0.21 3.26 0.68 2.54
361 w71 2.06 4.98 2.38 2.44 1.59 2.97 1.05 2.55
362 w72 2.61 5.50 2.83 3.12 1.35 3.23 0.88 2.99
363 w73 8.52 6.16 8.03 8.83 10.44 7.38 10.26 .
364 w74 6.11 5.46 9.07 9.38 10.80 . . 8.25
365 w75 2.66 4.94 2.87 3.69 1.52 3.15 1.24 4.00
366 w76 1.99 5.26 2.23 3.36 0.58 3.17 . 2.50
367 w77 4.32 3.07 5.05 3.88 6.04 . . 4.15
368 w78 5.60 2.59 5.78 5.56 7.10 . . 5.60
369 w79 4.25 2.32 4.93 4.57 6.04 . . 4.58
370 w80 5.94 4.00 5.60 7.02 9.46 . . 7.51
371 w81 5.39 2.21 5.10 6.22 6.46 . . 6.58
372 w82 8.80 5.69 9.29 9.88 11.69 8.63 11.52 .
373 w83 4.40 . 5.24 5.21 5.81 3.91 7.04 5.33
374 w84 5.87 5.43 6.17 5.70 7.63 . . 5.70
375 w85 3.90 3.65 3.38 4.57 5.64 3.05 . 5.04
376 w86 5.48 2.10 5.70 6.37 7.33 . . 6.19
377 w87 8.88 5.54 9.50 9.71 11.64 8.85 11.68 .
378 w89 4.62 4.01 4.03 6.30 6.30 3.81 . 7.77
379 w90 4.35 2.72 4.61 4.01 5.60 . . 3.20
380 w91 7.61 4.42 7.83 6.85 8.79 . . 7.66
381 w92 7.15 2.69 6.91 7.20 . . . 7.06
382 w93 3.17 3.95 4.37 3.74 5.05 . . 2.40
383 w94 1.21 3.07 0.90 2.74 3.17 . 2.63 2.39
384 w95 5.82 3.29 6.55 7.06 11.47 . . 7.83
385 w96 1.77 5.20 2.72 0.59 3.47 2.48 . .
386 w98 3.04 1.92 3.64 3.70 4.90 3.05 . 3.88
387 x22 4.08 6.25 4.15 4.30 1.77 . 1.77 .
388 x23 3.39 5.74 3.55 4.08 1.69 . 1.47 . ;
390 param msr (tr) :
392 w01 w02 w03 w04 w05 w62 w76 w96 :=
394 w01 0 0 0 0 0 0 1 0
395 w02 0 0 0 0 0 0 1 0
396 w03 0 0 0 0 0 0 1 0
397 w04 0 0 0 0 0 0 1 0
398 w05 0 0 0 0 0 0 0 0
399 w06 0 1 1 1 1 1 1 1
400 w08 0 1 1 1 1 1 1 1
401 w09 0 1 1 1 1 1 0 1
402 w12 0 1 1 1 1 0 1 1
403 w14 1 1 1 1 1 0 0 1
404 w15 0 1 1 1 1 1 0 1
405 w17 0 1 1 1 1 1 0 1
406 w18 0 1 1 1 1 0 0 1
407 w19 0 1 1 1 1 0 0 1
408 w20 1 1 1 1 1 0 0 1
409 w24 0 1 1 1 1 0 0 1
410 w25 0 1 1 1 1 0 1 0
411 w26 1 1 1 0 1 1 0 1
412 w27 1 1 1 0 1 1 0 1
413 w28 1 1 1 0 1 0 0 1
414 w29 0 1 1 1 1 0 0 1
415 w30 1 1 1 0 1 1 0 1
416 w31 1 1 1 0 1 0 0 1
417 w32 0 0 0 0 0 0 0 0
418 w33 1 0 1 1 1 1 0 1
419 w34 1 1 1 0 1 0 0 1
420 w35 1 1 1 1 1 0 0 1
421 w36 0 1 1 1 0 1 1 1
422 w37 1 1 1 0 1 1 0 1
423 w38 1 1 1 0 1 0 0 1
424 w39 0 1 1 1 1 1 0 1
425 w40 1 1 1 0 1 0 0 1
426 w41 1 0 1 1 1 0 0 1
427 w42 1 1 1 0 1 0 0 1
428 w43 1 1 1 0 1 0 0 1
429 w44 1 1 1 1 1 0 0 1
430 w45 0 1 1 1 1 1 0 1
431 w46 0 1 1 1 1 0 1 1
432 w47 0 1 1 1 1 1 0 1
433 w48 0 1 1 1 1 0 0 1
434 w49 1 1 1 1 1 0 0 1
435 w50 0 1 1 1 1 1 0 1
436 w51 0 1 1 1 1 0 1 1
437 w53 1 1 1 1 1 0 0 1
438 w54 0 1 1 1 1 1 1 1
439 w55 0 1 1 1 1 0 0 1
440 w56 0 1 1 1 1 1 0 1
441 w57 0 1 1 1 1 1 0 1
442 w59 0 1 1 1 0 1 1 1
443 w60 0 1 1 1 1 0 1 1
444 w61 0 1 1 1 0 0 1 1
445 w62 0 0 0 0 0 0 1 0
446 w63 0 1 1 1 0 1 1 1
447 w64 0 1 1 1 1 1 0 1
448 w65 0 1 1 1 0 1 1 1
449 w66 0 1 1 1 0 1 1 1
450 w68 0 1 1 1 0 1 1 1
451 w69 0 1 1 1 0 1 1 1
452 w71 0 1 1 1 0 1 1 1
453 w72 0 1 1 1 0 1 1 1
454 w73 0 1 1 1 0 1 1 0
455 w74 0 1 1 1 0 0 0 1
456 w75 0 1 1 1 0 1 1 1
457 w76 0 0 0 0 0 0 0 0
458 w77 1 0 1 1 1 0 0 1
459 w78 1 0 1 1 1 0 0 1
460 w79 1 0 1 1 1 0 0 1
461 w80 1 0 1 1 1 0 0 1
462 w81 1 0 1 1 1 0 0 1
463 w82 1 0 1 1 1 1 1 0
464 w83 1 0 1 1 1 0 1 1
465 w84 1 0 1 1 1 0 0 1
466 w85 1 1 1 1 1 0 0 1
467 w86 1 0 1 1 1 0 0 1
468 w87 1 0 1 1 1 1 1 0
469 w89 1 0 1 1 1 1 0 1
470 w90 0 1 1 1 1 0 0 1
471 w91 1 0 1 1 1 0 0 1
472 w92 1 0 1 1 1 0 0 1
473 w93 1 1 1 0 1 0 0 1
474 w94 0 0 1 1 1 0 1 1
475 w95 1 0 1 1 1 0 0 1
476 w96 0 0 0 0 0 0 0 0
477 w98 1 0 1 1 1 1 0 1
478 x22 1 1 1 1 0 0 1 0
479 x23 1 1 1 1 0 0 1 0 ;
481 param ds default 0.000 (tr) :
483 18REG 24REG 24PRO :=
485 w01 0.000 0.000 0.008
486 w02 0.004 0.000 0.000
487 w03 0.000 0.000 0.000
488 w04 0.010 0.002 0.000
489 w05 0.000 0.000 0.000
490 w06 0.010 0.008 0.008
491 w08 0.030 0.024 0.024
492 w09 0.014 0.018 0.020
493 w12 0.014 0.012 0.010
494 w14 0.007 0.007 0.012
495 w15 0.010 0.019 0.018
496 w17 0.013 0.010 0.011
497 w19 0.015 0.012 0.009
498 w20 0.012 0.021 0.022
499 w21 0.000 0.000 0.000
500 w24 0.012 0.022 0.018
501 w25 0.019 0.025 0.020
502 w26 0.006 0.015 0.021
503 w27 0.008 0.010 0.015
504 w28 0.011 0.016 0.019
505 w29 0.008 0.020 0.013
506 w30 0.011 0.013 0.015
507 w31 0.011 0.013 0.017
508 w32 0.006 0.000 0.000
509 w33 0.000 0.015 0.014
510 w34 0.008 0.007 0.005
511 w35 0.002 0.006 0.014
512 w36 0.015 0.013 0.005
513 w37 0.017 0.016 0.015
514 w38 0.015 0.009 0.012
515 w39 0.007 0.017 0.022
516 w40 0.009 0.014 0.020
517 w41 0.003 0.014 0.011
518 w42 0.017 0.011 0.012
519 w43 0.009 0.013 0.011
520 w44 0.002 0.012 0.012
521 w45 0.016 0.025 0.028
522 w46 0.038 0.062 0.040
523 w47 0.007 0.010 0.010
524 w48 0.003 0.015 0.016
525 w49 0.005 0.016 0.017
526 w50 0.011 0.008 0.007
527 w51 0.010 0.022 0.021
528 w53 0.004 0.026 0.020
529 w54 0.020 0.017 0.025
530 w55 0.004 0.019 0.028
531 w56 0.004 0.010 0.008
532 w57 0.014 0.020 0.018
533 w59 0.012 0.006 0.007
534 w60 0.019 0.010 0.009
535 w61 0.028 0.010 0.012
536 w62 0.000 0.000 0.000
537 w63 0.070 0.027 0.037
538 w64 0.009 0.004 0.005
539 w65 0.022 0.015 0.016
540 w66 0.046 0.017 0.020
541 w68 0.005 0.012 0.016
542 w69 0.085 0.036 0.039
543 w71 0.011 0.013 0.010
544 w72 0.089 0.031 0.034
545 w75 0.026 0.012 0.010
546 w77 0.001 0.004 0.002
547 w78 0.002 0.004 0.002
548 w79 0.001 0.004 0.002
549 w80 0.001 0.001 0.002
550 w81 0.001 0.003 0.002
551 w83 0.009 0.010 0.008
552 w84 0.001 0.002 0.002
553 w85 0.001 0.004 0.005
554 w86 0.001 0.002 0.002
555 w87 0.002 0.003 0.000
556 w89 0.001 0.001 0.002
557 w90 0.006 0.017 0.013
558 w91 0.002 0.010 0.013
559 w92 0.000 0.003 0.002
560 w93 0.002 0.006 0.007
561 w95 0.001 0.007 0.007
562 w96 0.000 0.000 0.000
563 w98 0.006 0.005 0.002 ;
565 end;