Оптимизация: кратчайшие пути в графах и их применение