Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ГОСы (Прикладная информатика в экономике...doc
Скачиваний:
31
Добавлен:
08.09.2019
Размер:
2.42 Mб
Скачать

Вопрос 38. Симплексный метод решения задач линейного программирования

Для канонической формы записи разработан об­щий алгоритм решения задач линейного программи­рования, называемый симплексным методом.

Практические расчеты при решении реальных за­дач симплексным методом выполняются в настоящее время с помощью компьютеров. Однако если расче­ты осуществляются без ЭВМ, то удобно использовать симплексные таблицы.

Для определенности считаем, что решается задача на максимум, то есть:

xj ≥ 0

j =

1) Приведем стандартный вид к каноническому. Для этого введем m штук (по количеству неравенств в системе ограничений) дополнительных неотрицательных переменных (хn+1; xn+m). Получим следующую систему:

Эта система называется расширенной.

2) Исходную расширенную систему заносим в пер­вую симплексную таблицу:

Базис

Сво­бод­ные члены

Переменные

О.О

x1

х2

xn

xn+1

xn+m

xn+1

b1

a11

a12

a1n

1

0

xn+2

b2

a21

а22

a2n

0

0

xn+m

bm

am1

am2

amn

0

1

F

0

1

-c2

-cn

0

0

Последняя строка называется оценочной строкой.

Далее таблица преобразуется по определенным правилам.

3) Проверяем выполнение критерия оптимальности.

Если в оценочной строке отсутствуют отрицатель­ные элементы, то найденное решение является опти­мальным (для задачи на max). Достигнут максимум (в левом нижнем углу таблицы). Базисные переменные принимают значения, записанные во втором столбце, остальные переменные равны нулю.

4) Если критерий оптимальности не выполнен, то наибольший по модулю отрицательный коэффициент сi<0 в оценочной строке определяет разрешающий столбец S.

Составляем оценочные отношения каждой строки по следующим правилам: делим построчно столбик bi на столбец S и получаем:

  • ∞, если bi и ais имеют разные знаки;

  • ∞, если bi=0 и ais<0;

  • ∞, если ais= 0;

  • 0, если ais> 0 и bi= 0;

  • , если bi и ais имеют одинаковые знаки.

Вместо ∞ в оценочных отношениях можно ставить просто прочерк (-).

Далее определяем минимум оценочных отношений (среди ненулевых). Если конечного минимума нет, то задача не имеет конечного оптимума (Fmax= ∞).

Если минимум конечен, то выбираем строку q, на которой он достигается (любую, если их несколько), и назовем ее разрешающей строкой.

На пересечении разрешающей строки и разрешаю­щего столбца находится разрешающий элемент аqs.

5) Переход к следующей таблице осуществляется по правилам:

а) в крайнем левом столбце записываем новый ба­зис: вместо переменной хq записываем переменную хs, а остальные переменные базиса остаются нетронутыми;

б) в столбцах, соответствующих базисным переменным, проставляем: 1 против «своей» базисной переменной, 0 против «другой» базисной переменной; 0 в оценочной строке для всех базисных переменных;

в) новую строку под номером q получаем из разрешающей строки делением всех ее элементов на разрешающий элемент аqs;

г) все остальные элементы таблицы aij вычисляем по правилу прямоугольника:

aij = aij aij∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ais

bi = bi aqj∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙aqs

6) Далее возвращаемся к пункту 3) этого алгоритма.