examples/dist.mod
changeset 1 c445c931472f
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/examples/dist.mod	Mon Dec 06 13:09:21 2010 +0100
     1.3 @@ -0,0 +1,565 @@
     1.4 +# DIST, a product distribution model
     1.5 +#
     1.6 +# References:
     1.7 +# Robert Fourer, David M. Gay and Brian W. Kernighan, "A Modeling Language
     1.8 +# for Mathematical Programming." Management Science 36 (1990) 519-554.
     1.9 +
    1.10 +###  SHIPPING SETS AND PARAMETERS  ###
    1.11 +
    1.12 +set whse 'warehouses';  # Locations from which demand is satisfied
    1.13 +
    1.14 +set dctr 'distribution centers' within whse;
    1.15 +
    1.16 +                        # Locations from which product may be shipped
    1.17 +
    1.18 +param sc 'shipping cost' {dctr,whse} >= 0;
    1.19 +
    1.20 +                        # Shipping costs, to whse from dctr, in $ / 100 lb
    1.21 +
    1.22 +param huge 'largest shipping cost' > 0;
    1.23 +
    1.24 +                        # Largest cost allowed for a usable shipping route
    1.25 +
    1.26 +param msr 'minimum size restriction' {dctr,whse} logical;
    1.27 +
    1.28 +                        # True indicates a minimum-size restriction on
    1.29 +                        # direct shipments using this dctr --> whse route
    1.30 +
    1.31 +param dsr 'direct shipment requirement' {dctr} >= 0;
    1.32 +
    1.33 +                        # Minimum total demand, in pallets, needed to
    1.34 +                        # allow shipment on routes subject to the
    1.35 +                        # minimum size restriction
    1.36 +
    1.37 +###  PLANT SETS AND PARAMETERS  ###
    1.38 +
    1.39 +set fact 'factories' within dctr;
    1.40 +
    1.41 +                        # Locations where product is manufactured
    1.42 +
    1.43 +param rtmin 'regular-time total minimum' >= 0;
    1.44 +
    1.45 +                        # Lower limit on (average) total regular-time
    1.46 +                        # crews employed at all factories
    1.47 +
    1.48 +param rtmax 'regular-time total maximum' >= rtmin;
    1.49 +
    1.50 +                        # Upper limit on (average) total regular-time
    1.51 +                        # crews employed at all factories
    1.52 +
    1.53 +param otmin 'overtime total minimum' >= 0;
    1.54 +
    1.55 +                        # Lower limit on total overtime hours at all factories
    1.56 +
    1.57 +param otmax 'overtime total maximum' >= otmin;
    1.58 +
    1.59 +                        # Upper limit on total overtime hours at all factories
    1.60 +
    1.61 +param rmin 'regular-time minimums' {fact} >= 0;
    1.62 +
    1.63 +                        # Lower limits on (average) regular-time crews
    1.64 +
    1.65 +param rmax 'regular-time maximums' {f in fact} >= rmin[f];
    1.66 +
    1.67 +                        # Upper limits on (average) regular-time crews
    1.68 +
    1.69 +param omin 'overtime minimums' {fact} >= 0;
    1.70 +
    1.71 +                        # Lower limits on overtime hours
    1.72 +
    1.73 +param omax 'overtime maximums' {f in fact} >= omin[f];
    1.74 +
    1.75 +                        # Upper limits on overtime hours
    1.76 +
    1.77 +param hd 'hours per day' {fact} >= 0;
    1.78 +
    1.79 +                        # Regular-time hours per working day
    1.80 +
    1.81 +param dp 'days in period' {fact} > 0;
    1.82 +
    1.83 +                        # Working days in the current planning period
    1.84 +
    1.85 +###  PRODUCT SETS AND PARAMETERS  ###
    1.86 +
    1.87 +set prd 'products';     # Elements of the product group
    1.88 +
    1.89 +param wt 'weight' {prd} > 0;
    1.90 +
    1.91 +                        # Weight in 100 lb / 1000 cases
    1.92 +
    1.93 +param cpp 'cases per pallet' {prd} > 0;
    1.94 +
    1.95 +                        # Cases of product per shipping pallet
    1.96 +
    1.97 +param tc 'transshipment cost' {prd} >= 0;
    1.98 +
    1.99 +                        # Transshipment cost in $ / 1000 cases
   1.100 +
   1.101 +param pt 'production time' {prd,fact} >= 0;
   1.102 +
   1.103 +                        # Crew-hours to produce 1000 cases
   1.104 +
   1.105 +param rpc 'regular-time production cost' {prd,fact} >= 0;
   1.106 +
   1.107 +                        # Cost of production on regular time,
   1.108 +                        # in $ / 1000 cases
   1.109 +
   1.110 +param opc 'overtime production cost' {prd,fact} >= 0;
   1.111 +
   1.112 +                        # Cost of production on overtime, in $ / 1000 cases
   1.113 +
   1.114 +###  DEMAND SETS AND PARAMETERS  ###
   1.115 +
   1.116 +param dt 'total demand' {prd} >= 0;
   1.117 +
   1.118 +                        # Total demands for products, in 1000s
   1.119 +
   1.120 +param ds 'demand shares' {prd,whse} >= 0.0, <= 1.0;
   1.121 +
   1.122 +                        # Historical demand data, from which each
   1.123 +                        # warehouse's share of total demand is deduced
   1.124 +
   1.125 +param dstot {p in prd} := sum {w in whse} ds[p,w];
   1.126 +
   1.127 +                        # Total of demand shares; should be 1, but often isn't
   1.128 +
   1.129 +param dem 'demand' {p in prd, w in whse} := dt[p] * ds[p,w] / dstot[p];
   1.130 +
   1.131 +                        # Projected demands to be satisfied, in 1000s
   1.132 +
   1.133 +set rt 'shipping routes available' :=
   1.134 +
   1.135 + {d in dctr, w in whse:
   1.136 +         d <> w  and  sc[d,w] < huge  and
   1.137 +         (w in dctr or sum {p in prd} dem[p,w] > 0)  and
   1.138 +         not (msr[d,w] and sum {p in prd} 1000*dem[p,w]/cpp[p] < dsr[d]) };
   1.139 +
   1.140 +                        # List of ordered pairs that represent routes
   1.141 +                        # on which shipments are allowed
   1.142 +
   1.143 +###  VARIABLES  ###
   1.144 +
   1.145 +var Rprd 'regular-time production' {prd,fact} >= 0;
   1.146 +
   1.147 +                        # Regular-time production of each product
   1.148 +                        # at each factory, in 1000s of cases
   1.149 +
   1.150 +var Oprd 'overtime production' {prd,fact} >= 0;
   1.151 +
   1.152 +                        # Overtime production of each product
   1.153 +                        # at each factory, in 1000s of cases
   1.154 +
   1.155 +var Ship 'shipments' {prd,rt} >= 0;
   1.156 +
   1.157 +                        # Shipments of each product on each allowed route,
   1.158 +                        # in 1000s of cases
   1.159 +
   1.160 +var Trans 'transshipments' {prd,dctr} >= 0;
   1.161 +
   1.162 +                        # Transshipments of each product at each
   1.163 +                        # distribution center, in 1000s of cases
   1.164 +
   1.165 +###  OBJECTIVE  ###
   1.166 +
   1.167 +minimize cost:  sum {p in prd, f in fact} rpc[p,f] * Rprd[p,f] +
   1.168 +                sum {p in prd, f in fact} opc[p,f] * Oprd[p,f] +
   1.169 +                sum {p in prd, (d,w) in rt} sc[d,w] * wt[p] * Ship[p,d,w] +
   1.170 +                sum {p in prd, d in dctr} tc[p] * Trans[p,d];
   1.171 +
   1.172 +                        # Total cost:  regular production, overtime
   1.173 +                        # production, shipping, and transshipment
   1.174 +
   1.175 +###  CONSTRAINTS  ###
   1.176 +
   1.177 +rtlim 'regular-time total limits':
   1.178 +
   1.179 +    rtmin <= sum {p in prd, f in fact}
   1.180 +                        (pt[p,f] * Rprd[p,f]) / (dp[f] * hd[f]) <= rtmax;
   1.181 +
   1.182 +                        # Total crews must lie between limits
   1.183 +
   1.184 +otlim 'overtime total limits':
   1.185 +
   1.186 +    otmin <= sum {p in prd, f in fact} pt[p,f] * Oprd[p,f] <= otmax;
   1.187 +
   1.188 +                        # Total overtime must lie between limits
   1.189 +
   1.190 +rlim 'regular-time limits' {f in fact}:
   1.191 +
   1.192 +    rmin[f] <= sum {p in prd}
   1.193 +                        (pt[p,f] * Rprd[p,f]) / (dp[f] * hd[f]) <= rmax[f];
   1.194 +
   1.195 +                        # Crews at each factory must lie between limits
   1.196 +
   1.197 +olim 'overtime limits' {f in fact}:
   1.198 +
   1.199 +    omin[f] <= sum {p in prd} pt[p,f] * Oprd[p,f] <= omax[f];
   1.200 +
   1.201 +                        # Overtime at each factory must lie between limits
   1.202 +
   1.203 +noRprd 'no regular production' {p in prd, f in fact: rpc[p,f] = 0}:
   1.204 +
   1.205 +    Rprd[p,f] = 0;
   1.206 +
   1.207 +noOprd 'no overtime production' {p in prd, f in fact: opc[p,f] = 0}:
   1.208 +
   1.209 +    Oprd[p,f] = 0;      # Do not produce where specified cost is zero
   1.210 +
   1.211 +bal 'material balance' {p in prd, w in whse}:
   1.212 +
   1.213 +    sum {(v,w) in rt}
   1.214 +       Ship [p,v,w] + (if w in fact then Rprd[p,w] + Oprd[p,w]) =
   1.215 +
   1.216 +    dem[p,w] + (if w in dctr then sum {(w,v) in rt} Ship[p,w,v]);
   1.217 +
   1.218 +                        # Demand is satisfied by shipment into warehouse
   1.219 +                        # plus production (if it is a factory)
   1.220 +                        # minus shipment out (if it is a distn. center)
   1.221 +
   1.222 +trdef 'transshipment definition' {p in prd, d in dctr}:
   1.223 +
   1.224 +    Trans[p,d] >= sum {(d,w) in rt} Ship [p,d,w] -
   1.225 +                  (if d in fact then Rprd[p,d] + Oprd[p,d]);
   1.226 +
   1.227 +                        # Transshipment at a distribution center is
   1.228 +                        # shipments out less production (if any)
   1.229 +
   1.230 +###  DATA -- 3 PRODUCTS  ###
   1.231 +
   1.232 +data;
   1.233 +
   1.234 +set prd := 18REG 24REG 24PRO ;
   1.235 +
   1.236 +set whse := w01 w02 w03 w04 w05 w06 w08 w09 w12 w14 w15 w17
   1.237 +            w18 w19 w20 w21 w24 w25 w26 w27 w28 w29 w30 w31
   1.238 +            w32 w33 w34 w35 w36 w37 w38 w39 w40 w41 w42 w43
   1.239 +            w44 w45 w46 w47 w48 w49 w50 w51 w53 w54 w55 w56
   1.240 +            w57 w59 w60 w61 w62 w63 w64 w65 w66 w68 w69 w71
   1.241 +            w72 w73 w74 w75 w76 w77 w78 w79 w80 w81 w82 w83
   1.242 +            w84 w85 w86 w87 w89 w90 w91 w92 w93 w94 w95 w96
   1.243 +            w98 x22 x23 ;
   1.244 +
   1.245 +set dctr := w01 w02 w03 w04 w05 w62 w76 w96 ;
   1.246 +
   1.247 +set fact := w01 w05 w96 ;
   1.248 +
   1.249 +param huge := 99. ;
   1.250 +
   1.251 +param rtmin := 0.0 ;
   1.252 +param rtmax := 8.0 ;
   1.253 +
   1.254 +param otmin :=  0.0 ;
   1.255 +param otmax := 96.0 ;
   1.256 +
   1.257 +param rmin  :=  w01 0.00   w05 0.00   w96 0.00 ;
   1.258 +param rmax  :=  w01 3.00   w05 2.00   w96 3.00 ;
   1.259 +
   1.260 +param omin  :=  w01  0.0   w05  0.0   w96  0.0 ;
   1.261 +param omax  :=  w01 48.0   w05  0.0   w96 48.0 ;
   1.262 +
   1.263 +param hd    :=  w01  8.0   w05  8.0   w96  8.0 ;
   1.264 +
   1.265 +param dp    :=  w01 19.0   w05 19.0   w96 19.0 ;
   1.266 +
   1.267 +param wt  :=  18REG  47.3    24REG  63.0    24PRO  63.0 ;
   1.268 +
   1.269 +param tc  :=  18REG  40.00   24REG  45.00   24PRO  45.00 ;
   1.270 +
   1.271 +param dt  :=  18REG 376.0    24REG 172.4    24PRO 316.3 ;
   1.272 +
   1.273 +param cpp :=  18REG 102.     24REG  91.     24PRO  91. ;
   1.274 +
   1.275 +param dsr := w01 96.  w02 96.  w03 96.  w04 96.  w05 96.
   1.276 +             w62 96.  w76 96.  w96 96. ;
   1.277 +
   1.278 +param pt (tr) :
   1.279 +
   1.280 +       18REG     24REG     24PRO    :=
   1.281 +
   1.282 +w01    1.194     1.429     1.429
   1.283 +w05    1.194     1.509     1.509
   1.284 +w96    0.000     1.600     1.600    ;
   1.285 +
   1.286 +param rpc (tr) :
   1.287 +
   1.288 +       18REG     24REG     24PRO    :=
   1.289 +
   1.290 +w01    2119.       2653.    2617.
   1.291 +w05    2489.       3182.    3176.
   1.292 +w96       0.       2925.    2918.   ;
   1.293 +
   1.294 +param opc (tr) :
   1.295 +
   1.296 +       18REG     24REG     24PRO    :=
   1.297 +
   1.298 +w01    2903.     3585.     3579.
   1.299 +w05       0.        0.        0.
   1.300 +w96       0.     3629.     3622.    ;
   1.301 +
   1.302 +param sc  default 99.99 (tr) :
   1.303 +
   1.304 +         w01     w02     w03     w04     w05     w62     w76     w96  :=
   1.305 +
   1.306 +w01      .      2.97    1.14    2.08    2.37    1.26    2.42    1.43
   1.307 +w02     4.74     .      4.17    6.12    7.41    3.78    7.04    5.21
   1.308 +w03     2.45    4.74     .      3.67    2.84    0.90    2.41    2.55
   1.309 +w04     1.74    5.03    2.43     .      3.19    2.45    2.69    0.58
   1.310 +w05     2.70    5.16    2.84    2.85     .      3.26    3.34    2.71
   1.311 +w06     1.99    4.17    2.13    2.19    2.52    2.06    2.00    1.51
   1.312 +w08     0.21    2.92    1.24    2.07    2.29    1.25    2.32    1.55
   1.313 +w09     0.66    3.76    1.41    2.47    1.82    1.66     .      1.87
   1.314 +w12     1.38    3.83    1.68    2.53    2.39     .      1.96    1.94
   1.315 +w14     2.47    1.58    2.40    3.59    3.85    2.25     .      3.05
   1.316 +w15     1.06    4.95    2.48    1.39    3.41    1.96     .      1.02
   1.317 +w17     0.88    3.39    1.46    2.00    2.67    1.45     .      1.46
   1.318 +w18     7.90    6.57    7.79    9.59    10.81    .       .      6.70
   1.319 +w19     1.42    4.12    1.96    1.99    3.52    1.88     .      1.26
   1.320 +w20     3.03    1.59    2.34    4.76    3.98    1.88     .      3.73
   1.321 +w24     1.58    2.80    2.27    2.87    3.19    1.31     .      2.05
   1.322 +w25     1.51    5.05    2.74    0.57    2.98     .      2.95    0.27
   1.323 +w26     1.75    3.61    2.70    1.54    4.07    3.52     .      1.03
   1.324 +w27     2.48    6.87    3.17    1.59    2.08    3.45     .      0.99
   1.325 +w28     2.05    6.83    2.97    1.13    2.91     .       .      1.26
   1.326 +w29     4.03    3.68    4.46    3.20    5.50     .       .      3.20
   1.327 +w30     2.48    5.78    2.99    2.24    1.79    3.10     .      1.39
   1.328 +w31     2.34    5.41    2.87    1.67    1.66     .       .      1.39
   1.329 +w32     14.36    .       .       .       .       .       .       .
   1.330 +w33     3.87    4.27    5.11    3.48    5.66    4.03     .      3.05
   1.331 +w34     3.26    4.80    3.21    2.70    4.14     .       .      1.77
   1.332 +w35     2.34    2.84    2.89    3.35    3.78    2.68     .      2.52
   1.333 +w36     2.43    5.69    2.96    2.95    1.02    2.61    1.07    2.54
   1.334 +w37     2.23    4.64    2.41    1.99    4.30    2.61     .      1.44
   1.335 +w38     4.66    4.36    5.23    3.04    4.46     .       .      3.82
   1.336 +w39     1.11    3.51    1.10    2.53    3.07    1.12     .      2.23
   1.337 +w40     2.99    4.78    4.23    1.57    3.92     .       .      1.80
   1.338 +w41     4.93    4.00    5.43    4.45    6.31     .       .      3.81
   1.339 +w42     3.86    6.55    5.03    2.11    4.41     .       .      2.63
   1.340 +w43     4.61    4.45    3.77    1.22    4.31     .       .      2.35
   1.341 +w44     2.05    4.48    1.06    3.70    3.46    1.10     .      3.21
   1.342 +w45     0.92    3.42    1.58    3.04    1.82    1.94     .      2.52
   1.343 +w46     1.36    2.44    0.95    3.08    2.78    0.39    2.16    2.37
   1.344 +w47     1.30    3.39    1.60    2.49    4.29    2.04     .      1.68
   1.345 +w48     1.65    3.78    1.03    2.97    2.21    1.31     .      2.74
   1.346 +w49     1.96    3.00    1.50    3.24    3.68    1.00     .      2.99
   1.347 +w50     0.90    4.14    1.60    1.95    3.61    1.61     .      1.52
   1.348 +w51     1.59    3.95    0.25    2.96    2.58    1.00    2.41    2.71
   1.349 +w53     1.59    3.79    1.28    3.12    3.10    0.89     .      2.98
   1.350 +w54     1.72    4.36    1.61    2.92    2.34    1.91    1.97    3.05
   1.351 +w55     2.45    2.73    2.21    4.47    4.30    2.57     .      4.48
   1.352 +w56     1.10    3.73    1.59    2.74    2.33    1.45     .      2.44
   1.353 +w57     0.95    3.39    1.37    2.30    2.47    1.15     .      1.95
   1.354 +w59     3.29    5.35    3.32    3.81    1.52    3.38    1.34    4.08
   1.355 +w60     2.41    6.12    2.46    3.65    2.35     .      1.37    4.06
   1.356 +w61     3.32    5.50    3.41    3.38    1.23     .      0.99    4.28
   1.357 +w62     1.12    3.00    0.82    3.22    2.95     .      3.33    2.53
   1.358 +w63     3.59    6.36    3.25    4.12    1.84    3.59    1.46    4.03
   1.359 +w64     1.85    4.45    2.17    3.43    2.13    2.03     .      4.02
   1.360 +w65     2.78    4.79    2.81    2.94    1.54    2.90    1.07    2.94
   1.361 +w66     3.90    5.79    3.05    3.65    1.36    3.39    1.22    3.57
   1.362 +w68     2.61    5.20    2.90    2.34    1.68    3.19    1.48    2.31
   1.363 +w69     2.94    5.21    2.78    3.43    0.21    3.26    0.68    2.54
   1.364 +w71     2.06    4.98    2.38    2.44    1.59    2.97    1.05    2.55
   1.365 +w72     2.61    5.50    2.83    3.12    1.35    3.23    0.88    2.99
   1.366 +w73     8.52    6.16    8.03    8.83    10.44   7.38    10.26    .
   1.367 +w74     6.11    5.46    9.07    9.38    10.80    .       .      8.25
   1.368 +w75     2.66    4.94    2.87    3.69    1.52    3.15    1.24    4.00
   1.369 +w76     1.99    5.26    2.23    3.36    0.58    3.17     .      2.50
   1.370 +w77     4.32    3.07    5.05    3.88    6.04     .       .      4.15
   1.371 +w78     5.60    2.59    5.78    5.56    7.10     .       .      5.60
   1.372 +w79     4.25    2.32    4.93    4.57    6.04     .       .      4.58
   1.373 +w80     5.94    4.00    5.60    7.02    9.46     .       .      7.51
   1.374 +w81     5.39    2.21    5.10    6.22    6.46     .       .      6.58
   1.375 +w82     8.80    5.69    9.29    9.88    11.69   8.63    11.52    .
   1.376 +w83     4.40     .      5.24    5.21    5.81    3.91    7.04    5.33
   1.377 +w84     5.87    5.43    6.17    5.70    7.63     .       .      5.70
   1.378 +w85     3.90    3.65    3.38    4.57    5.64    3.05     .      5.04
   1.379 +w86     5.48    2.10    5.70    6.37    7.33     .       .      6.19
   1.380 +w87     8.88    5.54    9.50    9.71    11.64   8.85    11.68    .
   1.381 +w89     4.62    4.01    4.03    6.30    6.30    3.81     .      7.77
   1.382 +w90     4.35    2.72    4.61    4.01    5.60     .       .      3.20
   1.383 +w91     7.61    4.42    7.83    6.85    8.79     .       .      7.66
   1.384 +w92     7.15    2.69    6.91    7.20     .       .       .      7.06
   1.385 +w93     3.17    3.95    4.37    3.74    5.05     .       .      2.40
   1.386 +w94     1.21    3.07    0.90    2.74    3.17     .      2.63    2.39
   1.387 +w95     5.82    3.29    6.55    7.06    11.47    .       .      7.83
   1.388 +w96     1.77    5.20    2.72    0.59    3.47    2.48     .       .
   1.389 +w98     3.04    1.92    3.64    3.70    4.90    3.05     .      3.88
   1.390 +x22     4.08    6.25    4.15    4.30    1.77     .      1.77     .
   1.391 +x23     3.39    5.74    3.55    4.08    1.69     .      1.47     .      ;
   1.392 +
   1.393 +param msr (tr) :
   1.394 +
   1.395 +         w01     w02     w03     w04     w05     w62     w76     w96    :=
   1.396 +
   1.397 +w01        0       0       0       0       0       0       1       0
   1.398 +w02        0       0       0       0       0       0       1       0
   1.399 +w03        0       0       0       0       0       0       1       0
   1.400 +w04        0       0       0       0       0       0       1       0
   1.401 +w05        0       0       0       0       0       0       0       0
   1.402 +w06        0       1       1       1       1       1       1       1
   1.403 +w08        0       1       1       1       1       1       1       1
   1.404 +w09        0       1       1       1       1       1       0       1
   1.405 +w12        0       1       1       1       1       0       1       1
   1.406 +w14        1       1       1       1       1       0       0       1
   1.407 +w15        0       1       1       1       1       1       0       1
   1.408 +w17        0       1       1       1       1       1       0       1
   1.409 +w18        0       1       1       1       1       0       0       1
   1.410 +w19        0       1       1       1       1       0       0       1
   1.411 +w20        1       1       1       1       1       0       0       1
   1.412 +w24        0       1       1       1       1       0       0       1
   1.413 +w25        0       1       1       1       1       0       1       0
   1.414 +w26        1       1       1       0       1       1       0       1
   1.415 +w27        1       1       1       0       1       1       0       1
   1.416 +w28        1       1       1       0       1       0       0       1
   1.417 +w29        0       1       1       1       1       0       0       1
   1.418 +w30        1       1       1       0       1       1       0       1
   1.419 +w31        1       1       1       0       1       0       0       1
   1.420 +w32        0       0       0       0       0       0       0       0
   1.421 +w33        1       0       1       1       1       1       0       1
   1.422 +w34        1       1       1       0       1       0       0       1
   1.423 +w35        1       1       1       1       1       0       0       1
   1.424 +w36        0       1       1       1       0       1       1       1
   1.425 +w37        1       1       1       0       1       1       0       1
   1.426 +w38        1       1       1       0       1       0       0       1
   1.427 +w39        0       1       1       1       1       1       0       1
   1.428 +w40        1       1       1       0       1       0       0       1
   1.429 +w41        1       0       1       1       1       0       0       1
   1.430 +w42        1       1       1       0       1       0       0       1
   1.431 +w43        1       1       1       0       1       0       0       1
   1.432 +w44        1       1       1       1       1       0       0       1
   1.433 +w45        0       1       1       1       1       1       0       1
   1.434 +w46        0       1       1       1       1       0       1       1
   1.435 +w47        0       1       1       1       1       1       0       1
   1.436 +w48        0       1       1       1       1       0       0       1
   1.437 +w49        1       1       1       1       1       0       0       1
   1.438 +w50        0       1       1       1       1       1       0       1
   1.439 +w51        0       1       1       1       1       0       1       1
   1.440 +w53        1       1       1       1       1       0       0       1
   1.441 +w54        0       1       1       1       1       1       1       1
   1.442 +w55        0       1       1       1       1       0       0       1
   1.443 +w56        0       1       1       1       1       1       0       1
   1.444 +w57        0       1       1       1       1       1       0       1
   1.445 +w59        0       1       1       1       0       1       1       1
   1.446 +w60        0       1       1       1       1       0       1       1
   1.447 +w61        0       1       1       1       0       0       1       1
   1.448 +w62        0       0       0       0       0       0       1       0
   1.449 +w63        0       1       1       1       0       1       1       1
   1.450 +w64        0       1       1       1       1       1       0       1
   1.451 +w65        0       1       1       1       0       1       1       1
   1.452 +w66        0       1       1       1       0       1       1       1
   1.453 +w68        0       1       1       1       0       1       1       1
   1.454 +w69        0       1       1       1       0       1       1       1
   1.455 +w71        0       1       1       1       0       1       1       1
   1.456 +w72        0       1       1       1       0       1       1       1
   1.457 +w73        0       1       1       1       0       1       1       0
   1.458 +w74        0       1       1       1       0       0       0       1
   1.459 +w75        0       1       1       1       0       1       1       1
   1.460 +w76        0       0       0       0       0       0       0       0
   1.461 +w77        1       0       1       1       1       0       0       1
   1.462 +w78        1       0       1       1       1       0       0       1
   1.463 +w79        1       0       1       1       1       0       0       1
   1.464 +w80        1       0       1       1       1       0       0       1
   1.465 +w81        1       0       1       1       1       0       0       1
   1.466 +w82        1       0       1       1       1       1       1       0
   1.467 +w83        1       0       1       1       1       0       1       1
   1.468 +w84        1       0       1       1       1       0       0       1
   1.469 +w85        1       1       1       1       1       0       0       1
   1.470 +w86        1       0       1       1       1       0       0       1
   1.471 +w87        1       0       1       1       1       1       1       0
   1.472 +w89        1       0       1       1       1       1       0       1
   1.473 +w90        0       1       1       1       1       0       0       1
   1.474 +w91        1       0       1       1       1       0       0       1
   1.475 +w92        1       0       1       1       1       0       0       1
   1.476 +w93        1       1       1       0       1       0       0       1
   1.477 +w94        0       0       1       1       1       0       1       1
   1.478 +w95        1       0       1       1       1       0       0       1
   1.479 +w96        0       0       0       0       0       0       0       0
   1.480 +w98        1       0       1       1       1       1       0       1
   1.481 +x22        1       1       1       1       0       0       1       0
   1.482 +x23        1       1       1       1       0       0       1       0    ;
   1.483 +
   1.484 +param ds default 0.000 (tr) :
   1.485 +
   1.486 +         18REG     24REG     24PRO    :=
   1.487 +
   1.488 +w01      0.000     0.000     0.008
   1.489 +w02      0.004     0.000     0.000
   1.490 +w03      0.000     0.000     0.000
   1.491 +w04      0.010     0.002     0.000
   1.492 +w05      0.000     0.000     0.000
   1.493 +w06      0.010     0.008     0.008
   1.494 +w08      0.030     0.024     0.024
   1.495 +w09      0.014     0.018     0.020
   1.496 +w12      0.014     0.012     0.010
   1.497 +w14      0.007     0.007     0.012
   1.498 +w15      0.010     0.019     0.018
   1.499 +w17      0.013     0.010     0.011
   1.500 +w19      0.015     0.012     0.009
   1.501 +w20      0.012     0.021     0.022
   1.502 +w21      0.000     0.000     0.000
   1.503 +w24      0.012     0.022     0.018
   1.504 +w25      0.019     0.025     0.020
   1.505 +w26      0.006     0.015     0.021
   1.506 +w27      0.008     0.010     0.015
   1.507 +w28      0.011     0.016     0.019
   1.508 +w29      0.008     0.020     0.013
   1.509 +w30      0.011     0.013     0.015
   1.510 +w31      0.011     0.013     0.017
   1.511 +w32      0.006     0.000     0.000
   1.512 +w33      0.000     0.015     0.014
   1.513 +w34      0.008     0.007     0.005
   1.514 +w35      0.002     0.006     0.014
   1.515 +w36      0.015     0.013     0.005
   1.516 +w37      0.017     0.016     0.015
   1.517 +w38      0.015     0.009     0.012
   1.518 +w39      0.007     0.017     0.022
   1.519 +w40      0.009     0.014     0.020
   1.520 +w41      0.003     0.014     0.011
   1.521 +w42      0.017     0.011     0.012
   1.522 +w43      0.009     0.013     0.011
   1.523 +w44      0.002     0.012     0.012
   1.524 +w45      0.016     0.025     0.028
   1.525 +w46      0.038     0.062     0.040
   1.526 +w47      0.007     0.010     0.010
   1.527 +w48      0.003     0.015     0.016
   1.528 +w49      0.005     0.016     0.017
   1.529 +w50      0.011     0.008     0.007
   1.530 +w51      0.010     0.022     0.021
   1.531 +w53      0.004     0.026     0.020
   1.532 +w54      0.020     0.017     0.025
   1.533 +w55      0.004     0.019     0.028
   1.534 +w56      0.004     0.010     0.008
   1.535 +w57      0.014     0.020     0.018
   1.536 +w59      0.012     0.006     0.007
   1.537 +w60      0.019     0.010     0.009
   1.538 +w61      0.028     0.010     0.012
   1.539 +w62      0.000     0.000     0.000
   1.540 +w63      0.070     0.027     0.037
   1.541 +w64      0.009     0.004     0.005
   1.542 +w65      0.022     0.015     0.016
   1.543 +w66      0.046     0.017     0.020
   1.544 +w68      0.005     0.012     0.016
   1.545 +w69      0.085     0.036     0.039
   1.546 +w71      0.011     0.013     0.010
   1.547 +w72      0.089     0.031     0.034
   1.548 +w75      0.026     0.012     0.010
   1.549 +w77      0.001     0.004     0.002
   1.550 +w78      0.002     0.004     0.002
   1.551 +w79      0.001     0.004     0.002
   1.552 +w80      0.001     0.001     0.002
   1.553 +w81      0.001     0.003     0.002
   1.554 +w83      0.009     0.010     0.008
   1.555 +w84      0.001     0.002     0.002
   1.556 +w85      0.001     0.004     0.005
   1.557 +w86      0.001     0.002     0.002
   1.558 +w87      0.002     0.003     0.000
   1.559 +w89      0.001     0.001     0.002
   1.560 +w90      0.006     0.017     0.013
   1.561 +w91      0.002     0.010     0.013
   1.562 +w92      0.000     0.003     0.002
   1.563 +w93      0.002     0.006     0.007
   1.564 +w95      0.001     0.007     0.007
   1.565 +w96      0.000     0.000     0.000
   1.566 +w98      0.006     0.005     0.002    ;
   1.567 +
   1.568 +end;