- •Введение
- •Лекция 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)
- •Библиографический список
- •Заключение
- •Приложение а
Лекция 3 Анализ чувствительности оптимального решения
3.1 Матричное представление симплекс-таблиц
В предыдущих разделах мы
доказали, что конечное оптимальное
решение задачи ЛП достигается в крайних
точках пространства решений. А все
крайние точки можно определить
алгебраически как базисные решения
системы линейных уравнений
Таким
образом, чтобы найти оптимальное решение
ЛП, достаточно рассматривать только
базисные решения указанной системы
уравнений.
При выполнении симплекс-метода мы начинали с допустимого базисного решения В, затем переходили к следующему допустимому базисному решению, которое улучшает (по крайней мере не ухудшает) значение целевой функции, и так до тех пор, пока не будет достигнуто оптимальное решение. Таким образом, допустимое базисное решение В – это тот принципиальный элемент в симплекс-методе, вокруг которого выполняются все вычисления в симплекс-таблице. С этой точки зрения очевидна необходимость представления симплекс-таблицы в матричной форме.
В канонической форме задача ЛП
разобьем
вектор Х
на два – ХI
и ХII,
таких что вектор ХII
соответствует начальному базису В,
т.е. является начальным допустимым
решением. Вектор С
также разобьем на два вектора СI
и СII
в соответствии с векторами ХI
и ХII.
Тогда стандартную задачу ЛП можно
записать следующим образом:

Для любой симплексной итерации будем обозначать через ХВ базисный вектор переменных, а через СВ – вектор коэффициентов целевой функции, соответствующих этому базису. Поскольку все небазисные переменные равны нулю, каноническая задача ЛП будет сведена к задаче с целевой функцией z=CBXB и ограничениями BXB=b, где текущее решение удовлетворяет следующему уравнению:

Симплекс таблица получается из исходной задачи ЛП путем вычислений по следующей формуле:

Выполнив вычисления по этой формуле, получаем симплекс-таблицу:
|
Базис |
ХI |
XII |
Решение |
|
z |
CBB-1A-CI |
CBB-1-CII |
CBB-1b |
|
XB |
B-1A |
B-1 |
B-1b |
В этой таблице предварительных вычислений требует только обратная матрица B-1, так как другие элементы таблицы CB, CI, CII, A и b получаются из исходных данных задачи.
Представленная симплекс-таблица имеет большое значение, так как является основой всех вычислительных алгоритмов линейного программирования.
В симплекс-методе решение переходит от одного базиса В к следующему Вслед путем замены в В базисного вектора (исключаемого) на небазисный (вводимый). Определение вводимых и исключаемых векторов основано на следующих условиях оптимальности и допустимости.
Условие оптимальности симплекс-метода
Из матричного представления симплекс-таблицы следует, что коэффициент при переменной xj в z-строке равен
![]()
где Pj-
j-й столбец матрицы
(А,I), cj
– j-й элемент вектора
С.
Отметим, что разность
всегда равна нулю для базисных переменных
xj
. Если обозначить через NB
множество индексов небазисных переменных,
тогда можно записать следующее уравнение
для целевой функции
![]()
Из этого уравнения следует,
увеличение значения небазисной переменной
хj
приводит к возрастанию (убыванию)
значения целевой функции z
выше текущего значения CBB-1b
только в том случае, если разность
строго
отрицательна (положительна). В противном
случае переменная хj
не может улучшить текущее решение и
должна остаться небазисной с нулевым
значением.
Условие допустимости симплекс-метода
Определение исключаемого из базиса вектора основано на проверке ограничения, представленного в виде равенства, соответствующего i-й базисной переменной. Это равенство имеет следующий вид:
![]()
Запись (V)i означает i-й элемент вектор-столбца V.
Обозначим через Pk
вводимый вектор, определенный из условия
оптимальности, а через хk
– вводимую в базис переменную, принимающую
положительное значение. Поскольку все
остальные небазисные переменные
сохраняют нулевые значения, равенство
ограничения, соответствующего базисной
переменной
,
можно записать следующим образом:
![]()
Это уравнение показывает,
что при
возрастание
переменной хk
не приведет к отрицательному значению
базисной переменной
только
в том случае, если будет выполняться
неравенство
![]()
Таким образом, максимальное значение вводимой переменной хk можно вычислить по следующей формуле:

Базисная переменная, на которой достигается этот минимум, становится исключаемой.
Пример 1.1 Проиллюстрируем матричное представление симплекс-метода.

Пусть B=(P1, P4, P5, P6) является допустимым базисом.
Покажем, что решение B не является оптимальным.
Найдем вводимый в базис и исключаемый из него векторы и Bслед.
На основании B=(P1, P4, P5, P6) имеем XB=(x1, s2, s3, s4) и СB=(5, 0, 0, 0). Вычисляем обратную матрицу B-1

Находим текущее базисное решение

откуда получаем z=CBXB=5*4+0*2+0*5+0*2=20.
Аналогично получим коэффициенты в ограничениях после первой итерации при х1 и х2

Для проверки оптимальности
базиса B=(P1,
P4,
P5,
P6)
вычислим разности
для
текущих небазисных переменных х2
и s1:
(z2-c2, z3-c3)=CBB-1[P2, P3]- (c2, c3)=

Легко видеть, что все коэффициенты совпадают с коэффициентами в задаче ЛП из примера 1.1 после первой итерации симплекс-метода.
|
Базис |
z |
x1 |
x2 |
s1 |
s2 |
s3 |
s4 |
Решение |
|
|
z |
1 |
0 |
-2/3 |
5/6 |
0 |
0 |
0 |
20 |
|
|
х1 |
0 |
1 |
2/3 |
1/6 |
0 |
0 |
0 |
4 |
|
|
s2 |
0 |
0 |
4/3 |
-1/6 |
1 |
0 |
0 |
2 |
|
|
s3 |
0 |
0 |
5/3 |
1/6 |
0 |
1 |
0 |
5 |
|
|
s4 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
2 |
|
Поскольку в данной задаче следует максимизировать целевую функцию, разность z2–c2=-2/3 показывает, что базис XB=(x1, s2, s3, s4) неоптимален и значение целевой функции можно увеличить, если ввести переменную x2.
Для того чтобы ввести в базис переменную х2, из него нужно исключить одну из четырех базисных переменных. Для определения исключаемой переменной вычисляем XB и B-1P2.
Значение вводимой переменной х2 равно
![]()
Таким образом, в базисе XB=(x1, s2, s3, s4) вектор P4 будет заменен наP2, что приводит к новому базису
.
Соответствующее новое значение целевой функции равно z=20-(-2/3)*3/2=21.
Можно пересчитать и вторую итерацию симплекс-метода с помощью матриц и убедиться, что все совпадет со второй итерацией симплекс-метода этого примера.
