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