ТОП 10:

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



Если в системе ограничений задачи присутствуют только уравнения, а свободные члены в системе ограничений задачи являются неотрицательными, то говорят, что задача имеет канонический вид. Любая смешанная система приводится к системе уравнений добавлением дополнительных неотрицательных переменных со знаком «+» в неравенства типа «≤» и со знаком «-» в неравенства типа «≥». Поэтому для приведения к каноническому виду задачи линейного программирования поступаем следующим образом:

1) Если в системе ограничений задачи имеется ограничение с отрицательной правой частью, то умножаем его на -1.

2) Добавляем в каждое неравенство дополнительные неотрицательные переменные: со знаком «+» в неравенства типа «≤» и со знаком «-» в неравенства типа «≥».

Применительно к нашей системе: сначала умножим второе неравенство системы ограничений на (-1) (добиваемся, чтобы правые части всех нетривиальных ограничений имели знак «+»). Получаем систему ограничений

Теперь добавляем во второе и третье неравенства системы дополнительные переменные x4 и x5:

Таким образом, получаем канонический вид исходной задачи:

-3x1+x2+2x3®max(min)

2. С помощью метода Жордана-Гаусса находим очередное опорное решение.

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

3. Из векторов условий A1, A2, …, An включаем в базис те, которые являются стандартными единичными (то есть те, у которых все координаты нулевые, кроме одной, которая равна 1; среди них обязательно окажутся те, которые соответствуют дополнительным переменным с положительным знаком). Соответствующие переменные будут включены в базис. Если число таких векторов условий равно m, то первоначальный опорный план построен: им является решение системы ограничений, полученное приравниванием свободных переменных к 0. В противном случае идём к пункту 2.

4. Допустим, переменная xk пока не вошла в базис. Тогда выбираем уравнение, в котором отношение (где aik>0) будет минимальным. Это (i-е) уравнение будет ведущим: разделив его на коэффициент aik при xk, добиваемся, чтобы коэффициент при xk стал равным 1, а из остальных уравнений xk исключаем (применяем метод Жордана-Гаусса). Процесс продолжаем до тех пор, пока базис не будет содержать m переменных.

Если во всех уравнениях коэффициент при xk будет неположительным (то есть aik£0), то xk нельзя включать в базис. Кроме того, если минимум чисел достигается в уравнении, в котором имеется базисная переменная xl, то при включении xk в базис переменная xl из базиса исключится. Поэтому для включения в базис очередной переменной xk (без исключения из базиса другой) необходимо в качестве базисной выбрать такую переменную, чтобы минимум чисел достигался в уравнении, не содержащем базисных переменных.

Применительно к нашей задаче прежде всего замечаем, что дополнительная переменная x4 входит только во второе уравнение. И она уже в базисе. Так как для x2 min =2 достигается в первом уравнении (при определении этого min второе уравнение не участвует, так как коэффициент при x2 в нём равен 0), то x2 включаем в базис, исключив его из третьего уравнения (для этого первое уравнение вычитаем из третьего):

Две базисные переменные из первого и второго уравнений выбраны. Осталось выбрать третью базисную переменную из третьего уравнения. Переменные x3 и x5 для этого не годятся, так как коэффициенты при них отрицательны. Остаётся только x1. Для того, чтобы её ввести в базис необходимо, чтобы минимум отношений свободных членов к положительным коэффициентам достигался в третьем уравнении. Так оно и есть: min =2 достигается в третьем уравнении. Поэтому третье уравнение делим на 2, затем прибавляем его к первому и вычитаем из второго:

(*)

Таким образом, при x3=0, x5=0 имеем x1=2, x2=4, x4=2 и X1=(2; 4; 0; 2; 0) - первоначальный опорный план.

3. Проверим на оптимальность очередное опорное решение. Если оно оптимальное, то задача решена. В противном случае перейдём к пункту 2.

Проверка опорного плана на оптимальность проводится по следующей схеме:

3. Находятся оценки Dk=CбAk-ck= -ck для всех k=0, 1, …, n. При этом D0 - это значение целевой функции при данном опорном плане, и Dk=0 для всех базисных переменных xk (то есть последние вычислять необязательно, а достаточно сразу положить Dk=0).

4. Если условие оптимальности опорного плана выполнено (Dk³0 для всех k=1, …, n при поиске максимума, Dk£0 для всех k=1, …, n при поиске минимума), то задача решена. В противном случае переходят к другому опорному плану.

Данные вычислений принято вносить в так называемые симплекс таблицы вида

