Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Суть метода искусственного базиса

Поиск

В случаях, когда сразу не выделяются базисные переменные (а они сразу выделяются только после приведения к каноническому виду задачи, в которой имеются только неравенства типа «≤» при неотрицательных правых частях) можно применять так называемый метод искусственного базиса, который является по сути разновидностью симплекс-метода.

Пусть задача приведена к каноническому виду (1.6), в котором в некоторых уравнениях, скажем в i 1-м, i 2-м, …, is -м, явно не выделяются базисные переменные. Добавим в эти уравнения искусственные переменныеxm +1, xm +2, …, xm + s, а в целевую функцию - слагаемые ± Mxm +1, ± Mxm +2, …, ± Mxm + s, где M >>1 (M - достаточно большое положительное число) причём «±» - это «+», если решается задача на min, и «±» - это «-», если решается задача на max. Получается новая задача, которая называется дополнительной или вспомогательной.

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

c 1 x 1+ c 2 x 2+…+ cnxn + Mxn + m +1+ Mxn + m +2+…+ Mxn +2 m ®min

Аналогично, если задача (2.1) решается на max и придётся вводить искусственные переменные во все ограничения, то получаем следующую вспомогательную задачу:

c 1 x 1+ c 2 x 2+…+ cnxn - Mxn +1- Mxn +2-…- Mxn + m ®max

(5.1)

5.1.1. Если (, , …, , , …, ) оптимальное решение вспомогательной задачи, где , …, - значения искусственных переменных, , , …, - значения переменных в исходной задаче в канонической форме, то =…= =0 и (, , …, ) - оптимальное решение исходной задачи. При этом значения целевой функции исходной и вспомогательной задач совпадают.

Отсюда получаем, что для решения задачи линейного программирования, методом искусственного базиса достаточно:

1. Привести задачу к каноническому виду.

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

3. Решить вспомогательную задачу, и если (, , …, , , …, ) - оптимальное решение вспомогательной задачи, где x 1, x 2, …, xm - основные и дополнительные переменные (из задачи в каноническом виде), xm +1, xm +2, …, xm + s - искусственные переменные то (, , …, ) - решение задачи в каноническом виде. Оптимальное значение целевой функции вспомогательной задачи равно оптимальному значению исходной задачи.

При этом к вспомогательной задаче применяется обычный симплекс-метод с некоторыми своими особенностями:

1. Так как целевая функция вспомогательной задачи имеет слагаемые с коэффициентами ± M, то оценки D k имеют вид ± M, причём M - достаточно большое число. Поэтому при ≠0 знак D k фактически определяется знаком при . В связи с этим в симплекс-таблице на начальном этапе (пока в базис входят искусственные переменные) вместо одной строки D k записывают две строки и , и при применении критерия оптимальности ориентируются только на строку .

2. Искусственные переменные по мере их выведения из базиса исключаются из дальнейшего рассмотрения.

3. После того, как все искусственные переменные будут выведены из базиса, коэффициенты D k при M будут равны нулю, в таблице остаётся только строка =D k.

Пример. Решить пример из предыдущего параграфа методом искусственного базиса.

Решение. Напоминаем задачу:

-3 x 1+ x 2+2 x 3 ® max(min)

1. Приведём задачу к каноническому виду:

-3 x 1+ x 2+2 x 3 ® max(min)

2. В базис в виде единичного вектора входит только вектор при x 4, то есть переменная во втором уравнении. В первое и третье уравнения системы ограничений вводим искусственные переменные x 6 и x 7:

В целевую функцию они войдут с коэффициентами M или - M в зависимости от того, решается задача на min или на max.

Решим задачу на максимум. Тогда вспомогательная задача - следующая:

-3 x 1+ x 2+2 x 3- Mx 6- Mx 7 ® max

3. Решаем полученную вспомогательную задачу с применением симплекс-таблиц:

Базис С б Своб. чл. -3         - M - M q 2 q 3    
x 1 x 2 x 3 x 4 x 5 x 6 x 7    
x 6 - M   -1                 min
x 4                   -      
x 7 - M           -1            
    -1 -2                
-8   -2 -3                

Здесь D2=-2 M -1, D3=-3 M -2. Коэффициенты при M записаны в строке . Имеем, что D2<0 и D3<0, то есть для переменных x 2 и x 3 нарушается критерий оптимальности. Поэтому в базис будем вводить x 2 или x 3. Какую именно из этих переменных, и вместо какой из искусственных (вместо x 6 или вместо x 7), определяем с помощью столбцов q 2 и q 3. На пересечении столбца q 2 и строк и числа соответственно 2 и 4 означают, что в случае включения в базис x 2 значение функции возрастёт на - q 2D2=4 M +2, а в случае включения в базис x 3 значение функции возрастёт на - q 3D3=3 M +2<- q 2D2. Поэтому в базис включаем x 2 (что обеспечивает большее возрастание функции и в конечном итоге ускоряет процесс решения задачи). Так как min =2 достигается в строке x 6, то из базиса исключаем x 6. Строим новую симплекс-таблицу, в который уже столбец с искусственной переменной x 6 отсутствует (вычеркнут), так как искусственная переменная x 6 из дальнейшего процесса исключается. В новой таблице коэффициент при x 2 в первой строке (которая теперь соответствует новой базисной переменной x 2) равен 1, а во второй равен нулю. Поэтому первые две строки в новую таблицу переписываем из старой. Для того, чтобы в строке x 7 при x 2 получить 0, из строки x 7 в старой таблице вычитаем новую первую. Получаем следующую, очередную, таблицу:

