Data Science & AI hoạt động

Tối ưu hoá có ràng buộc

Optimization — Tối ưu hoá

Đã chạy được. Mục này có công cụ tính toán thật trên nền tảng, không phải mô tả lộ trình.

Quy hoạch tuyến tính 2 biến Giải chính xác bằng liệt kê đỉnh

Bộ giải thật cho bài toán tối ưu tuyến tính hai biến — dùng được cho bài toán phối trộn sản phẩm, phân bổ nguồn lực, khẩu phần. Sửa ràng buộc rồi chạy lại để thấy lời giải dịch chuyển.

Giá trị tối ưu 2,600.0000
x* 20.0000
y* 60.0000
Chiều cực đại
Kết luận Nghiệm duy nhất
① Tham số

Giá trị hàm mục tiêu tại từng đỉnh

Giá trị hàm mục tiêu tại từng đỉnh2,9121,941970.70(20, 60): 2,600(0, 80): 2,400(40, 20): 2,200(40, 0): 1,600(0, 0): 0(20, 60)(0, 80)(40, 20)(40, 0)(0, 0)

Xếp theo chiều tối ưu. Khoảng cách giữa cột đầu và cột thứ hai cho biết chọn nhầm đỉnh thì mất bao nhiêu — khoảng cách càng hẹp thì lời giải càng nhạy với sai số của hệ số.

Diễn giải nhanh

Tối ưu 2,600.0000 tại (x, y) = (20.0000, 60.0000)

Đã duyệt 5 đỉnh khả thi khác nhau. Với hai biến, cách này cho nghiệm CHÍNH XÁC chứ không phải xấp xỉ — không có sai số hội tụ nào để lo.

2/3 ràng buộc đang chặt: 2x + 1y <= 100; 1x + 1y <= 80

Chỉ những ràng buộc chặt mới là nút thắt. Muốn cải thiện kết quả thì phải nới đúng chúng; đầu tư vào ràng buộc còn dư không thay đổi gì cả.

Đỉnh tốt thứ hai cho 2,400.0000, cách 7.69%

Khoảng cách này là biên an toàn của lời giải: hệ số mục tiêu phải sai lệch hơn thế thì nghiệm mới nhảy sang đỉnh khác. Càng hẹp thì càng phải chắc chắn về hệ số trước khi thực thi.

Nghiệm tối ưu duy nhất

Nhiều đỉnh cùng giá trị nghĩa là cả cạnh nối chúng đều tối ưu, bạn được tự do chọn theo tiêu chí khác. Rủi ro thật của bài toán này không nằm ở thuật toán mà ở ràng buộc bị bỏ quên.

Khi nào con số này sai: Lời giải luôn nằm ở một đỉnh của miền khả thi — đó là lý do liệt kê đỉnh cho kết quả CHÍNH XÁC với hai biến. Rủi ro thật không nằm ở thuật toán mà ở chỗ thiếu một ràng buộc không ai viết ra.

Chi tiết

Số đỉnh khả thi 5
Ràng buộc đang chặt 2x + 1y <= 100; 1x + 1y <= 80
Tất cả đỉnh (0.00, 0.00) · (-0.00, 80.00) · (20.00, 60.00) · (40.00, 0.00) · (40.00, 20.00)
Phương pháp Liệt kê giao điểm mọi cặp ràng buộc, lọc khả thi, so sánh hàm mục tiêu

Giá trị hàm mục tiêu tại từng đỉnh

Giá trị hàm mục tiêu tại từng đỉnh2,9121,941970.70(20, 60): 2,600(0, 80): 2,400(40, 20): 2,200(40, 0): 1,600(0, 0): 0(20, 60)(0, 80)(40, 20)(40, 0)(0, 0)

Xếp theo chiều tối ưu. Khoảng cách giữa cột đầu và cột thứ hai cho biết chọn nhầm đỉnh thì mất bao nhiêu — khoảng cách càng hẹp thì lời giải càng nhạy với sai số của hệ số.

Các đỉnh của miền khả thi

Các đỉnh của miền khả thi89.656.5323.47-9.6(0, 0)(0, 80)(20, 60)(40, 0)(40, 20)trục ngang x · trục dọc y

Miền khả thi là đa giác lồi nối đúng các điểm này; nghiệm tối ưu nằm ở (20, 60). Chỉ vẽ đỉnh, không vẽ cạnh.

Phần dư của từng ràng buộc tại nghiệm

Phần dư của từng ràng buộc tại nghiệm22.414.937.46702x+1y<=100: 01x+1y<=80: 01x+0y<=40: 202x+1y<=1001x+1y<=801x+0y<=40

Bằng 0 nghĩa là ràng buộc đang chặt — đó là nút thắt thật, và nới nó ra mới làm giá trị tối ưu tăng. Ràng buộc còn dư có nới thêm cũng không đổi được gì.

Mọi đỉnh khả thi, xếp theo hàm mục tiêu

xyGiá trị mục tiêuTrạng thái
20602,600.0000tối ưu
0802,400.0000khả thi
40202,200.0000khả thi
4001,600.0000khả thi
000.0000khả thi

Toàn bộ chỉ số

Số đỉnh khả thi 5
Ràng buộc đang chặt 2x + 1y <= 100; 1x + 1y <= 80
Tất cả đỉnh (0.00, 0.00) · (-0.00, 80.00) · (20.00, 60.00) · (40.00, 0.00) · (40.00, 20.00)
Phương pháp Liệt kê giao điểm mọi cặp ràng buộc, lọc khả thi, so sánh hàm mục tiêu