Базис Сб Своб. члены c1 c2 cn q1 q2 qn
A1 A2 An
b1 a11 a12 a1n      
b2 a21 a22 a2n      
bm am1 am2 amn      
Dk D1 D1 D2 Dn -q1D1 -q2D2 -qnDn

 

В нашем примере мы можем заполнить эту таблицу с учётом (*):

Базис Сб Своб. члены -3 q1 q2 q3 q4 q5
x1 x2 x3 x4 x5  
x2 3/2 -1/2            
x4 3/2
1/2

 

           
x1 -3 -1/2 -1/2            
Dk                        

Итак, для проверки оптимальности опорного плана вычисляем Dk=CбAk-ck для k - индексов свободных переменных, заполняя соответствующие клетки таблицы:

 

Базис Сб Своб. члены -3 q1 q2 q3 q4 q5
x1 x2 x3 x4 x5  
x2 3/2 -1/2            
x4 3/2
1/2

 

           
x1 -3 -1/2 -1/2            
Dk -2            

Приведём сами вычисления: имеем

D3=CбA3-c3=(1, 0, -3)× -2=1× +0× +(-3)× -2=1,

то есть D3=1≥0. В частности, в X1 минимум не достигается.

D5=CбA5-c5=(1, 0, -3)× -0=1× +0× +(-3)× =1,

то есть D5=1≥0. Так как Dk≥0 для всех k=1, 2, 3, 4, 5, то в X1 достигается максимум целевой функции, который равен D0=CX=-3×2+4+2×0=-2. Минимум в этой точке не достигается. Значит, необходимо перейти к другому опорному плану.

Переход к другому опорному плану проводится по следующей схеме:

3. Для всех Dk, для которых нарушается условие оптимальности задачи, вычисляются qk= , а по ним - величины -qkDk.

4. Выбирается xk такой, что |-qkDk| является максимальным. Эту xk и вводим в базис, выводя из него xi, в которой достигается минимальное qk, по методу Жордана-Гаусса.

В нашем примере для D3 и D5, для которых нарушается условие оптимальности, вычислим q3 и q5, а по ним - величины -q3D3 и -q5D5:

q3= = = = (достигается при x4),

-q3D3=- ×1=- ,

q5= = =4, (достигается снова при x4, то есть в любом случае x4 будем выводить из базиса),

-q5D5=-4×1=-4.

Наша таблица окончательно принимает вид

Базис Сб Своб. члены -3 q1 q2 q3 q4 q5
x1 x2 x3 x4 x5  
x2 3/2 -1/2 - - 8/3 - -  
x4 3/2
1/2

 

- - 4/3 -  
x1 -3 -1/2 -1/2 - - - - -  
Dk -2 - - -4/3 - -4  

Так как |-q5D5|=|-4|>|- |=|-q3D3|, то в базис будем вводить x5 вместо x4. Для этого вторую строку (второе уравнение) прибавляем к первой и третьей (первому и третьему уравнениям), и умножаем его на 2:

Базис Сб Своб. члены -3
x1 x2 x3 x4 x5
x2
x5
x1 -3
Dk            
                 

Получили новый опорный план X2=(4; 6; 0; 0; 4). Находим для неё оценки Dk для всех k=1, 2, 3, 4, 5:

Базис Сб Своб. члены -3
x1 x2 x3 x4 x5
x2
x5
x1 -3
Dk -6 -2 -2
                 

 

Таким образом, D3=-2<0, D4=-2<0, то есть Dk≤0 для всех k=1, 2, 3, 4, 5. Значит, X2 - оптимальное решение задачи с точки зрения минимизации. В нём CX=-3×4+6+2×0=-6.

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

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

Алгоритм метода - следующий:

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

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

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

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

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

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

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

Применяем к нашей задаче описанный алгоритм:

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

-3x1+x2+2x3 ® max(min)

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

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

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

-3x1+x2+2x3-Mx6-Mx7 ® max

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

Базис Сб Своб. чл. -3 -M -M q2 q3    
x1 x2 x3 x4 x5 x6 x7    
x6 -M -1 min
x4 -    
x7 -M -1    
-1 -2    
-8 -2 -3    

 

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

 

Базис Сб Своб. чл. -3 -M -M q1    
x1 x2 x3 x4 x5 x6 x7    
x2 -1   -  
x4      
x7 -M -1 -1   min
       
-4 -2        

 

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

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


 

Базис Сб Своб. чл. -3
x1 x2 x3 x4 x5
x2 3/2 -1/2
x4 3/2 1/2
x7 -3 -1/2 -1/2
Dk -2

 

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

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

-3x1+x2+2x3-Mx6-Mx7 ® max

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

