- •Содержание
- •Предисловие
- •Глава I. Начала линейного программирования
- •§1. Задача линейного программирования. Типичные задачи линейного программирования, их математические модели.
- •1.1 . Задача линейного программирования
- •1.2. Типичные злп и их математические модели
- •1.3. Упражнения.
- •§2. Общая злп. Канонический вид злп.
- •2.2. Канонический вид злп
- •§3. Теоретические основы решения злп. Геометрическая интерпретация злп. Идея аналитического решения
- •3.1. Теоретические основы решения злп
- •3.2. Геометрическая интерпретация злп
- •3.4. Идея аналитического решения злп
- •3.5. Теоретические основы решения злп (продолжение)
- •§4. Симплекс-метод решения злп
- •4.1. Алгоритм симплекс-метода
- •4.2. Симплекс-таблицы.
- •§5. Метод искусственного базиса
- •5.1. Суть метода искусственного базиса
- •Глава II. Двойственность и целочисленность в линейном программировании. Транспортная задача.
- •§1. Теория двойственности
- •1.1. Задача, приводящая к паре двойственных задач
- •1.2. Пара симметричных двойственных задач
- •1.3. Пара несимметричных двойственных задач
- •1.4. Теоремы двойственности
- •1.5. Упражнения.
- •§2. Элементы целочисленного программирования
- •2.1. Постановка и геометрическая интерпретация
- •2.2. Метод Гомори
- •2.3. Упражнения.
- •§3. Транспортная задача
- •3.1. Постановка и математическая модель транспортной задачи
- •3.2. Теоретические основы решения транспортной задачи
- •3.3. Алгоритм метода потенциалов.
- •3.3.1. Основные пункты алгоритма:
- •3.3.2. Построение первоначального опорного плана.
- •3.3.4. Переход к новому опорному плану (построение очередного опорного плана).
- •3.3.5. Метод наименьших затрат построения первоначального опорного плана.
- •3.4. Сведение задачи открытого типа к задаче закрытого типа
- •3.5. Упражнения.
- •Задание лп-4
- •Задание лп-5
- •Задание лп-6
- •1. Приводим задачу к каноническому виду.
- •Задание лп-4
- •Задание лп-5
- •Задание лп-6
3.3.5. Метод наименьших затрат построения первоначального опорного плана.
Так же, как и с методом северо-западного угла, с методом наименьших затрат построения первоначального опорного плана познакомимся на конкретном примере задачи Таблицы 3.1. В отличие от метода северо-западного угла, в этом методе на очередном шаге из оставшихся клеток заполняется клетка с самыми дешёвыми перевозками. Но, как и в методе северо-западного угла, на каждом шаге, за исключением последнего, вычёркивается только один участник.
Наименьшая стоимость перевозок в клетках (1, 1), (2, 3) и (3, 2). Заполняем, по возможности, эти клетки, вписывая соответственно 70, 20 и 30, и вычёркивая соответственно первый, третий и второй столбцы:
-
bj
ai
70
30
20
40
90
1
70
3
4
5
30
5
3
1
20
2
40
2
1
30
4
2
Из оставшихся клеток наиболее дешёвыми являются клетки (2, 4), (3, 1) и (3, 4) со стоимостями c24=c31=c34=2. Клетка (3, 1) не может участвовать при заполнении плана, так как первый столбец вычеркнут. В клетку (2, 4) вписываем 10 (так как у второго поставщика осталось только 10 единиц груза), вычеркнув второго поставщика, и клетку (3, 4) вписываем 10 (так как у третьего поставщика также осталось 10 единиц груза, а четвёртому потребителю требуется ещё 30 единиц груза), вычеркнув третьего поставщика:
-
bj
ai
70
30
20
40
90
1
70
3
4
5
30
5
3
1
20
2
10
40
2
1
30
4
2
10
Невычеркнутыми, остались первая строка и последний столбец, что означает, что осталось заполнить только одну клетку (1, 4). Вписываем в неё 20:
-
bj
ai
70
30
20
40
90
1
70
3
4
5
20
30
5
3
1
20
2
10
40
2
1
30
4
2
10
3.3.6. В заключение пункта 3.3 резюмируем алгоритм метода потенциалов:
1) Построить первоначальный опорный план.
2) Проверить план на оптимальность. Для этого:
2.1) Вычислить потенциалы ui (i=1, 2, …, m) и vj (j=1, 2, …, n).
2.2) Проверить условие оптимальности ui+vj=cij (i=1, 2, …, m, j=1, 2, …, n). Если критерий оптимальности не выполнен, то перейти к пункту 3). В противном случае задача решена. Перейти к пункту 5).
3) Перейти к очередному опорному плану. Для этого:
3.1) Найти оценки ij=ui+vjcij для клеток (i, j) ui+vj>cij.
3.2) Выбрать клетку с максимальным ij>0.
3.3) Из выбранной клетки построить помеченный цикл.
3.4) Осуществить сдвиг по циклу.
4) Перейти к пункту 2).
5) Вычислить стоимость перевозок.
Пример 6. Решить транспортную задачу. Первоначальный опорный план построить методом наименьших затрат.
-
bj
ai
40
60
50
50
50
6
3
4
4
60
3
4
5
3
90
4
4
6
5
Решение. 1) Построим первоначальный опорный план (методом наименьших затрат). Самые дешёвые перевозки в клетках (1, 2), (2, 1) и (2, 4). Из них по полной «загрузим» первые две, после чего оставшиеся 20 единиц груза второго поставщика впишем в клетку (2, 4):
-
bj
ai
40
60
50
50
50
6
3
50
4
4
60
3
40
4
5
3
20
90
4
4
6
5
Из оставшихся клеток самыми дешёвыми являются перевозки со стоимостью 4. Из всех клеток с этой стоимостью не вычеркнутой является клетка (3, 2), куда вписываем 10 (второму ещё потребителю требуется 10 единиц груза):
-
bj
ai
40
60
50
50
50
6
3
50
4
4
60
3
40
4
5
3
20
90
4
4
10
6
5
Из оставшихся двух невычеркнутых клеток (3, 3) и (3, 4) сначала вписываем в клетку (3, 4) 20 (так как она дешевле клетки (3, 3), и четвёртому ещё требуется 30 единиц груза, а у третьего поставщика их 80 единиц), а затем остальные 50 вписываем в клетку (3, 3):
-
bj
ai
40
60
50
50
50
6
3
50
4
4
60
3
40
4
5
3
20
90
4
4
10
6
50
5
30
21) Проверим план на оптимальность. Для этого
2.11) Найдём потенциалы:
-
bj
ai
40
60
50
50
50
6
3
50
4
4
0
60
3
40
4
5
3
20
1
90
4
4
10
6
50
5
30
1
2
3
5
4
Присваиваем u1=0 и по заполненной клетке (1, 2) первой строки определяем v2=c12u1=30=3. По заполненной клетке (3, 2) второго столбца определяем u3=c32v2=43=1. Далее, по заполненным клеткам (3, 3) и (3, 4) третьей строки определяем v3=c33u3=61=5 и v4=c34u3=51=5. Теперь по заполненной клетке (2, 4) второй строки определяем u2=c24v4=43=1. Наконец, по заполненной клетке (2, 1) второй строки определяем v1=c21u2=31=2.
2.21) Проверяем условие оптимальности для пустых клеток:
u1+v1=0+2<6=c11, u1+v3=0+5>4=c13, u1+v4=0+4=4=c14,
u2+v2=1+3=4=c22, u2+v3=1+5>5=c23, u3+v1=1+2<4=c33,
и условие оптимальности нарушается в клетках (1, 3) и (2, 3): u1+v3>c13, u2+v3>c23.
3.11) Вычисляем оценки клеток, в которых нарушается условие оптимальности (13=u1+v3c13=0+54=1, 23=u2+v3c23=1+55=1).
3.21) Оценки оказались одинаковыми: выбираем клетку с наименее дешёвыми перевозками.
3.31) Строим помеченный цикл из выбранной клетки (1, 3):
-
bj
ai
40
60
50
50
50
6
3
5
0
4
+
4
0
60
3
40
4
5
3
20
1
90
4
4
10
+
6
50
5
30
1
2
3
5
4
3.41) Перемещаем по циклу 50 единиц груза. Получили очередной опорный план:
-
bj
ai
40
60
50
50
50
6
3
4
50
4
60
3
40
4
5
3
20
90
4
4
60
6
0
5
30
22) Проверим план на оптимальность. Для этого
2.12) Найдём потенциалы. Присваиваем u1=0 и по заполненной клетке (1, 3) первой строки определяем v3=c13u1=40=3. По заполненной клетке (3, 3) третьего столбца определяем u3=c33v3=64=2. Далее, по заполненным клеткам (3, 2) и (3, 4) третьей строки определяем v2=c32u3=42=2 и v4=c34u3=52=3. Теперь по заполненной клетке (2, 4) второй строки определяем u2=c24v4=33=0. Наконец, по заполненной клетке (2, 1) второй строки определяем v1=c21u2=30=3:
-
bj
ai
40
60
50
50
50
6
3
4
50
4
0
60
3
40
4
5
3
20
0
90
4
4
60
6
0
5
30
2
3
2
4
3
2.22 3.32) Проверяем условие оптимальности для пустых клеток:
u1+v1=0+3<6=c11, u1+v2=0+2<3=c13, u1+v4=0+3<4=c14,
u2+v2=0+2<4=c22, u2+v3=0+4<5=c23, u3+v1=2+3>4=c33,
и условие оптимальности нарушается в единственно клетке (3, 1), из которой строим помеченный цикл.
-
bj
ai
40
60
50
50
50
6
3
4
50
4
0
60
3
4
0
4
5
3
20
+
0
90
4
+
4
60
6
0
5
30
2
3
2
4
3
3.42) Осуществляем сдвиг по циклу:
-
bj
ai
40
60
50
50
50
6
3
4
50
4
60
3
10
4
5
3
50
+
90
4
30
4
60
6
0
5
23) Проверим план на оптимальность.
2.13) Найдём потенциалы:
-
bj
ai
40
60
50
50
50
6
3
4
50
4
0
60
3
10
4
5
3
50
1
90
4
30
4
60
6
0
5
2
2
2
4
2
2.23) Проверив условие оптимальности, убеждаемся, это условие выполнено, и задача решена.
5) Вычисляем стоимость перевозок:
504+103+503+304+604=740.
Ответ:
Матрица перевозок:
.
Стоимость перевозок Fmin=740
у.е.
