Le fabbriche e le aziende di consegna affrontano di solito il problema della programmazione in modo da ottenere il risultato più redditizio del loro lavoro. Uno degli esempi del mondo reale è la minimizzazione del tempo di esecuzione di un sistema di trasporto, trovando la sequenza appropriata di ordini da elaborare. In informatica o nella ricerca operativa, questo caso può essere interpretato come il problema del Job Shop Scheduling (JSS). Tuttavia, il JSS è un problema di ottimizzazione combinatoria difficile da risolvere. Non è possibile applicare metodi di ottimizzazione precisi, perché la ricerca del risultato ottimale richiederebbe anni. Per questo motivo, per risolvere questo tipo di problemi si ricorre di solito alla meta-euristica.