Từ điển học thuật Khoa học tự nhiên

Lập trình bậc hai là gì? Ý nghĩa và ứng dụng chuyên sâu

Tiếng Anhquadratic programming

Tên gọi khácquy hoạch bậc haiQPquadratic optimizationtối ưu hóa bậc hai

Lập trình bậc hai trong tối ưu hóa toán học là bài toán tìm cực trị (cực tiểu hoặc cực đại) của một hàm mục tiêu bậc hai gồm nhiều biến số, thỏa mãn đồng thời một hệ thống các ràng buộc tuyến tính dưới dạng các đẳng thức hoặc bất đẳng thức.

388 lượt xem Cập nhật 5/9/2026

Lập trình bậc hai (quadratic programming) là trong tối ưu hóa toán học là bài toán tìm cực trị (cực tiểu hoặc cực đại) của một hàm mục tiêu bậc hai gồm nhiều biến số, thỏa mãn đồng thời một hệ thống các ràng buộc tuyến tính dưới dạng các đẳng thức hoặc bất đẳng thức.

Định nghĩa lập trình bậc hai

Lập trình bậc hai (Quadratic Programming - QP) là một lĩnh vực con trong tối ưu hóa phi tuyến, chuyên giải quyết các bài toán cực trị trong đó hàm mục tiêu là một hàm bậc hai và các ràng buộc là tuyến tính. Cụ thể, dạng tổng quát của bài toán được biểu diễn như sau: minxRn12xTQx+cTxsubject to Axb\min_{x \in \mathbb{R}^n} \frac{1}{2} x^T Q x + c^T x \quad \text{subject to } A x \leq b trong đó QRn×nQ \in \mathbb{R}^{n \times n} là ma trận đối xứng, cRnc \in \mathbb{R}^n là véc-tơ hệ số, ARm×nA \in \mathbb{R}^{m \times n}, và bRmb \in \mathbb{R}^m.

Không giống như lập trình tuyến tính chỉ xử lý các hàm mục tiêu tuyến tính, lập trình bậc hai cho phép mô hình hóa các hệ thống có mối quan hệ phi tuyến vừa phải, ví dụ như chi phí bậc hai, mức độ rủi ro, hoặc hàm năng lượng. Khi ma trận QQ xác định dương, bài toán là lồi và có nghiệm tối ưu toàn cục duy nhất.

Lập trình bậc hai đóng vai trò quan trọng trong nhiều lĩnh vực ứng dụng như tài chính, điều khiển tối ưu, học máy, kỹ thuật và nghiên cứu vận trù học. Đặc điểm của QP là cho phép tối ưu hóa hiệu quả ngay cả trong điều kiện có hàm mục tiêu phi tuyến nhưng vẫn giữ được cấu trúc toán học thuận lợi để tính toán.

Đặc điểm của hàm mục tiêu bậc hai

Hàm mục tiêu trong QP có cấu trúc đặc biệt: là một hàm bậc hai đối với biến tối ưu xx. Dạng chuẩn là: f(x)=12xTQx+cTxf(x) = \frac{1}{2} x^T Q x + c^T x trong đó QQ mô tả mối quan hệ phi tuyến (chẳng hạn như tương quan giữa các biến), còn cc biểu diễn xu hướng tuyến tính. Nếu QQma trận xác định dương (positive definite), đồ thị của hàm mục tiêu là hình parabol lồi, đảm bảo tồn tại nghiệm tối ưu toàn cục.

Khi QQ không xác định (indefinite), hàm mục tiêu có thể có nhiều cực trị cục bộ và việc tìm nghiệm toàn cục trở nên phức tạp hơn, thường yêu cầu thuật toán tối ưu hóa phi lồi hoặc heuristics. Trong trường hợp đặc biệt khi Q=0Q = 0, bài toán QP trở thành bài toán LP – lập trình tuyến tính.

Đặc điểm của hàm mục tiêu bậc hai cho phép mô phỏng chi phí phi tuyến, phản ánh chính xác hơn thực tế các hệ thống có tăng trưởng bậc hai về chi phí hoặc rủi ro, đặc biệt hữu ích trong mô hình tài chính và thiết kế kỹ thuật.

Phân loại lập trình bậc hai

Dựa trên tính chất của ma trận QQ và dạng ràng buộc, QP có thể được chia thành các loại sau:

  • QP lồi (convex QP): Q0Q \succeq 0 – bài toán có nghiệm toàn cục duy nhất và ổn định
  • QP không lồi (non-convex QP): QQ không xác định dương – khó giải, có thể có nhiều nghiệm cục bộ
  • QP có ràng buộc bằng: hệ ràng buộc dạng Ax=bA x = b
  • QP có ràng buộc bất đẳng thức: hệ ràng buộc dạng AxbA x \leq b

