- •Введение
- •Лекция 1 Симплекс-метод
- •1.1 Общая постановка задачи линейного программирования
- •1.2 Некоторые свойства планов
- •1.3 Алгоритм симплекс-метода
- •Лекция 2 Двойственная задача. Двойственный симплекс-метод. Комбинированный метод решения злп
- •2.1 Постановка двойственной задачи
- •2.2 Основные теоремы о двойственности
- •2.3 Решение двойственных задач
- •2.4 Двойственный симплекс-метод
- •Лекция 3 Анализ чувствительности оптимального решения
- •3.1 Матричное представление симплекс-таблиц
- •Анализ чувствительности
- •3.2.1 Изменения, влияющие на допустимость решения
- •3.2.2 Изменения, влияющие на оптимальность решения
- •Лекция 4 Целочисленное линейное программирование
- •4.1 Метод ветвей и границ
- •4.2 Метод отсекающих плоскостей
- •Лекция 5 Методы решения транспортной задачи
- •5.1 Решение транспортной задачи
- •5.1.1 Постановка транспортной задачи
- •6.1.2 Интерпретация метода потенциалов как симплекс-метода
- •5.1.3 Определение начального решения
- •5.1.4 Метод потенциалов
- •5.2 Задача о назначениях
- •Лекция 6 Введение в нейронные сети
- •6.1 История нейронных сетей
- •6.2 Актуальность нейронных сетей
- •6.3 Свойства нейронных сетей
- •6.4 Классификация нейронных сетей
- •6.5 Представление знаний в нейронных сетях
- •Лекция 7 Биологическая и математическая модель нейрона. Персептрон
- •7.1 Модель нейрона
- •7.2 Функции активации в нейронных сетях
- •1 Единичный скачок или жесткая пороговая функция
- •2 Линейная пороговая функция
- •3 Сигмоидальная функция или сигмоид
- •4 Радиально-базисная функция
- •7.3 Обучение нейронной сети
- •7.4 Персептрон
- •Лекция 8 Алгоритм обратного распространения ошибки
- •8.1 Многослойные нейронные сети. Структура
- •8.2 Вывод основных формул алгоритма обратного распространения ошибки
- •Лекция 9 Рекуррентный метод наименьших квадратов
- •9.1 Применение рекуррентного метода наименьших квадратов для обучения нейронных сетей (rls)
- •Библиографический список
- •Заключение
- •Приложение а
5.1.4 Метод потенциалов
После определения начального решения с помощью одного из методов, описанных выше, применяется алгоритм, позволяющий найти оптимальное решение транспортной задачи.
На основе симплексного условия оптимальности среди текущего множества небазисных переменных определяется вводимая в базис переменная, которая улучшит значение целевой функции. Если условие оптимальности выполняется для всех небазисных переменных, вычисления заканчиваются, в противном случае необходимо перейти ко второму шагу.
С помощью симплексного условия допустимости определяется исключаемая из базиса переменная. Происходит изменение базиса и возврат к первому шагу.
При изменении базиса в данном случае не используются вычисления, выполняемые при реализации симплекс-метода, - специальная структура транспортной таблицы позволяет значительно упростить вычисления.
Решим транспортную задачу из примера 5.1, используя начальное решение, полученное методом северо-западного угла (таблица 5.2).
В методе потенциалов каждой i-й строке и каждому j-му столбцу транспортной таблицы ставятся в соответствие числа (потенциалы или двойственные переменные) ui и vj. Для каждой базисной переменной xij потенциалы ui и vj удовлетворяют уравнению ui + vj=cij.
В рассматриваемом примере имеем 7 переменных (потенциалов) и 6 уравнений, соответствующих шести базисным переменным. Чтобы найти значения потенциалов из этой системы уравнений, нужно присвоить одному из них произвольное значение (обычно полагают u1=0) и затем последовательно вычислять значения остальных потенциалов.
Поскольку для базисных клеток верны равенства u1+v1=с11=10 и u1+v2=с12=2, то находим, что v1=10 и v2=2. Далее последовательно находим значения для u2 из равенства u2+v2=с22=7. Оно будет равно u2=5. Далее легко находим потенциалы v3, v4 из равенств u2+v3=с23=9 и u2+v4=с24=20. То есть v3=4 и v4=15. И последний потенциал u3 находим из условия, что u3+v4=с24=18. Он равен u3=3.
Теперь вычислим выражения ui + vj - cij для всех небазисных переменных.
-
Небазисные переменные
Значения ui + vj - cij
х13
u1+v3-c13=0+4-20=-16
х14
u1+v4-c14=0+15-11=4
x21
u2+v1-c21=5+10-12=3
x31
u3+v1-c31=3+10-4=9
x32
u3+v2-c32=3+2-14=-9
x33
u3+v3-c33=3+4-16=-9
Вычисленные значения совместно с нулевыми значениями для базисных переменных (поскольку ui + vj - cij=0 для любой базисной переменной хij) фактически являются коэффициентами z-строки симплекс-таблицы.
|
базис |
x11 |
x12 |
x13 |
x14 |
x21 |
x22 |
x23 |
x24 |
x31 |
x32 |
x33 |
x34 |
|
|
z |
0 |
0 |
-16 |
4 |
3 |
0 |
0 |
0 |
9 |
-9 |
-9 |
0 |
|
Поскольку в транспортной задаче ведется поиск минимума стоимости перевозок, то вводимой в базис будет переменная, имеющая наибольший положительный коэффициент в z-строке. В данном случае вводимой будет переменная х31.
Описанные вычисления обычно выполняются непосредственно в транспортной таблице, как показано в таблице 5.4. Для потенциалов в таблицу добавляем еще один столбец справа и строку снизу. В этом случае нет необходимости в явном виде выписывать уравнения потенциалов. Вычисления в транспортной таблице начинаются с присвоения потенциалу u1=0. Затем находим v-потенциалы в первой строке. Потом, используя v2, находим u2 и так далее находим все потенциалы. После этого вычисляем для всех небазисных переменных величины ui + vj - cij и записываем их в правом нижнем углу соответствующей ячейки транспортной таблицы.
Определив вводимую в базис переменную x31, далее следует определить исключаемую переменную. Для этого строим цикл (маршрут перевозок, начинающийся и заканчивающийся во вводимой переменной). Цикл состоит из последовательности горизонтальных и вертикальных отрезков (но не диагональных), соединяющих ячейки, соответствующие текущим базисным переменным, и ячейку, соответствующую вводимой переменной. При этом все ячейки, в которых делается поворот, меняют значения. В нечетных вершинах цикла увеличиваем на перевозки, а в нечетных уменьшаем на . Значение выбирается так, чтобы одна базисная переменная стала равной нулю там, где отнимается и в ячейке, вводимой в базис, значение увеличится на , т.е. она станет базисной.
Таблица 5.4
-
мельницы
1
2
3
4
предло-
элеваторы
жение
1
-



