Teoria dualității afirmă că problemele de optimizare pot fi echivalente sau transformate între ele, fie prin transformarea problemei primare într-o problemă duală, fie prin găsirea unei funcții obiectiv care să satisfacă constrângerile și să fie mai ușor de optimizat.