Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции рогов / Рогов_лек10_нел_пр.doc
Скачиваний:
66
Добавлен:
10.02.2015
Размер:
240.64 Кб
Скачать

§1. Нелинейное программирование

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

1. Задача минимизации расходов

Фирма реализует автомобили двумя способами: через розничную торговлю и оптом. При реализации автомобилей в розницу расходы на реализацию составляют условных единиц, а при продаже автомобилей оптом – таких же единиц. Найти оптимальный способ реализации 100 автомобилей, минимизирующий суммарные расходы.

Математическая модель задачи заключается в следующем:

Найти неотрицательное решение уравнения

+ =100 (

при котором функция

принимает минимальное значение.

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

Так как , то линиями уровня функции являются окружности разных радиусов с центром в точке C(-10, 10), а областью допустимых решений задачи – отрезок AB прямой + =100 (рис. 1.1).

Если проводить эти окружности из точки C, то нетрудно догадаться, что минимальное значение функция принимает в точке D касания окружности уровня с отрезком AB. Радиус этой окружности будет перпендикулярен прямой AB, поэтому угловой коэффициент k прямой CD равен единице: k=1. Следовательно, уравнение прямой CD имеет вид:

, или = –20.

Решая систему уравнений

,

находим координаты точки D: = 40, = 60. Значит , фирма должна продать в розницу 40 автомобилей, а оптом – 60 автомобилей, при этом суммарные расходы составят 1600 + 800 + 3600 – 1200 = 4800 условных единиц.

2. Задача максимизации объема производства.

Для пошива пальто и курток швейная фабрика использует ткань двух типов. На изготовление одного пальто расходуется 2 м ткани первого типа и 1,5 м ткани второго типа. Для пошива куртки аналогичные данные составляют 1,5 м ткани первого типа и 1 м ткани второго типа. В распоряжении фабрики ежедневно имеется 300 м ткани первого типа и 180 м ткани второго типа. Ежедневный спрос на куртки не превышает 60 штук. Какое количество пальто и курток надо сшить, чтобы в рамках этих ресурсов прибыль фабрики, определяемая функцией ,была максимальной?

Для решения задачи снова построим математическую модель. Обозначим через и запланированное количество пальто и курток. Ограниченные запасы тканей и спрос на куртки означают, что переменные и должны удовлетворять системе неравенств:

(3)

Кроме того, по смыслу задачи они должны быть неотрицательными:

(4) .

Прибыль фабрики по условию определяется формулой:

(5) +

Итак, математическая модель задачи такова: найти числа и , являющиеся решениями системы (3) и удовлетворяющие условию (4), при которых функция (5) имеет максимальное значение.

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

Так как + =, то линиями уровня k функции являются параболы с вершинами в точках с координатами (40, ), где = – 1600 + k.

Условия (3) и (4) определяют четырехугольник OABC (рис 1.2), координаты точек которого являются неотрицательными решениями системы (3).

Поэтому функция принимает максимальное значение в точке касания одной из парабол с верхней границей четырехугольника OABC. Точка D(40, 60) является точкой касания искомой параболы с прямой AB.

max= (40, 60) = 1660.

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