Phân loại này giúp lựa chọn thuật toán giải phù hợp và đánh giá độ phức tạp tính toán.

 

Bảng phân biệt:

Loại QPMa trận QRàng buộcĐộ khó giải
Convex QPXác định dươngTuyến tínhThấp
Non-convex QPKhông xác địnhTuyến tínhCao
QP với equalityBất kỳAx=bA x = bTrung bình

Phương pháp giải thuật

Việc giải QP đòi hỏi các thuật toán tối ưu hóa hiệu quả, đặc biệt khi số biến hoặc ràng buộc lớn. Một số phương pháp giải phổ biến bao gồm:

  • Interior Point Method: dùng trong QP lồi, hiệu quả với bài toán quy mô lớn
  • Active Set Method: thích hợp cho bài toán có ít ràng buộc đang hoạt động
  • KKT Conditions: hệ điều kiện cần và đủ cho cực trị trong bài toán có ràng buộc
  • Gradient chiếu (Projected Gradient): dùng cho bài toán có ràng buộc hộp

Mỗi thuật toán có ưu nhược riêng, phụ thuộc vào độ lồi, kích thước, dạng ràng buộc và mục tiêu tính toán.

 

Chọn đúng thuật toán có thể rút ngắn thời gian xử lý từ hàng giờ xuống còn vài giây, đặc biệt trong ứng dụng thời gian thực như điều khiển robot hoặc tối ưu hóa mạng. Các solver hiện đại như Gurobi, MOSEK và OSQP tích hợp các kỹ thuật lai để tận dụng ưu điểm của từng phương pháp.

Ứng dụng trong tài chính và kinh tế

Lập trình bậc hai có ứng dụng sâu rộng trong lĩnh vực tài chính, đặc biệt là trong bài toán tối ưu hóa danh mục đầu tư. Mô hình cổ điển của Markowitz sử dụng phương sai lợi suất làm hàm mục tiêu bậc hai để đại diện cho rủi ro, trong khi lợi nhuận kỳ vọng được mô hình hóa dưới dạng hàm tuyến tính. Bài toán điển hình: minx12xTΣxμTxsubject to xi=1, xi0\min_x \frac{1}{2} x^T \Sigma x - \mu^T x \quad \text{subject to } \sum x_i = 1, \ x_i \geq 0 trong đó Σ\Sigmama trận hiệp phương sai, μ\mu là vector lợi suất kỳ vọng, và xx là vector tỷ trọng tài sản.

Thông qua QP, nhà đầu tư có thể lựa chọn cấu trúc danh mục tối ưu nhất giữa rủi ro và lợi nhuận, đồng thời áp dụng thêm các ràng buộc như giới hạn đầu tư tối thiểu, mức độ thanh khoản, hoặc điều kiện pháp lý. Việc sử dụng QP giúp hệ thống hóa quá trình ra quyết định tài chính dưới dạng bài toán tính toán cụ thể.

Ngoài đầu tư, QP còn được dùng trong định giá quyền chọn, thiết kế chiến lược giao dịch tự động, và hoạch định nguồn lực trong doanh nghiệp để tối thiểu hóa chi phí hoặc thời gian sản xuất, đặc biệt khi chi phí có xu hướng tăng phi tuyến với quy mô đầu vào.

Vai trò trong kỹ thuật và học máy

Trong kỹ thuật, QP được sử dụng rộng rãi trong điều khiển tối ưu (optimal control), đặc biệt là trong điều khiển mô hình tiên đoán (Model Predictive Control – MPC), nơi bài toán tại mỗi thời điểm được mô tả bằng QP để tối ưu hóa đầu vào điều khiển. Ưu điểm của QP là khả năng giải nhanh và đảm bảo tính chính xác khi xử lý các hệ thống vật lý có ràng buộc nghiêm ngặt.

Trong học máy, QP là nền tảng toán học cho nhiều thuật toán phân loại, nổi bật là máy vector hỗ trợ (Support Vector Machine – SVM). Mục tiêu của SVM là tìm siêu phẳng phân chia hai tập dữ liệu sao cho khoảng cách biên giữa hai lớp là lớn nhất – một bài toán có hàm mục tiêu bậc hai và ràng buộc tuyến tính: minw,b,ξ12w2+Cξis.t. yi(wTxi+b)1ξi\min_{\mathbf{w}, b, \xi} \frac{1}{2} \|\mathbf{w}\|^2 + C \sum \xi_i \quad \text{s.t. } y_i(\mathbf{w}^T x_i + b) \geq 1 - \xi_i

QP cũng hỗ trợ huấn luyện các mạng nơ-ron tuyến tính bị ràng buộc, hồi quy chính quy hóa (ridge regression), và giảm chiều không gian. Khả năng diễn tả sự cân bằng giữa độ chính xác và độ phức tạp khiến QP trở thành lựa chọn mặc định trong nhiều hệ thống học máy truyền thống.

