Автор работы: Пользователь скрыл имя, 06 Декабря 2010 в 22:29, Не определен
Контрольная работа
Запишем
задачу в канонической
форме (в виде системы
уравнений, что требует
симплекс-метод), для
этого введем две
переменные х3
≥ 0 и х4
≥ 0 получим:
Система
ограничений предлагает
только одну допустимую
базисную переменную
x4,
только она входит только
в одно уравнение в третье
с коэффициентом 1, поэтому
в первое и второе уравнения
добавляем искусственные
переменные R1
≥ 0 и R2
≥ 0 Чтобы можно было
применить симплекс-метод
система уравнений-ограничений
должна быть системой
с базисом, т.е. в каждом
уравнении должна быть
переменная с коэффициентом 1,
которая входит только
в одно уравнение системы,
в нашем случае это R1,
R2 и
x4.
Получили, так называемую,
М-задачу:
Данная система является системой с базисом, в которой R1, R2 и x4 базисные переменные, а x1, x2 и x3 свободные переменные, свободные члены всех уравнений неотрицательны. Следовательно, для решения задачи можно применить симплекс-метод. Запишем начальную симплекс-таблицу:
Базис | Переменные | Решение | |||||
R2 | |||||||
F(x) | -4 | -16 | 0 | 0 | 0 | 0 | 0 |
R1 | 3 | 4 | -1 | 0 | 1 | 0 | 6 |
R2 | 1 | 3 | 0 | 0 | 0 | 1 | 3 |
X4 | 2 | 1 | 0 | 1 | 0 | 0 | 4 |
-4 | -7 | 1 | 0 | -1 | -1 | - |
Таблица 1.8
В
таблицу для задач
с искусственным
базисом добавлена
строка «Оценка». Она
получается суммированием
соответствующих коэффициентов
строк с искусственными
переменными (R) с обратным
знаком. Она будет присутствовать
в таблице до тех пор,
пока хотя бы одна из
искусственных переменных
есть в базисе. По наибольшему
по модулю отрицательному
коэффициенту строки "
Оценка " определяется
разрешающий столбец
пока она есть в таблице.
Когда строка "Оценка"
выйдет из таблицы (в
базисе нет искусственных
переменных) разрешающий
столбец будет определяться
по f(x)-строке, как и в
задаче с начальным
базисом. В данной таблице
разрешающий столбец
х2,
он выбран по наибольшей
по модулю отрицательной
оценке (-7). Разрешающая
строка R2
выбрана по наименьшему
отношению столбца "Решение"
к соответствующим положительным
элементам разрешающего
столбца, как и в задаче
без искусственных переменных.
Это значит, что на следующей
итерации симплекс-метода
переменная х2
из свободной перейдет
в базисную, а переменная R2
из базисной – в свободную.
Запишем следующую симплекс-таблицу:
Базис | Переменные | Решение | |||||
R2 | |||||||
F(x) | 4/3 | 0 | 0 | 0 | 0 | 16/30 | 16 |
R1 | 5/3 | 0 | -1 | 0 | 1 | -4/3 | 2 |
х2 | 1/3 | 1 | 0 | 0 | 0 | 1/3 | 1 |
X4 | 5/3 | 0 | 0 | 1 | 0 | -1/3 | 3 |
-5/3 | 0 | 1 | 0 | -1 | 4/3 | - |
Таблица
1.9
Разрешающий
столбец х1, разрешающая строка
R1, R1 выходит из базиса, x1
входит в базис. После этого в базисе не
остается искусственных переменных, поэтому
строки «Оценка» в следующей таблице нет:
Базис | Переменные | Решение | |||||
R2 | |||||||
F(x) | 0 | 0 | 4/5 | 0 | -4/5 | 32/5 | 72/5 |
х1 | 1 | 0 | -3/5 | 0 | 3/5 | -4/5 | 6/5 |
х2 | 0 | 1 | 1/5 | 0 | -1/5 | 3/5 | 3/5 |
х4 | 0 | 0 | 1 | 1 | -1 | 1 | 1 |
Таблица
2.0
Далее
разрешающий столбец выбирается
поf(x)-строке. В f(x)-строке все коэффициенты
неотрицательны кроме коэффициента при
искусственной переменной R1, который
не влияет на оптимальность, когда искусственные
переменные вышли из базиса. Следовательно,
симплекс-методом получено оптимальное
решение x1 = 6/5; x2 = 3/5; f()max
= 72/5.
Одним из модификаций симплекс-метода является улучшенный симплекс-метод.
В литературе этот метод встречается также под названием метода обратной матрицы или модифицированного симплекс-метода.
При
решении задач линейного
В улучшенном симплекс-методе реализуется та же основная идея, что и в обычном симплекс-методе, но здесь на каждой итерации пересчитывается не вся матрица A-1, обратная матрице ограничений A, а лишь та часть, которая относится к текущему базису Ax.
Рассмотрим поэтапно шаги решения задачи линейного программирования улучшенным симплекс-методом:
1.В
начале первого цикла нам
2.Образуем
для каждой небазисной
Dj = cj — p=
cj — pPj
,
Где p
- двойственные переменные, которые можно
найти следующим образом:
p = cx * ,
Где cx - вектор коэффициентов целевой функции при базисных переменных.
3.Предполагая,
что используется стандартное
правило выбора вводимого
DD .
4.Если Ds ³ 0 - процедура останавливается. Текущее базисное решение является оптимальным.
5.Если Ds £
0, вычисляем преобразованный столбец:
= Ps
6.Пусть
= (, , ..., ) .
Если все £ 0 - процедура останавливается: оптимум неограничен.
7.В
противном случае находим
³ = q .
8.Строим
увеличенную матрицу:
и
трансформируем ее с ведущим элементом
. Первые m столбцов результат дают матрицу,
обратную новому базису. Преобразуем базисное
решение:
xb i Ü xb i — q * , i ¹ r,
xb
r Ü q
и переходим к этапу 2.
Этот вариант называют также модифицированным симплекс-методом, поскольку он уменьшает объем вычислений на каждом шаге. Идея заключается в том, что на каждом шаге конаническую форму задачи для текущего базиса можно получить независимо от других таких форм непосредственно из исходной записи стандартной задачи ЛП. Для этого нужно: (1) сохранять исходную запись задачи на протяжении всей работы метода, это та цена, которую приходится платить за больше быстродействие;
(2) использовать так называемые симплекс – множители π – коэффициенты для непосредственного перехода от исходной записи задачи к ее текущей канонической форме базиса; и (3) использовать обращенный базис В־¹ - матрицу размера m x m, позволяющую вычислять на каждом шаге ведущий столбец a΄s и обновлять симплекс – множители π.
Улучшенный симплекс-метод, обладает значительными преимуществами по сравнению со стандартной формой. Это относится к точности, скорости и требованиям к памяти. Большая часть этих преимуществ определяется тем фактором, что, как правило, матрицы больших линейных задач (то есть с n>m>100) являются слабозаполненными, содержат малый процент ненулевых элементов.
Обычной является плотность 5% или менее. Улучшенная форма симплекс-метода в большей степени способна использовать преимущества, вытекающие из этого факта. В этой форме характеристические разности и ведущий вектор вычисляются непосредственно по исходным данным. Поскольку исходная матрица слабозаполнена, а перемножение следует производить только тогда, когда оба сомножителя отличны от нуля, то время вычислений значительно сокращается.
В
дополнение к этому использование
только исходных данных приводит к
тому, что уменьшается возможность
накопления ошибок округления. Наоборот,
стандартные симплексные