Задача 15. Мебельная фабрика для сборки столов и стульев привлекает к работе на 10 дней четырех столяров. Каждый столяр тратит 2 часа на сборку стола и 30 минут на сборку стула. Покупатели обычно приобретают вместе со столом от четырех до шести стульев. Доход от одного стола составляет 135 долл, и 50 долл. — от одного стула. На фабрике установлен 8-часовой рабочий день.
a) Определите графически структуру производства (на 10 рабочих дней), которая максимизировала бы суммарный доход.
b) Определите для найденного решения интервал оптимальности для отношения доходов на единицу продукции.
c) Изменится ли найденное выше оптимальное решение, если доходность изготовления столов и стульев уменьшится на 10% ?
d) Изменится ли найденное выше оптимальное решение, если доходность изготовления столов и стульев составит соответственно 120 и 26 долл, на единицу продукции?
Решение
a)
4 столяра соберут стол быстрее, за 0,5 часа, а стул за 0,125 часа. Поэтому, учитывая одинаковую производительность каждого и дополнительное условие отношения числа покупаемых столов к числу покупаемых стульев составим:
Математическая модель задачи
Построим область
допустимых решений (ОДР), соответствующую ограничениям (1), (2), (3). Для
этого построим на графике прямые, соответствующие ограничениям (1), (2),
(3), прямую F = 0:
,
и, вектор с, со направленный вектору-градиенту grad F(0;0), в точке (0;0), с координатами
конца (135;50).( на чертеже не показан)
Все прямые строим по точкам, придавая поочередно значения x1 = 0 - находим x2, и наоборот. Например, для прямой (1): x1 = 0 => x2=640; x2 = 0 => x1=160; Получили две точки – через них построим прямую (1).
Стрелками показываем полуплоскость, точки которой принадлежат множеству допустимых решений. (О. Д. Р). Целевая функция, при движении линии уровня в направлении вектора градиента, параллельно самой себе, оставаясь при этом на ОДР, – достигает крайней точки ОДР в точке C пересечения прямых (1) и (3).
В точке C (x1; x2)
Найдем координаты этой точки C (x1; x2):
-(4)x1+640=6x1 Û x1=64; Þ x2=384; C(64; 384)
Þ max F = 135*64 + 50*384 = 27840
Симплекс-метод:
Для построения первого
опорного плана систему неравенств приведем к системе уравнений путем введения
дополнительных переменных (переход к канонической форме).
В 1-м неравенстве смысла (≤) вводим
базисную переменную x3. В 2-м неравенстве смысла (≤) вводим
базисную переменную x4. В 3-м неравенстве смысла (≥) вводим
базисную переменную x5 со знаком минус.
4x1+x2+x3 =
640
4x1-x2+x4 =
0
6x1-x2-x5 =
0
Расширенная матрица системы ограничений-равенств
данной задачи:
|
Приведем систему к единичной матрице методом
жордановских преобразований.
1. В качестве базовой переменной можно выбрать x3.
2. В качестве базовой переменной можно выбрать x4.
3. В качестве базовой переменной можно выбрать x5.
Получаем новую матрицу:
4 |
1 |
1 |
0 |
0 |
640 |
4 |
-1 |
0 |
1 |
0 |
0 |
-6 |
1 |
0 |
0 |
1 |
0 |
Поскольку в системе имеется единичная матрица,
то в качестве базисных переменных принимаем X = (3,4,5).
Выразим базисные переменные через остальные:
x3 = -4x1-x2+640
x4 = -4x1+x2
x5 = 6x1-x2
Подставим их в целевую функцию:
F(X) = 135x1+50x2
4x1+x2+x3=640
4x1-x2+x4=0
-6x1+x2+x5=0
Матрица коэффициентов A = a(ij) этой системы
уравнений имеет вид:
A = |
|
Базисные переменные это переменные, которые входят только в одно
уравнение системы ограничений и притом с единичным коэффициентом.
Решим систему уравнений относительно базисных
переменных: x3, x4, x5
Полагая, что свободные переменные равны
0, получим первый опорный план:
X0 = (0,0,640,0,0)
Базисное решение называется допустимым, если оно неотрицательно.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x3 |
640 |
4 |
1 |
1 |
0 |
0 |
x4 |
0 |
4 |
-1 |
0 |
1 |
0 |
x5 |
0 |
-6 |
1 |
0 |
0 |
1 |
F(X0) |
0 |
-135 |
-50 |
0 |
0 |
0 |
Переходим к основному алгоритму симплекс-метода.
Итерация №0.
1. Проверка критерия оптимальности.
Текущий опорный план неоптимален, так как в
индексной строке находятся отрицательные коэффициенты.
2. Определение новой базисной переменной.
В качестве ведущего выберем столбец,
соответствующий переменной x1, так как это наибольший коэффициент по
модулю.
3. Определение новой свободной переменной.
Вычислим значения Di по строкам
как частное от деления: bi / ai1
и из них выберем наименьшее:
min (640 : 4 , 0 : 4 , - ) = 0
Следовательно, 2-ая строка является ведущей.
Разрешающий элемент равен (4) и находится на
пересечении ведущего столбца и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
min |
x3 |
640 |
4 |
1 |
1 |
0 |
0 |
160 |
x4 |
0 |
4 |
-1 |
0 |
1 |
0 |
0 |
x5 |
0 |
-6 |
1 |
0 |
0 |
1 |
- |
F(X1) |
0 |
-135 |
-50 |
0 |
0 |
0 |
0 |
4. Пересчет симплекс-таблицы.
Формируем следующую часть симплексной таблицы.
Вместо переменной x4 в план 1 войдет переменная x1.
Строка, соответствующая переменной x1 в
плане 1, получена в результате деления всех элементов строки x4 плана
0 на разрешающий элемент РЭ=4. На месте разрешающего элемента получаем 1. В
остальных клетках столбца x1 записываем нули.
Таким образом, в новом плане 1 заполнены строка
x1 и столбец x1. Все остальные элементы нового плана
1, включая элементы индексной строки, определяются по правилу прямоугольника.
Для этого выбираем из старого плана четыре
числа, которые расположены в вершинах прямоугольника и всегда включают
разрешающий элемент РЭ.
НЭ = СЭ - (А*В)/РЭ
СТЭ - элемент старого плана, РЭ - разрешающий
элемент (4), А и В - элементы старого плана, образующие прямоугольник с
элементами СТЭ и РЭ.
Представим расчет каждого элемента в виде
таблицы:
B |
x1 |
x2 |
x3 |
x4 |
x5 |
640-(0 • 4):4 |
4-(4 • 4):4 |
1-(-1 • 4):4 |
1-(0 • 4):4 |
0-(1 • 4):4 |
0-(0 • 4):4 |
0 : 4 |
4 : 4 |
-1 : 4 |
0 : 4 |
1 : 4 |
0 : 4 |
0-(0 • -6):4 |
-6-(4 • -6):4 |
1-(-1 • -6):4 |
0-(0 • -6):4 |
0-(1 • -6):4 |
1-(0 • -6):4 |
0-(0 • -135):4 |
-135-(4 • -135):4 |
-50-(-1 • -135):4 |
0-(0 • -135):4 |
0-(1 • -135):4 |
0-(0 • -135):4 |
Получаем новую симплекс-таблицу:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x3 |
640 |
0 |
2 |
1 |
-1 |
0 |
x1 |
0 |
1 |
-1/4 |
0 |
1/4 |
0 |
x5 |
0 |
0 |
-1/2 |
0 |
3/2 |
1 |
F(X1) |
0 |
0 |
-335/4 |
0 |
135/4 |
0 |
Итерация №1.
1. Проверка критерия оптимальности.
Текущий опорный план неоптимален, так как в
индексной строке находятся отрицательные коэффициенты.
2. Определение новой базисной переменной.
В качестве ведущего выберем столбец,
соответствующий переменной x2, так как это наибольший коэффициент по
модулю.
3. Определение новой свободной переменной.
Вычислим значения Di по строкам
как частное от деления: bi / ai2
и из них выберем наименьшее:
min (640 : 2 , - , - ) = 320
Следовательно, 1-ая строка является ведущей.
Разрешающий элемент равен (2) и находится на
пересечении ведущего столбца и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
min |
x3 |
640 |
0 |
2 |
1 |
-1 |
0 |
320 |
x1 |
0 |
1 |
-1/4 |
0 |
1/4 |
0 |
- |
x5 |
0 |
0 |
-1/2 |
0 |
3/2 |
1 |
- |
F(X2) |
0 |
0 |
-335/4 |
0 |
135/4 |
0 |
0 |
4. Пересчет симплекс-таблицы.
Формируем следующую часть симплексной таблицы.
Вместо переменной x3 в план 2 войдет переменная x2.
Строка, соответствующая переменной x2 в
плане 2, получена в результате деления всех элементов строки x3 плана
1 на разрешающий элемент РЭ=2. На месте разрешающего элемента получаем 1. В
остальных клетках столбца x2 записываем нули.
Таким образом, в новом плане 2 заполнены строка
x2 и столбец x2. Все остальные элементы нового плана
2, включая элементы индексной строки, определяются по правилу прямоугольника.
Представим расчет каждого элемента в виде
таблицы:
B |
x1 |
x2 |
x3 |
x4 |
x5 |
640 : 2 |
0 : 2 |
2 : 2 |
1 : 2 |
-1 : 2 |
0 : 2 |
0-(640 • -1/4):2 |
1-(0 • -1/4):2 |
-1/4-(2 • -1/4):2 |
0-(1 • -1/4):2 |
1/4-(-1 • -1/4):2 |
0-(0 • -1/4):2 |
0-(640 • -1/2):2 |
0-(0 • -1/2):2 |
-1/2-(2 • -1/2):2 |
0-(1 • -1/2):2 |
11/2-(-1 • -1/2):2 |
1-(0 • -1/2):2 |
0-(640 • -833/4):2 |
0-(0 • -833/4):2 |
-833/4-(2 • -833/4):2 |
0-(1 • -833/4):2 |
333/4-(-1 • -833/4):2 |
0-(0 • -833/4):2 |
Получаем новую симплекс-таблицу:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x2 |
320 |
0 |
1 |
1/2 |
-1/2 |
0 |
x1 |
80 |
1 |
0 |
1/8 |
1/8 |
0 |
x5 |
160 |
0 |
0 |
1/4 |
5/4 |
1 |
F(X2) |
26800 |
0 |
0 |
335/8 |
-65/8 |
0 |
Итерация №2.
1. Проверка критерия оптимальности.
Текущий опорный план неоптимален, так как в
индексной строке находятся отрицательные коэффициенты.
2. Определение новой базисной переменной.
В качестве ведущего выберем столбец,
соответствующий переменной x4, так как это наибольший коэффициент по
модулю.
3. Определение новой свободной переменной.
Вычислим значения Di по строкам
как частное от деления: bi / ai4
и из них выберем наименьшее:
min (- , 80 : 1/8 ,
160 : 11/4 ) = 128
Следовательно, 3-ая строка является ведущей.
Разрешающий элемент равен (11/4)
и находится на пересечении ведущего столбца и ведущей строки.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
min |
x2 |
320 |
0 |
1 |
1/2 |
-1/2 |
0 |
- |
x1 |
80 |
1 |
0 |
1/8 |
1/8 |
0 |
640 |
x5 |
160 |
0 |
0 |
1/4 |
5/4 |
1 |
128 |
F(X3) |
26800 |
0 |
0 |
335/8 |
-65/8 |
0 |
0 |
4. Пересчет симплекс-таблицы.
Формируем следующую часть симплексной таблицы.
Вместо переменной x5 в план 3 войдет переменная x4.
Строка, соответствующая переменной x4 в
плане 3, получена в результате деления всех элементов строки x5 плана
2 на разрешающий элемент РЭ=11/4. На месте разрешающего элемента
получаем 1. В остальных клетках столбца x4 записываем нули.
Таким образом, в новом плане 3 заполнены строка
x4 и столбец x4. Все остальные элементы нового плана
3, включая элементы индексной строки, определяются по правилу прямоугольника.
Представим расчет каждого элемента в виде
таблицы:
B |
x1 |
x2 |
x3 |
x4 |
x5 |
320-(160 • -1/2):11/4 |
0-(0 • -1/2):11/4 |
1-(0 • -1/2):11/4 |
1/2-(1/4 • -1/2):11/4 |
-1/2-(11/4 • -1/2):11/4 |
0-(1 • -1/2):11/4 |
80-(160 • 1/8):11/4 |
1-(0 • 1/8):11/4 |
0-(0 • 1/8):11/4 |
1/8-(1/4 • 1/8):11/4 |
1/8-(11/4 • 1/8):11/4 |
0-(1 • 1/8):11/4 |
160 : 11/4 |
0 : 11/4 |
0 : 11/4 |
1/4 : 11/4 |
11/4 : 11/4 |
1 : 11/4 |
26800-(160 • -81/8):11/4 |
0-(0 • -81/8):11/4 |
0-(0 • -81/8):11/4 |
417/8-(1/4 • -81/8):11/4 |
-81/8-(11/4 • -81/8):11/4 |
0-(1 • -81/8):11/4 |
Получаем новую симплекс-таблицу:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x2 |
384 |
0 |
1 |
3/5 |
0 |
2/5 |
x1 |
64 |
1 |
0 |
1/10 |
0 |
-1/10 |
x4 |
128 |
0 |
0 |
1/5 |
1 |
4/5 |
F(X3) |
27840 |
0 |
0 |
87/2 |
0 |
13/2 |
1. Проверка критерия оптимальности.
Среди значений индексной строки нет
отрицательных. Поэтому эта таблица определяет оптимальный план задачи.
Окончательный вариант симплекс-таблицы:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x2 |
384 |
0 |
1 |
3/5 |
0 |
2/5 |
x1 |
64 |
1 |
0 |
1/10 |
0 |
-1/10 |
x4 |
128 |
0 |
0 |
1/5 |
1 |
4/5 |
F(X4) |
27840 |
0 |
0 |
87/2 |
0 |
13/2 |
Оптимальный план можно записать так:
x1 = 64, x2 =
384
F(X) = 135*64 + 50*384 = 27840
Вывод: Целевая функция имеет максимум - max F =27840 в точке C (64; 384)
b)
Функция достигает своего оптимума в
точке, которая является пересечением прямых (0.5x1+0.125x2=80)
и (6x1-x2=0). При изменении коэффициентов целевой функции
эта точка останется точкой оптимального решения до тех пор, пока угол наклона
линии z будет лежать между углами наклона этих прямых. Алгебраически это можно
записать:
при условии c1 ≠ 0 или
при
условии c2 ≠ 0
Это две системы неравенств, определяющих интервал оптимальности.
При c2 = 50: или
-300 ≤ c1 ≤ 200 (с1 столы)
При c1 = 135: или
-45/2 ≤ c2 ≤ 33.75 (с2 стулья)
с) Нет, не изменится. Рассмотрим прямую F=0 <=> x2= -135/50*x1. При уменьшении доходности на 10% числитель и знаменатель помножаются на одинаковый коэффициент равный 0,9 => x2= -(135*0.9)/(50*0.9)*x1 <=> x2= -135/50*x1
Т.к. коэффициент у F=0 не меняется то крайняя точка С не изменится.
Сама же целевая функция измениться пропорционально, т.к. множитель у обоих коэффициентов одинаков, и станет равной: F* = 0.9*F=27840*0.9 = 25056
d) Да, измениться, т.к. коэффициент у прямой F=0 станет больше (по модулю) чем у прямой (1). k1 = -4, а к2=-120/25=-4,8. Поэтому прямая F=0 «проскочит» точку А и остановится в точке B=(x1b; x2b), координаты которой найдем из уравнения:
-4x1+640=4x1 => x1=64/8=80; x2=4x1=320; B(80;320)
F(B)=120*80+25*320=17600 – новое значение целевой функции
© ООО «Знанио»
С вами с 2009 года.