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