% LSFRP Instance Model: data/instances/fm3_0.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; 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)), % max(array1d(1..(seActSize + 1)*(poPorts2 + 1), seBfixedArr2)), % max(array1d(1..(seActSize + 1)*(poPorts3 + 1), seBfixedArr3)), % max(array1d(1..(seActSize + 1)*(poPorts4 + 1), seBfixedArr4)) %]); %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)) ]); array[VESSELS] of var 0..directCostMax: directCost; % phaseOutInfo[0][0]: PO port ves 0 CNFOC(0) at 128 % phaseOutInfo[0][1]: PO port ves 0 CNFOC(0) at 1304 % phaseOutInfo[0][2]: PO port ves 0 CNNGB(1) at 160 % phaseOutInfo[0][3]: PO port ves 0 CNNGB(1) at 1336 % phaseOutInfo[0][4]: PO port ves 0 CNYTN(2) at 218 % phaseOutInfo[0][5]: PO port ves 0 CNYTN(2) at 1394 % phaseOutInfo[0][6]: PO port ves 0 CNNSA(3) at 244 % phaseOutInfo[0][7]: PO port ves 0 CNNSA(3) at 1420 % phaseOutInfo[0][8]: PO port ves 0 MYTPP(4) at 394 % phaseOutInfo[0][9]: PO port ves 0 MYTPP(4) at 1570 % phaseOutInfo[0][10]: PO port ves 0 ZACPT(5) at 762 % phaseOutInfo[0][11]: PO port ves 0 CGPNR(6) at 937 % phaseOutInfo[0][12]: PO port ves 0 NGTIN(7) at 1088 % phaseOutInfo[0][13]: PO port ves 0 NGONN(8) at 1160 % phaseOutInfo[0][14]: PO port ves 0 CMDLA(9) at 1213 % phaseOutInfo[0][15]: PO port ves 0 ZACPT(5) at 1416 % phaseOutInfo[0][16]: PO port ves 0 MYTPP(4) at 1807 array[POPORTS0] of int: poTimes0 = array1d(POPORTS0, [128,1304,160,1336,218,1394,244,1420,394,1570,762,937,1088,1160,1213,1416,1807]); constraint directCost[1] = directCostArr0[poAct0, piPort, piWeek[1]]; constraint directCost[1] >= 0; % phaseOutInfo[1][0]: PO port ves 1 CNFOC(0) at 296 % phaseOutInfo[1][1]: PO port ves 1 CNFOC(0) at 1472 % phaseOutInfo[1][2]: PO port ves 1 CNNGB(1) at 328 % phaseOutInfo[1][3]: PO port ves 1 CNNGB(1) at 1504 % phaseOutInfo[1][4]: PO port ves 1 CNYTN(2) at 386 % phaseOutInfo[1][5]: PO port ves 1 CNYTN(2) at 1562 % phaseOutInfo[1][6]: PO port ves 1 CNNSA(3) at 412 % phaseOutInfo[1][7]: PO port ves 1 CNNSA(3) at 1588 % phaseOutInfo[1][8]: PO port ves 1 MYTPP(4) at 562 % phaseOutInfo[1][9]: PO port ves 1 MYTPP(4) at 1738 % phaseOutInfo[1][10]: PO port ves 1 ZACPT(5) at 930 % phaseOutInfo[1][11]: PO port ves 1 CGPNR(6) at 1105 % phaseOutInfo[1][12]: PO port ves 1 NGTIN(7) at 1256 % phaseOutInfo[1][13]: PO port ves 1 NGONN(8) at 1328 % phaseOutInfo[1][14]: PO port ves 1 CMDLA(9) at 1381 % phaseOutInfo[1][15]: PO port ves 1 ZACPT(5) at 1584 array[POPORTS1] of int: poTimes1 = array1d(POPORTS1, [296,1472,328,1504,386,1562,412,1588,562,1738,930,1105,1256,1328,1381,1584]); constraint directCost[2] = directCostArr1[poAct1, piPort, piWeek[2]]; constraint directCost[2] >= 0; % phaseOutInfo[2][0]: PO port ves 2 EGSUZ(11) at 41 % phaseOutInfo[2][1]: PO port ves 2 EGSUZ(11) at 1553 % phaseOutInfo[2][2]: PO port ves 2 TRZMK(16) at 132 % phaseOutInfo[2][3]: PO port ves 2 TRZMK(16) at 1644 % phaseOutInfo[2][4]: PO port ves 2 TRAMB(17) at 194 % phaseOutInfo[2][5]: PO port ves 2 TRAMB(17) at 1706 % phaseOutInfo[2][6]: PO port ves 2 TRUSK(18) at 221 % phaseOutInfo[2][7]: PO port ves 2 TRUSK(18) at 1733 % phaseOutInfo[2][8]: PO port ves 2 ROCND(19) at 283 % phaseOutInfo[2][9]: PO port ves 2 ROCND(19) at 1795 % phaseOutInfo[2][10]: PO port ves 2 UAILK(20) at 344 % phaseOutInfo[2][11]: PO port ves 2 UAODS(21) at 421 % phaseOutInfo[2][12]: PO port ves 2 TRUSK(18) at 464 % phaseOutInfo[2][13]: PO port ves 2 EGDAM(22) at 552 % phaseOutInfo[2][14]: PO port ves 2 EGPSD(23) at 579 % phaseOutInfo[2][15]: PO port ves 2 EGSUZ(11) at 593 % phaseOutInfo[2][16]: PO port ves 2 MYPKG(24) at 967 % phaseOutInfo[2][17]: PO port ves 2 MYTPP(4) at 1001 % phaseOutInfo[2][18]: PO port ves 2 CNDLC(25) at 1216 % phaseOutInfo[2][19]: PO port ves 2 CNXGG(26) at 1257 % phaseOutInfo[2][20]: PO port ves 2 KRPUS(27) at 1316 % phaseOutInfo[2][21]: PO port ves 2 CNSHA(10) at 1351 % phaseOutInfo[2][22]: PO port ves 2 CNNGB(1) at 1377 % phaseOutInfo[2][23]: PO port ves 2 TWTPE(28) at 1420 % phaseOutInfo[2][24]: PO port ves 2 CNCWN(29) at 1457 % phaseOutInfo[2][25]: PO port ves 2 CNYTN(2) at 1473 % phaseOutInfo[2][26]: PO port ves 2 MYTPP(4) at 1567 % phaseOutInfo[2][27]: PO port ves 2 MYPKG(24) at 1596 array[POPORTS2] of int: poTimes2 = array1d(POPORTS2, [41,1553,132,1644,194,1706,221,1733,283,1795,344,421,464,552,579,593,967,1001,1216,1257,1316,1351,1377,1420,1457,1473,1567,1596]); constraint directCost[3] = directCostArr2[poAct2, piPort, piWeek[3]]; constraint directCost[3] >= 0; % phaseOutInfo[3][0]: PO port ves 3 EGSUZ(11) at 209 % phaseOutInfo[3][1]: PO port ves 3 EGSUZ(11) at 1721 % phaseOutInfo[3][2]: PO port ves 3 TRZMK(16) at 300 % phaseOutInfo[3][3]: PO port ves 3 TRZMK(16) at 1812 % phaseOutInfo[3][4]: PO port ves 3 TRAMB(17) at 362 % phaseOutInfo[3][5]: PO port ves 3 TRUSK(18) at 389 % phaseOutInfo[3][6]: PO port ves 3 ROCND(19) at 451 % phaseOutInfo[3][7]: PO port ves 3 UAILK(20) at 512 % phaseOutInfo[3][8]: PO port ves 3 UAODS(21) at 589 % phaseOutInfo[3][9]: PO port ves 3 TRUSK(18) at 632 % phaseOutInfo[3][10]: PO port ves 3 EGDAM(22) at 720 % phaseOutInfo[3][11]: PO port ves 3 EGPSD(23) at 747 % phaseOutInfo[3][12]: PO port ves 3 EGSUZ(11) at 761 % phaseOutInfo[3][13]: PO port ves 3 MYPKG(24) at 1135 % phaseOutInfo[3][14]: PO port ves 3 MYTPP(4) at 1169 % phaseOutInfo[3][15]: PO port ves 3 CNDLC(25) at 1384 % phaseOutInfo[3][16]: PO port ves 3 CNXGG(26) at 1425 % phaseOutInfo[3][17]: PO port ves 3 KRPUS(27) at 1484 % phaseOutInfo[3][18]: PO port ves 3 CNSHA(10) at 1519 % phaseOutInfo[3][19]: PO port ves 3 CNNGB(1) at 1545 % phaseOutInfo[3][20]: PO port ves 3 TWTPE(28) at 1588 % phaseOutInfo[3][21]: PO port ves 3 CNCWN(29) at 1625 % phaseOutInfo[3][22]: PO port ves 3 CNYTN(2) at 1641 % phaseOutInfo[3][23]: PO port ves 3 MYTPP(4) at 1735 % phaseOutInfo[3][24]: PO port ves 3 MYPKG(24) at 1764 array[POPORTS3] of int: poTimes3 = array1d(POPORTS3, [209,1721,300,1812,362,389,451,512,589,632,720,747,761,1135,1169,1384,1425,1484,1519,1545,1588,1625,1641,1735,1764]); constraint directCost[4] = directCostArr3[poAct3, piPort, piWeek[4]]; constraint directCost[4] >= 0; % phaseOutInfo[4][0]: PO port ves 4 PABLB(30) at 179 % phaseOutInfo[4][1]: PO port ves 4 PABLB(30) at 1355 % phaseOutInfo[4][2]: PO port ves 4 COBUN(31) at 270 % phaseOutInfo[4][3]: PO port ves 4 COBUN(31) at 1446 array[POPORTS4] of int: poTimes4 = array1d(POPORTS4, [179,1355,270,1446]); constraint directCost[5] = directCostArr4[poAct4, piPort, piWeek[5]]; constraint directCost[5] >= 0; % phaseOutInfo[5][0]: PO port ves 5 PABLB(30) at 347 % phaseOutInfo[5][1]: PO port ves 5 PABLB(30) at 1523 % phaseOutInfo[5][2]: PO port ves 5 COBUN(31) at 438 array[POPORTS5] of int: poTimes5 = array1d(POPORTS5, [347,1523,438]); constraint directCost[6] = directCostArr5[poAct5, piPort, piWeek[6]]; constraint directCost[6] >= 0; array[PIPORTS,WEEKS] of int: piTimes = array2d(PIPORTS, WEEKS, [ 152,320,488,656,824,992,1160,1328,1496,1664,1832, 0,198,366,534,702,870,1038,1206,1374,1542,1710, 0,273,441,609,777,945,1113,1281,1449,1617,1785, 0,318,486,654,822,990,1158,1326,1494,1662,1830, 0,0,413,581,749,917,1085,1253,1421,1589,1757, 0,0,0,0,697,865,1033,1201,1369,1537,1705, 0,0,0,0,800,968,1136,1304,1472,1640,1808, 0,0,0,0,0,840,1008,1176,1344,1512,1680, 0,0,0,0,0,912,1080,1248,1416,1584,1752, 0,0,0,0,0,949,1117,1285,1453,1621,1789, 0,0,0,0,0,0,1147,1315,1483,1651,1819, 0,0,0,0,0,0,0,0,1471,1639,1807, 0,0,0,0,0,0,0,0,0,1580,1748 ]); % phaseInInfo[port][week] % phaseInInfo[1][1]: PI port CNSHA(10) at 152 % phaseInInfo[1][2]: PI port CNSHA(10) at 320 % phaseInInfo[1][3]: PI port CNSHA(10) at 488 % phaseInInfo[1][4]: PI port CNSHA(10) at 656 % phaseInInfo[1][5]: PI port CNSHA(10) at 824 % phaseInInfo[1][6]: PI port CNSHA(10) at 992 % phaseInInfo[1][7]: PI port CNSHA(10) at 1160 % phaseInInfo[1][8]: PI port CNSHA(10) at 1328 % phaseInInfo[1][9]: PI port CNSHA(10) at 1496 % phaseInInfo[1][10]: PI port CNSHA(10) at 1664 % phaseInInfo[1][11]: PI port CNSHA(10) at 1832 % phaseInInfo[2][2]: PI port CNNGB(1) at 198 % phaseInInfo[2][3]: PI port CNNGB(1) at 366 % phaseInInfo[2][4]: PI port CNNGB(1) at 534 % phaseInInfo[2][5]: PI port CNNGB(1) at 702 % phaseInInfo[2][6]: PI port CNNGB(1) at 870 % phaseInInfo[2][7]: PI port CNNGB(1) at 1038 % phaseInInfo[2][8]: PI port CNNGB(1) at 1206 % phaseInInfo[2][9]: PI port CNNGB(1) at 1374 % phaseInInfo[2][10]: PI port CNNGB(1) at 1542 % phaseInInfo[2][11]: PI port CNNGB(1) at 1710 % phaseInInfo[3][2]: PI port CNNSA(3) at 273 % phaseInInfo[3][3]: PI port CNNSA(3) at 441 % phaseInInfo[3][4]: PI port CNNSA(3) at 609 % phaseInInfo[3][5]: PI port CNNSA(3) at 777 % phaseInInfo[3][6]: PI port CNNSA(3) at 945 % phaseInInfo[3][7]: PI port CNNSA(3) at 1113 % phaseInInfo[3][8]: PI port CNNSA(3) at 1281 % phaseInInfo[3][9]: PI port CNNSA(3) at 1449 % phaseInInfo[3][10]: PI port CNNSA(3) at 1617 % phaseInInfo[3][11]: PI port CNNSA(3) at 1785 % phaseInInfo[4][2]: PI port CNYTN(2) at 318 % phaseInInfo[4][3]: PI port CNYTN(2) at 486 % phaseInInfo[4][4]: PI port CNYTN(2) at 654 % phaseInInfo[4][5]: PI port CNYTN(2) at 822 % phaseInInfo[4][6]: PI port CNYTN(2) at 990 % phaseInInfo[4][7]: PI port CNYTN(2) at 1158 % phaseInInfo[4][8]: PI port CNYTN(2) at 1326 % phaseInInfo[4][9]: PI port CNYTN(2) at 1494 % phaseInInfo[4][10]: PI port CNYTN(2) at 1662 % phaseInInfo[4][11]: PI port CNYTN(2) at 1830 % phaseInInfo[5][3]: PI port MYTPP(4) at 413 % phaseInInfo[5][4]: PI port MYTPP(4) at 581 % phaseInInfo[5][5]: PI port MYTPP(4) at 749 % phaseInInfo[5][6]: PI port MYTPP(4) at 917 % phaseInInfo[5][7]: PI port MYTPP(4) at 1085 % phaseInInfo[5][8]: PI port MYTPP(4) at 1253 % phaseInInfo[5][9]: PI port MYTPP(4) at 1421 % phaseInInfo[5][10]: PI port MYTPP(4) at 1589 % phaseInInfo[5][11]: PI port MYTPP(4) at 1757 % phaseInInfo[6][5]: PI port EGSUZ(11) at 697 % phaseInInfo[6][6]: PI port EGSUZ(11) at 865 % phaseInInfo[6][7]: PI port EGSUZ(11) at 1033 % phaseInInfo[6][8]: PI port EGSUZ(11) at 1201 % phaseInInfo[6][9]: PI port EGSUZ(11) at 1369 % phaseInInfo[6][10]: PI port EGSUZ(11) at 1537 % phaseInInfo[6][11]: PI port EGSUZ(11) at 1705 % phaseInInfo[7][5]: PI port ESVLC(12) at 800 % phaseInInfo[7][6]: PI port ESVLC(12) at 968 % phaseInInfo[7][7]: PI port ESVLC(12) at 1136 % phaseInInfo[7][8]: PI port ESVLC(12) at 1304 % phaseInInfo[7][9]: PI port ESVLC(12) at 1472 % phaseInInfo[7][10]: PI port ESVLC(12) at 1640 % phaseInInfo[7][11]: PI port ESVLC(12) at 1808 % phaseInInfo[8][6]: PI port ESBCN(13) at 840 % phaseInInfo[8][7]: PI port ESBCN(13) at 1008 % phaseInInfo[8][8]: PI port ESBCN(13) at 1176 % phaseInInfo[8][9]: PI port ESBCN(13) at 1344 % phaseInInfo[8][10]: PI port ESBCN(13) at 1512 % phaseInInfo[8][11]: PI port ESBCN(13) at 1680 % phaseInInfo[9][6]: PI port ESALG(14) at 912 % phaseInInfo[9][7]: PI port ESALG(14) at 1080 % phaseInInfo[9][8]: PI port ESALG(14) at 1248 % phaseInInfo[9][9]: PI port ESALG(14) at 1416 % phaseInInfo[9][10]: PI port ESALG(14) at 1584 % phaseInInfo[9][11]: PI port ESALG(14) at 1752 % phaseInInfo[10][6]: PI port MAPTM(15) at 949 % phaseInInfo[10][7]: PI port MAPTM(15) at 1117 % phaseInInfo[10][8]: PI port MAPTM(15) at 1285 % phaseInInfo[10][9]: PI port MAPTM(15) at 1453 % phaseInInfo[10][10]: PI port MAPTM(15) at 1621 % phaseInInfo[10][11]: PI port MAPTM(15) at 1789 % phaseInInfo[11][7]: PI port EGSUZ(11) at 1147 % phaseInInfo[11][8]: PI port EGSUZ(11) at 1315 % phaseInInfo[11][9]: PI port EGSUZ(11) at 1483 % phaseInInfo[11][10]: PI port EGSUZ(11) at 1651 % phaseInInfo[11][11]: PI port EGSUZ(11) at 1819 % phaseInInfo[12][9]: PI port MYTPP(4) at 1471 % phaseInInfo[12][10]: PI port MYTPP(4) at 1639 % phaseInInfo[12][11]: PI port MYTPP(4) at 1807 % phaseInInfo[13][10]: PI port CNYTN(2) at 1580 % phaseInInfo[13][11]: PI port CNYTN(2) at 1748 array[POPORTS0,PIPORTS,WEEKS] of int: directCostArr0; directCostArr0 = array3d(POPORTS0,PIPORTS,WEEKS,[ 23229,463,463,463,463,463,463,463,463,463,463, -1,271,271,271,271,271,271,271,271,271,271, -1,391,391,391,391,391,391,391,391,391,391, -1,488,488,488,488,488,488,488,488,488,488, -1,-1,1948,1948,1948,1948,1948,1948,1948,1948,1948, -1,-1,-1,-1,4713,4713,4713,4713,4713,4713,4713, -1,-1,-1,-1,211799,20568,8958,8958,8958,8958,8958, -1,-1,-1,-1,-1,157192,8875,8875,8875,8875,8875, -1,-1,-1,-1,-1,112802,9219,9219,9219,9219,9219, -1,-1,-1,-1,-1,73558,9246,9246,9246,9246,9246, -1,-1,-1,-1,-1,-1,4713,4713,4713,4713,4713, -1,-1,-1,-1,-1,-1,-1,-1,1948,1948,1948, -1,-1,-1,-1,-1,-1,-1,-1,-1,488,488, -1,-1,-1,-1,-1,-1,-1,23229,463,463,463, -1,-1,-1,-1,-1,-1,-1,-1,271,271,271, -1,-1,-1,-1,-1,-1,-1,-1,391,391,391, -1,-1,-1,-1,-1,-1,-1,28262,488,488,488, -1,-1,-1,-1,-1,-1,-1,-1,79237,1948,1948, -1,-1,-1,-1,-1,-1,-1,-1,-1,248658,57428, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,403029, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,495263, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,456019, -1,-1,-1,-1,-1,-1,-1,-1,-1,118895,4713, -1,-1,-1,-1,-1,-1,-1,-1,22323,1948,1948, -1,-1,-1,-1,-1,-1,-1,-1,-1,488,488, -1,85,85,85,85,85,85,85,85,85,85, -1,0,0,0,0,0,0,0,0,0,0, -1,638,638,638,638,638,638,638,638,638,638, -1,619,619,619,619,619,619,619,619,619,619, -1,-1,2102,2102,2102,2102,2102,2102,2102,2102,2102, -1,-1,-1,-1,4714,4714,4714,4714,4714,4714,4714, -1,-1,-1,-1,5835,5835,5835,5835,5835,5835,5835, -1,-1,-1,-1,-1,5662,5662,5662,5662,5662,5662, -1,-1,-1,-1,-1,6165,6165,6165,6165,6165,6165, -1,-1,-1,-1,-1,6177,6177,6177,6177,6177,6177, -1,-1,-1,-1,-1,-1,4714,4714,4714,4714,4714, -1,-1,-1,-1,-1,-1,-1,-1,2102,2102,2102, -1,-1,-1,-1,-1,-1,-1,-1,-1,619,619, -1,-1,-1,-1,-1,-1,-1,-1,85,85,85, -1,-1,-1,-1,-1,-1,-1,-1,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,638,638,638, -1,-1,-1,-1,-1,-1,-1,-1,619,619,619, -1,-1,-1,-1,-1,-1,-1,-1,-1,2102,2102, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,93968, -1,-1,-1,-1,-1,-1,-1,-1,-1,290176,98945, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,225836, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,198654, -1,-1,-1,-1,-1,-1,-1,-1,-1,349090,157860, -1,-1,-1,-1,-1,-1,-1,-1,-1,155435,4714, -1,-1,-1,-1,-1,-1,-1,-1,75519,2102,2102, -1,-1,-1,-1,-1,-1,-1,-1,-1,619,619, -1,873,873,873,873,873,873,873,873,873,873, -1,-1,619,619,619,619,619,619,619,619,619, -1,42,42,42,42,42,42,42,42,42,42, -1,0,0,0,0,0,0,0,0,0,0, -1,-1,1563,1563,1563,1563,1563,1563,1563,1563,1563, -1,-1,-1,-1,4556,4556,4556,4556,4556,4556,4556, -1,-1,-1,-1,272312,81082,8573,8573,8573,8573,8573, -1,-1,-1,-1,-1,217705,26475,8490,8490,8490,8490, -1,-1,-1,-1,-1,173316,8835,8835,8835,8835,8835, -1,-1,-1,-1,-1,134071,8861,8861,8861,8861,8861, -1,-1,-1,-1,-1,-1,4556,4556,4556,4556,4556, -1,-1,-1,-1,-1,-1,-1,-1,1563,1563,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,873,873,873, -1,-1,-1,-1,-1,-1,-1,-1,-1,619,619, -1,-1,-1,-1,-1,-1,-1,-1,42,42,42, -1,-1,-1,-1,-1,-1,-1,-1,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,1563,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,142748, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,463542, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,516532, -1,-1,-1,-1,-1,-1,-1,-1,-1,204215,12984, -1,-1,-1,-1,-1,-1,-1,-1,82836,1563,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,695,695,695,695,695,695,695,695,695,695, -1,-1,638,638,638,638,638,638,638,638,638, -1,0,0,0,0,0,0,0,0,0,0, -1,42,42,42,42,42,42,42,42,42,42, -1,-1,1485,1485,1485,1485,1485,1485,1485,1485,1485, -1,-1,-1,-1,4514,4514,4514,4514,4514,4514,4514, -1,-1,-1,-1,5855,5855,5855,5855,5855,5855,5855, -1,-1,-1,-1,-1,5687,5687,5687,5687,5687,5687, -1,-1,-1,-1,-1,6185,6185,6185,6185,6185,6185, -1,-1,-1,-1,-1,6195,6195,6195,6195,6195,6195, -1,-1,-1,-1,-1,-1,4514,4514,4514,4514,4514, -1,-1,-1,-1,-1,-1,-1,-1,1485,1485,1485, -1,-1,-1,-1,-1,-1,-1,-1,-1,42,42, -1,-1,-1,-1,-1,-1,-1,-1,695,695,695, -1,-1,-1,-1,-1,-1,-1,-1,-1,638,638, -1,-1,-1,-1,-1,-1,-1,-1,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,42,42,42, -1,-1,-1,-1,-1,-1,-1,-1,-1,1485,1485, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,167843, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,196816, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,324158, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,296447, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,255452, -1,-1,-1,-1,-1,-1,-1,-1,-1,229310,38080, -1,-1,-1,-1,-1,-1,-1,-1,-1,1485,1485, -1,-1,-1,-1,-1,-1,-1,-1,-1,42,42, -1,-1,-1,2359,2359,2359,2359,2359,2359,2359,2359, -1,-1,-1,69828,2102,2102,2102,2102,2102,2102,2102, -1,-1,-1,1485,1485,1485,1485,1485,1485,1485,1485, -1,-1,65762,1563,1563,1563,1563,1563,1563,1563,1563, -1,-1,0,0,0,0,0,0,0,0,0, -1,-1,-1,-1,160959,4639,4639,4639,4639,4639,4639, -1,-1,-1,-1,309517,118287,7077,7077,7077,7077,7077, -1,-1,-1,-1,-1,254910,63680,6994,6994,6994,6994, -1,-1,-1,-1,-1,210521,19290,7338,7338,7338,7338, -1,-1,-1,-1,-1,171277,7365,7365,7365,7365,7365, -1,-1,-1,-1,-1,-1,4639,4639,4639,4639,4639, -1,-1,-1,-1,-1,-1,-1,-1,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,1563,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2359, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,69828, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1485, -1,-1,-1,-1,-1,-1,-1,-1,-1,65762,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,222426, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1563, -1,-1,-1,-1,-1,-1,425233,234003,42772,8055,8055, -1,-1,-1,-1,-1,-1,-1,296944,105713,7358,7358, -1,-1,-1,-1,-1,-1,336123,144893,6747,6747,6747, -1,-1,-1,-1,-1,-1,344451,153220,7293,7293,7293, -1,-1,-1,-1,-1,-1,279922,88692,5939,5939,5939, -1,-1,-1,-1,-1,-1,149921,4204,4204,4204,4204, -1,-1,-1,-1,-1,-1,198779,7549,5727,5727,5727, -1,-1,-1,-1,-1,-1,-1,168183,5864,5864,5864, -1,-1,-1,-1,-1,-1,221395,30165,5350,5350,5350, -1,-1,-1,-1,-1,-1,172845,5291,5291,5291,5291, -1,-1,-1,-1,-1,-1,20157,4204,4204,4204,4204, -1,-1,-1,-1,-1,-1,-1,-1,5939,5939,5939, -1,-1,-1,-1,-1,-1,-1,-1,-1,7293,7293, -1,-1,-1,-1,-1,-1,-1,-1,451514,260284,69053, -1,-1,-1,-1,-1,-1,-1,-1,212546,21316,6511, -1,-1,-1,-1,-1,-1,-1,275208,83978,6115,6115, -1,-1,-1,-1,-1,-1,-1,-1,370732,179501,9215, -1,-1,-1,-1,-1,-1,-1,-1,306203,114973,7861, -1,-1,-1,-1,-1,-1,122021,2121,2121,2121,2121, -1,-1,-1,-1,-1,-1,228757,37527,4175,4175,4175, -1,-1,-1,-1,-1,-1,-1,198161,6930,4312,4312, -1,-1,-1,-1,-1,-1,-1,62555,3820,3820,3820, -1,-1,-1,-1,-1,-1,202824,11593,3739,3739,3739, -1,-1,-1,-1,-1,-1,2121,2121,2121,2121,2121, -1,-1,-1,-1,-1,-1,-1,-1,249289,58059,7861, -1,-1,-1,-1,-1,-1,-1,-1,-1,272840,81609, -1,-1,-1,-1,-1,-1,-1,-1,295210,103979,6967, -1,-1,-1,-1,-1,-1,-1,-1,-1,246681,55450, -1,-1,-1,-1,-1,-1,-1,-1,320068,128837,6704, -1,-1,-1,-1,-1,-1,-1,-1,273436,82205,6746, -1,-1,-1,-1,-1,-1,-1,-1,311533,120303,6333, -1,-1,-1,-1,-1,-1,-1,124868,2325,2325,2325, -1,-1,-1,-1,-1,-1,-1,2103,2103,2103,2103, -1,-1,-1,-1,-1,-1,-1,-1,2214,2214,2214, -1,-1,-1,-1,-1,-1,-1,30334,1948,1948,1948, -1,-1,-1,-1,-1,-1,-1,1934,1934,1934,1934, -1,-1,-1,-1,-1,-1,-1,2325,2325,2325,2325, -1,-1,-1,-1,-1,-1,-1,-1,254619,63389,6333, -1,-1,-1,-1,-1,-1,-1,-1,-1,175544,6746, -1,-1,-1,-1,-1,-1,-1,-1,363050,171820,6837, -1,-1,-1,-1,-1,-1,-1,-1,-1,313952,122722, -1,-1,-1,-1,-1,-1,-1,-1,383612,192381,6535, -1,-1,-1,-1,-1,-1,-1,-1,336967,145737,6577, -1,-1,-1,-1,-1,-1,-1,-1,-1,176739,6099, -1,-1,-1,-1,-1,-1,-1,-1,7324,2249,2249, -1,-1,-1,-1,-1,-1,-1,80703,2243,2243,2243, -1,-1,-1,-1,-1,-1,-1,-1,45688,2340,2340, -1,-1,-1,-1,-1,-1,-1,-1,2120,2120,2120, -1,-1,-1,-1,-1,-1,-1,87517,2107,2107,2107, -1,-1,-1,-1,-1,-1,-1,68791,2249,2249,2249, -1,-1,-1,-1,-1,-1,-1,-1,311056,119825,6099, -1,-1,-1,-1,-1,-1,-1,-1,-1,239075,47845, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,443645, -1,-1,-1,-1,-1,-1,-1,-1,-1,361762,170532, -1,-1,-1,-1,-1,-1,-1,-1,-1,237883,46652, -1,-1,-1,-1,-1,-1,-1,-1,-1,554093,362863, -1,-1,-1,-1,-1,-1,-1,-1,-1,489565,298334, -1,-1,-1,-1,-1,-1,-1,-1,61308,2190,2190, -1,-1,-1,-1,-1,-1,-1,-1,135531,3947,3947, -1,-1,-1,-1,-1,-1,-1,-1,-1,104935,4084, -1,-1,-1,-1,-1,-1,-1,-1,160560,3592,3592, -1,-1,-1,-1,-1,-1,-1,-1,109598,3510,3510, -1,-1,-1,-1,-1,-1,-1,122775,2190,2190,2190, -1,-1,-1,-1,-1,-1,-1,-1,-1,432651,241420, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,456201, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,404744, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,315634, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,323962, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,259433, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,129432, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,178290, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,338924, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,200906, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,152356, -1,-1,-1,-1,-1,-1,-1,-1,-1,190899,4204, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,202519, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,417300, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-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,-1 ]); array[POPORTS1,PIPORTS,WEEKS] of int: directCostArr1; directCostArr1 = array3d(POPORTS1,PIPORTS,WEEKS,[ -1,23229,463,463,463,463,463,463,463,463,463, -1,-1,271,271,271,271,271,271,271,271,271, -1,-1,391,391,391,391,391,391,391,391,391, -1,28262,488,488,488,488,488,488,488,488,488, -1,-1,79237,1948,1948,1948,1948,1948,1948,1948,1948, -1,-1,-1,-1,57428,4713,4713,4713,4713,4713,4713, -1,-1,-1,-1,403029,211799,20568,8958,8958,8958,8958, -1,-1,-1,-1,-1,348423,157192,8875,8875,8875,8875, -1,-1,-1,-1,-1,304033,112802,9219,9219,9219,9219, -1,-1,-1,-1,-1,264789,73558,9246,9246,9246,9246, -1,-1,-1,-1,-1,-1,4713,4713,4713,4713,4713, -1,-1,-1,-1,-1,-1,-1,-1,1948,1948,1948, -1,-1,-1,-1,-1,-1,-1,-1,-1,488,488, -1,-1,-1,-1,-1,-1,-1,-1,23229,463,463, -1,-1,-1,-1,-1,-1,-1,-1,-1,271,271, -1,-1,-1,-1,-1,-1,-1,-1,-1,391,391, -1,-1,-1,-1,-1,-1,-1,-1,28262,488,488, -1,-1,-1,-1,-1,-1,-1,-1,-1,79237,1948, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,248658, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,118895, -1,-1,-1,-1,-1,-1,-1,-1,-1,22323,1948, -1,-1,-1,-1,-1,-1,-1,-1,-1,488,488, -1,-1,85,85,85,85,85,85,85,85,85, -1,-1,0,0,0,0,0,0,0,0,0, -1,-1,638,638,638,638,638,638,638,638,638, -1,-1,619,619,619,619,619,619,619,619,619, -1,-1,-1,2102,2102,2102,2102,2102,2102,2102,2102, -1,-1,-1,-1,93968,4714,4714,4714,4714,4714,4714, -1,-1,-1,-1,98945,5835,5835,5835,5835,5835,5835, -1,-1,-1,-1,-1,34605,5662,5662,5662,5662,5662, -1,-1,-1,-1,-1,7424,6165,6165,6165,6165,6165, -1,-1,-1,-1,-1,6177,6177,6177,6177,6177,6177, -1,-1,-1,-1,-1,-1,4714,4714,4714,4714,4714, -1,-1,-1,-1,-1,-1,-1,-1,2102,2102,2102, -1,-1,-1,-1,-1,-1,-1,-1,-1,619,619, -1,-1,-1,-1,-1,-1,-1,-1,-1,85,85, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,638,638, -1,-1,-1,-1,-1,-1,-1,-1,-1,619,619, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2102, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,290176, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,349090, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,155435, -1,-1,-1,-1,-1,-1,-1,-1,-1,75519,2102, -1,-1,-1,-1,-1,-1,-1,-1,-1,619,619, -1,-1,873,873,873,873,873,873,873,873,873, -1,-1,-1,619,619,619,619,619,619,619,619, -1,-1,42,42,42,42,42,42,42,42,42, -1,-1,0,0,0,0,0,0,0,0,0, -1,-1,-1,1563,1563,1563,1563,1563,1563,1563,1563, -1,-1,-1,-1,142748,4556,4556,4556,4556,4556,4556, -1,-1,-1,-1,463542,272312,81082,8573,8573,8573,8573, -1,-1,-1,-1,-1,408936,217705,26475,8490,8490,8490, -1,-1,-1,-1,-1,364546,173316,8835,8835,8835,8835, -1,-1,-1,-1,-1,325302,134071,8861,8861,8861,8861, -1,-1,-1,-1,-1,-1,4556,4556,4556,4556,4556, -1,-1,-1,-1,-1,-1,-1,-1,1563,1563,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,873,873, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,619, -1,-1,-1,-1,-1,-1,-1,-1,-1,42,42, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,204215, -1,-1,-1,-1,-1,-1,-1,-1,-1,82836,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,695,695,695,695,695,695,695,695,695, -1,-1,-1,638,638,638,638,638,638,638,638, -1,-1,0,0,0,0,0,0,0,0,0, -1,-1,42,42,42,42,42,42,42,42,42, -1,-1,-1,1485,1485,1485,1485,1485,1485,1485,1485, -1,-1,-1,-1,167843,4514,4514,4514,4514,4514,4514, -1,-1,-1,-1,196816,5855,5855,5855,5855,5855,5855, -1,-1,-1,-1,-1,132927,5687,5687,5687,5687,5687, -1,-1,-1,-1,-1,105217,6185,6185,6185,6185,6185, -1,-1,-1,-1,-1,64222,6195,6195,6195,6195,6195, -1,-1,-1,-1,-1,-1,4514,4514,4514,4514,4514, -1,-1,-1,-1,-1,-1,-1,-1,1485,1485,1485, -1,-1,-1,-1,-1,-1,-1,-1,-1,42,42, -1,-1,-1,-1,-1,-1,-1,-1,-1,695,695, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,638, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,42,42, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1485, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,229310, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1485, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,42, -1,-1,-1,-1,2359,2359,2359,2359,2359,2359,2359, -1,-1,-1,-1,69828,2102,2102,2102,2102,2102,2102, -1,-1,-1,-1,1485,1485,1485,1485,1485,1485,1485, -1,-1,-1,65762,1563,1563,1563,1563,1563,1563,1563, -1,-1,-1,0,0,0,0,0,0,0,0, -1,-1,-1,-1,-1,160959,4639,4639,4639,4639,4639, -1,-1,-1,-1,-1,309517,118287,7077,7077,7077,7077, -1,-1,-1,-1,-1,-1,254910,63680,6994,6994,6994, -1,-1,-1,-1,-1,401751,210521,19290,7338,7338,7338, -1,-1,-1,-1,-1,362507,171277,7365,7365,7365,7365, -1,-1,-1,-1,-1,-1,4639,4639,4639,4639,4639, -1,-1,-1,-1,-1,-1,-1,-1,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,1563,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,65762, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-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,-1, -1,-1,-1,-1,-1,-1,-1,425233,234003,42772,8055, -1,-1,-1,-1,-1,-1,-1,-1,296944,105713,7358, -1,-1,-1,-1,-1,-1,-1,336123,144893,6747,6747, -1,-1,-1,-1,-1,-1,-1,344451,153220,7293,7293, -1,-1,-1,-1,-1,-1,-1,279922,88692,5939,5939, -1,-1,-1,-1,-1,-1,-1,149921,4204,4204,4204, -1,-1,-1,-1,-1,-1,-1,198779,7549,5727,5727, -1,-1,-1,-1,-1,-1,-1,-1,168183,5864,5864, -1,-1,-1,-1,-1,-1,-1,221395,30165,5350,5350, -1,-1,-1,-1,-1,-1,-1,172845,5291,5291,5291, -1,-1,-1,-1,-1,-1,211388,20157,4204,4204,4204, -1,-1,-1,-1,-1,-1,-1,-1,31778,5939,5939, -1,-1,-1,-1,-1,-1,-1,-1,-1,55328,7293, -1,-1,-1,-1,-1,-1,-1,-1,-1,451514,260284, -1,-1,-1,-1,-1,-1,-1,-1,-1,212546,21316, -1,-1,-1,-1,-1,-1,-1,-1,275208,83978,6115, -1,-1,-1,-1,-1,-1,-1,-1,-1,370732,179501, -1,-1,-1,-1,-1,-1,-1,-1,-1,306203,114973, -1,-1,-1,-1,-1,-1,-1,122021,2121,2121,2121, -1,-1,-1,-1,-1,-1,-1,228757,37527,4175,4175, -1,-1,-1,-1,-1,-1,-1,-1,198161,6930,4312, -1,-1,-1,-1,-1,-1,-1,-1,62555,3820,3820, -1,-1,-1,-1,-1,-1,-1,202824,11593,3739,3739, -1,-1,-1,-1,-1,-1,-1,2121,2121,2121,2121, -1,-1,-1,-1,-1,-1,-1,-1,440520,249289,58059, -1,-1,-1,-1,-1,-1,-1,-1,-1,464070,272840, -1,-1,-1,-1,-1,-1,-1,-1,-1,295210,103979, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,246681, -1,-1,-1,-1,-1,-1,-1,-1,-1,320068,128837, -1,-1,-1,-1,-1,-1,-1,-1,-1,273436,82205, -1,-1,-1,-1,-1,-1,-1,-1,-1,311533,120303, -1,-1,-1,-1,-1,-1,-1,-1,124868,2325,2325, -1,-1,-1,-1,-1,-1,-1,-1,2103,2103,2103, -1,-1,-1,-1,-1,-1,-1,-1,-1,2214,2214, -1,-1,-1,-1,-1,-1,-1,-1,30334,1948,1948, -1,-1,-1,-1,-1,-1,-1,-1,1934,1934,1934, -1,-1,-1,-1,-1,-1,-1,-1,2325,2325,2325, -1,-1,-1,-1,-1,-1,-1,-1,-1,254619,63389, -1,-1,-1,-1,-1,-1,-1,-1,-1,366774,175544, -1,-1,-1,-1,-1,-1,-1,-1,-1,363050,171820, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,313952, -1,-1,-1,-1,-1,-1,-1,-1,-1,383612,192381, -1,-1,-1,-1,-1,-1,-1,-1,-1,336967,145737, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,176739, -1,-1,-1,-1,-1,-1,-1,-1,-1,7324,2249, -1,-1,-1,-1,-1,-1,-1,-1,80703,2243,2243, -1,-1,-1,-1,-1,-1,-1,-1,-1,45688,2340, -1,-1,-1,-1,-1,-1,-1,-1,-1,2120,2120, -1,-1,-1,-1,-1,-1,-1,-1,87517,2107,2107, -1,-1,-1,-1,-1,-1,-1,-1,68791,2249,2249, -1,-1,-1,-1,-1,-1,-1,-1,-1,311056,119825, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,239075, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,361762, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,237883, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,554093, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,489565, -1,-1,-1,-1,-1,-1,-1,-1,-1,61308,2190, -1,-1,-1,-1,-1,-1,-1,-1,-1,135531,3947, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,104935, -1,-1,-1,-1,-1,-1,-1,-1,-1,160560,3592, -1,-1,-1,-1,-1,-1,-1,-1,-1,109598,3510, -1,-1,-1,-1,-1,-1,-1,-1,122775,2190,2190, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,432651, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,190899, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 ]); array[POPORTS2,PIPORTS,WEEKS] of int: directCostArr2; directCostArr2 = array3d(POPORTS2,PIPORTS,WEEKS,[ -1,191683,4670,4670,4670,4670,4670,4670,4670,4670,4670, -1,-1,144052,4714,4714,4714,4714,4714,4714,4714,4714, -1,228172,36941,4514,4514,4514,4514,4514,4514,4514,4514, -1,181449,4556,4556,4556,4556,4556,4556,4556,4556,4556, -1,-1,82418,4639,4639,4639,4639,4639,4639,4639,4639, -1,-1,-1,-1,0,0,0,0,0,0,0, -1,-1,-1,-1,1761,1761,1761,1761,1761,1761,1761, -1,-1,-1,-1,-1,1661,1661,1661,1661,1661,1661, -1,-1,-1,-1,-1,2006,2006,2006,2006,2006,2006, -1,-1,-1,-1,-1,2008,2008,2008,2008,2008,2008, -1,-1,-1,-1,-1,-1,0,0,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,4639,4639,4639, -1,-1,-1,-1,-1,-1,-1,-1,-1,4556,4556, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,191683, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,228172, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,181449, -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,92987,1761, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,36573, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2006, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2008, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,216734, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,87985,4523,4523,4523,4523,4523,4523,4523,4523, -1,-1,232913,41682,4579,4579,4579,4579,4579,4579,4579, -1,-1,137967,4491,4491,4491,4491,4491,4491,4491,4491, -1,-1,91004,4530,4530,4530,4530,4530,4530,4530,4530, -1,-1,211585,20354,4874,4874,4874,4874,4874,4874,4874, -1,-1,-1,-1,626,626,626,626,626,626,626, -1,-1,-1,-1,1449,1449,1449,1449,1449,1449,1449, -1,-1,-1,-1,-1,1307,1307,1307,1307,1307,1307, -1,-1,-1,-1,-1,1754,1754,1754,1754,1754,1754, -1,-1,-1,-1,-1,1761,1761,1761,1761,1761,1761, -1,-1,-1,-1,-1,-1,626,626,626,626,626, -1,-1,-1,-1,-1,-1,-1,-1,4874,4874,4874, -1,-1,-1,-1,-1,-1,-1,-1,-1,4530,4530, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,626, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1449, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,68370, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,27021, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,626, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,395119,203889,12659,8447,8447,8447,8447,8447, -1,-1,-1,116111,4614,4614,4614,4614,4614,4614,4614, -1,-1,212908,21678,4531,4531,4531,4531,4531,4531,4531, -1,-1,-1,310661,119430,7651,7651,7651,7651,7651,7651, -1,-1,-1,230623,39393,6155,6155,6155,6155,6155,6155, -1,-1,-1,-1,649,649,649,649,649,649,649, -1,-1,-1,-1,1614,1614,1614,1614,1614,1614,1614, -1,-1,-1,-1,-1,1526,1526,1526,1526,1526,1526, -1,-1,-1,-1,-1,1908,1908,1908,1908,1908,1908, -1,-1,-1,-1,-1,1924,1924,1924,1924,1924,1924, -1,-1,-1,-1,-1,-1,649,649,649,649,649, -1,-1,-1,-1,-1,-1,-1,-1,6155,6155,6155, -1,-1,-1,-1,-1,-1,-1,-1,-1,7651,7651, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,59893, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,649, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,191711,4545,4545,4545,4545,4545,4545,4545,4545, -1,-1,-1,145460,4601,4601,4601,4601,4601,4601,4601, -1,-1,242204,50973,4518,4518,4518,4518,4518,4518,4518, -1,-1,195231,4557,4557,4557,4557,4557,4557,4557,4557, -1,-1,-1,125247,4907,4907,4907,4907,4907,4907,4907, -1,-1,-1,-1,647,647,647,647,647,647,647, -1,-1,-1,-1,1417,1417,1417,1417,1417,1417,1417, -1,-1,-1,-1,-1,1273,1273,1273,1273,1273,1273, -1,-1,-1,-1,-1,1723,1723,1723,1723,1723,1723, -1,-1,-1,-1,-1,1730,1730,1730,1730,1730,1730, -1,-1,-1,-1,-1,-1,647,647,647,647,647, -1,-1,-1,-1,-1,-1,-1,-1,4907,4907,4907, -1,-1,-1,-1,-1,-1,-1,-1,-1,4557,4557, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,69177, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,647, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,254621,63391,4475,4475,4475,4475,4475,4475,4475, -1,-1,-1,208745,17515,4535,4535,4535,4535,4535,4535, -1,-1,-1,118175,4487,4487,4487,4487,4487,4487,4487, -1,-1,262325,71095,4525,4525,4525,4525,4525,4525,4525, -1,-1,-1,201303,10072,4957,4957,4957,4957,4957,4957, -1,-1,-1,-1,845,845,845,845,845,845,845, -1,-1,-1,-1,1393,1393,1393,1393,1393,1393,1393, -1,-1,-1,-1,-1,1236,1236,1236,1236,1236,1236, -1,-1,-1,-1,-1,1713,1713,1713,1713,1713,1713, -1,-1,-1,-1,-1,1721,1721,1721,1721,1721,1721, -1,-1,-1,-1,-1,-1,845,845,845,845,845, -1,-1,-1,-1,-1,-1,-1,-1,4957,4957,4957, -1,-1,-1,-1,-1,-1,-1,-1,-1,4525,4525, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,117863,4338,4338,4338,4338,4338,4338,4338, -1,-1,-1,-1,72155,4399,4399,4399,4399,4399,4399, -1,-1,-1,174856,4370,4370,4370,4370,4370,4370,4370, -1,-1,-1,127709,4407,4407,4407,4407,4407,4407,4407, -1,-1,-1,263775,72545,4893,4893,4893,4893,4893,4893, -1,-1,-1,-1,963,963,963,963,963,963,963, -1,-1,-1,-1,1492,1492,1492,1492,1492,1492,1492, -1,-1,-1,-1,-1,1329,1329,1329,1329,1329,1329, -1,-1,-1,-1,-1,1818,1818,1818,1818,1818,1818, -1,-1,-1,-1,-1,1827,1827,1827,1827,1827,1827, -1,-1,-1,-1,-1,-1,963,963,963,963,963, -1,-1,-1,-1,-1,-1,-1,-1,4893,4893,4893, -1,-1,-1,-1,-1,-1,-1,-1,-1,4407,4407, -1,-1,-1,-1,502256,311026,119796,8814,8814,8814,8814, -1,-1,-1,-1,159129,4393,4393,4393,4393,4393,4393, -1,-1,-1,-1,70775,4365,4365,4365,4365,4365,4365, -1,-1,-1,-1,417798,226567,35337,8018,8018,8018,8018, -1,-1,-1,-1,337760,146530,6522,6522,6522,6522,6522, -1,-1,-1,-1,972,972,972,972,972,972,972, -1,-1,-1,-1,1987,1987,1987,1987,1987,1987,1987, -1,-1,-1,-1,-1,1830,1830,1830,1830,1830,1830, -1,-1,-1,-1,-1,2273,2273,2273,2273,2273,2273, -1,-1,-1,-1,-1,2286,2286,2286,2286,2286,2286, -1,-1,-1,-1,-1,-1,972,972,972,972,972, -1,-1,-1,-1,-1,-1,-1,-1,6522,6522,6522, -1,-1,-1,-1,-1,-1,-1,-1,-1,8018,8018, -1,-1,-1,-1,85851,4545,4545,4545,4545,4545,4545, -1,-1,-1,-1,230831,39600,4601,4601,4601,4601,4601, -1,-1,-1,-1,136344,4518,4518,4518,4518,4518,4518, -1,-1,-1,-1,89372,4557,4557,4557,4557,4557,4557, -1,-1,-1,-1,210618,19387,4907,4907,4907,4907,4907, -1,-1,-1,-1,647,647,647,647,647,647,647, -1,-1,-1,-1,1417,1417,1417,1417,1417,1417,1417, -1,-1,-1,-1,-1,1273,1273,1273,1273,1273,1273, -1,-1,-1,-1,-1,1723,1723,1723,1723,1723,1723, -1,-1,-1,-1,-1,1730,1730,1730,1730,1730,1730, -1,-1,-1,-1,-1,-1,647,647,647,647,647, -1,-1,-1,-1,-1,-1,-1,-1,4907,4907,4907, -1,-1,-1,-1,-1,-1,-1,-1,-1,4557,4557, -1,-1,-1,-1,-1,327797,136566,7600,7600,7600,7600, -1,-1,-1,-1,-1,154289,4735,4735,4735,4735,4735, -1,-1,-1,-1,238908,47678,4540,4540,4540,4540,4540, -1,-1,-1,-1,-1,243338,52108,6804,6804,6804,6804, -1,-1,-1,-1,-1,163301,5308,5308,5308,5308,5308, -1,-1,-1,-1,35,35,35,35,35,35,35, -1,-1,-1,-1,1769,1769,1769,1769,1769,1769,1769, -1,-1,-1,-1,-1,1685,1685,1685,1685,1685,1685, -1,-1,-1,-1,-1,2030,2030,2030,2030,2030,2030, -1,-1,-1,-1,-1,2056,2056,2056,2056,2056,2056, -1,-1,-1,-1,-1,-1,35,35,35,35,35, -1,-1,-1,-1,-1,-1,-1,-1,5308,5308,5308, -1,-1,-1,-1,-1,-1,-1,-1,-1,6804,6804, -1,-1,-1,-1,-1,356233,165002,7579,7579,7579,7579, -1,-1,-1,-1,-1,182624,4713,4713,4713,4713,4713, -1,-1,-1,-1,-1,75592,4514,4514,4514,4514,4514, -1,-1,-1,-1,-1,271774,80543,6783,6783,6783,6783, -1,-1,-1,-1,-1,191737,5287,5287,5287,5287,5287, -1,-1,-1,-1,4,4,4,4,4,4,4, -1,-1,-1,-1,1790,1790,1790,1790,1790,1790,1790, -1,-1,-1,-1,-1,1706,1706,1706,1706,1706,1706, -1,-1,-1,-1,-1,2051,2051,2051,2051,2051,2051, -1,-1,-1,-1,-1,2077,2077,2077,2077,2077,2077, -1,-1,-1,-1,-1,-1,4,4,4,4,4, -1,-1,-1,-1,-1,-1,-1,-1,5287,5287,5287, -1,-1,-1,-1,-1,-1,-1,-1,-1,6783,6783, -1,-1,-1,-1,246320,55090,4670,4670,4670,4670,4670, -1,-1,-1,-1,-1,198690,7459,4714,4714,4714,4714, -1,-1,-1,-1,-1,91579,4514,4514,4514,4514,4514, -1,-1,-1,-1,236086,44856,4556,4556,4556,4556,4556, -1,-1,-1,-1,-1,137055,4639,4639,4639,4639,4639, -1,-1,-1,-1,0,0,0,0,0,0,0, -1,-1,-1,-1,1761,1761,1761,1761,1761,1761,1761, -1,-1,-1,-1,-1,1661,1661,1661,1661,1661,1661, -1,-1,-1,-1,-1,2006,2006,2006,2006,2006,2006, -1,-1,-1,-1,-1,2008,2008,2008,2008,2008,2008, -1,-1,-1,-1,-1,-1,0,0,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,4639,4639,4639, -1,-1,-1,-1,-1,-1,-1,-1,-1,4556,4556, -1,-1,-1,-1,-1,-1,59129,2557,2557,2557,2557, -1,-1,-1,-1,-1,-1,-1,2083,2083,2083,2083, -1,-1,-1,-1,-1,-1,1453,1453,1453,1453,1453, -1,-1,-1,-1,-1,-1,1761,1761,1761,1761,1761, -1,-1,-1,-1,-1,-1,265,265,265,265,265, -1,-1,-1,-1,-1,-1,-1,220943,29712,4469,4469, -1,-1,-1,-1,-1,-1,-1,363933,172703,6856,6856, -1,-1,-1,-1,-1,-1,-1,-1,309326,118096,6773, -1,-1,-1,-1,-1,-1,-1,-1,264937,73706,7117, -1,-1,-1,-1,-1,-1,-1,416923,225693,34462,7143, -1,-1,-1,-1,-1,-1,-1,91179,4469,4469,4469, -1,-1,-1,-1,-1,-1,-1,-1,265,265,265, -1,-1,-1,-1,-1,-1,-1,-1,-1,1761,1761, -1,-1,-1,-1,-1,-1,76233,2359,2359,2359,2359, -1,-1,-1,-1,-1,-1,-1,2102,2102,2102,2102, -1,-1,-1,-1,-1,-1,34452,1485,1485,1485,1485, -1,-1,-1,-1,-1,-1,1563,1563,1563,1563,1563, -1,-1,-1,-1,-1,-1,0,0,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,86971,4639,4639, -1,-1,-1,-1,-1,-1,-1,-1,235529,44299,7077, -1,-1,-1,-1,-1,-1,-1,-1,372153,180922,6994, -1,-1,-1,-1,-1,-1,-1,-1,327763,136533,7338, -1,-1,-1,-1,-1,-1,-1,-1,288519,97289,7365, -1,-1,-1,-1,-1,-1,-1,148438,4639,4639,4639, -1,-1,-1,-1,-1,-1,-1,-1,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,1563,1563, -1,-1,-1,-1,-1,-1,-1,590,590,590,590, -1,-1,-1,-1,-1,-1,-1,-1,573,573,573, -1,-1,-1,-1,-1,-1,-1,47314,1112,1112,1112, -1,-1,-1,-1,-1,-1,-1,24479,1372,1372,1372, -1,-1,-1,-1,-1,-1,-1,-1,70399,2785,2785, -1,-1,-1,-1,-1,-1,-1,-1,-1,121603,4466, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,394192, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,530815, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,486426, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,447181, -1,-1,-1,-1,-1,-1,-1,-1,183070,4466,4466, -1,-1,-1,-1,-1,-1,-1,-1,13485,2785,2785, -1,-1,-1,-1,-1,-1,-1,-1,-1,1372,1372, -1,-1,-1,-1,-1,-1,-1,506,506,506,506, -1,-1,-1,-1,-1,-1,-1,-1,588,588,588, -1,-1,-1,-1,-1,-1,-1,-1,1023,1023,1023, -1,-1,-1,-1,-1,-1,-1,33482,1027,1027,1027, -1,-1,-1,-1,-1,-1,-1,-1,84664,2488,2488, -1,-1,-1,-1,-1,-1,-1,-1,-1,149151,4291, -1,-1,-1,-1,-1,-1,-1,-1,-1,140508,5287, -1,-1,-1,-1,-1,-1,-1,-1,-1,267376,76146, -1,-1,-1,-1,-1,-1,-1,-1,-1,239996,48766, -1,-1,-1,-1,-1,-1,-1,-1,-1,199258,8028, -1,-1,-1,-1,-1,-1,-1,-1,210618,19388,4291, -1,-1,-1,-1,-1,-1,-1,-1,27750,2488,2488, -1,-1,-1,-1,-1,-1,-1,-1,-1,1027,1027, -1,-1,-1,-1,-1,-1,-1,-1,517,517,517, -1,-1,-1,-1,-1,-1,-1,-1,519,519,519, -1,-1,-1,-1,-1,-1,-1,-1,1157,1157,1157, -1,-1,-1,-1,-1,-1,-1,-1,1210,1210,1210, -1,-1,-1,-1,-1,-1,-1,-1,-1,2670,2670, -1,-1,-1,-1,-1,-1,-1,-1,-1,283727,92497, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,495382, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,548372, -1,-1,-1,-1,-1,-1,-1,-1,-1,153964,4909, -1,-1,-1,-1,-1,-1,-1,-1,114676,2670,2670, -1,-1,-1,-1,-1,-1,-1,-1,-1,1210,1210, -1,-1,-1,-1,-1,-1,-1,-1,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,85,85,85, -1,-1,-1,-1,-1,-1,-1,-1,695,695,695, -1,-1,-1,-1,-1,-1,-1,-1,873,873,873, -1,-1,-1,-1,-1,-1,-1,-1,-1,2359,2359, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,106312, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,501332, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,554322, -1,-1,-1,-1,-1,-1,-1,-1,-1,167779,4670, -1,-1,-1,-1,-1,-1,-1,-1,120626,2359,2359, -1,-1,-1,-1,-1,-1,-1,-1,-1,873,873, -1,-1,-1,-1,-1,-1,-1,-1,85,85,85, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,638,638,638, -1,-1,-1,-1,-1,-1,-1,-1,619,619,619, -1,-1,-1,-1,-1,-1,-1,-1,-1,2102,2102, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,140638, -1,-1,-1,-1,-1,-1,-1,-1,-1,336845,145615, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,272505, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,245324, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,204529, -1,-1,-1,-1,-1,-1,-1,-1,-1,202104,10874, -1,-1,-1,-1,-1,-1,-1,-1,122189,2102,2102, -1,-1,-1,-1,-1,-1,-1,-1,-1,619,619, -1,-1,-1,-1,-1,-1,-1,-1,392,392,392, -1,-1,-1,-1,-1,-1,-1,-1,-1,307,307, -1,-1,-1,-1,-1,-1,-1,-1,19108,478,478, -1,-1,-1,-1,-1,-1,-1,-1,443,443,443, -1,-1,-1,-1,-1,-1,-1,-1,-1,9511,1851, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,204742, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,219437, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,319244, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,278389, -1,-1,-1,-1,-1,-1,-1,-1,-1,266209,74978, -1,-1,-1,-1,-1,-1,-1,-1,-1,1851,1851, -1,-1,-1,-1,-1,-1,-1,-1,-1,443,443, -1,-1,-1,-1,-1,-1,-1,-1,31723,698,698, -1,-1,-1,-1,-1,-1,-1,-1,-1,638,638, -1,-1,-1,-1,-1,-1,-1,-1,-1,25,25, -1,-1,-1,-1,-1,-1,-1,-1,22,22,22, -1,-1,-1,-1,-1,-1,-1,-1,-1,10929,1478, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,212594, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,241663, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,341295, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,300301, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,82830, -1,-1,-1,-1,-1,-1,-1,-1,-1,1478,1478, -1,-1,-1,-1,-1,-1,-1,-1,-1,22,22, -1,-1,-1,-1,-1,-1,-1,-1,-1,873,873, -1,-1,-1,-1,-1,-1,-1,-1,-1,619,619, -1,-1,-1,-1,-1,-1,-1,-1,-1,42,42, -1,-1,-1,-1,-1,-1,-1,-1,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,38443,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,232672, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,102908, -1,-1,-1,-1,-1,-1,-1,-1,-1,1563,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2359, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,66413, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1485, -1,-1,-1,-1,-1,-1,-1,-1,-1,62347,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,219011, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10183, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,97444, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1453, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1761, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,265, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,233464, -1,-1,-1,-1,-1,-1,-1,-1,-1,265,265, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,19063 ]); array[POPORTS3,PIPORTS,WEEKS] of int: directCostArr3; directCostArr3 = array3d(POPORTS3,PIPORTS,WEEKS,[ -1,-1,191683,4670,4670,4670,4670,4670,4670,4670,4670, -1,-1,-1,144052,4714,4714,4714,4714,4714,4714,4714, -1,-1,228172,36941,4514,4514,4514,4514,4514,4514,4514, -1,-1,181449,4556,4556,4556,4556,4556,4556,4556,4556, -1,-1,-1,82418,4639,4639,4639,4639,4639,4639,4639, -1,-1,-1,-1,0,0,0,0,0,0,0, -1,-1,-1,-1,1761,1761,1761,1761,1761,1761,1761, -1,-1,-1,-1,-1,1661,1661,1661,1661,1661,1661, -1,-1,-1,-1,-1,2006,2006,2006,2006,2006,2006, -1,-1,-1,-1,-1,2008,2008,2008,2008,2008,2008, -1,-1,-1,-1,-1,-1,0,0,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,4639,4639,4639, -1,-1,-1,-1,-1,-1,-1,-1,-1,4556,4556, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,92987, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-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,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,87985,4523,4523,4523,4523,4523,4523,4523, -1,-1,-1,232913,41682,4579,4579,4579,4579,4579,4579, -1,-1,-1,137967,4491,4491,4491,4491,4491,4491,4491, -1,-1,-1,91004,4530,4530,4530,4530,4530,4530,4530, -1,-1,-1,211585,20354,4874,4874,4874,4874,4874,4874, -1,-1,-1,-1,626,626,626,626,626,626,626, -1,-1,-1,-1,1449,1449,1449,1449,1449,1449,1449, -1,-1,-1,-1,-1,1307,1307,1307,1307,1307,1307, -1,-1,-1,-1,-1,1754,1754,1754,1754,1754,1754, -1,-1,-1,-1,-1,1761,1761,1761,1761,1761,1761, -1,-1,-1,-1,-1,-1,626,626,626,626,626, -1,-1,-1,-1,-1,-1,-1,-1,4874,4874,4874, -1,-1,-1,-1,-1,-1,-1,-1,-1,4530,4530, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,395119,203889,12659,8447,8447,8447,8447, -1,-1,-1,-1,116111,4614,4614,4614,4614,4614,4614, -1,-1,-1,212908,21678,4531,4531,4531,4531,4531,4531, -1,-1,-1,-1,310661,119430,7651,7651,7651,7651,7651, -1,-1,-1,-1,230623,39393,6155,6155,6155,6155,6155, -1,-1,-1,-1,649,649,649,649,649,649,649, -1,-1,-1,-1,1614,1614,1614,1614,1614,1614,1614, -1,-1,-1,-1,-1,1526,1526,1526,1526,1526,1526, -1,-1,-1,-1,-1,1908,1908,1908,1908,1908,1908, -1,-1,-1,-1,-1,1924,1924,1924,1924,1924,1924, -1,-1,-1,-1,-1,-1,649,649,649,649,649, -1,-1,-1,-1,-1,-1,-1,-1,6155,6155,6155, -1,-1,-1,-1,-1,-1,-1,-1,-1,7651,7651, -1,-1,-1,191711,4545,4545,4545,4545,4545,4545,4545, -1,-1,-1,-1,145460,4601,4601,4601,4601,4601,4601, -1,-1,-1,242204,50973,4518,4518,4518,4518,4518,4518, -1,-1,-1,195231,4557,4557,4557,4557,4557,4557,4557, -1,-1,-1,-1,125247,4907,4907,4907,4907,4907,4907, -1,-1,-1,-1,647,647,647,647,647,647,647, -1,-1,-1,-1,1417,1417,1417,1417,1417,1417,1417, -1,-1,-1,-1,-1,1273,1273,1273,1273,1273,1273, -1,-1,-1,-1,-1,1723,1723,1723,1723,1723,1723, -1,-1,-1,-1,-1,1730,1730,1730,1730,1730,1730, -1,-1,-1,-1,-1,-1,647,647,647,647,647, -1,-1,-1,-1,-1,-1,-1,-1,4907,4907,4907, -1,-1,-1,-1,-1,-1,-1,-1,-1,4557,4557, -1,-1,-1,254621,63391,4475,4475,4475,4475,4475,4475, -1,-1,-1,-1,208745,17515,4535,4535,4535,4535,4535, -1,-1,-1,-1,118175,4487,4487,4487,4487,4487,4487, -1,-1,-1,262325,71095,4525,4525,4525,4525,4525,4525, -1,-1,-1,-1,201303,10072,4957,4957,4957,4957,4957, -1,-1,-1,-1,845,845,845,845,845,845,845, -1,-1,-1,-1,1393,1393,1393,1393,1393,1393,1393, -1,-1,-1,-1,-1,1236,1236,1236,1236,1236,1236, -1,-1,-1,-1,-1,1713,1713,1713,1713,1713,1713, -1,-1,-1,-1,-1,1721,1721,1721,1721,1721,1721, -1,-1,-1,-1,-1,-1,845,845,845,845,845, -1,-1,-1,-1,-1,-1,-1,-1,4957,4957,4957, -1,-1,-1,-1,-1,-1,-1,-1,-1,4525,4525, -1,-1,-1,-1,117863,4338,4338,4338,4338,4338,4338, -1,-1,-1,-1,-1,72155,4399,4399,4399,4399,4399, -1,-1,-1,-1,174856,4370,4370,4370,4370,4370,4370, -1,-1,-1,-1,127709,4407,4407,4407,4407,4407,4407, -1,-1,-1,-1,263775,72545,4893,4893,4893,4893,4893, -1,-1,-1,-1,963,963,963,963,963,963,963, -1,-1,-1,-1,1492,1492,1492,1492,1492,1492,1492, -1,-1,-1,-1,-1,1329,1329,1329,1329,1329,1329, -1,-1,-1,-1,-1,1818,1818,1818,1818,1818,1818, -1,-1,-1,-1,-1,1827,1827,1827,1827,1827,1827, -1,-1,-1,-1,-1,-1,963,963,963,963,963, -1,-1,-1,-1,-1,-1,-1,-1,4893,4893,4893, -1,-1,-1,-1,-1,-1,-1,-1,-1,4407,4407, -1,-1,-1,-1,-1,502256,311026,119796,8814,8814,8814, -1,-1,-1,-1,-1,159129,4393,4393,4393,4393,4393, -1,-1,-1,-1,-1,70775,4365,4365,4365,4365,4365, -1,-1,-1,-1,-1,417798,226567,35337,8018,8018,8018, -1,-1,-1,-1,-1,337760,146530,6522,6522,6522,6522, -1,-1,-1,-1,972,972,972,972,972,972,972, -1,-1,-1,-1,1987,1987,1987,1987,1987,1987,1987, -1,-1,-1,-1,-1,1830,1830,1830,1830,1830,1830, -1,-1,-1,-1,-1,2273,2273,2273,2273,2273,2273, -1,-1,-1,-1,-1,2286,2286,2286,2286,2286,2286, -1,-1,-1,-1,-1,-1,972,972,972,972,972, -1,-1,-1,-1,-1,-1,-1,-1,6522,6522,6522, -1,-1,-1,-1,-1,-1,-1,-1,-1,8018,8018, -1,-1,-1,-1,-1,85851,4545,4545,4545,4545,4545, -1,-1,-1,-1,-1,230831,39600,4601,4601,4601,4601, -1,-1,-1,-1,-1,136344,4518,4518,4518,4518,4518, -1,-1,-1,-1,-1,89372,4557,4557,4557,4557,4557, -1,-1,-1,-1,-1,210618,19387,4907,4907,4907,4907, -1,-1,-1,-1,647,647,647,647,647,647,647, -1,-1,-1,-1,1417,1417,1417,1417,1417,1417,1417, -1,-1,-1,-1,-1,1273,1273,1273,1273,1273,1273, -1,-1,-1,-1,-1,1723,1723,1723,1723,1723,1723, -1,-1,-1,-1,-1,1730,1730,1730,1730,1730,1730, -1,-1,-1,-1,-1,-1,647,647,647,647,647, -1,-1,-1,-1,-1,-1,-1,-1,4907,4907,4907, -1,-1,-1,-1,-1,-1,-1,-1,-1,4557,4557, -1,-1,-1,-1,-1,-1,327797,136566,7600,7600,7600, -1,-1,-1,-1,-1,-1,154289,4735,4735,4735,4735, -1,-1,-1,-1,-1,238908,47678,4540,4540,4540,4540, -1,-1,-1,-1,-1,-1,243338,52108,6804,6804,6804, -1,-1,-1,-1,-1,-1,163301,5308,5308,5308,5308, -1,-1,-1,-1,-1,35,35,35,35,35,35, -1,-1,-1,-1,101823,1769,1769,1769,1769,1769,1769, -1,-1,-1,-1,-1,47216,1685,1685,1685,1685,1685, -1,-1,-1,-1,-1,2827,2030,2030,2030,2030,2030, -1,-1,-1,-1,-1,2056,2056,2056,2056,2056,2056, -1,-1,-1,-1,-1,-1,35,35,35,35,35, -1,-1,-1,-1,-1,-1,-1,-1,5308,5308,5308, -1,-1,-1,-1,-1,-1,-1,-1,-1,6804,6804, -1,-1,-1,-1,-1,-1,356233,165002,7579,7579,7579, -1,-1,-1,-1,-1,-1,182624,4713,4713,4713,4713, -1,-1,-1,-1,-1,-1,75592,4514,4514,4514,4514, -1,-1,-1,-1,-1,-1,271774,80543,6783,6783,6783, -1,-1,-1,-1,-1,-1,191737,5287,5287,5287,5287, -1,-1,-1,-1,-1,4,4,4,4,4,4, -1,-1,-1,-1,-1,1790,1790,1790,1790,1790,1790, -1,-1,-1,-1,-1,80248,1706,1706,1706,1706,1706, -1,-1,-1,-1,-1,35858,2051,2051,2051,2051,2051, -1,-1,-1,-1,-1,2077,2077,2077,2077,2077,2077, -1,-1,-1,-1,-1,-1,4,4,4,4,4, -1,-1,-1,-1,-1,-1,-1,-1,5287,5287,5287, -1,-1,-1,-1,-1,-1,-1,-1,-1,6783,6783, -1,-1,-1,-1,-1,246320,55090,4670,4670,4670,4670, -1,-1,-1,-1,-1,-1,198690,7459,4714,4714,4714, -1,-1,-1,-1,-1,-1,91579,4514,4514,4514,4514, -1,-1,-1,-1,-1,236086,44856,4556,4556,4556,4556, -1,-1,-1,-1,-1,-1,137055,4639,4639,4639,4639, -1,-1,-1,-1,-1,0,0,0,0,0,0, -1,-1,-1,-1,-1,1761,1761,1761,1761,1761,1761, -1,-1,-1,-1,-1,91210,1661,1661,1661,1661,1661, -1,-1,-1,-1,-1,46854,2006,2006,2006,2006,2006, -1,-1,-1,-1,-1,4998,2008,2008,2008,2008,2008, -1,-1,-1,-1,-1,-1,0,0,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,4639,4639,4639, -1,-1,-1,-1,-1,-1,-1,-1,-1,4556,4556, -1,-1,-1,-1,-1,-1,-1,59129,2557,2557,2557, -1,-1,-1,-1,-1,-1,-1,-1,2083,2083,2083, -1,-1,-1,-1,-1,-1,-1,1453,1453,1453,1453, -1,-1,-1,-1,-1,-1,-1,1761,1761,1761,1761, -1,-1,-1,-1,-1,-1,-1,265,265,265,265, -1,-1,-1,-1,-1,-1,-1,-1,220943,29712,4469, -1,-1,-1,-1,-1,-1,-1,-1,363933,172703,6856, -1,-1,-1,-1,-1,-1,-1,-1,-1,309326,118096, -1,-1,-1,-1,-1,-1,-1,-1,-1,264937,73706, -1,-1,-1,-1,-1,-1,-1,-1,416923,225693,34462, -1,-1,-1,-1,-1,-1,-1,-1,91179,4469,4469, -1,-1,-1,-1,-1,-1,-1,-1,265,265,265, -1,-1,-1,-1,-1,-1,-1,-1,-1,1761,1761, -1,-1,-1,-1,-1,-1,-1,76233,2359,2359,2359, -1,-1,-1,-1,-1,-1,-1,-1,2102,2102,2102, -1,-1,-1,-1,-1,-1,-1,34452,1485,1485,1485, -1,-1,-1,-1,-1,-1,-1,1563,1563,1563,1563, -1,-1,-1,-1,-1,-1,-1,0,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,86971,4639, -1,-1,-1,-1,-1,-1,-1,-1,-1,235529,44299, -1,-1,-1,-1,-1,-1,-1,-1,-1,372153,180922, -1,-1,-1,-1,-1,-1,-1,-1,-1,327763,136533, -1,-1,-1,-1,-1,-1,-1,-1,-1,288519,97289, -1,-1,-1,-1,-1,-1,-1,-1,148438,4639,4639, -1,-1,-1,-1,-1,-1,-1,-1,0,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,1563,1563, -1,-1,-1,-1,-1,-1,-1,-1,590,590,590, -1,-1,-1,-1,-1,-1,-1,-1,-1,573,573, -1,-1,-1,-1,-1,-1,-1,-1,47314,1112,1112, -1,-1,-1,-1,-1,-1,-1,-1,24479,1372,1372, -1,-1,-1,-1,-1,-1,-1,-1,-1,70399,2785, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,121603, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,183070,4466, -1,-1,-1,-1,-1,-1,-1,-1,-1,13485,2785, -1,-1,-1,-1,-1,-1,-1,-1,-1,1372,1372, -1,-1,-1,-1,-1,-1,-1,-1,506,506,506, -1,-1,-1,-1,-1,-1,-1,-1,-1,588,588, -1,-1,-1,-1,-1,-1,-1,-1,-1,1023,1023, -1,-1,-1,-1,-1,-1,-1,-1,33482,1027,1027, -1,-1,-1,-1,-1,-1,-1,-1,-1,84664,2488, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,149151, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,140508, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,267376, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,239996, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,199258, -1,-1,-1,-1,-1,-1,-1,-1,-1,210618,19388, -1,-1,-1,-1,-1,-1,-1,-1,-1,27750,2488, -1,-1,-1,-1,-1,-1,-1,-1,-1,1027,1027, -1,-1,-1,-1,-1,-1,-1,-1,-1,517,517, -1,-1,-1,-1,-1,-1,-1,-1,-1,519,519, -1,-1,-1,-1,-1,-1,-1,-1,-1,1157,1157, -1,-1,-1,-1,-1,-1,-1,-1,-1,1210,1210, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2670, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,283727, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,153964, -1,-1,-1,-1,-1,-1,-1,-1,-1,114676,2670, -1,-1,-1,-1,-1,-1,-1,-1,-1,22724,1210, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,85,85, -1,-1,-1,-1,-1,-1,-1,-1,-1,695,695, -1,-1,-1,-1,-1,-1,-1,-1,-1,873,873, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2359, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,167779, -1,-1,-1,-1,-1,-1,-1,-1,-1,120626,2359, -1,-1,-1,-1,-1,-1,-1,-1,-1,25801,873, -1,-1,-1,-1,-1,-1,-1,-1,-1,85,85, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,638,638, -1,-1,-1,-1,-1,-1,-1,-1,-1,619,619, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,2102, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,336845, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,202104, -1,-1,-1,-1,-1,-1,-1,-1,-1,122189,2102, -1,-1,-1,-1,-1,-1,-1,-1,-1,27713,619, -1,-1,-1,-1,-1,-1,-1,-1,-1,392,392, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,307, -1,-1,-1,-1,-1,-1,-1,-1,-1,19108,478, -1,-1,-1,-1,-1,-1,-1,-1,-1,443,443, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9511, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,266209, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1851, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,443, -1,-1,-1,-1,-1,-1,-1,-1,-1,31723,698, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,638, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,25, -1,-1,-1,-1,-1,-1,-1,-1,-1,22,22, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10929, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1478, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,22, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,873, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,619, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,42, -1,-1,-1,-1,-1,-1,-1,-1,-1,0,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,38443, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1563, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62347, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-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,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,265, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 ]); array[POPORTS4,PIPORTS,WEEKS] of int: directCostArr4; directCostArr4 = array3d(POPORTS4,PIPORTS,WEEKS,[ -1,-1,-1,443068,251838,60607,9043,9043,9043,9043,9043, -1,-1,-1,-1,345148,153918,8625,8625,8625,8625,8625, -1,-1,-1,517266,326036,134806,9233,9233,9233,9233,9233, -1,-1,-1,516226,324996,133766,9693,9693,9693,9693,9693, -1,-1,-1,-1,555942,364712,173482,11049,11049,11049,11049, -1,-1,-1,-1,125864,6562,6562,6562,6562,6562,6562, -1,-1,-1,-1,513629,322399,131168,11194,11194,11194,11194, -1,-1,-1,-1,-1,483147,291917,100687,11332,11332,11332, -1,-1,-1,-1,-1,342717,151487,10796,10796,10796,10796, -1,-1,-1,-1,-1,298303,107073,10774,10774,10774,10774, -1,-1,-1,-1,-1,-1,6562,6562,6562,6562,6562, -1,-1,-1,-1,-1,-1,-1,-1,11049,11049,11049, -1,-1,-1,-1,-1,-1,-1,-1,-1,9693,9693, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,443068, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,517266, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,516226, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,317094, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,378561,187331, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,377593,186362,9247,9247,9247,9247,9247, -1,-1,-1,-1,487603,296372,105142,8982,8982,8982,8982, -1,-1,-1,-1,468332,277101,85871,9588,9588,9588,9588, -1,-1,-1,-1,454657,263427,72196,9933,9933,9933,9933, -1,-1,-1,-1,-1,484034,292803,101573,11194,11194,11194, -1,-1,-1,-1,234772,43541,6611,6611,6611,6611,6611, -1,-1,-1,-1,592398,401167,209937,18707,10966,10966,10966, -1,-1,-1,-1,-1,561916,370686,179455,11104,11104,11104, -1,-1,-1,-1,-1,421486,230255,39025,10568,10568,10568, -1,-1,-1,-1,-1,377072,185841,10547,10547,10547,10547, -1,-1,-1,-1,-1,-1,6611,6611,6611,6611,6611, -1,-1,-1,-1,-1,-1,-1,-1,11194,11194,11194, -1,-1,-1,-1,-1,-1,-1,-1,-1,9933,9933, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,296239, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 ]); array[POPORTS5,PIPORTS,WEEKS] of int: directCostArr5; directCostArr5 = array3d(POPORTS5,PIPORTS,WEEKS,[ -1,-1,-1,-1,443068,251838,60607,9043,9043,9043,9043, -1,-1,-1,-1,-1,345148,153918,8625,8625,8625,8625, -1,-1,-1,-1,517266,326036,134806,9233,9233,9233,9233, -1,-1,-1,-1,516226,324996,133766,9693,9693,9693,9693, -1,-1,-1,-1,-1,555942,364712,173482,11049,11049,11049, -1,-1,-1,-1,317094,125864,6562,6562,6562,6562,6562, -1,-1,-1,-1,-1,513629,322399,131168,11194,11194,11194, -1,-1,-1,-1,-1,-1,483147,291917,100687,11332,11332, -1,-1,-1,-1,-1,533947,342717,151487,10796,10796,10796, -1,-1,-1,-1,-1,489534,298303,107073,10774,10774,10774, -1,-1,-1,-1,-1,-1,6562,6562,6562,6562,6562, -1,-1,-1,-1,-1,-1,-1,-1,11049,11049,11049, -1,-1,-1,-1,-1,-1,-1,-1,-1,9693,9693, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,378561, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,377593,186362,9247,9247,9247,9247, -1,-1,-1,-1,-1,487603,296372,105142,8982,8982,8982, -1,-1,-1,-1,-1,468332,277101,85871,9588,9588,9588, -1,-1,-1,-1,-1,454657,263427,72196,9933,9933,9933, -1,-1,-1,-1,-1,-1,484034,292803,101573,11194,11194, -1,-1,-1,-1,-1,234772,43541,6611,6611,6611,6611, -1,-1,-1,-1,-1,592398,401167,209937,18707,10966,10966, -1,-1,-1,-1,-1,-1,561916,370686,179455,11104,11104, -1,-1,-1,-1,-1,612716,421486,230255,39025,10568,10568, -1,-1,-1,-1,-1,568302,377072,185841,10547,10547,10547, -1,-1,-1,-1,-1,-1,6611,6611,6611,6611,6611, -1,-1,-1,-1,-1,-1,-1,-1,44659,11194,11194, -1,-1,-1,-1,-1,-1,-1,-1,-1,9933,9933 ]); % Phase in constraints constraint alldifferent(piWeek); constraint max(piWeek) - min(piWeek) = (vv - 1); int: maxCost = 500000; % Constant assignments vv = 6; ww = 11; pip = 13; poPorts0 = 16; poPorts1 = 15; poPorts2 = 27; poPorts3 = 24; poPorts4 = 3; poPorts5 = 2; int: objectiveMax = ub(66 * (piTimes[piPort,piWeek[1]] - poTimes0[poAct0]) + 66 * (piTimes[piPort,piWeek[2]] - poTimes1[poAct1]) + 66 * (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]) + sum(directCost)); var 0..objectiveMax: objective; constraint objective = 66 * (piTimes[piPort,piWeek[1]] - poTimes0[poAct0]) + 66 * (piTimes[piPort,piWeek[2]] - poTimes1[poAct1]) + 66 * (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]) + sum(directCost); solve :: seq_search([ int_search(reposType, first_fail, indomain_max, complete), int_search( [poAct0, poAct1, poAct2, poAct3, poAct4, poAct5, 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", "piPort = ", show(piPort), ";\n", "piWeek = ", show(piWeek), ";\n", "reposType = ", show(reposType), ";\n", "directCost = ", show(directCost), ";\n", "objective = ", show(objective), ";\n" ]; % Hotel costs: 66.6667 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),"] reposType: ", show(reposType), "; directCost(sum): ", show(sum(directCost)), "; hotelCost: ", show(66 * (piTimes[piPort,piWeek[1]] - poTimes0[poAct0]) + 66 * (piTimes[piPort,piWeek[2]] - poTimes1[poAct1]) + 66 * (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])), "; total objective: ", show(66 * (piTimes[piPort,piWeek[1]] - poTimes0[poAct0]) + 66 * (piTimes[piPort,piWeek[2]] - poTimes1[poAct1]) + 66 * (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]) + sum(directCost)), "\n"] ++ [ % "objective = ", show(objective), ";\n" %]