CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C This is an example call of MIDACO 6.0 C ------------------------------------- C C MIDACO solves Multi-Objective Mixed-Integer Non-Linear Problems: C C C Minimize F_1(X),... F_O(X) where X(1,...N-NI) is CONTINUOUS C and X(N-NI+1,...N) is DISCRETE C C subject to G_j(X) = 0 (j=1,...ME) equality constraints C G_j(X) >= 0 (j=ME+1,...M) inequality constraints C C and bounds XL <= X <= XU C C C The problem statement of this example is given below. You can use C this example as template to run your own problem. To do so: Replace C the objective functions 'F' (and in case the constraints 'G') given C here with your own problem and follow the below instruction steps. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCC MAIN PROGRAM CCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PROGRAM MAIN IMPLICIT NONE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C Dimensions of the optimization problem INTEGER O, N, NI, M, ME C Lower and upper bounds ('XL' & 'XU') and optimization variable 'X' DOUBLE PRECISION XL(1000), XU(1000), X(1000) C Objectives 'F(X)' and constraints 'G(X)' DOUBLE PRECISION F(10), G(1000) C MIDACO information and stop flags INTEGER IFLAG, ISTOP C MIDACO parameter DOUBLE PRECISION PARAM(13) C MIDACO integer 'IW' and real'RW' workspace and pareto front 'PF' INTEGER LIW, LRW, LPF PARAMETER (LIW = 50000, LRW = 50000, LPF = 50000) INTEGER IW(LIW) DOUBLE PRECISION RW(LRW),PF(LPF) C Parameter for stopping criteria, printing and license INTEGER MAXTIME, MAXEVAL, PRINTEVAL, SAVE2FILE, I CHARACTER*60 KEY KEY='************************************************************' CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC Step 1: Problem definition CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C Step 1.A : Problem dimensions C CCCCCCCCCCCCCCCCCCCCCCCCCCCCC O = 1 ! Number of objectives N = 69 ! Number of variables (in total) NI = 30 ! Number of integer variables (0 <= NI <= N) M = 72 ! Number of constraints (in total) ME = 9 ! Number of equality constraints (0 <= ME <= M) C C Step 1.B : Lower and upper bounds: 'XL' and 'XU' C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC do i = 1,39 xl(i) = 0.0d0 xu(i) = 3.0d0 enddo xu( 8)=300.0d0 xu(14)=300.0d0 xu(21)=300.0d0 do i = 40,n xl(i) = 0.0d0 xu(i) = 1.0d0 enddo C C Step 1.C : Starting point 'X' C CCCCCCCCCCCCCCCCCCCCCCCCCCCCC DO I = 1,N X(I) = XL(I) ! Here for example: starting point = lower bounds ENDDO CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC Step 2: Choose stopping criteria and printing options CCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C Step 2.A : Stopping criteria C CCCCCCCCCCCCCCCCCCCCCCCCCCCC MAXEVAL = 999999999 ! Maximum evaluation budget (e.g. 1000000) MAXTIME = 60*60*24 ! Maximum time limit (e.g. 60*60*24 = 1 Day) C C Step 2.B : Printing options C CCCCCCCCCCCCCCCCCCCCCCCCCCC PRINTEVAL = 50000 ! Print-Frequency for current best solution (e.g. 1000) SAVE2FILE = 1 ! Save SCREEN and SOLUTION to TXT-files [0=NO/1=YES] CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC Step 3: Choose MIDACO parameters (FOR ADVANCED USERS) CCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PARAM( 1) = 0.0D0 ! ACCURACY PARAM( 2) = 1.0D0 ! SEED PARAM( 3) = 13.97830588d0 ! FSTOP PARAM( 4) = 0.0D0 ! ALGOSTOP PARAM( 5) = 0.0D0 ! EVALSTOP PARAM( 6) = 0.0D0 ! FOCUS PARAM( 7) = 0.0D0 ! ANTS PARAM( 8) = 0.0D0 ! KERNEL PARAM( 9) = 0.0D0 ! ORACLE PARAM(10) = 0.0D0 ! PARETOMAX PARAM(11) = 0.0D0 ! EPSILON PARAM(12) = 0.0D0 ! BALANCE PARAM(13) = 0.0D0 ! CHARACTER CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C Call MIDACO by Reverse Communication C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C Print MIDACO headline with basic information CALL MIDACO_PRINT(1,PRINTEVAL,SAVE2FILE,IFLAG,ISTOP,F,G,X,XL, & XU,O,N,NI,M,ME,RW,PF,MAXEVAL,MAXTIME,PARAM,1,0,KEY) DO WHILE(ISTOP.EQ.0) !~~~Start~of~reverse~communication~loop C Evaluate Objective F(X) and constraints G(X) CALL PROBLEM_FUNCTION( F, G , X) C Call MIDACO CALL MIDACO(1,O,N,NI,M,ME,X,F,G,XL,XU,IFLAG, & ISTOP,PARAM,RW,LRW,IW,LIW,PF,LPF,KEY) C Call MIDACO printing routine CALL MIDACO_PRINT(2,PRINTEVAL,SAVE2FILE,IFLAG,ISTOP,F,G,X, & XL,XU,O,N,NI,M,ME,RW,PF,MAXEVAL,MAXTIME,PARAM,1,0,KEY) ENDDO !~~~~~~~~~~~~~~~~~~~~End~of~reverse~communication~loop CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC ! PRINT*," Solution F(1) = ", F(1) ! PRINT*," Solution G(1) = ", G(1) ! PRINT*," Solution X(1) = ", X(1) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC END CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC END OF MAIN CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCC OPTIMIZATION PROBLEM CCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE PROBLEM_FUNCTION(F,G,X) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC IMPLICIT NONE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC DOUBLE PRECISION F(*),G(*),X(*) CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC DOUBLE PRECISION Y(200), / b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, / b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, / b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, / x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, / x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, / x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, / x62, x63, x64, x65, x66, x67, x68, x69, x70, / e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, / e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, / e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, / e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, / e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, / e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, / e61, e62, e63, e64, e65, e66, e67, e68, e69, e70, / e71, e72 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC INTEGER I CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC do i=1,30 y(i) = x(39+i) enddo x31 = x(1) x32 = x(2) x33 = x(3) x34 = x(4) x35 = x(5) x36 = x(6) x37 = x(7) x38 = x(8) x39 = x(9) x40 = x(10) x41 = x(11) x42 = x(12) x43 = x(13) x44 = x(14) x45 = x(15) x46 = x(16) x47 = x(17) x48 = x(18) x49 = x(19) x50 = x(20) x51 = x(21) x52 = x(22) x53 = x(23) x54 = x(24) x55 = x(25) x56 = x(26) x57 = x(27) x58 = x(28) x59 = x(29) x60 = x(30) x62 = x(31) x63 = x(32) x64 = x(33) x65 = x(34) x66 = x(35) x67 = x(36) x68 = x(37) x69 = x(38) x70 = x(39) b1 = y(1) b2 = y(2) b3 = y(3) b4 = y( 4) b5 = y( 5) b6 = y( 6) b7 = y( 7) b8 = y( 8) b9 = y( 9) b10 = y(10) b11 = y(11) b12 = y(12) b13 = y(13) b14 = y(14) b15 = y(15) b16 = y(16) b17 = y(17) b18 = y(18) b19 = y(19) b20 = y(20) b21 = y(21) b22 = y(22) b23 = y(23) b24 = y(24) b25 = y(25) b26 = y(26) b27 = y(27) b28 = y(28) b29 = y(29) b30 = y(30) f(1) = x62 + x63 + x64 + x65 + x66 + x67 + x68 + x69 + 2.0d0*x70 e1 = -((5.02d0 + (-0.0003d0*x31) - 0.0007d0*x32 - 0.0066d0*x33 / - 0.0044d0*x34 - 0.0208d0*x35 - 0.0518d0*x36 - 0.0036d0*x37 / - 0.0507d0*x38 - 0.0905d0*x39 - 0.0016d0*x40)*(5.02d0 / + (-0.0003d0*x31) - 0.0007d0*x32 - 0.0066d0*x33 / - 0.0044d0*x34 - 0.0208d0*x35 - 0.0518d0*x36 - 0.0036d0*x37 / - 0.0507d0*x38 - 0.0905d0*x39 - 0.0016d0*x40) + (0.97d0 / + (-0.0003d0*x41) - 0.0007d0*x42 - 0.0066d0*x43 / - 0.0044d0*x44 - 0.0208d0*x45 - 0.0518d0*x46 - 0.0036d0*x47 / - 0.0507d0*x48 - 0.0905d0*x49 - 0.0016d0*x50)*(0.97d0 / + (-0.0003d0*x41) - 0.0007d0*x42 - 0.0066d0*x43 / - 0.0044d0*x44 - 0.0208d0*x45 - 0.0518d0*x46 - 0.0036d0*x47 / - 0.0507d0*x48 - 0.0905d0*x49 - 0.0016d0*x50) / + (-0.0003d0*x51 - 0.0007d0*x52 - 0.0066d0*x53 / - 0.0044d0*x54 - 0.0208d0*x55 - 0.0518d0*x56 - 0.0036d0*x57 / - 0.0507d0*x58 - 0.0905d0*x59 - 0.0016d0*x60)*(-0.0003d0*x51 / - 0.0007d0*x52 - 0.0066d0*x53 - 0.0044d0*x54 - 0.0208d0*x55 / - 0.0518d0*x56 - 0.0036d0*x57 - 0.0507d0*x58 - 0.0905d0*x59 / - 0.0016d0*x60)) + x62 e2 = -((2.04d0 + (-0.0764d0*x31) - 0.0003d0*x32 - 0.0789d0*x33 / - 0.0186d0*x34 - 0.0605d0*x35 - 0.1656d0*x36 - 0.0035d0*x37 / - 0.0361d0*x38 - 0.06d0*x39 - 0.0209d0*x40)*(2.04d0 / + (-0.0764d0*x31) - 0.0003d0*x32 - 0.0789d0*x33 / - 0.0186d0*x34 - 0.0605d0*x35 - 0.1656d0*x36 - 0.0035d0*x37 / - 0.0361d0*x38 - 0.06d0*x39 - 0.0209d0*x40) + (3.51d0 / + (-0.0764d0*x41) - 0.0003d0*x42 - 0.0789d0*x43 / - 0.0186d0*x44 - 0.0605d0*x45 - 0.1656d0*x46 - 0.0035d0*x47 / - 0.0361d0*x48 - 0.06d0*x49 - 0.0209d0*x50)*(3.51d0 / + (-0.0764d0*x41) - 0.0003d0*x42 - 0.0789d0*x43 / - 0.0186d0*x44 - 0.0605d0*x45 - 0.1656d0*x46 - 0.0035d0*x47 / - 0.0361d0*x48 - 0.06d0*x49 - 0.0209d0*x50) + (2.2d0 / + (-0.0764d0*x51) - 0.0003d0*x52 - 0.0789d0*x53 / - 0.0186d0*x54 - 0.0605d0*x55 - 0.1656d0*x56 - 0.0035d0*x57 / - 0.0361d0*x58 - 0.06d0*x59 - 0.0209d0*x60)*(2.2d0 / + (-0.0764d0*x51) - 0.0003d0*x52 - 0.0789d0*x53 / - 0.0186d0*x54 - 0.0605d0*x55 - 0.1656d0*x56 - 0.0035d0*x57 / - 0.0361d0*x58 - 0.06d0*x59 - 0.0209d0*x60)) + x63 e3 = -((3.53d0 + (-0.0318d0*x31) - 0.0004d0*x32 - 0.0275d0*x33 / - 0.018d0*x34 - 0.0601d0*x35 - 0.1491d0*x36 - 0.0032d0*x37 / - 0.0433d0*x38 - 0.0754d0*x39 - 0.0063d0*x40)*(3.53d0 / + (-0.0318d0*x31) - 0.0004d0*x32 - 0.0275d0*x33 / - 0.018d0*x34 - 0.0601d0*x35 - 0.1491d0*x36 - 0.0032d0*x37 / - 0.0433d0*x38 - 0.0754d0*x39 - 0.0063d0*x40) + (3.51d0 / + (-0.0318d0*x41) - 0.0004d0*x42 - 0.0275d0*x43 - 0.018d0*x44 / - 0.0601d0*x45 - 0.1491d0*x46 - 0.0032d0*x47 - 0.0433d0*x48 / - 0.0754d0*x49 - 0.0063d0*x50)*(3.51 + (-0.0318d0*x41) / - 0.0004d0*x42 - 0.0275d0*x43 - 0.018d0*x44 - 0.0601d0*x45 / - 0.1491d0*x46 - 0.0032d0*x47 - 0.0433d0*x48 - 0.0754d0*x49 / - 0.0063d0*x50) + (0.8d0 + (-0.0318d0*x51) - 0.0004d0*x52 / - 0.0275d0*x53 - 0.018d0*x54 - 0.0601d0*x55 - 0.1491d0*x56 / - 0.0032d0*x57 - 0.0433d0*x58 - 0.0754d0*x59 - 0.0063d0*x60) / *(0.8d0 + (-0.0318d0*x51) - 0.0004d0*x52 - 0.0275d0*x53 / - 0.018d0*x54 - 0.0601d0*x55 - 0.1491d0*x56 - 0.0032d0*x57 / - 0.0433d0*x58 - 0.0754d0*x59 - 0.0063d0*x60)) + x64 e4 = -((7.02d0 + (-0.0007d0*x31) - 0.0009d0*x32 - 0.0043d0*x33 / - 0.0179d0*x34 - 0.0604d0*x35 - 0.1385d0*x36 - 0.0051d0*x37 / - 0.0635d0*x38 - 0.1098d0*x39 - 0.001d0*x40)*(7.02d0 / + (-0.0007d0*x31) - 0.0009d0*x32 - 0.0043d0*x33 / - 0.0179d0*x34 - 0.0604d0*x35 - 0.1385d0*x36 - 0.0051d0*x37 / - 0.0635d0*x38 - 0.1098d0*x39 - 0.001d0*x40) + (3.51d0 / + (-0.0007d0*x41) - 0.0009d0*x42 - 0.0043d0*x43 / - 0.0179d0*x44 - 0.0604d0*x45 - 0.1385d0*x46 - 0.0051d0*x47 / - 0.0635d0*x48 - 0.1098d0*x49 - 0.001d0*x50)*(3.51d0 / + (-0.0007d0*x41) - 0.0009d0*x42 - 0.0043d0*x43 / - 0.0179d0*x44 - 0.0604d0*x45 - 0.1385d0*x46 - 0.0051d0*x47 / - 0.0635d0*x48 - 0.1098d0*x49 - 0.001d0*x50) + (-0.0007d0*x51 / - 0.0009d0*x52 - 0.0043d0*x53 - 0.0179d0*x54 - 0.0604d0*x55 / - 0.1385d0*x56 - 0.0051d0*x57 - 0.0635d0*x58 - 0.1098d0*x59 / - 0.001d0*x60)*(-0.0007d0*x51 - 0.0009d0*x52 / - 0.0043d0*x53 - 0.0179d0*x54 - 0.0604d0*x55 - 0.1385d0*x56 / - 0.0051d0*x57 - 0.0635d0*x58 - 0.1098d0*x59 - 0.001d0*x60)) / + x65 e5 = -((-0.0534d0*x31 - 0.0005d0*x32 - 0.0704d0*x33 - 0.0351d0*x34 / - 0.0981d0*x35 - 0.2389d0*x36 - 0.0015d0*x37 - 0.0048d0*x38 / - 0.0038d0*x39 - 0.0132d0*x40)*(-0.0534d0*x31 - 0.0005d0*x32 / - 0.0704d0*x33 - 0.0351d0*x34 - 0.0981d0*x35 - 0.2389d0*x36 / - 0.0015d0*x37 - 0.0048d0*x38 - 0.0038d0*x39 - 0.0132d0*x40) / + (7d0 + (-0.0534d0*x41) - 0.0005d0*x42 - 0.0704d0*x43 / - 0.0351d0*x44 - 0.0981d0*x45 - 0.2389d0*x46 - 0.0015d0*x47 / - 0.0048d0*x48 - 0.0038d0*x49 - 0.0132d0*x50)*(7d0 / + (-0.0534d0*x41) - 0.0005d0*x42 - 0.0704d0*x43 / - 0.0351d0*x44 - 0.0981d0*x45 - 0.2389d0*x46 - 0.0015d0*x47 / - 0.0048d0*x48 - 0.0038d0*x49 - 0.0132d0*x50) + (1.4d0 / + (-0.0534d0*x51) - 0.0005d0*x52 - 0.0704d0*x53 / - 0.0351d0*x54 - 0.0981d0*x55 - 0.2389d0*x56 - 0.0015d0*x57 / - 0.0048d0*x58 - 0.0038d0*x59 - 0.0132d0*x60)*(1.4d0 / + (-0.0534d0*x51) - 0.0005d0*x52 - 0.0704d0*x53 / - 0.0351d0*x54 - 0.0981d0*x55 - 0.2389d0*x56 - 0.0015d0*x57 / - 0.0048d0*x58 - 0.0038d0*x59 - 0.0132d0*x60)) + x66 e6 = -((10.16d0 + (-0.0773d0*x31) - 0.0009d0*x32 - 0.0683d0*x33 / - 0.0024d0*x34 - 0.0025d0*x35 - 0.0248d0*x36 - 0.0094d0*x37 / - 0.0891d0*x38 - 0.1443d0*x39 - 0.0203d0*x40)*(10.16d0 / + (-0.0773d0*x31) - 0.0009d0*x32 - 0.0683d0*x33 / - 0.0024d0*x34 - 0.0025d0*x35 - 0.0248d0*x36 - 0.0094d0*x37 / - 0.0891d0*x38 - 0.1443d0*x39 - 0.0203d0*x40) / + (-0.0773d0*x41 - 0.0009d0*x42 - 0.0683d0*x43 / - 0.0024d0*x44 - 0.0025d0*x45 - 0.0248d0*x46 - 0.0094d0*x47 / - 0.0891d0*x48 - 0.1443d0*x49 - 0.0203d0*x50)*(-0.0773d0*x41 / - 0.0009d0*x42 - 0.0683d0*x43 - 0.0024d0*x44 - 0.0025d0*x45 / - 0.0248d0*x46 - 0.0094d0*x47 - 0.0891d0*x48 - 0.1443d0*x49 / - 0.0203d0*x50) + (2.2 + (-0.0773d0*x51) - 0.0009d0*x52 / - 0.0683d0*x53 - 0.0024d0*x54 - 0.0025d0*x55 - 0.0248d0*x56 / - 0.0094d0*x57 - 0.0891d0*x58 - 0.1443d0*x59 - 0.0203d0*x60) / *(2.2d0 + (-0.0773d0*x51) - 0.0009d0*x52 - 0.0683d0*x53 / - 0.0024d0*x54 - 0.0025d0*x55 - 0.0248d0*x56 - 0.0094d0*x57 / - 0.0891d0*x58 - 0.1443d0*x59 - 0.0203d0*x60)) + x67 e7 = -((1.04d0 + (-0.0536d0*x31) - 0.0005d0*x32 - 0.0842d0*x33 / - 0.0108d0*x34 - 0.0394d0*x35 - 0.1122d0*x36 - 0.0015d0*x37 / - 0.0213d0*x38 - 0.042d0*x39 - 0.0139d0*x40)*(1.04d0 / + (-0.0536d0*x31) - 0.0005d0*x32 - 0.0842d0*x33 / - 0.0108d0*x34 - 0.0394d0*x35 - 0.1122d0*x36 - 0.0015d0*x37 / - 0.0213d0*x38 - 0.042d0*x39 - 0.0139d0*x40) + (2.01d0 / + (-0.0536d0*x41) - 0.0005d0*x42 - 0.0842d0*x43 / - 0.0108d0*x44 - 0.0394d0*x45 - 0.1122d0*x46 - 0.0015d0*x47 / - 0.0213d0*x48 - 0.042d0*x49 - 0.0139d0*x50)*(2.01d0 / + (-0.0536d0*x41) - 0.0005d0*x42 - 0.0842d0*x43 / - 0.0108d0*x44 - 0.0394d0*x45 - 0.1122d0*x46 - 0.0015d0*x47 / - 0.0213d0*x48 - 0.042d0*x49 - 0.0139d0*x50) + (1.4d0 / + (-0.0536d0*x51) - 0.0005d0*x52 - 0.0842d0*x53 / - 0.0108d0*x54 - 0.0394d0*x55 - 0.1122d0*x56 - 0.0015d0*x57 / - 0.0213d0*x58 - 0.042d0*x59 - 0.0139d0*x60)*(1.4d0 / + (-0.0536d0*x51) - 0.0005d0*x52 - 0.0842d0*x53 / - 0.0108d0*x54 - 0.0394d0*x55 - 0.1122d0*x56 - 0.0015d0*x57 / - 0.0213d0*x58 - 0.042d0*x59 - 0.0139d0*x60)) + x68 e8 = -((2.04d0 + (-0.032d0*x31) - 0.0003d0*x32 - 0.0309d0*x33 / - 0.0052d0*x34 - 0.0221d0*x35 - 0.0633d0*x36 - 0.0024d0*x37 / - 0.031d0*x38 - 0.0574d0*x39 - 0.0057d0*x40)*(2.04d0 / + (-0.032d0*x31) - 0.0003d0*x32 - 0.0309d0*x33 / - 0.0052d0*x34 - 0.0221d0*x35 - 0.0633d0*x36 - 0.0024d0*x37 / - 0.031d0*x38 - 0.0574d0*x39 - 0.0057d0*x40) + (0.97d0 / + (-0.032d0*x41) - 0.0003d0*x42 - 0.0309d0*x43 / - 0.0052d0*x44 - 0.0221d0*x45 - 0.0633d0*x46 / - 0.0024d0*x47 - 0.031d0*x48 - 0.0574d0*x49 - 0.0057d0*x50) / *(0.97d0 + (-0.032d0*x41) - 0.0003d0*x42 - 0.0309d0*x43 / - 0.0052d0*x44 - 0.0221d0*x45 - 0.0633d0*x46 - 0.0024d0*x47 / - 0.031d0*x48 - 0.0574d0*x49 - 0.0057d0*x50) + (0.8d0 / + (-0.032d0*x51) - 0.0003d0*x52 - 0.0309d0*x53 / - 0.0052d0*x54 - 0.0221d0*x55 - 0.0633d0*x56 - 0.0024d0*x57 / - 0.031d0*x58 - 0.0574d0*x59 - 0.0057d0*x60)*(0.8d0 / + (-0.032d0*x51) - 0.0003d0*x52 - 0.0309d0*x53 / - 0.0052d0*x54 - 0.0221d0*x55 - 0.0633d0*x56 - 0.0024d0*x57 / - 0.031d0*x58 - 0.0574d0*x59 - 0.0057d0*x60)) + x69 e9 = x31 e10 = x32 e11 = x33 e12 = x34 e13 = x35 e14 = x36 e15 = x37 e16 = x38 e17 = x39 e18 = x40 e19 = x41 e20 = x42 e21 = x43 e22 = x44 e23 = x45 e24 = x46 e25 = x47 e26 = x48 e27 = x49 e28 = x50 e29 = x51 e30 = x52 e31 = x53 e32 = x54 e33 = x55 e34 = x56 e35 = x57 e36 = x58 e37 = x59 e38 = x60 e39 = -1000d0*b1 + x31 e40 = -1000d0*b2 + x32 e41 = -1000d0*b3 + x33 e42 = -1000d0*b4 + x34 e43 = -1000d0*b5 + x35 e44 = -1000d0*b6 + x36 e45 = -1000d0*b7 + x37 e46 = -1000d0*b8 + x38 e47 = -1000d0*b9 + x39 e48 = -1000d0*b10 + x40 e49 = -1000d0*b11 + x41 e50 = -1000d0*b12 + x42 e51 = -1000d0*b13 + x43 e52 = -1000d0*b14 + x44 e53 = -1000d0*b15 + x45 e54 = -1000d0*b16 + x46 e55 = -1000d0*b17 + x47 e56 = -1000d0*b18 + x48 e57 = -1000d0*b19 + x49 e58 = -1000d0*b20 + x50 e59 = -1000d0*b21 + x51 e60 = -1000d0*b22 + x52 e61 = -1000d0*b23 + x53 e62 = -1000d0*b24 + x54 e63 = -1000d0*b25 + x55 e64 = -1000d0*b26 + x56 e65 = -1000d0*b27 + x57 e66 = -1000d0*b28 + x58 e67 = -1000d0*b29 + x59 e68 = -1000d0*b30 + x60 e69 = b1 + b2 + b3 + b4 + b5 + b6 + b7 + b8 + b9 + b10 e70 = b11 + b12 + b13 + b14 + b15 + b16 + b17 + b18 + b19 + b20 e71 = b21 + b22 + b23 + b24 + b25 + b26 + b27 + b28 + b29 + b30 e72 = -b1 - b2 - b3 - b4 - b5 - b6 - b7 - b8 - b9 - b10 - b11 / - b12 - b13 - b14 - b15 - b16 - b17 - b18 - b19 - b20 - b21 / - b22 - b23 - b24 - b25 - b26 - b27 - b28 - b29 - b30 + x70 g(1) = e1 g(2) = e2 g(3) = e3 g(4) = e4 g(5) = e5 g(6) = e6 g(7) = e7 g(8) = e8 g(9) = e72 g(10) = e9 g(11) = e10 g(12) = e11 g(13) = e12 g(14) = e13 g(15) = e14 g(16) = e15 g(17) = e16 g(18) = e17 g(19) = e18 g(20) = e19 g(21) = e20 g(22) = e21 g(23) = e22 g(24) = e23 g(25) = e24 g(26) = e25 g(27) = e26 g(28) = e27 g(29) = e28 g(30) = e29 g(31) = e30 g(32) = e31 g(33) = e32 g(34) = e33 g(35) = e34 g(36) = e35 g(37) = e36 g(38) = e37 g(39) = e38 g(40) = -e39 g(41) = -e40 g(42) = -e41 g(43) = -e42 g(44) = -e43 g(45) = -e44 g(46) = -e45 g(47) = -e46 g(48) = -e47 g(49) = -e48 g(50) = -e49 g(51) = -e50 g(52) = -e51 g(53) = -e52 g(54) = -e53 g(55) = -e54 g(56) = -e55 g(57) = -e56 g(58) = -e57 g(59) = -e58 g(60) = -e59 g(61) = -e60 g(62) = -e61 g(63) = -e62 g(64) = -e63 g(65) = -e64 g(66) = -e65 g(67) = -e66 g(68) = -e67 g(69) = -e68 g(70) = e69 g(71) = e70 g(72) = e71 END CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC END OF FILE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC