Особое внимание уделено построению алгоритмов поиска экстремума, что даст возможность студентам самостоятельно разрабатывать соответствующие программные средства в случаях, когда использование стандартных пакетов программ невозможно. При изложении методов безусловной оптимизации использована классическая последовательность. При изложении методов условной оптимизации вначале рассматриваются задачи нелинейного программирования, а затем линейного. В сложных случаях приводятся подробные решения. Кроме задач поиска экстремума функций на непрерывном множестве значений аргументов изложены проблемы дискретной оптимизации. Показаны принципы построения и реализация основных алгоритмов дискретного линейного программирования и алгоритмов оптимизации на графах и сетях.