# #************************** # SET UP THE INITIAL DATA * #************************** # Problem : # ********* # A problem freely inspired by the heavy spacecraft landing problem by # Ivashkevich, as reported by Tyatushkin, Zholudev and Erinchek. The # modifications of the original problem involves dropping the final state # constraint on the second variable and the setting of EPS to zero # in the second constraint. # (No feasible point was found for the original formulation by any of the # packages at hand.) # This is a badly scaled degenerate nonlinear nonconvex optimal control # problem, with lots of negative curvature. # Source: inspired by # A.I Tyatushkin, A.I. Zholudev and N. M. Erinchek, # "The gradient method for solving optimal control problems with phase # constraints", # in "System Modelling and Optimization", P. Kall, ed., pp. 456--464, # Springer Verlag, Lecture Notes in Control and Information Sciences 180, 1992. # This reference itself refers to: # A.K. Ivashkevich, # "Multistage US spacecraft Space Shuttle", # Survey of foreign papers (Part 11), Orbital Craft, Moscow, 1976. # SIF input: Ph. Toint, February 1994. # classification LOR2-AN-V-V # Number of discretized points in (0,TT]. # The number of variables is 4 * ( N + 1 ) # The number of constraints is 3 * N #IE N 100 $ n = 404, m = 300 #IE N 500 $ n = 2004, m = 1500 #IE N 1000 $ n = 4004, m = 3000 # Problem parameters # Mesh # Constants # State variables # Control variables # Objective function # State constraints # State constraints elements # State constraints # ZE C(2,T) E2(T) -H # ZE C(2,T) E3(T) -H # Solution #LO SOLTN -0.21850 #LO SOLTN(100) 3.26705331D-8 #LO SOLTN(500) 2.36171208D-8 #LO SOLTN(1000) 8.48265630D-8 param n := 50; param tt := 0.2185; param eps := 0.1; param alpha := 1.62079; param nm1 := -1 + (50); param rn := 50.0; param h := (0.2185) / (50.0); param tm1 := -1 + (50); var x1_0 >= 0.0 , <= 0.0; var x2_0 >= 2.19905 , <= 2.19905 , := 2.19905; var x3_0 >= 0.0 , <= 6.2831854; var x1_1; var x2_1 := 1.5; var x3_1 >= 0.0 , <= 6.2831854; var x1_2; var x2_2 := 1.5; var x3_2 >= 0.0 , <= 6.2831854; var x1_3; var x2_3 := 1.5; var x3_3 >= 0.0 , <= 6.2831854; var x1_4; var x2_4 := 1.5; var x3_4 >= 0.0 , <= 6.2831854; var x1_5; var x2_5 := 1.5; var x3_5 >= 0.0 , <= 6.2831854; var x1_6; var x2_6 := 1.5; var x3_6 >= 0.0 , <= 6.2831854; var x1_7; var x2_7 := 1.5; var x3_7 >= 0.0 , <= 6.2831854; var x1_8; var x2_8 := 1.5; var x3_8 >= 0.0 , <= 6.2831854; var x1_9; var x2_9 := 1.5; var x3_9 >= 0.0 , <= 6.2831854; var x1_10; var x2_10 := 1.5; var x3_10 >= 0.0 , <= 6.2831854; var x1_11; var x2_11 := 1.5; var x3_11 >= 0.0 , <= 6.2831854; var x1_12; var x2_12 := 1.5; var x3_12 >= 0.0 , <= 6.2831854; var x1_13; var x2_13 := 1.5; var x3_13 >= 0.0 , <= 6.2831854; var x1_14; var x2_14 := 1.5; var x3_14 >= 0.0 , <= 6.2831854; var x1_15; var x2_15 := 1.5; var x3_15 >= 0.0 , <= 6.2831854; var x1_16; var x2_16 := 1.5; var x3_16 >= 0.0 , <= 6.2831854; var x1_17; var x2_17 := 1.5; var x3_17 >= 0.0 , <= 6.2831854; var x1_18; var x2_18 := 1.5; var x3_18 >= 0.0 , <= 6.2831854; var x1_19; var x2_19 := 1.5; var x3_19 >= 0.0 , <= 6.2831854; var x1_20; var x2_20 := 1.5; var x3_20 >= 0.0 , <= 6.2831854; var x1_21; var x2_21 := 1.5; var x3_21 >= 0.0 , <= 6.2831854; var x1_22; var x2_22 := 1.5; var x3_22 >= 0.0 , <= 6.2831854; var x1_23; var x2_23 := 1.5; var x3_23 >= 0.0 , <= 6.2831854; var x1_24; var x2_24 := 1.5; var x3_24 >= 0.0 , <= 6.2831854; var x1_25; var x2_25 := 1.5; var x3_25 >= 0.0 , <= 6.2831854; var x1_26; var x2_26 := 1.5; var x3_26 >= 0.0 , <= 6.2831854; var x1_27; var x2_27 := 1.5; var x3_27 >= 0.0 , <= 6.2831854; var x1_28; var x2_28 := 1.5; var x3_28 >= 0.0 , <= 6.2831854; var x1_29; var x2_29 := 1.5; var x3_29 >= 0.0 , <= 6.2831854; var x1_30; var x2_30 := 1.5; var x3_30 >= 0.0 , <= 6.2831854; var x1_31; var x2_31 := 1.5; var x3_31 >= 0.0 , <= 6.2831854; var x1_32; var x2_32 := 1.5; var x3_32 >= 0.0 , <= 6.2831854; var x1_33; var x2_33 := 1.5; var x3_33 >= 0.0 , <= 6.2831854; var x1_34; var x2_34 := 1.5; var x3_34 >= 0.0 , <= 6.2831854; var x1_35; var x2_35 := 1.5; var x3_35 >= 0.0 , <= 6.2831854; var x1_36; var x2_36 := 1.5; var x3_36 >= 0.0 , <= 6.2831854; var x1_37; var x2_37 := 1.5; var x3_37 >= 0.0 , <= 6.2831854; var x1_38; var x2_38 := 1.5; var x3_38 >= 0.0 , <= 6.2831854; var x1_39; var x2_39 := 1.5; var x3_39 >= 0.0 , <= 6.2831854; var x1_40; var x2_40 := 1.5; var x3_40 >= 0.0 , <= 6.2831854; var x1_41; var x2_41 := 1.5; var x3_41 >= 0.0 , <= 6.2831854; var x1_42; var x2_42 := 1.5; var x3_42 >= 0.0 , <= 6.2831854; var x1_43; var x2_43 := 1.5; var x3_43 >= 0.0 , <= 6.2831854; var x1_44; var x2_44 := 1.5; var x3_44 >= 0.0 , <= 6.2831854; var x1_45; var x2_45 := 1.5; var x3_45 >= 0.0 , <= 6.2831854; var x1_46; var x2_46 := 1.5; var x3_46 >= 0.0 , <= 6.2831854; var x1_47; var x2_47 := 1.5; var x3_47 >= 0.0 , <= 6.2831854; var x1_48; var x2_48 := 1.5; var x3_48 >= 0.0 , <= 6.2831854; var x1_49; var x2_49 := 1.5; var x3_49 >= 0.0 , <= 6.2831854; var x1_50; var x2_50 := 1.09905; var x3_50 >= 0.0 , <= 6.2831854; var u0 >= 0.08 , <= 0.417; var u1 >= 0.08 , <= 0.417; var u2 >= 0.08 , <= 0.417; var u3 >= 0.08 , <= 0.417; var u4 >= 0.08 , <= 0.417; var u5 >= 0.08 , <= 0.417; var u6 >= 0.08 , <= 0.417; var u7 >= 0.08 , <= 0.417; var u8 >= 0.08 , <= 0.417; var u9 >= 0.08 , <= 0.417; var u10 >= 0.08 , <= 0.417; var u11 >= 0.08 , <= 0.417; var u12 >= 0.08 , <= 0.417; var u13 >= 0.08 , <= 0.417; var u14 >= 0.08 , <= 0.417; var u15 >= 0.08 , <= 0.417; var u16 >= 0.08 , <= 0.417; var u17 >= 0.08 , <= 0.417; var u18 >= 0.08 , <= 0.417; var u19 >= 0.08 , <= 0.417; var u20 >= 0.08 , <= 0.417; var u21 >= 0.08 , <= 0.417; var u22 >= 0.08 , <= 0.417; var u23 >= 0.08 , <= 0.417; var u24 >= 0.08 , <= 0.417; var u25 >= 0.08 , <= 0.417; var u26 >= 0.08 , <= 0.417; var u27 >= 0.08 , <= 0.417; var u28 >= 0.08 , <= 0.417; var u29 >= 0.08 , <= 0.417; var u30 >= 0.08 , <= 0.417; var u31 >= 0.08 , <= 0.417; var u32 >= 0.08 , <= 0.417; var u33 >= 0.08 , <= 0.417; var u34 >= 0.08 , <= 0.417; var u35 >= 0.08 , <= 0.417; var u36 >= 0.08 , <= 0.417; var u37 >= 0.08 , <= 0.417; var u38 >= 0.08 , <= 0.417; var u39 >= 0.08 , <= 0.417; var u40 >= 0.08 , <= 0.417; var u41 >= 0.08 , <= 0.417; var u42 >= 0.08 , <= 0.417; var u43 >= 0.08 , <= 0.417; var u44 >= 0.08 , <= 0.417; var u45 >= 0.08 , <= 0.417; var u46 >= 0.08 , <= 0.417; var u47 >= 0.08 , <= 0.417; var u48 >= 0.08 , <= 0.417; var u49 >= 0.08 , <= 0.417; var u50 >= 0.08 , <= 0.417; minimize obj: x1_50; subject to c1_1: 0.00437*(cos(x3_1)) / (1.62079*(0.01+0.3*u1*u1)*x2_1*x2_1) + x1_0 - x1_1 = 0; subject to c2_1: -1.0 / x2_1 - (cos(x3_1)) / (1.62079*(0.01+0.3*u1*u1)*(x2_1*x2_1)*x2_1) = 0; subject to c3_1: 0.00437*u1 / ((0.01+0.3*u1*u1) * (x2_1*x2_1) ) - 0.00437*(cos(x3_1)) / (1.62079*(0.01+0.3*u1*u1)*(x2_1*x2_1)*x2_1*x2_1) + 0.1*x3_0 - 0.1*x3_1 = 0; subject to c1_2: 0.00437*(cos(x3_2)) / (1.62079*(0.01+0.3*u2*u2)*x2_2*x2_2) + x1_1 - x1_2 = 0; subject to c2_2: -1.0 / x2_2 - (cos(x3_2)) / (1.62079*(0.01+0.3*u2*u2)*(x2_2*x2_2)*x2_2) = 0; subject to c3_2: 0.00437*u2 / ((0.01+0.3*u2*u2) * (x2_2*x2_2) ) - 0.00437*(cos(x3_2)) / (1.62079*(0.01+0.3*u2*u2)*(x2_2*x2_2)*x2_2*x2_2) + 0.1*x3_1 - 0.1*x3_2 = 0; subject to c1_3: 0.00437*(cos(x3_3)) / (1.62079*(0.01+0.3*u3*u3)*x2_3*x2_3) + x1_2 - x1_3 = 0; subject to c2_3: -1.0 / x2_3 - (cos(x3_3)) / (1.62079*(0.01+0.3*u3*u3)*(x2_3*x2_3)*x2_3) = 0; subject to c3_3: 0.00437*u3 / ((0.01+0.3*u3*u3) * (x2_3*x2_3) ) - 0.00437*(cos(x3_3)) / (1.62079*(0.01+0.3*u3*u3)*(x2_3*x2_3)*x2_3*x2_3) + 0.1*x3_2 - 0.1*x3_3 = 0; subject to c1_4: 0.00437*(cos(x3_4)) / (1.62079*(0.01+0.3*u4*u4)*x2_4*x2_4) + x1_3 - x1_4 = 0; subject to c2_4: -1.0 / x2_4 - (cos(x3_4)) / (1.62079*(0.01+0.3*u4*u4)*(x2_4*x2_4)*x2_4) = 0; subject to c3_4: 0.00437*u4 / ((0.01+0.3*u4*u4) * (x2_4*x2_4) ) - 0.00437*(cos(x3_4)) / (1.62079*(0.01+0.3*u4*u4)*(x2_4*x2_4)*x2_4*x2_4) + 0.1*x3_3 - 0.1*x3_4 = 0; subject to c1_5: 0.00437*(cos(x3_5)) / (1.62079*(0.01+0.3*u5*u5)*x2_5*x2_5) + x1_4 - x1_5 = 0; subject to c2_5: -1.0 / x2_5 - (cos(x3_5)) / (1.62079*(0.01+0.3*u5*u5)*(x2_5*x2_5)*x2_5) = 0; subject to c3_5: 0.00437*u5 / ((0.01+0.3*u5*u5) * (x2_5*x2_5) ) - 0.00437*(cos(x3_5)) / (1.62079*(0.01+0.3*u5*u5)*(x2_5*x2_5)*x2_5*x2_5) + 0.1*x3_4 - 0.1*x3_5 = 0; subject to c1_6: 0.00437*(cos(x3_6)) / (1.62079*(0.01+0.3*u6*u6)*x2_6*x2_6) + x1_5 - x1_6 = 0; subject to c2_6: -1.0 / x2_6 - (cos(x3_6)) / (1.62079*(0.01+0.3*u6*u6)*(x2_6*x2_6)*x2_6) = 0; subject to c3_6: 0.00437*u6 / ((0.01+0.3*u6*u6) * (x2_6*x2_6) ) - 0.00437*(cos(x3_6)) / (1.62079*(0.01+0.3*u6*u6)*(x2_6*x2_6)*x2_6*x2_6) + 0.1*x3_5 - 0.1*x3_6 = 0; subject to c1_7: 0.00437*(cos(x3_7)) / (1.62079*(0.01+0.3*u7*u7)*x2_7*x2_7) + x1_6 - x1_7 = 0; subject to c2_7: -1.0 / x2_7 - (cos(x3_7)) / (1.62079*(0.01+0.3*u7*u7)*(x2_7*x2_7)*x2_7) = 0; subject to c3_7: 0.00437*u7 / ((0.01+0.3*u7*u7) * (x2_7*x2_7) ) - 0.00437*(cos(x3_7)) / (1.62079*(0.01+0.3*u7*u7)*(x2_7*x2_7)*x2_7*x2_7) + 0.1*x3_6 - 0.1*x3_7 = 0; subject to c1_8: 0.00437*(cos(x3_8)) / (1.62079*(0.01+0.3*u8*u8)*x2_8*x2_8) + x1_7 - x1_8 = 0; subject to c2_8: -1.0 / x2_8 - (cos(x3_8)) / (1.62079*(0.01+0.3*u8*u8)*(x2_8*x2_8)*x2_8) = 0; subject to c3_8: 0.00437*u8 / ((0.01+0.3*u8*u8) * (x2_8*x2_8) ) - 0.00437*(cos(x3_8)) / (1.62079*(0.01+0.3*u8*u8)*(x2_8*x2_8)*x2_8*x2_8) + 0.1*x3_7 - 0.1*x3_8 = 0; subject to c1_9: 0.00437*(cos(x3_9)) / (1.62079*(0.01+0.3*u9*u9)*x2_9*x2_9) + x1_8 - x1_9 = 0; subject to c2_9: -1.0 / x2_9 - (cos(x3_9)) / (1.62079*(0.01+0.3*u9*u9)*(x2_9*x2_9)*x2_9) = 0; subject to c3_9: 0.00437*u9 / ((0.01+0.3*u9*u9) * (x2_9*x2_9) ) - 0.00437*(cos(x3_9)) / (1.62079*(0.01+0.3*u9*u9)*(x2_9*x2_9)*x2_9*x2_9) + 0.1*x3_8 - 0.1*x3_9 = 0; subject to c1_10: 0.00437*(cos(x3_10)) / (1.62079*(0.01+0.3*u10*u10)*x2_10*x2_10) + x1_9 - x1_10 = 0; subject to c2_10: -1.0 / x2_10 - (cos(x3_10)) / (1.62079*(0.01+0.3*u10*u10)*(x2_10*x2_10)*x2_10) = 0; subject to c3_10: 0.00437*u10 / ((0.01+0.3*u10*u10) * (x2_10*x2_10) ) - 0.00437*(cos(x3_10)) / (1.62079*(0.01+0.3*u10*u10)*(x2_10*x2_10)*x2_10*x2_10) + 0.1*x3_9 - 0.1*x3_10 = 0; subject to c1_11: 0.00437*(cos(x3_11)) / (1.62079*(0.01+0.3*u11*u11)*x2_11*x2_11) + x1_10 - x1_11 = 0; subject to c2_11: -1.0 / x2_11 - (cos(x3_11)) / (1.62079*(0.01+0.3*u11*u11)*(x2_11*x2_11)*x2_11) = 0; subject to c3_11: 0.00437*u11 / ((0.01+0.3*u11*u11) * (x2_11*x2_11) ) - 0.00437*(cos(x3_11)) / (1.62079*(0.01+0.3*u11*u11)*(x2_11*x2_11)*x2_11*x2_11) + 0.1*x3_10 - 0.1*x3_11 = 0; subject to c1_12: 0.00437*(cos(x3_12)) / (1.62079*(0.01+0.3*u12*u12)*x2_12*x2_12) + x1_11 - x1_12 = 0; subject to c2_12: -1.0 / x2_12 - (cos(x3_12)) / (1.62079*(0.01+0.3*u12*u12)*(x2_12*x2_12)*x2_12) = 0; subject to c3_12: 0.00437*u12 / ((0.01+0.3*u12*u12) * (x2_12*x2_12) ) - 0.00437*(cos(x3_12)) / (1.62079*(0.01+0.3*u12*u12)*(x2_12*x2_12)*x2_12*x2_12) + 0.1*x3_11 - 0.1*x3_12 = 0; subject to c1_13: 0.00437*(cos(x3_13)) / (1.62079*(0.01+0.3*u13*u13)*x2_13*x2_13) + x1_12 - x1_13 = 0; subject to c2_13: -1.0 / x2_13 - (cos(x3_13)) / (1.62079*(0.01+0.3*u13*u13)*(x2_13*x2_13)*x2_13) = 0; subject to c3_13: 0.00437*u13 / ((0.01+0.3*u13*u13) * (x2_13*x2_13) ) - 0.00437*(cos(x3_13)) / (1.62079*(0.01+0.3*u13*u13)*(x2_13*x2_13)*x2_13*x2_13) + 0.1*x3_12 - 0.1*x3_13 = 0; subject to c1_14: 0.00437*(cos(x3_14)) / (1.62079*(0.01+0.3*u14*u14)*x2_14*x2_14) + x1_13 - x1_14 = 0; subject to c2_14: -1.0 / x2_14 - (cos(x3_14)) / (1.62079*(0.01+0.3*u14*u14)*(x2_14*x2_14)*x2_14) = 0; subject to c3_14: 0.00437*u14 / ((0.01+0.3*u14*u14) * (x2_14*x2_14) ) - 0.00437*(cos(x3_14)) / (1.62079*(0.01+0.3*u14*u14)*(x2_14*x2_14)*x2_14*x2_14) + 0.1*x3_13 - 0.1*x3_14 = 0; subject to c1_15: 0.00437*(cos(x3_15)) / (1.62079*(0.01+0.3*u15*u15)*x2_15*x2_15) + x1_14 - x1_15 = 0; subject to c2_15: -1.0 / x2_15 - (cos(x3_15)) / (1.62079*(0.01+0.3*u15*u15)*(x2_15*x2_15)*x2_15) = 0; subject to c3_15: 0.00437*u15 / ((0.01+0.3*u15*u15) * (x2_15*x2_15) ) - 0.00437*(cos(x3_15)) / (1.62079*(0.01+0.3*u15*u15)*(x2_15*x2_15)*x2_15*x2_15) + 0.1*x3_14 - 0.1*x3_15 = 0; subject to c1_16: 0.00437*(cos(x3_16)) / (1.62079*(0.01+0.3*u16*u16)*x2_16*x2_16) + x1_15 - x1_16 = 0; subject to c2_16: -1.0 / x2_16 - (cos(x3_16)) / (1.62079*(0.01+0.3*u16*u16)*(x2_16*x2_16)*x2_16) = 0; subject to c3_16: 0.00437*u16 / ((0.01+0.3*u16*u16) * (x2_16*x2_16) ) - 0.00437*(cos(x3_16)) / (1.62079*(0.01+0.3*u16*u16)*(x2_16*x2_16)*x2_16*x2_16) + 0.1*x3_15 - 0.1*x3_16 = 0; subject to c1_17: 0.00437*(cos(x3_17)) / (1.62079*(0.01+0.3*u17*u17)*x2_17*x2_17) + x1_16 - x1_17 = 0; subject to c2_17: -1.0 / x2_17 - (cos(x3_17)) / (1.62079*(0.01+0.3*u17*u17)*(x2_17*x2_17)*x2_17) = 0; subject to c3_17: 0.00437*u17 / ((0.01+0.3*u17*u17) * (x2_17*x2_17) ) - 0.00437*(cos(x3_17)) / (1.62079*(0.01+0.3*u17*u17)*(x2_17*x2_17)*x2_17*x2_17) + 0.1*x3_16 - 0.1*x3_17 = 0; subject to c1_18: 0.00437*(cos(x3_18)) / (1.62079*(0.01+0.3*u18*u18)*x2_18*x2_18) + x1_17 - x1_18 = 0; subject to c2_18: -1.0 / x2_18 - (cos(x3_18)) / (1.62079*(0.01+0.3*u18*u18)*(x2_18*x2_18)*x2_18) = 0; subject to c3_18: 0.00437*u18 / ((0.01+0.3*u18*u18) * (x2_18*x2_18) ) - 0.00437*(cos(x3_18)) / (1.62079*(0.01+0.3*u18*u18)*(x2_18*x2_18)*x2_18*x2_18) + 0.1*x3_17 - 0.1*x3_18 = 0; subject to c1_19: 0.00437*(cos(x3_19)) / (1.62079*(0.01+0.3*u19*u19)*x2_19*x2_19) + x1_18 - x1_19 = 0; subject to c2_19: -1.0 / x2_19 - (cos(x3_19)) / (1.62079*(0.01+0.3*u19*u19)*(x2_19*x2_19)*x2_19) = 0; subject to c3_19: 0.00437*u19 / ((0.01+0.3*u19*u19) * (x2_19*x2_19) ) - 0.00437*(cos(x3_19)) / (1.62079*(0.01+0.3*u19*u19)*(x2_19*x2_19)*x2_19*x2_19) + 0.1*x3_18 - 0.1*x3_19 = 0; subject to c1_20: 0.00437*(cos(x3_20)) / (1.62079*(0.01+0.3*u20*u20)*x2_20*x2_20) + x1_19 - x1_20 = 0; subject to c2_20: -1.0 / x2_20 - (cos(x3_20)) / (1.62079*(0.01+0.3*u20*u20)*(x2_20*x2_20)*x2_20) = 0; subject to c3_20: 0.00437*u20 / ((0.01+0.3*u20*u20) * (x2_20*x2_20) ) - 0.00437*(cos(x3_20)) / (1.62079*(0.01+0.3*u20*u20)*(x2_20*x2_20)*x2_20*x2_20) + 0.1*x3_19 - 0.1*x3_20 = 0; subject to c1_21: 0.00437*(cos(x3_21)) / (1.62079*(0.01+0.3*u21*u21)*x2_21*x2_21) + x1_20 - x1_21 = 0; subject to c2_21: -1.0 / x2_21 - (cos(x3_21)) / (1.62079*(0.01+0.3*u21*u21)*(x2_21*x2_21)*x2_21) = 0; subject to c3_21: 0.00437*u21 / ((0.01+0.3*u21*u21) * (x2_21*x2_21) ) - 0.00437*(cos(x3_21)) / (1.62079*(0.01+0.3*u21*u21)*(x2_21*x2_21)*x2_21*x2_21) + 0.1*x3_20 - 0.1*x3_21 = 0; subject to c1_22: 0.00437*(cos(x3_22)) / (1.62079*(0.01+0.3*u22*u22)*x2_22*x2_22) + x1_21 - x1_22 = 0; subject to c2_22: -1.0 / x2_22 - (cos(x3_22)) / (1.62079*(0.01+0.3*u22*u22)*(x2_22*x2_22)*x2_22) = 0; subject to c3_22: 0.00437*u22 / ((0.01+0.3*u22*u22) * (x2_22*x2_22) ) - 0.00437*(cos(x3_22)) / (1.62079*(0.01+0.3*u22*u22)*(x2_22*x2_22)*x2_22*x2_22) + 0.1*x3_21 - 0.1*x3_22 = 0; subject to c1_23: 0.00437*(cos(x3_23)) / (1.62079*(0.01+0.3*u23*u23)*x2_23*x2_23) + x1_22 - x1_23 = 0; subject to c2_23: -1.0 / x2_23 - (cos(x3_23)) / (1.62079*(0.01+0.3*u23*u23)*(x2_23*x2_23)*x2_23) = 0; subject to c3_23: 0.00437*u23 / ((0.01+0.3*u23*u23) * (x2_23*x2_23) ) - 0.00437*(cos(x3_23)) / (1.62079*(0.01+0.3*u23*u23)*(x2_23*x2_23)*x2_23*x2_23) + 0.1*x3_22 - 0.1*x3_23 = 0; subject to c1_24: 0.00437*(cos(x3_24)) / (1.62079*(0.01+0.3*u24*u24)*x2_24*x2_24) + x1_23 - x1_24 = 0; subject to c2_24: -1.0 / x2_24 - (cos(x3_24)) / (1.62079*(0.01+0.3*u24*u24)*(x2_24*x2_24)*x2_24) = 0; subject to c3_24: 0.00437*u24 / ((0.01+0.3*u24*u24) * (x2_24*x2_24) ) - 0.00437*(cos(x3_24)) / (1.62079*(0.01+0.3*u24*u24)*(x2_24*x2_24)*x2_24*x2_24) + 0.1*x3_23 - 0.1*x3_24 = 0; subject to c1_25: 0.00437*(cos(x3_25)) / (1.62079*(0.01+0.3*u25*u25)*x2_25*x2_25) + x1_24 - x1_25 = 0; subject to c2_25: -1.0 / x2_25 - (cos(x3_25)) / (1.62079*(0.01+0.3*u25*u25)*(x2_25*x2_25)*x2_25) = 0; subject to c3_25: 0.00437*u25 / ((0.01+0.3*u25*u25) * (x2_25*x2_25) ) - 0.00437*(cos(x3_25)) / (1.62079*(0.01+0.3*u25*u25)*(x2_25*x2_25)*x2_25*x2_25) + 0.1*x3_24 - 0.1*x3_25 = 0; subject to c1_26: 0.00437*(cos(x3_26)) / (1.62079*(0.01+0.3*u26*u26)*x2_26*x2_26) + x1_25 - x1_26 = 0; subject to c2_26: -1.0 / x2_26 - (cos(x3_26)) / (1.62079*(0.01+0.3*u26*u26)*(x2_26*x2_26)*x2_26) = 0; subject to c3_26: 0.00437*u26 / ((0.01+0.3*u26*u26) * (x2_26*x2_26) ) - 0.00437*(cos(x3_26)) / (1.62079*(0.01+0.3*u26*u26)*(x2_26*x2_26)*x2_26*x2_26) + 0.1*x3_25 - 0.1*x3_26 = 0; subject to c1_27: 0.00437*(cos(x3_27)) / (1.62079*(0.01+0.3*u27*u27)*x2_27*x2_27) + x1_26 - x1_27 = 0; subject to c2_27: -1.0 / x2_27 - (cos(x3_27)) / (1.62079*(0.01+0.3*u27*u27)*(x2_27*x2_27)*x2_27) = 0; subject to c3_27: 0.00437*u27 / ((0.01+0.3*u27*u27) * (x2_27*x2_27) ) - 0.00437*(cos(x3_27)) / (1.62079*(0.01+0.3*u27*u27)*(x2_27*x2_27)*x2_27*x2_27) + 0.1*x3_26 - 0.1*x3_27 = 0; subject to c1_28: 0.00437*(cos(x3_28)) / (1.62079*(0.01+0.3*u28*u28)*x2_28*x2_28) + x1_27 - x1_28 = 0; subject to c2_28: -1.0 / x2_28 - (cos(x3_28)) / (1.62079*(0.01+0.3*u28*u28)*(x2_28*x2_28)*x2_28) = 0; subject to c3_28: 0.00437*u28 / ((0.01+0.3*u28*u28) * (x2_28*x2_28) ) - 0.00437*(cos(x3_28)) / (1.62079*(0.01+0.3*u28*u28)*(x2_28*x2_28)*x2_28*x2_28) + 0.1*x3_27 - 0.1*x3_28 = 0; subject to c1_29: 0.00437*(cos(x3_29)) / (1.62079*(0.01+0.3*u29*u29)*x2_29*x2_29) + x1_28 - x1_29 = 0; subject to c2_29: -1.0 / x2_29 - (cos(x3_29)) / (1.62079*(0.01+0.3*u29*u29)*(x2_29*x2_29)*x2_29) = 0; subject to c3_29: 0.00437*u29 / ((0.01+0.3*u29*u29) * (x2_29*x2_29) ) - 0.00437*(cos(x3_29)) / (1.62079*(0.01+0.3*u29*u29)*(x2_29*x2_29)*x2_29*x2_29) + 0.1*x3_28 - 0.1*x3_29 = 0; subject to c1_30: 0.00437*(cos(x3_30)) / (1.62079*(0.01+0.3*u30*u30)*x2_30*x2_30) + x1_29 - x1_30 = 0; subject to c2_30: -1.0 / x2_30 - (cos(x3_30)) / (1.62079*(0.01+0.3*u30*u30)*(x2_30*x2_30)*x2_30) = 0; subject to c3_30: 0.00437*u30 / ((0.01+0.3*u30*u30) * (x2_30*x2_30) ) - 0.00437*(cos(x3_30)) / (1.62079*(0.01+0.3*u30*u30)*(x2_30*x2_30)*x2_30*x2_30) + 0.1*x3_29 - 0.1*x3_30 = 0; subject to c1_31: 0.00437*(cos(x3_31)) / (1.62079*(0.01+0.3*u31*u31)*x2_31*x2_31) + x1_30 - x1_31 = 0; subject to c2_31: -1.0 / x2_31 - (cos(x3_31)) / (1.62079*(0.01+0.3*u31*u31)*(x2_31*x2_31)*x2_31) = 0; subject to c3_31: 0.00437*u31 / ((0.01+0.3*u31*u31) * (x2_31*x2_31) ) - 0.00437*(cos(x3_31)) / (1.62079*(0.01+0.3*u31*u31)*(x2_31*x2_31)*x2_31*x2_31) + 0.1*x3_30 - 0.1*x3_31 = 0; subject to c1_32: 0.00437*(cos(x3_32)) / (1.62079*(0.01+0.3*u32*u32)*x2_32*x2_32) + x1_31 - x1_32 = 0; subject to c2_32: -1.0 / x2_32 - (cos(x3_32)) / (1.62079*(0.01+0.3*u32*u32)*(x2_32*x2_32)*x2_32) = 0; subject to c3_32: 0.00437*u32 / ((0.01+0.3*u32*u32) * (x2_32*x2_32) ) - 0.00437*(cos(x3_32)) / (1.62079*(0.01+0.3*u32*u32)*(x2_32*x2_32)*x2_32*x2_32) + 0.1*x3_31 - 0.1*x3_32 = 0; subject to c1_33: 0.00437*(cos(x3_33)) / (1.62079*(0.01+0.3*u33*u33)*x2_33*x2_33) + x1_32 - x1_33 = 0; subject to c2_33: -1.0 / x2_33 - (cos(x3_33)) / (1.62079*(0.01+0.3*u33*u33)*(x2_33*x2_33)*x2_33) = 0; subject to c3_33: 0.00437*u33 / ((0.01+0.3*u33*u33) * (x2_33*x2_33) ) - 0.00437*(cos(x3_33)) / (1.62079*(0.01+0.3*u33*u33)*(x2_33*x2_33)*x2_33*x2_33) + 0.1*x3_32 - 0.1*x3_33 = 0; subject to c1_34: 0.00437*(cos(x3_34)) / (1.62079*(0.01+0.3*u34*u34)*x2_34*x2_34) + x1_33 - x1_34 = 0; subject to c2_34: -1.0 / x2_34 - (cos(x3_34)) / (1.62079*(0.01+0.3*u34*u34)*(x2_34*x2_34)*x2_34) = 0; subject to c3_34: 0.00437*u34 / ((0.01+0.3*u34*u34) * (x2_34*x2_34) ) - 0.00437*(cos(x3_34)) / (1.62079*(0.01+0.3*u34*u34)*(x2_34*x2_34)*x2_34*x2_34) + 0.1*x3_33 - 0.1*x3_34 = 0; subject to c1_35: 0.00437*(cos(x3_35)) / (1.62079*(0.01+0.3*u35*u35)*x2_35*x2_35) + x1_34 - x1_35 = 0; subject to c2_35: -1.0 / x2_35 - (cos(x3_35)) / (1.62079*(0.01+0.3*u35*u35)*(x2_35*x2_35)*x2_35) = 0; subject to c3_35: 0.00437*u35 / ((0.01+0.3*u35*u35) * (x2_35*x2_35) ) - 0.00437*(cos(x3_35)) / (1.62079*(0.01+0.3*u35*u35)*(x2_35*x2_35)*x2_35*x2_35) + 0.1*x3_34 - 0.1*x3_35 = 0; subject to c1_36: 0.00437*(cos(x3_36)) / (1.62079*(0.01+0.3*u36*u36)*x2_36*x2_36) + x1_35 - x1_36 = 0; subject to c2_36: -1.0 / x2_36 - (cos(x3_36)) / (1.62079*(0.01+0.3*u36*u36)*(x2_36*x2_36)*x2_36) = 0; subject to c3_36: 0.00437*u36 / ((0.01+0.3*u36*u36) * (x2_36*x2_36) ) - 0.00437*(cos(x3_36)) / (1.62079*(0.01+0.3*u36*u36)*(x2_36*x2_36)*x2_36*x2_36) + 0.1*x3_35 - 0.1*x3_36 = 0; subject to c1_37: 0.00437*(cos(x3_37)) / (1.62079*(0.01+0.3*u37*u37)*x2_37*x2_37) + x1_36 - x1_37 = 0; subject to c2_37: -1.0 / x2_37 - (cos(x3_37)) / (1.62079*(0.01+0.3*u37*u37)*(x2_37*x2_37)*x2_37) = 0; subject to c3_37: 0.00437*u37 / ((0.01+0.3*u37*u37) * (x2_37*x2_37) ) - 0.00437*(cos(x3_37)) / (1.62079*(0.01+0.3*u37*u37)*(x2_37*x2_37)*x2_37*x2_37) + 0.1*x3_36 - 0.1*x3_37 = 0; subject to c1_38: 0.00437*(cos(x3_38)) / (1.62079*(0.01+0.3*u38*u38)*x2_38*x2_38) + x1_37 - x1_38 = 0; subject to c2_38: -1.0 / x2_38 - (cos(x3_38)) / (1.62079*(0.01+0.3*u38*u38)*(x2_38*x2_38)*x2_38) = 0; subject to c3_38: 0.00437*u38 / ((0.01+0.3*u38*u38) * (x2_38*x2_38) ) - 0.00437*(cos(x3_38)) / (1.62079*(0.01+0.3*u38*u38)*(x2_38*x2_38)*x2_38*x2_38) + 0.1*x3_37 - 0.1*x3_38 = 0; subject to c1_39: 0.00437*(cos(x3_39)) / (1.62079*(0.01+0.3*u39*u39)*x2_39*x2_39) + x1_38 - x1_39 = 0; subject to c2_39: -1.0 / x2_39 - (cos(x3_39)) / (1.62079*(0.01+0.3*u39*u39)*(x2_39*x2_39)*x2_39) = 0; subject to c3_39: 0.00437*u39 / ((0.01+0.3*u39*u39) * (x2_39*x2_39) ) - 0.00437*(cos(x3_39)) / (1.62079*(0.01+0.3*u39*u39)*(x2_39*x2_39)*x2_39*x2_39) + 0.1*x3_38 - 0.1*x3_39 = 0; subject to c1_40: 0.00437*(cos(x3_40)) / (1.62079*(0.01+0.3*u40*u40)*x2_40*x2_40) + x1_39 - x1_40 = 0; subject to c2_40: -1.0 / x2_40 - (cos(x3_40)) / (1.62079*(0.01+0.3*u40*u40)*(x2_40*x2_40)*x2_40) = 0; subject to c3_40: 0.00437*u40 / ((0.01+0.3*u40*u40) * (x2_40*x2_40) ) - 0.00437*(cos(x3_40)) / (1.62079*(0.01+0.3*u40*u40)*(x2_40*x2_40)*x2_40*x2_40) + 0.1*x3_39 - 0.1*x3_40 = 0; subject to c1_41: 0.00437*(cos(x3_41)) / (1.62079*(0.01+0.3*u41*u41)*x2_41*x2_41) + x1_40 - x1_41 = 0; subject to c2_41: -1.0 / x2_41 - (cos(x3_41)) / (1.62079*(0.01+0.3*u41*u41)*(x2_41*x2_41)*x2_41) = 0; subject to c3_41: 0.00437*u41 / ((0.01+0.3*u41*u41) * (x2_41*x2_41) ) - 0.00437*(cos(x3_41)) / (1.62079*(0.01+0.3*u41*u41)*(x2_41*x2_41)*x2_41*x2_41) + 0.1*x3_40 - 0.1*x3_41 = 0; subject to c1_42: 0.00437*(cos(x3_42)) / (1.62079*(0.01+0.3*u42*u42)*x2_42*x2_42) + x1_41 - x1_42 = 0; subject to c2_42: -1.0 / x2_42 - (cos(x3_42)) / (1.62079*(0.01+0.3*u42*u42)*(x2_42*x2_42)*x2_42) = 0; subject to c3_42: 0.00437*u42 / ((0.01+0.3*u42*u42) * (x2_42*x2_42) ) - 0.00437*(cos(x3_42)) / (1.62079*(0.01+0.3*u42*u42)*(x2_42*x2_42)*x2_42*x2_42) + 0.1*x3_41 - 0.1*x3_42 = 0; subject to c1_43: 0.00437*(cos(x3_43)) / (1.62079*(0.01+0.3*u43*u43)*x2_43*x2_43) + x1_42 - x1_43 = 0; subject to c2_43: -1.0 / x2_43 - (cos(x3_43)) / (1.62079*(0.01+0.3*u43*u43)*(x2_43*x2_43)*x2_43) = 0; subject to c3_43: 0.00437*u43 / ((0.01+0.3*u43*u43) * (x2_43*x2_43) ) - 0.00437*(cos(x3_43)) / (1.62079*(0.01+0.3*u43*u43)*(x2_43*x2_43)*x2_43*x2_43) + 0.1*x3_42 - 0.1*x3_43 = 0; subject to c1_44: 0.00437*(cos(x3_44)) / (1.62079*(0.01+0.3*u44*u44)*x2_44*x2_44) + x1_43 - x1_44 = 0; subject to c2_44: -1.0 / x2_44 - (cos(x3_44)) / (1.62079*(0.01+0.3*u44*u44)*(x2_44*x2_44)*x2_44) = 0; subject to c3_44: 0.00437*u44 / ((0.01+0.3*u44*u44) * (x2_44*x2_44) ) - 0.00437*(cos(x3_44)) / (1.62079*(0.01+0.3*u44*u44)*(x2_44*x2_44)*x2_44*x2_44) + 0.1*x3_43 - 0.1*x3_44 = 0; subject to c1_45: 0.00437*(cos(x3_45)) / (1.62079*(0.01+0.3*u45*u45)*x2_45*x2_45) + x1_44 - x1_45 = 0; subject to c2_45: -1.0 / x2_45 - (cos(x3_45)) / (1.62079*(0.01+0.3*u45*u45)*(x2_45*x2_45)*x2_45) = 0; subject to c3_45: 0.00437*u45 / ((0.01+0.3*u45*u45) * (x2_45*x2_45) ) - 0.00437*(cos(x3_45)) / (1.62079*(0.01+0.3*u45*u45)*(x2_45*x2_45)*x2_45*x2_45) + 0.1*x3_44 - 0.1*x3_45 = 0; subject to c1_46: 0.00437*(cos(x3_46)) / (1.62079*(0.01+0.3*u46*u46)*x2_46*x2_46) + x1_45 - x1_46 = 0; subject to c2_46: -1.0 / x2_46 - (cos(x3_46)) / (1.62079*(0.01+0.3*u46*u46)*(x2_46*x2_46)*x2_46) = 0; subject to c3_46: 0.00437*u46 / ((0.01+0.3*u46*u46) * (x2_46*x2_46) ) - 0.00437*(cos(x3_46)) / (1.62079*(0.01+0.3*u46*u46)*(x2_46*x2_46)*x2_46*x2_46) + 0.1*x3_45 - 0.1*x3_46 = 0; subject to c1_47: 0.00437*(cos(x3_47)) / (1.62079*(0.01+0.3*u47*u47)*x2_47*x2_47) + x1_46 - x1_47 = 0; subject to c2_47: -1.0 / x2_47 - (cos(x3_47)) / (1.62079*(0.01+0.3*u47*u47)*(x2_47*x2_47)*x2_47) = 0; subject to c3_47: 0.00437*u47 / ((0.01+0.3*u47*u47) * (x2_47*x2_47) ) - 0.00437*(cos(x3_47)) / (1.62079*(0.01+0.3*u47*u47)*(x2_47*x2_47)*x2_47*x2_47) + 0.1*x3_46 - 0.1*x3_47 = 0; subject to c1_48: 0.00437*(cos(x3_48)) / (1.62079*(0.01+0.3*u48*u48)*x2_48*x2_48) + x1_47 - x1_48 = 0; subject to c2_48: -1.0 / x2_48 - (cos(x3_48)) / (1.62079*(0.01+0.3*u48*u48)*(x2_48*x2_48)*x2_48) = 0; subject to c3_48: 0.00437*u48 / ((0.01+0.3*u48*u48) * (x2_48*x2_48) ) - 0.00437*(cos(x3_48)) / (1.62079*(0.01+0.3*u48*u48)*(x2_48*x2_48)*x2_48*x2_48) + 0.1*x3_47 - 0.1*x3_48 = 0; subject to c1_49: 0.00437*(cos(x3_49)) / (1.62079*(0.01+0.3*u49*u49)*x2_49*x2_49) + x1_48 - x1_49 = 0; subject to c2_49: -1.0 / x2_49 - (cos(x3_49)) / (1.62079*(0.01+0.3*u49*u49)*(x2_49*x2_49)*x2_49) = 0; subject to c3_49: 0.00437*u49 / ((0.01+0.3*u49*u49) * (x2_49*x2_49) ) - 0.00437*(cos(x3_49)) / (1.62079*(0.01+0.3*u49*u49)*(x2_49*x2_49)*x2_49*x2_49) + 0.1*x3_48 - 0.1*x3_49 = 0; subject to c1_50: 0.00437*(cos(x3_50)) / (1.62079*(0.01+0.3*u50*u50)*x2_50*x2_50) + x1_49 - x1_50 = 0; subject to c2_50: -1.0 / x2_50 - (cos(x3_50)) / (1.62079*(0.01+0.3*u50*u50)*(x2_50*x2_50)*x2_50) = 0; subject to c3_50: 0.00437*u50 / ((0.01+0.3*u50*u50) * (x2_50*x2_50) ) - 0.00437*(cos(x3_50)) / (1.62079*(0.01+0.3*u50*u50)*(x2_50*x2_50)*x2_50*x2_50) + 0.1*x3_49 - 0.1*x3_50 = 0; solve; display x1_0; display x2_0; display x3_0; display x1_1; display x2_1; display x3_1; display x1_2; display x2_2; display x3_2; display x1_3; display x2_3; display x3_3; display x1_4; display x2_4; display x3_4; display x1_5; display x2_5; display x3_5; display x1_6; display x2_6; display x3_6; display x1_7; display x2_7; display x3_7; display x1_8; display x2_8; display x3_8; display x1_9; display x2_9; display x3_9; display x1_10; display x2_10; display x3_10; display x1_11; display x2_11; display x3_11; display x1_12; display x2_12; display x3_12; display x1_13; display x2_13; display x3_13; display x1_14; display x2_14; display x3_14; display x1_15; display x2_15; display x3_15; display x1_16; display x2_16; display x3_16; display x1_17; display x2_17; display x3_17; display x1_18; display x2_18; display x3_18; display x1_19; display x2_19; display x3_19; display x1_20; display x2_20; display x3_20; display x1_21; display x2_21; display x3_21; display x1_22; display x2_22; display x3_22; display x1_23; display x2_23; display x3_23; display x1_24; display x2_24; display x3_24; display x1_25; display x2_25; display x3_25; display x1_26; display x2_26; display x3_26; display x1_27; display x2_27; display x3_27; display x1_28; display x2_28; display x3_28; display x1_29; display x2_29; display x3_29; display x1_30; display x2_30; display x3_30; display x1_31; display x2_31; display x3_31; display x1_32; display x2_32; display x3_32; display x1_33; display x2_33; display x3_33; display x1_34; display x2_34; display x3_34; display x1_35; display x2_35; display x3_35; display x1_36; display x2_36; display x3_36; display x1_37; display x2_37; display x3_37; display x1_38; display x2_38; display x3_38; display x1_39; display x2_39; display x3_39; display x1_40; display x2_40; display x3_40; display x1_41; display x2_41; display x3_41; display x1_42; display x2_42; display x3_42; display x1_43; display x2_43; display x3_43; display x1_44; display x2_44; display x3_44; display x1_45; display x2_45; display x3_45; display x1_46; display x2_46; display x3_46; display x1_47; display x2_47; display x3_47; display x1_48; display x2_48; display x3_48; display x1_49; display x2_49; display x3_49; display x1_50; display x2_50; display x3_50; display u0; display u1; display u2; display u3; display u4; display u5; display u6; display u7; display u8; display u9; display u10; display u11; display u12; display u13; display u14; display u15; display u16; display u17; display u18; display u19; display u20; display u21; display u22; display u23; display u24; display u25; display u26; display u27; display u28; display u29; display u30; display u31; display u32; display u33; display u34; display u35; display u36; display u37; display u38; display u39; display u40; display u41; display u42; display u43; display u44; display u45; display u46; display u47; display u48; display u49; display u50; display obj;