Базис С б Своб. чл. -3         - M - M q 1    
x 1 x 2 x 3 x 4 x 5 x 6 x 7    
x 2     -1             -  
x 4                        
x 7 - M       -1   -1       min
                     
-4 -2                  

Так как D k <0 только для одного значения k =1, а именно, D1=-2 M +2<0 (напоминаем, что M - достаточно большое число, так что -2 M <2 и D1<0), то ищем только отношения q 1. Минимум этих отношений достигается в строке x 7: min =2. Поэтому искусственная переменная исключается из базиса, а вместо неё в базис включается x 1.

Искусственные переменные теперь исключены из базиса. Поэтому дальше работаем с обычной симплекс-таблицей, в которой новая третья строка (соответствующая переменной x 1) получается делением старой третьей строки на 2. Затем эту новую третью прибавляем к старой первой и вычитаем из старой второй. В результате в новой таблице в столбце x 1 появятся соответственно 0, 0 и 1:

Базис С б Своб. чл. -3        
x 1 x 2 x 3 x 4 x 5
x 2         3/2   -1/2
x 4         3/2   1/2
x 7 -3       -1/2   -1/2
D k -2          

В полученной таблице D k ³0 для всех k =1, 2, …, 5, то есть критерий оптимальности выполнен. Поэтому X 0=(2; 4; 0) является оптимальным решением, при котором значение целевой функции равно -2 (x 4 в окончательном ответе не учитывается, так как она является дополнительной переменной, и не входит в первоначальную задачу).

Решим задачу на минимум (min). Тогда вспомогательная задача - следующая:

-3 x 1+ x 2+2 x 3- Mx 6- Mx 7 ® max

Как и выше, решаем полученную вспомогательную задачу с применением симплекс-таблицы:

Базис С б Своб. чл. -3         M M q 2 q 3    
x 1 x 2 x 3 x 4 x 5 x 6 x 7    
x 6 M   -1                 min
x 4                   -      
x 7 M           -1            
    -1 -2                
          -1            

Критерий оптимальности нарушается для переменных x 2 и x 3: D2=2 M -1>0, D3=3 M -2>0. Так как - q 2D2=-4 M +2 по абсолютной величине превосходит - q 3D3=-3 M +2, то в базис включаем x 2. При этом min =2 достигается в строке x 6, и из базиса исключаем x 6. Переход к новой таблице аналогичен переходу при решении задачи на max:

Базис С б Своб. чл. -3         - M - M q 1    
x 1 x 2 x 3 x 4 x 5 x 6 x 7    
x 2     -1             -  
x 4                        
x 7 - M       -1   -1       min
                     
      -1   -1          

Теперь D1>0. Поэтому переход к новой таблице аналогичен соответствующему переходу при решении задачи на max: в базис вводится x 1 вместо x 7:

Базис С б Своб. чл. -3         q 3 q 5
x 1 x 2 x 3 x 4 x 5
x 2         3/2   -1/2 8/3 -
x 4         3/2   1/2 4/3  
x 7 -3       -1/2   -1/2 - -
D k -2           -4/3 -4

Имеем D3=1>0 и D5=1>0. Так как |- q 5D5|=|- q 3D3|, то вводим в базис x 5 (вместо x 4): сначала умножаем 2-ю строку на 2, а затем новую вторую строку, умноженную на ½, прибавляем к первой и третьей (фактически вторую старую прибавляем к первой и третьей):

Базис С б Своб. чл. -3        
x 1 x 2 x 3 x 4 x 5
x 2              
x 4              
x 7 -3            
D k -6     -2 -2  

В полученной таблице D k £0 для всех k =1, 2, …, 5, то есть критерий оптимальности выполнен. Поэтому X 0=(4; 6; 0) является оптимальным решением, при котором значение целевой функции равно -6.

Ответ: F min=-6, минимум достигается в точке X 2=(4; 6; 0);

F max=-2, максимум достигается в точке X 1=(2; 4; 0).

5.2. Упражнение. Решить соответствующие задачи линейного программирования из Упражнения 1.3 методом искусственного базиса.

 

 




Поделиться:


Последнее изменение этой страницы: 2016-04-08; просмотров: 524; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.211.135 (0.009 с.)