Het principe van optimaliteit is het basisprincipe van dynamisch programmeren, dat is ontwikkeld door Richard Bellman: dat een optimaal pad de eigenschap heeft dat ongeacht de initiële voorwaarden en besturingsvariabelen (keuzes) gedurende een bepaalde beginperiode, de gekozen besturings (of beslissingsvariabelen) gedurende de resterende periode moet optimaal zijn voor het resterende probleem, waarbij de toestand die voortvloeit uit de vroege beslissingen als de initiële voorwaarde wordt beschouwd.