Programació quadràtica

Esquema de programació quadràtica seqüencial Esquema que explica la idea bàsica de l'algorisme SQP creat per a l'article de wikipedia SQP amb TikZ.

La programació quadràtica (QP) és el procés de resolució de determinats problemes d'optimització matemàtica que impliquen funcions quadràtiques. Concretament, es busca optimitzar (minimitzar o maximitzar) una funció quadràtica multivariant subjecta a restriccions lineals sobre les variables. La programació quadràtica és un tipus de programació no lineal.[1]

"Programació" en aquest context es refereix a un procediment formal per resoldre problemes matemàtics. Aquest ús data de la dècada de 1940 i no està específicament lligat a la noció més recent de "programació d'ordinadors". Per evitar confusions, alguns professionals prefereixen el terme "optimització", per exemple, "optimització quadrada".[2]

Formulació del problema

[modifica]

El problema de programació quadràtica amb n variables i m restriccions es pot formular de la següent manera. Donat:

  • un vector n -dimensional de valor real c,
  • una matriu simètrica real n×n-dimensional Q,
  • una matriu real m×n -dimensional A, i
  • un vector real m -dimensional b,

l'objectiu de la programació quadràtica és trobar un vector n -dimensional x, que ho farà

minimitzar
subjecte a

on xT denota la transposició vectorial de x, i la notació Axb significa que cada entrada del vector Ax és menor o igual que l'entrada corresponent del vector b (desigualtat per components).[3]

Mínims quadrats restringits

[modifica]

Com a cas especial quan Q és simètrica positiva-definida, la funció de cost es redueix a mínims quadrats:

minimitzar
subjecte a

on Q = RTR es desprèn de la descomposició de Cholesky de Q i c = −RT d. Per contra, qualsevol programa de mínims quadrats restringit es pot emmarcar de manera equivalent com un problema de programació quadràtica, fins i tot per a una matriu R genèrica no quadrada.

Generalitzacions

[modifica]

Quan es minimitza una funció f al voltant d'algun punt de referència x0, Q s'estableix a la seva matriu hessiana H(f(x0)) i c s'estableix al seu gradient f(x0). Un problema de programació relacionat, la programació quadràtica restringida, es pot plantejar afegint restriccions quadràtiques a les variables.[4]

Mètodes de solució

[modifica]

Per a problemes generals s'utilitzen habitualment una varietat de mètodes, com ara

En el cas en què Q és definit positiu, el problema és un cas especial del camp més general de l'optimització convexa.

Referències

[modifica]
  1. «Quadratic programming - Cornell University Computational Optimization Open Textbook - Optimization Wiki» (en anglès). [Consulta: 11 maig 2024].
  2. «Quadratic Optimization Problems» (en anglès). [Consulta: 11 maig 2024].
  3. «CHAPTER 2: QUADRATIC PROGRAMMING» (en anglès). [Consulta: 11 maig 2024].
  4. «[https://ocw.mit.edu/courses/15-084j-nonlinear-programming-spring-2004/8a2f7cda0c6c448c17e8a8272697f55c_lec4_quad_form.pdf Quadratic Functions, Optimization, and Quadratic Forms]» (en anglès). [Consulta: 12 maig 2024].