- •Элементы математического программирования
- •Цели и задачи дисциплины, ее место в учебном процессе
- •Содержание дисциплины
- •Практические занятия
- •Лабораторные занятия
- •Общие рекомендации студенту-заочнику по работе над курсом «Математическое программирование»
- •Введение
- •Основные формы и задачи линейного программирования
- •Типовые задачи линейного программирования Задача о планировании производства
- •Задачи для самостоятельного решения
- •Задача о рационе
- •Задачи для самостоятельного решения
- •Задача прикрепления потребителей к поставщикам (транспортная задача)
- •Задачи для самостоятельного решения
- •Задача о рациональном раскрое
- •Задачи для самостоятельного решения
- •Графический метод решения задач
- •Задачи для самостоятельного решения
- •Симплекс - алгоритм
- •Составление начального опорного плана.
- •Пример использования симплекс-метода (без таблиц)
- •Задачи для самостоятельного решения
- •Метод искусственного базиса
- •Задачи для самостоятельного решения
- •Двойственная задача
- •Задачи для самостоятельного решения
- •Двойственный симплексный метод
- •Транспортная задача
- •Пример решения задачи линейного программирования в ms Excel.
- •Метод решения задачи об оптимальных перевозках средствами Ms Excel
- •Задания для домашней контрольной работы
- •1. Математическая модель задачи Составить (не решать) математические модели приведенных задач
- •2. Виды задач линейного программирования, геометрический метод решения
- •3 . Двойственные задачи
- •4. Транспортная задача
- •5. Симплексный метод решения задач
- •Библиографический список.
Транспортная задача
Транспортная задача может быть решена симплекс методом. Однако специфическая форма системы ограничений позволяет упростить симплекс метод. Наиболее распространенным методом является метод потенциалов, при котором для каждой i-ой строки (i-ому поставщику) устанавливается потенциал ui, который можно интерпретировать как цену продукта в пункте поставщика, а для каждого столбца j (j-ому потребителю) – потенциал vj, который можно принять за цену продукта в пункте потребителя.
Идея метода состоит в построении начального опорного плана, который в последующем может улучшаться до тех пор, пока не будет удовлетворяться признак оптимальности плана. Тем самым, решение задачи методом потенциалов включает предварительный этап и конечное число итераций.
На предварительном этапе определяем первоначальный план перевозок одним из методов:
МЕТОД СЕВЕРО-ЗАПАДНОГО УГЛА. Заполнение клеток происходит последовательно по следующему алгоритму: сначала вывозится груз из пункта А1 и завозится в пункт В1, и этой перевозке х11 присваивается максимально возможное значение. Если заявка пункта В1 выполнена, а в пункте А1 еще остается груз, то он вывозится в пункт В2 и т.д. Если в пункте А1 недостаточно было груза для В1, то недостающий груз берется из А2 и т.д.
После того как спрос потребителя B1 удовлетворен, он выпадает из рассмотрения и т.д.
Пример.
Имеем закрытую транспортную задачу, так как количество продукта в пунктах производства (у поставщиков) равно количеству продукта, необходимому в пунктах потребления:
20+25+30+15+10=100=15+35+35+15.
-
В1
В2
В3
В4
Запасы
А1
15 5
5 7
6
8
20
А2
6
25 7
8
5
25
А3
5
5 4
25 6
7
30
А4
6
5
10 7
5 4
15
А5
5
6
6
10 6
10
Заявки
15
35
35
15
100
Сначала везем груз из А1 в пункт В1: в наличии 20 единиц продукта, необходимо 15 единиц. Выполняем все потребности потребителя В1, исключаем его из рассмотрения, а в пункте А1 остается 5 единиц продукта. Переходим к В2 потребителю – необходимо 35 единиц продукта. Везем в него остатки из пункта А1 и исключаем его из рассмотрения. Теперь потребителю В2 необходимо 30 единиц. Переходим к поставщику А2, у него в наличии 25 единиц, перевозим из него все 25 единиц и исключаем его из рассмотрения, после чего потребителю В2 недостает 5 единиц. Переходим к поставщику А3, у него в наличии 30 единиц продукта. Поставляем В2 недостающие 5 единиц и исключаем его из рассмотрения. В пункте А3 остается 25 единиц продукта. Переходим к В3 потребителю – также необходимо 35 единиц продукта, везем из А3 25 единиц продукта и исключаем его из рассмотрения. Поставляем В3 недостающие 10 единиц из пункта А4 и исключаем его из рассмотрения. В пункте А4 остается 5 единиц продукта, которые везем в пункт В4, покрывая часть его потребностей. И оставшиеся 10 единиц везем из пункта А5 в пункт В4.
Стоимость перевозки: F=5*15+5*7+25*7+5*4+25*6+10*7+5*4+10*6=605
Существенным недостатком метода северо-западного угла является то, что он построен без учета стоимости перевозок.
МЕТОД МИНИМАЛЬНОГО ЭЛЕМЕНТА. Заполнение клеток транспортной таблицы начинается с той клетки, в которой значение (стоимость перевозки) минимально. В нее записывается максимально возможное значение перевозки хij, которое может быть равно либо запасу аi, либо заявке вj. Если заявка вj выполнена полностью, то j-й столбец больше не рассматривается. Если не вывезенный груз еще остался, то он вывозится в пункт с наименьшим тарифом.
Пример.
-
В1
В2
В3
В4
Запасы
А1
15 5
7
5 6
8
20
А2
6
7
25 8
5
25
А3
5
30 4
6
7
30
А4
6
5
7
15 4
15
А5
5
5 6
5 6
6
10
Заявки
15
35
35
15
100
Наименьшая стоимость перевозки равна 4 – в клетках (А3, В2) и (А4, В4). Начинаем, например, с (А3, В2). Пункту В2 необходимо 35 единиц продукции, у пункта А3 в наличии 30 единиц продукта, все перевозим и исключаем А3 из рассмотрения. Переходим к пункту В4, которому необходимо 15 единиц продукции, у пункта А3 в наличии 15 единиц, все перевозим и исключаем А3 и В4 из рассмотрения. Теперь наименьшая стоимость перевозки равна 5 – в клетках (А1, В1), (А2, В4), (А3, В1), (А2, В4).
Стоимость перевозки: W = 30*4+5*6+15*4+15*5+5*6+25*8+5*6 = 545.
При распределении грузов может оказаться, что количество занятых клеток меньше, чем m+n-1. В этом случае задача считается вырожденной. В этом случае недостающее число занятых клеток заполняется нулевыми поставками, которые называются условно занятыми.
Найденное исходное опорное решение проверяется на оптимальность методом потенциалов по следующему критерию: если опорное решение транспортной задачи является оптимальным, то ему соответствует система m+n действительных чисел ui и vj, удовлетворяющих условиям ui+vj=cij для занятых клеток и ui + vj –cij ≤ 0 для свободных клеток.
Числа ui и vj называют потенциалами. В распределительную таблицу добавляют строку vj и столбец ui.
Потенциалы ui и vj находят из равенства ui + vj = cij, справедливого для занятых клеток. Одному из потенциалов дается произвольное значение, например u1 = 0, тогда остальные потенциалы определяются однозначно. Так, если известен потенциал ui, то vj=cij–ui; если известен потенциал vj, то ui=cij-vj.
Обозначим ∆ij=ui+vj–cij. Эту оценку называют оценкой свободных клеток. Если ∆ij≤0, то опорное решение является оптимальным. Если хотя бы одна из оценок ∆ij>0, то опорное решение не является оптимальным и его можно улучшить, перейдя от одного опорного решения к другому.
Пример. Решение транспортной задачи
1. Постановка транспортной задачи
Имеются три пункта поставки однородного груза А1, А2, А3 и пять пунктов В1, В2, В3, В4, В5 потребления этого груза. На пунктах А1, А2, А3 находится груз в количествах 90, 70, 110 тонн. В пункты В1, В2, В3, В4, В5 требуется доставить соответственно 50, 60, 50, 40, 70 тонн груза. Расстояния в сотнях километрах между пунктами поставки и потребления приведены в матрице-таблице:
Определить оптимальный план перевозок, обеспечивающий минимальные транспортные расходы.
Изобразим матричную запись задачи:
Bj
Ai |
B1 |
B2 |
B3 |
B3 |
B3 |
|
50 |
60 |
50 |
40 |
70 |
||
A1 |
90 |
9 |
1 |
1 |
5 |
6 |
X11 |
X12 |
X13 |
X14 |
X15 |
||
A2 |
70 |
6 |
4 |
6 |
8 |
5 |
X21 |
X22 |
X23 |
X24 |
X25 |
||
A3 |
110 |
2 |
9 |
3 |
5 |
3 |
X31 |
X32 |
X33 |
X34 |
X35 |
||
2. Математическая модель задачи
Целевая функция
.
где Xij – объем поставок груза,
при ограничениях:
Xij≥0,
Подробные ограничения по потребностям и запасам каждого потребителя и поставщика соответственно отражены в таблице:
По потребностям |
По запасам |
||
B1 |
X11+X21+X31=50 |
A1 |
X11+X12+X13+X14+X15=100 |
B2 |
X12+X22+X32=60 |
A2 |
X21+X22+X23+X24+X25=70 |
B3 |
X13+X23+X33=50 |
A3 |
X31+X32+X33+X34+X35=70 |
B4 |
X14+X24+X34=40 |
|
|
B5 |
X15+X25+X35=70 |
|
|
3. Решение задачи аналитическим методом
Получим первоначальный план перевозок методом минимальной стоимости:
Bj
Ai |
B1 |
B2 |
B3 |
B3 |
B3 |
|
|
|
|
|
|
||
A1 |
|
9 |
1 |
1 |
5 |
6 |
|
60 |
30 |
|
|
||
A2 |
|
6 |
4 |
6 |
8 |
5 |
|
|
|
40 |
30 |
||
A3 |
|
2 |
9 |
3 |
5 |
3 |
50 |
|
20 |
|
40 |
||
Процесс выполнения получения опорного решения с последовательным назначением перевозок в ячейки: А1В2 – А1В3 – А3В1 – А3В3 – А3В5 – A2B5 –A2B4.
Проверка плана на вырожденность: m+n-1=7=7 – количество заполненных клеток. План невырожденный.
Проверим опорное решение на оптимальность по методу потенциалов. Расчет потенциалов строк и столбцов для занятых из условия vi + uj = cij для занятых клеток и проверка условия vi + uj ≤ cij для незанятых приведены в таблице.
|
v1 |
v2 |
v3 |
v4 |
v5 |
u1 |
9 |
1 |
1 |
5 |
6 |
|
60 |
30 |
|
|
|
u2 |
6 |
4 |
6 |
8 |
5 |
|
|
|
40 |
30 |
|
u3 |
2 |
9 |
3 |
5 |
3 |
50 |
|
20 |
|
40 |
F=60+30+320+150+100+60+120=840 – стоимость перевозки.
заполненные |
незаполненные |
||||
№ |
uj+ vi = cij |
значения |
№ |
uj+ vi ≤ cij |
условие |
А1В2 |
u1+ v2 = 1 |
u1=0, v1=0 |
А1В1 |
u1+ v1 =0<=9 |
соблюдается |
А1В3 |
u1+ v3 = 1 |
u2=4 v2=1 |
А1В4 |
u1+ v4 =4<=5 |
соблюдается |
A2B4 |
u2+ v4 = 8 |
u3=2 v3= 1 |
А1В5 |
u1+ v5 =1<=6 |
соблюдается |
A2B5 |
u2+ v5 = 5 |
v4= 4 |
А2В1 |
u2+ v1 =4<=6 |
соблюдается |
A3B1 |
u3+ v1 = 2 |
v5= 1 |
A2B2 |
u2+ v2 =5<=4 |
не соблюдается |
A3B3 |
u3+ v3 = 3 |
|
A2B3 |
u2+ v3 =5<=6 |
соблюдается |
A3B5 |
u3+ v5 = 3 |
|
A3B2 |
u3+ v2 =3<=9 |
соблюдается |
|
|
|
A3B4 |
u3+ v4 =6<=5 |
не соблюдается |
Из тех условий, где критерий не выполняется, выбираем то условие, где разница максимальна. У нас одинаковые значения (5-4=1, 6-5=1), выбираем, например, A2B2, ставим в клетку неизвестную Х и составляем цикл.
|
v1 |
v2 |
v3 |
v4 |
v5 |
u1 |
9 |
1 |
1 |
5 |
6 |
|
60 - Х |
30 + Х |
|
|
|
u2 |
6 |
4 |
6 |
8 |
5 |
|
Х |
|
40 |
30 - Х |
|
u3 |
2 |
9 |
3 |
5 |
3 |
50 |
|
20 - Х |
|
40 + Х |
Выбираем Х: Х=min{60, 30, 20}=20. Получаем следующую таблицу:
|
v1 |
v2 |
v3 |
v4 |
v5 |
u1 |
9 |
1 |
1 |
5 |
6 |
|
40 |
50 |
|
|
|
u2 |
6 |
4 |
6 |
8 |
5 |
|
20 |
|
40 |
10 |
|
u3 |
2 |
9 |
3 |
5 |
3 |
50 |
|
|
|
60 |
При этом минимальная стоимость транспортных расходов составляет:
F=40+50+80+320+50+100+180=820 .
Проверим опорное решение на оптимальность по методу потенциалов.
заполненные |
незаполненные |
||||
№ |
uj+ vi = cij |
значения |
№ |
uj+ vi ≤ cij |
условие |
А1В2 |
u1+ v2 = 1 |
u1=0, v1=2 |
А1В1 |
u1+ v1 =2<=9 |
соблюдается |
А1В3 |
u1+ v3 = 1 |
u2=3 v2=1 |
А1В4 |
u1+ v4 =5<=5 |
соблюдается |
A2B2 |
u2+ v2 = 4 |
u3=0 v3= 1 |
А1В5 |
u1+ v5 =3<=6 |
соблюдается |
A2B4 |
u2+ v4 = 8 |
v4= 5 |
А2В1 |
u2+ v1 =5<=6 |
соблюдается |
A2B5 |
u2+ v5 = 5 |
v5= 3 |
A2B2 |
u2+ v3 =4<=6 |
соблюдается |
A3B1 |
u3+ v1 = 2 |
|
A2B3 |
u3+ v1 =2<=9 |
соблюдается |
A3B5 |
u3+ v5 = 3 |
|
A3B2 |
u3+ v3 =1<=3 |
соблюдается |
|
|
|
A3B4 |
u3+ v4 =5<=5 |
соблюдается |
Критерий выполнен, значит, полученное решение оптимально. Следовательно, минимальная стоимость перевозки F=820, везем из А1 в В2 40 тонн груза, из А1 в В3 50 тонн груза, из А2 в В2 20 тонн груза, из А2 в В4 40 тонн груза, из А2 в В5 10 тонн груза, из А3 в В1 50 тонн груза, из А3 в В5 60 тонн груза.
