Tải bản đầy đủ

Bao cao LTTU

Phương pháp tìm kiếm ngẫu nhiên
_____________________________________________________________________

Chương 1:Các phương pháp không dùng đạo hàm
Phương pháp tìm kiếm ngẫu nhiên
I. Phương pháp tìm kiếm ngẫu nhiên.
Phương pháp gồm các bước sau:
B1: Tạo δi=random (-0.5, 0.5)∆xi, trong đó ∆xi là các số gia ứng với thành phần xi
do ta chọn.
B2: Tính x(k+1) := x(k) + δiei nếu f (x(k+1)) < f (x(k)), i=1..n
B3: (x(k+1)):= (x(k)) nếu f(x(k+1))≥ f (x(k))
II. Chương trình
function y=fx1(X, N)
y = (10 + (X(1) - 2)^2 + (X(2) + 5)^2)
end
function
[XBest,BestF,Iters]=Random_Search1(N,XLo,XHi,Eps_Fx,MaxIter,myFx)
% Function performs multivariate optimization using the
% random search method.
%
% Input

%
% N - number of variables
% XLo - array of lower values
% XHi - arra of higher values
% Eps_Fx - tolerance for difference in successive function values
% MaxIter - maximum number of iterations
% myFx - name of the optimized function


Phương pháp tìm kiếm ngẫu nhiên
_____________________________________________________________________
%
% Output
%
% XBest - array of optimized variables
% BestF - function value at optimum
% Iters - number of iterations
%
XBest = XLo + (XHi - XLo) * rand(N);
BestF = feval(myFx, XBest, N);;
LastBestF = 100 * BestF + 100;
Iters = 0;
for i=1:MaxIter
Iters = Iters + 1;
X = XLo + (XHi - XLo) * rand(N);
F = feval(myFx, X, N);
if F < BestF
XBest = X;
LastBestF = BestF;
BestF = F;
end
if abs(LastBestF - BestF) < Eps_Fx
break
end
end
end


Phương pháp tìm kiếm ngẫu nhiên
_____________________________________________________________________

Chương 2: Bài tập phương pháp tìm kiếm ngẫu nhiên
F(x)= 3()2 + + ()2 →min
+- 2
+ ≤ 12
2+4- 3≤9
Xi ≥ 0
= (2,1,0), random ( -0.5,0.5 ) ∆xi , ∆x=(0.5, 0.5, 0.5)
Bước lặp 1:
X (1) = (2,1,0) + (-0.5x0.5x1, -0.5x0.5x1, -0.15x0.5x0 )T = (1.75, 0.75, 0)T, f(x(1)) =
0.694Bước lặp 2:
X (2) = (1.75, 0.75, 0) + (-0.1x0.5x1, -0.15x0.5x0, 0.5x0.5x1 )T = (1.7,0.75, 0.5)T ,
f(x(2)) = 0.593 Bước lặp 3:
X (3) = (1.7, 0.75, 0.5) + (-0.2x0.5x0, -0.35x0.5x1, -0.3x0.5x1 )T = (1.7, 0.575,
0.35)T , f(x(3)) = 0.334 Bước lặp 4:
X (4) = (1.7, 0.575, 0.35) + (-0.05x0.5x1, -0.5x0.5x1, 0.2x0.5x0 )T = (1.675, 0.325,
0.35)T , f(x(4)) = 0.106 Bước lặp 4:
X (4) = (1.675, 0.325, 0.35) + (0.25x0.5x1, -0.5x0.5x0, 0.2x0.5x1 )T = (1.925,
0.325, 0.45)T , f(x(4)) = 0.319 ≥f(x(3)) nên x(4)=(1.675, 0.325, 0.35)
Bước lặp 5:


Phương pháp tìm kiếm ngẫu nhiên
_____________________________________________________________________
X (5) = (1.675, 0.325, 0.35) + (0.1x0.5x0, -0.5x0.5x1, -0.03x0.5x1 )T = (1.675,
0.125, 0.335)T , f(x(5)) = 0.0158 Bước lặp 6:
X (6) = (1.675, 0.125, 0.35) + (-0.05x0.5x1, -0.25x0.5x1, -0.25x0.5x0 )T = (1.65, 0,
0.335)T , f(x(6)) = 0.00084 Vậy với x*=(1.65, 0, 0.335) thì f(x)=0.0084 đạt Min


Phương pháp tìm kiếm ngẫu nhiên
_____________________________________________________________________

Tài liệu tham khảo
1. Giáo trình lý thuyết tối ưu - Võ Minh Phổ
2. B. E. Gillett, Introduction to operations research: A computer–oriented
algorithmicapproach, McGraw–Hill, New York, 1990.
3. Tối ưu hóa – Bùi Minh Trí, Nhà xuất bản KHKT, Hà Nội
4. Các bài toán cơ bản của tối ưu hóa và điều khiển tối ưu, Nhà xuất bản KHKT, Hà

Nội



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×

×