tiểu sử Đặc trưng Phân tích

Phương pháp tối ưu hóa không giới hạn gradient. Tổng quan về các phương pháp Gradient trong các bài toán tối ưu toán học

Không có hạn chế trong vấn đề tối ưu hóa không bị ràng buộc.

Nhớ lại rằng độ dốc của hàm nhiều chiều là một vectơ được biểu thị bằng giải tích tổng hình học dẫn một phần

Dốc hàm vô hướng F(X) đến một lúc nào đó nó hướng tới chỗ tăng nhanh nhất của hàm số và trực giao với đường đẳng lượng (các mặt có giá trị không đổi F(X), đi qua một điểm X k). Vectơ ngược hướng với gradient  ngược hướng  hướng theo hướng giảm nhanh nhất của hàm số F(X). Tại điểm cực trị tốt nghiệp F(X)= 0.

Trong phương pháp gradient, chuyển động của một điểm khi tìm giá trị nhỏ nhất hàm mục tiêuđược mô tả bởi công thức lặp

Ở đâu k - bước tham số trên k lần lặp thứ dọc theo antigradient. Đối với các phương pháp leo núi (tìm kiếm mức tối đa), bạn cần di chuyển dọc theo độ dốc.

Các biến thể khác nhau của phương pháp gradient khác nhau ở cách chọn tham số bước, cũng như tính đến hướng chuyển động ở bước trước. Xem xét các tùy chọn sau cho phương pháp gradient: với bước không đổi, với tham số bước thay đổi (chia nhỏ bước), phương pháp gốc dốc nhất và phương pháp gradient liên hợp.

Phương pháp với một tham số bước không đổi. Trong phương pháp này, tham số bước là không đổi trên mỗi lần lặp. Câu hỏi đặt ra: làm thế nào để thực tế chọn giá trị của tham số bước? Một tham số bước đủ nhỏ có thể dẫn đến không thể chấp nhận được một số lượng lớn lặp đi lặp lại cần thiết để đạt đến điểm tối thiểu. Mặt khác, tham số bước quá lớn có thể dẫn đến vượt quá điểm cực tiểu và dẫn đến quá trình tính toán dao động xung quanh điểm này. Những trường hợp này là nhược điểm của phương pháp. Vì không thể đoán trước giá trị chấp nhận được của tham số bước k, thì cần phải sử dụng phương thức gradient với tham số bước thay đổi.

Khi nó đạt đến mức tối ưu, vectơ gradient giảm độ lớn, có xu hướng tiến tới 0, do đó, khi k = const độ dài bước giảm dần. Gần mức tối ưu, độ dài của vectơ gradient có xu hướng bằng không. Độ dài hoặc định mức của vectơ trong N-chiều không gian Euclide được xác định theo công thức

, Ở đâu N- số biến.

Các tùy chọn để dừng tìm kiếm tối ưu:


Từ quan điểm thực tế, sẽ thuận tiện hơn khi sử dụng tiêu chí dừng thứ 3 (vì các giá trị của tham số thiết kế được quan tâm), tuy nhiên, để xác định khoảng cách của điểm cực trị, bạn cần tập trung vào tiêu chí thứ 2 tiêu chuẩn. Một số tiêu chí có thể được sử dụng để dừng quá trình tính toán.

Hãy xem xét một ví dụ. Tìm điểm cực tiểu của hàm mục tiêu F(X) = (x 1  2) 2 + (x 2  4) 2 . giải pháp chính xác của vấn đề X*= (2.0;4.0). Biểu thức cho đạo hàm riêng

,
.

Chọn một bước k = 0,1. Hãy tìm kiếm từ điểm bắt đầu X 1 = . Giải pháp được trình bày dưới dạng bảng.

Phương pháp gradient với bước tách tham số. Trong trường hợp này, trong quá trình tối ưu hóa, tham số bước  k giảm nếu sau bước tiếp theo, hàm mục tiêu tăng (khi tìm giá trị cực tiểu). Trong trường hợp này, độ dài bước thường được chia (chia) làm đôi và bước được lặp lại từ điểm trước đó. Điều này cung cấp một cách tiếp cận chính xác hơn đến điểm cực trị.

Phương pháp xuống dốc nhất. Các phương pháp bước thay đổi kinh tế hơn về số lần lặp lại. Nếu độ dài bước tối ưu  k dọc theo hướng của đường ngược là một giải pháp cho bài toán tối thiểu hóa một chiều, thì phương pháp này được gọi là phương pháp giảm dần dốc nhất. Trong phương pháp này, tại mỗi lần lặp lại, vấn đề tối thiểu hóa một chiều được giải quyết:

F(X k+1 )=F(X k k S k )=tối thiểu F( k ), S k = F(X);

k >0

.

TRONG phương pháp này chuyển động theo hướng ngược hướng tiếp tục cho đến khi đạt đến giá trị cực tiểu của hàm mục tiêu (miễn là giá trị của hàm mục tiêu giảm). Sử dụng một ví dụ, hãy xem xét cách hàm mục tiêu có thể được viết một cách phân tích ở mỗi bước tùy thuộc vào tham số chưa biết

Ví dụ. tối thiểu F(x 1 , x 2 ) = 2x 1 2 + 4x 2 3 3. Sau đó F(X)= [ 4x 1 ; 12x 2 2 ]. hãy để điểm X k = , kể từ đây F(X)= [ 8; 12], F(X k S k ) =

2(2  8) 2 + 4(1  12) 3  3. Cần phải tìm  mang lại giá trị nhỏ nhất của hàm này.

Thuật toán giảm dốc nhất (để tìm mức tối thiểu)

bước đầu tiên. Gọi  là hằng số dừng. Chọn điểm bắt đầu X 1 , đặt k = 1 và đi đến bước chính.

Bước cơ bản. Nếu như || tốt nghiệp(X)||<  thì kết thúc tìm, ngược lại xác định F(X k ) và tìm k giải pháp tối ưu vấn đề giảm thiểu F(X k k S k ) Tại k 0. Đặt X k +1 = X k k S k, giao phó k =

k + 1 và lặp lại bước chính.

