Đầu vào: Điểm ban đầux0 ∈ Rn được chọn tùy ý, ma trận ban đầu D1 là ma trận đơn vị Inhoặc có thể là ma trận đối xứng xác định dương bất kỳ.
Đầu ra:Giá trị cực tiểu của hàm.
Thủ tục lặp:
Ở mỗi vòng lặp ta tìm đượcyjvà ma trận đối xứng xác định dươngDj.
Bước 1. Đặty1= x0vàk =j =1.
Bước 2. Tính∇f yj
và chọndj =−Dk∇f yj
làm hướng tìm kiếm.
Bước 3. Tìm cực tiểuλjcủa hàm
ϕ(λ) = f(yj+λdj),λ≥0. (2.2) Suy ra∇ϕ λj =∇f yj+1Tdj =0hay
∇f yj+1Tpj =∇f yj+1Tdj=
0,với pjđược chọn theo bước4.
Bước 4. Vớiyj+1 =yj+pj, đặt
pj=λjdj =−λjDjf(yj). (2.3)
Bước 5. Tính f(yj+1)và∇f(yj+1). Nếupjvà∇f(yj+1)đủ nhỏ thì dừng lại. Ngược lại thực hiện bước 6.
Bước 6. Đặt
qj =∇f(yj+1)− ∇f(yj). (2.4)
Bước 7. Biến đổi ma trận Dj
Dj+1= Dj+ pj pjT pjT qj −Djq j qjT Dj qjtDjqj . (2.5)
Bước 8. Thayjbằngj+1quay lại bước 2.
Chúng tôi nhận xét ở đây là các vòng lặp trong thuật toán nói trên được thiết lập lại ở mỗi thủ tục n bước (bất kỳ khi nào j = nở bước 1). Mỗi biến đổi đều được thiết lậpn0 < nbước lặp trên được gọi là một phần phương pháp Newton. Chiến lược này có thể hữu ích từ quan điểm bảo tồn lưu trữ khin0 <n. Kể từ đó, ma trận nghịch đảo Hessian có thể được lưu trữ ngầm, thay vào đó chỉ lưu trữ các vector pjvàqjtrong các vòng lặp trong.
Đặtgj =∇f(yj).
Sơ đồ khối của thuật toán
Chọn x0thuộc Rn. Ðặt D1=ln, j=1 Đặt dj= -Djgj Tìm λj đạt min {f(xj+λdj }:j≥0 Đặt xj+1= xj + pjvới pj=λjdj Tính gj+1, qj = gj+1- gk Sử dụng Dj, qj, pjđể tính Dk+1 ║pj║< є hay ║gj+1║<δ Đ Dừng j:=j+1 S