Вопросы для самоконтроля:
1.В чем определяется неполнота оптимизационной модели.
2.Экономико- математический анализ полученных оптимальных решений.
Рекомендуемая литература:
1.Акулич И.Л. Математическое программирование в примерах и задачах. — М.: Высш. шк., 1986.
2.Алексеев В.М., Галеев Э.М., Тихомиров В.М. Сборник задач по оптимизации. М.: Наука, 1984.
Лекция 9. Задачи нелинейного программирования
Содержание лекционного занятия:
Формулировка задач нелинейного программирования
Классификация задач нелинейного программирования
Задачи математического программирования включают, прежде всего, задачи линейного и нелинейного программирования. В свою очередь последнее принято подразделять на выпуклое, квадратичное программирование и многоэкстремальные задачи.
В общем случае задача нелинейного программирования может быть записана в следующем виде. Найти min F(x) при ограничениях:
где х (х1, х2, ..., хn) — вектор из Еn, F(x) — заданная целевая функция, минимум которой предстоит найти, а cj(x) — заданные скалярные функции, определяющие ограничения на область поиска. Дополнительно может присутствовать требование целочисленности всех или некоторых координат вектора х.
Эта формулировка универсальна в том смысле, что любая задача математического программирования может быть представлена в таком виде. В частности, при условии линейности всех функций получаем задачу линейного программирования. Поскольку в этой формулировке никаких ограничений на вид или свойства функций задачи F(x) и Cj не накладывается, то разнообразие функций и их свойств предопределяет и разнообразие задач нелинейного программирования. Эти функции могут быть или не быть непрерывными, иметь или не иметь частные производные, быть или не быть выпуклыми, одноэкстремальными и т.д.
Универсального метода— такого как симплекс-метод для линейных задач — для решения нелинейных задач нет. С другой стороны, нет оснований считать каждую задачу уникальной, так как далеко не каждое изменение в формулировке задачи требует пересмотра метода ее решения. Другими словами, можно выделить классы задач и в пределах каждого класса — свои наиболее подходящие методы решения.
Классификация задач проводится по различным признакам.
Наличие явных аналитических выражений функций задачи или только возможности их вычисления при конкретных значениях переменных путем решения дополнительных подзадач.
Непрерывность функций и их производных (условия гладкости).
Наличие локальных экстремумов (многоэкстремальность).
Размерность задачи. От нее зависит, сколько памяти и времени вычислений требуется для решения задачи тем или иным методом. Как правило, методы, эффективные для задач с небольшим числом переменных, не пригодны при числе переменных в сотни и тысячи.
Дополнительно часто имеют значение «природа» задачи и внешние факторы. Например, некоторые ограничения должны быть выполнены с высокой точностью, а некоторые могут выполняться с существенной допустимой погрешностью (невязкой). Если результаты решения нужны как второстепенные данные для более общей задачи, то может оказаться бессмысленным поиск решения с максимальной точностью. Наконец, может требоваться только приближенное значение минимума, а сама точка, в которой он достигается, или вообще не нужна, или может быть найдена со значительными отклонениями по некоторым переменным. Подобные ситуации возникают при оптимизации параметров отдельных подсистем в больших системах.
Важное значение имеет конкретный вид функций. Например, система линейных ограничений может иметь структуру или соответствовать матрице, имеющей много нулевых элементов, что позволяет создать наиболее эффективные алгоритмы как в рамках известных методов, так и новые методы оптимизации.
Достарыңызбен бөлісу: |