Опубликован: 11.08.2009 | Уровень: для всех | Доступ: свободно
Лекция 8:

Задачи оптимизации при принятии решений

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >

На рис. 8.4 ради облегчения восприятия четыре прямые обозначены номерами (1) - (4). Прямая (1) описывается уравнением 1,00 К + 0,25 С = 5,00 (ограничение по веществу Н). Она проходит, как и показано на рисунке, через точки (5, 0) на оси абсцисс и (0, 20) на оси ординат. Обратите внимание, что допустимые значения параметров (К, С) лежат выше прямой (1) или на ней, в отличие от ранее рассмотренных случаев в предыдущей производственной задаче линейного программирования.

Прямая (2) - это прямая 110,00 К + 120,00 С = 400,00 (ограничение по калориям). Обратим внимание, что в области неотрицательных С она расположена всюду ниже прямой (1). Действительно, это верно при К = 0, прямая (1) проходит через точку (0, 20), а прямая (2) - через расположенную ниже точку (0, 400/120). Точка пересечения двух прямых находится при решении системы уравнений

1,00 К + 0,25 С = 5,00 ,\\
110,00 К + 120,00 С = 400,00.

Из первого уравнения К = 5 - 0,25 С. Подставим во второе: 110 (5- 0,25 С) + 120 С = 400, откуда 550 - 27,5 С + 120 С = 400. Следовательно, 150 = - 92,5 С, т.е. решение достигается при отрицательном С. Это и означает, что при всех положительных С прямая (2) лежит ниже прямой (1). Значит, если выполнено ограничение по Н, то обязательно выполнено и ограничение по калориям. Мы столкнулись с новым явлением - некоторые ограничения с математической точки зрения могут оказаться лишними. С экономической точки зрения они необходимы, отражают существенные черты постановки задачи, но в данном случае внутренняя структура задачи оказалась такова, что ограничение по калориям не участвует в формировании допустимой области параметров и нахождении решения.

Прямая (4) - это прямая 0,1 К + 0,25 С = 1 (ограничение по веществу Т). Она проходит, как и показано на рисунке, через точки (10, 0) на оси абсцисс и (0, 4) на оси ординат. Обратите внимание, что допустимые значения параметров (К, С) лежат выше прямой (4) или на ней, как и для прямой (1).

Следовательно, область допустимых значений параметров (К, С) является неограниченной сверху. Из всей плоскости она выделяется осями координат (лежит в первом квадранте) и прямыми (1) и (4) (лежит выше этих прямых, а также включает граничные отрезки). Область допустимых значений параметров, т.е. точек (К, С), можно назвать "неограниченным многоугольником". Минимум целевой функции 3,8 К + 4,2 С может достигаться только в вершинах этого "многоугольника". Вершин всего три. Это пересечения с осями абсцисс (10, 0) и ординат (0, 20) прямых (1) и (4) (в каждом случае из двух пересечений берется то, которое удовлетворяет обоим ограничениям). Третья вершина - это точка А пересечения прямых (1) и (4), координаты которой находятся при решении системы уравнений

0,10 К + 0,25 С = 1,00 ,\\
1,00 К + 0,25 С = 5,00.

Из второго уравнения К = 5 - 0,25 С, из первого 0,10 (5 - 0,25 С) + 0,25 С = 0,5 - 0,025 С + 0,25 С = 0,5 + 0,225 С = 1, откуда С = 0,5/0,225 = 20/9 и К = 5 - 5/9 = 40/9. Итак, А = (40/9; 20/9) .

Прямая (3) на рис. 8.5 - это прямая, соответствующая целевой функции 3,8 К + 4,2 С. Она проходит между прямыми (1) и (4), задающими ограничения, и минимум достигается в точке А, через которую и проходит прямая (3). Следовательно, минимум равен 3,8\times40/9 + 4,2\times20/9 = 236/9. Задача об оптимизации смеси полностью решена.

Двойственная задача, построенная по ранее описанным правилам, имеет приведенный ниже вид (мы повторяем здесь и исходную задачу об оптимизации смеси, чтобы наглядно продемонстрировать технологию построения двойственной задачи):

\begin{align*}3,8 К &+ 4,2 С \to min ,	&	W_1 &+ 5 W_2 + 400 W_3 \to max , \\
0,10 К &+ 0,25 С \ge 1,00 ,	&	0,1 W_1 &+ 1,10 W_2 + 110 W_3 \le 3,8 ,\\
1,00 К &+ 0,25 С \ge 5,00 ,	&	0,25W_1 &+ 0,25 W_2 + 120 W_3 \le 4,2 ,\\
110,00 К& + 120,00 С \ge 400,00,&	W_1 &\ge 0 ,\\
К &\ge 0 ,			&	W_2 &\ge 0 ,\\
С &\ge 0 .			&	W_3 &\ge 0 .\end{align*}

