- •Экономико-математические методы и модели
- •Тема 1. Модели экономического программирования.
- •Модели линейного программирования.
- •Геометрическая интерпретация задачи лп. Графический способ решения задач лп.
- •Общие случаи решения задач лп. Симплекс-метод.
- •1 Этап:
- •Все остальные элементы пересчитываются по следующим правилам:
- •Задачи целочисленного программирование.
- •Транспортная задача.
- •Полученная задача - классическая транспортной задачей в матричной постановке.
- •Специальные виды задач линейного программирования
- •Задачи параметрического программирования (зпп)
- •Общие случаи решения зпп
- •Многоцелевые задачи (мцз)
- •Задача нелинейного математического программирования (знмп)
- •Метод неопределенных множителей Лагранжа
Транспортная задача.
Постановка задач:
Крупная торговая компания имеетК пунктов хранения одного и того же товара и Rпунктов потребления этого же товара. На каждом i-ом пункте хранения хранится αi-ой формы товара. Каждому j-ому пункту потребления необходимо jединиц товара. Предполагается, что запасы и потребности являются сбалансированными, т.е. . Предполагается, что любой пункт хранения может взаимодействовать с любым пунктом потребления.Для каждого сочетания пункта хранения и пункта потребления известно стоимость перевозки единиц продукта (сij).
Требуется составить план перевозок таким образом что суммарная затраты на перевозки были минимальными.
Решение:
х ij– количество перевозимого товара из i-го пункта хранение в j-ый пункт хранения. Тогда суммарная мощность всех перевозок будет иметь вид: f(x) = ∑сijxijmax.
∑xij= j ,
∑xij = i,
Полученная задача - классическая транспортной задачей в матричной постановке.
Транспортная задача относится к классу задач линейного программирования так как система ограничений и целевая функция линейны относительно переменных. Как любая задача линейного программирования она решается в 2 этапа
Построение первоначального решения и оценка её оптимальности
Переход к новому решению в случае не оптимальности
Алгоритмы
Распределительный
Модифицированный распределительный (метод потенциалов)
Распределительный алгоритм решения транспортной задачи
Исходная задача записывается в виде распределительной таблицы (на этом шаге необходимо проверить сбалансированность задачи, а именно выполнение условия ∑αi=Eβj). В случае невыполнения этого условия в задачу необходимо ввести либо дополнительного поставщика либо дополнительного потребителя. При этом запасы поставщика или потребности потребителя должны быть равны величине «не баланса» между запасами и потребностями.
Распределительная таблица транспортной задачи имеет следующий вид
Поставищики |
ПОТРЕБИТЕЛЕЙ |
Запасы |
|||
В1 |
… |
Вj |
Вr |
||
А1 |
c11 |
|
c1j |
cir |
a1 |
…. |
|
|
|
|
|
Аi |
cj1 |
|
cij |
cir |
ai |
…. |
|
|
|
|
|
Ак |
ck1 |
|
ckj |
Ckr |
ak |
Потребности |
b1 |
|
bj |
br |
|
A=(45,20,35)
B=(40,10,50)
C=( )
∑α=∑β=100 – задача сбалансирована
ШАГ 1 составление распределительной таблицы
Поставщики |
ПОТРЕБИТЕЛЕЙ |
Запасы |
||
B1 |
B2 |
B3 |
||
A1 |
5 |
6 |
3 |
45 |
A2 |
3 |
8 |
2 |
20 |
A3 |
4 |
7 |
4 |
35 |
Потребности |
40 |
10 |
50 |
|
ШАГ 2 – формирование первоначального базисного решения (ПБР).
Процедура формирования ПБР представляет собой процесс заполнения клеток распределительной таблицы с учетом ограничения по запасам и потребностям. Наиболее целесообразным методом поиска ПБР является метод минимального элемента позволяющий получить наиболее близкое к оптимуму первоначальное решение
Этапы метода
Среди всех клеток распределительной таблицы выбирается клетка имеющая наименьший тариф
Поставщики
ПОТРЕБИТЕЛЕЙ
Запасы
B1
B2
B3
A1
5
6
3
45
A2
3
8
__2__
20
A3
4
7
4
35
Потребности
40
10
50
Данная клетка загружается максимально возможной по величине поставкой. Если клеток с минимальными тарифами несколько то выбирается та в которую можно организовать наибольшую поставку
Поставщики |
ПОТРЕБИТЕЛЕЙ |
Запасы |
||
B1 |
B2 |
B3 |
||
A1 |
5 |
6 |
30 (столбец закрыт) |
45 |
A2 |
3 |
8 |
20 (строка закрыта) |
20 |
A3 |
4 |
7 |
4 |
35 |
Потребности |
40 |
10 |
50 |
|
|
|
|
|
|
Если величина максимально возможной поставки ограничена величиной соответствующего запаса то «закрывается строка». Если максимальная строка ограничена величиной потребностей то «закрывается столбец». Закрытые строки и столбцы в дальнейшем поиске решения не участвуют.
-
Поставщики
ПОТРЕБИТЕЛЕЙ
Запасы
B1
B2
B3
A1
5
6
3
45
A2
3
8
2
20
A3
4
7
4
35
Потребности
40
10
50
Если закрыта строка, то среди оставшихся элементов столбца выбирается клетка с наименьшим тарифом и реализуется шаг 3. Если закрыт столбец то среди элементов строки выбирается клетка с минимальным тарифом и реализуется шаг 3
Шаги 3 и 4 повторяются до тех пор пока в распределительной таблице не будет заполнено k+r-1 клетка
Поставщики |
ПОТРЕБИТЕЛЕЙ |
Запасы |
||
B1 |
B2 |
B3 |
||
A1 |
155 (строка закрыта) |
6 |
303 (столбец закрыт) |
45 |
A2 |
3 |
8 |
202 (строка закрыта) |
20 |
A3 |
254 (столбец закрыт) |
107 (строка и столбец закрыты) |
4 |
35 |
Потребности |
40 |
10 |
50 |
|
|
|
|
|
|
Если количество загруженных клеток равно к+r-1, то транспортная задача на заданном этапе считается не вырожденной. Если количество загруженных клеток меньше чем к+r-1, то в этом случае задача является вырожденной и от вырожденности задачи избавляются следующим образом.
Если число закрытых клеток на ЕДИНИЦУ меньше чем к+r-1, то в любую свободную клетку ставят 0 и считают эту клетку загруженной
Если число закрытых клеток на 2 ЕДИНИЦЫ меньше чем к+r-1, то в любые две клетки ставят нули и считают эти клетки загруженными и т.д.
Записывается решение в виде матрицы и определяется значение целевой функции на рассматриваемом этапе
Х=
F(x)=375 (умножаем тарифы на цифры в клетках и складываем)
ШАГ 3 – оценка оптимальности полученного решения
Циклом в транспортной таблице для какой либо свободной клетки называют набор клеток, в который входит рассматриваемая свободная и все остальные загруженные, причем любые две соседние клетки набора лежат либо в одной строке либо в одном столбце.
ТЕОРЕМА – если транспортная задача является не вырожденной то для каждой свободной клетки может быть составлен единственный цикл в распределительной таблицы.
Рассмотрим клетку С12.
Поставщики |
ПОТРЕБИТЕЛЕЙ |
Запасы |
||
B1 |
B2 |
B3 |
||
A1 |
1 55 (строка закрыта) |
6 |
303 (столбец закрыт) |
45 |
A2 |
3 |
8 |
202 (строка закрыта) |
20 |
A3 |
2 54 (столбец закрыт) |
107 (строка и столбец закрыты) |
4 |
35 |
Потребности |
40 |
10 |
50 |
|
|
|
|
|
|
Клетка С22
Поставщики |
ПОТРЕБИТЕЛЕЙ |
Запасы |
||
B1 |
B2 |
B3 |
||
A1 |
1 55 (строка закрыта) |
6 |
3 03 (столбец закрыт) |
45 |
A2 |
3 |
8 |
202 (строка закрыта) |
20 |
A3 |
2 54 (столбец закрыт) |
107 (строка и столбец закрыты) |
4 |
35 |
Потребности |
40 |
10 |
50 |
|
|
|
|
|
|
Для всех свободных клеток выявляются и строятся циклы.
Алгоритм распределительного метода предполагает переход к новому решению путем реализации операции передвижения по циклу некоторой поставки величиной θ.
Рассмотрим некоторый произвольный цикл, включающий клетки с номерами jk, jk, lj и lk.
Считаем ij – свободной, все остальные загруженные.
С ij |
X ik Сik (-θ) |
XljClj(-θ) |
XlkСlk(+θ) |
Рассмотрим приращение целевой функции при реализации процедуры передвижения по циклу величины θ
∆ f= θ(cij-Cik+Clk-Clj)
∆ij= (cij-Cik+Clk-Clj) - принято называть оценкой свободной клетки
Таким образом можно сформулировать следующее правило оценки оптимальности решения: если среди всех оценок свободных клеток имеются отрицательные оценки то это означает что полученное решение не обеспечивает минимум целевой функции т.е не является оптимальным и его можно улучшить
ШАГ 4 – переход новому базисному решению.
Для этого определяется величина поставки θ, которая может быть загружена в клетку с отрицательной оценкой наиболее просто определить эту величину
Величина θ = mn (четные) {xij}
ШАГ 5 – распределительная таблица переписывается, записывается решение полученное в результате перемещения по циклу и определяется значение целевой функции при этом решении.
ШАГ 6 – переход к ШАГУ 3
ПРИМЕЧАНИЕ:
за конечное число шагов решение транспортной задачи будет найдено
если среди всех не отрицательных оценок имеется нулевая то это означает что оптимальное решение не единственно.
ШАГ3.1
∆12=С12-С32+С31+С11 = 6-7+4-5 = -2
∆21=С21-С11+С13-С32 = 3-5+3-2 = -1
∆22=С22-С31+С31-С11+С13-С23= 8-7+4-5+3-2 = 1
∆33 = С33-С31+С11-С13 = 4-4+5-3 = 2
Если при решении имеется несколько отрицательных оценок, то выбирается наибольшая по модулю отрицательная оценка.
θ = min {xij}
θ = min {10,15} = 10
Поставщики |
ПОТРЕБИТЕЛЕЙ |
Запасы |
||
B1 |
B2 |
B3 |
||
A1 |
55 |
106 |
303 |
45 |
A2 |
3 |
8 |
202 |
20 |
A3 |
354 |
7 |
4 |
35 |
Потребности |
40 |
10 |
50 |
|
|
|
|
|
|
X
f(x)=355
Решение не вырождено
ШАГ 3.2
∆21=C21-C11+C13-C23 = 3-5+3-2= -1
∆22 = 8-6+3-2 = 3
∆31=C31-C31+C11-C12=7-4+5-6 = 2
∆33=C33-C31+C11-C13 = 2
Поставщики |
ПОТРЕБИТЕЛЕЙ |
Запасы |
||
B1 |
B2 |
B3 |
||
A1 |
5 |
106 |
353 |
45 |
A2 |
53 |
8 |
152 |
20 |
A3 |
354 |
7 |
4 |
35 |
Потребности |
40 |
10 |
50 |
|
|
|
|
|
|
X
f(x)=60+105+15+30+140=350
Решение не вырождено
ШАГ 3.3
∆11=5-3+2-3 = 1
∆22= 3
∆32=7-4+3-2+3-6 = 1
∆33 =4-4+3-2=1
Поскольку все оценки свободных клеток после второй итерации положительные то оптимальное решение достигнуто и затраты не могут быть уменьшены.
X
f(x)=350 – минимальные затраты на перевозку
Модифицированный распределительный метод (метод потенциалов)
На этапе оценки оптимальности решения для каждой строки и каждого столбца вводятся величины ui и vj, которые называются потенциалами i-ой строки и j-го столбца
Поставщики |
ПОТРЕБИТЕЛЕЙ |
Запасы |
|
||
B1 |
B2 |
B3 |
|||
A1 |
5 |
106 |
353 |
45 |
U1 |
A2 |
53 |
8 |
52 |
20 |
U2 |
A3 |
354 |
7 |
4 |
35 |
U3 |
Потребности |
40 |
10 |
50 |
|
|
|
|
|
|
|
|
|
V1 |
V2 |
V3 |
По потенциалам строк и столбцов и тарифам загруженных клеток составляется система уравнений следующего вида
Ui+Vj=Cij
C ij – тарифы загруженных клеток
U1+V2=6
U1+V3=3
U2+V1=3
U2+V3=2
U3+V1=4
Для решения данной системы уравнений один из потенциалов (любой) полагается равным некоторому числу (любому, например 0)
Например U1=0
V2=6, V3=3, U2=-1, V1=4, U3=0, U1=0
По полученным значениям потенциалов вычисляются оценки свободных клеток
∆ij=Cij-(Ui+Vj)
Cij – тариф свободной клетки
∆11=5-(U1+V1)=5-4=1
∆22=С22-(U2+V2)=8-5=3
∆32=С32-(U3+V2)=7-3 = 4
∆33=C33-(U3+V3)=4-3 = 1