Công thức đang dùng

Nghiệm tối ưu của LP luôn nằm tại một đỉnh của miền khả thi

Đây là công thức thật mà mã nguồn chạy, không phải mô tả gần đúng. API tại /api/v1/tools/lp-2var gọi đúng hàm này, nên kết quả trên trang và qua API không thể lệch nhau.

Cách dùng

  1. Điền tham số ở cột trái. Mọi ô đã có sẵn giá trị ví dụ chạy được, nên bạn có thể bấm Tính ngay trước rồi sửa sau.
  2. Đọc thẻ số ở trên cùng, rồi mục Diễn giải nhanh để biết con số đó nói gì.
  3. Đọc dòng “Khi nào con số này sai” trước khi dùng kết quả để quyết định — đó là giả định vỡ đầu tiên.
Giới hạn chung. Công cụ này tính đúng công thức của nó trên dữ liệu bạn đưa vào. Nó không kiểm tra dữ liệu của bạn có phù hợp với giả định của phương pháp hay không — phần đó vẫn là việc của người dùng, và mục “sai ở đâu” bên dưới trang liệt kê các chỗ hỏng thường gặp.

Tối ưu hoá có ràng buộc là gì

Tối ưu hoá tìm phương án tốt nhất trong tập khả thi được xác định bởi ràng buộc. Phần khó nhất thường không phải giải bài toán mà là phát biểu nó: hàm mục tiêu sai cho lời giải tối ưu cho vấn đề sai.

Làm thế nào

  1. Phát biểu rõ biến quyết định, hàm mục tiêu và ràng buộc.
  2. Nhận diện dạng bài toán: tuyến tính, nguyên, lồi hay không lồi — quyết định công cụ giải.
  3. Kiểm tra tính khả thi trước khi tối ưu; bài toán vô nghiệm thường do ràng buộc mâu thuẫn.
  4. Phân tích độ nhạy: lời giải đổi bao nhiêu khi tham số đổi.

Đo bằng chỉ số nào

Giá trị hàm mục tiêu kết quả chính
Khoảng cách tới cận (gap) chất lượng lời giải với bài toán nguyên
Thời gian giải ràng buộc thực tế

Sai ở đâu

Phần quan trọng nhất của trang này. Một phương pháp được mô tả mà không nói chỗ nó hỏng là phiên bản quảng cáo của phương pháp đó.

! Lời giải tối ưu nhưng vi phạm một ràng buộc không ai viết ra — thất bại phổ biến nhất của dự án tối ưu.
! Tối ưu quá khớp với tham số ước lượng; nếu tham số có sai số thì cần tối ưu bền vững.

Mô hình định lượng dùng trong Data Science

Chưa có mô hình nào gắn riêng cho chủ đề này. Đây là những mô hình của cả ngành — liên quan ở cấp ngành, không phải cấp chủ đề.

Tất cả mô hình →
Transformersắp có

Cơ chế attention, nắm quan hệ xa.

Temporal Convolutional Networksắp có

Tích chập nhân quả với receptive field kiểm soát được.

Deflated Sharpe Ratiohoạt động

Sharpe sau khi phạt vì số lần thử và độ lệch/nhọn của đuôi.

Probability of Backtest Overfittinghoạt động

Tỉ lệ cấu hình thắng in-sample lại xếp dưới trung vị ngoài mẫu.

Câu hỏi thường gặp

Tối ưu hoá có ràng buộc là gì?

Tối ưu hoá tìm phương án tốt nhất trong tập khả thi được xác định bởi ràng buộc. Phần khó nhất thường không phải giải bài toán mà là phát biểu nó: hàm mục tiêu sai cho lời giải tối ưu cho vấn đề sai.

Tối ưu hoá có ràng buộc được làm như thế nào?

1. Phát biểu rõ biến quyết định, hàm mục tiêu và ràng buộc. 2. Nhận diện dạng bài toán: tuyến tính, nguyên, lồi hay không lồi — quyết định công cụ giải. 3. Kiểm tra tính khả thi trước khi tối ưu; bài toán vô nghiệm thường do ràng buộc mâu thuẫn. 4. Phân tích độ nhạy: lời giải đổi bao nhiêu khi tham số đổi.

Tối ưu hoá có ràng buộc hay sai ở đâu?

Lời giải tối ưu nhưng vi phạm một ràng buộc không ai viết ra — thất bại phổ biến nhất của dự án tối ưu. Tối ưu quá khớp với tham số ước lượng; nếu tham số có sai số thì cần tối ưu bền vững.

Đo tối ưu hoá có ràng buộc bằng chỉ số nào?

Giá trị hàm mục tiêu — kết quả chính; Khoảng cách tới cận (gap) — chất lượng lời giải với bài toán nguyên; Thời gian giải — ràng buộc thực tế.

Tối ưu hoá có ràng buộc trên QuantHub đã dùng được chưa?

Chưa xây dựng. Mục này hiện là điều hướng và tài liệu tham chiếu; chúng tôi không gắn nhãn 'live' cho thứ chưa chạy.

Chủ đề khác trong Data Science

Toàn bộ Data Science
Time Series Machine Learning Deep Learning NLP Computer Vision AutoML Feature Engineering Anomaly Detection