?? ?
字號:
約束隨機方向法--已經調試好!
變量含義:
N--維數
AL0-初始步長(1??)
E--精度
KG--約束總數
M-最大隨機方向數(20--100)
X01 X02設計變量
有“!!!!”處語句為用戶應該修改的部分
400 REM MAIN PROGRAM
401 PRINT"INPUT:N,AL0,E,KG,M"
402 INPUT N,AL0,E,KG,M
404 DIM X(N),G(KG),X0(N),S(N),Y(N)
405 PRINT "INPUT:X01,X02":REM !!!!!
406 INPUT X0(1),X0(2)
407 PRINT "PRIMAL DATA"
408 PRINT "N=";N,"AL0=";AL0,"E=";E,"KG=";KG,"M=";M
409 PRINT "X01=";X0(1),"X02=";X0(2):REM !!!!!
410 GOSUB 4200
412 PRINT "OPTIMUM RESULTS"
414 PRINT"X1=";X0(1),"X2=";X0(2),"F=";F0:REM !!!!!
420 END
4200 REM FILE NAME :CRR
4202 REM CONSTRAINED RANDOM RAY METHOD
4210 AL=AL0
4220 FOR I=1 TO N
4230 X(I)=X0(I)
4240 NEXT I:GOSUB 8000
4400 FOR I=1 TO KG
4401 IF G(I)<0 GOTO 4458
4402 NEXT I:F0=FX
4408 K=1:J=0
4409 SM=0
4410 FOR I=1 TO N
4412 Y(I)=-1+2*RND(1)
4414 SM=SM+Y(I)^2
4416 NEXT I
4418 FOR I=1 TO N
4420 S(I)=Y(I)/SQR(SM):X(I)=X0(I)+AL*S(I)
4422 NEXT I
4424 GOSUB 8000:F=FX
4425 FOR I=1 TO KG
4426 IF G(I)>=0 GOTO 4428
4427 GOTO 4432
4428 NEXT I
4430 IF F<F0 GOTO 4446
4432 IF J=0 GOTO 4436
4434 GOTO 4408
4436 K=K+1
4438 IF K>M GOTO 4442
4440 GOTO 4409
4442 IF AL<E GOTO 4460
4444 AL=AL/2:GOTO 4408
4446 FOR I=1 TO N
4448 X0(I)=X(I)
4450 NEXT I:F0=F:J=1
4452 FOR I=1 TO N
4454 X(I)=X0(I)+AL*S(I)
4456 NEXT I:GOTO 4424
4458 LPRINT "NON-FEASIBLE INITIAL POINT"
4460 RETURN
8000 FX=(X(1)-8)^2+(X(2)-8)^2:REM !!!!!
8004 G(1)=X(1):REM !!!!!
8006 G(2)=X(2)-1:REM !!!!!
8008 G(3)=11-X(1)-X(2):REM !!!!!
8020 RETURN
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -