Нелинейное программирование - Методики решения задач линейного и нелинейного программирования

Задача математического программирования называется нелинейной, если нелинейны ограничения или целевая функция.

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

Разделяют задачи безусловной и условной оптимизации. Задачами безусловной оптимизации называются задачи оптимизации функции многих переменных без дополнительных ограничений. Существуют следующие методы безусловной оптимизации: покоординатного спуска, градиентные, сопряженных направлений, метод Ньютона. Задачами условной оптимизации называются задачи о оптимизации целевой функции многих переменных f(x1, ..., xn) при условии, что эти переменные удовлетворяют следующим ограничениям.

Решение задачи основывается на линейной или квадратичной аппроксимации целевой функции для определения приращений x1, ...,xn на каждой итерации.

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

Похожие статьи




Нелинейное программирование - Методики решения задач линейного и нелинейного программирования

Предыдущая | Следующая