СИМПЛЕКСНЫЙ МЕТОД».
Задача 3.1.
Предприятие планирует выпускать n видов продукции Пi (i= 1, 2, …, n). При её изготовлении используются ресурсы Р1, Р2, и Р3. прямые затраты ресурсов ограничены соответственно величинами b1, b2, и b3. Расход j-го ресурса (j= 1, 2, 3) на единицу продукции i-го вида составляет aij ед. Цена единицы продукции i-го вида равна Сi денежных единиц.
Требуется:
1) Составить математическую модель прямой и двойственной задачи. Раскрыть экономический смысл всех переменных, принятых в задаче;
2) Симплексным методом рассчитать план выпуска продукции по видам с учетом имеющихся ограничении ресурсов, который обеспечивал бы предприятию максимальный доход;
3) Используя решение исходной задачи и соответствия между прямыми и двойственными переменными, найти параметры оптимального плана двойственной задачи;
4) Указать наиболее дефицитный и недефицитный (избыточный) ресурс, если он имеется;
5) С помощью двойственных оценок yj обосновать эффективность оптимального плана, сопоставить оценку израсходованных ресурсов и максимальный доход. Zmax от реализации готовой продукции по всему оптимальному плану и по каждому виду продукции отдельно;
6) Оценить целесообразность приобретения Dbk единиц ресурса K по цене Ck.
Необходимые исходные числовые данные приведены в табл. 3.1.
Табл.3.1
Параметр | Номер варианта | |||||||||
а11 | ||||||||||
а12 | ||||||||||
а13 | ||||||||||
а21 | ||||||||||
а22 | ||||||||||
а23 | ||||||||||
а31 | 5 | |||||||||
а32 | ||||||||||
а33 | ||||||||||
b1 | ||||||||||
b2 | ||||||||||
b3 | ||||||||||
С1 | ||||||||||
С2 | ||||||||||
С3 | ||||||||||
K | ||||||||||
Dbk | ||||||||||
Сk |
Задача 3.2.
Составить диету включающие белки, жиры и углеводы в количестве не менее bi (i = 1, 2, 3). Для составления смеси можно использовать три вида продуктов Bj (j = 1, 2, 3), содержащую белки жиры и углеводы в количестве aij. Цена продуктов Cj. Необходимо определить такой набор продуктов, который обеспечил бы необходимое содержание питательных веществ, и полная стоимость его при этом была бы наименьшей.
Требуется:
1) Составить математическую модель прямой и двойственной задач. Раскрыть экономический смысл всех переменных, принятых в задаче;
2) Симплекс – методом решить двойственную задачу;
Необходимые исходные числовые данные приведена в табл. 3.2.
Таблица 3.2.
Параметр | Номер варианта | |||||||||
b1 | ||||||||||
b2 | ||||||||||
b3 | ||||||||||
а11 | ||||||||||
а12 | ||||||||||
а13 | ||||||||||
а21 | ||||||||||
а22 | ||||||||||
а23 | ||||||||||
а31 | ||||||||||
а32 | ||||||||||
а33 | ||||||||||
С1 | ||||||||||
С2 | ||||||||||
С3 |
ЗАДАНИЕ 4. Тема: «ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ.
ТРАНСПОРТНАЯ ЗАДАЧА».
Задача 4.1
В пунктах Аi (i=1, 2, 3)производится однородная продукция в количестве аi единиц. Себестоимость единицы продукции в i-м пункте равна Ci. Готовая продукция поставляется в пункты Вj (j=1, 2, 3, 4), потребности которых составляют bj ед. стоимость перевозки единицы продукции из пункта Ai в пункт Bj задана матрицей Cij.
Требуется:
1) Написать математическую модель прямой и двойственной задач с указанием экономического смысла всех переменных;
2) Составить план перевозки продукции, при котором минимизируются суммарные затраты по ее изготовлению и доставке потребителям для условия что продукция произведенная в пункте Ai, где себестоимость её производства наименьшая, распределяется полностью;
3) Вычислить суммарные минимальные затраты Zmin;
4) Узнать в какие пункты развозится продукция от поставщиков;
5) Установить пункты, в которых останется нераспределенная продукция, и указать её объем.
Необходимые исходные числовые данные приведены в таблице 4.1.
Таблица 4.1.
Параметр | Номер варианта | |||||||||
а1 | ||||||||||
а2 | ||||||||||
а3 | ||||||||||
С1 | ||||||||||
С2 | ||||||||||
С3 | ||||||||||
b1 | 296 | |||||||||
b2 | ||||||||||
b3 | ||||||||||
b4 | ||||||||||
С11 | ||||||||||
С12 | ||||||||||
С13 | ||||||||||
С14 | ||||||||||
С21 | ||||||||||
С22 | ||||||||||
С23 | ||||||||||
С24 | ||||||||||
С31 | ||||||||||
С32 | ||||||||||
С33 | ||||||||||
С34 |
Задача 4.2.
Трудовые бригады Б1, Б2, Б3 численностью, а1, а2, и а3 человек, сформированы для уборки картофеля.
Для уборки картофеля на четырех полях П1, П2, П3 и П4 необходимо выделить b1, b2, b3, и b4 работников. Производительность труда работника зависит от урожайности картофеля, а так же от численности бригады и характеризуется для указанных бригад и полей элементами матрицы Pij (в центнерах на человека за рабочий день).
Требуется:
1) Распределить работников каждой трудовой бригады по полям так, чтобы за рабочий день было убрано максимально возможное количество картофеля;
2) Определить сколько центнеров картофеля будет убрано с четырех полей при оптимальном распределении работников.
Необходимые исходные числовые данные приведены в таблице 4.2.
Таблица 4.2.
Параметр | Номер варианта | |||||||||
А1 | ||||||||||
А2 | ||||||||||
А3 | ||||||||||
B1 | ||||||||||
B2 | ||||||||||
B3 | ||||||||||
B4 | 41 | |||||||||
Р11 | ||||||||||
Р12 | ||||||||||
Р13 | ||||||||||
Р14 | ||||||||||
Р21 | ||||||||||
Р22 | ||||||||||
Р23 | ||||||||||
Р24 | ||||||||||
Р31 | ||||||||||
Р32 | ||||||||||
Р33 | ||||||||||
Р34 |
Методические указания
Рассмотрим задачу:
Фирма должна отправить некоторое количество кроватей с трех
складов в пять магазинов. На складах имеется соответственно 15, 25, 20 кроватей. Магазинам необходимо 20, 12, 5, 8 и 12 кроватей. Стоимость перевозки приведена в таблице:
Запасы a | Потребности b | ||||
Стандартную транспортную задачу можно записать следующим
образом:
В рассматриваемом случае количество товара у поставщиков больше, чем полное количество товара, необходимое потребителям. В таком случае при решении задачи приходится вводить фиктивного потребителя. Если потребителям требуется больше товара, чем имеется у поставщиков, ' то следует ввести фиктивного поставщика.
Введем дополнительного потребителя, ему припишем потребность, равную избытку товара, т.е. 3. Стоимость перевозки для фиктивного потребителя определим равной нулю, так как фактической перевозки товара фиктивному потребителю не будет. Задача стала сбалансированной:
ai | ||||||
В рассматриваемой задаче: п = 6 – количество потребителей, m = 3 – количество поставщиков, ai – запасы поставщиков, bj – потребности потребителей. Искомые переменные определены с двумя индексами для удобства представления решения, значение в (i,j)-й клетке хij - объем перевозки от i-го поставщика к j-му потребителю. В стандартной задаче предполагается, что суммарный запас товара равен суммарной потребности. При этом предположении одно ограничение является следствием всех других, поэтому число независимых условий в задаче равно: г = n + m –1.
Приведем математическую модель рассматриваемой задачи:
MIN(x11 + 3x13 + 4x14 + 2x15 + 5x21 + x22 + 2x23 + 3x24 + 3x25 + 4x31 + 8x32 + +x33 + 4x34 + 3x35)
x11 + x12 + x13 + x14 + x15 =15
x21 + x22 + x23 + x24 + x25 =25
x31 + x32 + x33 + x34 + x35 =20
x11 + x21 + x31 =20
x12 + x22 + x32 =12
x13 + x23 + x33 =5
x14 + x24 + x34 =8
x15 + x25 + x35 =12
x16 + x26 + x36 =3
Для формулировки двойственной задачи вводим симплекс-
множители:
ui – условные оценки поставщиков, vj – условные оценки потребителей:
, знаки ui и vj не определены
Заметим, что в двойственной задаче переменные могут быть как отрицательными, так и положительными. Приведенный ниже алгоритм последовательного улучшения решения задачи (плана) для транспортной задачи является примером ситуации, когда мы предпочитаем решение двойственной задачи решению исходной.
Из второй теоремы двойственности следует, что в клетках, где решение прямой задачи положительно (xij>0), ограничения двойственной задачи превращаются в равенства (), в остальных точках – в строгое неравенство. Это относится к оптимальному решению исходной задачи. Будем строить вычислительный алгоритм так, чтобы на всех итерациях целевые функции прямой и двойственной задачи совпадали:
Для этого будем выбирать ui и vj так, чтобы для ненулевых xij. Этим обеспечивается равенство целевых функций прямой и двойственной задач на каждом шаге. Если для небазисных переменных (xij=0) выполняется условие , получено оптимальное решение для обеих задач.
Сформулируем шаги решения транспортной задачи, представив массив транспортных данных в виде таблицы.
Шаг 1. Начальное приближение строится по принципу "по самому дешевому пути перевозится максимально возможное количество груза".
Начинаем построение с выбора начальной клетки, в которой указано минимальное расстояние. Если таких клеток несколько, выбираем любую из них и ставим максимально возможный объем перевозки. В результате этого мы либо забрали весь груз у поставщика, либо удовлетворили запросы потребителя. Рассматриваем теперь поставщика, если у него не выбран весь груз, или потребителя, если его потребности не удовлетворены. Распределяем этот груз, вновь пользуясь общим правилом. Повторяем процедуру, до тех пор, пока весь груз не будет распределен. Проверяем, чтобы число "занятых" клеток было равно г.
Если оно меньше г, то в пустую клетку ставим перевозку, равную нулю, и в дальнейшем эту клетку будем считать "занятой".
Начинаем составление плана перевозок для рассматриваемой задачи с клетки (1, 2), в которой указана минимальная стоимость перевозки, т.е. с перевозок реальным потребителям. В эту клетку ставим наибольшую из возможных перевозок, т.е. 12. Мы удовлетворили потребности второго потребителя, но у первого поставщика осталось еще 3 ед. груза, необходимо распределить эти 3 ед. Выберем клетку (1, 1), так как в ней указана минимальная стоимость перевозки. Так, последовательно распределяя груз поставщиков и потребителей, последовательно заполняем клетки начального плана:
Построенный план содержит 8 "занятых" клеток, как и требовалось.
Шаг 2. Вычисляем симплекс - множители: ui - для ограничений, соответствующих i-й строке, vj - j-му столбцу.
Для занятых клеток таблицы , что позволяет найти симплекс - множители. Начать следует с того, что один из множителей принять равным нулю. Удобно ставить нуль в той строке или столбце, где больше всего "занятых" клеток. Далее, используя уже найденные множители в строке или столбце, находим новые множители соответственно в столбцах или строках.
Пусть Uz = 0, тогда мы легко находим четыре значения для параметров V3–V6, перемещаясь по второй строке. Используя вновь полученные значения V3–V6, находим значения параметров U1–U3.
Ui | |||||||
–4 | |||||||
–1 | |||||||
Vj |
Шаг З. Проверяем, является ли построенное решение оптимальным, для чего вычисляем () для незанятых клеток таблицы. Для небазисных переменных отрицательное значение этой величины показывает, что эта клетка должна войти в базис, так как ее введение уменьшит базис, для чего следует перейти к шагу 4. Если таких клеток нет, решение является оптимальным.
Шаг 4. Вводим неизвестное значение объема перевозки W в выбранную клетку и корректируем соседние значения перевозимого груза в "занятых" клетках, чтобы сохранить баланс строк и столбцов. После того как во всех строках и столбцах будут сохранены условия баланса груза, переходим к нахождению W из условия, что в одной из выбранных клеток значение перевозки должно стать равным нулю, а в остальных клетках остаться положительным. Таким образом, одна клетка будет введена в базис, другая удалена из него с уменьшением общей целевой функции:
Ui | |||||||
3+W | 12-W | –4 | |||||
W | 2-W | ||||||
17-W | 3+W | –1 | |||||
Vj | W=2 |
Далее переходим к шагу 2.
Закончим расчет приведенного примера.
Ui | |||||||
5+W | 10-W | –1 | |||||
2+W | 12-W | ||||||
15-W | W | ||||||
Vj | -1 | W=10 |
Ui | |||||||
–3 | |||||||
Vj | Z=112 |
Сделать анализ решения.