Để tìm giá trị nhỏ nhất của hàm một biến trong phương pháp giảm dần, bạn có thể sử dụng các phương pháp tối ưu hóa đơn thức. Từ nhóm lớn phương pháp, xem xét phương pháp phân đôi (chia đôi) và phần vàng. Bản chất của các phương pháp tối ưu hóa đơn thức là thu hẹp khoảng bất định của vị trí của cực trị.

Phương pháp phân đôi (chia đôi)Bước đầu. Chọn hằng số phân biệt  và độ dài cuối cùng của khoảng bất định tôi. Tuy nhiên, giá trị của  nên càng nhỏ càng tốt, cho phép phân biệt các giá trị của hàm F() F() . Cho phép [ Một 1 , b 1 ]  khoảng bất định ban đầu. Đặt k =

Sân khấu chính gồm số giới hạn các lần lặp giống nhau.

lần lặp thứ k.

Bước 1. Nếu như b k Một k tôi, sau đó tính toán kết thúc. Giải pháp x * = (Một k + b k )/2. Nếu không thì

,
.

Bước 2 Nếu như F( k ) < F( k ), đặt Một k +1 = Một k ; b k +1 = k. Nếu không thì Một k +1 = kb k +1 = b k. Giao phó k = k + 1 và đi đến bước 1.

Phương pháp mặt cắt vàng. Một phương pháp hiệu quả hơn so với phương pháp phân đôi. Hãy để có được đặt giá trị khoảng không chắc chắn trong ít lần lặp hơn và yêu cầu ít phép tính hàm mục tiêu hơn. Trong phương pháp này, điểm phân chia mới của khoảng không chắc chắn được tính một lần. Điểm mới được đặt ở một khoảng cách

 = 0,618034 kể từ cuối khoảng.

Thuật toán tỷ lệ vàng

Bước đầu. Chọn độ dài hữu hạn chấp nhận được của khoảng bất định tôi > 0. Cho phép [ Một 1 , b 1 ]  khoảng bất định ban đầu. Đặt 1 = Một 1 +(1 )(b 1 Một 1 ) 1 = Một 1 + (b 1 Một 1 ) , Ở đâu = 0,618 . Tính toán F( 1 ) F( 1 ) , đặt k = 1 và đi đến bước chính.

Bước 1. Nếu như b k Một k tôi, sau đó tính toán kết thúc x * = (Một k + b k )/ 2. Ngược lại, nếu F( k ) > F( k ) , sau đó chuyển sang bước 2; Nếu như F( k ) F( k ) , chuyển sang bước 3.

Bước 2Đặt Một k +1 = k , b k +1 = b k , k +1 = k , k +1 = Một k +1 + (b k +1 Một k +1 ). Tính toán F( k +1 ), chuyển sang bước 4.

Bước 3Đặt Một k +1 = Một k , b k +1 = k , k +1 = k , k +1 = Một k +1 + (1 )(b k +1 Một k +1 ). Tính toán F( k +1 ).

Bước 4 Giao phó k = k + 1, chuyển sang bước 1.

Ở lần lặp đầu tiên, cần có hai lần đánh giá hàm, ở tất cả các lần lặp tiếp theo, chỉ một lần.

Phương pháp gradient liên hợp (Fletcher-Reeves). Trong phương pháp này, việc lựa chọn hướng chuyển động trên k+ 1 bước có tính đến sự thay đổi hướng trên k bước chân. Vectơ hướng gốc là sự kết hợp tuyến tính của hướng ngược gradient và hướng tìm kiếm trước đó. Trong trường hợp này, khi giảm thiểu các chức năng của khe núi (với các rãnh dài hẹp), việc tìm kiếm không vuông góc với khe núi mà dọc theo nó, điều này cho phép bạn nhanh chóng đạt được mức tối thiểu. Khi tìm điểm cực trị bằng phương pháp gradient liên hợp, tọa độ điểm được tính theo biểu thức X k +1 = X k V k +1 , Ở đâu V k +1 là một vectơ được tính theo biểu thức sau:

.

Lần lặp đầu tiên thường dựa vào V = 0 và tìm kiếm ngược gradient được thực hiện, như trong phương pháp giảm dốc nhất. Sau đó, hướng chuyển động càng lệch khỏi hướng ngược chiều, độ dài của vectơ gradient càng thay đổi đáng kể ở lần lặp cuối cùng. Sau đó N các bước để điều chỉnh hoạt động của thuật toán thực hiện bước thông thường dọc theo phương pháp chống ngược.

Thuật toán của phương pháp gradient liên hợp

Bước 1. Nhập điểm bắt đầu X 0 , sự chính xác , kích thước N.

Bước 2Đặt k = 1.

Bước 3Đặt véc tơ V k = 0.

Bước 4 Tính toán tốt nghiệp F(X k ).

Bước 5 Tính véc tơ V k +1.

Bước 6 Thực hiện tìm kiếm véc tơ 1D V k +1.

Bước 7 Nếu như k < N, đặt k = k + 1 và chuyển sang bước 4 nếu không thì chuyển sang bước 8.

Bước 8 Nếu độ dài của véc tơ V nhỏ hơn  thì kết thúc tìm kiếm, nếu không chuyển sang bước 2.

Phương pháp định hướng liên hợp là một trong những phương pháp hiệu quả nhất để giải các bài toán cực tiểu hóa. Phương pháp kết hợp với tìm kiếm một chiều thường được sử dụng trong thực tế trong CAD. Tuy nhiên, cần lưu ý rằng nó nhạy cảm với các lỗi xảy ra trong quá trình tính toán.

Nhược điểm của phương pháp Gradient

    Trong các nhiệm vụ với một số lượng lớn các biến khó hoặc không thể lấy được đạo hàm dưới dạng hàm giải tích.

    Khi tính toán đạo hàm bằng cách sử dụng lược đồ sai phân, sai số thu được, đặc biệt là ở vùng lân cận của một cực trị, sẽ hạn chế khả năng của một phép tính gần đúng như vậy.

Khi tối ưu hóa bằng phương pháp gradient, tối ưu của đối tượng nghiên cứu được tìm kiếm theo hướng tăng (giảm) nhanh nhất của biến đầu ra, tức là theo hướng của gradient. Nhưng trước khi bạn thực hiện một bước theo hướng của độ dốc, bạn cần tính toán nó. Độ dốc có thể được tính từ mô hình có sẵn

