A dualitástétel a lineáris programozás fontos tétele. Segítségével ellenőrizhető, hogy tényleg a megfelelő szélsőértéket adták-e meg. De vannak más alkalmazásai is, például a játékelméletben vagy a gráfelméletben.
Tegyük fel, hogynem üres, ésfelülről korlátos. Ekkor a primál program maximuma egyenlő a duál program minimumával.Azaz.
Az egyik irány könnyű. Hármas szorzattal . A másik irányhoz kell egy megoldáspár, amire az egyenlőség teljesül. Ezek bázismegoldások lesznek. Ha felülről korlátos, akkor maximumát egy bázismegoldáson is felveszi.
A bizonyítás folytatásához szükség van egy lemmára.
Lemma: legyen nem üres, és felülről korlátos. Ekkor a következők ekvivalensek:
cx* minden , x* optimális
nincs növelő irány, azaz nincs x1, hogy x1, ahol a Q mátrixnak azokat a sorait jelöli, amiket x* egyenlőséggel teljesít
a c vektor benne van x* aktív sorainak kúpjában, azaz van y*, és ha akkor . Ekvivalensen .