L'ottimizzazione matematica o programmazione matematica è la selezione dell'elemento migliore da un insieme di alternative disponibili. Problemi di ottimizzazione di questo tipo si presentano in tutte le discipline quantitative, dall'informatica all'ingegneria, dalla ricerca operativa all'economia, e lo sviluppo di metodi di soluzione è stato di interesse per la matematica per secoli. Nel caso più semplice, un problema di ottimizzazione consiste nel massimizzare o minimizzare una funzione reale scegliendo sistematicamente i valori di input da un insieme consentito e calcolando il valore della funzione. La generalizzazione della teoria e delle tecniche di ottimizzazione ad altre formulazioni costituisce un'ampia area della matematica applicata. Più in generale, l'ottimizzazione comprende la ricerca dei "migliori valori disponibili" di una funzione obiettivo dato un dominio (o un input) definito, includendo una varietà di tipi diversi di funzioni obiettivo e di domini.