Phương pháp nội suy

Một phần của tài liệu bài toán quy hoạch tuyến tính và thuật toán đơn hình (Trang 85 - 88)

CÁC PHƯƠNG PHÁP TÌM NGHIỆM CỦA BÀI TOÁN QUY HOẠCH PHI TUYẾN

3.2.3Phương pháp nội suy

Định nghĩa 3.2.28. Giả sử biết giá trị của hàm tại 3 điểm α, β, γ và giá trị hàm tương ứng fα, fβ, fγ. Tam thức bậc 2

φ(x) := Ax2 +Bx+C,

trong đó A, B, C được xác lập từ hệ phương trình:

         Aα2 +Bα +C = fα Aβ2 +Bβ +C = fβ Aγ2 +Bγ +C = fγ gọi là hàm nội suy bậc 2 tại 3 điểm α, β, γ.

Giải hệ trên ta nhận được:          A= (γ −β)fα+ (α −γ)fβ + (β −γ)fγ/∆ B = (β2 −γ2)fα+ (γ2 −α2)fβ + (α2 −β2)fγ/∆ C = βγ(γ −β)fα+γα(α−γ)fβ + αβ(β −α)fγ/∆

Khi đó hàm φ(x) đạt cực tiểu tại x∗ = −B/(2A) nếu A > 0. Vậy có thể xấp xỉ điểm cực tiểu của hàm f(x) bởi giá trị

x∗ = 1 2

(β2 −γ2)fα+ (γ2 −α2)fβ + (α2 −β2)fγ

βγ(γ −β)fα+γα(α−γ)fβ +αβ(β −α)fγ (3.57)

Nội dung thuật toán:

B1: Khởi tạo giá trị cực tiểu ban đầu x(0) bước dịch chuyển h, tính

f(x(0)), f(x(0)+ h)

B2: Nếu f(x(0)) < f(x(0)+h) chon điểm thứ 3 là x(0)−h tinh f(x(0)−h).

Ngược lại chọn điểm thứ ba x(0) + 2h, tinh f(x(0) + 2h).

B3: Tính nghiệm theo công thức 3.61 và lặp lại B1. Thuật toán dừng khi trị tuyệt đối của hiệu của nghiệm xấp xỉ hai bước gần nhau nhỏ hơn một số cho trước.

Nhận xét 3.2.8. Khi chọn đủ nhỏ thì α, β, γ, fα, fβ, fγ rất gần nhau nên (3.61) không tính được x∗ do đó từ bước nội suy thứ 2 trở đi người ta thay bởi: x∗ = 1 2(α+β) + 1 2 (fα−fβ)(β −γ)(γ−α) (β −γ)fα+ (γ −α)fβ + (α−β)fγ (3.58) Ví dụ 3.2.25. Dùng phép nội suy bậc 2 tìm cực tiểu của hàm số f(x) = 2x2 − ex với độ chính xác 0.001. Các giá trị ban đầu được cho là: a = 0.5, h= 0.5

Sử dụng Optimset trong MATHLAB để tìm điểm cực tiểu của hàm một biến thông qua ví dụ sau:

f(x) = 0.65− 0.75

1 +x2 −0.65xtan−1(1

x)

B1: Viết hàm mục tiêu vào M-file.

function f = objecfun(x)

f = 0.65− 0.75

1 +x2 −0.65xtan−1(1

x)

B2: options=optimset(’LargeScale’,’off’);

[x, f val]=fminbnd(@ objfun,0,0.5,options)

Một phần của tài liệu bài toán quy hoạch tuyến tính và thuật toán đơn hình (Trang 85 - 88)