Базис Сб Своб. чл. -3 M M q2 q3    
x1 x2 x3 x4 x5 x6 x7    
x6 M -1 min
x4 -    
x7 M -1    
-1 -2    
-1    

 

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

Базис Сб Своб. чл. -3 -M -M q1    
x1 x2 x3 x4 x5 x6 x7    
x2 -1   -  
x4      
x7 -M -1 -1   min
       
-1 -1        

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

Базис Сб Своб. чл. -3 q3 q5
x1 x2 x3 x4 x5
x2 3/2 -1/2 8/3 -
x4 3/2 1/2 4/3
x7 -3 -1/2 -1/2 - -
Dk -2 -4/3 -4

 

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

Базис Сб Своб. чл. -3
x1 x2 x3 x4 x5
x2
x4
x7 -3
Dk -6 -2 -2

 

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

2) Несимметричная пара двойственных задач удовлетворяет следующим условиям:

1. Матрицы систем ограничений задач транспонированы по отношению к друг другу.

2. Каждому ограничению одной задачи соответствует переменная во второй задаче; при этом переменная, соответствующая ограничению-неравенству в одной задаче, удовлетворяет условию неотрицательности в другой, а переменная, соответствующая ограничению-равенству, может быть любого знака.

3. Коэффициенты при переменных в целевой функции одной задачи являются свободными членами соответствующих ограничений другой. При этом свободные члены целевых функций задач совпадают.

4. Целевые функции задач оптимизируются противоположным образом, то есть если одна из задач - на максимум, то вторая - на минимум, а если одна из задач на минимум, то вторая - на максимум.

5. Если целевая функция задачи максимизируется, то знаки неравенств в ограничениях задачи имеют вид «£», а если минимизируется, то имеют вид «³».

6. Во всех ограничениях задач свободные члены находятся в правой части, а члены с переменными - в левой.

Условия 1 - 6 называются условиями двойственности.

Применительно к нашей задаче сначала составим двойственную к задаче на max:

-3x1+x2+2x3 ® max

Согласно условию 5 для пары несимметричных двойственных задач, если целевая функция задачи максимизируется, то знаки неравенств в ограничениях задачи имеют вид «£». Поэтому умножаем второе и третье неравенства системы ограничений на -1:

-3x1+x2+2x3 ® max

Двойственная - следующая:

2y1+4y2-6y3 ® min

Покажем, что действительно получили двойственную задачу. Для этого покажем, что для пары

-3x1+x2+2x3 ® max 2y1+4y2-6y3 ® min

задач выполнены все условия двойственности.

1. Матрицы систем ограничений задач транспонированы по отношению к друг другу:

= .

2. В каждой задаче по три ограничения и три переменные, то есть каждому ограничению одной задачи соответствует переменная в другой задаче. При этом все вторая и третья переменные второй задачи соответствуют второму и третьему ограничениям-неравенствам первой, и поэтому удовлетворяют условиям неотрицательности. Наоборот, все переменные первой задачи удовлетворяют условиям неотрицательности, и поэтому все ограничения второй имеют тип неравенств.

3. Коэффициенты -3, 1, 2 при переменных в целевой функции первой задачи являются свободными членами соответствующих ограничений второй и, наоборот, коэффициенты 2, 4, -6 при переменных в целевой функции второй задачи являются свободными членами соответствующих ограничений первой. При этом свободные члены целевых функций задач совпадают (оба равны 0).

4. Целевые функции задач оптимизируются противоположным образом: исходная задача - на максимум, а вторая - на минимум.

5. Выдержаны требования к соответствию типа экстремума целевой функции к типам неравенств в ограничениях: если целевая функция задачи максимизируется, то знаки неравенств в ограничениях задачи имеют вид «£», а если минимизируется, то имеют вид «³».

Теперь составим двойственную к задаче на минимум (min):

-3x1+x2+2x3 ® min

Условие 5 для исходной задачи выдержано: если целевая функция задачи минимизируется, то знаки неравенств в ограничениях задачи имеют вид «³».

Двойственная - следующая:

2y1+4y2-6y3 ® max

Убеждаемся в этом точно так же, как и в предыдущем случае.

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

Теорема 1 (первая теорема двойственности). Значения целевых функций пары двойственных задач на их оптимальных планах совпадают.

Теорема 2 (вторая теорема двойственности). Пусть X0=( , , …, ) и Y0=( , , …, ) - решения соответственно задач

c1x1+c2x2+…+cnxn® max b1y1+b2y2+…+bmym ® min

(1) и (2).

Тогда они связаны соотношениями

(3)







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

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