Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Найти максимальное значение функции:
F =Х1-Х2
При ограничениях:
-Х1+Х2<=2
Х1-3Х2 <=3
Х1+Х2 <=5
Х1>=0, Х2>=0
Решение
Преобразуем систему неравенств в систему уравнений, добавив в левую часть дополнительные переменные.
-Х1+Х2+ Х3 =2
Х1-3Х2 +Х3 =3
Х1+Х2 +Х5=5
Таблица 1. Таблица 2
-Х1 | -Х2 | С.ч. | -Х4 | -Х2 | С.ч | |||
Х3 | -1 | Х3 | -2 | |||||
Х4 | -3 | Х1 | -3 | |||||
Х5 | Х5 | -1 | ||||||
F | -1 | F | -2 |
Таблица 3. Таблица 4.
-Х4 | -Х5 | С.ч. | Разделим на 4 | -Х4 | -Х5 | С.ч | ||
Х3 | Х3 | 1/2 | 1/2 | |||||
Х1 | Х1 | 1/4 | 3/4 | 9/2 | ||||
Х2 | -1 | Х2 | -1/4 | 1/4 | 1/2 | |||
F | F | 1/2 | 1/2 |
Результат Х1=9/2, Х2=1/2, Х3=6, Х4= Х5=0
Максимальное значение F=4
Проверка:
Подставим значения переменных в исходный вид функции:
F =4,5-0,5=4
§4. Решение задачи ЛП двухфазным симплекс-методом
Двухфазный симплекс-метод (или. метод искусственного базиса) применяется в тех случаях, когда и задаче ЛП в канонической форме затруднительно определить н.д.б.р. с помощью эквивалентных преобразований (привести систему ограничений к диагональному виду).
Пример 7. Следующую задачу ЛП решить двухфазным симплекс-методом:
min f(x)=x1-x2+1 (13)
при ограничениях
(14)
x1, x2, x3≥0 (15)
Первая фаза (цель: при- помощи искусственного базиса и симплекс-метода определить базисные переменные из числа исходных переменных).
В систему (14) вводим искусственные переменные x3≥0, x5≥0, x6≥0 (предварительно умножив обе части второго неравенства на -1), новую целевую функцию как сумму всех искусственных переменных, а старую присоединяем к ограничениям:
min z(x) = x4 + x5 + x6 (16)
при ограничениях
(17)
Искусственные переменные x4, x5, x6 выбираем в качестве базисных, а все остальные x1, x2, x3 - небазисных. По правилу симплекс-метода исключаем базисные переменные из целевой функции (16) (при помощи уравнений системы (17), содержащих эти переменные):
z(x)= -2 x1 - 15 x2 - 5 x3 + 15
или, что все равно
z(x)+2x1+15 x2+5 x3=15 (19)
Начальное д.б.р.
x0=(x10, x20, x30, x40, x50, x60)=(0, 0, 0, 1, 3,11)
называется искусственным базисом. При помощи этого базиса, и выражений (19), (17) строим начальную симплекс-таблицу I-ой фазы.
x1 | x2 | x3 | x4 | x5 | x6 | ||
z | |||||||
f | -1 | ||||||
x4 | (1) | ||||||
x5 | -1 | -1 | |||||
x3 |
До конца I фазы роль нулевой строки играет строка для z, все остальное как в симплекс-методе (см. примеры 5,6). Следует только заметить, что строка для f не участвует в выборе ведущей строки.
Из (16) видно, что min z(x) = 0 и достигается при x4= x5 = x6=0, те, задача (16)-(18) будет решена, если все искусственные переменные будут вытеснены из базиса, а z=0. Это и будет означать конец первой фазы и переход ко второй фазе.
Обратите внимание, что в первой таблице ведущей может быть любая из последних трех строк (предвестник зацикливания). В таких случаях можно выбрать любой из них - выберем первую строку.
Так как искусственная переменная x4 выходит из базиса, то соответствующий столбик в дальнейшем можно исключить.
В результате соответствующих преобразований получим вторую симплекс-таблицу.
x1 | x2 | x3 | x4 | x5 | ||
z | -28 | -40 | ||||
f | -3 | -3 | ||||
x2 | ||||||
x5 | -7 | -10 | ||||
x6 | -21 | -30 |
Из таблицы следует, что min z достигнут, однако искусственные переменные x5 и x6 еще не выведены из базиса. В такой ситуации правила симплекс-метода "не работают" (т.к. ввиду отсутствия в нулевой строке положительных оценок нельзя выбрать ведущий столбик). Задача здесь одна - вывести оставшиеся искусственные переменные из базиса. Выведем сначала x5. Умножим все элементы этой строки на -1 (что допустимо, т.к. в нулевом столбике стоит 0). Введем в базис вместо x5 переменную x1. С этой целью строку для x5 поделим на 7 и с "ведущим элементом" 1 выполним элементарные преобразования (как в симплекс-методе). В результате получим таблицу:
x1 | x2 | x3 | x6 | ||
z | |||||
f | 9/7 | ||||
x2 | 1/7 | ||||
x1 | 10/7 | ||||
x6 |
Остается в базисе еще x6. Ее из числа базисных вывести нельзя, так как все элементы таблицы равны нулю, кроме 1 в столбике для x6. Это говорит о том, что в системе (14) третье уравнение было "лишним" и потому последнюю строку таблицы можно вычеркнуть. Действительно, третье уравнение в (14) является линейной комбинацией первых двух (оно получается вычитанием второго уравнения, умноженного на 3, из первого уравнения, умноженного на 2),
Вычеркивая столбик для x6 и строку для z приходим к таблице,
x1 | x2 | x3 | ||
f | 9/7 | |||
x2 | 1/7 | |||
x1 | 10/7 |
содержащей только элементы исходной задачи (13)-(15) и с базисными переменными изчисла исходных переменных.
Таким образом, задача I фазы выполнена.
Вторая фаза (цель: применяя обычный симплекс-метод к полученной в результате I фазы таблице, получить оптимальное решение исходной задачи).
Д.б.р. для последней таблицы есть
x0=(0, 1, 0)
Заметим, что это вырожденное д.б.р., так как в нем базисная переменная x1 - 0. То есть здесь мы можем получить зацикливание.
В качестве упражнения II фазу предлагается сделать самостоятельно.
Теперь можно привести алгоритм двухфазного симплекс-метода:
1) привести задачу ЛП к канонической форме;
2) ввести в ограничения искусственные переменные и составить новую целевую функцию z;
3) исключить из новой целевой функции все искусственные переменные;
4) используя искусственные переменные в качестве базисных, построить начальную симплекс-таблицу;
5) использовать симплекс-метод, исключая из таблиц столбики для искусственных переменных по мере их выхода из базиса до тех пор, пока min z=0 и все искусственные переменные не будут выведены из базиса;
6) вычеркнуть строчку для z и перейти ко второй фазе;
7) во второй фазе, к таблице, полученной в результате первой фазы, применить симплекс-метод до тех пор, пока не найдется оптимальное решение исходной задачи или не выявится его отсутствие.
П р и м е ч а н и я к двухфазному симплекс-методу
1. Если в результате первой фазы окажется, что min z > 0, то система ограничений исходной задачи (в канонической форме) несовместна. Во всех остальных случаях первая фаза разрешима.
2. Если min z= 0 и в таблице остались искусственные переменные, то, используя элементарные преобразования, эти переменные следует вывести из числа базисных, а вместо них ввести исходные переменные (см. пример 7).
3. Пусть каноническая форма задачи ЛП получена с помощью слабых переменных. Применение двухфазного симплекс-метода упростится, если искусственные переменные ввести только в те ограничения, ж которых слабая переменная либо отсутствует (исходное ограничение-равенство), либо не может войти в базис (введена в ограничение со знаком минус).
2.1.4 Задачи для закрепления полученных знаний
В задачах 1 и 2 найти оптимальные решения геометрическим и симплексным методами.
1) F(x)=x1+2x2àmax 2) F(x)=x1+2x2àmax
4x1+3x2 <=24 -3x1+4x2 <=12
-x1+x2 <=3 3x1+4x2 <=30
x1>=0, x2>=0 x1>=0, x2>=0
2.1.5. Двойственная задача
Определение:
Две задачи линейного программирования называются взаимно-двойственными, если они обладают следующими свойствами:
Отсюда вытекает правило составления задачи, двойственной к исходной.
Необходимо привести неравенства системы ограничений исходной задачи к одному виду. Для этого неравенства, у которых вид не соответствует типу задачи, необходимо умножить на (-1).Далее преобразовать исходную задачу, руководствуясь свойствами (1-6).
В общем виде модели симметричных двойственных задач имеют следующий вид:
Прямая или исходная | Двойственная |
f = max (I) | φ = min (II) |
Пусть нам дана задача линейной оптимизации в общем виде, тогда двойственная к ней примет вид:
Прямая или исходная | Двойственная |
f = max (II) | φ = min (II`) |
Свойство двойственности является взаимным, т.е. если к задачам (I`) и (II`) записать двойственные, то они совпадут с задачами (I) и (II) соответственно. Любую задачу внутри двойственной пары можно назвать прямой или исходной, тогда другая будет двойственной к ней.
Исходная задача. Найти максимум целевой функции:
F=C1X1+C2X2+...+CnXn (2.6)
При ограничениях:
A11X1+A12X2+...+A1nXn<=B1
A21X1+A22X2+...+A2nXn<=B2
... (2.7)
Am1X1+Am2X2+...+AmnXn<=Bm
XJ>= 0
J=1..n
Max(F)=?
Двойственная задача: Найти минимум целевой функции:
Z=B1Y1+B2Y2+...+BmYm (2.8)
A11Y1+A21Y2+...+Am1Yn>=C1
A12Y1+A22Y2+...+A2nYn>=C2
... (2.9)
A1nY1+A2nY2+...+AmnYm>=Cm
YJ>=0
J=1..m
Min(Z)=?
2.1.6Основные теоремы двойственности
Теорема 1.
Если задача линейного программирования имеет конечный оптимум, то двойственная к ней также имеет конечный оптимум, и оптимальные значения линейных форм обеих задач совпадают, т.е.
Fmax=Zmin или Fmin=Zmax
Дата публикования: 2015-03-26; Прочитано: 972 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!