Линейное программирование. Теория двойственности. Вариант № 14, страница 2

x6* = 60*x1* + 110*x2*  + 65*x3* + 25*x4* + 40*x5* - 25000 = 0 + 110*80+ 0 + 0 + 40*405 – 25000  = 0 (величина x6* говорит о том, что ресурс «деньги» израсходован полностью).

Тоже самое можно сказать про 2-ой ресурс: площадь холодильников.

x7* = 0,1*x1* + 0,5*x2*  + 1,0*x3* + 1,0*x4*  - 40 = 0 + 80*0,5 + 0 + 0   – 40 = 0

Двойственные оценки y1* и  y2*, которые показывают степень использования соответствующего ресурса, подтверждают это, т.к. их значения больше нуля. Тогда изменения обоих видов ресурсов должны приводить к такому же изменению общего дохода, т.е. целевой функции, как это и следует из третьей теоремы о двойственности. Для нашей задачи она запишется так: ∆Z = ∆b1*y1* + ∆b2*y2* = ∆b1*0,2 + ∆b2*66 (4)

Таким образом, изменение 1-го вида ресурса на единицу ведет к такому же изменению дохода на 0,2 единиц, а 2-го – на 66 единиц в стоимостном выражении.

Формула (4) имеет смысл только тогда, когда ∆b1 и ∆b2 изменяются в пределах интервалов устойчивости.

Для их определения воспользуемся ПЭР:

b1 = 25000; b2 = 40 (исходные данные)

Тогда:

               b1 max - b1 = +¥ – 25000 = +¥ (в сторону увеличения)

∆b1 =     

               b1 - b1 min = 25000 – 8800 = 16200 (в сторону уменьшения)

и

              b2 max – b2 = 113,6364 – 40 = 73,6364 (в сторону увеличения)

∆b2 =     

               b2 – b2 min = 40 – 0 = 40 (в сторону уменьшения)

Таким образом, если запасы обоих ресурсов изменяются в указанных выше пределах, координаты оптимального плана двойственной задачи Y* =(y1*;y2*) не меняются, и новое значение целевой функции можно найти следующим образом:

Zнов = Z* ± ∆Z,           (5)

где  Z* - оптимальное значение, полученное из итоговой таблицы,

∆Z – изменение целевой функции, найденное по формуле (4).

Найдем интервалы устойчивости с помощью рисунка (см. график):

Z0 = y1*b1 + y2*b2 => y1 = Z0/ b1 + y2 *(b2/b1)          (7)

(b2/b1) – тангенс угла наклона прямой к оси OY1.


Рассмотрим следующие случаи:

1) Пусть b2 = const, а b1 ↑ - тангенс уменьшается, угол наклона прямой к оси OY1 уменьшается.

2) Пусть b2 = const, а b1 ↓ - тангенс увеличивается, угол наклона прямой к оси OY1 увеличивается.

Если b1 ↑, то линия уровня «вращается» по часовой стрелке до совпадения с прямой 1. Тогда при совпадении линии уровня:  y1*b1max + y2*40 = Zmax и прямой 1: y1*40 + y2*0,0 = 8 имеем пропорцию: b1max/40 = 40/0,0. Отсюда b1max = +¥, что полностью совпадает с решением, полученным в ПЭР.

Если b1 ↓, то линия уровня «вращается» по часовой стрелке до совпадения с прямой 2. Тогда составляем пропорцию: b1min/110 = 40/0,5. Отсюда b1min =8800, что также полностью совпадает с решением, полученным в ПЭР.

3) Пусть b1 = const, а b2

4) Пусть b1 = const, а b2

Если  b2 ↑, то линия уровня может совпасть с прямой 2, отсюда: 25000/60 = b2max/0,5, b2max = 113,6364. Если  b2 ↓, то линия уровня может совпасть с прямой 2, отсюда: 25000/40 = b2min/0,0, b2min = 0, эти результаты совпадают с результатами решения в ПЭР.

Вывод: Целевая функция принимает оптимальное значение в точке (0,2;66). Это значение определяет максимальную прибыль фирмы, закупающей продовольствие, равную 7640. Наиболее выгодно закупать продовольствие первого и третьего типа.

Проверив решение задачи в ПЭР, мы убедились в правильности решения задачи ручным способом.

Рассмотрим c1:

1) c1

«Критическую» цену находим, подставляя координаты т. B (0,2;66) в первом ограничении ограничение:

c1кр = 60*0,2 + 0.1*66 = 18,6 (max цена)

2) c1

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

Минимальная цена = бесконечность.

Рассмотрим c2:

1) c2

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

Максимальная цена = бесконечность.

2) c2

Прямая движется влево – вниз, пока т. B не сольется с точкой, которая лежит на пересечении 1-го и 5-го ограничений.

 


60*y1 + 0.1*y2 = 18           y2 = 60

40*y1 + 0.0*y2 = 8             y1 = 0.2  

c2min = 110*0,2 + 0.5*60 = 52 (min цена)

Рассмотрим c3:

1) c3

«Критическую» цену находим, подставляя координаты т. B (0,2;66) в третьем ограничении ограничение:

c3кр = 65*0,2 + 1*66 = 79 (max цена)

2) c3

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

Минимальная цена = бесконечность.

Рассмотрим c4:

1) c4

«Критическую» цену находим, подставляя координаты т. B (0,2;66) в четвертое ограничение:

c4кр = 25*0,2 + 1,0*66 = 71 (max цена)

2) c4

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

Минимальная цена = бесконечность.

Рассмотрим c5:

1) c5

Прямая движется вправо – вверх, пока т. B не сольется с точкой A, которая лежит на пересечении 2-го и 3-го ограничений.

 


110*y1 + 0.5*y2 = 55           y2 = 45.129

65*y1 + 1.0*y2 = 65            y1 = 9/31  

С5A = 40*y1= 11.6129 (max цена)

2) c5

Прямая движется влево – вниз, пока т. B не совпадет с точкой M, которая находится на пересечении 1-го и 2-го ограничений.

 


60*y1 + 0.1*y2 = 18             y2 = 69.4737

110*y1 + 0.5*y2 =2               y1 = 7/38

С5M = 40*y1  = 7.3684 (min цена)

Полученные результаты, сделанные на основе графического решения задачи, полностью подтверждаются алгебраическими вычислениями, полученными в ПЭР:

Проводим анализ устойчивости оценок по отношению к ограничениям по видам ресурсов:

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

Вывод:

Научились понимать смысл, различать, осознанно использовать следующие понятия: математическая модель задачи линейного программирования (ЗЛП); формы записи ЗЛП; геометрическая интерпретация ЗЛП; линии уровня функции; градиент функции; двойственные задачи; двойственные оценки; устойчивость решения ЗЛП; устойчивость оценок.

Получили навыки, умеем: строить математические модели ЗЛП; переходить от одной формы записи ЗЛП к другой; решать графически ЗЛП с двумя переменными; строить модель задачи, двойственной к исходной; находить решение ЗЛП на основе решения задачи, двойственной к ней; интерпретировать полученные результаты в терминах решаемой задачи; проводить анализ устойчивости решения ЗЛП на основе геометрической интерпретации.