10
+


2
20
11
u1=0
5
10
-16
4
15
2
12
-


7
9
+


20
u1=5
3
5
15
5
25
3
+


4
14
16
-

18
u1=3
9
-9
-9
10
10
Спрос
5
15
15
15
50
v1=10
v2=2
v3=4
v4=15
Понятно, что надо выбрать как минимум всех стоимостей перевозок сij , находящихся на четных вершинах цикла. Тогда выполнятся два условия цикла (маршрута перевозок):
Должны выполняться ограничения на спрос и предложение.
Ни по какому отрезку маршрута не должны выполняться перевозки с отрицательными объемами грузов.
Подобный цикл представлен в таблице 5.4. Он начинается из ячейки (3,1) и там же заканчивается и перевозит по всем отрезкам цикла 5 единиц груза.
Таблица 5.5
-
мельницы
1
2
3
4
предло-
элеваторы
жение
1
10
-



2
20
+


11
u1=0
-9
15
-16
4
15
2
12
+


7
9
-

20
u1=5
-6
0
15
10
25
3
4
14
16
18
u1=3
5
-9
-9
5
10
Спрос
5
15
15
15
50
v1=1
v2=2
v3=4
v4=15
Цикл проходит через ячейки х31, х34, х24, х22, х12, х11 и х31. В каждой ячейке цикла изменяем значения на =min(x34, х22, х11)=5. В нечетных прибавляем 5 единиц, а в четных ячейках уменьшаем на 5 единиц. Получится таблица 5.5.
Новая суммарная стоимость перевозок равна
f=15*2+5*4+0*7+15*9+5*18+10*20=475.
В новой транспортной таблице 6.5, используя новые базисные переменные, находим новые потенциалы. Они все будут принимать прежние значения, кроме v1=1. Находим также в небазисных переменных разности ui + vj - cij и записываем в правом нижнем углу. Максимальное положительное значение находится в ячейке (1,4) (оно равно +4), следовательно, вводить будем переменную х14. Строим также цикл через ячейки х14, х12, х22 и х14, по которому перебросим 10 единиц груза. В результате получим транспортную таблицу 5.6.
Таблица 5.6
-
мельницы
1
2
3
4
предло-
элеваторы
жение
1
10
2
20
11
u1=0
-13
5
-16
10
15
2
12
7
9
20
u1=5
-10
10
15
-4
25
3
4
14
16
18
u1=7
5
-5
-5
5
10
Спрос
5
15
15
15
50
v1=-3
v2=2
v3=4
v4=11
Новая суммарная стоимость перевозок равна
f=5*2+5*4+10*7+15*9+10*11+5*18=435.
Найдем для нового базисного решения потенциалы ui и vj. Теперь новые значения величин ui + vj - cij для всех небазисных переменных хij отрицательные. Поэтому решение, представленное в таблице 5.6, оптимально.
На этом вычисления заканчиваются, и выписывается решение транспортной задачи:
|
От элеватора |
До мельницы |
Количество зерновозов |
|
1 |
2 |
5 |
|
1 |
4 |
10 |
|
2 |
2 |
10 |
|
2 |
3 |
15 |
|
3 |
1 |
5 |
|
3 |
4 |
5 |
Минимальная стоимость перевозок равна 435 тысяч рублей.