mô phỏng đa thức gradient động

ở đâu là đạo hàm riêng đối với thừa số thứ i;

tôi, j, k - vectơ đơn vị theo hướng trục tọa độ nhân tố không gian, hoặc theo kết quả của n chuyển động thử theo hướng của các trục tọa độ.

Nếu như mô hình toán học quá trình thống kê có dạng của một đa thức tuyến tính, các hệ số hồi quy b i trong đó là đạo hàm riêng của khai triển hàm y = f(X) trong chuỗi Taylor theo lũy thừa của x i , thì tối ưu được tìm kiếm theo hướng của gradient với một bước nhất định h i:

pkfv n (Ch) \u003d và 1 p 1 + và 2 p 2 + ... + và t p t

Hướng được sửa sau mỗi bước.

Phương pháp gradient, cùng với nhiều sửa đổi của nó, là một phương pháp phổ biến và phương pháp hiệu quả tìm kiếm sự tối ưu của các đối tượng được nghiên cứu. Hãy xem xét một trong những sửa đổi của phương pháp độ dốc - phương pháp đi lên dốc.

Phương pháp đi lên dốc, hay nói cách khác là phương pháp Box-Wilson, kết hợp các ưu điểm của ba phương pháp - phương pháp Gauss-Seidel, phương pháp độ dốc và phương pháp thí nghiệm giai thừa đầy đủ (hoặc phân số), như một phương tiện để thu được một mô hình toán học tuyến tính . Nhiệm vụ của phương pháp đi lên dốc là thực hiện bước theo hướng tăng (hoặc giảm) nhanh nhất của biến đầu ra, nghĩa là dọc theo cấp độ y (X). Không giống như phương pháp gradient, hướng được điều chỉnh không phải sau mỗi bước tiếp theo, mà khi một phần cực trị của hàm mục tiêu đạt được tại một số điểm theo một hướng nhất định, như được thực hiện trong phương pháp Gauss-Seidel. Tại điểm cực trị một phần, một thí nghiệm giai thừa mới được thiết lập, một mô hình toán học được xác định và quá trình đi lên dốc lại được thực hiện. Trong quá trình hướng tới sự tối ưu bằng phương pháp này, thường xuyên Phân tích thống kê kết quả trung gian tìm kiếm. Việc tìm kiếm kết thúc khi hiệu ứng bậc hai trong phương trình hồi quy trở nên có ý nghĩa. Điều này có nghĩa là vùng tối ưu đã đạt được.

Hãy để chúng tôi mô tả nguyên tắc sử dụng các phương pháp gradient bằng ví dụ về hàm hai biến

tùy thuộc vào hai điều kiện bổ sung:

Nguyên tắc này (không thay đổi) có thể được áp dụng cho bất kỳ số lượng biến nào, cũng như các điều kiện bổ sung. Xét mặt phẳng x 1 , x 2 (Hình 1). Theo công thức (8), mỗi điểm ứng với một giá trị nào đó của F. Trong Hình.1, các đường thẳng F = const thuộc mặt phẳng này được biểu diễn bằng các đường cong khép kín bao quanh điểm M*, trong đó F là cực tiểu. cho vào khoảnh khắc ban đầu các giá trị x 1 và x 2 tương ứng với điểm M 0 . Chu kỳ tính toán bắt đầu với một loạt các bước thử nghiệm. Đầu tiên, x 1 được cho một số gia nhỏ; lúc này giá trị của x 2 không đổi. Sau đó, sự gia tăng kết quả trong giá trị của F được xác định, có thể được coi là tỷ lệ thuận với giá trị của đạo hàm riêng

(nếu giá trị luôn giống nhau).

Định nghĩa của các đạo hàm riêng (10) và (11) có nghĩa là một vectơ có tọa độ và được tìm thấy, được gọi là gradient của F và được ký hiệu như sau:

Được biết, hướng của vectơ này trùng với hướng tăng mạnh nhất của giá trị F. Hướng ngược lại với nó là "giảm dốc nhất", hay nói cách khác, giá trị của F giảm mạnh nhất.

Sau khi tìm thấy các thành phần của gradient, các chuyển động thử dừng lại và các bước làm việc được thực hiện theo hướng ngược lại với hướng của gradient và kích thước bước càng lớn thì càng lớn. giá trị tuyệt đối vectơ grad F. Các điều kiện này được đáp ứng nếu các giá trị của các bước làm việc và tỷ lệ thuận với các giá trị đạo hàm riêng thu được trước đó:

trong đó b là một hằng số dương.

Sau mỗi bước làm việc, ước tính mức tăng của F. Nếu nó âm, thì chuyển động xảy ra trong đúng hướng và bạn cần di chuyển theo cùng một hướng M 0 M 1 nữa. Nếu tại điểm M 1 kết quả đo cho thấy như vậy thì các chuyển động làm việc dừng lại và Tập mới di chuyển thử nghiệm. Trong trường hợp này, độ dốc gradF được xác định tại điểm mới M 1 , sau đó Phong trào lao động tiếp tục dọc theo hướng dốc nhất mới được tìm thấy, tức là dọc theo đường M 1 M 2 , v.v. Phương pháp này được gọi là phương pháp đi xuống dốc nhất/đi lên dốc nhất.

Khi hệ thống ở gần mức tối thiểu, được biểu thị bằng một giá trị nhỏ của đại lượng

có một sự chuyển đổi sang một phương pháp tìm kiếm “thận trọng” hơn, cái gọi là phương pháp gradient. Nó khác với phương pháp đi xuống dốc nhất ở chỗ sau khi xác định độ dốc gradF, chỉ có một bước làm việc được thực hiện và sau đó một loạt các chuyển động thử nghiệm lại bắt đầu tại một điểm mới. Phương pháp tìm kiếm này cung cấp cơ sở chính xác hơn về mức tối thiểu so với phương pháp giảm dần dốc nhất, trong khi phương pháp sau cho phép bạn nhanh chóng tiếp cận mức tối thiểu. Nếu trong quá trình tìm kiếm, điểm M đến ranh giới của khu vực được phép và ít nhất một trong các giá trị M 1 , M 2 đổi dấu, phương pháp sẽ thay đổi và điểm M bắt đầu di chuyển dọc theo ranh giới của khu vực.

