Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
turka.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.67 Mб
Скачать

Обобщенная и каноническая постановка задачи

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

Для канонической формы характерно следующее:

а) целевая функция минимизируется;

б) основные ограничения состоят из уравнений с неотрицательными правыми частями;

в) все неизвестные неотрицательны.

т.о. математическая запись задачи линейного программирования в канонической форме имеет вид:

, где

, где

Или в матричном виде:

Z = CX min

A X = B,

B  0,

X  0.

На практике очень часто возникает ситуация, когда постановка решаемой задачи существенно отличается от постановки канонической.

В этом случае существуют два пути решения:

а) разработать собственную программу, которая будет строго реализовывать поставленную вами задачу;

б) осуществить преобразование постановки задачи от обобщенной формы к канонической.

При переходе от обобщенной записи к канонической руководствуются рядом правил.

Разберем конкретный случай - пусть в результате постановки получена следующая математическая запись задачи:

U = x1 - 4x2  max

3x1 + 2x2 + x3  4

x1  10

x1 + x2 + x3  25

2x2 - x3 = 8

x1 0, x2 0, x3 0

Перевод к канонической записи:

U = -x1 + 4x2  min (умножаем на -1)

3x1 + 2x2 +x3- x4 = 4 (вводим новую неизвестную x4, которая

приводит к равенству);

x1 + x5 = 10 (вводим дополнительную неизвестную x5);

x1 + x2 + x3 + x6 = 25 (вводим дополнительную неизвестную x6);

2x2 - x3 = 8 (оставляем неизменным);

x1 0, x2 0, x3 0, x40, x50, x60.

Таким образом, при переходе от обобщенной к канонической форме пришлось ввести дополнительно к исходным переменным три новые переменные (балансовые переменные). Но не всякая каноническая запись является достаточной для применения симплекс-метода. Для применения стандартного симплекс-метода необходимо, чтобы система основных ограничений содержала единичный базис. Поэтому следующим шагом в преобразовании является приведение системы ограничений к единичному базису и исключение базисных неизвестных из целевой функции.

Единичный базис - это набор неизвестных, удовлетворяющих следующим условиям:

  1. от каждого уравнения в базис входит одна и только одна неизвестная;

  2. каждая неизвестная из этого набора входит с коэффициентом +1 в одно уравнение и отсутствует в остальных уравнениях.

Неизвестные, входящие в единичный базис, называются базисными, а остальные - свободными или небазисными.

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

Рассмотрим наш пример:

U = -x1 + 4x2  min

3x1 + 2x2 + x3 - x4 = 4

x1 + x5 = 10

x1 + x2 + x3 + x6 = 25

2x2 - x3 = 8

x1 0, x2 0, x3 0, x40, x50, x60.

Понятно, что в качестве элементов единичного базиса можно взять неизвестные x5 и x6. Кроме того, в уравнениях 1-м и 4-м вводим дополнительные переменные x7 и x8 (искусственные базисные переменные). Система ограничений принимает вид:

3x1 + 2x2 + x3 - x4 + x7 = 4

x1 + x5 = 10

x1 + x2 + x3 + x6 = 25

2x2 - x3 + x8 = 8

x1 0, x2 0, x3 0, x40, x50, x60, x70 , x80.

Новая система ограничений окажется равносильной первоначальной только в том случае, если все искусственные неизвестные в результате решения задачи будут равны нулю. С учетом этого искусственные неизвестные вводятся в целевую функцию с очень большим положительным коэффициентом M.

U = -x1 + 4x2 + M(x7+x8)  min

Так как для решения задачи базисные переменные должны быть выведены из целевой функции, выразим переменные x7 и x8 из соответствующих уравнений системы основных ограничений:

x7 = 4 - 3x1 - 2x2 - x3 + x4

x8= 8 - 2x2 + x3 .

В результате получаем новое представление целевой функции:

V = (-1 - 3M)x1 + (4 - 4M)x2 + Mx4 + 12M  min.

Полагая свободные неизвестные равными нулю, получаем исходное базисное решение:

x1=0, x2=0, x3=0, x4=0, x5=10, x6=25, x7=4, x8=8.

Таким образом, рассмотренная задача приведена к каноническому виду и определен базисный план.

Рассмотрим пример 2 , заданный в каноническом виде:

U=3x2 - 4x3 + 8  min

x1 + 2x2 + 6x3 = 12

x2 + 2x3 + x4 = 43

-x2 + x3 + x5 = 32

x1 ,..., x5  0

x1, x4, x5 - базисные; x2, x3- свободные.

Если x2=0, x3=0, имеем x1= 12, x4 =43, x5 = 32;

естественный план равен: x1 = 12, x2=0, x3=0, x4=43, x5 = 32.

Графическим методом решения задачи линейного программирования мы можем воспользоваться только в случае, когда количество свободных переменных равно двум (трем), но этот метод дает представление об общем случае существования решений задачи для произвольного n-мерного пространства.

Рассмотрим систему линейных неравенств с двумя неизвестными. Возможны следующие варианты: область допустимых решений системы линейных неравенств представляет собой ограниченное, неограниченное и пустое множество. Ясно, что в случае пустого множества допустимых решений задача не имеет решения, в случае неограниченного множества решений экстремум целевой функции также неограничен сверху.

Рассмотрим совместную систему линейных неравенств с ограниченным множеством допустимых решений. Пусть, кроме того задана линейная функция цели F = c1x1 + c2x2 . Найдем среди множества точек (x1; x2) из области решений системы линейных неравенств такие, которые придают заданной линейной функции наибольшее (наименьшее) значение. Для каждой точки плоскости функция F принимает некоторое фиксированное значение F = F1. Множество всех таких точек есть прямая c1x1 + c2x2= F1, перпендикулярная вектору C(c1; c2), выходящему из начала координат. Если эту прямую передвигать параллельно самой себе в положительном направлении вектора C, то линейная функция F = c1x1 + c2x2 будет возрастать, а в противоположном направлении - убывать.

Пусть при движении прямой F в положительном направлении вектора C она впервые встретится с прямоугольником решений в его вершине, тогда в этом положении прямая F становится опорной, и на этой прямой функция F принимает наименьшее значение. При дальнейшем движении в том же направлении прямая F пройдет через другую вершину многоугольника решений, выходя из области решений, и станет также опорной прямой, на ней функция F принимает наибольшее значение среди всех значений, принимаемых на многоугольнике решений.

Таким образом, минимизация и максимизация линейной функции F на многоугольнике решений достигаются в точках пересечения многоугольника допустимых решений с опорными прямыми, перпендикулярными вектору C(c1; c2). Опорная прямая может иметь с многоугольником решений либо одну общую точку (вершину многоугольника), либо множество точек (сторона многоугольника).

x2 F = F2

_

C

0 F = F1 x1

F = 0

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]