- •1. Общая постановка задачи линейного программирования (лп)
- •2. Геометрический метод решения задач линейного
- •3. Симплексный метод решения задачи линейного
- •Двойственные задачи линейного программирования и их использование.
- •Анализ устойчивости двойственных оценок
- •7. Решение задачи линейного программирования с помощью excel
- •Microsoft Excel 8.0 Отчет по результатам
- •Microsoft Excel 8.0 Отчет по устойчивости
- •Microsoft Excel 8.0 Отчет по пределам
- •9. Задачи для контрольных заданий
- •Рекомендуемая литература Основной список
- •Дополнительный список
- •В ведение
- •1.Транспортная задача (тз)
- •1.1 Метод потенциалов.
- •1.2 Упрощенное представление решения.
- •1.3 Метод ранговых оценок
- •1.4. Определения оптимального плана транспортных задач, имеющих некоторые усложнения в их постановке.
- •2. Примеры экономических задач которые могут быть решены с помощью транспортной модели.
- •2.1.Оптимальное распределение оборудования
- •2.2.Формирование оптимального штата фирмы.
- •2.3. Задача о назначениях.
- •2.4 Задача календарного планирования производства.
- •Модели без дефицита.
- •Модель с дефицитом.
- •Решение транспортной задачи на пк с помощью Excel.
- •4.Тестовые вопросы.
- •0613234 Дать общую формулировку транспортной задачи.
- •0622354 Коэффициенты Cij в функции цели транспортной задачи (Xij – количество перевозимого груза от I-го поставщика к j-ому потребителю) представляют собой:
- •0632234 Модель транспортной задачи называется закрытой, если:
- •0643242 Модель транспортной задачи называется открытой, если:
- •0653542 Перечислить методы построения исходного опорного плана
- •0662231 Построение опорного плана по методу минимальной стоимости в транспортной задаче начинается с клетки:
- •0673142 Построение первого опорного плана с помощью диагонального метода в транспортной задаче начинается с клетки:
- •0682453 Построение первого опорного плана с помощью о метода двойного предпочтения:
- •0692135 Опорный план транспортной задачи будет невырожденным, если он содержат в матрице перевозок следующее количество заполненных клеток
- •0763435 Косвенными тарифами в методе потенциалов транспортной задачи понимают сумму потенциалов поставщиков и потребителей:
- •0772345 Косвенный тариф в методе потенциалов транспортной задачи должен быть:
- •0781324 Что бы построенный план перевозок транспортной задачи (при использовании метода потенциалов) был оптимальным, сумма потенциалов поставщиков и потребителей для занятых клеток:
- •0792324 Циклом пересчета плана перевозок в транспортной задаче называется замкнутый многоугольник:
- •0803452 Новый план перевозок, полученный по циклу пересчета в транспортной задаче отличается тем, что:
- •0812415 Пересчет по циклу в транспортной задаче осуществляется для:
- •0821435 Оптимальный план транспортной задачи является единственным, если:
- •0832543 Замкнутый многоугольник, одна из вершин которого совпадает со свободной клеткой, а все остальные – с заполненными клетками называется:
- •0841432 Любой цикл пересчета в транспортной задаче имеет:
- •0852435 Какой из ответов не соответствует правилу пересчета по циклу?
- •0863441 Какой из ответов не удовлетворяет условию для последовательности неизвестных, находящихся в вершине цикла пересчета транспортной задачи?
- •0872234 В каком из приведенных примеров допущена ошибка возможного цикла пересчета в транспортной задаче?
- •0882143 Метод ранговых оценок используется если:
- •0891234 В методе ранговых оценок потенциалы – это оценки:
- •0913214 Решение транспортной задачи методом ранговых оценок заканчивается, когда:
- •5. Задачи контрольных заданий. Задание а
- •Задание 2
- •2. Задача № 31-60
- •Вопросы выносимые на зачет.
- •Предмет и задачи теории игр.
- •2 Матричные игры
- •3 Решение матричных игр в чистых стратегиях
- •4 Решение матричных игр в смешанных стратегиях
- •5 Непосредственное решение матричных игр
- •6 Пример решения матричной игры в смешанных стратегиях методом линейного программирования
- •7 Пример решение матричной игры в смешанных стратегиях с помощью персонального компьютера (пк)
- •8 Решение статистических игр по различным критериям
- •1. Критерий Вальда
- •3 Критерий Сэвиджа
- •9 Тестовые вопросы
- •0011234 Суть игры состоит в том, что:
- •0022134 Исход игры – это:
- •0034123 Стратегия игры – это:
- •10 Задачи контрольных заданий
- •2 Вопросы для промежуточной аттестации (экзамен)
- •11 Рекомендуемая литература
1.1 Метод потенциалов.
Рассмотрим случай закрытой ТЗ.
Пусть xij - неизвестное количество единиц перевозимого груза по данному маршруту между пунктом i поставки и пунктом j потребления. Математически задача формулируется как каноническая задача линейного программирования: найти неотрицательное решение системы m + n линейных уравнений – ограничений вида:
п
ри
минимуме затрат на перевозки:
Z = c11x11 + c12x12 + ...+ cmnxmn ,
или в компактном виде:
(1.1)
a
min (1.2)
В системе (1.1) первые m уравнений выражают условия баланса по строкам таблицы 1.1, остальные n уравнений - условия баланса по столбцам. Заметим, что не все уравнения системы (1.1) линейно независимы, сумма первых m уравнений совпадает с суммой остальных n уравнений. Легко показать, что количество независимых уравнений системы будет (m + n – 1), и одно (любое) уравнение можно отбросить. Поэтому базисных переменных будет столько же: (m + n – 1). Базисным переменным соответствуют заполненные клетки таблицы, а свободным переменным – пустые клетки.
Транспортная задача может быть решена обычным симплексным методом. Однако более эффективны методы, учитывающие следующие особенности данной задачи:
ограничения задаются в виде уравнений;
коэффициенты при неизвестных равны 1;
каждое неизвестное входит лишь в два уравнения, причём один раз в условия баланса по строкам (первые m уравнений) и один раз в условия баланса по столбцам (остальные n уравнений).
Все
способы решения, относящиеся к закрытой
модели нетрудно обобщить также на случай
открытой модели. Для этого достаточно
дополнительно ввести в условия задачи
фиктивного потребителя (остатки у
поставщиков при
)
или фиктивного поставщика (недопоставки
потребителям при
),
превратив открытую модель в закрытую.
А чтобы функция затрат при этом не
изменилась, установить тарифы перевозок
к фиктивным потребителям или от фиктивных
поставщиков равными нулю. Очевидно,
минимум расходов новой закрытой модели
будет совпадать с минимумом расходов
исходной открытой модели, и, решив первую
задачу, мы тем самым получим также и
решение второй.
Проиллюстрируем основные этапы решения закрытой транспортной задачи на конкретном примере.
На три базы поступил однородный груз в количествах: а1 = 120т на базу А1, а2 = 160т на базу А2, а3 = 120т на базу А3. Полученный груз следует перевезти в четыре пункта, потребности которых составляют: b1 = 40т в пункте В1, b2 = 80т в пункте В2, b3 = 80т в пункте В3, b4 = 200т в пункте В4. Известны тарифы сij перевозок от i-го (i = 1, 2, 3) поставщика к j-му (j = 1, 2, 3, 4 ) потребителю. Условия задачи представим таблицей 1.2 (сij записаны в верхнем правом углу каждой клетки таблицы).
Необходимо закрепить поставщиков за потребителями так, чтобы общая сумма затрат на перевозку была минимальной.
Решение транспортной задачи начинается с отыскания первого опорного плана. Существует несколько схем построения первоначального плана: метод северо-западного угла, метод наименьшей стоимости, метод двойного предпочтения и другие. Однако в любом случае план должен иметь ровно (m + n – 1) заполненных клеток, а остальные (m – 1)( n – 1) клетки – пустые. Подчеркнём, пустая клетка и клетка, заполненная нулём, - не одно и то же.
Т
аблица
1.2
-
Потребители
Поставщики
Запасы
А1
4
4
6
6
120 = а1
А2
10
2
14
4
160 = а2
А3
14
6
8
12
120 = а3
П
отребности40 = b1
80 = b2
80 = b3
200 = b4
400
400
П
остроим
опорный плана по методу наименьшей
стоимости. То есть в первую очередь
будем удовлетворять тех потребителей,
доставка товара к которым обходится
дешевле, иными словами будем заполнять
клетки с наименьшим тарифом. Выбираем
в таблице 1.2 клетку А2В2
(краткое обозначение: (2, 2)), соответствующую
наименьшему тарифу с22
= 2. На базе
A2
имеется груз a2
= 160 т.
Потребность пункта В2
составляет b2
= 80т и может
быть удовлетворена базой A2.
Полагая x22
= 80, вписываем это значение в клетку (2,
2) и исключаем из рассмотрения второй
столбец. На базе А2
остаётся (160 – 80) = 80т. Остальная часть
табл. 1.2 примет вид табл. 1.2.1.
Теперь наименьший тариф 4 - в двух клетках: (1, 1) и (2, 4). Выбираем клетку (2, 4), так как при этом будет перевезено 80т – больше, чем при выборе клетки (1, 1). Запасы А2: 80т меньше потребностей В4: 200т. Поэтому в клетку (2, 4) записываем число 80, исчерпав запасы А2, а потребности В4 уменьшаем на 80т.
Строку А2 исключаем из рассмотрения и переходим к таблице 1.2.2. Теперь наименьшая стоимость: с11 = 4. Закрываем потребности В1, уменьшая запасы А1 до 80т, в клетку (1, 1) ставим 40т и исключаем столбец В1.
В
новой таблице 1.2.3 наименьшая стоимость,
равная 6, находится в клетках (1, 3) и
(1, 4). Можно выбрать любую из них, поскольку
объем перевозок для этих клеток одинаков.
Пусть это будет клетка (1, 3). Запасы А1
составляют 80т и совпадают с потребностями
В3. В клетку (1, 3) записываем число
80 и исключаем из рассмотрения либо
строку А1 либо столбец В3.
Если исключить и строку, и столбец, то
число заполненных клеток будет меньше,
чем m + n -
1 = 6, что недопустимо. Исключим столбец
В3. Получим таблицу 1.2.4, в которой
остался только один ряд – столбец В4,
заполняемый однозначно: в клетку (1, 4)
записываем 0 (вырожденный случай), в
клетку (3, 4) - число 120. В результате (см.
таблицу 1.2.5) заполненными оказываются
следующие клетки матрицы перевозок X
=
:
x11 = 40, x13 = 80, x14 = 0, x22 = 80, x24 = 80, x34 = 120,.
Транспортные расходы по этой программе равны: Z = 40 4 + 80 6 + 0 6 + 80 2 + 80 4 + 120 12 = 2560 (д. ед.).
Таблица 1.2.5
-
ПотребителиПоставщики
Запасы
А1
4
40
4
6
80
6
0
120 = а1
А2
10
2
80
14
4
80
160 = а2
А3
14
6
8
12
120
120 = а3
Потребности
40 = b1
80 = b2
80 = b3
200 = b4
400400
Напомним, что клетки таблицы, отвечающие базисным неизвестным матрицы перевозок, называют базисными или занятыми, а клетки, отвечающие свободным неизвестным, называются свободными или пустыми:
x11, x13, x14, x22, x24, x34 – базисные;
x12, x21, x23, x31, x32, x33 – свободные.
Отыскание первого опорного плана - это лишь подготовительный этап к решению задачи (нахождению оптимального плана). Число заполненных клеток, как было отмечено выше, должно быть равно (m + n – 1). В рассматриваемом примере это 6. После того, как первый базисный (опорный) план найден, следует проверить, является ли он оптимальным. Для этого можно воспользоваться методом потенциалов, основанным на следующей теореме.
Если план x* = (xij*) ( i = 1, …,m; j = 1, …,n ) транспортной задачи является оптимальным, то ему соответствуют m + n чисел ui* и vj*, удовлетворяющих условиям
ui* + vj* = сij, для xij ³ 0 (базисные клетки), (1.3)
ui*
+ vj*
сij,
для xij
= 0 (свободные клетки),
(1.4)
где ui* и vj* называются потенциалами соответственно строк (поставщиков) и столбцов (потребителей); сij - тарифы.
Для доказательства достаточно заметить, что потенциалы – это двойственные переменные (u, v) произвольного знака, соответствующие условиям баланса по строкам (u) и столбцам (v). Наоборот, каждой неотрицательной переменной xij исходной ТЗ соответствует дуальная переменная yij , а также ограничение - неравенство типа (1.4) двойственной задачи. При этом для базисных неизвестных неравенства превращаются в равенства (1.3) по принципу дополнительности (дополняющей нежёсткости).
Напомним, что дополнительные двойственные переменные yij (оценки клеток) равны разностям между правой и левой частями неравенств (1.4) (или равенств (1.3)). Нетрудно показать, что оценки клеток не изменятся, если все тарифы какого-либо ряда изменить на одну и ту же величину, причём эту операцию можно проделывать произвольное количество раз.
Таким образом, чтобы проверить план на оптимальность, следует найти потенциалы (таблица 1.3):
Таблица 1. 3
-
ПотребителиПоставщики
v1 = 4
v2 = 4
v3 = 6
v4 = 6
u1 = 0
А1
4
40
4
6
80
6
0
u2 = -2
А2
10
2
80
14
4
80
u3 = 6
А3
14
6
8
12
120
Для нахождения потенциалов используем условие (1.3) для занятых клеток:
(1.5)
Система (1.5) состоит из шести независимых уравнений и имеет семь неизвестных. Так как независимых условий баланса: m + n - 1 = 6, то одно из неизвестных – лишнее, и его можно зафиксировать, например, приравняв к нулю. Пусть это будет u1 = 0. Тогда остальные неизвестные последовательно найдутся из системы (1.5) единственным образом. Из первых трёх уравнений: v1 = 4, v3 = 6, v4 = 6. Подставляя эти значения в последние два уравнения, найдем: u2 = -2, u3 = 6. Наконец из четвёртого уравнения: v2 = 4.
После того, как потенциалы найдены (смотри таблицу 1.3), следует проверить условие оптимальности (1.4) для свободных клеток, то есть найти косвенные тарифы c/ij = ui + vj и сравнить их с истинными цифрами сij. Разность yij = cij – c/ij есть оценка пустой клетки, по второй теореме двойственности она равна коэффициенту при переменной xij в выражении функции затрат через свободные переменные.
Видим, что условие оптимальности (1.4) в свободных клетках ( 3, 2), ( 3, 3) нарушено, для них косвенные тарифы больше истинных, а оценки y32 и y33 – отрицательны. План перевозок может быть улучшен перераспределением поставок в пустую клетку с отрицательной оценкой. Если таких клеток несколько, то обычно выбирают клетку с максимальной по абсолютной величине отрицательной оценкой.
Для сохранения баланса в строках и столбцах поставки перераспределяют по определённому циклу.
Ц
иклом
в транспортной таблице называется
обобщённый прямоугольник, одна вершина
которого совпадает со свободной клеткой
(для которой образуется цикл), а остальные
вершины - с заполненными клетками, причём
все стороны прямоугольника проходят
строго вдоль строк и столбцов таблицы,
и все его углы - прямые. Если вершины
цикла, начиная с пустой клетки, пометить
чередующимися знаками +
-
+
-
¼,
то получится цикл пересчета. Циклы могут
иметь различную конфигурацию. Примеры
возможных циклов приведены на рис. 1.1.
Можно показать, что для любой пустой
клетки цикл существует и он единственный!
Пересчет по циклу (сдвиг из отрицательных вершин в положительные) производят следующим образом:
находят D - минимальную из поставок в отрицательных вершинах цикла;
к поставкам в положительных вершинах прибавляют D, из поставок в отрицательных вершинах вычитают D;
одну отрицательную клетку - вершину с уменьшенной до нуля поставкой - переводят в свободные.
В результате получится новый план перевозок, в котором одна свободная переменная заменяется на базисную, но при этом освобождается одна из базисных переменных. Равновесие между запасами и заявками не меняется, по-прежнему сумма перевозок в каждой i-той строке равна запасам аi, а сумма перевозок в каждом j-ом столбце - заявке bj.
Продолжим рассмотрение примера. Оценки y32 = y33 = - 4 одинаковы и отрицательны. Выберем, например, клетку (3, 2) и построим для неё цикл пересчёта:
(3, 2) – (3, 4) + (2, 4) – (2, 2).
Таблица 1.4
-
ПотребителиПоставщики
v1 = 4
v2 = 0
v3 = 6
v4 = 6
u1 = 0
А1
4
40
4
6
80
6
0
u2 = -2
А2
10
2
14
4
160
u3 = 6
А3
14
6
80
8
12
40
Среди отрицательных вершин цикла (2, 2) и (3, 4) находим клетку с наименьшей поставкой:
D = min { х22; х34} = min{80; 120} = 80.
Эта клетка (2, 2) становится свободной.
Производим сдвиг на найденное значение D = 80: х34 и х22 уменьшим на 80, а х32 и х24 увеличим на 80. Указанный сдвиг приведет к новому базисному решению (таблица 1.4)
Проверим, является ли новый план оптимальным. Значения потенциалов (см. таблицу 1.4) найдем из решения системы уравнений:
u1+v1=4
u1+v3=6
u1+v4=6
u2+v4=4
u3+v2=6
u3+v4=12
Пусть u1=0, тогда v1=4; v3=6; v4=6.
Зная v4, найдем u2=-2 и u3=6, а зная u3, найдем v2=0.
О
y22 = 2 – u2 – v2 = 4; y23 = 14 – u2 – v3 = 10; y31 = 14 – u3 – v1 = 4; y33 = 8 – u3 – v3 = - 4.
План не оптимален, т.к. y33 < 0. Построим цикл для клетки (3, 3):
(3, 3) – (3, 4) + (1, 4) – (1, 3).
“Отрицательным” клеткам цикла -(3, 4) и -(1, 3) соответствуют поставки х34 = 40, х13 = 80. D = min {40, 80} = 40. К поставкам х33 и х14 прибавляем D = 40, а из поставок х34 и х13 – вычитаем D, в результате клетка (3, 4) становится пустой, а клетка (3, 3) – заполненной (базисной). Новый план представлен в таблице 1.5:
Таблица 1. 5
-
Потребители
Поставщики
v1 = 4
v2 = 4
v3 = 6
v4 = 6
u1 = 0
А1
4
40
4
6
40
6
40
u2 = -2
А2
10
2
14
4
160
u3 = 2
А3
14
6
80
8
40
12
Найдем потенциалы непосредственно по таблице 1.5, не выписывая явно систему уравнений. Сначала положим u1 = 0; затем напротив заполненных клеток первой строки запишем: v1 = 4 - u1 = 4, v3 = 6 - u1 = 6, v4 = 6 - u1 = 6. Теперь напротив заполненных клеток третьего (v3 - уже найдено!) и четвёртого (v4 - также найдено!) столбцов: u3 = 8 - v3 = 2, u2 = 4 - v4 = - 2; наконец напротив заполненных клеток третьей строки: v2 = 6 - u3 = 4.
Оценки пустых клеток:
y12 = 4 - (0 + 4) = 0; y21 = 10- (-2 + 4) = 8; y22 = 2 – (-2 + 4) = 0;
y23 = 14 – (-2 + 6) = 10; y31 = 14 – (2 + 4) = 8; y34 = 12 – (2 + 6) = 4.
Все оценки неотрицательны, поэтому план X1 таблицы 1.5 – оптимален!
. (1,
6)
Минимальные затраты:
Z = 40 4 + 40 6 + 40 6 + 160 4 + 80 6 + 40 8 = 2080 (д. ед.).
Заметим, что две оценки пустых клеток y12 и y22 – нулевые, значит по следствию №2 из второй теоремы двойственности найденный оптимальный план X1 – не единственный. Ещё два базисных оптимальных плана X2 и X3, легко получаются из плана таблицы 1.5 сдвигом по циклам для вырожденных клеток (1, 2) и (2, 2):
(1,
2) – (1, 3) + (3, 3) – (3, 2);
=
min { х13; х32}
= 40;
;
(1, 7)
(2, 2) – (2, 4) + (1, 4) – (1, 3) + (3, 3) – (3, 2); = min {х24; х13; х32} = 40;
.
(1, 8)
Очевидно, оценки пустых клеток не изменяются. Каждый из новых планов имеет по две вырожденных клетки. Сдвиг по циклам для этих клеток в данной задаче не приводит к новым планам (проверьте!).
Любой оптимальный план перевозок X есть выпуклая линейная комбинация базисных планов: X = q1X1 + q2X2 + q3X3, где q1 + q2 + q3 = 1; qi ³ 0; i =1, 2, 3. Например, для q1 = 0,5; q2 = 0,25; q3 = 0,25; оптимальный (но не базисный!) план примет вид:
.