Liên hệ với lập trình tuyến tính và bậc cao hơn

Lập trình bậc hai là sự mở rộng tự nhiên của lập trình tuyến tính (LP). Khi ma trận Q=0Q = 0, bài toán QP trở thành LP, có thể giải bằng phương pháp Simplex hoặc Interior Point nhanh chóng. Ngược lại, nếu hàm mục tiêu có bậc cao hơn hai hoặc chứa hàm phi tuyến, bài toán thuộc về lập trình phi tuyến tổng quát (Nonlinear Programming – NLP).

So với NLP, QP có cấu trúc tốt hơn, cho phép áp dụng các thuật toán hiệu quả, dễ quy hoạch tài nguyên tính toán và thường hội tụ nhanh hơn. Đó là lý do vì sao trong các phương pháp như Sequential Quadratic Programming (SQP), mỗi bước lặp được xấp xỉ bằng một bài toán QP con – đảm bảo giải quyết từng bước với độ chính xác cao trong tối ưu hóa phi tuyến.

Bảng phân biệt:

Loại bài toánHàm mục tiêuRàng buộcĐộ khó
LPTuyến tínhTuyến tínhThấp
QPBậc haiTuyến tínhTrung bình
NLPPhi tuyến bất kỳPhi tuyếnCao

Phần mềm và công cụ tính toán

Giải bài toán QP ngày nay được hỗ trợ bởi nhiều phần mềm và thư viện toán học mạnh mẽ. Một số công cụ phổ biến:

  • MATLAB: hàm quadprog hỗ trợ nhiều dạng ràng buộc
  • Python: CVXOPT, SciPy.optimize, hoặc thư viện chuyên dụng như OSQP, QP_solver
  • Gurobi, CPLEX: các solver thương mại hiệu suất cao, hỗ trợ song song và đa luồng
  • MOSEK: mạnh trong giải QP lồi và bài toán quy mô lớn

Các thư viện này hỗ trợ lập mô hình bài toán dễ dàng, tương thích với nhiều ngôn ngữ lập trình và có tài liệu hướng dẫn chi tiết.

 

Trong môi trường tính toán hiệu năng cao (HPC), việc giải các QP có hàng triệu biến và ràng buộc trở nên khả thi nhờ các solver phân tán và GPU-based optimization. Các công cụ hiện đại tích hợp tự động chọn thuật toán phù hợp và điều chỉnh tham số nội bộ để tối đa hóa hiệu quả tính toán.

Hạn chế và hướng nghiên cứu

Mặc dù QP có nhiều ưu điểm, nhưng cũng tồn tại một số hạn chế. Các vấn đề khó như:

  • Giải QP không lồi: có thể hội tụ chậm hoặc rơi vào nghiệm cục bộ
  • Ràng buộc phi tuyến: không thể xử lý trực tiếp trong QP
  • Ma trận QQ gần suy biến (ill-conditioned): gây bất ổn số học

đặt ra yêu cầu cho nghiên cứu phát triển các thuật toán ổn định và hiệu quả hơn.

 

Các hướng nghiên cứu hiện nay bao gồm: kết hợp QP với học sâu (deep QP), tối ưu hóa tăng cường (reinforcement-guided QP), và giải tích QP bằng mạng nơron (neural QP solvers). Những tiến bộ này hướng tới mục tiêu tích hợp lập trình bậc hai vào các hệ thống tự động hóa, điều khiển thông minh, và mô hình hóa dữ liệu quy mô lớn trong thời gian thực.

Kết luận

Lập trình bậc hai là công cụ mạnh mẽ cho các bài toán tối ưu hóa có cấu trúc đặc biệt, cân bằng tốt giữa khả năng biểu diễn phi tuyến và độ khả thi trong giải thuật. Với sự hỗ trợ từ các công cụ phần mềm hiện đại và vai trò cốt lõi trong nhiều lĩnh vực ứng dụng, QP tiếp tục giữ vai trò trung tâm trong khoa học dữ liệu, tài chính tính toán, kỹ thuật và học máy.

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

Dạng chuẩn tắc của bài toán quy hoạch bậc hai (QP) được phát biểu như thế nào?

Cực tiểu hóa hàm mục tiêu f(x) = (1/2) x^T Q x + c^T x với điều kiện Ax <= b; trong đó Q là ma trận vuông đối xứng bán xác định dương để bảo đảm bài toán lồi.

Hệ điều kiện Karush-Kuhn-Tucker (KKT) đóng vai trò gì trong lập trình bậc hai?

Điều kiện KKT cung cấp các điều kiện cần và đủ bậc nhất để một điểm là nghiệm tối ưu toàn cục của bài toán quy hoạch bậc hai lồi có ràng buộc.