Минимальное значение в прямой задаче, как и должно быть, равно максимальному значению в двойственной задаче, т.е. оба числа равны 236/9. Интерпретация двойственных переменных: W_1 - "стоимость" единицы вещества Т, а W_2 - "стоимость" единицы вещества Н, измеренные "по их вкладу" в целевую функцию. При этом W_3 = 0, поскольку ограничение на число калорий никак не участвует в формировании оптимального решения. Итак, W_1 , W_2 , W_3 - это т.н. объективно обусловленные оценки (по Л.В. Канторовичу) ресурсов (веществ Т и Н, калорий).

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

Таблица 8.2. Производственные мощности (в шт.)
Кухни Кофеварки Самовары
Штамповка 20000 30000 12000
Отделка 30000 10000 10000
Сборка 20000 12000 8000
Объем выпуска Х1 Х2 Х3
Удельная прибыль (на одно изделие) 15 12 14

При этом штамповка и отделка проводятся на одном и том же оборудовании. Оно позволяет штамповать за заданное время или 20000 кухонь, либо 30000 кофеварок, либо и то, и другое, не в меньшем количестве. А вот сборка проводится на отдельных участках.

Задача линейного программирования имеет вид:

Х_1 \ge 0 , Х_2 \ge 0 , Х_3 \ge 0 ( 0)
Х_1 / 200 + Х_2 / 300 + Х_3 / 120 \le 100 ( 1)
Х_1 / 300 + Х_2 / 100 + Х_3 / 100 \le 100 ( 2)
Х_1 / 200 \le 100 ( 3)
Х_2 / 120 \le 100 ( 4)
Х_3 / 80 \le 100 ( 5)
F = 15 Х_1 + 12 Х_2 + 14 Х_3 \to max.

Здесь:

(0) - обычное в экономике условие неотрицательности переменных,

(1) - ограничение по возможностям штамповки (выраженное для облегчения восприятия в процентах),

(2) - ограничение по возможностям отделки,

(3) - ограничение по сборке для кухонь,

(4) - то же для кофемолок,

(5) - то же для самоваров (как уже говорилось, все три вида изделий собираются на отдельных линиях).

Наконец, целевая функция F - общая прибыль предприятия.

Заметим, что неравенство (3) вытекает из неравенства (1), а неравенство (4) - из (2). Поэтому неравенства (3) и (4) можно из формулировки задачи линейного программирования исключить.

Отметим сразу любопытный факт. Как будет установлено, в оптимальном плане Х_3 = 0, т.е. самовары выпускать невыгодно.

Методы решения задач линейного программирования. Методы решения задач линейного программирования относятся к вычислительной математике, а не к экономике. Однако экономисту полезно знать о свойствах интеллектуального инструмента, которым он пользуется.

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

Простой перебор. Возьмем некоторый многомерный параллелепипед, в котором лежит многогранник, задаваемый ограничениями. Как его построить? Например, если имеется ограничение типа 2Х_1 + 5Х_2 \le 10, то, очевидно, 0 \le Х_1 \le 10/2 = 5 и 0 \le Х_2 \le 10/5 = 2. Аналогичным образом от линейных ограничений общего вида можно перейти к ограничениям на отдельные переменные. Остается взять максимальные границы по каждой переменной. Если многогранник, задаваемый ограничениями, неограничен, как было в задаче о диете, можно похожим, но несколько более сложным образом выделить его "обращенную" к началу координат часть, содержащую решение, и заключить ее в многомерный параллелепипед.

Проведем перебор точек параллелепипеда с шагом 1/10^n последовательно при n=2,3,\dots, вычисляя значения целевой функции и проверяя выполнение ограничений. Из всех точек, удовлетворяющих ограничениям, возьмем ту, в которой целевая функция максимальна. Решение найдено! (Более строго выражаясь, найдено с точностью до 1/10^n.)

Направленный перебор. Начнем с точки, удовлетворяющей ограничениям (ее можно найти простым перебором). Будем последовательно (или случайно - с помощью т.н. метода случайного поиска) менять ее координаты на определенную величину \Delta, переходя каждый раз в точку с более высоким значением целевой функции. Если выйдем на плоскость ограничения, будем двигаться по ней (находя одну из координат по уравнению ограничения). Затем движение по ребру (когда два ограничения-неравенства переходят в равенства)… Остановка - в вершине линейного многогранника. Решение найдено! (Более строго выражаясь, найдено с точностью до \Delta. Если необходимо, в окрестности найденного решения проводим направленный перебор с шагом \Delta/2 , \Delta/4 и т.д.)

