param N integer := 210; param Nu integer := 105; param a1{1..Nu}; param a2{1..Nu}; var a1v{i in 1..Nu} := a1[i]; var a2v{i in 1..Nu} := a2[i]; param mx := .5; param k{i in 1..N} := i; param pi := 4*atan(1); param alp :=exp(-15/75); param kk{1..2,1..2}; param pn{i in 1..Nu} := i*2*pi/N; var alpha{1..Nu,1..2}; var x{i in 0..N-1,j in 1..2} := .1; var y{i in 0..2*N-1, j in 1..2} := .1; param bdy := .5; param t := 1e-2; param lim := 6; set S1 := -lim..0; set S2 := 1..lim; set S := S1 union S2; set W := {i in S,j in S:not(i==0 and j==0)}; s.t. weyl1{(m1,m2) in W}: sum{n in N..2*N-1} cos(2*pi*(m1*(y[n,1]+0.5)+m2*(y[n,2]+0.5))) <= t; s.t. weyl2{(m1,m2) in W}: sum{n in N..2*N-1} sin(2*pi*(m1*(y[n,1]+0.5)+m2*(y[n,2]+0.5))) <= t; s.t. fix6{i in 1..9}: a1v[3*i]=a2v[3*i]; s.t. bound51{j in N..2*N-1,i in 1..2}: -bdy<=y[j,i]<= bdy; s.t. inp{i in 0..N-1, j in 1..2}: x[i,j]= if j==1 then sum{u in 1..Nu}(a1v[u]*cos(pn[u]*k[i+1]+alpha[u,j])) else sum{u in 1..Nu}(a2v[u]*cos(pn[u]*k[i+1]+alpha[u,j])); s.t. out1{i in 1..N,j in 1..2}: y[i,j]=alp*y[i-1,j] + (1-alp)*sum{l in 1..2}kk[j,l]*x[i-1,l]; s.t. out2{i in N+1..2*N-1,j in 1..2}: y[i,j]=alp*y[i-1,j] + (1-alp)*sum{l in 1..2}kk[j,l]*x[i-N-1,l]; s.t. move1{i in 0..N-2, j in 1..2}: -mx <= x[i+1,j] - x[i,j] <= mx; s.t. move2{j in 1..2}: -mx <= x[0,j]-x[N-1,j] <= mx; data; param kk : 1 2 := 1 87.8 -86.4 2 108.2 -109.6; param a1 := 1 1.5500021550276e-03 2 8.3200000000000e-16 3 1.0000000017159e-01 4 1.5500000046561e-03 5 1.0710000000000e-15 6 1.0000000630506e-01 7 1.5500016794369e-03 8 2.0500000000000e-16 9 1.0000000088497e-01 10 1.5500001471027e-03 11 5.4300000000000e-16 12 1.0000000292957e-01 13 1.5500033311070e-03 14 3.6500000000000e-16 15 1.0000000199842e-01 16 1.5500006681804e-03 17 3.8900000000000e-16 18 1.0000000313960e-01 19 1.5500020422676e-03 20 2.9500000000000e-16 21 1.0000000067402e-01 22 1.5500195583156e-03 23 1.3070000000000e-15 24 1.0000001128314e-01 25 1.5500002508496e-03 26 1.6700000000000e-16 27 1.0000000021122e-01 28 1.5500002448821e-03 29 2.4000000000000e-17 30 1.0000000002386e-01 31 1.5500000722858e-03 32 9.1500000000000e-16 33 1.0000000343615e-01 34 1.5500033351352e-03 35 9.5400000000000e-16 36 1.0000000295649e-01 37 1.5500184581779e-03 38 4.1900000000000e-16 39 1.0000000222700e-01 40 1.5500377572842e-03 41 1.3950000000000e-15 42 1.0000000010661e-01 43 1.5500000198077e-03 44 5.2700000000000e-16 45 1.0000000034047e-01 46 1.5500084262096e-03 47 4.8400000000000e-16 48 1.0000000331667e-01 49 1.5500000505844e-03 50 1.5600000000000e-16 51 1.0000000002397e-01 52 1.5500122046280e-03 53 3.4700000000000e-16 54 5.0000001171701e-02 55 7.7500061209552e-04 56 6.8500000000000e-16 57 5.0000006843359e-02 58 7.7500019033137e-04 59 3.0500000000000e-16 60 5.0000000114825e-02 61 7.7504468688847e-04 62 1.0880000000000e-15 63 5.0000001230916e-02 64 7.7504392631621e-04 65 7.2500000000000e-16 66 5.0000000002611e-02 67 7.7504097495677e-04 68 1.1450000000000e-15 69 5.0000003810188e-02 70 7.7502786826962e-04 71 2.0500000000000e-16 72 5.0000003207721e-02 73 7.7500488614200e-04 74 7.0200000000000e-16 75 5.0000000008660e-02 76 7.7513070239457e-04 77 4.7100000000000e-16 78 5.0000000413047e-02 79 7.7500079768099e-04 80 1.2800000000000e-16 81 5.0000001084214e-02 82 7.7501000759082e-04 83 2.0200000000000e-16 84 5.0000000301308e-02 85 7.7500313144286e-04 86 1.2870000000000e-15 87 5.0000001359814e-02 88 7.7502200086106e-04 89 6.0000000000000e-17 90 5.0000004085967e-02 91 7.7505804572829e-04 92 4.4600000000000e-16 93 5.0000007581775e-02 94 7.7500017273944e-04 95 9.7600000000000e-16 96 5.0000001635168e-02 97 7.7503086973753e-04 98 5.1800000000000e-16 99 5.0000000473680e-02 100 7.7501906555864e-04 101 6.9500000000000e-16 102 5.0000007931414e-02 103 7.7505519014480e-04 104 4.9000000000000e-16 105 5.0000007931414e-02 ; param a2 := 1 3.8500000000000e-16 2 1.5500004547104e-03 3 1.0000000030371e-01 4 5.6600000000000e-16 5 1.5500005423892e-03 6 1.0000000576436e-01 7 4.1800000000000e-16 8 1.5500002403434e-03 9 1.0000000157446e-01 10 6.5700000000000e-16 11 1.5500008549868e-03 12 1.0000000267368e-01 13 5.4300000000000e-16 14 1.5500000816920e-03 15 1.0000000267868e-01 16 3.7100000000000e-16 17 1.5500072085103e-03 18 1.0000000547516e-01 19 2.4200000000000e-16 20 1.5500012358849e-03 21 1.0000000070517e-01 22 1.0660000000000e-15 23 1.5500132469375e-03 24 1.0000000880142e-01 25 2.2000000000000e-16 26 1.5500173305763e-03 27 1.0000000054930e-01 28 7.2300000000000e-16 29 1.5500019643014e-03 30 1.0000000005700e-01 31 1.4310000000000e-15 32 1.5500052674982e-03 33 1.0000000330661e-01 34 3.0000000000000e-16 35 1.5500116802687e-03 36 1.0000000495050e-01 37 4.3600000000000e-16 38 1.5500000914955e-03 39 1.0000000151399e-01 40 5.4700000000000e-16 41 1.5500116564222e-03 42 1.0000000094865e-01 43 3.7000000000000e-16 44 1.5500011231054e-03 45 1.0000000003242e-01 46 9.0600000000000e-16 47 1.5500536648318e-03 48 1.0000000278958e-01 49 3.5000000000000e-16 50 1.5500001738798e-03 51 1.0000000024722e-01 52 5.3600000000000e-16 53 7.7505977527492e-04 54 5.0000000475409e-02 55 4.6000000000000e-16 56 7.7501820497509e-04 57 5.0000009697541e-02 58 8.4300000000000e-16 59 7.7508183527104e-04 60 5.0000000223550e-02 61 9.0200000000000e-16 62 7.7500037662204e-04 63 5.0000000044492e-02 64 6.7000000000000e-16 65 7.7502243150313e-04 66 5.0000001678442e-02 67 8.3600000000000e-16 68 7.7519777308785e-04 69 5.0000007859131e-02 70 1.3400000000000e-16 71 7.7503241259869e-04 72 5.0000006005861e-02 73 7.6000000000000e-16 74 7.7503614193817e-04 75 5.0000000402993e-02 76 1.4900000000000e-16 77 7.7503678627629e-04 78 5.0000000347632e-02 79 4.8600000000000e-16 80 7.7514667017646e-04 81 5.0000000890105e-02 82 9.4900000000000e-16 83 7.7500005514369e-04 84 5.0000003106765e-02 85 5.6200000000000e-16 86 7.7502837914159e-04 87 5.0000000034680e-02 88 1.1020000000000e-15 89 7.7500736674587e-04 90 5.0000007383983e-02 91 8.0500000000000e-16 92 7.7506977568096e-04 93 5.0000002434336e-02 94 5.8200000000000e-16 95 7.7501808702948e-04 96 5.0000003865186e-02 97 7.0100000000000e-16 98 7.7500783766598e-04 99 5.0000000370299e-02 100 6.7000000000000e-16 101 7.7501737997275e-04 102 5.0000006939453e-02 103 6.2000000000000e-17 104 7.7506954267692e-04 105 5.0000006939453e-02 ;