Sets n / n1*n50 / s / a1 /; yupp('n1','n1','a1')=0; Parameter demand(n) / n2 6 n3 1 n4 4 n5 8 n6 7 n7 10 n8 10 n9 8 n10 6 n11 1 n12 1 n13 2 n14 5 n15 9 n16 5 n17 9 n18 10 n19 1 n20 9 n21 7 n22 8 n23 3 n24 5 n25 4 n26 7 n27 8 n28 2 n29 8 n30 10 n31 9 n32 6 n33 1 n34 5 n35 3 n36 5 n37 6 n38 5 n39 10 n40 8 n41 6 n42 10 n43 7 n44 8 n45 2 n46 10 n47 1 n48 9 n49 10 n50 8 n1 -303 /; Table pp(n,*) c1 c2 n1 0.52054030 0.92390900 n2 0.94892500 0.75602240 n3 0.89421500 0.93065600 n4 0.05958640 0.96201020 n5 0.33064150 0.23704440 n6 0.07598680 0.43395340 n7 0.59989250 0.88252060 n8 0.38965800 0.02401760 n9 0.10225080 0.31145860 n10 0.44476990 0.96840090 n11 0.44731580 0.47232610 n12 0.84263710 0.40787050 n13 0.01426710 0.97077690 n14 0.43158170 0.27278120 n15 0.89929870 0.00592460 n16 0.75744360 0.02068950 n17 0.27320230 0.63211600 n18 0.96061900 0.95095610 n19 0.24288700 0.99040710 n20 0.64533940 0.06653720 n21 0.93295920 0.97042730 n22 0.23239620 0.22801880 n23 0.46248200 0.15767810 n24 0.84156050 0.10589060 n25 0.26035880 0.19434110 n26 0.02596900 0.57860910 n27 0.90059810 0.57163860 n28 0.07663190 0.07820720 n29 0.19365870 0.55448080 n30 0.69739000 0.22157980 n31 0.17731960 0.02783740 n32 0.37300220 0.09117230 n33 0.13270990 0.59975290 n34 0.65698800 0.88812060 n35 0.71843600 0.78648500 n36 0.02029690 0.45599810 n37 0.36580570 0.46664440 n38 0.14322260 0.38372380 n39 0.49613520 0.38675490 n40 0.10513970 0.99892620 n41 0.87968220 0.13109520 n42 0.52101600 0.45265940 n43 0.21504390 0.87232880 n44 0.16915190 0.10486560 n45 0.11553760 0.07204050 n46 0.11762650 0.31690780 n47 0.18030900 0.21517160 n48 0.04139430 0.24988020 n49 0.42534140 0.19025200 n50 0.76927950 0.99977970 ; Scalar beta / 50 /; Parameter vcr(m,n); Set mp(m), np(n) sets that have all but the first node; mp(m) = ord(m)>1; np(n) = ord(n)>1; vcr('n1',np(n)) = sqr(pp('n1','c1')-pp(n-1,'c1')) + sqr(pp('n1','c2')-pp(n-1,'c2')); vcr(mp,np) = sqr(pp(np,'c1')-pp(mp,'c1')) + sqr(pp(np,'c2')-pp(mp,'c2')); vcost(m,np,s) = sqrt(vcr(m,np)+1); fcost(m,n,s) = beta * vcost(m,n,s); fcost(m,n,s) = round(fcost(m,n,s),6); vcost(m,n,s) = round(vcost(m,n,s),6); u = -demand('n1'); xupp(m,n,s)$fcost(m,n,s) = u; yupp(np,np,s) = 1; usett1 = 1; usett2 = 1;