Hiệu quả của phương pháp leo dốc phụ thuộc vào việc lựa chọn thang đo của các biến và dạng bề mặt phản ứng. Bề mặt với các đường viền hình cầu đảm bảo co rút nhanh đến mức tối ưu nhất.

Những nhược điểm của phương pháp leo dốc bao gồm:

1. Hạn chế của phép ngoại suy. Di chuyển dọc theo gradient, chúng tôi dựa vào phép ngoại suy của các đạo hàm riêng của hàm mục tiêu đối với các biến tương ứng. Tuy nhiên, hình dạng của bề mặt phản hồi có thể thay đổi và cần phải thay đổi hướng tìm kiếm. Nói cách khác, chuyển động trên mặt phẳng không thể liên tục.

2. Khó khăn trong việc tìm kiếm tối ưu toàn cầu. Phương pháp này chỉ áp dụng cho việc tìm tối ưu cục bộ.

Phương pháp giảm độ dốc.

Hướng dốc nhất tương ứng với hướng giảm nhiều nhất của hàm. Được biết, hướng tăng lớn nhất của hàm hai biến u = f(x, y) được đặc trưng bởi gradient của nó:

trong đó e1, e2 là các vectơ đơn vị (orth) theo hướng của các trục tọa độ. Do đó, hướng ngược lại với gradient sẽ chỉ ra hướng giảm nhiều nhất của hàm. Các phương pháp dựa trên việc chọn đường dẫn tối ưu hóa bằng cách sử dụng gradient được gọi là dốc.

Ý tưởng đằng sau phương pháp giảm dần độ dốc như sau. Chọn một số điểm bắt đầu

chúng tôi tính toán độ dốc của hàm được xem xét trong đó. Chúng tôi thực hiện một bước theo hướng ngược lại với độ dốc:

Quá trình tiếp tục cho đến khi đạt được giá trị nhỏ nhất của hàm mục tiêu. Nói một cách chính xác, sự kết thúc tìm kiếm sẽ đến khi sự dịch chuyển từ điểm thu được với bất kỳ bước nào dẫn đến sự gia tăng giá trị của hàm mục tiêu. Nếu đạt đến mức tối thiểu của hàm bên trong vùng được xem xét, thì tại thời điểm này, độ dốc bằng 0, điều này cũng có thể đóng vai trò là tín hiệu về sự kết thúc của quá trình tối ưu hóa.

Phương pháp giảm độ dốc có nhược điểm giống như phương pháp giảm tọa độ: khi có các khe núi trên bề mặt, sự hội tụ của phương pháp rất chậm.

Trong phương pháp được mô tả, cần phải tính toán độ dốc của hàm mục tiêu f(x) ở mỗi bước tối ưu hóa:

Các công thức cho đạo hàm riêng chỉ có thể thu được một cách rõ ràng khi hàm mục tiêu được đưa ra một cách giải tích. Mặt khác, các dẫn xuất này được tính bằng cách sử dụng phân biệt số:

Khi sử dụng độ dốc giảm dần trong các vấn đề tối ưu hóa, lượng tính toán chính thường rơi vào việc tính toán độ dốc của hàm mục tiêu tại mỗi điểm của quỹ đạo giảm dần. Do đó, nên giảm số điểm như vậy mà không ảnh hưởng đến chính giải pháp. Điều này đạt được trong một số phương pháp sửa đổi độ dốc giảm dần. Một trong số đó là phương pháp xuống dốc nhất. Theo phương pháp này, sau khi xác định được hướng ngược với gradient của hàm mục tiêu tại điểm ban đầu, bài toán tối ưu một chiều được giải bằng cách cực tiểu hóa hàm theo hướng này. Cụ thể, chức năng được giảm thiểu:

Để giảm thiểu một trong những phương pháp tối ưu hóa một chiều có thể được sử dụng. Cũng có thể chỉ cần di chuyển theo hướng ngược lại với độ dốc, trong khi thực hiện không phải một bước mà là nhiều bước cho đến khi hàm mục tiêu ngừng giảm. Tại điểm mới được tìm thấy, hướng đi xuống lại được xác định (sử dụng độ dốc) và tìm thấy điểm cực tiểu mới của hàm mục tiêu, v.v. Trong phương pháp này, việc đi xuống xảy ra theo các bước lớn hơn nhiều và độ dốc của hàm được tính bằng ít hơnđiểm. Sự khác biệt là ở đây, hướng tối ưu hóa một chiều được xác định bởi độ dốc của hàm mục tiêu, trong khi việc giảm dần theo tọa độ được thực hiện ở mỗi bước dọc theo một trong các hướng tọa độ.

Phương pháp đi xuống dốc nhất cho trường hợp hàm hai biến z = f(x,y).

Đầu tiên, dễ dàng chỉ ra rằng gradient của hàm vuông góc với tiếp tuyến của đường mức tại một điểm nhất định. Do đó, trong các phương pháp gradient, việc hạ xuống xảy ra dọc theo đường bình thường đến đường mức. Thứ hai, tại điểm đạt tới cực tiểu của hàm mục tiêu dọc theo hướng, đạo hàm của hàm dọc theo hướng này biến mất. Nhưng đạo hàm của hàm bằng 0 theo hướng của tiếp tuyến với đường mức. Theo đó, độ dốc của hàm mục tiêu tại điểm mới vuông góc với hướng tối ưu hóa một chiều ở bước trước đó, tức là, việc giảm dần ở hai bước liên tiếp được thực hiện theo các hướng vuông góc với nhau.

Bài giảng số 8

phương pháp gradient giải quyết vấn đề lập trình phi tuyến tính. Phương pháp hàm phạt. Ứng dụng lập trình phi tuyến tính cho các vấn đề nghiên cứu hoạt động.

Nhiệm vụ không có giới hạn. Nói chung, bất kỳ vấn đề phi tuyến tính nào cũng có thể được giải bằng phương pháp gradient. Tuy nhiên, chỉ có cực trị địa phương. Vì vậy, sẽ tốt hơn nếu áp dụng phương pháp này để giải các bài toán quy hoạch lồi trong đó bất kỳ cực trị địa phương nào cũng là toàn cục (xem Định lý 7.6).

