Page 59 - 4729
P. 59

690 HH==QX


               700 " ЗНАХОДИМО ЧЕРГОВУ ТОЧКУ
               710 BB = HH


               720 FOR 1=1 ТО N

               730 Q(I)=P(I)+BB*D(I) :X(I)=Q(I) : NEXT I

               750 GOSUB 2000:FQ = Z

               760 GOSUB 3000:G2 = GO

               770 GQ = 0

               780 FOR I = 1 TO N

               790 GQ = GQ+G(I)*D(I)

               800 NEXT I

               810 IF GQ>0 OR FQ>FP THEN 860

               815 " ВИКОНАТИ   ІТЕРАЦІЮ  З   ПОДВОЄНИМ   КРОКОМ   І   ПЕРЕЙТИ

               817 " ДО ТОЧКИ Q   АБО   ПОДВОЇТИ КРОК,  ЩОБ ЛОКАЛІЗУВАТИ

               МІНІМУМ

               820 НН = 2*НН

               830 FOR I = 1 ТО N:P(I)=Q(I) : NEXT I

               840 FP = FQ:GP = GQ:G1 = G2

               850 GOTO 710

               860 ZZ=3*(FP—FQ)/HH:ZZ=ZZ+GP+GQ

               870 WW = ZZ*ZZ—GP*GQ: IF WW<0 THEN WW = 0

               880 W=SQR(WW)

               890 DD = HH*(1—(GQ + W—ZZ)/(GQ—GP+2*W))

               900 FOR I = 1 TO N:X(I)=P(I)+DD*D(I) : NEXT I

               910 GOSUB 2000:FR = Z

               920 GOSUB 3000:G3 = GO

               925 " ЗНАХОДИМО ГРАДІЄНТ У НОВІЙ ТОЧЦІ

               930 GR = 0

               940 FOR I= 1 ТО N : GR = GR + G(I)*D(I) : NEXT I

               950 IF Z<=FP AND Z<FQ THEN 1100


                                                              58
   54   55   56   57   58   59   60   61   62   63   64