1
0
This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.

1913 lines
86 KiB
MiniZinc

% LSFRP Instance Model: data/instances/tp7_4.in
include "globals.mzn";
int: vv;
int: ww;
int: pip;
int: poPorts0;
set of int: POPORTS0 = 0..poPorts0;
var POPORTS0: poAct0;
int: poPorts1;
set of int: POPORTS1 = 0..poPorts1;
var POPORTS1: poAct1;
int: poPorts2;
set of int: POPORTS2 = 0..poPorts2;
var POPORTS2: poAct2;
int: poPorts3;
set of int: POPORTS3 = 0..poPorts3;
var POPORTS3: poAct3;
int: poPorts4;
set of int: POPORTS4 = 0..poPorts4;
var POPORTS4: poAct4;
int: poPorts5;
set of int: POPORTS5 = 0..poPorts5;
var POPORTS5: poAct5;
int: poPorts6;
set of int: POPORTS6 = 0..poPorts6;
var POPORTS6: poAct6;
int: poPorts7;
set of int: POPORTS7 = 0..poPorts7;
var POPORTS7: poAct7;
set of int: VESSELS = 1..vv;
set of int: WEEKS = 1..ww;
set of int: PIPORTS = 1..pip;
set of int: REPOSTYPES = 1..3;
var PIPORTS: piPort;
array[VESSELS] of var WEEKS: piWeek;
array[VESSELS] of var REPOSTYPES: reposType;
%int: seBfixedMax = max([
% max(array1d(1..(seActSize + 1)*(poPorts0 + 1), seBfixedArr0)),
% max(array1d(1..(seActSize + 1)*(poPorts1 + 1), seBfixedArr1))
%]);
%int: seDfixedMax = max(array1d(1..vv*(seActSize + 1), seDfixedArr));
%int: seAfixedMax = max(array1d(1..vv*pip*ww*(seActSize + 1), seAfixedArr));
%int: sosActBCostMax = max([
% max(array1d(1..(sosActSize + 1)*(poPorts0 + 1), sosSailCostBArr0)),
% max(array1d(1..(sosActSize + 1)*(poPorts1 + 1), sosSailCostBArr1)),
% max(array1d(1..(sosActSize + 1)*(poPorts2 + 1), sosSailCostBArr2)),
% max(array1d(1..(sosActSize + 1)*(poPorts3 + 1), sosSailCostBArr3)),
% max(array1d(1..(sosActSize + 1)*(poPorts4 + 1), sosSailCostBArr4)),
% max(array1d(1..(sosActSize + 1)*(poPorts5 + 1), sosSailCostBArr5))
%]);
%int: sosActACostMax = max(array1d(1..vv*pip*ww*(sosActSize + 1), sosSailCostAArr));
constraint forall(v in VESSELS)(reposType[v] != 2); % No SOS opportunities in this scenario
constraint forall(v in VESSELS)(reposType[v] != 3); % No sail equipment opportunities in this scenario
int: directCostMax = max([
max(array1d(1..ww*pip*(poPorts0 + 1), directCostArr0)),
max(array1d(1..ww*pip*(poPorts1 + 1), directCostArr1)),
max(array1d(1..ww*pip*(poPorts2 + 1), directCostArr2)),
max(array1d(1..ww*pip*(poPorts3 + 1), directCostArr3)),
max(array1d(1..ww*pip*(poPorts4 + 1), directCostArr4)),
max(array1d(1..ww*pip*(poPorts5 + 1), directCostArr5)),
max(array1d(1..ww*pip*(poPorts6 + 1), directCostArr6)),
max(array1d(1..ww*pip*(poPorts7 + 1), directCostArr7))
]);
array[VESSELS] of var 0..directCostMax: directCost;
% phaseOutInfo[0][0]: PO port ves 0 JPYOK(0) at 18
% phaseOutInfo[0][1]: PO port ves 0 JPYOK(0) at 1026
% phaseOutInfo[0][2]: PO port ves 0 CNYTN(1) at 128
% phaseOutInfo[0][3]: PO port ves 0 CNYTN(1) at 1136
% phaseOutInfo[0][4]: PO port ves 0 HKHKG(2) at 148
% phaseOutInfo[0][5]: PO port ves 0 HKHKG(2) at 1156
% phaseOutInfo[0][6]: PO port ves 0 CNXMN(3) at 180
% phaseOutInfo[0][7]: PO port ves 0 CNXMN(3) at 1188
% phaseOutInfo[0][8]: PO port ves 0 CNNGB(4) at 213
% phaseOutInfo[0][9]: PO port ves 0 CNNGB(4) at 1221
% phaseOutInfo[0][10]: PO port ves 0 CNSHA(5) at 229
% phaseOutInfo[0][11]: PO port ves 0 CNSHA(5) at 1237
% phaseOutInfo[0][12]: PO port ves 0 CNSHA(5) at 229
% phaseOutInfo[0][13]: PO port ves 0 CNSHA(5) at 1237
% phaseOutInfo[0][14]: PO port ves 0 MXLZC(6) at 655
% phaseOutInfo[0][15]: PO port ves 0 MXLZC(6) at 655
% phaseOutInfo[0][16]: PO port ves 0 PABLB(7) at 764
% phaseOutInfo[0][17]: PO port ves 0 PABLB(7) at 764
array[POPORTS0] of int: poTimes0 = array1d(POPORTS0, [18,1026,128,1136,148,1156,180,1188,213,1221,229,1237,229,1237,655,655,764,764]);
constraint directCost[1] = directCostArr0[poAct0, piPort, piWeek[1]];
constraint directCost[1] >= 0;
% phaseOutInfo[1][0]: PO port ves 1 JPYOK(0) at 186
% phaseOutInfo[1][1]: PO port ves 1 JPYOK(0) at 1194
% phaseOutInfo[1][2]: PO port ves 1 CNYTN(1) at 296
% phaseOutInfo[1][3]: PO port ves 1 CNYTN(1) at 1304
% phaseOutInfo[1][4]: PO port ves 1 HKHKG(2) at 316
% phaseOutInfo[1][5]: PO port ves 1 HKHKG(2) at 1324
% phaseOutInfo[1][6]: PO port ves 1 CNXMN(3) at 348
% phaseOutInfo[1][7]: PO port ves 1 CNXMN(3) at 1356
% phaseOutInfo[1][8]: PO port ves 1 CNNGB(4) at 381
% phaseOutInfo[1][9]: PO port ves 1 CNNGB(4) at 1389
% phaseOutInfo[1][10]: PO port ves 1 CNSHA(5) at 397
% phaseOutInfo[1][11]: PO port ves 1 CNSHA(5) at 1405
% phaseOutInfo[1][12]: PO port ves 1 CNSHA(5) at 397
% phaseOutInfo[1][13]: PO port ves 1 CNSHA(5) at 1405
% phaseOutInfo[1][14]: PO port ves 1 MXLZC(6) at 823
% phaseOutInfo[1][15]: PO port ves 1 MXLZC(6) at 823
% phaseOutInfo[1][16]: PO port ves 1 PABLB(7) at 932
% phaseOutInfo[1][17]: PO port ves 1 PABLB(7) at 932
array[POPORTS1] of int: poTimes1 = array1d(POPORTS1, [186,1194,296,1304,316,1324,348,1356,381,1389,397,1405,397,1405,823,823,932,932]);
constraint directCost[2] = directCostArr1[poAct1, piPort, piWeek[2]];
constraint directCost[2] >= 0;
% phaseOutInfo[2][0]: PO port ves 2 JPYOK(0) at 354
% phaseOutInfo[2][1]: PO port ves 2 JPYOK(0) at 1362
% phaseOutInfo[2][2]: PO port ves 2 CNYTN(1) at 464
% phaseOutInfo[2][3]: PO port ves 2 CNYTN(1) at 1472
% phaseOutInfo[2][4]: PO port ves 2 HKHKG(2) at 484
% phaseOutInfo[2][5]: PO port ves 2 HKHKG(2) at 1492
% phaseOutInfo[2][6]: PO port ves 2 CNXMN(3) at 516
% phaseOutInfo[2][7]: PO port ves 2 CNXMN(3) at 1524
% phaseOutInfo[2][8]: PO port ves 2 CNNGB(4) at 549
% phaseOutInfo[2][9]: PO port ves 2 CNNGB(4) at 1557
% phaseOutInfo[2][10]: PO port ves 2 CNSHA(5) at 565
% phaseOutInfo[2][11]: PO port ves 2 CNSHA(5) at 1573
% phaseOutInfo[2][12]: PO port ves 2 CNSHA(5) at 565
% phaseOutInfo[2][13]: PO port ves 2 CNSHA(5) at 1573
% phaseOutInfo[2][14]: PO port ves 2 MXLZC(6) at 991
% phaseOutInfo[2][15]: PO port ves 2 MXLZC(6) at 991
% phaseOutInfo[2][16]: PO port ves 2 PABLB(7) at 1100
% phaseOutInfo[2][17]: PO port ves 2 PABLB(7) at 1100
array[POPORTS2] of int: poTimes2 = array1d(POPORTS2, [354,1362,464,1472,484,1492,516,1524,549,1557,565,1573,565,1573,991,991,1100,1100]);
constraint directCost[3] = directCostArr2[poAct2, piPort, piWeek[3]];
constraint directCost[3] >= 0;
% phaseOutInfo[3][0]: PO port ves 3 JPTYO(16) at 31
% phaseOutInfo[3][1]: PO port ves 3 JPUKB(17) at 66
% phaseOutInfo[3][2]: PO port ves 3 KRPUS(18) at 109
% phaseOutInfo[3][3]: PO port ves 3 CNSHA(5) at 156
% phaseOutInfo[3][4]: PO port ves 3 CNYTN(1) at 210
% phaseOutInfo[3][5]: PO port ves 3 HKHKG(2) at 236
% phaseOutInfo[3][6]: PO port ves 3 AUBNE(11) at 502
% phaseOutInfo[3][7]: PO port ves 3 NZAKL(12) at 619
% phaseOutInfo[3][8]: PO port ves 3 NZLYT(14) at 680
% phaseOutInfo[3][9]: PO port ves 3 NZNPE(19) at 721
% phaseOutInfo[3][10]: PO port ves 3 NZTRG(13) at 754
array[POPORTS3] of int: poTimes3 = array1d(POPORTS3, [31,66,109,156,210,236,502,619,680,721,754]);
constraint directCost[4] = directCostArr3[poAct3, piPort, piWeek[4]];
constraint directCost[4] >= 0;
% phaseOutInfo[4][0]: PO port ves 4 JPTYO(16) at 199
% phaseOutInfo[4][1]: PO port ves 4 JPUKB(17) at 234
% phaseOutInfo[4][2]: PO port ves 4 KRPUS(18) at 277
% phaseOutInfo[4][3]: PO port ves 4 CNSHA(5) at 324
% phaseOutInfo[4][4]: PO port ves 4 CNYTN(1) at 378
% phaseOutInfo[4][5]: PO port ves 4 HKHKG(2) at 404
% phaseOutInfo[4][6]: PO port ves 4 AUBNE(11) at 670
% phaseOutInfo[4][7]: PO port ves 4 NZAKL(12) at 787
% phaseOutInfo[4][8]: PO port ves 4 NZLYT(14) at 848
% phaseOutInfo[4][9]: PO port ves 4 NZNPE(19) at 889
% phaseOutInfo[4][10]: PO port ves 4 NZTRG(13) at 922
array[POPORTS4] of int: poTimes4 = array1d(POPORTS4, [199,234,277,324,378,404,670,787,848,889,922]);
constraint directCost[5] = directCostArr4[poAct4, piPort, piWeek[5]];
constraint directCost[5] >= 0;
% phaseOutInfo[5][0]: PO port ves 5 JPTYO(16) at 367
% phaseOutInfo[5][1]: PO port ves 5 JPUKB(17) at 402
% phaseOutInfo[5][2]: PO port ves 5 KRPUS(18) at 445
% phaseOutInfo[5][3]: PO port ves 5 CNSHA(5) at 492
% phaseOutInfo[5][4]: PO port ves 5 CNYTN(1) at 546
% phaseOutInfo[5][5]: PO port ves 5 HKHKG(2) at 572
% phaseOutInfo[5][6]: PO port ves 5 AUBNE(11) at 838
% phaseOutInfo[5][7]: PO port ves 5 NZAKL(12) at 955
% phaseOutInfo[5][8]: PO port ves 5 NZLYT(14) at 1016
% phaseOutInfo[5][9]: PO port ves 5 NZNPE(19) at 1057
% phaseOutInfo[5][10]: PO port ves 5 NZTRG(13) at 1090
array[POPORTS5] of int: poTimes5 = array1d(POPORTS5, [367,402,445,492,546,572,838,955,1016,1057,1090]);
constraint directCost[6] = directCostArr5[poAct5, piPort, piWeek[6]];
constraint directCost[6] >= 0;
% phaseOutInfo[6][0]: PO port ves 6 INMAA(20) at 30
% phaseOutInfo[6][1]: PO port ves 6 INMAA(20) at 702
% phaseOutInfo[6][2]: PO port ves 6 INMAA(20) at 1374
% phaseOutInfo[6][3]: PO port ves 6 MYTPP(8) at 186
% phaseOutInfo[6][4]: PO port ves 6 MYTPP(8) at 858
% phaseOutInfo[6][5]: PO port ves 6 MYTPP(8) at 1530
% phaseOutInfo[6][6]: PO port ves 6 CNSHA(5) at 332
% phaseOutInfo[6][7]: PO port ves 6 CNSHA(5) at 1004
% phaseOutInfo[6][8]: PO port ves 6 CNSHA(5) at 1676
% phaseOutInfo[6][9]: PO port ves 6 CNYTN(1) at 426
% phaseOutInfo[6][10]: PO port ves 6 CNYTN(1) at 1098
% phaseOutInfo[6][11]: PO port ves 6 CNYTN(1) at 1770
% phaseOutInfo[6][12]: PO port ves 6 MYTPP(8) at 542
% phaseOutInfo[6][13]: PO port ves 6 MYTPP(8) at 1214
% phaseOutInfo[6][14]: PO port ves 6 MYPKG(21) at 572
% phaseOutInfo[6][15]: PO port ves 6 MYPKG(21) at 1244
array[POPORTS6] of int: poTimes6 = array1d(POPORTS6, [30,702,1374,186,858,1530,332,1004,1676,426,1098,1770,542,1214,572,1244]);
constraint directCost[7] = directCostArr6[poAct6, piPort, piWeek[7]];
constraint directCost[7] >= 0;
% phaseOutInfo[7][0]: PO port ves 7 INMAA(20) at 198
% phaseOutInfo[7][1]: PO port ves 7 INMAA(20) at 870
% phaseOutInfo[7][2]: PO port ves 7 INMAA(20) at 1542
% phaseOutInfo[7][3]: PO port ves 7 MYTPP(8) at 354
% phaseOutInfo[7][4]: PO port ves 7 MYTPP(8) at 1026
% phaseOutInfo[7][5]: PO port ves 7 MYTPP(8) at 1698
% phaseOutInfo[7][6]: PO port ves 7 CNSHA(5) at 500
% phaseOutInfo[7][7]: PO port ves 7 CNSHA(5) at 1172
% phaseOutInfo[7][8]: PO port ves 7 CNYTN(1) at 594
% phaseOutInfo[7][9]: PO port ves 7 CNYTN(1) at 1266
% phaseOutInfo[7][10]: PO port ves 7 MYTPP(8) at 710
% phaseOutInfo[7][11]: PO port ves 7 MYTPP(8) at 1382
% phaseOutInfo[7][12]: PO port ves 7 MYPKG(21) at 740
% phaseOutInfo[7][13]: PO port ves 7 MYPKG(21) at 1412
array[POPORTS7] of int: poTimes7 = array1d(POPORTS7, [198,870,1542,354,1026,1698,500,1172,594,1266,710,1382,740,1412]);
constraint directCost[8] = directCostArr7[poAct7, piPort, piWeek[8]];
constraint directCost[8] >= 0;
array[PIPORTS,WEEKS] of int: piTimes = array2d(PIPORTS, WEEKS, [
164,332,500,668,836,1004,1172,1340,1508,1676,1844,
0,192,360,528,696,864,1032,1200,1368,1536,1704,
0,0,364,532,700,868,1036,1204,1372,1540,1708,
0,0,444,612,780,948,1116,1284,1452,1620,1788,
0,0,0,546,714,882,1050,1218,1386,1554,1722,
0,0,0,594,762,930,1098,1266,1434,1602,1770,
0,0,0,0,726,894,1062,1230,1398,1566,1734,
0,0,0,0,0,900,1068,1236,1404,1572,1740,
0,0,0,0,0,930,1098,1266,1434,1602,1770,
0,0,0,0,0,0,1100,1268,1436,1604,1772,
0,0,0,0,0,0,0,1256,1424,1592,1760,
0,0,0,0,0,0,0,1328,1496,1664,1832,
0,0,0,0,0,0,0,0,1362,1530,1698
]);
% phaseInInfo[port][week]
% phaseInInfo[1][1]: PI port MYTPP(8) at 164
% phaseInInfo[1][2]: PI port MYTPP(8) at 332
% phaseInInfo[1][3]: PI port MYTPP(8) at 500
% phaseInInfo[1][4]: PI port MYTPP(8) at 668
% phaseInInfo[1][5]: PI port MYTPP(8) at 836
% phaseInInfo[1][6]: PI port MYTPP(8) at 1004
% phaseInInfo[1][7]: PI port MYTPP(8) at 1172
% phaseInInfo[1][8]: PI port MYTPP(8) at 1340
% phaseInInfo[1][9]: PI port MYTPP(8) at 1508
% phaseInInfo[1][10]: PI port MYTPP(8) at 1676
% phaseInInfo[1][11]: PI port MYTPP(8) at 1844
% phaseInInfo[2][2]: PI port SGSIN(9) at 192
% phaseInInfo[2][3]: PI port SGSIN(9) at 360
% phaseInInfo[2][4]: PI port SGSIN(9) at 528
% phaseInInfo[2][5]: PI port SGSIN(9) at 696
% phaseInInfo[2][6]: PI port SGSIN(9) at 864
% phaseInInfo[2][7]: PI port SGSIN(9) at 1032
% phaseInInfo[2][8]: PI port SGSIN(9) at 1200
% phaseInInfo[2][9]: PI port SGSIN(9) at 1368
% phaseInInfo[2][10]: PI port SGSIN(9) at 1536
% phaseInInfo[2][11]: PI port SGSIN(9) at 1704
% phaseInInfo[3][3]: PI port AUTOR(10) at 364
% phaseInInfo[3][4]: PI port AUTOR(10) at 532
% phaseInInfo[3][5]: PI port AUTOR(10) at 700
% phaseInInfo[3][6]: PI port AUTOR(10) at 868
% phaseInInfo[3][7]: PI port AUTOR(10) at 1036
% phaseInInfo[3][8]: PI port AUTOR(10) at 1204
% phaseInInfo[3][9]: PI port AUTOR(10) at 1372
% phaseInInfo[3][10]: PI port AUTOR(10) at 1540
% phaseInInfo[3][11]: PI port AUTOR(10) at 1708
% phaseInInfo[4][3]: PI port AUBNE(11) at 444
% phaseInInfo[4][4]: PI port AUBNE(11) at 612
% phaseInInfo[4][5]: PI port AUBNE(11) at 780
% phaseInInfo[4][6]: PI port AUBNE(11) at 948
% phaseInInfo[4][7]: PI port AUBNE(11) at 1116
% phaseInInfo[4][8]: PI port AUBNE(11) at 1284
% phaseInInfo[4][9]: PI port AUBNE(11) at 1452
% phaseInInfo[4][10]: PI port AUBNE(11) at 1620
% phaseInInfo[4][11]: PI port AUBNE(11) at 1788
% phaseInInfo[5][4]: PI port NZAKL(12) at 546
% phaseInInfo[5][5]: PI port NZAKL(12) at 714
% phaseInInfo[5][6]: PI port NZAKL(12) at 882
% phaseInInfo[5][7]: PI port NZAKL(12) at 1050
% phaseInInfo[5][8]: PI port NZAKL(12) at 1218
% phaseInInfo[5][9]: PI port NZAKL(12) at 1386
% phaseInInfo[5][10]: PI port NZAKL(12) at 1554
% phaseInInfo[5][11]: PI port NZAKL(12) at 1722
% phaseInInfo[6][4]: PI port NZTRG(13) at 594
% phaseInInfo[6][5]: PI port NZTRG(13) at 762
% phaseInInfo[6][6]: PI port NZTRG(13) at 930
% phaseInInfo[6][7]: PI port NZTRG(13) at 1098
% phaseInInfo[6][8]: PI port NZTRG(13) at 1266
% phaseInInfo[6][9]: PI port NZTRG(13) at 1434
% phaseInInfo[6][10]: PI port NZTRG(13) at 1602
% phaseInInfo[6][11]: PI port NZTRG(13) at 1770
% phaseInInfo[7][5]: PI port AUTOR(10) at 726
% phaseInInfo[7][6]: PI port AUTOR(10) at 894
% phaseInInfo[7][7]: PI port AUTOR(10) at 1062
% phaseInInfo[7][8]: PI port AUTOR(10) at 1230
% phaseInInfo[7][9]: PI port AUTOR(10) at 1398
% phaseInInfo[7][10]: PI port AUTOR(10) at 1566
% phaseInInfo[7][11]: PI port AUTOR(10) at 1734
% phaseInInfo[8][6]: PI port MYTPP(8) at 900
% phaseInInfo[8][7]: PI port MYTPP(8) at 1068
% phaseInInfo[8][8]: PI port MYTPP(8) at 1236
% phaseInInfo[8][9]: PI port MYTPP(8) at 1404
% phaseInInfo[8][10]: PI port MYTPP(8) at 1572
% phaseInInfo[8][11]: PI port MYTPP(8) at 1740
% phaseInInfo[9][6]: PI port SGSIN(9) at 930
% phaseInInfo[9][7]: PI port SGSIN(9) at 1098
% phaseInInfo[9][8]: PI port SGSIN(9) at 1266
% phaseInInfo[9][9]: PI port SGSIN(9) at 1434
% phaseInInfo[9][10]: PI port SGSIN(9) at 1602
% phaseInInfo[9][11]: PI port SGSIN(9) at 1770
% phaseInInfo[10][7]: PI port AUTOR(10) at 1100
% phaseInInfo[10][8]: PI port AUTOR(10) at 1268
% phaseInInfo[10][9]: PI port AUTOR(10) at 1436
% phaseInInfo[10][10]: PI port AUTOR(10) at 1604
% phaseInInfo[10][11]: PI port AUTOR(10) at 1772
% phaseInInfo[11][8]: PI port NZAKL(12) at 1256
% phaseInInfo[11][9]: PI port NZAKL(12) at 1424
% phaseInInfo[11][10]: PI port NZAKL(12) at 1592
% phaseInInfo[11][11]: PI port NZAKL(12) at 1760
% phaseInInfo[12][8]: PI port NZLYT(14) at 1328
% phaseInInfo[12][9]: PI port NZLYT(14) at 1496
% phaseInInfo[12][10]: PI port NZLYT(14) at 1664
% phaseInInfo[12][11]: PI port NZLYT(14) at 1832
% phaseInInfo[13][9]: PI port NZPOE(15) at 1362
% phaseInInfo[13][10]: PI port NZPOE(15) at 1530
% phaseInInfo[13][11]: PI port NZPOE(15) at 1698
array[POPORTS0,PIPORTS,WEEKS] of int: directCostArr0;
directCostArr0 = array3d(POPORTS0,PIPORTS,WEEKS,[
291789,25214,25214,25214,25214,25214,25214,25214,25214,25214,25214,
-1,206650,24937,24937,24937,24937,24937,24937,24937,24937,24937,
-1,-1,23498,23498,23498,23498,23498,23498,23498,23498,23498,
-1,-1,34033,34033,34033,34033,34033,34033,34033,34033,34033,
-1,-1,-1,41524,41524,41524,41524,41524,41524,41524,41524,
-1,-1,-1,42019,42019,42019,42019,42019,42019,42019,42019,
-1,-1,-1,-1,23498,23498,23498,23498,23498,23498,23498,
-1,-1,-1,-1,-1,25214,25214,25214,25214,25214,25214,
-1,-1,-1,-1,-1,24937,24937,24937,24937,24937,24937,
-1,-1,-1,-1,-1,-1,23498,23498,23498,23498,23498,
-1,-1,-1,-1,-1,-1,-1,41524,41524,41524,41524,
-1,-1,-1,-1,-1,-1,-1,45140,45140,45140,45140,
-1,-1,-1,-1,-1,-1,-1,-1,46666,46666,46666,
-1,-1,-1,-1,-1,-1,291789,25214,25214,25214,25214,
-1,-1,-1,-1,-1,-1,-1,206650,24937,24937,24937,
-1,-1,-1,-1,-1,-1,-1,155886,23498,23498,23498,
-1,-1,-1,-1,-1,-1,-1,225201,34033,34033,34033,
-1,-1,-1,-1,-1,-1,-1,-1,149676,41524,41524,
-1,-1,-1,-1,-1,-1,-1,495404,42019,42019,42019,
-1,-1,-1,-1,-1,-1,-1,83939,23498,23498,23498,
-1,-1,-1,-1,-1,-1,-1,114687,25214,25214,25214,
-1,-1,-1,-1,-1,-1,-1,24937,24937,24937,24937,
-1,-1,-1,-1,-1,-1,-1,23498,23498,23498,23498,
-1,-1,-1,-1,-1,-1,-1,509413,44522,41524,41524,
-1,-1,-1,-1,-1,-1,-1,409950,45140,45140,45140,
-1,-1,-1,-1,-1,-1,-1,-1,357977,46666,46666,
-1,12867,12867,12867,12867,12867,12867,12867,12867,12867,12867,
-1,170321,12590,12590,12590,12590,12590,12590,12590,12590,12590,
-1,-1,22050,22050,22050,22050,22050,22050,22050,22050,22050,
-1,-1,97483,35220,35220,35220,35220,35220,35220,35220,35220,
-1,-1,-1,55217,43917,43917,43917,43917,43917,43917,43917,
-1,-1,-1,43632,43632,43632,43632,43632,43632,43632,43632,
-1,-1,-1,-1,22050,22050,22050,22050,22050,22050,22050,
-1,-1,-1,-1,-1,12867,12867,12867,12867,12867,12867,
-1,-1,-1,-1,-1,12590,12590,12590,12590,12590,12590,
-1,-1,-1,-1,-1,-1,22050,22050,22050,22050,22050,
-1,-1,-1,-1,-1,-1,-1,43917,43917,43917,43917,
-1,-1,-1,-1,-1,-1,-1,47524,47524,47524,47524,
-1,-1,-1,-1,-1,-1,-1,-1,48079,48079,48079,
-1,-1,-1,-1,-1,-1,-1,12867,12867,12867,12867,
-1,-1,-1,-1,-1,-1,-1,170321,12590,12590,12590,
-1,-1,-1,-1,-1,-1,-1,-1,22050,22050,22050,
-1,-1,-1,-1,-1,-1,-1,-1,97483,35220,35220,
-1,-1,-1,-1,-1,-1,-1,-1,520108,55217,43917,
-1,-1,-1,-1,-1,-1,-1,-1,379402,43632,43632,
-1,-1,-1,-1,-1,-1,-1,-1,22050,22050,22050,
-1,-1,-1,-1,-1,-1,-1,78358,12867,12867,12867,
-1,-1,-1,-1,-1,-1,-1,12590,12590,12590,12590,
-1,-1,-1,-1,-1,-1,-1,243221,22050,22050,22050,
-1,-1,-1,-1,-1,-1,-1,-1,414954,43917,43917,
-1,-1,-1,-1,-1,-1,-1,-1,315252,47524,47524,
-1,-1,-1,-1,-1,-1,-1,-1,-1,236480,48079,
-1,12824,12824,12824,12824,12824,12824,12824,12824,12824,12824,
-1,-1,12546,12546,12546,12546,12546,12546,12546,12546,12546,
-1,-1,21973,21973,21973,21973,21973,21973,21973,21973,21973,
-1,-1,151630,35177,35177,35177,35177,35177,35177,35177,35177,
-1,-1,-1,109365,43874,43874,43874,43874,43874,43874,43874,
-1,-1,-1,43557,43557,43557,43557,43557,43557,43557,43557,
-1,-1,-1,-1,21973,21973,21973,21973,21973,21973,21973,
-1,-1,-1,-1,-1,12824,12824,12824,12824,12824,12824,
-1,-1,-1,-1,-1,12546,12546,12546,12546,12546,12546,
-1,-1,-1,-1,-1,-1,21973,21973,21973,21973,21973,
-1,-1,-1,-1,-1,-1,-1,43874,43874,43874,43874,
-1,-1,-1,-1,-1,-1,-1,47481,47481,47481,47481,
-1,-1,-1,-1,-1,-1,-1,-1,48036,48036,48036,
-1,-1,-1,-1,-1,-1,-1,12824,12824,12824,12824,
-1,-1,-1,-1,-1,-1,-1,-1,12546,12546,12546,
-1,-1,-1,-1,-1,-1,-1,-1,21973,21973,21973,
-1,-1,-1,-1,-1,-1,-1,-1,151630,35177,35177,
-1,-1,-1,-1,-1,-1,-1,-1,574256,109365,43874,
-1,-1,-1,-1,-1,-1,-1,-1,432672,43557,43557,
-1,-1,-1,-1,-1,-1,-1,-1,21973,21973,21973,
-1,-1,-1,-1,-1,-1,-1,132505,12824,12824,12824,
-1,-1,-1,-1,-1,-1,-1,41833,12546,12546,12546,
-1,-1,-1,-1,-1,-1,-1,296439,21973,21973,21973,
-1,-1,-1,-1,-1,-1,-1,-1,469102,43874,43874,
-1,-1,-1,-1,-1,-1,-1,-1,369400,47481,47481,
-1,-1,-1,-1,-1,-1,-1,-1,-1,290628,48036,
-1,14575,14575,14575,14575,14575,14575,14575,14575,14575,14575,
-1,-1,14298,14298,14298,14298,14298,14298,14298,14298,14298,
-1,-1,86882,21599,21599,21599,21599,21599,21599,21599,21599,
-1,-1,223432,34570,34570,34570,34570,34570,34570,34570,34570,
-1,-1,-1,181166,43267,43267,43267,43267,43267,43267,43267,
-1,-1,-1,43129,43078,43078,43078,43078,43078,43078,43078,
-1,-1,-1,-1,21599,21599,21599,21599,21599,21599,21599,
-1,-1,-1,-1,-1,14575,14575,14575,14575,14575,14575,
-1,-1,-1,-1,-1,14298,14298,14298,14298,14298,14298,
-1,-1,-1,-1,-1,-1,21599,21599,21599,21599,21599,
-1,-1,-1,-1,-1,-1,-1,43267,43267,43267,43267,
-1,-1,-1,-1,-1,-1,-1,46822,46822,46822,46822,
-1,-1,-1,-1,-1,-1,-1,-1,47429,47429,47429,
-1,-1,-1,-1,-1,-1,-1,14575,14575,14575,14575,
-1,-1,-1,-1,-1,-1,-1,-1,14298,14298,14298,
-1,-1,-1,-1,-1,-1,-1,-1,86882,21599,21599,
-1,-1,-1,-1,-1,-1,-1,-1,223432,34570,34570,
-1,-1,-1,-1,-1,-1,-1,-1,-1,181166,43267,
-1,-1,-1,-1,-1,-1,-1,-1,508020,43129,43078,
-1,-1,-1,-1,-1,-1,-1,-1,21599,21599,21599,
-1,-1,-1,-1,-1,-1,-1,-1,14575,14575,14575,
-1,-1,-1,-1,-1,-1,-1,178716,14298,14298,14298,
-1,-1,-1,-1,-1,-1,-1,-1,21599,21599,21599,
-1,-1,-1,-1,-1,-1,-1,-1,540904,76012,43267,
-1,-1,-1,-1,-1,-1,-1,-1,439766,46822,46822,
-1,-1,-1,-1,-1,-1,-1,-1,-1,362430,47429,
-1,148046,17298,17298,17298,17298,17298,17298,17298,17298,17298,
-1,-1,70373,17291,17291,17291,17291,17291,17291,17291,17291,
-1,-1,218202,23049,23049,23049,23049,23049,23049,23049,23049,
-1,-1,292511,33764,33764,33764,33764,33764,33764,33764,33764,
-1,-1,-1,276664,43418,43418,43418,43418,43418,43418,43418,
-1,-1,-1,163461,44130,44130,44130,44130,44130,44130,44130,
-1,-1,-1,-1,23049,23049,23049,23049,23049,23049,23049,
-1,-1,-1,-1,-1,17298,17298,17298,17298,17298,17298,
-1,-1,-1,-1,-1,17291,17291,17291,17291,17291,17291,
-1,-1,-1,-1,-1,-1,23049,23049,23049,23049,23049,
-1,-1,-1,-1,-1,-1,-1,43418,43418,43418,43418,
-1,-1,-1,-1,-1,-1,-1,45405,45405,45405,45405,
-1,-1,-1,-1,-1,-1,-1,-1,45749,45749,45749,
-1,-1,-1,-1,-1,-1,-1,148046,17298,17298,17298,
-1,-1,-1,-1,-1,-1,-1,-1,70373,17291,17291,
-1,-1,-1,-1,-1,-1,-1,-1,218202,23049,23049,
-1,-1,-1,-1,-1,-1,-1,-1,292511,33764,33764,
-1,-1,-1,-1,-1,-1,-1,-1,-1,276664,43418,
-1,-1,-1,-1,-1,-1,-1,-1,628353,163461,44130,
-1,-1,-1,-1,-1,-1,-1,-1,146254,23049,23049,
-1,-1,-1,-1,-1,-1,-1,-1,17298,17298,17298,
-1,-1,-1,-1,-1,-1,-1,-1,17291,17291,17291,
-1,-1,-1,-1,-1,-1,-1,-1,41100,23049,23049,
-1,-1,-1,-1,-1,-1,-1,-1,-1,171510,43418,
-1,-1,-1,-1,-1,-1,-1,-1,491995,45405,45405,
-1,-1,-1,-1,-1,-1,-1,-1,-1,407392,45749,
-1,250706,19413,19413,19413,19413,19413,19413,19413,19413,19413,
-1,-1,165568,19136,19136,19136,19136,19136,19136,19136,19136,
-1,-1,279814,23677,23677,23677,23677,23677,23677,23677,23677,
-1,-1,420279,36790,36790,36790,36790,36790,36790,36790,36790,
-1,-1,-1,354804,44646,44646,44646,44646,44646,44646,44646,
-1,-1,-1,223209,44690,44690,44690,44690,44690,44690,44690,
-1,-1,-1,-1,23677,23677,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,19413,19413,19413,19413,19413,19413,
-1,-1,-1,-1,-1,19136,19136,19136,19136,19136,19136,
-1,-1,-1,-1,-1,-1,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,-1,-1,44646,44646,44646,44646,
-1,-1,-1,-1,-1,-1,-1,48062,48062,48062,48062,
-1,-1,-1,-1,-1,-1,-1,-1,49683,49683,49683,
-1,-1,-1,-1,-1,-1,-1,250706,19413,19413,19413,
-1,-1,-1,-1,-1,-1,-1,-1,165568,19136,19136,
-1,-1,-1,-1,-1,-1,-1,-1,279814,23677,23677,
-1,-1,-1,-1,-1,-1,-1,-1,420279,36790,36790,
-1,-1,-1,-1,-1,-1,-1,-1,-1,354804,44646,
-1,-1,-1,-1,-1,-1,-1,-1,-1,223209,44690,
-1,-1,-1,-1,-1,-1,-1,-1,207867,23677,23677,
-1,-1,-1,-1,-1,-1,-1,-1,73605,19413,19413,
-1,-1,-1,-1,-1,-1,-1,-1,19136,19136,19136,
-1,-1,-1,-1,-1,-1,-1,-1,102713,23677,23677,
-1,-1,-1,-1,-1,-1,-1,-1,-1,249650,44646,
-1,-1,-1,-1,-1,-1,-1,-1,609575,144684,48062,
-1,-1,-1,-1,-1,-1,-1,-1,-1,560234,95342,
-1,250706,19413,19413,19413,19413,19413,19413,19413,19413,19413,
-1,-1,165568,19136,19136,19136,19136,19136,19136,19136,19136,
-1,-1,279814,23677,23677,23677,23677,23677,23677,23677,23677,
-1,-1,420279,36790,36790,36790,36790,36790,36790,36790,36790,
-1,-1,-1,354804,44646,44646,44646,44646,44646,44646,44646,
-1,-1,-1,223209,44690,44690,44690,44690,44690,44690,44690,
-1,-1,-1,-1,23677,23677,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,19413,19413,19413,19413,19413,19413,
-1,-1,-1,-1,-1,19136,19136,19136,19136,19136,19136,
-1,-1,-1,-1,-1,-1,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,-1,-1,44646,44646,44646,44646,
-1,-1,-1,-1,-1,-1,-1,48062,48062,48062,48062,
-1,-1,-1,-1,-1,-1,-1,-1,49683,49683,49683,
-1,-1,-1,-1,-1,-1,-1,250706,19413,19413,19413,
-1,-1,-1,-1,-1,-1,-1,-1,165568,19136,19136,
-1,-1,-1,-1,-1,-1,-1,-1,279814,23677,23677,
-1,-1,-1,-1,-1,-1,-1,-1,420279,36790,36790,
-1,-1,-1,-1,-1,-1,-1,-1,-1,354804,44646,
-1,-1,-1,-1,-1,-1,-1,-1,-1,223209,44690,
-1,-1,-1,-1,-1,-1,-1,-1,207867,23677,23677,
-1,-1,-1,-1,-1,-1,-1,-1,73605,19413,19413,
-1,-1,-1,-1,-1,-1,-1,-1,19136,19136,19136,
-1,-1,-1,-1,-1,-1,-1,-1,102713,23677,23677,
-1,-1,-1,-1,-1,-1,-1,-1,-1,249650,44646,
-1,-1,-1,-1,-1,-1,-1,-1,609575,144684,48062,
-1,-1,-1,-1,-1,-1,-1,-1,-1,560234,95342,
-1,-1,-1,-1,-1,-1,712030,247138,77647,77647,77647,
-1,-1,-1,-1,-1,-1,1091782,626891,162000,77369,77369,
-1,-1,-1,-1,-1,-1,589001,124110,59550,59550,59550,
-1,-1,-1,-1,-1,784670,319779,57817,57817,57817,57817,
-1,-1,-1,-1,-1,701954,237063,48201,48201,48201,48201,
-1,-1,-1,-1,-1,604345,139453,49477,49477,49477,49477,
-1,-1,-1,-1,-1,-1,517053,59550,59550,59550,59550,
-1,-1,-1,-1,-1,-1,999820,534928,77647,77647,77647,
-1,-1,-1,-1,-1,-1,909147,444255,77369,77369,77369,
-1,-1,-1,-1,-1,-1,411899,59550,59550,59550,59550,
-1,-1,-1,-1,-1,-1,-1,48201,48201,48201,48201,
-1,-1,-1,-1,-1,-1,-1,49415,49415,49415,49415,
-1,-1,-1,-1,-1,-1,-1,-1,55484,55484,55484,
-1,-1,-1,-1,-1,-1,712030,247138,77647,77647,77647,
-1,-1,-1,-1,-1,-1,1091782,626891,162000,77369,77369,
-1,-1,-1,-1,-1,-1,589001,124110,59550,59550,59550,
-1,-1,-1,-1,-1,784670,319779,57817,57817,57817,57817,
-1,-1,-1,-1,-1,701954,237063,48201,48201,48201,48201,
-1,-1,-1,-1,-1,604345,139453,49477,49477,49477,49477,
-1,-1,-1,-1,-1,-1,517053,59550,59550,59550,59550,
-1,-1,-1,-1,-1,-1,999820,534928,77647,77647,77647,
-1,-1,-1,-1,-1,-1,909147,444255,77369,77369,77369,
-1,-1,-1,-1,-1,-1,411899,59550,59550,59550,59550,
-1,-1,-1,-1,-1,-1,-1,48201,48201,48201,48201,
-1,-1,-1,-1,-1,-1,-1,49415,49415,49415,49415,
-1,-1,-1,-1,-1,-1,-1,-1,55484,55484,55484,
-1,-1,-1,-1,-1,-1,-1,915329,450437,90931,90931,
-1,-1,-1,-1,-1,-1,-1,1295081,830190,365299,90653,
-1,-1,-1,-1,-1,-1,-1,776534,311642,72263,72263,
-1,-1,-1,-1,-1,-1,865223,400332,66652,66652,66652,
-1,-1,-1,-1,-1,-1,767672,302780,56499,56499,56499,
-1,-1,-1,-1,-1,-1,610589,145698,55620,55620,55620,
-1,-1,-1,-1,-1,-1,-1,704586,239695,72263,72263,
-1,-1,-1,-1,-1,-1,-1,1203118,738227,273336,90931,
-1,-1,-1,-1,-1,-1,-1,1112445,647554,182663,90653,
-1,-1,-1,-1,-1,-1,-1,599432,134541,72263,72263,
-1,-1,-1,-1,-1,-1,-1,197626,56499,56499,56499,
-1,-1,-1,-1,-1,-1,-1,57348,57348,57348,57348,
-1,-1,-1,-1,-1,-1,-1,-1,105290,63782,63782,
-1,-1,-1,-1,-1,-1,-1,915329,450437,90931,90931,
-1,-1,-1,-1,-1,-1,-1,1295081,830190,365299,90653,
-1,-1,-1,-1,-1,-1,-1,776534,311642,72263,72263,
-1,-1,-1,-1,-1,-1,865223,400332,66652,66652,66652,
-1,-1,-1,-1,-1,-1,767672,302780,56499,56499,56499,
-1,-1,-1,-1,-1,-1,610589,145698,55620,55620,55620,
-1,-1,-1,-1,-1,-1,-1,704586,239695,72263,72263,
-1,-1,-1,-1,-1,-1,-1,1203118,738227,273336,90931,
-1,-1,-1,-1,-1,-1,-1,1112445,647554,182663,90653,
-1,-1,-1,-1,-1,-1,-1,599432,134541,72263,72263,
-1,-1,-1,-1,-1,-1,-1,197626,56499,56499,56499,
-1,-1,-1,-1,-1,-1,-1,57348,57348,57348,57348,
-1,-1,-1,-1,-1,-1,-1,-1,105290,63782,63782
]);
array[POPORTS1,PIPORTS,WEEKS] of int: directCostArr1;
directCostArr1 = array3d(POPORTS1,PIPORTS,WEEKS,[
-1,291789,25214,25214,25214,25214,25214,25214,25214,25214,25214,
-1,-1,206650,24937,24937,24937,24937,24937,24937,24937,24937,
-1,-1,155886,23498,23498,23498,23498,23498,23498,23498,23498,
-1,-1,225201,34033,34033,34033,34033,34033,34033,34033,34033,
-1,-1,-1,149676,41524,41524,41524,41524,41524,41524,41524,
-1,-1,-1,42019,42019,42019,42019,42019,42019,42019,42019,
-1,-1,-1,-1,23498,23498,23498,23498,23498,23498,23498,
-1,-1,-1,-1,-1,25214,25214,25214,25214,25214,25214,
-1,-1,-1,-1,-1,24937,24937,24937,24937,24937,24937,
-1,-1,-1,-1,-1,-1,23498,23498,23498,23498,23498,
-1,-1,-1,-1,-1,-1,-1,41524,41524,41524,41524,
-1,-1,-1,-1,-1,-1,-1,45140,45140,45140,45140,
-1,-1,-1,-1,-1,-1,-1,-1,46666,46666,46666,
-1,-1,-1,-1,-1,-1,-1,291789,25214,25214,25214,
-1,-1,-1,-1,-1,-1,-1,-1,206650,24937,24937,
-1,-1,-1,-1,-1,-1,-1,-1,155886,23498,23498,
-1,-1,-1,-1,-1,-1,-1,-1,225201,34033,34033,
-1,-1,-1,-1,-1,-1,-1,-1,-1,149676,41524,
-1,-1,-1,-1,-1,-1,-1,-1,495404,42019,42019,
-1,-1,-1,-1,-1,-1,-1,-1,83939,23498,23498,
-1,-1,-1,-1,-1,-1,-1,-1,114687,25214,25214,
-1,-1,-1,-1,-1,-1,-1,-1,24937,24937,24937,
-1,-1,-1,-1,-1,-1,-1,-1,23498,23498,23498,
-1,-1,-1,-1,-1,-1,-1,-1,509413,44522,41524,
-1,-1,-1,-1,-1,-1,-1,-1,409950,45140,45140,
-1,-1,-1,-1,-1,-1,-1,-1,-1,357977,46666,
-1,-1,12867,12867,12867,12867,12867,12867,12867,12867,12867,
-1,-1,170321,12590,12590,12590,12590,12590,12590,12590,12590,
-1,-1,-1,22050,22050,22050,22050,22050,22050,22050,22050,
-1,-1,-1,97483,35220,35220,35220,35220,35220,35220,35220,
-1,-1,-1,520108,55217,43917,43917,43917,43917,43917,43917,
-1,-1,-1,379402,43632,43632,43632,43632,43632,43632,43632,
-1,-1,-1,-1,22050,22050,22050,22050,22050,22050,22050,
-1,-1,-1,-1,-1,12867,12867,12867,12867,12867,12867,
-1,-1,-1,-1,-1,12590,12590,12590,12590,12590,12590,
-1,-1,-1,-1,-1,-1,22050,22050,22050,22050,22050,
-1,-1,-1,-1,-1,-1,-1,43917,43917,43917,43917,
-1,-1,-1,-1,-1,-1,-1,47524,47524,47524,47524,
-1,-1,-1,-1,-1,-1,-1,-1,48079,48079,48079,
-1,-1,-1,-1,-1,-1,-1,-1,12867,12867,12867,
-1,-1,-1,-1,-1,-1,-1,-1,170321,12590,12590,
-1,-1,-1,-1,-1,-1,-1,-1,-1,22050,22050,
-1,-1,-1,-1,-1,-1,-1,-1,-1,97483,35220,
-1,-1,-1,-1,-1,-1,-1,-1,-1,520108,55217,
-1,-1,-1,-1,-1,-1,-1,-1,-1,379402,43632,
-1,-1,-1,-1,-1,-1,-1,-1,-1,22050,22050,
-1,-1,-1,-1,-1,-1,-1,-1,78358,12867,12867,
-1,-1,-1,-1,-1,-1,-1,-1,12590,12590,12590,
-1,-1,-1,-1,-1,-1,-1,-1,243221,22050,22050,
-1,-1,-1,-1,-1,-1,-1,-1,-1,414954,43917,
-1,-1,-1,-1,-1,-1,-1,-1,-1,315252,47524,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,236480,
-1,-1,12824,12824,12824,12824,12824,12824,12824,12824,12824,
-1,-1,-1,12546,12546,12546,12546,12546,12546,12546,12546,
-1,-1,-1,21973,21973,21973,21973,21973,21973,21973,21973,
-1,-1,-1,151630,35177,35177,35177,35177,35177,35177,35177,
-1,-1,-1,574256,109365,43874,43874,43874,43874,43874,43874,
-1,-1,-1,432672,43557,43557,43557,43557,43557,43557,43557,
-1,-1,-1,-1,21973,21973,21973,21973,21973,21973,21973,
-1,-1,-1,-1,-1,12824,12824,12824,12824,12824,12824,
-1,-1,-1,-1,-1,12546,12546,12546,12546,12546,12546,
-1,-1,-1,-1,-1,-1,21973,21973,21973,21973,21973,
-1,-1,-1,-1,-1,-1,-1,43874,43874,43874,43874,
-1,-1,-1,-1,-1,-1,-1,47481,47481,47481,47481,
-1,-1,-1,-1,-1,-1,-1,-1,48036,48036,48036,
-1,-1,-1,-1,-1,-1,-1,-1,12824,12824,12824,
-1,-1,-1,-1,-1,-1,-1,-1,-1,12546,12546,
-1,-1,-1,-1,-1,-1,-1,-1,-1,21973,21973,
-1,-1,-1,-1,-1,-1,-1,-1,-1,151630,35177,
-1,-1,-1,-1,-1,-1,-1,-1,-1,574256,109365,
-1,-1,-1,-1,-1,-1,-1,-1,-1,432672,43557,
-1,-1,-1,-1,-1,-1,-1,-1,-1,21973,21973,
-1,-1,-1,-1,-1,-1,-1,-1,132505,12824,12824,
-1,-1,-1,-1,-1,-1,-1,-1,41833,12546,12546,
-1,-1,-1,-1,-1,-1,-1,-1,296439,21973,21973,
-1,-1,-1,-1,-1,-1,-1,-1,-1,469102,43874,
-1,-1,-1,-1,-1,-1,-1,-1,-1,369400,47481,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,290628,
-1,-1,14575,14575,14575,14575,14575,14575,14575,14575,14575,
-1,-1,-1,14298,14298,14298,14298,14298,14298,14298,14298,
-1,-1,-1,86882,21599,21599,21599,21599,21599,21599,21599,
-1,-1,-1,223432,34570,34570,34570,34570,34570,34570,34570,
-1,-1,-1,-1,181166,43267,43267,43267,43267,43267,43267,
-1,-1,-1,508020,43129,43078,43078,43078,43078,43078,43078,
-1,-1,-1,-1,21599,21599,21599,21599,21599,21599,21599,
-1,-1,-1,-1,-1,14575,14575,14575,14575,14575,14575,
-1,-1,-1,-1,-1,14298,14298,14298,14298,14298,14298,
-1,-1,-1,-1,-1,-1,21599,21599,21599,21599,21599,
-1,-1,-1,-1,-1,-1,-1,43267,43267,43267,43267,
-1,-1,-1,-1,-1,-1,-1,46822,46822,46822,46822,
-1,-1,-1,-1,-1,-1,-1,-1,47429,47429,47429,
-1,-1,-1,-1,-1,-1,-1,-1,14575,14575,14575,
-1,-1,-1,-1,-1,-1,-1,-1,-1,14298,14298,
-1,-1,-1,-1,-1,-1,-1,-1,-1,86882,21599,
-1,-1,-1,-1,-1,-1,-1,-1,-1,223432,34570,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,181166,
-1,-1,-1,-1,-1,-1,-1,-1,-1,508020,43129,
-1,-1,-1,-1,-1,-1,-1,-1,-1,21599,21599,
-1,-1,-1,-1,-1,-1,-1,-1,-1,14575,14575,
-1,-1,-1,-1,-1,-1,-1,-1,178716,14298,14298,
-1,-1,-1,-1,-1,-1,-1,-1,-1,21599,21599,
-1,-1,-1,-1,-1,-1,-1,-1,-1,540904,76012,
-1,-1,-1,-1,-1,-1,-1,-1,-1,439766,46822,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,362430,
-1,-1,148046,17298,17298,17298,17298,17298,17298,17298,17298,
-1,-1,-1,70373,17291,17291,17291,17291,17291,17291,17291,
-1,-1,-1,218202,23049,23049,23049,23049,23049,23049,23049,
-1,-1,-1,292511,33764,33764,33764,33764,33764,33764,33764,
-1,-1,-1,-1,276664,43418,43418,43418,43418,43418,43418,
-1,-1,-1,628353,163461,44130,44130,44130,44130,44130,44130,
-1,-1,-1,-1,23049,23049,23049,23049,23049,23049,23049,
-1,-1,-1,-1,-1,17298,17298,17298,17298,17298,17298,
-1,-1,-1,-1,-1,17291,17291,17291,17291,17291,17291,
-1,-1,-1,-1,-1,-1,23049,23049,23049,23049,23049,
-1,-1,-1,-1,-1,-1,-1,43418,43418,43418,43418,
-1,-1,-1,-1,-1,-1,-1,45405,45405,45405,45405,
-1,-1,-1,-1,-1,-1,-1,-1,45749,45749,45749,
-1,-1,-1,-1,-1,-1,-1,-1,148046,17298,17298,
-1,-1,-1,-1,-1,-1,-1,-1,-1,70373,17291,
-1,-1,-1,-1,-1,-1,-1,-1,-1,218202,23049,
-1,-1,-1,-1,-1,-1,-1,-1,-1,292511,33764,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,276664,
-1,-1,-1,-1,-1,-1,-1,-1,-1,628353,163461,
-1,-1,-1,-1,-1,-1,-1,-1,-1,146254,23049,
-1,-1,-1,-1,-1,-1,-1,-1,-1,17298,17298,
-1,-1,-1,-1,-1,-1,-1,-1,-1,17291,17291,
-1,-1,-1,-1,-1,-1,-1,-1,-1,41100,23049,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,171510,
-1,-1,-1,-1,-1,-1,-1,-1,-1,491995,45405,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,407392,
-1,-1,250706,19413,19413,19413,19413,19413,19413,19413,19413,
-1,-1,-1,165568,19136,19136,19136,19136,19136,19136,19136,
-1,-1,-1,279814,23677,23677,23677,23677,23677,23677,23677,
-1,-1,-1,420279,36790,36790,36790,36790,36790,36790,36790,
-1,-1,-1,-1,354804,44646,44646,44646,44646,44646,44646,
-1,-1,-1,-1,223209,44690,44690,44690,44690,44690,44690,
-1,-1,-1,-1,23677,23677,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,19413,19413,19413,19413,19413,19413,
-1,-1,-1,-1,-1,19136,19136,19136,19136,19136,19136,
-1,-1,-1,-1,-1,-1,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,-1,-1,44646,44646,44646,44646,
-1,-1,-1,-1,-1,-1,-1,48062,48062,48062,48062,
-1,-1,-1,-1,-1,-1,-1,-1,49683,49683,49683,
-1,-1,-1,-1,-1,-1,-1,-1,250706,19413,19413,
-1,-1,-1,-1,-1,-1,-1,-1,-1,165568,19136,
-1,-1,-1,-1,-1,-1,-1,-1,-1,279814,23677,
-1,-1,-1,-1,-1,-1,-1,-1,-1,420279,36790,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,354804,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,223209,
-1,-1,-1,-1,-1,-1,-1,-1,-1,207867,23677,
-1,-1,-1,-1,-1,-1,-1,-1,-1,73605,19413,
-1,-1,-1,-1,-1,-1,-1,-1,-1,19136,19136,
-1,-1,-1,-1,-1,-1,-1,-1,-1,102713,23677,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,249650,
-1,-1,-1,-1,-1,-1,-1,-1,-1,609575,144684,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,560234,
-1,-1,250706,19413,19413,19413,19413,19413,19413,19413,19413,
-1,-1,-1,165568,19136,19136,19136,19136,19136,19136,19136,
-1,-1,-1,279814,23677,23677,23677,23677,23677,23677,23677,
-1,-1,-1,420279,36790,36790,36790,36790,36790,36790,36790,
-1,-1,-1,-1,354804,44646,44646,44646,44646,44646,44646,
-1,-1,-1,-1,223209,44690,44690,44690,44690,44690,44690,
-1,-1,-1,-1,23677,23677,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,19413,19413,19413,19413,19413,19413,
-1,-1,-1,-1,-1,19136,19136,19136,19136,19136,19136,
-1,-1,-1,-1,-1,-1,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,-1,-1,44646,44646,44646,44646,
-1,-1,-1,-1,-1,-1,-1,48062,48062,48062,48062,
-1,-1,-1,-1,-1,-1,-1,-1,49683,49683,49683,
-1,-1,-1,-1,-1,-1,-1,-1,250706,19413,19413,
-1,-1,-1,-1,-1,-1,-1,-1,-1,165568,19136,
-1,-1,-1,-1,-1,-1,-1,-1,-1,279814,23677,
-1,-1,-1,-1,-1,-1,-1,-1,-1,420279,36790,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,354804,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,223209,
-1,-1,-1,-1,-1,-1,-1,-1,-1,207867,23677,
-1,-1,-1,-1,-1,-1,-1,-1,-1,73605,19413,
-1,-1,-1,-1,-1,-1,-1,-1,-1,19136,19136,
-1,-1,-1,-1,-1,-1,-1,-1,-1,102713,23677,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,249650,
-1,-1,-1,-1,-1,-1,-1,-1,-1,609575,144684,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,560234,
-1,-1,-1,-1,-1,-1,-1,712030,247138,77647,77647,
-1,-1,-1,-1,-1,-1,-1,1091782,626891,162000,77369,
-1,-1,-1,-1,-1,-1,-1,589001,124110,59550,59550,
-1,-1,-1,-1,-1,-1,784670,319779,57817,57817,57817,
-1,-1,-1,-1,-1,-1,701954,237063,48201,48201,48201,
-1,-1,-1,-1,-1,-1,604345,139453,49477,49477,49477,
-1,-1,-1,-1,-1,-1,-1,517053,59550,59550,59550,
-1,-1,-1,-1,-1,-1,-1,999820,534928,77647,77647,
-1,-1,-1,-1,-1,-1,-1,909147,444255,77369,77369,
-1,-1,-1,-1,-1,-1,-1,411899,59550,59550,59550,
-1,-1,-1,-1,-1,-1,-1,131909,48201,48201,48201,
-1,-1,-1,-1,-1,-1,-1,49415,49415,49415,49415,
-1,-1,-1,-1,-1,-1,-1,-1,55484,55484,55484,
-1,-1,-1,-1,-1,-1,-1,712030,247138,77647,77647,
-1,-1,-1,-1,-1,-1,-1,1091782,626891,162000,77369,
-1,-1,-1,-1,-1,-1,-1,589001,124110,59550,59550,
-1,-1,-1,-1,-1,-1,784670,319779,57817,57817,57817,
-1,-1,-1,-1,-1,-1,701954,237063,48201,48201,48201,
-1,-1,-1,-1,-1,-1,604345,139453,49477,49477,49477,
-1,-1,-1,-1,-1,-1,-1,517053,59550,59550,59550,
-1,-1,-1,-1,-1,-1,-1,999820,534928,77647,77647,
-1,-1,-1,-1,-1,-1,-1,909147,444255,77369,77369,
-1,-1,-1,-1,-1,-1,-1,411899,59550,59550,59550,
-1,-1,-1,-1,-1,-1,-1,131909,48201,48201,48201,
-1,-1,-1,-1,-1,-1,-1,49415,49415,49415,49415,
-1,-1,-1,-1,-1,-1,-1,-1,55484,55484,55484,
-1,-1,-1,-1,-1,-1,-1,-1,915329,450437,90931,
-1,-1,-1,-1,-1,-1,-1,-1,1295081,830190,365299,
-1,-1,-1,-1,-1,-1,-1,-1,776534,311642,72263,
-1,-1,-1,-1,-1,-1,-1,865223,400332,66652,66652,
-1,-1,-1,-1,-1,-1,-1,767672,302780,56499,56499,
-1,-1,-1,-1,-1,-1,-1,610589,145698,55620,55620,
-1,-1,-1,-1,-1,-1,-1,-1,704586,239695,72263,
-1,-1,-1,-1,-1,-1,-1,-1,1203118,738227,273336,
-1,-1,-1,-1,-1,-1,-1,-1,1112445,647554,182663,
-1,-1,-1,-1,-1,-1,-1,-1,599432,134541,72263,
-1,-1,-1,-1,-1,-1,-1,662518,197626,56499,56499,
-1,-1,-1,-1,-1,-1,-1,486727,57348,57348,57348,
-1,-1,-1,-1,-1,-1,-1,-1,570182,105290,63782,
-1,-1,-1,-1,-1,-1,-1,-1,915329,450437,90931,
-1,-1,-1,-1,-1,-1,-1,-1,1295081,830190,365299,
-1,-1,-1,-1,-1,-1,-1,-1,776534,311642,72263,
-1,-1,-1,-1,-1,-1,-1,865223,400332,66652,66652,
-1,-1,-1,-1,-1,-1,-1,767672,302780,56499,56499,
-1,-1,-1,-1,-1,-1,-1,610589,145698,55620,55620,
-1,-1,-1,-1,-1,-1,-1,-1,704586,239695,72263,
-1,-1,-1,-1,-1,-1,-1,-1,1203118,738227,273336,
-1,-1,-1,-1,-1,-1,-1,-1,1112445,647554,182663,
-1,-1,-1,-1,-1,-1,-1,-1,599432,134541,72263,
-1,-1,-1,-1,-1,-1,-1,662518,197626,56499,56499,
-1,-1,-1,-1,-1,-1,-1,486727,57348,57348,57348,
-1,-1,-1,-1,-1,-1,-1,-1,570182,105290,63782
]);
array[POPORTS2,PIPORTS,WEEKS] of int: directCostArr2;
directCostArr2 = array3d(POPORTS2,PIPORTS,WEEKS,[
-1,-1,291789,25214,25214,25214,25214,25214,25214,25214,25214,
-1,-1,-1,206650,24937,24937,24937,24937,24937,24937,24937,
-1,-1,-1,155886,23498,23498,23498,23498,23498,23498,23498,
-1,-1,-1,225201,34033,34033,34033,34033,34033,34033,34033,
-1,-1,-1,-1,149676,41524,41524,41524,41524,41524,41524,
-1,-1,-1,495404,42019,42019,42019,42019,42019,42019,42019,
-1,-1,-1,-1,23498,23498,23498,23498,23498,23498,23498,
-1,-1,-1,-1,-1,25214,25214,25214,25214,25214,25214,
-1,-1,-1,-1,-1,24937,24937,24937,24937,24937,24937,
-1,-1,-1,-1,-1,-1,23498,23498,23498,23498,23498,
-1,-1,-1,-1,-1,-1,-1,41524,41524,41524,41524,
-1,-1,-1,-1,-1,-1,-1,45140,45140,45140,45140,
-1,-1,-1,-1,-1,-1,-1,-1,46666,46666,46666,
-1,-1,-1,-1,-1,-1,-1,-1,291789,25214,25214,
-1,-1,-1,-1,-1,-1,-1,-1,-1,206650,24937,
-1,-1,-1,-1,-1,-1,-1,-1,-1,155886,23498,
-1,-1,-1,-1,-1,-1,-1,-1,-1,225201,34033,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,149676,
-1,-1,-1,-1,-1,-1,-1,-1,-1,495404,42019,
-1,-1,-1,-1,-1,-1,-1,-1,-1,83939,23498,
-1,-1,-1,-1,-1,-1,-1,-1,-1,114687,25214,
-1,-1,-1,-1,-1,-1,-1,-1,-1,24937,24937,
-1,-1,-1,-1,-1,-1,-1,-1,-1,23498,23498,
-1,-1,-1,-1,-1,-1,-1,-1,-1,509413,44522,
-1,-1,-1,-1,-1,-1,-1,-1,-1,409950,45140,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,357977,
-1,-1,-1,12867,12867,12867,12867,12867,12867,12867,12867,
-1,-1,-1,170321,12590,12590,12590,12590,12590,12590,12590,
-1,-1,-1,-1,22050,22050,22050,22050,22050,22050,22050,
-1,-1,-1,-1,97483,35220,35220,35220,35220,35220,35220,
-1,-1,-1,-1,520108,55217,43917,43917,43917,43917,43917,
-1,-1,-1,-1,379402,43632,43632,43632,43632,43632,43632,
-1,-1,-1,-1,22050,22050,22050,22050,22050,22050,22050,
-1,-1,-1,-1,-1,12867,12867,12867,12867,12867,12867,
-1,-1,-1,-1,-1,12590,12590,12590,12590,12590,12590,
-1,-1,-1,-1,-1,-1,22050,22050,22050,22050,22050,
-1,-1,-1,-1,-1,-1,-1,43917,43917,43917,43917,
-1,-1,-1,-1,-1,-1,-1,47524,47524,47524,47524,
-1,-1,-1,-1,-1,-1,-1,-1,48079,48079,48079,
-1,-1,-1,-1,-1,-1,-1,-1,-1,12867,12867,
-1,-1,-1,-1,-1,-1,-1,-1,-1,170321,12590,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,22050,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97483,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,520108,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,379402,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,22050,
-1,-1,-1,-1,-1,-1,-1,-1,-1,78358,12867,
-1,-1,-1,-1,-1,-1,-1,-1,-1,12590,12590,
-1,-1,-1,-1,-1,-1,-1,-1,-1,243221,22050,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,414954,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,315252,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,12824,12824,12824,12824,12824,12824,12824,12824,
-1,-1,-1,-1,12546,12546,12546,12546,12546,12546,12546,
-1,-1,-1,-1,21973,21973,21973,21973,21973,21973,21973,
-1,-1,-1,-1,151630,35177,35177,35177,35177,35177,35177,
-1,-1,-1,-1,574256,109365,43874,43874,43874,43874,43874,
-1,-1,-1,-1,432672,43557,43557,43557,43557,43557,43557,
-1,-1,-1,-1,21973,21973,21973,21973,21973,21973,21973,
-1,-1,-1,-1,-1,12824,12824,12824,12824,12824,12824,
-1,-1,-1,-1,-1,12546,12546,12546,12546,12546,12546,
-1,-1,-1,-1,-1,-1,21973,21973,21973,21973,21973,
-1,-1,-1,-1,-1,-1,-1,43874,43874,43874,43874,
-1,-1,-1,-1,-1,-1,-1,47481,47481,47481,47481,
-1,-1,-1,-1,-1,-1,-1,-1,48036,48036,48036,
-1,-1,-1,-1,-1,-1,-1,-1,-1,12824,12824,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,12546,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,21973,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,151630,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,574256,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,432672,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,21973,
-1,-1,-1,-1,-1,-1,-1,-1,-1,132505,12824,
-1,-1,-1,-1,-1,-1,-1,-1,-1,41833,12546,
-1,-1,-1,-1,-1,-1,-1,-1,-1,296439,21973,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,469102,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,369400,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,14575,14575,14575,14575,14575,14575,14575,14575,
-1,-1,-1,-1,14298,14298,14298,14298,14298,14298,14298,
-1,-1,-1,-1,86882,21599,21599,21599,21599,21599,21599,
-1,-1,-1,-1,223432,34570,34570,34570,34570,34570,34570,
-1,-1,-1,-1,-1,181166,43267,43267,43267,43267,43267,
-1,-1,-1,-1,508020,43129,43078,43078,43078,43078,43078,
-1,-1,-1,-1,21599,21599,21599,21599,21599,21599,21599,
-1,-1,-1,-1,-1,14575,14575,14575,14575,14575,14575,
-1,-1,-1,-1,-1,14298,14298,14298,14298,14298,14298,
-1,-1,-1,-1,-1,-1,21599,21599,21599,21599,21599,
-1,-1,-1,-1,-1,-1,-1,43267,43267,43267,43267,
-1,-1,-1,-1,-1,-1,-1,46822,46822,46822,46822,
-1,-1,-1,-1,-1,-1,-1,-1,47429,47429,47429,
-1,-1,-1,-1,-1,-1,-1,-1,-1,14575,14575,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,14298,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,86882,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,223432,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,508020,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,21599,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,14575,
-1,-1,-1,-1,-1,-1,-1,-1,-1,178716,14298,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,21599,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,540904,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,439766,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,148046,17298,17298,17298,17298,17298,17298,17298,
-1,-1,-1,-1,70373,17291,17291,17291,17291,17291,17291,
-1,-1,-1,-1,218202,23049,23049,23049,23049,23049,23049,
-1,-1,-1,-1,292511,33764,33764,33764,33764,33764,33764,
-1,-1,-1,-1,-1,276664,43418,43418,43418,43418,43418,
-1,-1,-1,-1,628353,163461,44130,44130,44130,44130,44130,
-1,-1,-1,-1,146254,23049,23049,23049,23049,23049,23049,
-1,-1,-1,-1,-1,17298,17298,17298,17298,17298,17298,
-1,-1,-1,-1,-1,17291,17291,17291,17291,17291,17291,
-1,-1,-1,-1,-1,-1,23049,23049,23049,23049,23049,
-1,-1,-1,-1,-1,-1,-1,43418,43418,43418,43418,
-1,-1,-1,-1,-1,-1,-1,45405,45405,45405,45405,
-1,-1,-1,-1,-1,-1,-1,-1,45749,45749,45749,
-1,-1,-1,-1,-1,-1,-1,-1,-1,148046,17298,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,70373,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,218202,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,292511,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,628353,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,146254,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,17298,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,17291,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,41100,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,491995,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,250706,19413,19413,19413,19413,19413,19413,19413,
-1,-1,-1,-1,165568,19136,19136,19136,19136,19136,19136,
-1,-1,-1,-1,279814,23677,23677,23677,23677,23677,23677,
-1,-1,-1,-1,420279,36790,36790,36790,36790,36790,36790,
-1,-1,-1,-1,-1,354804,44646,44646,44646,44646,44646,
-1,-1,-1,-1,-1,223209,44690,44690,44690,44690,44690,
-1,-1,-1,-1,207867,23677,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,19413,19413,19413,19413,19413,19413,
-1,-1,-1,-1,-1,19136,19136,19136,19136,19136,19136,
-1,-1,-1,-1,-1,-1,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,-1,-1,44646,44646,44646,44646,
-1,-1,-1,-1,-1,-1,-1,48062,48062,48062,48062,
-1,-1,-1,-1,-1,-1,-1,-1,49683,49683,49683,
-1,-1,-1,-1,-1,-1,-1,-1,-1,250706,19413,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,165568,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,279814,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,420279,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,207867,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,73605,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,19136,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,102713,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,609575,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,250706,19413,19413,19413,19413,19413,19413,19413,
-1,-1,-1,-1,165568,19136,19136,19136,19136,19136,19136,
-1,-1,-1,-1,279814,23677,23677,23677,23677,23677,23677,
-1,-1,-1,-1,420279,36790,36790,36790,36790,36790,36790,
-1,-1,-1,-1,-1,354804,44646,44646,44646,44646,44646,
-1,-1,-1,-1,-1,223209,44690,44690,44690,44690,44690,
-1,-1,-1,-1,207867,23677,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,19413,19413,19413,19413,19413,19413,
-1,-1,-1,-1,-1,19136,19136,19136,19136,19136,19136,
-1,-1,-1,-1,-1,-1,23677,23677,23677,23677,23677,
-1,-1,-1,-1,-1,-1,-1,44646,44646,44646,44646,
-1,-1,-1,-1,-1,-1,-1,48062,48062,48062,48062,
-1,-1,-1,-1,-1,-1,-1,-1,49683,49683,49683,
-1,-1,-1,-1,-1,-1,-1,-1,-1,250706,19413,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,165568,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,279814,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,420279,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,207867,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,73605,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,19136,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,102713,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,609575,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,712030,247138,77647,
-1,-1,-1,-1,-1,-1,-1,-1,1091782,626891,162000,
-1,-1,-1,-1,-1,-1,-1,-1,589001,124110,59550,
-1,-1,-1,-1,-1,-1,-1,784670,319779,57817,57817,
-1,-1,-1,-1,-1,-1,-1,701954,237063,48201,48201,
-1,-1,-1,-1,-1,-1,-1,604345,139453,49477,49477,
-1,-1,-1,-1,-1,-1,-1,-1,517053,59550,59550,
-1,-1,-1,-1,-1,-1,-1,-1,999820,534928,77647,
-1,-1,-1,-1,-1,-1,-1,-1,909147,444255,77369,
-1,-1,-1,-1,-1,-1,-1,-1,411899,59550,59550,
-1,-1,-1,-1,-1,-1,-1,596800,131909,48201,48201,
-1,-1,-1,-1,-1,-1,-1,431059,49415,49415,49415,
-1,-1,-1,-1,-1,-1,-1,-1,504464,55484,55484,
-1,-1,-1,-1,-1,-1,-1,-1,712030,247138,77647,
-1,-1,-1,-1,-1,-1,-1,-1,1091782,626891,162000,
-1,-1,-1,-1,-1,-1,-1,-1,589001,124110,59550,
-1,-1,-1,-1,-1,-1,-1,784670,319779,57817,57817,
-1,-1,-1,-1,-1,-1,-1,701954,237063,48201,48201,
-1,-1,-1,-1,-1,-1,-1,604345,139453,49477,49477,
-1,-1,-1,-1,-1,-1,-1,-1,517053,59550,59550,
-1,-1,-1,-1,-1,-1,-1,-1,999820,534928,77647,
-1,-1,-1,-1,-1,-1,-1,-1,909147,444255,77369,
-1,-1,-1,-1,-1,-1,-1,-1,411899,59550,59550,
-1,-1,-1,-1,-1,-1,-1,596800,131909,48201,48201,
-1,-1,-1,-1,-1,-1,-1,431059,49415,49415,49415,
-1,-1,-1,-1,-1,-1,-1,-1,504464,55484,55484,
-1,-1,-1,-1,-1,-1,-1,-1,-1,915329,450437,
-1,-1,-1,-1,-1,-1,-1,-1,-1,1295081,830190,
-1,-1,-1,-1,-1,-1,-1,-1,-1,776534,311642,
-1,-1,-1,-1,-1,-1,-1,-1,865223,400332,66652,
-1,-1,-1,-1,-1,-1,-1,-1,767672,302780,56499,
-1,-1,-1,-1,-1,-1,-1,-1,610589,145698,55620,
-1,-1,-1,-1,-1,-1,-1,-1,-1,704586,239695,
-1,-1,-1,-1,-1,-1,-1,-1,-1,1203118,738227,
-1,-1,-1,-1,-1,-1,-1,-1,-1,1112445,647554,
-1,-1,-1,-1,-1,-1,-1,-1,-1,599432,134541,
-1,-1,-1,-1,-1,-1,-1,-1,662518,197626,56499,
-1,-1,-1,-1,-1,-1,-1,-1,486727,57348,57348,
-1,-1,-1,-1,-1,-1,-1,-1,-1,570182,105290,
-1,-1,-1,-1,-1,-1,-1,-1,-1,915329,450437,
-1,-1,-1,-1,-1,-1,-1,-1,-1,1295081,830190,
-1,-1,-1,-1,-1,-1,-1,-1,-1,776534,311642,
-1,-1,-1,-1,-1,-1,-1,-1,865223,400332,66652,
-1,-1,-1,-1,-1,-1,-1,-1,767672,302780,56499,
-1,-1,-1,-1,-1,-1,-1,-1,610589,145698,55620,
-1,-1,-1,-1,-1,-1,-1,-1,-1,704586,239695,
-1,-1,-1,-1,-1,-1,-1,-1,-1,1203118,738227,
-1,-1,-1,-1,-1,-1,-1,-1,-1,1112445,647554,
-1,-1,-1,-1,-1,-1,-1,-1,-1,599432,134541,
-1,-1,-1,-1,-1,-1,-1,-1,662518,197626,56499,
-1,-1,-1,-1,-1,-1,-1,-1,486727,57348,57348,
-1,-1,-1,-1,-1,-1,-1,-1,-1,570182,105290
]);
array[POPORTS3,PIPORTS,WEEKS] of int: directCostArr3;
directCostArr3 = array3d(POPORTS3,PIPORTS,WEEKS,[
-1,3087,3087,3087,3087,3087,3087,3087,3087,3087,3087,
-1,149663,3053,3053,3053,3053,3053,3053,3053,3053,3053,
-1,-1,2869,2869,2869,2869,2869,2869,2869,2869,2869,
-1,-1,4158,4158,4158,4158,4158,4158,4158,4158,4158,
-1,-1,-1,5069,5069,5069,5069,5069,5069,5069,5069,
-1,-1,-1,5114,5114,5114,5114,5114,5114,5114,5114,
-1,-1,-1,-1,2869,2869,2869,2869,2869,2869,2869,
-1,-1,-1,-1,-1,3087,3087,3087,3087,3087,3087,
-1,-1,-1,-1,-1,3053,3053,3053,3053,3053,3053,
-1,-1,-1,-1,-1,-1,2869,2869,2869,2869,2869,
-1,-1,-1,-1,-1,-1,-1,5069,5069,5069,5069,
-1,-1,-1,-1,-1,-1,-1,5508,5508,5508,5508,
-1,-1,-1,-1,-1,-1,-1,-1,5694,5694,5694,
-1,9810,2867,2867,2867,2867,2867,2867,2867,2867,2867,
-1,165493,2833,2833,2833,2833,2833,2833,2833,2833,2833,
-1,-1,2834,2834,2834,2834,2834,2834,2834,2834,2834,
-1,-1,30060,4222,4222,4222,4222,4222,4222,4222,4222,
-1,-1,-1,13673,5136,5136,5136,5136,5136,5136,5136,
-1,-1,-1,5178,5178,5178,5178,5178,5178,5178,5178,
-1,-1,-1,-1,2834,2834,2834,2834,2834,2834,2834,
-1,-1,-1,-1,-1,2867,2867,2867,2867,2867,2867,
-1,-1,-1,-1,-1,2833,2833,2833,2833,2833,2833,
-1,-1,-1,-1,-1,-1,2834,2834,2834,2834,2834,
-1,-1,-1,-1,-1,-1,-1,5136,5136,5136,5136,
-1,-1,-1,-1,-1,-1,-1,5523,5523,5523,5523,
-1,-1,-1,-1,-1,-1,-1,-1,5752,5752,5752,
-1,37273,2670,2670,2670,2670,2670,2670,2670,2670,2670,
-1,-1,2636,2636,2636,2636,2636,2636,2636,2636,2636,
-1,-1,30141,2938,2938,2938,2938,2938,2938,2938,2938,
-1,-1,101408,4427,4427,4427,4427,4427,4427,4427,4427,
-1,-1,-1,85481,5346,5346,5346,5346,5346,5346,5346,
-1,-1,-1,34132,5376,5376,5376,5376,5376,5376,5376,
-1,-1,-1,-1,2938,2938,2938,2938,2938,2938,2938,
-1,-1,-1,-1,-1,2670,2670,2670,2670,2670,2670,
-1,-1,-1,-1,-1,2636,2636,2636,2636,2636,2636,
-1,-1,-1,-1,-1,-1,2938,2938,2938,2938,2938,
-1,-1,-1,-1,-1,-1,-1,5346,5346,5346,5346,
-1,-1,-1,-1,-1,-1,-1,5728,5728,5728,5728,
-1,-1,-1,-1,-1,-1,-1,-1,5957,5957,5957,
-1,56882,2359,2359,2359,2359,2359,2359,2359,2359,2359,
-1,-1,21334,2325,2325,2325,2325,2325,2325,2325,2325,
-1,-1,76949,2877,2877,2877,2877,2877,2877,2877,2877,
-1,-1,159617,4470,4470,4470,4470,4470,4470,4470,4470,
-1,-1,-1,147596,5425,5425,5425,5425,5425,5425,5425,
-1,-1,-1,93550,5430,5430,5430,5430,5430,5430,5430,
-1,-1,-1,-1,2877,2877,2877,2877,2877,2877,2877,
-1,-1,-1,-1,-1,2359,2359,2359,2359,2359,2359,
-1,-1,-1,-1,-1,2325,2325,2325,2325,2325,2325,
-1,-1,-1,-1,-1,-1,2877,2877,2877,2877,2877,
-1,-1,-1,-1,-1,-1,-1,5425,5425,5425,5425,
-1,-1,-1,-1,-1,-1,-1,5840,5840,5840,5840,
-1,-1,-1,-1,-1,-1,-1,-1,6037,6037,6037,
-1,31614,1563,1563,1563,1563,1563,1563,1563,1563,1563,
-1,-1,1529,1529,1529,1529,1529,1529,1529,1529,1529,
-1,-1,116860,2679,2679,2679,2679,2679,2679,2679,2679,
-1,-1,200291,9060,4280,4280,4280,4280,4280,4280,4280,
-1,-1,-1,199413,8182,5336,5336,5336,5336,5336,5336,
-1,-1,-1,140992,5302,5302,5302,5302,5302,5302,5302,
-1,-1,-1,-1,2679,2679,2679,2679,2679,2679,2679,
-1,-1,-1,-1,-1,1563,1563,1563,1563,1563,1563,
-1,-1,-1,-1,-1,1529,1529,1529,1529,1529,1529,
-1,-1,-1,-1,-1,-1,2679,2679,2679,2679,2679,
-1,-1,-1,-1,-1,-1,-1,5336,5336,5336,5336,
-1,-1,-1,-1,-1,-1,-1,5775,5775,5775,5775,
-1,-1,-1,-1,-1,-1,-1,-1,5842,5842,5842,
-1,60634,1558,1558,1558,1558,1558,1558,1558,1558,1558,
-1,-1,25087,1524,1524,1524,1524,1524,1524,1524,1524,
-1,-1,145435,2670,2670,2670,2670,2670,2670,2670,2670,
-1,-1,229312,38081,4274,4274,4274,4274,4274,4274,4274,
-1,-1,-1,228433,37203,5331,5331,5331,5331,5331,5331,
-1,-1,-1,169591,5293,5293,5293,5293,5293,5293,5293,
-1,-1,-1,-1,2670,2670,2670,2670,2670,2670,2670,
-1,-1,-1,-1,-1,1558,1558,1558,1558,1558,1558,
-1,-1,-1,-1,-1,1524,1524,1524,1524,1524,1524,
-1,-1,-1,-1,-1,-1,2670,2670,2670,2670,2670,
-1,-1,-1,-1,-1,-1,-1,5331,5331,5331,5331,
-1,-1,-1,-1,-1,-1,-1,5769,5769,5769,5769,
-1,-1,-1,-1,-1,-1,-1,-1,5837,5837,5837,
-1,-1,-1,-1,68771,4117,4117,4117,4117,4117,4117,
-1,-1,-1,-1,224454,33223,4084,4084,4084,4084,4084,
-1,-1,-1,-1,1302,1302,1302,1302,1302,1302,1302,
-1,-1,-1,0,0,0,0,0,0,0,0,
-1,-1,-1,-1,1411,1411,1411,1411,1411,1411,1411,
-1,-1,-1,46628,1388,1388,1388,1388,1388,1388,1388,
-1,-1,-1,-1,1302,1302,1302,1302,1302,1302,1302,
-1,-1,-1,-1,-1,4117,4117,4117,4117,4117,4117,
-1,-1,-1,-1,-1,4084,4084,4084,4084,4084,4084,
-1,-1,-1,-1,-1,-1,1302,1302,1302,1302,1302,
-1,-1,-1,-1,-1,-1,-1,1411,1411,1411,1411,
-1,-1,-1,-1,-1,-1,-1,1714,1714,1714,1714,
-1,-1,-1,-1,-1,-1,-1,-1,2246,2246,2246,
-1,-1,-1,-1,-1,143177,5332,5332,5332,5332,5332,
-1,-1,-1,-1,-1,298860,107630,5298,5298,5298,5298,
-1,-1,-1,-1,-1,2535,2535,2535,2535,2535,2535,
-1,-1,-1,-1,1411,1411,1411,1411,1411,1411,1411,
-1,-1,-1,-1,0,0,0,0,0,0,0,
-1,-1,-1,-1,87,87,87,87,87,87,87,
-1,-1,-1,-1,-1,2535,2535,2535,2535,2535,2535,
-1,-1,-1,-1,-1,261558,70328,5332,5332,5332,5332,
-1,-1,-1,-1,-1,223734,32503,5298,5298,5298,5298,
-1,-1,-1,-1,-1,-1,2535,2535,2535,2535,2535,
-1,-1,-1,-1,-1,-1,-1,0,0,0,0,
-1,-1,-1,-1,-1,-1,-1,708,708,708,708,
-1,-1,-1,-1,-1,-1,-1,-1,885,885,885,
-1,-1,-1,-1,-1,225249,34019,5448,5448,5448,5448,
-1,-1,-1,-1,-1,-1,189701,5414,5414,5414,5414,
-1,-1,-1,-1,-1,83321,2726,2726,2726,2726,2726,
-1,-1,-1,-1,73084,1714,1714,1714,1714,1714,1714,
-1,-1,-1,-1,38498,708,708,708,708,708,708,
-1,-1,-1,-1,409,409,409,409,409,409,409,
-1,-1,-1,-1,-1,53725,2726,2726,2726,2726,2726,
-1,-1,-1,-1,-1,-1,152400,5448,5448,5448,5448,
-1,-1,-1,-1,-1,305806,114575,5414,5414,5414,5414,
-1,-1,-1,-1,-1,-1,2726,2726,2726,2726,2726,
-1,-1,-1,-1,-1,-1,-1,708,708,708,708,
-1,-1,-1,-1,-1,-1,-1,0,0,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,1593,1593,1593,
-1,-1,-1,-1,-1,217318,26087,4947,4947,4947,4947,
-1,-1,-1,-1,-1,-1,183579,4930,4930,4930,4930,
-1,-1,-1,-1,-1,129027,2718,2718,2718,2718,2718,
-1,-1,-1,-1,-1,1465,1465,1465,1465,1465,1465,
-1,-1,-1,-1,-1,197,197,197,197,197,197,
-1,-1,-1,-1,119,119,119,119,119,119,119,
-1,-1,-1,-1,-1,99432,2718,2718,2718,2718,2718,
-1,-1,-1,-1,-1,-1,144468,4947,4947,4947,4947,
-1,-1,-1,-1,-1,-1,108452,4930,4930,4930,4930,
-1,-1,-1,-1,-1,-1,2718,2718,2718,2718,2718,
-1,-1,-1,-1,-1,-1,-1,197,197,197,197,
-1,-1,-1,-1,-1,-1,-1,327,327,327,327,
-1,-1,-1,-1,-1,-1,-1,-1,496,496,496,
-1,-1,-1,-1,-1,248351,57120,4887,4887,4887,4887,
-1,-1,-1,-1,-1,-1,214598,23367,4870,4870,4870,
-1,-1,-1,-1,-1,-1,2623,2623,2623,2623,2623,
-1,-1,-1,-1,-1,1388,1388,1388,1388,1388,1388,
-1,-1,-1,-1,-1,87,87,87,87,87,87,
-1,-1,-1,-1,0,0,0,0,0,0,0,
-1,-1,-1,-1,-1,126639,2623,2623,2623,2623,2623,
-1,-1,-1,-1,-1,-1,175501,4887,4887,4887,4887,
-1,-1,-1,-1,-1,-1,139472,4870,4870,4870,4870,
-1,-1,-1,-1,-1,-1,2623,2623,2623,2623,2623,
-1,-1,-1,-1,-1,-1,-1,87,87,87,87,
-1,-1,-1,-1,-1,-1,-1,409,409,409,409,
-1,-1,-1,-1,-1,-1,-1,-1,577,577,577
]);
array[POPORTS4,PIPORTS,WEEKS] of int: directCostArr4;
directCostArr4 = array3d(POPORTS4,PIPORTS,WEEKS,[
-1,-1,3087,3087,3087,3087,3087,3087,3087,3087,3087,
-1,-1,149663,3053,3053,3053,3053,3053,3053,3053,3053,
-1,-1,125081,2869,2869,2869,2869,2869,2869,2869,2869,
-1,-1,174558,4158,4158,4158,4158,4158,4158,4158,4158,
-1,-1,-1,157712,5069,5069,5069,5069,5069,5069,5069,
-1,-1,-1,107970,5114,5114,5114,5114,5114,5114,5114,
-1,-1,-1,-1,2869,2869,2869,2869,2869,2869,2869,
-1,-1,-1,-1,-1,3087,3087,3087,3087,3087,3087,
-1,-1,-1,-1,-1,3053,3053,3053,3053,3053,3053,
-1,-1,-1,-1,-1,-1,2869,2869,2869,2869,2869,
-1,-1,-1,-1,-1,-1,-1,5069,5069,5069,5069,
-1,-1,-1,-1,-1,-1,-1,5508,5508,5508,5508,
-1,-1,-1,-1,-1,-1,-1,-1,5694,5694,5694,
-1,-1,9810,2867,2867,2867,2867,2867,2867,2867,2867,
-1,-1,165493,2833,2833,2833,2833,2833,2833,2833,2833,
-1,-1,161100,2834,2834,2834,2834,2834,2834,2834,2834,
-1,-1,221291,30060,4222,4222,4222,4222,4222,4222,4222,
-1,-1,-1,204904,13673,5136,5136,5136,5136,5136,5136,
-1,-1,-1,154771,5178,5178,5178,5178,5178,5178,5178,
-1,-1,-1,-1,2834,2834,2834,2834,2834,2834,2834,
-1,-1,-1,-1,-1,2867,2867,2867,2867,2867,2867,
-1,-1,-1,-1,-1,2833,2833,2833,2833,2833,2833,
-1,-1,-1,-1,-1,-1,2834,2834,2834,2834,2834,
-1,-1,-1,-1,-1,-1,-1,5136,5136,5136,5136,
-1,-1,-1,-1,-1,-1,-1,5523,5523,5523,5523,
-1,-1,-1,-1,-1,-1,-1,-1,5752,5752,5752,
-1,-1,37273,2670,2670,2670,2670,2670,2670,2670,2670,
-1,-1,-1,2636,2636,2636,2636,2636,2636,2636,2636,
-1,-1,-1,30141,2938,2938,2938,2938,2938,2938,2938,
-1,-1,-1,101408,4427,4427,4427,4427,4427,4427,4427,
-1,-1,-1,276711,85481,5346,5346,5346,5346,5346,5346,
-1,-1,-1,225362,34132,5376,5376,5376,5376,5376,5376,
-1,-1,-1,-1,2938,2938,2938,2938,2938,2938,2938,
-1,-1,-1,-1,-1,2670,2670,2670,2670,2670,2670,
-1,-1,-1,-1,-1,2636,2636,2636,2636,2636,2636,
-1,-1,-1,-1,-1,-1,2938,2938,2938,2938,2938,
-1,-1,-1,-1,-1,-1,-1,5346,5346,5346,5346,
-1,-1,-1,-1,-1,-1,-1,5728,5728,5728,5728,
-1,-1,-1,-1,-1,-1,-1,-1,5957,5957,5957,
-1,-1,56882,2359,2359,2359,2359,2359,2359,2359,2359,
-1,-1,-1,21334,2325,2325,2325,2325,2325,2325,2325,
-1,-1,-1,76949,2877,2877,2877,2877,2877,2877,2877,
-1,-1,-1,159617,4470,4470,4470,4470,4470,4470,4470,
-1,-1,-1,-1,147596,5425,5425,5425,5425,5425,5425,
-1,-1,-1,284780,93550,5430,5430,5430,5430,5430,5430,
-1,-1,-1,-1,2877,2877,2877,2877,2877,2877,2877,
-1,-1,-1,-1,-1,2359,2359,2359,2359,2359,2359,
-1,-1,-1,-1,-1,2325,2325,2325,2325,2325,2325,
-1,-1,-1,-1,-1,-1,2877,2877,2877,2877,2877,
-1,-1,-1,-1,-1,-1,-1,5425,5425,5425,5425,
-1,-1,-1,-1,-1,-1,-1,5840,5840,5840,5840,
-1,-1,-1,-1,-1,-1,-1,-1,6037,6037,6037,
-1,-1,31614,1563,1563,1563,1563,1563,1563,1563,1563,
-1,-1,-1,1529,1529,1529,1529,1529,1529,1529,1529,
-1,-1,-1,116860,2679,2679,2679,2679,2679,2679,2679,
-1,-1,-1,200291,9060,4280,4280,4280,4280,4280,4280,
-1,-1,-1,-1,199413,8182,5336,5336,5336,5336,5336,
-1,-1,-1,-1,140992,5302,5302,5302,5302,5302,5302,
-1,-1,-1,-1,2679,2679,2679,2679,2679,2679,2679,
-1,-1,-1,-1,-1,1563,1563,1563,1563,1563,1563,
-1,-1,-1,-1,-1,1529,1529,1529,1529,1529,1529,
-1,-1,-1,-1,-1,-1,2679,2679,2679,2679,2679,
-1,-1,-1,-1,-1,-1,-1,5336,5336,5336,5336,
-1,-1,-1,-1,-1,-1,-1,5775,5775,5775,5775,
-1,-1,-1,-1,-1,-1,-1,-1,5842,5842,5842,
-1,-1,60634,1558,1558,1558,1558,1558,1558,1558,1558,
-1,-1,-1,25087,1524,1524,1524,1524,1524,1524,1524,
-1,-1,-1,145435,2670,2670,2670,2670,2670,2670,2670,
-1,-1,-1,229312,38081,4274,4274,4274,4274,4274,4274,
-1,-1,-1,-1,228433,37203,5331,5331,5331,5331,5331,
-1,-1,-1,-1,169591,5293,5293,5293,5293,5293,5293,
-1,-1,-1,-1,2670,2670,2670,2670,2670,2670,2670,
-1,-1,-1,-1,-1,1558,1558,1558,1558,1558,1558,
-1,-1,-1,-1,-1,1524,1524,1524,1524,1524,1524,
-1,-1,-1,-1,-1,-1,2670,2670,2670,2670,2670,
-1,-1,-1,-1,-1,-1,-1,5331,5331,5331,5331,
-1,-1,-1,-1,-1,-1,-1,5769,5769,5769,5769,
-1,-1,-1,-1,-1,-1,-1,-1,5837,5837,5837,
-1,-1,-1,-1,-1,68771,4117,4117,4117,4117,4117,
-1,-1,-1,-1,-1,224454,33223,4084,4084,4084,4084,
-1,-1,-1,-1,-1,1302,1302,1302,1302,1302,1302,
-1,-1,-1,-1,0,0,0,0,0,0,0,
-1,-1,-1,-1,-1,1411,1411,1411,1411,1411,1411,
-1,-1,-1,-1,46628,1388,1388,1388,1388,1388,1388,
-1,-1,-1,-1,-1,1302,1302,1302,1302,1302,1302,
-1,-1,-1,-1,-1,187152,4117,4117,4117,4117,4117,
-1,-1,-1,-1,-1,149328,4084,4084,4084,4084,4084,
-1,-1,-1,-1,-1,-1,1302,1302,1302,1302,1302,
-1,-1,-1,-1,-1,-1,-1,1411,1411,1411,1411,
-1,-1,-1,-1,-1,-1,-1,1714,1714,1714,1714,
-1,-1,-1,-1,-1,-1,-1,-1,2246,2246,2246,
-1,-1,-1,-1,-1,-1,143177,5332,5332,5332,5332,
-1,-1,-1,-1,-1,-1,298860,107630,5298,5298,5298,
-1,-1,-1,-1,-1,-1,2535,2535,2535,2535,2535,
-1,-1,-1,-1,-1,1411,1411,1411,1411,1411,1411,
-1,-1,-1,-1,-1,0,0,0,0,0,0,
-1,-1,-1,-1,-1,87,87,87,87,87,87,
-1,-1,-1,-1,-1,-1,2535,2535,2535,2535,2535,
-1,-1,-1,-1,-1,-1,261558,70328,5332,5332,5332,
-1,-1,-1,-1,-1,-1,223734,32503,5298,5298,5298,
-1,-1,-1,-1,-1,-1,2535,2535,2535,2535,2535,
-1,-1,-1,-1,-1,-1,-1,0,0,0,0,
-1,-1,-1,-1,-1,-1,-1,708,708,708,708,
-1,-1,-1,-1,-1,-1,-1,-1,885,885,885,
-1,-1,-1,-1,-1,-1,225249,34019,5448,5448,5448,
-1,-1,-1,-1,-1,-1,-1,189701,5414,5414,5414,
-1,-1,-1,-1,-1,-1,83321,2726,2726,2726,2726,
-1,-1,-1,-1,-1,73084,1714,1714,1714,1714,1714,
-1,-1,-1,-1,-1,38498,708,708,708,708,708,
-1,-1,-1,-1,-1,409,409,409,409,409,409,
-1,-1,-1,-1,-1,-1,53725,2726,2726,2726,2726,
-1,-1,-1,-1,-1,-1,-1,152400,5448,5448,5448,
-1,-1,-1,-1,-1,-1,305806,114575,5414,5414,5414,
-1,-1,-1,-1,-1,-1,10471,2726,2726,2726,2726,
-1,-1,-1,-1,-1,-1,-1,708,708,708,708,
-1,-1,-1,-1,-1,-1,-1,0,0,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,1593,1593,1593,
-1,-1,-1,-1,-1,-1,217318,26087,4947,4947,4947,
-1,-1,-1,-1,-1,-1,-1,183579,4930,4930,4930,
-1,-1,-1,-1,-1,-1,129027,2718,2718,2718,2718,
-1,-1,-1,-1,-1,-1,1465,1465,1465,1465,1465,
-1,-1,-1,-1,-1,-1,197,197,197,197,197,
-1,-1,-1,-1,-1,119,119,119,119,119,119,
-1,-1,-1,-1,-1,-1,99432,2718,2718,2718,2718,
-1,-1,-1,-1,-1,-1,-1,144468,4947,4947,4947,
-1,-1,-1,-1,-1,-1,-1,108452,4930,4930,4930,
-1,-1,-1,-1,-1,-1,56177,2718,2718,2718,2718,
-1,-1,-1,-1,-1,-1,-1,197,197,197,197,
-1,-1,-1,-1,-1,-1,-1,327,327,327,327,
-1,-1,-1,-1,-1,-1,-1,-1,496,496,496,
-1,-1,-1,-1,-1,-1,248351,57120,4887,4887,4887,
-1,-1,-1,-1,-1,-1,-1,214598,23367,4870,4870,
-1,-1,-1,-1,-1,-1,-1,2623,2623,2623,2623,
-1,-1,-1,-1,-1,-1,1388,1388,1388,1388,1388,
-1,-1,-1,-1,-1,-1,87,87,87,87,87,
-1,-1,-1,-1,-1,0,0,0,0,0,0,
-1,-1,-1,-1,-1,-1,126639,2623,2623,2623,2623,
-1,-1,-1,-1,-1,-1,-1,175501,4887,4887,4887,
-1,-1,-1,-1,-1,-1,-1,139472,4870,4870,4870,
-1,-1,-1,-1,-1,-1,83384,2623,2623,2623,2623,
-1,-1,-1,-1,-1,-1,-1,87,87,87,87,
-1,-1,-1,-1,-1,-1,-1,409,409,409,409,
-1,-1,-1,-1,-1,-1,-1,-1,577,577,577
]);
array[POPORTS5,PIPORTS,WEEKS] of int: directCostArr5;
directCostArr5 = array3d(POPORTS5,PIPORTS,WEEKS,[
-1,-1,-1,3087,3087,3087,3087,3087,3087,3087,3087,
-1,-1,-1,149663,3053,3053,3053,3053,3053,3053,3053,
-1,-1,-1,125081,2869,2869,2869,2869,2869,2869,2869,
-1,-1,-1,174558,4158,4158,4158,4158,4158,4158,4158,
-1,-1,-1,-1,157712,5069,5069,5069,5069,5069,5069,
-1,-1,-1,299201,107970,5114,5114,5114,5114,5114,5114,
-1,-1,-1,-1,2869,2869,2869,2869,2869,2869,2869,
-1,-1,-1,-1,-1,3087,3087,3087,3087,3087,3087,
-1,-1,-1,-1,-1,3053,3053,3053,3053,3053,3053,
-1,-1,-1,-1,-1,-1,2869,2869,2869,2869,2869,
-1,-1,-1,-1,-1,-1,-1,5069,5069,5069,5069,
-1,-1,-1,-1,-1,-1,-1,5508,5508,5508,5508,
-1,-1,-1,-1,-1,-1,-1,-1,5694,5694,5694,
-1,-1,-1,9810,2867,2867,2867,2867,2867,2867,2867,
-1,-1,-1,165493,2833,2833,2833,2833,2833,2833,2833,
-1,-1,-1,161100,2834,2834,2834,2834,2834,2834,2834,
-1,-1,-1,221291,30060,4222,4222,4222,4222,4222,4222,
-1,-1,-1,-1,204904,13673,5136,5136,5136,5136,5136,
-1,-1,-1,-1,154771,5178,5178,5178,5178,5178,5178,
-1,-1,-1,-1,2834,2834,2834,2834,2834,2834,2834,
-1,-1,-1,-1,-1,2867,2867,2867,2867,2867,2867,
-1,-1,-1,-1,-1,2833,2833,2833,2833,2833,2833,
-1,-1,-1,-1,-1,-1,2834,2834,2834,2834,2834,
-1,-1,-1,-1,-1,-1,-1,5136,5136,5136,5136,
-1,-1,-1,-1,-1,-1,-1,5523,5523,5523,5523,
-1,-1,-1,-1,-1,-1,-1,-1,5752,5752,5752,
-1,-1,-1,37273,2670,2670,2670,2670,2670,2670,2670,
-1,-1,-1,-1,2636,2636,2636,2636,2636,2636,2636,
-1,-1,-1,-1,30141,2938,2938,2938,2938,2938,2938,
-1,-1,-1,-1,101408,4427,4427,4427,4427,4427,4427,
-1,-1,-1,-1,276711,85481,5346,5346,5346,5346,5346,
-1,-1,-1,-1,225362,34132,5376,5376,5376,5376,5376,
-1,-1,-1,-1,2938,2938,2938,2938,2938,2938,2938,
-1,-1,-1,-1,-1,2670,2670,2670,2670,2670,2670,
-1,-1,-1,-1,-1,2636,2636,2636,2636,2636,2636,
-1,-1,-1,-1,-1,-1,2938,2938,2938,2938,2938,
-1,-1,-1,-1,-1,-1,-1,5346,5346,5346,5346,
-1,-1,-1,-1,-1,-1,-1,5728,5728,5728,5728,
-1,-1,-1,-1,-1,-1,-1,-1,5957,5957,5957,
-1,-1,-1,56882,2359,2359,2359,2359,2359,2359,2359,
-1,-1,-1,-1,21334,2325,2325,2325,2325,2325,2325,
-1,-1,-1,-1,76949,2877,2877,2877,2877,2877,2877,
-1,-1,-1,-1,159617,4470,4470,4470,4470,4470,4470,
-1,-1,-1,-1,-1,147596,5425,5425,5425,5425,5425,
-1,-1,-1,-1,284780,93550,5430,5430,5430,5430,5430,
-1,-1,-1,-1,47354,2877,2877,2877,2877,2877,2877,
-1,-1,-1,-1,-1,2359,2359,2359,2359,2359,2359,
-1,-1,-1,-1,-1,2325,2325,2325,2325,2325,2325,
-1,-1,-1,-1,-1,-1,2877,2877,2877,2877,2877,
-1,-1,-1,-1,-1,-1,-1,5425,5425,5425,5425,
-1,-1,-1,-1,-1,-1,-1,5840,5840,5840,5840,
-1,-1,-1,-1,-1,-1,-1,-1,6037,6037,6037,
-1,-1,-1,31614,1563,1563,1563,1563,1563,1563,1563,
-1,-1,-1,-1,1529,1529,1529,1529,1529,1529,1529,
-1,-1,-1,-1,116860,2679,2679,2679,2679,2679,2679,
-1,-1,-1,-1,200291,9060,4280,4280,4280,4280,4280,
-1,-1,-1,-1,-1,199413,8182,5336,5336,5336,5336,
-1,-1,-1,-1,-1,140992,5302,5302,5302,5302,5302,
-1,-1,-1,-1,87265,2679,2679,2679,2679,2679,2679,
-1,-1,-1,-1,-1,1563,1563,1563,1563,1563,1563,
-1,-1,-1,-1,-1,1529,1529,1529,1529,1529,1529,
-1,-1,-1,-1,-1,-1,2679,2679,2679,2679,2679,
-1,-1,-1,-1,-1,-1,-1,5336,5336,5336,5336,
-1,-1,-1,-1,-1,-1,-1,5775,5775,5775,5775,
-1,-1,-1,-1,-1,-1,-1,-1,5842,5842,5842,
-1,-1,-1,60634,1558,1558,1558,1558,1558,1558,1558,
-1,-1,-1,-1,25087,1524,1524,1524,1524,1524,1524,
-1,-1,-1,-1,145435,2670,2670,2670,2670,2670,2670,
-1,-1,-1,-1,229312,38081,4274,4274,4274,4274,4274,
-1,-1,-1,-1,-1,228433,37203,5331,5331,5331,5331,
-1,-1,-1,-1,-1,169591,5293,5293,5293,5293,5293,
-1,-1,-1,-1,115840,2670,2670,2670,2670,2670,2670,
-1,-1,-1,-1,-1,1558,1558,1558,1558,1558,1558,
-1,-1,-1,-1,-1,1524,1524,1524,1524,1524,1524,
-1,-1,-1,-1,-1,-1,2670,2670,2670,2670,2670,
-1,-1,-1,-1,-1,-1,-1,5331,5331,5331,5331,
-1,-1,-1,-1,-1,-1,-1,5769,5769,5769,5769,
-1,-1,-1,-1,-1,-1,-1,-1,5837,5837,5837,
-1,-1,-1,-1,-1,-1,68771,4117,4117,4117,4117,
-1,-1,-1,-1,-1,-1,224454,33223,4084,4084,4084,
-1,-1,-1,-1,-1,-1,1302,1302,1302,1302,1302,
-1,-1,-1,-1,-1,0,0,0,0,0,0,
-1,-1,-1,-1,-1,-1,1411,1411,1411,1411,1411,
-1,-1,-1,-1,-1,46628,1388,1388,1388,1388,1388,
-1,-1,-1,-1,-1,-1,1302,1302,1302,1302,1302,
-1,-1,-1,-1,-1,-1,187152,4117,4117,4117,4117,
-1,-1,-1,-1,-1,-1,149328,4084,4084,4084,4084,
-1,-1,-1,-1,-1,-1,1302,1302,1302,1302,1302,
-1,-1,-1,-1,-1,-1,-1,1411,1411,1411,1411,
-1,-1,-1,-1,-1,-1,-1,1714,1714,1714,1714,
-1,-1,-1,-1,-1,-1,-1,-1,2246,2246,2246,
-1,-1,-1,-1,-1,-1,-1,143177,5332,5332,5332,
-1,-1,-1,-1,-1,-1,-1,298860,107630,5298,5298,
-1,-1,-1,-1,-1,-1,-1,2535,2535,2535,2535,
-1,-1,-1,-1,-1,-1,1411,1411,1411,1411,1411,
-1,-1,-1,-1,-1,-1,0,0,0,0,0,
-1,-1,-1,-1,-1,-1,87,87,87,87,87,
-1,-1,-1,-1,-1,-1,-1,2535,2535,2535,2535,
-1,-1,-1,-1,-1,-1,-1,261558,70328,5332,5332,
-1,-1,-1,-1,-1,-1,-1,223734,32503,5298,5298,
-1,-1,-1,-1,-1,-1,111414,2535,2535,2535,2535,
-1,-1,-1,-1,-1,-1,-1,0,0,0,0,
-1,-1,-1,-1,-1,-1,-1,708,708,708,708,
-1,-1,-1,-1,-1,-1,-1,-1,885,885,885,
-1,-1,-1,-1,-1,-1,-1,225249,34019,5448,5448,
-1,-1,-1,-1,-1,-1,-1,-1,189701,5414,5414,
-1,-1,-1,-1,-1,-1,-1,83321,2726,2726,2726,
-1,-1,-1,-1,-1,-1,73084,1714,1714,1714,1714,
-1,-1,-1,-1,-1,-1,38498,708,708,708,708,
-1,-1,-1,-1,-1,-1,409,409,409,409,409,
-1,-1,-1,-1,-1,-1,-1,53725,2726,2726,2726,
-1,-1,-1,-1,-1,-1,-1,-1,152400,5448,5448,
-1,-1,-1,-1,-1,-1,-1,305806,114575,5414,5414,
-1,-1,-1,-1,-1,-1,-1,10471,2726,2726,2726,
-1,-1,-1,-1,-1,-1,-1,708,708,708,708,
-1,-1,-1,-1,-1,-1,-1,0,0,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,1593,1593,1593,
-1,-1,-1,-1,-1,-1,-1,217318,26087,4947,4947,
-1,-1,-1,-1,-1,-1,-1,-1,183579,4930,4930,
-1,-1,-1,-1,-1,-1,-1,129027,2718,2718,2718,
-1,-1,-1,-1,-1,-1,-1,1465,1465,1465,1465,
-1,-1,-1,-1,-1,-1,-1,197,197,197,197,
-1,-1,-1,-1,-1,-1,119,119,119,119,119,
-1,-1,-1,-1,-1,-1,-1,99432,2718,2718,2718,
-1,-1,-1,-1,-1,-1,-1,-1,144468,4947,4947,
-1,-1,-1,-1,-1,-1,-1,-1,108452,4930,4930,
-1,-1,-1,-1,-1,-1,-1,56177,2718,2718,2718,
-1,-1,-1,-1,-1,-1,-1,197,197,197,197,
-1,-1,-1,-1,-1,-1,-1,327,327,327,327,
-1,-1,-1,-1,-1,-1,-1,-1,496,496,496,
-1,-1,-1,-1,-1,-1,-1,248351,57120,4887,4887,
-1,-1,-1,-1,-1,-1,-1,-1,214598,23367,4870,
-1,-1,-1,-1,-1,-1,-1,-1,2623,2623,2623,
-1,-1,-1,-1,-1,-1,-1,1388,1388,1388,1388,
-1,-1,-1,-1,-1,-1,-1,87,87,87,87,
-1,-1,-1,-1,-1,-1,0,0,0,0,0,
-1,-1,-1,-1,-1,-1,-1,126639,2623,2623,2623,
-1,-1,-1,-1,-1,-1,-1,-1,175501,4887,4887,
-1,-1,-1,-1,-1,-1,-1,-1,139472,4870,4870,
-1,-1,-1,-1,-1,-1,-1,83384,2623,2623,2623,
-1,-1,-1,-1,-1,-1,-1,87,87,87,87,
-1,-1,-1,-1,-1,-1,-1,409,409,409,409,
-1,-1,-1,-1,-1,-1,-1,-1,577,577,577
]);
array[POPORTS6,PIPORTS,WEEKS] of int: directCostArr6;
directCostArr6 = array3d(POPORTS6,PIPORTS,WEEKS,[
33004,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,
-1,1667,1667,1667,1667,1667,1667,1667,1667,1667,1667,
-1,-1,73742,4163,4163,4163,4163,4163,4163,4163,4163,
-1,-1,147963,5679,5679,5679,5679,5679,5679,5679,5679,
-1,-1,-1,160182,6856,6856,6856,6856,6856,6856,6856,
-1,-1,-1,66648,6499,6499,6499,6499,6499,6499,6499,
-1,-1,-1,-1,4163,4163,4163,4163,4163,4163,4163,
-1,-1,-1,-1,-1,1701,1701,1701,1701,1701,1701,
-1,-1,-1,-1,-1,1667,1667,1667,1667,1667,1667,
-1,-1,-1,-1,-1,-1,4163,4163,4163,4163,4163,
-1,-1,-1,-1,-1,-1,-1,6856,6856,6856,6856,
-1,-1,-1,-1,-1,-1,-1,6608,6608,6608,6608,
-1,-1,-1,-1,-1,-1,-1,-1,6500,6500,6500,
-1,-1,-1,-1,33004,1701,1701,1701,1701,1701,1701,
-1,-1,-1,-1,-1,1667,1667,1667,1667,1667,1667,
-1,-1,-1,-1,-1,-1,73742,4163,4163,4163,4163,
-1,-1,-1,-1,-1,-1,147963,5679,5679,5679,5679,
-1,-1,-1,-1,-1,-1,351412,160182,6856,6856,6856,
-1,-1,-1,-1,-1,-1,257878,66648,6499,6499,6499,
-1,-1,-1,-1,-1,235377,44147,4163,4163,4163,4163,
-1,-1,-1,-1,-1,1701,1701,1701,1701,1701,1701,
-1,-1,-1,-1,-1,1667,1667,1667,1667,1667,1667,
-1,-1,-1,-1,-1,-1,4163,4163,4163,4163,4163,
-1,-1,-1,-1,-1,-1,-1,116927,6856,6856,6856,
-1,-1,-1,-1,-1,-1,-1,7974,6608,6608,6608,
-1,-1,-1,-1,-1,-1,-1,-1,6500,6500,6500,
-1,-1,-1,-1,-1,-1,-1,-1,33004,1701,1701,
-1,-1,-1,-1,-1,-1,-1,-1,-1,1667,1667,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,73742,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,147963,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,351412,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,257878,
-1,-1,-1,-1,-1,-1,-1,-1,-1,235377,44147,
-1,-1,-1,-1,-1,-1,-1,-1,-1,1701,1701,
-1,-1,-1,-1,-1,-1,-1,-1,-1,1667,1667,
-1,-1,-1,-1,-1,-1,-1,-1,-1,192123,4163,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,308158,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,199205,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,339901,
-1,0,0,0,0,0,0,0,0,0,0,
-1,33,33,33,33,33,33,33,33,33,33,
-1,-1,74437,2541,2541,2541,2541,2541,2541,2541,2541,
-1,-1,155280,4117,4117,4117,4117,4117,4117,4117,4117,
-1,-1,-1,171634,5332,5332,5332,5332,5332,5332,5332,
-1,-1,-1,68503,4887,4887,4887,4887,4887,4887,4887,
-1,-1,-1,-1,2541,2541,2541,2541,2541,2541,2541,
-1,-1,-1,-1,-1,0,0,0,0,0,0,
-1,-1,-1,-1,-1,33,33,33,33,33,33,
-1,-1,-1,-1,-1,-1,2541,2541,2541,2541,2541,
-1,-1,-1,-1,-1,-1,-1,5332,5332,5332,5332,
-1,-1,-1,-1,-1,-1,-1,5448,5448,5448,5448,
-1,-1,-1,-1,-1,-1,-1,-1,5340,5340,5340,
-1,-1,-1,-1,-1,0,0,0,0,0,0,
-1,-1,-1,-1,-1,33,33,33,33,33,33,
-1,-1,-1,-1,-1,-1,74437,2541,2541,2541,2541,
-1,-1,-1,-1,-1,-1,155280,4117,4117,4117,4117,
-1,-1,-1,-1,-1,-1,-1,171634,5332,5332,5332,
-1,-1,-1,-1,-1,-1,259733,68503,4887,4887,4887,
-1,-1,-1,-1,-1,-1,44842,2541,2541,2541,2541,
-1,-1,-1,-1,-1,0,0,0,0,0,0,
-1,-1,-1,-1,-1,33,33,33,33,33,33,
-1,-1,-1,-1,-1,-1,2541,2541,2541,2541,2541,
-1,-1,-1,-1,-1,-1,-1,128380,5332,5332,5332,
-1,-1,-1,-1,-1,-1,-1,59061,5448,5448,5448,
-1,-1,-1,-1,-1,-1,-1,-1,8527,5340,5340,
-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,-1,33,33,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,74437,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,155280,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,259733,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,44842,
-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,-1,33,33,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2541,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,250291,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,65988,2359,2359,2359,2359,2359,2359,2359,2359,
-1,-1,-1,30440,2325,2325,2325,2325,2325,2325,2325,
-1,-1,-1,86055,2877,2877,2877,2877,2877,2877,2877,
-1,-1,-1,168724,4470,4470,4470,4470,4470,4470,4470,
-1,-1,-1,-1,156702,5425,5425,5425,5425,5425,5425,
-1,-1,-1,293886,102656,5430,5430,5430,5430,5430,5430,
-1,-1,-1,-1,2877,2877,2877,2877,2877,2877,2877,
-1,-1,-1,-1,-1,2359,2359,2359,2359,2359,2359,
-1,-1,-1,-1,-1,2325,2325,2325,2325,2325,2325,
-1,-1,-1,-1,-1,-1,2877,2877,2877,2877,2877,
-1,-1,-1,-1,-1,-1,-1,5425,5425,5425,5425,
-1,-1,-1,-1,-1,-1,-1,5840,5840,5840,5840,
-1,-1,-1,-1,-1,-1,-1,-1,6037,6037,6037,
-1,-1,-1,-1,-1,-1,65988,2359,2359,2359,2359,
-1,-1,-1,-1,-1,-1,-1,30440,2325,2325,2325,
-1,-1,-1,-1,-1,-1,-1,86055,2877,2877,2877,
-1,-1,-1,-1,-1,-1,-1,168724,4470,4470,4470,
-1,-1,-1,-1,-1,-1,-1,-1,156702,5425,5425,
-1,-1,-1,-1,-1,-1,-1,293886,102656,5430,5430,
-1,-1,-1,-1,-1,-1,-1,56460,2877,2877,2877,
-1,-1,-1,-1,-1,-1,-1,2359,2359,2359,2359,
-1,-1,-1,-1,-1,-1,-1,2325,2325,2325,2325,
-1,-1,-1,-1,-1,-1,-1,13205,2877,2877,2877,
-1,-1,-1,-1,-1,-1,-1,304678,113447,5425,5425,
-1,-1,-1,-1,-1,-1,-1,267985,76755,5840,5840,
-1,-1,-1,-1,-1,-1,-1,-1,250767,59536,6037,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,65988,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,86251,1563,1563,1563,1563,1563,1563,1563,1563,
-1,-1,-1,50703,1529,1529,1529,1529,1529,1529,1529,
-1,-1,-1,-1,2679,2679,2679,2679,2679,2679,2679,
-1,-1,-1,-1,63698,4280,4280,4280,4280,4280,4280,
-1,-1,-1,-1,254050,62819,5336,5336,5336,5336,5336,
-1,-1,-1,-1,195629,5302,5302,5302,5302,5302,5302,
-1,-1,-1,-1,2679,2679,2679,2679,2679,2679,2679,
-1,-1,-1,-1,-1,1563,1563,1563,1563,1563,1563,
-1,-1,-1,-1,-1,1529,1529,1529,1529,1529,1529,
-1,-1,-1,-1,-1,-1,2679,2679,2679,2679,2679,
-1,-1,-1,-1,-1,-1,-1,5336,5336,5336,5336,
-1,-1,-1,-1,-1,-1,-1,5775,5775,5775,5775,
-1,-1,-1,-1,-1,-1,-1,-1,5842,5842,5842,
-1,-1,-1,-1,-1,-1,86251,1563,1563,1563,1563,
-1,-1,-1,-1,-1,-1,-1,50703,1529,1529,1529,
-1,-1,-1,-1,-1,-1,-1,-1,2679,2679,2679,
-1,-1,-1,-1,-1,-1,-1,-1,63698,4280,4280,
-1,-1,-1,-1,-1,-1,-1,-1,254050,62819,5336,
-1,-1,-1,-1,-1,-1,-1,-1,195629,5302,5302,
-1,-1,-1,-1,-1,-1,-1,141902,2679,2679,2679,
-1,-1,-1,-1,-1,-1,-1,13401,1563,1563,1563,
-1,-1,-1,-1,-1,-1,-1,1529,1529,1529,1529,
-1,-1,-1,-1,-1,-1,-1,98648,2679,2679,2679,
-1,-1,-1,-1,-1,-1,-1,-1,210795,19565,5336,
-1,-1,-1,-1,-1,-1,-1,-1,176630,5775,5775,
-1,-1,-1,-1,-1,-1,-1,-1,336511,145281,5842,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,86251,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,0,0,0,0,0,0,0,0,
-1,-1,-1,-1,33,33,33,33,33,33,33,
-1,-1,-1,-1,97202,2541,2541,2541,2541,2541,2541,
-1,-1,-1,-1,178046,4117,4117,4117,4117,4117,4117,
-1,-1,-1,-1,-1,194400,5332,5332,5332,5332,5332,
-1,-1,-1,-1,282499,91269,4887,4887,4887,4887,4887,
-1,-1,-1,-1,67607,2541,2541,2541,2541,2541,2541,
-1,-1,-1,-1,-1,0,0,0,0,0,0,
-1,-1,-1,-1,-1,33,33,33,33,33,33,
-1,-1,-1,-1,-1,-1,2541,2541,2541,2541,2541,
-1,-1,-1,-1,-1,-1,-1,5332,5332,5332,5332,
-1,-1,-1,-1,-1,-1,-1,5448,5448,5448,5448,
-1,-1,-1,-1,-1,-1,-1,-1,5340,5340,5340,
-1,-1,-1,-1,-1,-1,-1,0,0,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,33,33,33,
-1,-1,-1,-1,-1,-1,-1,-1,97202,2541,2541,
-1,-1,-1,-1,-1,-1,-1,-1,178046,4117,4117,
-1,-1,-1,-1,-1,-1,-1,-1,-1,194400,5332,
-1,-1,-1,-1,-1,-1,-1,-1,282499,91269,4887,
-1,-1,-1,-1,-1,-1,-1,-1,67607,2541,2541,
-1,-1,-1,-1,-1,-1,-1,0,0,0,0,
-1,-1,-1,-1,-1,-1,-1,33,33,33,33,
-1,-1,-1,-1,-1,-1,-1,-1,24353,2541,2541,
-1,-1,-1,-1,-1,-1,-1,-1,-1,151145,5332,
-1,-1,-1,-1,-1,-1,-1,-1,273057,81826,5448,
-1,-1,-1,-1,-1,-1,-1,-1,-1,222523,31292,
-1,-1,-1,265,265,265,265,265,265,265,265,
-1,-1,-1,-1,231,231,231,231,231,231,231,
-1,-1,-1,-1,148842,2701,2701,2701,2701,2701,2701,
-1,-1,-1,-1,233792,42561,4315,4315,4315,4315,4315,
-1,-1,-1,-1,-1,250146,58915,5530,5530,5530,5530,
-1,-1,-1,-1,-1,144041,5058,5058,5058,5058,5058,
-1,-1,-1,-1,119247,2701,2701,2701,2701,2701,2701,
-1,-1,-1,-1,-1,265,265,265,265,265,265,
-1,-1,-1,-1,-1,231,231,231,231,231,231,
-1,-1,-1,-1,-1,-1,2701,2701,2701,2701,2701,
-1,-1,-1,-1,-1,-1,-1,5530,5530,5530,5530,
-1,-1,-1,-1,-1,-1,-1,5646,5646,5646,5646,
-1,-1,-1,-1,-1,-1,-1,-1,5538,5538,5538,
-1,-1,-1,-1,-1,-1,-1,265,265,265,265,
-1,-1,-1,-1,-1,-1,-1,-1,231,231,231,
-1,-1,-1,-1,-1,-1,-1,-1,148842,2701,2701,
-1,-1,-1,-1,-1,-1,-1,-1,233792,42561,4315,
-1,-1,-1,-1,-1,-1,-1,-1,-1,250146,58915,
-1,-1,-1,-1,-1,-1,-1,-1,-1,144041,5058,
-1,-1,-1,-1,-1,-1,-1,-1,119247,2701,2701,
-1,-1,-1,-1,-1,-1,-1,-1,265,265,265,
-1,-1,-1,-1,-1,-1,-1,231,231,231,231,
-1,-1,-1,-1,-1,-1,-1,-1,75992,2701,2701,
-1,-1,-1,-1,-1,-1,-1,-1,-1,206891,15661,
-1,-1,-1,-1,-1,-1,-1,-1,328803,137572,5646,
-1,-1,-1,-1,-1,-1,-1,-1,-1,278269,87038
]);
array[POPORTS7,PIPORTS,WEEKS] of int: directCostArr7;
directCostArr7 = array3d(POPORTS7,PIPORTS,WEEKS,[
-1,33004,1701,1701,1701,1701,1701,1701,1701,1701,1701,
-1,-1,1667,1667,1667,1667,1667,1667,1667,1667,1667,
-1,-1,-1,73742,4163,4163,4163,4163,4163,4163,4163,
-1,-1,-1,147963,5679,5679,5679,5679,5679,5679,5679,
-1,-1,-1,351412,160182,6856,6856,6856,6856,6856,6856,
-1,-1,-1,257878,66648,6499,6499,6499,6499,6499,6499,
-1,-1,-1,-1,4163,4163,4163,4163,4163,4163,4163,
-1,-1,-1,-1,-1,1701,1701,1701,1701,1701,1701,
-1,-1,-1,-1,-1,1667,1667,1667,1667,1667,1667,
-1,-1,-1,-1,-1,-1,4163,4163,4163,4163,4163,
-1,-1,-1,-1,-1,-1,-1,6856,6856,6856,6856,
-1,-1,-1,-1,-1,-1,-1,6608,6608,6608,6608,
-1,-1,-1,-1,-1,-1,-1,-1,6500,6500,6500,
-1,-1,-1,-1,-1,33004,1701,1701,1701,1701,1701,
-1,-1,-1,-1,-1,-1,1667,1667,1667,1667,1667,
-1,-1,-1,-1,-1,-1,-1,73742,4163,4163,4163,
-1,-1,-1,-1,-1,-1,-1,147963,5679,5679,5679,
-1,-1,-1,-1,-1,-1,-1,351412,160182,6856,6856,
-1,-1,-1,-1,-1,-1,-1,257878,66648,6499,6499,
-1,-1,-1,-1,-1,-1,235377,44147,4163,4163,4163,
-1,-1,-1,-1,-1,-1,1701,1701,1701,1701,1701,
-1,-1,-1,-1,-1,-1,1667,1667,1667,1667,1667,
-1,-1,-1,-1,-1,-1,192123,4163,4163,4163,4163,
-1,-1,-1,-1,-1,-1,-1,308158,116927,6856,6856,
-1,-1,-1,-1,-1,-1,-1,199205,7974,6608,6608,
-1,-1,-1,-1,-1,-1,-1,-1,148670,6500,6500,
-1,-1,-1,-1,-1,-1,-1,-1,-1,33004,1701,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1667,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,235377,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1701,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1667,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,192123,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,0,0,0,0,0,0,0,0,0,
-1,-1,33,33,33,33,33,33,33,33,33,
-1,-1,-1,74437,2541,2541,2541,2541,2541,2541,2541,
-1,-1,-1,155280,4117,4117,4117,4117,4117,4117,4117,
-1,-1,-1,-1,171634,5332,5332,5332,5332,5332,5332,
-1,-1,-1,259733,68503,4887,4887,4887,4887,4887,4887,
-1,-1,-1,-1,2541,2541,2541,2541,2541,2541,2541,
-1,-1,-1,-1,-1,0,0,0,0,0,0,
-1,-1,-1,-1,-1,33,33,33,33,33,33,
-1,-1,-1,-1,-1,-1,2541,2541,2541,2541,2541,
-1,-1,-1,-1,-1,-1,-1,5332,5332,5332,5332,
-1,-1,-1,-1,-1,-1,-1,5448,5448,5448,5448,
-1,-1,-1,-1,-1,-1,-1,-1,5340,5340,5340,
-1,-1,-1,-1,-1,-1,0,0,0,0,0,
-1,-1,-1,-1,-1,-1,33,33,33,33,33,
-1,-1,-1,-1,-1,-1,-1,74437,2541,2541,2541,
-1,-1,-1,-1,-1,-1,-1,155280,4117,4117,4117,
-1,-1,-1,-1,-1,-1,-1,-1,171634,5332,5332,
-1,-1,-1,-1,-1,-1,-1,259733,68503,4887,4887,
-1,-1,-1,-1,-1,-1,-1,44842,2541,2541,2541,
-1,-1,-1,-1,-1,-1,0,0,0,0,0,
-1,-1,-1,-1,-1,-1,33,33,33,33,33,
-1,-1,-1,-1,-1,-1,-1,2541,2541,2541,2541,
-1,-1,-1,-1,-1,-1,-1,-1,128380,5332,5332,
-1,-1,-1,-1,-1,-1,-1,250291,59061,5448,5448,
-1,-1,-1,-1,-1,-1,-1,-1,199757,8527,5340,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,33,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,33,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,65988,2359,2359,2359,2359,2359,2359,2359,
-1,-1,-1,-1,30440,2325,2325,2325,2325,2325,2325,
-1,-1,-1,-1,86055,2877,2877,2877,2877,2877,2877,
-1,-1,-1,-1,168724,4470,4470,4470,4470,4470,4470,
-1,-1,-1,-1,-1,156702,5425,5425,5425,5425,5425,
-1,-1,-1,-1,293886,102656,5430,5430,5430,5430,5430,
-1,-1,-1,-1,56460,2877,2877,2877,2877,2877,2877,
-1,-1,-1,-1,-1,2359,2359,2359,2359,2359,2359,
-1,-1,-1,-1,-1,2325,2325,2325,2325,2325,2325,
-1,-1,-1,-1,-1,-1,2877,2877,2877,2877,2877,
-1,-1,-1,-1,-1,-1,-1,5425,5425,5425,5425,
-1,-1,-1,-1,-1,-1,-1,5840,5840,5840,5840,
-1,-1,-1,-1,-1,-1,-1,-1,6037,6037,6037,
-1,-1,-1,-1,-1,-1,-1,65988,2359,2359,2359,
-1,-1,-1,-1,-1,-1,-1,-1,30440,2325,2325,
-1,-1,-1,-1,-1,-1,-1,-1,86055,2877,2877,
-1,-1,-1,-1,-1,-1,-1,-1,168724,4470,4470,
-1,-1,-1,-1,-1,-1,-1,-1,-1,156702,5425,
-1,-1,-1,-1,-1,-1,-1,-1,293886,102656,5430,
-1,-1,-1,-1,-1,-1,-1,-1,56460,2877,2877,
-1,-1,-1,-1,-1,-1,-1,-1,2359,2359,2359,
-1,-1,-1,-1,-1,-1,-1,-1,2325,2325,2325,
-1,-1,-1,-1,-1,-1,-1,-1,13205,2877,2877,
-1,-1,-1,-1,-1,-1,-1,-1,304678,113447,5425,
-1,-1,-1,-1,-1,-1,-1,-1,267985,76755,5840,
-1,-1,-1,-1,-1,-1,-1,-1,-1,250767,59536,
-1,-1,-1,86251,1563,1563,1563,1563,1563,1563,1563,
-1,-1,-1,-1,50703,1529,1529,1529,1529,1529,1529,
-1,-1,-1,-1,-1,2679,2679,2679,2679,2679,2679,
-1,-1,-1,-1,-1,63698,4280,4280,4280,4280,4280,
-1,-1,-1,-1,-1,254050,62819,5336,5336,5336,5336,
-1,-1,-1,-1,-1,195629,5302,5302,5302,5302,5302,
-1,-1,-1,-1,141902,2679,2679,2679,2679,2679,2679,
-1,-1,-1,-1,-1,1563,1563,1563,1563,1563,1563,
-1,-1,-1,-1,-1,1529,1529,1529,1529,1529,1529,
-1,-1,-1,-1,-1,-1,2679,2679,2679,2679,2679,
-1,-1,-1,-1,-1,-1,-1,5336,5336,5336,5336,
-1,-1,-1,-1,-1,-1,-1,5775,5775,5775,5775,
-1,-1,-1,-1,-1,-1,-1,-1,5842,5842,5842,
-1,-1,-1,-1,-1,-1,-1,86251,1563,1563,1563,
-1,-1,-1,-1,-1,-1,-1,-1,50703,1529,1529,
-1,-1,-1,-1,-1,-1,-1,-1,-1,2679,2679,
-1,-1,-1,-1,-1,-1,-1,-1,-1,63698,4280,
-1,-1,-1,-1,-1,-1,-1,-1,-1,254050,62819,
-1,-1,-1,-1,-1,-1,-1,-1,-1,195629,5302,
-1,-1,-1,-1,-1,-1,-1,-1,141902,2679,2679,
-1,-1,-1,-1,-1,-1,-1,-1,13401,1563,1563,
-1,-1,-1,-1,-1,-1,-1,-1,1529,1529,1529,
-1,-1,-1,-1,-1,-1,-1,-1,98648,2679,2679,
-1,-1,-1,-1,-1,-1,-1,-1,-1,210795,19565,
-1,-1,-1,-1,-1,-1,-1,-1,-1,176630,5775,
-1,-1,-1,-1,-1,-1,-1,-1,-1,336511,145281,
-1,-1,-1,-1,0,0,0,0,0,0,0,
-1,-1,-1,-1,-1,33,33,33,33,33,33,
-1,-1,-1,-1,-1,97202,2541,2541,2541,2541,2541,
-1,-1,-1,-1,-1,178046,4117,4117,4117,4117,4117,
-1,-1,-1,-1,-1,-1,194400,5332,5332,5332,5332,
-1,-1,-1,-1,-1,282499,91269,4887,4887,4887,4887,
-1,-1,-1,-1,-1,67607,2541,2541,2541,2541,2541,
-1,-1,-1,-1,-1,0,0,0,0,0,0,
-1,-1,-1,-1,-1,33,33,33,33,33,33,
-1,-1,-1,-1,-1,-1,2541,2541,2541,2541,2541,
-1,-1,-1,-1,-1,-1,-1,5332,5332,5332,5332,
-1,-1,-1,-1,-1,-1,-1,5448,5448,5448,5448,
-1,-1,-1,-1,-1,-1,-1,-1,5340,5340,5340,
-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,-1,33,33,
-1,-1,-1,-1,-1,-1,-1,-1,-1,97202,2541,
-1,-1,-1,-1,-1,-1,-1,-1,-1,178046,4117,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,194400,
-1,-1,-1,-1,-1,-1,-1,-1,-1,282499,91269,
-1,-1,-1,-1,-1,-1,-1,-1,-1,67607,2541,
-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,
-1,-1,-1,-1,-1,-1,-1,-1,33,33,33,
-1,-1,-1,-1,-1,-1,-1,-1,-1,24353,2541,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,151145,
-1,-1,-1,-1,-1,-1,-1,-1,-1,273057,81826,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,222523,
-1,-1,-1,-1,265,265,265,265,265,265,265,
-1,-1,-1,-1,-1,231,231,231,231,231,231,
-1,-1,-1,-1,-1,148842,2701,2701,2701,2701,2701,
-1,-1,-1,-1,-1,233792,42561,4315,4315,4315,4315,
-1,-1,-1,-1,-1,-1,250146,58915,5530,5530,5530,
-1,-1,-1,-1,-1,-1,144041,5058,5058,5058,5058,
-1,-1,-1,-1,-1,119247,2701,2701,2701,2701,2701,
-1,-1,-1,-1,-1,265,265,265,265,265,265,
-1,-1,-1,-1,-1,231,231,231,231,231,231,
-1,-1,-1,-1,-1,-1,2701,2701,2701,2701,2701,
-1,-1,-1,-1,-1,-1,-1,15661,5530,5530,5530,
-1,-1,-1,-1,-1,-1,-1,5646,5646,5646,5646,
-1,-1,-1,-1,-1,-1,-1,-1,5538,5538,5538,
-1,-1,-1,-1,-1,-1,-1,-1,265,265,265,
-1,-1,-1,-1,-1,-1,-1,-1,-1,231,231,
-1,-1,-1,-1,-1,-1,-1,-1,-1,148842,2701,
-1,-1,-1,-1,-1,-1,-1,-1,-1,233792,42561,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,250146,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,144041,
-1,-1,-1,-1,-1,-1,-1,-1,-1,119247,2701,
-1,-1,-1,-1,-1,-1,-1,-1,-1,265,265,
-1,-1,-1,-1,-1,-1,-1,-1,231,231,231,
-1,-1,-1,-1,-1,-1,-1,-1,-1,75992,2701,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,206891,
-1,-1,-1,-1,-1,-1,-1,-1,-1,328803,137572,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,278269
]);
% Phase in constraints
constraint alldifferent(piWeek);
constraint max(piWeek) - min(piWeek) = (vv - 1);
int: maxCost = 500000;
% Constant assignments
vv = 8;
ww = 11;
pip = 13;
poPorts0 = 17;
poPorts1 = 17;
poPorts2 = 17;
poPorts3 = 10;
poPorts4 = 10;
poPorts5 = 10;
poPorts6 = 15;
poPorts7 = 13;
int: objectiveMax = ub(88 * (piTimes[piPort,piWeek[1]] - poTimes0[poAct0]) + 88 * (piTimes[piPort,piWeek[2]] - poTimes1[poAct1]) + 88 * (piTimes[piPort,piWeek[3]] - poTimes2[poAct2]) + 66 * (piTimes[piPort,piWeek[4]] - poTimes3[poAct3]) + 66 * (piTimes[piPort,piWeek[5]] - poTimes4[poAct4]) + 66 * (piTimes[piPort,piWeek[6]] - poTimes5[poAct5]) + 66 * (piTimes[piPort,piWeek[7]] - poTimes6[poAct6]) + 66 * (piTimes[piPort,piWeek[8]] - poTimes7[poAct7]) + sum(directCost));
var 0..objectiveMax: objective;
constraint objective = 88 * (piTimes[piPort,piWeek[1]] - poTimes0[poAct0]) + 88 * (piTimes[piPort,piWeek[2]] - poTimes1[poAct1]) + 88 * (piTimes[piPort,piWeek[3]] - poTimes2[poAct2]) + 66 * (piTimes[piPort,piWeek[4]] - poTimes3[poAct3]) + 66 * (piTimes[piPort,piWeek[5]] - poTimes4[poAct4]) + 66 * (piTimes[piPort,piWeek[6]] - poTimes5[poAct5]) + 66 * (piTimes[piPort,piWeek[7]] - poTimes6[poAct6]) + 66 * (piTimes[piPort,piWeek[8]] - poTimes7[poAct7]) + sum(directCost);
solve
:: seq_search([
int_search(reposType, first_fail, indomain_max, complete),
int_search(
[poAct0, poAct1, poAct2, poAct3, poAct4, poAct5, poAct6, poAct7, piPort] ++ piWeek ++
directCost,
first_fail, indomain_split, complete
)
])
minimize objective;
output [
"poAct0 = ", show(poAct0), ";\n",
"poAct1 = ", show(poAct1), ";\n",
"poAct2 = ", show(poAct2), ";\n",
"poAct3 = ", show(poAct3), ";\n",
"poAct4 = ", show(poAct4), ";\n",
"poAct5 = ", show(poAct5), ";\n",
"poAct6 = ", show(poAct6), ";\n",
"poAct7 = ", show(poAct7), ";\n",
"piPort = ", show(piPort), ";\n",
"piWeek = ", show(piWeek), ";\n",
"reposType = ", show(reposType), ";\n",
"directCost = ", show(directCost), ";\n",
"objective = ", show(objective), ";\n"
];
% Hotel costs: 88.3333 88.3333 88.3333 66.6667 66.6667 66.6667 66.6667 66.6667
%output ["piWeeks: ", show(piWeek), "; piPort: ", show(piPort),"; poActs: [",show(poAct0),",",show(poAct1),",",show(poAct2),",",show(poAct3),",",show(poAct4),",",show(poAct5),",",show(poAct6),",",show(poAct7),"] reposType: ", show(reposType), "; directCost(sum): ", show(sum(directCost)), "; hotelCost: ", show(88 * (piTimes[piPort,piWeek[1]] - poTimes0[poAct0]) + 88 * (piTimes[piPort,piWeek[2]] - poTimes1[poAct1]) + 88 * (piTimes[piPort,piWeek[3]] - poTimes2[poAct2]) + 66 * (piTimes[piPort,piWeek[4]] - poTimes3[poAct3]) + 66 * (piTimes[piPort,piWeek[5]] - poTimes4[poAct4]) + 66 * (piTimes[piPort,piWeek[6]] - poTimes5[poAct5]) + 66 * (piTimes[piPort,piWeek[7]] - poTimes6[poAct6]) + 66 * (piTimes[piPort,piWeek[8]] - poTimes7[poAct7])), "; total objective: ", show(88 * (piTimes[piPort,piWeek[1]] - poTimes0[poAct0]) + 88 * (piTimes[piPort,piWeek[2]] - poTimes1[poAct1]) + 88 * (piTimes[piPort,piWeek[3]] - poTimes2[poAct2]) + 66 * (piTimes[piPort,piWeek[4]] - poTimes3[poAct3]) + 66 * (piTimes[piPort,piWeek[5]] - poTimes4[poAct4]) + 66 * (piTimes[piPort,piWeek[6]] - poTimes5[poAct5]) + 66 * (piTimes[piPort,piWeek[7]] - poTimes6[poAct6]) + 66 * (piTimes[piPort,piWeek[8]] - poTimes7[poAct7]) + sum(directCost)), "\n"] ++ [
% "objective = ", show(objective), ";\n"
%]