- •Предисловие
- •1Основные определения и понятия оптимизации
- •1.1Модель и моделирование
- •1.2Виды моделей
- •1.3Оптимизационные модели
- •2Задача распределения ресурсов
- •2.1Постановка задачи оптимизации выпуска продукции
- •2.2Методы решения задачи оптимизации выпуска продукции
- •2.3Решение типовых задач
- •3Оптимизация распределения грузовых перевозок
- •3.1Постановка транспортной задачи
- •3.2Виды транспортной задачи
- •3.3Общий вид транспортной таблицы
- •3.4Методы составления первоначального опорного плана тз
- •3.5Метод потенциалов решения тз
- •Для каждой клетки с ненулевой перевозкой (загруженной) сумма потенциалов будет равна тарифу
- •Для каждой клетки с нулевой перевозкой (незагруженной) сумма потенциалов будет меньше или равна тарифу
- •3.6Решение типовых задач
- •4Задания для контрольных работ
- •4.1Варианты заданий к контрольной работе
- •Задание 2
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •4.2Вопросы для подготовки к защите контрольной работы
- •5Список рекомендуемой литературы
- •5.1Основная литература
- •5.2Дополнительная литература
3.6Решение типовых задач
На три товарных базы А1, А2 и А3 поступил однородный товар, который требуется четырем заказчикам В1, В2, В3 и В4. Потребности заказчиков и запасы каждой базы в условных единицах, а также тарифы (стоимость в рублях перевозки единицы груза с данной базы данному заказчику) указаны в таблице 3.1.
Таблица 3.1
-
Базы
Заказчики
В1
В2
В3
В4
Запасы
А1
1
4
5
11
300
А2
12
8
3
14
320
А3
10
15
7
9
380
Потребности
250
200
290
260
1000
Требуется спланировать перевозки с наименьшей суммой их стоимости.
Решение
1. Строим транспортную таблицу по условиям задачи и составляем первоначальный опорный план.
Метод Северо-Западного угла
В клетку А1-В1 помещаем min(300,250)=250. Это запас – заполняем нулями остаток столбца. Верхний левый элемент оставшейся части матрицы – клетка А1-В2. Значение перевозки в ней равно min(300–250,250)=50. Это – остаток запаса, поэтому заполняем нулями остаток строки. Верхний левый элемент оставшейся части матрицы – клетка А2-В2. Значение перевозки в ней равно min(200–50,320)=150. Это – остаток по потребности, поэтому заполняем нулями остаток столбца. Верхний левый элемент оставшейся части матрицы – клетка А2-В3. Значение перевозки в ней равно min(320–150,290)=170. Это – остаток запаса, поэтому заполняем нулями остаток строки. Верхний левый элемент оставшейся части матрицы – клетка А3-В3. Значение перевозки в ней равно min(290–170,380)=120. Это – остаток по потребности, поэтому заполняем нулями остаток столбца (остатка столбца уже нет). Последний элемент в оставшейся части матрицы – клетка А3-В4. Значение перевозки в ней равно min(380-120,260)= 260. Полученный опорный план представлен на рис. 3.3. Стоимость перевозок по нему
F=2501 + 504 + 1508 + 1703 + 1207 + 2609 =5340
Базы |
Потребители |
Запасы |
|||||||
B1 |
B2 |
В3 |
B4 |
||||||
A1 |
|
1 |
|
4 |
|
5 |
|
11 |
300 |
250 |
|
50 |
|
0 |
|
0 |
|
||
A2 |
|
12 |
|
8 |
|
3 |
|
14 |
320 |
0 |
|
150 |
|
170 |
|
0 |
|
||
A3 |
|
10 |
|
15 |
|
7 |
|
9 |
380 |
0 |
|
0 |
|
120 |
|
260 |
|
||
Потребности |
250 |
200 |
290 |
260 |
1000 |
Рис. 3.3. Нахождение опорного плана ТЗ по методу Северо-Западного угла
Метод минимальной стоимости
Нумеруем клетки таблицы по возрастанию тарифа (номер клетки укажем в скобках под тарифом). В клетку с номером (1) (это А1-В1) помещаем min (300,250)=250. Это запас – заполняем нулями остаток столбца. Клетка с наименьшим номером (2) в оставшейся части матрицы – клетка А2-В3. Значение перевозки в ней равно min (290,320)=290. Это – остаток по потребности, поэтому заполняем нулями остаток столбца. Клетка с наименьшим номером (3) оставшейся части матрицы – А1-В2. Значение перевозки в ней равно min (300-50,200)=50. Это – остаток запаса, поэтому заполняем нулями остаток строки. Клетка с наименьшим номером (6) в оставшейся части матрицы – А2-В2. Значение перевозки в ней равно min (320-290,200-50)=30. Это – остаток запаса, поэтому заполняем нулями остаток строки. Клетка с наименьшим номером (7) оставшейся части матрицы – А3-В4. Значение перевозки в ней равно min (260,380)= 260. Это – остаток по потребности, поэтому заполняем нулями остаток столбца (остатка столбца уже нет). Последний элемент в оставшейся части матрицы – клетка А3-В3. Значение перевозки в ней равно min (200-50-30,380-260)=120. Полученный опорный план представлен на рис. 3.4. Стоимость перевозок по нему:
F=2501 + 504 + 308 + 2903 + 12015 + 2609 =5700
-
Базы
Потребители
Запасы
B1
B2
B3
B4
A1
1
4
5
11
300
250
(1)
50
(3)
0
(4)
0
(9)
A2
12
8
3
14
320
0
(10)
30
(6)
290
(2)
0
(11)
A3
10
15
7
9
380
0
(8)
120
(12)
0
(5)
260
(7)
Потребности
250
200
290
260
1000
Рис. 3.4. Нахождение опорного плана ТЗ по методу минимальной стоимости
Метод двойного предпочтения
Помечаем галочкой клетку с наименьшим тарифом в каждом столбце. Это клетки А1-В1, А1-В2, А2-В3, А3-В4. Затем помечаем галочкой клетку с наименьшим тарифом в каждом строке. Это клетки А1-В1, А2-В3, А3-В3. Начинаем заполнять таблицу с клетки с двумя галочками. Их две – А1-В1 и А2-В3 в А1-В1. Помещаем в нее min (300,250)=250. Это запас – заполняем нулями остаток столбца. Клетка с двумя галочками в оставшейся части матрицы – клетка А2-В3. Значение перевозки в ней равно min (290,320)=290. Это – остаток по потребности, поэтому заполняем нулями остаток столбца. Клеток, помеченных одной галочкой в оставшейся части две – А1-В2 и А3-В4. Наименьший тариф в А1-В2. Значение перевозки в этой клетке равно min (300-50,200)=50. Это – остаток запаса, поэтому заполняем нулями остаток строки. В оставшейся части матрицы осталась одна клетка с галочкой – А3-В4. Значение перевозки в ней равно min (260,380)=260. Это – остаток по потребности, поэтому заполняем нулями остаток столбца. Оставшиеся 4 незаполненных клетки обрабатываем по методу минимальной стоимости (номера указываем в скобках под тарифом). Это – остаток запаса, поэтому заполняем нулями остаток строки. Клетка с наименьшим тарифом (1) оставшейся части матрицы – А2-В2. Значение перевозки в ней равно min (320-290,200-50)=30. Это – остаток запаса, поэтому заполняем нулями остаток строки. Последний элемент в оставшейся части матрицы – клетка А3-В2. Значение перевозки в ней равно min (200-50-30,380-260)=120. Полученный опорный план представлен на рис. 3.5. Заметим, что, несмотря на другой порядок заполнения, он совпадает с опорным планом, который получен методом минимально стоимости и стоимость перевозок по нему
F=2501 + 504 + 308 + 2903 + 12015 + 2609 =5700
Из трех полученных планов наименьшую стоимость имеет план, полученный методом Северо-Западного угла. Выберем его для первоначального плана метода потенциала.
-
Базы
Потребители
Запасы
B1
B2
B3
B4
A1
1
4
5
11
300
250
VV
50
V
0
0
A2
12
8
3
14
320
0
30
290
VV
0
A3
10
15
7
9
380
0
120
0
V
260
V
Потребности
250
200
290
260
1000
Рис. 3.5. Нахождение опорного плана ТЗ по методу двойного предпочтения
Составляем по занятым клеткам транспортной таблицы уравнения потенциалов
U1+V1=1
U1+V2=4
U2+V2=8
U2+V3=3
U3+V3=7
U3+V4=9.
Задаем U1=0 и разрешаем систему уравнений. Значения вычисленных потенциалов следующие:
V1=1
V2=4
U2 =4
V3=–1
U3 =8
V4=1.
Далее вычисляем косвенные тарифы в незанятых клетках как суммы соответствующих потенциалов:
c*13=U1+V3=0 – 1 =–1
c*14=U1+V4=0 + 1 = 1
c*21=U2+V1=4 + 1 = 5
c*24=U2+V4=4 + 1 = 5
c*31=U3+V1=8 + 1 = 9
c*32=U3+V2=8 + 4 =12.
Для определения оптимальности плана вычисляем разности между косвенным и прямым тарифами в незанятых клетках и определяем их знаки.
c*13 – c13 = – 1 –5 = –6
c*14 – c14 =1 – 11 = –10
c*21 – c21= 5 – 12 = –7
c*24 – c24= 5 – 14 = –9
c*31 – c31= 9 –10 = –1
c*32 – c32=12 – 15 = –3.
Все разности отрицательны, следовательно, этот план оптимален.
-
Базы
Потребители
Запасы
B1
B2
В3
B4
A1
1
4
5
11
300
250
50
0
0
A2
12
8
3
14
320
0
150
170
0
A3
10
15
7
9
380
0
0
120
260
Потребности
250
200
290
260
1000
Рис. 3.6. Опорный план ТЗ, построенный по методу минимальной стоимости
Рассмотрим решение этой же задачи, взяв за первоначальный опорный план, полученный другими методами (по методам минимальной стоимости и двойного предпочтения мы получили один и тот же план, представленный на рис. 3.6).
Решение 2
Составляем по занятым клеткам транспортной таблицы уравнения потенциалов
U1+V1=1
U1+V2=4
U2+V2=8
U2+V3=3
U3+V2=15
U3+V4=9.
Задаем U1=0 и разрешаем систему уравнений
V1=1
V2=4
U2 =4
V3= –1
U3 =11
V4= –2.
Вычисляем косвенные тарифы в незанятых клетках
c*13=U1+V3=0 – 1 = –1
c*14=U1+V4=0 – 2 = –2
c*21=U2+V1=4 + 1 = 5
c*24=U2+V4=4 – 2 = 3
c*31=U3+V1=11 + 1 = 12
c*33=U3+V3=11 –1 =10.
Вычисляем разности между косвенным и прямым тарифами в незанятых клетках
c*13 – c13 = – 1 –5 = –6
c*14 – c14 = –2 – 11 = –12
c*21– c21= 5 – 12 = –7
c*24 – c24= 3 – 14 =–11
c*31 – c31= 12 –10 =2
c*33 – c33=10 – 7 = 3.
Разности c*31 – c31 и c*33 – c33 положительны, то есть план не оптимален. В c*31 – c31=2 меньше, чем c*33 – c33=3, значит клетка А3/В3 выбирается для загрузки, как клетка с максимальной положительной разностью между косвенным и прямым тарифами.
-
Базы
Потребители
Запасы
B1
B2
B3
B4
A1
1
4
5
11
300
250
50
A2
12
+
8
3
14
320
30
290
A3
10
15
7
9
380
120
+
260
Потребности
250
200
290
260
1000
Рис. 3.7. Нахождение цикла и перераспределение груза (первый план)
Помечаем эту клетку знаком + и находим цикл (отметим его в таблице) линиями. Проставим в вершинах цикла знаки – и +. В клетках, отмеченных знаком –, стоят перевозки 120 и 290. Выбираем из них наименьшую и перераспределяем этот груз по циклу, получая новый опорный план.
-
Базы
Потребители
Запасы
B1
B2
B3
B4
A1
1
4
5
11
300
250
50
A2
12
8
3
14
320
150
170
A3
10
15
7
9
380
120
260
Потребности
250
200
290
260
1000
Рис. 3.7. Оптимальный план ТЗ
Повторяем для него алгоритм, начиная с пункта 2.
Составляем по занятым клеткам транспортной таблицы уравнения потенциалов
U1+V1=1
U1+V2=4
U2+V2=8
U2+V3=3
U3+V3=7
U3+V4=9.
Задаем U1=0 и разрешаем систему уравнений. Получаем
V1=1
V2=4
U2 =4
V3= –1
U3 =8
V4=1.
Вычисляем косвенные тарифы в незанятых клетках
c*13=U1+V3=0 – 1 =-1
c*14=U1+V4=0 + 1 = 1
c*21=U2+V1=4 + 1 = 5
c*24=U2+V4=4 + 1 = 5
c*31=U3+V1=8 + 1 = 9
c*32=U3+V2=8 + 4 =12.
Вычисляем разности между косвенным и прямым тарифами в незанятых клетках
c*13 – c13 = – 1 –5 = –6
c*14 – c14 =1 – 11 = –10
c*21– c21= 5 – 12 = –7
c*24 – c24= 5 – 14 = –9
c*31 – c31= 9 –10 = –1
c*32 – c32=12 – 15 = –3.
Все разности отрицательны, следовательно, этот план оптимален.