Симплекс-метод. Этот один из первых специализированных методов оптимизации, нацеленный на решение задач линейного программирования, в то время как методы простого и направленного перебора могут быть применены для решения практически любой задачи оптимизации. Симплекс-метод был предложен американцем Г. Данцигом в 1951 г. Основная его идея состоит в продвижении по выпуклому многограннику ограничений от вершины к вершине, при котором на каждом шаге значение целевой функции улучшается до тех пор, пока не будет достигнут оптимум. Разберем пример на основе данных табл. 8.2.

Рассмотрим задачу линейного программирования, сформулированную выше при рассмотрении оптимизации номенклатуры и объемов выпуска:

F = 15 Х_1 + 12 Х_2 + 14 Х_3 \to max .\\
	Х_1 / 200 + Х_2 / 300 + Х_3 / 120 \le 100 ,\\
	Х_1 / 300 + Х_2 / 100 + Х_3 / 100 \le 100 ,\\
	Х_3 / 80 \le 100.

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

В соответствии с симплекс-методом введем т.н. "свободные переменные" Х_4, Х_5, Х_6, соответствующие недоиспользованным мощностям, т.е. от системы неравенств перейдем к системе уравнений:

Х_1 / 200 + Х_2 / 300 + Х_3 / 120 + Х_4 = 100 ,\\
	Х_1 / 300 + Х_2 / 100 + Х_3 / 100 + Х_5 = 100 ,\\
	Х_3 / 80 + Х_6 = 100 ,\\
	15 Х_1 + 12 Х_2 + 14 Х_3 = F.

У этой системы имеется очевидное решение, соответствующее одной из вершин многогранника допустимых значений переменных:

Х_1 = Х_2 = Х_3 = 0, Х_4 = Х_5 = Х_6 = 100, F = 0.

В терминах исходной задачи это означает, что ничего не надо выпускать. Такое решение приемлемо только на период летних отпусков.

В соответствии с симплекс-методом выбираем переменную, которая входит в целевую функцию F с самым большим положительным коэффициентом. Это Х_1.

Сравниваем частные от деления свободных членов в первых трех уравнениях на коэффициенты при только что выбранной переменной Х_1:

100 / (1/200) = 20000, 100 / (1/300) =30000, 100/0 = + \infty.

Выбираем строку из системы уравнений, которой соответствует минимальное из всех положительных отношений. В рассматриваемом примере - это первая строка, которой соответствует отношение 20000.

Умножим первую строку на 200, чтобы получить Х_1 с единичным коэффициентом:

Х_1 + 2/3 Х_2 + 2/1,2 Х_3 + 200 Х_4 = 20000.

Затем умножим вновь полученную строку на (-1/300) и сложим со второй строкой, чтобы исключить член с Х_1, получим

7/900 Х_2 + 4/900 Х_3 - 2/3 Х_4 + Х_5 = 100/3.

Ту же преобразованную первую строку умножим на (-15) и сложим со строкой, в правой части которой стоит F, получим:

2 Х_2 - 11 Х_3 - 3000 Х_4 = F - 300000.

В результате система уравнений преобразуется к виду, в котором переменная Х_1 входит только в первое уравнение:

Х_1 + 2/3 Х_2 + 2/1,2 Х_3 + 200 Х_4 = 20000 ,\\
	7/900 Х_2 + 4/900 Х_3 - 2/3 Х_4 + Х_5 = 100/3,\\
	Х_3 / 80 + Х_6 = 100 ,\\
	2 Х_2 - 11 Х_3 - 3000 Х_4 = F - 300000.

Очевидно, у новой системы имеется улучшенное по сравнению с исходным решение, соответствующее другой вершине выпуклого многогранника в шестимерном пространстве:

Х_1 = 20000, Х_2 = Х_3 = Х_4 = 0, Х_5 = 100/3, Х_6 = 100, F = 300000.

В терминах исходной задачи это решение означает, что надо выпускать только кухни. Такое решение приемлемо, если допустимо выпускать только один вид продукции.

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >
Михаил Агапитов
Михаил Агапитов

Не могу найти  требования по оформлению выпускной контрольной работы по курсу профессиональной переподготовки "Менеджмент предприятия"

Подобед Александр
Подобед Александр

Я нажал кнопку "начать курс" и почти его уже закончил, но для получения диплома на бумаге, нужно его же оплатить? Как оплатить? 

Александр Чернов
Александр Чернов
Россия, Омская область