Ta sẽ xét bài toán cực đại hóa hàm khả vi phi tuyến f(x). Bản chất của tìm kiếm độ dốc cho điểm tối đa X* rất đơn giản: bạn cần lấy điểm tùy ý X 0 và sử dụng độ dốc được tính toán tại thời điểm này, xác định hướng theo đó f(X) tăng với tốc độ cao nhất (Hình 7.4),

và sau đó, thực hiện một bước nhỏ theo hướng đã tìm thấy, đi đến điểm mới x tôi. Sau đó một lần nữa xác định hướng tốt nhất để đi đến điểm tiếp theo X 2, v.v. Trong hình. 7.4 quỹ đạo tìm kiếm là một đường đứt đoạn X 0 , x 1 , X 2... Như vậy cần dựng dãy điểm X 0 , x 1 , X 2 ,...,x k , ... sao cho hội tụ tại điểm cực đại X*, tức là đối với các điểm của dãy, các điều kiện

Theo quy luật, các phương pháp gradient giúp có thể thu được nghiệm chính xác trong vô số bước và chỉ trong một số trường hợp với một số hữu hạn. Về vấn đề này, các phương pháp gradient được gọi là các phương pháp gần đúng của giải pháp.

Chuyển động từ một điểm xkđến một điểm mới xk+1 thực hiện theo đường thẳng đi qua điểm xk và có phương trình

(7.29)

trong đó λ k là một tham số số mà kích thước bước phụ thuộc vào. Ngay sau khi giá trị tham số trong phương trình (7.29) được chọn: λ k =λ k 0 , điểm tiếp theo trên đa tuyến tìm kiếm sẽ được xác định.

Các phương thức gradient khác nhau ở cách chọn kích thước bước - giá trị λ k 0 của tham số λ k . Ví dụ, có thể di chuyển từ điểm này sang điểm khác với bước không đổi λ k = λ, tức là với bất kỳ k

Nếu nó chỉ ra rằng , thì bạn nên quay lại điểm và giảm giá trị của tham số, ví dụ: thành λ /2.

Đôi khi kích thước bước được lấy tỷ lệ thuận với mô đun của gradient.

Nếu một giải pháp gần đúng được tìm kiếm, thì việc tìm kiếm có thể bị chấm dứt dựa trên những cân nhắc sau. Sau mỗi chuỗi một số bước nhất định, các giá trị đạt được của hàm mục tiêu được so sánh f(x). Nếu sau loạt phim tiếp theo, sự thay đổi f(x) không vượt quá một số nhỏ được chỉ định trước , quá trình tìm kiếm sẽ kết thúc và đạt đến giá trị f(x) được coi là mức tối đa gần đúng mong muốn và tương ứng X lấy cho X*.



Nếu hàm mục tiêu f(x) lõm (lồi), sau đó cần thiết và đủ điều kiệnđiểm tối ưu X* là độ dốc bằng 0 của hàm tại điểm đó.

Một biến thể phổ biến của tìm kiếm độ dốc được gọi là phương pháp đi lên dốc nhất. Bản chất của nó là như sau. Sau khi xác định độ dốc tại một điểm xk chuyển động dọc theo một đường thẳng sản xuất đến mức xk+ 1 , trong đó gia trị lơn nhât chức năng f(X) theo hướng của gradient. Sau đó, độ dốc được xác định lại tại điểm này và chuyển động được thực hiện theo một đường thẳng theo hướng của độ dốc mới đến điểm xk+ 2 , nơi đạt được giá trị tối đa theo hướng này f(x). Chuyển động tiếp tục cho đến khi đạt đến điểm. X* tương ứng với giá trị lớn nhất của hàm mục tiêu f(x). Trên hình. 7.5 cho thấy sơ đồ di chuyển đến điểm tối ưu X* phương pháp tăng nhanh nhất. TRONG trường hợp này hướng dốc điểm xk là tiếp tuyến với đường mức bề mặt f(X) tại điểm xk+ 1 , do đó độ dốc tại điểm xk+ 1 trực giao với gradient (so sánh với Hình 7.4).

Di chuyển từ một điểm xkđến một điểm được đi kèm với sự gia tăng trong chức năng f(x) theo giá trị

Có thể thấy từ biểu thức (7.30) rằng gia số là một hàm của biến , tức là . Khi tìm cực đại của hàm số f(x) theo hướng của gradient ) cần chọn bước chuyển động (số nhân ) cung cấp mức tăng lớn nhất trong số gia của hàm, cụ thể là hàm . Giá trị tại đó giá trị cao nhất, có thể được xác định từ điều kiện cần cho cực trị của hàm:

(7.31)

Chúng ta hãy tìm một biểu thức cho đạo hàm bằng cách lấy đạo hàm của đẳng thức (7.30) đối với chức năng phức tạp:

Thay kết quả này vào đẳng thức (7.31), chúng ta thu được

Đẳng thức này có một cách giải thích hình học đơn giản: độ dốc tại điểm tiếp theo xk+ 1 , trực giao với gradient tại điểm trước đó xk.


các đường mức của bề mặt này được xây dựng. Với mục đích này, phương trình được rút gọn về dạng ( x 1 -1) 2 + (x 2 -2) 2 \u003d 5-0,5 f, từ đó rõ ràng là giao tuyến của paraboloid với các mặt phẳng song song với mặt phẳng x 1 Ô x 2 (đường mức) là các đường tròn có bán kính . Tại f=-150, -100, -50 bán kính của chúng lần lượt bằng nhau , và tâm chung tại điểm (1; 2). Tìm độ dốc của chức năng này:

tôi bước. Chúng tôi tính toán:

Trên hình. 7.6 với gốc tọa độ tại điểm X 0 =(5;10) dựng được véc tơ 1/16 chỉ chiều tăng nhanh nhất của hàm số tại điểm X 0 . Điểm tiếp theo nằm ở hướng này. Tại thời điểm này .

Sử dụng điều kiện (7.32), ta thu được

hoặc 1-4=0, từ đó =1/4. Vì , nên giá trị tìm được là điểm cực đại. Chúng ta tìm thấy x 1 =(5-16/4; 10-32/4)=(1; 2).

