บทที่ 4...
DESCRIPTION
บทที่ 4 การหาจุดต่ำที่สุดของฟังก์ชั่นที่ไม่มีข้อจำกัด ด้วยวิธีการเชิงตัวเลข. ดุลยโชติ ชลศึกษ์ Mechanical Engineering Department Thammasat University. หัวข้อ. การหาจุดต่ำที่สุดของฟังก์ชั่น ตัวแปรเดียว ด้วยวิธีการเชิงตัวเลข. การหาจุดต่ำที่สุดของฟังก์ชั่น หลายตัวแปร ด้วยวิธีการเชิงตัวเลข. - PowerPoint PPT PresentationTRANSCRIPT
ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME 654OPTIMUM DESIGN OFMECHANICAL PARTS
บทท�� 4การหาจุ�ดต่ำ��าท��สุ�ดของฟั�งก�ชั่��นท��
ไม่�ม่�ข�อจุ�าก�ดด�วยว�ธี�การเชั่�งต่ำ�วเลข
ด�ลยโชั่ต่ำ� ชั่ลศึ%กษ์�Mechanical Engineering Department
Thammasat University
Module 4 : Numerical Method for Unconstrained Optimization
2 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ห�วข�อ
การหาจุ�ดต่ำ��าท��สุ�ดของฟั�งก�ชั่��นต่ำ�วแปรเด�ยว
ด�วยว�ธี�การเชั่�งต่ำ�วเลข การหาจุ�ดต่ำ��าท��สุ�ดของฟั�งก�ชั่��น
หลายต่ำ�วแปรด�วยว�ธี�การเชั่�งต่ำ�วเลข
Module 4 : Numerical Method for Unconstrained Optimization
3 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
การหาจุ�ดต่ำ��าท��สุ�ดของฟั�งก�ชั่��น ต่ำ�วแปรเด�ยว ด�วยว�ธี�การเชั่�งต่ำ�วเลข 1
ว�ธี�ต่ำ�ดคร%�ง ว�ธี�ต่ำ�ดสุ�วนทอง ว�ธี�ประม่าณด�วยพาราโบลา ว�ธี�ของน�วต่ำ�น
x
f(x)
Module 4 : Numerical Method for Unconstrained Optimization
4 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ต่ำ�ดคร%�ง1. หาจุ�ด 3 จุ�ดเรียงกั น A B C โดยที่�จุ�ด B อย��ต่ำ��าที่�สุ�ด
2. หาจุ�ด D โดยกัารีแบ่�งครี��งช่�วง -A B3. เรียกัจุ�ดที่�ต่ำ��าที่�สุ�ดเป็ นจุ�ด B ใหม่� จุ�ดที่�อย��ข้$างซ้$ายข้องจุ�ด B เป็ นจุ�ด Aและข้$างข้วาเป็ นจุ�ด C
Module 4 : Numerical Method for Unconstrained Optimization
5 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ต่ำ�ดคร%�ง (2) ที่�ากัารีหาจุ�ด D โดยสุล บ่ไป็แบ่�งครี��งช่�วง - B C ต่ำาม่รี�ป็ 4.1ให$เรียกัจุ�ดที่�ต่ำ��าที่�สุ�ดเป็ นจุ�ด B ใหม่� จุ�ดที่�อย��ข้$างซ้$ายข้องจุ�ด Bเป็ นจุ�ด A และข้$างข้วาเป็ นจุ�ด C
Module 4 : Numerical Method for Unconstrained Optimization
6 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ต่ำ�ดคร%�ง(3)
ที่�าซ้�)าไป็เรี*�อยๆจุนได$ความ่ละเอยดที่�ต่ำ$องกัารี
Module 4 : Numerical Method for Unconstrained Optimization
7 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
โปรแกรม่ Bisection C BRACKETING
DO 100 I=1,MAXITERXC=XB+STEPCALL OBJFNC(XC,FC)IF (ABS(FC-FB).LT.FTOL) GOTO 200IF (FC.GT.FB) GOTO 200
XA=XBFA=FBXB=XCFB=FC
100 CONTINUEC BISECTION200 XD=(XC+XB)/2
CALL OBJFNC(XD,FD)IF (FD.LT.FB) THENXA=XBFA=FBXB=XDFB=FDELSE
XC=XDFC=FDENDIFXD=(XA+XB)/2CALL OBJFNC(XD,FD)IF (FD.LT.FB) THENXC=XBFC=FBXB=XDFB=FDELSEXA=XDFA=FDENDIFI=I+1IF (I.GT.MAXITER) GOTO 300IF (ABS(FA-F0).LT.FTOL) GOTO 300
Module 4 : Numerical Method for Unconstrained Optimization
8 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ต่ำ�ดสุ�วนทอง
สุม่ม่�ต่ำ,ว�าสุ ดสุ�วนรีะหว�างรีะยะ A-B และ B-C เป็ น
wac
ab
และสุม่ม่�ต่ำ,ว�าที่�ากัารีแบ่�งช่�วง B-C ที่�จุ�ด D โดยม่สุ ดสุ�วน
wac
bc
1
zac
bd
Module 4 : Numerical Method for Unconstrained Optimization
9 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ต่ำ�ดสุ�วนทอง (2)
ต่ำ$องกัารีให$ความ่กัว$างข้องช่�วงกัารีค$นหาลดลงอย�างสุม่��าเสุม่อ จุะต่ำ$องกั�าหนดให$
wzw 1 หรี*อ
wz 21
wbc
bd
รี กัษาสุ ดสุ�วนกัารีค$นหาต่ำาม่เด,ม่
ww
z
1 หรี*อ
Module 4 : Numerical Method for Unconstrained Optimization
10 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ต่ำ�ดสุ�วนทอง (3)
wzw 1
ww
z
1
แกั$สุม่กัารีที่ )งสุอง จุะได$
0132 ww
38197.02
53
w
Module 4 : Numerical Method for Unconstrained Optimization
11 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ต่ำ�ดสุ�วนทอง (4)
สุ ดสุ�วน w = 0.38197 เรียกัว�าสุ ดสุ�วนที่อง (Golden Ratio)
ในกัารีค$นหาแต่ำ�ละรีอบ่ความ่กัว$างข้องช่�วงที่�ค$นหาจุะลดลงเหล*อ 0.61803 เที่�าข้องช่�วงเด,ม่
เสุม่อ
ในกัารีค$นหาแบ่บ่ต่ำ ดครี��งช่�วงกัว$างจุะลดลงด$วยสุ ดสุ�วนที่�ไม่�แน�นอน
ค*ออาจุลดลงเหล*อ 0.75 หรี*อ 0.5 เที่�าข้องช่�วงเด,ม่แล$วแต่ำ�จุ งหวะข้องกัารีค$นหา
Module 4 : Numerical Method for Unconstrained Optimization
12 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ของน�วต่ำ�น
)(2
1)()()( 02000 xfxfxfxf
0)(2
1)(
)()( 0000
xfxfxfxf
ป็รีะม่าณฟั0งกั1ช่ �นด$วยอน�กัรีม่ข้องเที่ย1เลอรี1
ที่�จุ�ดต่ำ��าที่�สุ�ด ความ่ช่ นเป็ นศู�นย1 ใช่$ Forward Difference
)(
)(0
0
xf
xf
Module 4 : Numerical Method for Unconstrained Optimization
13 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ต่ำ�วอย�าง 4.1
Module 4 : Numerical Method for Unconstrained Optimization
14 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ต่ำ�วอย�าง 4.1 (2)
Module 4 : Numerical Method for Unconstrained Optimization
15 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ต่ำ�วอย�าง 4.1 (3)
Module 4 : Numerical Method for Unconstrained Optimization
16 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
การบ�าน 4
Module 4 : Numerical Method for Unconstrained Optimization
17 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
การหาจุ�ดต่ำ��าท��สุ�ดของฟั�งก�ชั่��นหลาย ต่ำ�วแปร ด�วยว�ธี�การเชั่�งต่ำ�วเลข 2
Module 4 : Numerical Method for Unconstrained Optimization
18 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ค�นหาท�ละท�ศึทาง
Module 4 : Numerical Method for Unconstrained Optimization
19 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ต่ำ�วอย�าง 4.2
Module 4 : Numerical Method for Unconstrained Optimization
20 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ต่ำ�วอย�าง 4.2 (2)
Module 4 : Numerical Method for Unconstrained Optimization
21 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ลงทางชั่�นท��สุ�ด
Module 4 : Numerical Method for Unconstrained Optimization
22 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ลงทางชั่�นท��สุ�ด (2)
Module 4 : Numerical Method for Unconstrained Optimization
23 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ต่ำ�วอย�าง 4.3
Module 4 : Numerical Method for Unconstrained Optimization
24 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ต่ำ�วอย�าง 4.3 (2)
Module 4 : Numerical Method for Unconstrained Optimization
25 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ป�ญหาของว�ธี�ลงทางชั่�นท��สุ�ดการเด�นแบบซิ�กแซิก
Module 4 : Numerical Method for Unconstrained Optimization
26 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�เกรเด�/ยนร�วม่
Module 4 : Numerical Method for Unconstrained Optimization
27 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�เกรเด�/ยนร�วม่ (2)
Module 4 : Numerical Method for Unconstrained Optimization
28 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ต่ำ�วอย�าง 4.5
Module 4 : Numerical Method for Unconstrained Optimization
29 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ต่ำ�วอย�าง 4.5 (2)
Module 4 : Numerical Method for Unconstrained Optimization
30 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
เปร�ยบเท�ยบการล0�เข�า
Module 4 : Numerical Method for Unconstrained Optimization
31 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
เปร�ยบเท�ยบการล0�เข�า
Module 4 : Numerical Method for Unconstrained Optimization
32 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
การเข�ยนโปรแกรม่PROGRAM CONJUGPARAMETER N=2DIMENSION X(N),X1(N),G(N),D(N),G0(N),D0(N)
C SPECIFY OPTIMIZATION PARAMETERSMAXITER=100XTOL=0.00001FTOL=0.00001GTOL=0.00001F0=1.E9
C SPECIFY INITIAL VALUE OF VARIABLESX(1)=-1X(2)=1OPEN (2,FILE='CONOUT.TXT')OPEN(3,FILE='CONLOG.TXT')
C EVALUATE THE INITIAL POINTCALL OBJFNC(X,N,F)
C START STEEPEST DIRECTION PROCESS DO 200 J=1,MAXITER
WRITE(2,*) J,(X(I),I=1,N),FWRITE(*,*) J,(X(I),I=1,N),FIFLAG=0
C EVALUATE GRADIENTCALL GRADF(X,N,G)
Module 4 : Numerical Method for Unconstrained Optimization
33 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
การเข�ยนโปรแกรม่C FIND SIZE OF G
SIZEG=0DO 110 I=1,N
110 SIZEG=SIZEG+G(I)*G(I)SIZEG=SQRT(SIZEG)
C EXIT CONDITION 1IF (ABS(SIZEG).LT.GTOL) GOTO 600
C COMPUTE CONJUGATE DIRECTIONIF (J.EQ.1) THENDO 112 I=1,ND(I)=-G(I)D0(I)=-G(I)
112 G0(I)=G(I)SIZEG0=SIZEGELSEBETA=(SIZEG/SIZEG0)**2DO 114 I=1,ND(I)=-G(I)+BETA*D0(I)G0(I)=G(I)
114 D0(I)=D(I)SIZEG0=SIZEGENDIF
n
iic
1
c
Module 4 : Numerical Method for Unconstrained Optimization
34 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
การเข�ยนโปรแกรม่C LINE SEARCH IN CONJUGATE DIRECTION
SIZED=SIZVEC(D,N)DO 130 I=1,N
130 D(I)=D(I)/SIZEDC EVALUATE OBJECTIVE FUNCTION
CALL MLINE(X,N,D,F)C EXIT CONDITION 2 190 IF ((J.GT.2).AND.(ABS(F-F0).LT.FTOL))GOTO 600 F0=F 200 CONTINUE 600 WRITE(2,*) J,(X(I),I=1,N),F
END
Module 4 : Numerical Method for Unconstrained Optimization
35 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
โปรแกรม่ย�อย OBJFNC
SUBROUTINE OBJFNC(X,N,F)DIMENSION X(N)
C ***** INPUT YOUR OBJECTIVE FUNCTION HERE.*****C THE DEFAULT FUNCTION IS 2D ROSENBROCK FUNCTION.
F=(1-X(1))**2+100*(X(2)-X(1)**2)**2WRITE(3,*) (X(I),I=1,N),FEND
Module 4 : Numerical Method for Unconstrained Optimization
36 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
โปรแกรม่ย�อย GRADF
SUBROUTINE GRADF(X,N,G)DIMENSION X(N),G(N)
C ***** INPUT YOUR GRADIENT FUNCTION HERE ******C –- OR --C USE CENTRAL DIFFERENCE IN CASE NO ANALYTICAL EXPRESSION FOR C GRADIENT
DX=0.0001DO I=1,N X(I)=X(I)+DXCALL OBJFNC(X,N,FF)X(I)=X(I)-2*DXCALL OBJFNC(X,N,FB)G(I)=(FF-FB)/2/DXX(I)=X(I)+DXENDDOWRITE(*,*) 'G',(G(I),I=1,N)END
Module 4 : Numerical Method for Unconstrained Optimization
37 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ของน�วต่ำ�นสุ�าหร�บต่ำ�วแปรหลายม่�ต่ำ�
ในหลายม่�ต่ำ�
Module 4 : Numerical Method for Unconstrained Optimization
38 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
การบ�าน
4
Module 4 : Numerical Method for Unconstrained Optimization
39 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ค�นหาแบบต่ำาราง
Module 4 : Numerical Method for Unconstrained Optimization
40 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ค�นหาแบบต่ำาราง
Module 4 : Numerical Method for Unconstrained Optimization
41 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�สุาม่เหล��ยม่สุะท�อน
Module 4 : Numerical Method for Unconstrained Optimization
42 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�สุาม่เหล��ยม่สุะท�อน
Module 4 : Numerical Method for Unconstrained Optimization
43 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
การสุ��ม่ลดพ2/นท��
Module 4 : Numerical Method for Unconstrained Optimization
44 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ว�ธี�ล�าด�บข�/นต่ำอนทางพ�นธี�กรรม่
Module 4 : Numerical Method for Unconstrained Optimization
45 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
การผสุม่
Module 4 : Numerical Method for Unconstrained Optimization
46 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
การกลายพ�นธี��
Module 4 : Numerical Method for Unconstrained Optimization
47 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
ต่ำ�วอย�างการท�างาน
Module 4 : Numerical Method for Unconstrained Optimization
48 ME TUMechanical Engineering DepartmentFaculty of Engineering, Thammasat University
ME654
การสุ��ม่จุ�ดใน N ม่�ต่ำ�C SPECIFY THE RANGE
NDATA=10000XMIN=-10XMAX=10FMAX=1.E9FMIN=-1.E9
C RANDOMLY GENERATE DATA POINTS
DX=XMAX-XMIN DO 200 J=1, NDATA 50 DO 100 I=1,N
CALL RANDOM_NUMBER(RR)
100 X(I)=XMIN+DX*RR 200 WRITE(*,*)
(X(I),I=1,N)