Нелинейное программирование.
Как знаем, математическая модель оптимизационной задачи по планированию и управлению сложными системами, в том числе экономическими системами, в общей постановке можно сформулировать в следующем виде:
найти значения переменных х1, х2, …, хn, удовлетворяющие системе ограничений (неравенств или уравнений)
φi (х1, х2, …, хn) ≤ bi, i=1, 2, …, m (7.1)
и обеспечивающие максимум (минимум) целевой функции
Z = f(х1, х2, …, хn)→max (min). (7.2)
Во многих практических задачах исследования операций, в том числе в экономических моделях, зависимости между постоянными и переменными факторами в функциях (7.1) и (7.2) лишь в первом приближении можно считать линейными. Более детальное рассмотрение позволяет обнаружить их нелинейность. Как правило, такие показатели, как прибыль, себестоимость, капитальные затраты на производство и т.д., в действительности зависят от объема производства, расхода ресурсов и т.п. нелинейно. В этом случае возникает задача нелинейного программирования.
|
|
Можно выделить класс нелинейных задач, которые относятся к классическим методам оптимизации. Допустим, что среди ограничений (7.1) нет неравенств, не обязательны условия неотрицательности, переменные являются дискретными, m<n, а функции φi(Х) и f (Х) непрерывны и имеют частные производные по крайней мере второго порядка.
Такие задачи в принципе можно решить классическими методами дифференциального исчисления. Однако на этом пути встречаются такие вычислительные трудности, которые делают необходимым поиск других методов решения.
Так, казалось бы, найдя частные производные функции f по всем аргументам, приравняв их нулю и решив систему уравнений , получим значения x j, при которых функция f может достичь своего экстремума.
Однако, эти методы имеют существенные недостатки: во-первых, при большом количестве переменных решение получаемой системы дифференциальных уравнений является довольно громоздкой задачей; во-вторых, классические методы позволяют найти критические точки только внутри области определения функции и не позволяют исследовать граничные точки; в-третьих, эти методы позволяют определить только локальные экстремумы функции, и не пригодны для отыскания глобального экстремума, так как не учитывают взаимовлияния параметров, в-четвертых, классические методы вовсе неприменимы, если xj или функция f(Х) - дискретные величины.
Поэтому классические методы часто используются не в качестве вычислительного средства, а как основа для теоретического анализа.
Как правило, функции φi и f могут иметь произвольный нелинейный вид.
|
|
Используя классические методы оптимизации, следует четко представлять себе различие между локальным, глобальным и условным экстремумами функции.
Будем полагать, что функция Z = f(х1, х2, …, хn)=f(X) дважды дифференцируема в точке Х* = (х*1, х*2, …, х*n), (Х*ЄD(f)) и в некоторой ее окрестности. Говорят, что функция f(X) имеет экстремум в точке Х* (максимум или минимум), если для всех точек Х этой окрестности выполняются условия f(X*)≥f(X) (в задачах на max f) или f(X*) ≤ f(X) (в задачах на min f),
На рис. 7.1 приведен график функции одной переменной, которая на промежутке D(a; b) имеет точки экстремумов хо, х1, х2 и х3
Экстремум функции в достаточно малой окрестности точки хо называют локальным экстремумом. На одном промежутке функция может иметь несколько локальных экстремумов.
|
Наибольшее или наименьшее значения локальных экстремумов на некотором промежутке D называется глобальным максимумом (минимумом) функции на данном промежутке.