- •Содержание
- •Предисловие
- •Глава 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.4. Переход к новому опорному плану (построение очередного опорного плана).
Для перехода к другому опорному плану (построения очередного опорного плана) поступают следующим образом:
1) Находят оценки ij=ui+vjcij для клеток (i, j), в которых условие (3.3) нарушается.
2) Выбирают клетку с максимальным из них (по Теореме 3.2.6 это обеспечивает максимальное уменьшение значения целевой функции).
3) Строят помеченный цикл из выбранной (пустой) клетки. Если клеток с максимальным ij>0 несколько, то выбирают ту, в которой стоимость перевозок наименьшая. Если и таких клеток несколько, то выбирают любую.
4) Из выбранной клетки осуществляют сдвиг по циклу.
Пример 6. В нашем примере:
1) Найдём оценки для клеток для клеток (i, j), в которых условие (8.3) нарушается (напоминаем, что u3+v1>c31 и u3+v2>c32, и условие (8.3) нарушается в клетках (3, 1) и (3, 2)): 31=u3+v1c31=3+12=2, 32=u3+v2c32=3+31=5.
2) Выбираем клетку с максимальным из ij>0: Это (3, 2): 32>31.
3) Из клетки (3, 2) строим помеченный цикл:
-
bj
ai
70
30
20
40
90
1
70
3
20
4
5
0
30
5
3
10
1
20
+
2
0
40
2
1
+
4
0
2
40
3
1
3
1
1
4) Осуществляем сдвиг по циклу: минимальное содержимое клеток со знаком «» оказалось равном 0, то есть этот 0 мы будем вычитать из клеток со знаком «» и прибавлять в клетки со знаком «+». Фактически опорный план не изменится, но изменится система заполненных клеток (что тоже влияет на ход решения задачи!):
-
bj
ai
70
30
20
40
90
1
70
3
20
4
5
30
5
3
10
1
20
2
40
2
1
0
4
2
40
Далее мы доведём решение задачи до конца:
2.1) Найдём потенциалы. Сначала присваиваем u1=0 и по заполненным клеткам первой строки определяем v1=c11u1=10=1 и v2=c12u1=30=3. Теперь по заполненным клеткам второго столбца (а они оказались заполненными все) определяем u2=c22v2=33=0 и u3=c32v2=13=2. Далее, по заполненной клетке второй строки определяем v3=c23u2=10=1. Наконец, по заполненной клетке третьей строки определяем v4=c34u3=2(2)=4. Найденные потенциалы записываем в клетках справа и снизу таблицы:
-
bj
ai
70
30
20
40
90
1
70
3
20
4
5
0
30
5
3
10
1
20
2
0
40
2
1
0
4
2
40
2
1
3
1
4
2.2) Проверяем условие оптимальности для пустых клеток:
u1+v3=0+1<4=c13, u1+v4=0+4<5=c14, u2+v1=0+1<5=c21,
u2+v4=0+4>2=c24, u3+v1=2+1<2=c31, u3+v3=2+1<4=c33,
и условие оптимальности нарушается в единственной клетке (2.4).
2.3) Строим помеченный цикл из клетки (2, 4):
-
bj
ai
70
30
20
40
90
1
70
3
20
4
5
0
30
5
3
1
0
1
20
2
+
0
40
2
1
0
+
4
2
40
2
1
3
1
4
2.4)
Имеем =
=
=10.
Эти 10 единиц вычитаем из клеток со знаком
«»
и прибавляем в клетки со знаком «+».
Получаем очередной опорный план:
-
bj
ai
70
30
20
40
90
1
70
3
20
4
5
30
5
3
1
20
2
10
40
2
1
10
4
2
50
3.1) Ищем потенциалы: u1=0, v1=c11u1=10=1 и v2=c12u1=30=3, u3=c32v2=13=2, v4=c34u3=2(2)=4, u2=c24v4=24=2, v3=c23u2=1(2)=3:
-
bj
ai
70
30
20
40
90
1
70
3
20
4
5
0
30
5
3
1
20
2
10
2
40
2
1
10
4
2
50
2
1
3
3
4
3.2) Проверяем условие оптимальности для пустых клеток:
u1+v3=0+1<4=c13, u1+v4=0+4<5=c14, u2+v1=2+1<5=c21,
u2+v2=2+3<3=c24, u3+v1=2+1<2=c31, u3+v3=2+3<4=c33.
Таким образом, условие оптимальности ui+vjcij выполнено, то есть данный план оптимален. Вычислим, во сколько обойдутся перевозки при данном плане: 701+203+202+102+101+502=320.
Ответ:
Матрица перевозок:
.
Стоимость перевозок Fmin=320
у.е.