Hai thuật toán số học chủ lực để giải bài toán lập trình bậc hai quy mô lớn là gì?

Phương pháp tập hoạt động (Active-Set Method - hiệu quả cho bài toán kích thước vừa) và phương pháp điểm trong (Interior-Point Method - tối ưu cho bài toán quy mô rất lớn).

Các nghiên cứu khoa học về “Lập trình bậc hai”

Công bố nổi bật trên thế giới và tại Việt Nam, kèm tóm tắt theo hướng chủ đề.

Trích dẫn nhiều nhất

  • Phương pháp nội điểm điều hòa sơ cấp - đối cấp cho các chương trình bậc hai lồi

    Dịch bởi AIA primal–dual regularized interior-point method for convex quadratic programs

    M. P. Friedlander và cộng sự2012Mathematical Programming Computation

    AI tóm tắt

    Toán tin ứng dụng phát triển phương pháp điểm trong nguyên thủy - đối ngẫu có điều hòa chính xác nhằm giải bài toán quy hoạch lồi và lập trình bậc hai. Thuật toán thiết lập cơ chế điều hòa hệ phương trình đối xứng, khắc phục sự suy biến của ma trận Jacobian do biến tự do. Kết quả lý thuyết chứng minh nghiệm quy hoạch tìm được hội tụ chuẩn xác về bài toán lập trình bậc hai.

  • Một Thuật Toán Điểm Cực Mới Và Ứng Dụng của Nó Trong Các Thuật Toán PSQP Để Giải Quyết Các Chương Trình Toán Học Với Các Ràng Buộc Tương Tương Tuyến Tính

    Dịch bởi AIA New Extreme Point Algorithm and Its Application in PSQP Algorithms for Solving Mathematical Programs with Linear Complementarity Constraints

    Jianzhong Zhang và cộng sự2001Journal of Global Optimization

    AI tóm tắt

    Toán học tối ưu hóa đề xuất thuật toán điểm cực mới giải bài toán quy hoạch toán học ràng buộc bù tuyến tính mà không đòi hỏi hàm mục tiêu cấp cao phải lõm. Phương pháp được tích hợp vào khung thuật toán lập trình bậc hai tuần tự đoạn PSQP để giải bài toán hiệu quả. Thực nghiệm số xác nhận tính khả thi và độ hội tụ ổn định của mô hình lập trình bậc hai.

Tài liệu tham khảo

  1. Andersen (2001). Entropy optimization: Interior point methods; Interior point methods for semidefinite programming; Linear programming: Interior point methods; Linear programming: Karmarkar projective algorithm; Potential reduction methods for linear programming; Sequential quadratic programming: Interior point methods for distributed optimal control problems; Successive quadratic programming: Solution by active sets and interior point methods HOMOGENEOUS SELFDUAL METHODS FOR LINEAR PROGRAMMING. Encyclopedia of Optimization. DOI: 10.1007/0-306-48332-7_200
  2. André (2001). Optimization with equilibrium constraints: A piecewise SQP approach; Sequential quadratic programming: Interior point methods for distributed optimal control problems; Successive quadratic programming; Successive quadratic programming: Applications in distillation systems; Successive quadratic programming: Applications in the process industry; Successive quadratic programming: Decomposition methods; Successive quadratic programming: Full space methods; Successive quadratic programming: Solution by active sets and interior point methodsOptimization with equilibrium constraints: A piecewise SQP approach; Sequential quadratic programming: Interior point methods for distributed optimal control problems; Successive quadratic programming; Successive quadratic programming: Applications in distillation systems; Successive quadratic programming: Applications in the process industry; Successive quadratic programming: Decomposition methods; Successive quadratic programming: Full space methods; Successive quadratic programming: Solution by active sets and interior point methodsFEASIBLE SEQUENTIAL QUADRATIC PROGRAMMING. Encyclopedia of Optimization. DOI: 10.1007/0-306-48332-7_134
  3. Tunç (2001). Duality for semidefinite programming; Entropy optimization: Interior point methods; Homogeneous selfdual methods for linear programming; Linear programming: Interior point methods; Linear programming: Karmarkar projective algorithm; Matrix completion problems; Potential reduction methods for linear programming; Semi-infinite programming, semidefinite programming and perfect duality; Semidefinite programming and determinant maximization; Semidefinite programming and structural optimization; Semidefinite programming: Optimality conditions and stability; Sequential quadratic programming: Interior point methods for distributed optimal control problems; Solving large scale and sparse semidefinite programs; Successive quadratic programming: Solution by active sets and interior point methods INTERIOR POINT METHODS FOR SEMIDEFINITE PROGRAMMING. Encyclopedia of Optimization. DOI: 10.1007/0-306-48332-7_219