Содержание
| Вид материала | Документы |
Содержание2.7. Метод искусственного базиса Первая итерация Вторая итерация Третья итерация |
- Содержание дисциплины наименование тем, их содержание, объем в часах лекционных занятий, 200.99kb.
- Содержание рабочей программы Содержание обучения по профессиональному модулю (ПМ) Наименование, 139.63kb.
- Заключительный отчет июль 2010 содержание содержание 1 список аббревиатур 3 введение, 6029.85kb.
- 5. Содержание родительского правоотношения Содержание правоотношения, 110.97kb.
- Содержание введение, 1420.36kb.
- Сборник статей Содержание, 1251.1kb.
- Сборник статей Содержание, 1248.25kb.
- Анонсы ведущих периодических изданий содержание выпуска, 806.18kb.
- Вопросы к экзамену по дисциплине «Коммерческая деятельность», 28.08kb.
- Конспект лекций содержание содержание 3 налог на прибыль организаций 5 Плательщики, 795.2kb.
2.7. Метод искусственного базиса
Последняя трудность, которую осталось преодолеть это определение исходного опорного плана и исходной симплекс-таблицы, с которой начинаются все итерации.
За счет чего мы так легко составили исходную симплекс-таблицу в предыдущем примере? Легко видеть, что это произошло потому, что среди
| векторов ![]() | были векторы вида |
,так как искать координаты в этом базисе очень просто.
На искусственном введении этих векторов и основан метод искусственного базиса.
Итак, пусть мы имеем задачу линейного программирования в канонической форме

.| Можно считать, что все , | так как умножением соответствующего |
| ограничения на -1 у ![]() | всегда можно сменить знак. |
Возьмем ну очень большое число M и будем решать следующую вспомогательную задачу:


В этой задаче сразу ясен исходный базис в качестве него надо взять
| векторы, стоящие при , | ведь они имеют вид |

В качестве исходного опорного плана надо взять план


Коэффициенты разложения векторов
. Исходная симплекс-таблица приобретает тогда вид:
Надо лишь сосчитать дополнительную строку, где стоят числа
и
:
Заметим, что в матричных обозначениях исходная симплекс-таблица выглядит так:
,| где единичная матрица размерности ![]() | , а . |
А теперь начнем преобразования симплекс-таблицы, стараясь выводить из базиса векторы, соответствующие введенным дополнительным переменным. Так как M очень большое, то среди разностей
будет много положительных и будет много претендентов на введение в базис из| векторов . | |
Заметим, что если какой-то вектор, соответствующий какой-то дополнительной переменной
выведен из базиса, то соответствующий столбец симплекс-таблицы можно просто вычеркнуть и больше к нему не возвращаться.В конце концов возможны два варианта.
Вариант 1
Все векторы, соответствующие введенным дополнительным переменным, будут выведены из базиса. В этом случае мы просто вернемся к исходной задаче, попав в какую-то вершину допустимой области. Все столбцы симплекс-таблицы, соответствующие дополнительным переменным, тогда исчезнут и дальше будет решаться исходная задача.
Вариант 2
Несмотря на то, что M очень велико, получающийся оптимальный план будет все-таки содержать какую-то из дополнительных перем енных. Это означает, что допустимая область исходной задачи пуста, то есть ограничения исходной задачи противоречивы и поэтому исходная задача вообще не имеет решений.
Заметим в заключение, что величина M вообще не конкретизируется и так и остается в виде буквы M. При решении учебных задач в дополнительную строку пишут алгебраические выражения, содержащие M, а при счете на ЭВМ вводится еще одна дополнительная строка, куда пишутся коэффициенты при M.
Проиллюстрируем это примером.
Пример
Решить задачу линейного программирования


Заметим, что у нас уже есть один подходящий вектор это вектор
при переменной
. Поэтому вводим лишь две дополнительные переменные
, заменяя исходную задачу следующей:

Исходная симплекс-таблица примет тогда вид:
| | Ба- | с | План | -1 | -2 | -3 | 1 | М | М |
| | зис | | | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| | ![]() | M | 15 | 1 | 2 | 3 | 0 | 1 | 0 |
![]() | ![]() | M | 20 | 2 | 1 | 5 | 0 | 0 | 1 |
| | ![]() | 1 | 10 | 1 | 2 | 1 | 1 | 0 | 0 |
| | | | 10+ 35M | 2+ 3M | 4+ 3M | 4+ 8M | 0 | 0 | 0 |
| | | | | | | ![]() | | | |
Дальнейшие итерации приводятся без особых пояснений.
Первая итерация
Так как из базиса выводится вектор
, то в получающейся симплекс-таблице соответствующий столбец сразу удаляется.| | Ба- | с | План | -1 | -2 | -3 | 1 | М |
| | зис | | | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | M | 3 | ![]() | ![]() | 0 | 0 | 1 |
| | ![]() | -3 | 4 | ![]() | ![]() | 1 | 0 | 0 |
| | ![]() | 1 | 6 | ![]() | ![]() | 0 | 1 | 0 |
| | | | -6+ 3M | 2/5- -1/5M | 16/5+ +1/5M | 0 | 0 | 0 |
| | | | | | ![]() | | | |
Вторая итерация
На этой итерации из базиса выводится вектор
. Соответственно из симплекс-таблицы удаляется столбец, соответствующий этому вектору, и все введенные дополнительные переменные исчезают. | | Ба- | с | План | -1 | -2 | -3 | 1 |
| | зис | | | ![]() | ![]() | ![]() | ![]() |
| | ![]() | -2 | ![]() | ![]() | 1 | 0 | 0 |
| | ![]() | -3 | ![]() | ![]() | 0 | 1 | 0 |
| | ![]() | 1 | ![]() | ![]() | 0 | 0 | 1 |
![]() | | | ![]() | ![]() | 0 | 0 | 0 |
| | | | | ![]() | | | |
Третья итерация
Мы вернулись к исходной задаче и продолжаем решать ее по стандартной схеме.
| Ба- | с | План | -1 | -2 | -3 | 1 |
| зис | | | ![]() | ![]() | ![]() | ![]() |
![]() | -2 | ![]() | 0 | 1 | 0 | ![]() |
![]() | -3 | ![]() | 0 | 0 | 1 | ![]() |
![]() | -1 | ![]() | 0 | 1 | 0 | ![]() |
| | | -15 | 0 | 0 | 0 | -1 |
Таким образом, задача решилась и оптимальный план имеет вид:
.Минимальное значение целевой функции равно 15.
Отметим в заключение, что если первоначальная задача линейного программирования имела ограничения вида
и все компоненты вектора
неотрицательны, то, приводя её к канонической форме, мы сразу будем иметь единичную матрицу порядка m которую и можно брать в качестве исходного базиса
, 
,
единичная матрица размерности 
.
.




