bước II. Điểm khởi đầu cho bước thứ hai x 1 =(1; 2). Tính =(-4∙1 +4; -4∙2+8)=(0; 0). Kể từ đây, X 1 =(1; 2) là điểm dừng. Nhưng kể từ khi hàm đã cho lõm thì tại điểm tìm được (1; 2) đạt cực đại tổng thể.

Bài toán với ràng buộc tuyến tính. Chúng tôi lưu ý ngay rằng nếu hàm mục tiêu f(X) trong bài toán ràng buộc có một cực trị duy nhất và nó nằm trong miền chấp nhận được, sau đó tìm cực trị X* phương pháp trên được áp dụng mà không có bất kỳ sửa đổi nào.

Xét một bài toán quy hoạch lồi với các ràng buộc tuyến tính:

(7.34)

Nó được cho rằng f(X) là hàm lồi và có đạo hàm riêng liên tục tại mọi điểm thuộc miền chấp nhận được.

Hãy bắt đầu với một minh họa hình học của quá trình giải quyết vấn đề (Hình 7.7). Hãy để điểm xuất phát X 0 nằm trong vùng cho phép. Từ một điểm X 0, bạn có thể di chuyển theo hướng của gradient cho đến khi f(x) sẽ không đạt cực đại. Trong trường hợp của chúng ta f(x) tăng liên tục, vì vậy bạn cần dừng tại điểm X, trên đường ranh giới. Như có thể thấy trong hình, không thể di chuyển xa hơn theo hướng của gradient, vì chúng ta sẽ rời khỏi khu vực cho phép. Do đó, cần phải tìm một hướng di chuyển khác, một mặt không dẫn ra khỏi khu vực cho phép, mặt khác, đảm bảo sự gia tăng lớn nhất trong f(x). Hướng như vậy sẽ xác định véc tơ , là véc tơ nhỏ nhất với véc tơ góc nhọn so với bất kỳ vectơ nào khác đi ra từ một điểm x tôi và nằm trong vùng chấp nhận được. Về mặt giải tích, một vectơ như vậy có thể được tìm thấy từ điều kiện tối đa hóa tích vô hướng . Trong trường hợp này, vectơ chỉ hướng có lợi nhất trùng với đường biên.


Vì vậy, ở bước tiếp theo, cần phải di chuyển dọc theo đường ranh giới cho đến khi f(x); trong trường hợp của chúng tôi - đến mức X 2. Từ hình vẽ có thể thấy rằng một người nữa sẽ di chuyển theo hướng của vectơ , được tìm thấy từ điều kiện cực đại hóa tích vô hướng , tức là, dọc theo đường ranh giới. Chuyển động kết thúc tại một điểm X 3 , vì tìm kiếm tối ưu hóa kết thúc vào thời điểm này, vì chức năng f(X) Nó có tối đa địa phương. Do độ lõm tại điểm này f(X) cũng đạt đến mức tối đa toàn cầu trong khu vực được chấp nhận. độ dốc tại điểm tối đa X 3 =X* tạo một góc tù với bất kỳ vectơ nào từ vùng hợp lệ đi qua x 3, Đó là lý do tại sao tích vô hướng sẽ là tiêu cực cho bất kỳ chấp nhận được rk, ngoại trừ r 3 hướng dọc theo đường ranh giới. Đối với nó, tích vô hướng = 0, vì và vuông góc với nhau (đường biên tiếp xúc với đường đồng mức của bề mặt f(X) đi qua điểm cực đại X*). Đẳng thức này đóng vai trò như một dấu hiệu phân tích rằng tại điểm X 3 chức năng f(x) đạt cực đại.

Bây giờ xét nghiệm phân tích của bài toán (7.33) - (7.35). Nếu việc tìm kiếm tối ưu hóa bắt đầu từ một điểm nằm trong vùng chấp nhận được (tất cả các ràng buộc của bài toán đều được thỏa mãn dưới dạng bất đẳng thức nghiêm ngặt), thì người ta nên di chuyển dọc theo hướng của gradient như đã thiết lập ở trên. Tuy nhiên, hiện nay sự lựa chọn k trong phương trình (7.29) phức tạp do yêu cầu điểm tiếp theo nằm trong vùng cho phép. Điều này có nghĩa là tọa độ của nó phải thỏa mãn các ràng buộc (7.34), (7.35), tức là phải thỏa mãn các bất đẳng thức:

(7.36)

Giải quyết hệ thống bất đẳng thức tuyến tính(7.36), ta tìm được đoạn giá trị được phép tham số k, theo đó điểm x k ​​+1 sẽ thuộc vùng chấp nhận.

Nghĩa k*được xác định là kết quả của việc giải phương trình (7.32):

Tại đó f(x) có cực đại cục bộ trong k theo hướng phải thuộc về đoạn . Nếu giá trị tìm được k vượt ra ngoài phân đoạn được chỉ định, sau đó như k*Đã nhận . Trong trường hợp này, điểm tiếp theo của quỹ đạo tìm kiếm hóa ra nằm trên siêu phẳng biên tương ứng với bất đẳng thức của hệ (7.36), theo đó thu được điểm cuối bên phải khi giải hệ. khoảng giá trị tham số chấp nhận được k.

Nếu quá trình tìm kiếm tối ưu hóa bắt đầu từ một điểm nằm trên siêu phẳng biên hoặc điểm tiếp theo của quỹ đạo tìm kiếm nằm trên siêu phẳng biên, thì để tiếp tục di chuyển đến điểm cực đại, trước hết, cần phải tìm hướng chuyển động tốt nhất Muốn vậy cần giải bài toán bổ trợ lập trình toán học, cụ thể là, để tối đa hóa chức năng

dưới sự hạn chế

cho những người t, tại đó

Ở đâu .

Kết quả của việc giải bài toán (7.37) - (7.40) sẽ tìm được một vectơ tạo thành góc nhọn nhỏ nhất với gradient.

Điều kiện (7.39) nói rằng điểm thuộc biên giới của vùng chấp nhận được, và điều kiện (7.38) có nghĩa là độ dịch chuyển từ dọc theo vectơ sẽ hướng vào bên trong vùng chấp nhận hoặc dọc theo biên giới của nó. Điều kiện chuẩn hóa (7.40) là cần thiết để giới hạn giá trị của , vì nếu không thì giá trị của hàm mục tiêu (7.37) có thể lớn tùy ý nhiều mẫu khác nhauđiều kiện chuẩn hóa, và tùy thuộc vào vấn đề này (7.37) - (7.40) có thể là tuyến tính hoặc phi tuyến tính.

