Giảm thiểu chức năng vô hướng của một biến. Hàm mục tiêu. Hàm vô hướng, phải trả về vô hướng. Đối với các phương pháp 'Brent' và 'Golden', Đối với phương pháp ‘giới hạn, giới hạn là bắt buộc và phải có hai mục tương ứng với giới hạn tối ưu hóa. Các đối số bổ sung được chuyển đến hàm mục tiêu. Loại giải quyết. Nên là một trong số: Brent Giới hạnbracket
định nghĩa khoảng thời gian khung và có thể có ba mục [a, b, c]
để a from scipy.optimize import minimize_scalar
>>> res = minimize_scalar[f]
>>> res.x
1.28077640403
0.
Vàng
Tùy chỉnh - một đối tượng có thể gọi [được thêm vào phiên bản 0.14.0], xem bên dưới
Xem phần ‘Ghi chú để biết chi tiết của mỗi người giải.
Tolfloat, tùy chọnfloat, optionalDung nạp để chấm dứt. Để kiểm soát chi tiết, sử dụng các tùy chọn dành riêng cho người giải quyết.
Tùy chọndict, tùy chọndict, optionalMột từ điển của các tùy chọn giải quyết.
Maxiterintint
Số lần lặp tối đa để thực hiện.
DisterboolboolĐặt thành đúng để in các tin nhắn hội tụ.
Xem
>>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.280776404031 để biết các tùy chọn dành riêng cho người giải quyết.ReturnSresOptimizeresultresOptimizeResult
Kết quả tối ưu hóa được biểu thị dưới dạng đối tượng
>>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.280776404032. Các thuộc tính quan trọng là:
>>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.280776404033 Mảng giải pháp,
>>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.280776404034 Cờ Boolean cho biết nếu trình tối ưu hóa thoát ra thành công và
>>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.280776404035 mô tả nguyên nhân của việc chấm dứt. Xem
>>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.280776404032 để biết mô tả các thuộc tính khác.
Xem thêm
>>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.280776404037
Giao diện với các thuật toán tối thiểu hóa cho các chức năng đa biến vô hướng
>>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.280776404031
Các tùy chọn bổ sung được chấp nhận bởi các người giải quyết
Ghi chú
Phần này mô tả các bộ giải có sẵn có thể được chọn bởi tham số ‘Phương thức. Phương pháp mặc định là Brent.
Phương pháp Brent sử dụng thuật toán Brent, để tìm mức tối thiểu cục bộ. Thuật toán sử dụng phép nội suy parabol nghịch đảo khi có thể tăng tốc độ hội tụ của phương pháp phần vàng.Brent uses Brent’s algorithm to find a local minimum. The algorithm uses inverse parabolic interpolation when possible to speed up convergence of the golden section method.
Phương pháp Golden sử dụng kỹ thuật tìm kiếm phần vàng. Nó sử dụng tương tự của phương pháp chia đôi để giảm khoảng thời gian được đặt. Nó thường tốt hơn để sử dụng phương pháp Brent.Golden uses the golden section search technique. It uses analog of the bisection method to decrease the bracketed interval. It is usually preferable to use the Brent method.
Phương pháp giới hạn có thể thực hiện giảm thiểu giới hạn. Nó sử dụng phương pháp Brent để tìm mức tối thiểu cục bộ trong khoảng X1 > from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.28077640403 9.
Các cuộc gọi có thể gọi được gọi là
>>> res = minimize_scalar[f, bounds=[-3, -1], method='bounded'] >>> res.x -2.00000020260 trong đó
>>> res = minimize_scalar[f, bounds=[-3, -1], method='bounded'] >>> res.x -2.00000020261 tương ứng với bất kỳ tham số nào khác được truyền đến
>>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.280776404037 [chẳng hạn như
bracket
, TOL, v.v.], ngoại trừ các tùy chọn Dict, có nội dung của nó cũng được chuyển làm tham số phương thức theo cặp. Phương pháp sẽ trả về một đối tượng >>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.280776404032.
Phương thức được cung cấp có thể gọi phải có khả năng chấp nhận [và có thể bỏ qua] các tham số tùy ý; Tập hợp các tham số được chấp nhận bởi
>>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.280776404037 có thể mở rộng trong các phiên bản trong tương lai và sau đó các tham số này sẽ được chuyển sang phương thức. Bạn có thể tìm thấy một ví dụ trong hướng dẫn scipy.optimize.
Mới trong phiên bản 0.11.0.
Ví dụ
Xem xét vấn đề giảm thiểu chức năng sau.
>>> def f[x]: ... return [x - 2] * x * [x + 2]**2
Sử dụng phương pháp Brent, chúng tôi tìm thấy mức tối thiểu cục bộ như:
>>> from scipy.optimize import minimize_scalar >>> res = minimize_scalar[f] >>> res.x 1.28077640403
Sử dụng phương thức giới hạn, chúng tôi tìm thấy tối thiểu cục bộ với giới hạn được chỉ định như:
>>> res = minimize_scalar[f, bounds=[-3, -1], method='bounded'] >>> res.x -2.0000002026