ФЭА / АИТ / Алгоритм симплекс-метода Задача №11.
(автор - student, добавлено - 19-06-2014, 09:55)
СКАЧАТЬ:
Алгоритм симплекс- метода В задачах линейного программирования критерий оптимальности определяется, как y = ∑ Cjxj называемый линейной формой. Решение основной задачи линейного программирования геометрическим методом является наглядным в случае двух и даже трех переменных. Для случая большего числа переменных геометрический метод становится невозможным. Для большего числа переменных применяется аналитический метод, который называется симплекс-методом или «методом последовательного улучшения плана». На любой процесс накладываются ограничения в виде равенств, неравенств или в смешанном виде. Систему ограничений можно записать следующим образом:
a11x1 + a12x2 + ... + a1nxn ≥b1 a21x1 + a22x2 + ... + a2nxn ≤ b2 (1) ... ... ... ... am1x1 + am2x2 + ... + amnxn = bm
Среди неотрицательных решений системы (1) необходимо найти такое, которое бы максимизировали или минимизировали линейную функцию следующего вида: l = c0 + c1x1 + c2x2 + ... + cnxn, где xj ≥ 0, j = 1...n, n- число аргументов.
Если ограничительные условия заданы неравенствами, то их нужно преобразовать в равенства путем введения новых неотрицательных переменных xn+1, так называемых балансовых (выравнивающих). Так, например, в неравенстве a21x1 + a22x2 + ... + a2nxn ≤ b2 достаточно добавить xn+1 >0, и получится равенство a21x1 + a22x2 + ... + a2nxn + xn+1 = b`2.
Алгоритм решения состоит из следующих этапов: 1. Необходимо убедиться в совместности системы линейных алгебраических уравнений. Для этого определяется ранг матрицы системы и ранг расширенной матрицы. В случае равенства двух рангов система имеет общее решение. Работа симплекс-метода начинается с выбора опорного решения, содержащего r базисных переменных и n-r свободных переменных. Число базисных переменных определяется по рангу. 2. Необходимо выразить базисные переменные x1,x2...xn через свободные. В результате система (1) может быть записана следующим образом:
x1 = a`1,r+1xr+1 + ... + a`1nxn + b`1 x1 = a`2,r+1xr+1 + ... + a`2nxn + b`2 (2) ... ... ... ... x1 = a`r,r+1xr+1 + ... + a`rnxn + b`r
где b`j ≥ 0, j = 1...n Систему (2) называют системой, приведенной к единому базису. Подставляя теперь в линейную форму l вместо базисных переменных их выражения через свободные из системы (2), получим l = g0 + gr+1xr+1 + ... + gnxn (3)
3. Принимая все свободные равными нулю, найдем значения базисных переменных: x1 = b`1, x2 = b`2,...,xr = b`r. Таким образом, первое решение системы (b`1, b`2 ,...,b`r ,0,...,0) является допустимым – оно называется базисным. Подставляя в линейную форму l значения базисных переменных, получим первое базисное значение линейной формы lB = g0. При поиске минимума из свободных переменных, входящих в целевую функцию, необходимо выбрать переменную с максимальным по модулю отрицательным коэффициентом. При переходе к новому опорному решению эту переменную целесообразно включить в число базисных и выбрать ее максимально возможной, чтобы сильнее уменьшить целевую функцию. Таким образом, далее меняем одну из свободных переменных с таким расчётом, чтобы значение lB уменьшалось, или, по крайней мере, не увеличивалось, если нами решается задача на нахождение min l, т.е. переходим к новому базису B` такому, что lB` < lB. Процесс продолжается итеративно до тех пор, пока все коэффициенты в уравнении (3) не станут положительными. Если ищется max l, то переход к новому базису B` осуществляется так, чтобы выполнялось неравенство: lB` > lB . Соответственно процесс продолжается до тех пор, пока все коэффициенты в уравнении (3) не станут отрицательными.
Задача №11. Найти максимальное значение критерия оптимальности, заданного в виде линейной формы: при следующих ограничениях:
В нашем случае на функцию наложены ограничения в виде неравенства, необходимо преобразовать в равенство путем добавления еще трех переменных - выравнивающие переменные. После этих преобразований ограничения примут вид:
Определим имеет ли система общее решение, для этого определим ранг расширенной и обычной системы:
Так как ранги равны, следовательно система совместна, так как ранг равен трем, то число базисных переменных также равно трем. Примем за базисные переменные , за свободные .
Найдем первое допустимое решение (0,0,0,3,4,2) в этом случае R=0, так как коэффициент в целевой функции для не отрицательный, то данное решение не является оптимальным. Определим до какого значения можно увеличить :
увеличиваем до трех, так как при этом переменные будут неотрицательны, но при этом =0, следовательно примем за базисную, а за свободную и переходим к новому решению:
Второе допустимое решение (0,0,3,0,1,5); . Видим, что значение целевой функции увеличилось, коэффициенты в целевой функции отрицательны, следовательно дальнейшее увеличение целевой функции невозможно. Таким образом являются оптимальными значениями обеспечивающие максимум целевой функции.
Похожие статьи:
|
|