Sau khi xác định hướng, giá trị được tìm thấy k* cho điểm tiếp theo quỹ đạo tìm kiếm. Nó sử dụng Điều kiện cần thiết cực trị ở dạng tương tự như phương trình (7.32), nhưng thay thế cho vectơ , tức là

(7.41)

Tìm kiếm tối ưu hóa dừng khi đạt đến điểm x k *, trong đó .

Ví dụ 7.5. Tối đa hóa một chức năng dưới các ràng buộc

Giải pháp.Trình bày trực quan Chúng tôi sẽ đồng hành cùng quá trình tối ưu hóa bằng hình ảnh minh họa. Hình 7.8 hiển thị một số đường mức của một bề mặt nhất định và diện tích chấp nhận được của OABS để tìm một điểm X* cung cấp chức năng này tối đa (xem ví dụ 7 4).

Hãy bắt đầu tìm kiếm tối ưu hóa, ví dụ, từ điểm X 0 =(4, 2,5) nằm trên đường biên AB x 1 +4x 2=14. trong đó f(X 0)=4,55.

Tìm giá trị của gradient

tại điểm x 0 . Hơn nữa, có thể thấy từ hình vẽ rằng diện tích cho phép vượt qua các dòng cấp độ với điểm cao hơn f(x 0)=4,55. Nói một cách dễ hiểu, bạn cần tìm hướng r 0 =(r 01 , r 02) di chuyển đến điểm tiếp theo x 1 gần tối ưu hơn. Để đạt được điều này, chúng ta giải bài toán (7.37) - (7.40) cực đại hóa hàm dưới các ràng buộc


kể từ thời điểm X 0 chỉ nằm trên một đường biên (đầu tiên) ( Tôi=1) x 1 +4x 2 =14 thì điều kiện (7.38) được viết dưới dạng hằng đẳng thức.

Hệ phương trình hạn chế của bài toán này chỉ có hai nghiệm (-0,9700; 0,2425) và (0,9700; -0,2425) Bằng cách thế trực tiếp chúng vào hàm t 0 được đặt thành tối đa t 0 khác 0 và đạt được bằng cách giải (-0,9700; 0,2425) Do đó, chuyển từ X 0 là cần thiết theo hướng của vectơ r 0 \u003d (0,9700; 0,2425), nghĩa là dọc theo đường ranh giới BA.

Để xác định tọa độ của điểm tiếp theo x 1 =(x 11 ; x 12)

(7.42)

cần tìm giá trị của tham số tại đó hàm f(x) tại điểm x

từ đâu =2,0618. Đồng thời = -0,3999<0. Значит,=2,0618. По формуле (7.42) находим координаты новой точки х 1 (2; 3).

Nếu chúng ta tiếp tục tìm kiếm tối ưu hóa, thì khi giải bài toán phụ tiếp theo (7.37) - (7.40) sẽ thấy rằng Т 1 = , nghĩa là điểm x 1 là điểm cực đại x* của hàm mục tiêu trong miền chấp nhận được. Điều tương tự cũng có thể được nhìn thấy từ hình tại điểm x 1 một trong các đường mức chạm vào đường viền của khu vực được chấp nhận. Do đó, điểm x 1 là điểm x* cực đại. trong đó f tối đa = f(x*)=5,4.


Một vấn đề với các ràng buộc phi tuyến tính. Nếu trong các bài toán có ràng buộc tuyến tính, chuyển động dọc theo các đường biên hóa ra là có thể và thậm chí là phù hợp, thì với các ràng buộc phi tuyến xác định một vùng lồi, bất kỳ sự dịch chuyển nhỏ tùy ý nào từ điểm biên có thể ngay lập tức vượt ra ngoài giới hạn của vùng lời giải khả thi. , và sẽ cần quay lại vùng cho phép (Hình 7.9). Một tình huống tương tự là điển hình cho các bài toán trong đó cực trị của hàm f(x) được đạt đến ranh giới của khu vực. Vì lý do này, khác nhau

các phương pháp di chuyển cung cấp việc xây dựng một chuỗi các điểm nằm gần biên giới và bên trong khu vực cho phép, hoặc chuyển động ngoằn ngoèo dọc theo biên giới băng qua điểm sau. Như có thể thấy trong hình, việc quay trở lại từ điểm x 1 đến vùng được chấp nhận phải được thực hiện dọc theo độ dốc của hàm biên đã bị vi phạm. Điều này sẽ đảm bảo rằng điểm tiếp theo x 2 lệch về điểm cực trị x*. Trong trường hợp như vậy, dấu của một cực trị sẽ là sự cộng tuyến của các vectơ và .

1. Khái niệm về phương pháp gradient.Điều kiện cần để tồn tại cực trị của hàm khả vi liên tục là điều kiện có dạng

các đối số chức năng ở đâu. Nói gọn hơn, điều kiện này có thể được viết dưới dạng

(2.4.1)

ở đâu là chỉ định độ dốc của hàm tại một điểm nhất định.

Các phương pháp tối ưu hóa sử dụng gradient để xác định cực trị của hàm mục tiêu được gọi là dốc. Chúng được sử dụng rộng rãi trong các hệ thống điều khiển thích nghi tối ưu của các trạng thái ổn định, trong đó việc tìm kiếm được thực hiện cho trạng thái ổn định tối ưu (theo nghĩa của tiêu chí đã chọn) của hệ thống khi các tham số, cấu trúc hoặc ảnh hưởng bên ngoài của nó thay đổi.

Phương trình (2.4.1) nói chung là phi tuyến tính. Một giải pháp trực tiếp cho nó là không thể hoặc rất khó. Có thể tìm ra nghiệm cho những phương trình như vậy bằng cách tổ chức một quy trình đặc biệt để tìm điểm cực trị dựa trên việc sử dụng các loại công thức đệ quy khác nhau.

