В учебно-методическом пособии излагается материал, входящий в федеральный компонент дисциплины «Дискретная математика» Государственных образовательных стандартов группы специальностей «Информационная безопасность». В первой части пособия рассмотрены фундаментальные теории графов, основные постановки и методы решения оптимизационных задач на графах. Особое внимание уделено вопросам построения алгоритмов приближенного решения оптимизационных задач и оценкам сложности. Вторая часть пособия посвящена реализации рассмотренных алгоритмов на языке Java. Для студентов и аспирантов, изучающих курсы дискретной математики в технических университетах, а также всех, интересующихся алгоритмами решения оптимизационных задач на графах.