Quy trình tìm kiếm được xây dựng dưới dạng một quy trình gồm nhiều bước, trong đó mỗi bước tiếp theo dẫn đến tăng hoặc giảm hàm mục tiêu, tức là các điều kiện được đáp ứng trong trường hợp tìm kiếm cực đại và cực tiểu tương ứng:

Bởi vì NN- 1 biểu thị số bước và thông qua và là các vectơ tương ứng với các giá trị của các đối số của hàm mục tiêu trên N-m và ( P- 1) bước thứ. Sau bước thứ r, người ta có thể nhận được

tức là sau r - các bước - hàm mục tiêu sẽ không còn tăng (giảm) với bất kỳ thay đổi nào nữa trong các đối số của nó;. Điều thứ hai có nghĩa là đạt đến một điểm có tọa độ mà chúng ta có thể viết điểm đó

(2.4.2)
(2.4.3)

đâu là giá trị cực trị của hàm mục tiêu.

Để giải (2.4.1) trong trường hợp tổng quát, có thể áp dụng quy trình sau. Hãy để chúng tôi viết giá trị của tọa độ hàm mục tiêu ở dạng

ở đâu là một số hệ số (vô hướng) khác không.

Tại điểm cực trị, vì

Phương trình (2.4.1) theo cách này có thể được giải nếu điều kiện hội tụ của quá trình lặp được thỏa mãn với mọi giá trị ban đầu.

Các phương pháp xác định , dựa trên nghiệm của phương trình (2.2.), khác nhau ở cách chọn , tức là ở cách chọn bước biến đổi hàm mục tiêu trong quá trình tìm cực trị. Bước này có thể là vĩnh viễn hoặc biến Trong trường hợp thứ hai, quy luật thay đổi giá trị bước có thể được xác định trước hoặc. phụ thuộc vào giá trị hiện tại (có thể phi tuyến tính).

2. Phương pháp xuống dốc nhất.Ý tưởng của phương pháp giảm dốc nhất là việc tìm kiếm một điểm cực trị nên được thực hiện theo hướng có sự thay đổi lớn nhất trong gradient hoặc ngược hướng, vì đây là con đường ngắn nhất để đạt đến điểm cực trị. Khi thực hiện, trước hết cần tính toán gradient tại một điểm cho trước và chọn giá trị bước.

Tính toán độ dốc. Vì, là kết quả của việc tối ưu hóa, tọa độ của điểm cực trị được tìm thấy, với mối quan hệ này là đúng:

thì quy trình tính toán xác định gradient có thể được thay thế bằng quy trình xác định các thành phần của gradient tại các điểm rời rạc trong không gian của hàm mục tiêu.

(2.4.5)

một thay đổi nhỏ trong tọa độ ở đâu

Giả sử điểm xác định độ dốc nằm ở giữa

phân khúc sau đó

Việc lựa chọn (2.4.5) hay (2.4.6) phụ thuộc vào độ dốc của hàm số trên tiết diện - Ax;; nếu độ dốc không lớn thì ưu tiên sử dụng (2.4.5) vì ít tính toán hơn; mặt khác, các kết quả chính xác hơn thu được bằng cách tính toán theo (2.4.4). Cũng có thể tăng độ chính xác của việc xác định độ dốc bằng cách lấy trung bình các độ lệch ngẫu nhiên.

Lựa chọn giá trị bước Khó khăn trong việc chọn giá trị bước là hướng của gradient có thể thay đổi từ điểm này sang điểm khác. Trong trường hợp này, một bước quá lớn sẽ dẫn đến sai lệch so với quỹ đạo tối ưu, tức là từ hướng dọc theo độ dốc hoặc ngược chiều, và một bước quá nhỏ sẽ dẫn đến chuyển động rất chậm về phía cực trị do cần phải thực hiện lượng tính toán lớn.

Một trong những phương pháp khả thi để ước tính giá trị bước là phương pháp Newton-Raphson. Hãy xem xét nó trên ví dụ về trường hợp một chiều với giả định rằng cực trị đạt được tại điểm được xác định bởi nghiệm của phương trình (Hình 2.4.2).

Để việc tìm kiếm bắt đầu từ một điểm và trong vùng lân cận của điểm này, hàm có thể được khai triển thành một chuỗi Taylor hội tụ. Sau đó

Hướng của gradient tại điểm giống như hướng của tiếp tuyến. Khi tìm điểm cực tiểu, thay đổi tọa độ X di chuyển dọc theo gradient có thể được viết là:

Hình.2.4.2 Sơ đồ tính bậc thang theo phương pháp Newton-Raphson.

Thay (2.4.7) vào (2.4.8), ta được:

Vì, theo điều kiện của ví dụ này, giá trị đạt được tại điểm được xác định bởi nghiệm của phương trình, nên chúng ta có thể thử thực hiện một bước sao cho tức là để

Thay thế một giá trị mới đến chức năng mục tiêu. Nếu sau đó tại thời điểm đó, quy trình xác định được lặp lại, do đó giá trị được tìm thấy:



vân vân. phép tính dừng lại nếu những thay đổi trong hàm mục tiêu là nhỏ, tức là

Ở đâu sai số chấp nhận được khi xác định hàm mục tiêu.

Phương pháp gradient tối ưu.Ý tưởng đằng sau phương pháp này là như sau. Trong phương pháp giảm dốc thông thường, bước được chọn trong trường hợp chung [khi] tùy ý, chỉ được hướng dẫn bởi thực tế là nó không được vượt quá một giá trị nhất định. Trong phương pháp gradient tối ưu, giá trị bước được chọn dựa trên yêu cầu phải di chuyển từ một điểm nhất định theo hướng của gradient (ngược gradient) cho đến khi hàm mục tiêu tăng (giảm). Nếu yêu cầu này không được đáp ứng, cần phải dừng chuyển động và xác định hướng chuyển động mới (hướng của gradient), v.v. (cho đến khi tìm thấy điểm tối ưu).

Do đó, các giá trị tối ưu và để tìm giá trị tối thiểu và tối đa tương ứng được xác định từ nghiệm của phương trình:

Trong (1) và (2), tương ứng

Do đó, định nghĩa ở mỗi bước bao gồm việc tìm từ các phương trình (1) hoặc (2) cho từng điểm của quỹ đạo chuyển động dọc theo độ dốc, bắt đầu từ điểm ban đầu.