лекции. Лекции_МО_20. Лекции по методам оптимизации Тема Общая постановка задачи линейного программирования (2часа)
Скачать 254.78 Kb.
|
Если в выражении линейной функции через неосновные переменные от- сутствуют положительные коэффициенты при неосновных перемен- ных, то решение оптимально. Алгоритмвходавдопустимуюобласть Получение первоначального допустимого базисного решения яв- ляется важным моментом в решении задачи линейного программирова- ния и тем самым осуществляется вход в допустимую область. Как толь- ко находится первое базисное допустимое решение, дальше симплекс- ный метод не позволит выйти из допустимой области решений и по кратчайшему пути приводит к оптимальному решению. Общий алгоритм получения первоначального допустимого базового реше- ния: Если каждая дополнительная переменная входит в уравнение с тем же знаком, что и свободный член, стоящий в правой части уравнения, то дополнительные переменные можно взять в качестве основных на I шаге. При этом получится допустимое базисное решение. Если первое базисное решение получилось недопустимым, например, в качестве основных взяты дополнительные переменные, но хотя бы од- на из них входила в уравнение со знаком, противоположным знаку сво- бодного члена, то рассмотрим уравнение, содержащее отрицательный свободный член (любое, если их несколько), и переводим в основные ту неосновную переменную, которая входит в это уравнение с положи- тельным коэффициентом (любую, если их несколько). Такие шаги повторяются до тех пор, пока не достигается допустимое базисное решение. Если базисное решение недопустимое, а в уравнении, содержащем от- рицательный свободный член, отсутствует неосновная переменная с положительным коэффициентом, то в этом случае допустимое базис- ное решение получить невозможно, т.е. задача не имеет решения. 2-я задача. F 2x1 3x2 max 2x1 3x2 12 x x 7 1 2 2x1 x2 10 x 2 2 x1 0 Введем дополнительные переменные: 2x1 3x2 x3 12 x x x 7 1 2 2x x x 4 10 (7) 1 2 5 x2 x6 2 Возьмем в начале в качестве основных переменных дополнительные переменные, так как они удовлетворяют известному требованию. I-шаг. Основные переменные: x3 , x4 , x5 , x6 . Неосновные переменные: x1 , x2 . Выразим основные через неосновные: x3 12 2x1 3x2 x 4 7 x1 x2 (8) x 5 10 2x1 x2 x6 2 x2 x1 (0;0;12;7;10;2) значения. недопустимые т.к. имеются два отрицательных Для получения первоначального допустимого базисного решения, со- гласно вышеуказанному алгоритму, поступаем следующим образом: Выбираем любое уравнение, содержащее отрицательный свободный член, например, первое и в нем – любую неосновную переменную с положительным коэффициентом и переведем в основные: x1 или x2 , пусть возьмем x1 . Наиболее возможное значение 2 x min12 ; ; 10 ; 5 1 2 Это достигается в 3-м уравнении; оно же разрешающее и переменная x5 переходит в неосновные. II шаг. Основные переменные; x1 , x3 , x4 , x6 ; Неосновные; x2 , x5 . x 5 1 x 1 x 1 2 2 2 5 x 3 2 12 10 x x 5 3x2 2 2x2 x5 1 3 x 12 3 2 x2 2 x5 x2 12 2 x2 1 2 x5 x 1 6 2 2 x При этом не исчезли отрицательные свободные члены, т.е. базисное решение также недопустимое. Поэтому не следует переводить x1 в ос- новные. Отсюда следует, что в основные надо переводить x2 , тогда наибольшее возможное значение x2 : x min12 ; 7;10; 2 2. 2 3 Это достигается в четвертом уравнении, оно и разрешающее, поэтому x6 переходит в неосновные. II шаг. Основные переменные: x2 , x3 , x4 , x5 . Неосновные переменные: x1 , x6 . Выражаем новые основные переменные через новые неосновные: x2 x 2 x6 6 2x 3x 3 1 6 x 4 5 x1 x6 x5 8 2x1 x6 x2 (0;2;6;5;8;0) - недопустимое базисное решение с одной отрицатель- ной компонентой. Возьмем 2-е уравнение с отрицательным свободным членом и переведем в основные одну из неосновных переменных, x1 или x6, входящих в уравнение с положительным коэффициентом. Получим из уравнения их наибольшее возможное значение: x2 min;3;;4 3 достигается во 2-м уравнении. x6 min ;2;5;8 2 достигается также во 2-м уравнении, т.е. в обоих случаях второе урав- нение разрешающее. В данной ситуации можно выбрать любую из x6 , чтобы перевести в основные. x1 и Переведем x6 в основные, то x3 переходит в неосновные. III-шаг. Основные: x2 , x4 , x5 , x6 . Неосновные: x1, x3 . 3 3 x 2 2 x 1 x 6 1 3 x 4 2 x 1 x 2 x 3 3 1 3 3 5 x 1 x 4 3 1 3 3 4 1 x5 6 3 x1 3 x3 x3 (0; 4;0;3;6; 2) - допустимое базисное решение. Минимизациялинейнойфункции При определении минимума функции Z возможны два способа: Отыскать максимум функции F, полагая F=-Z и учитывая, что = -F max ; Модифицировать симплексный метод: На каждом шаге уменьшать мини- мальную функцию за счет той неосновной переменной, которая входит в вы- ражение минимальной функции с отрицательным коэффициентом. Пример. Z= 18y1 +16y 2 +5y 3 +21y 4 min при y1 2 y2 3y4 2 3y1 y2 y3 3, yi 0, i 1,2,3,4 Введем дополнительные неотрицательные переменные y 5 ,y 6 со знаком ми- нус, так как в ограничениях неравенства имеют вид «≥»: y1 2 y2 3y4 y5 2 3y1 y2 y3 y6 3 . Основные y,y; неосновные y ,y ,y ,y 5 6 1 2 3 4 y5 2 y1 2 y2 3y4 y 6 3 3y1 y2 y3 Y=(0;0;0;0;-2;-3) – недопустимое базисное решение. 0 В данной ситуации, в начале, в качестве основных, удобно взять перемен- ные y 3 и y 4 (согласно первому ,коэффициенты при y 3 и y 4 положительны). шаг. Основные y 3 ,y 4 ; неосновные y1 ,y 2 ,y 5 ,y 6 . y3 3 3y1 y2 y6 y 2 1 y 2 y 1 y 4 3 3 1 3 2 3 5 2 Получим Y1 (0;0;3; ;0;0) 3 . Выразим функцию Z через неосновные переменные: Z 18y 16 y 5(3 3y y y) 21( 2 1 y 2 y 1 y) 1 2 1 2 6 3 3 1 3 2 3 5 18y1 16 y2 15 15y1 5y2 5 y6 14 7 y1 14 y2 29 4 y1 3y2 7 y5 5y6 Z1 Z(Y1) 29 не является минимальным, так как значение Z можно уменьшить за счет перевода в основные y1 или y2 , имеющих в выражении для Z отрицательные коэффициенты. Возьмем коэффициентом и переведем ее в основные. y1 с наибольшим по модулю Для нее определим наибольшее возможное значение : y3 3 3y1 0 y1 1 y 2 1 y 0 4 3 3 1 y1 2 y1 min1; 2 1соответствует 1-му уравнению, оно и является разреша- ющим, y3 - переходит в неосновные . Изменение целевой функции: 1 4 1 4 шаг. Основные y1, y4 , неосновные y2, y3, y5, y6 . y 1 1 y 1 y 1 y 1 3 2 3 3 3 6 1 5 1 1 1 y 3 ( 3 9 ) y2 9 y3 3 y5 9 y6 Y2 1 (1;0;0; ;0;0) 3 -допустимое и Z 25 5 y 3 2 4 y 3 3 7 y5 11 y 3 6 Z2 25; Z2 Z1 25 29 4 можно уменьшить за счет перевода в основные переменную y2 ,то наибольшее возможное значение x2 : 2 y 3 y min3; 3 3 соответствует 2-му уравнению, оно раз- y 1 9 3 2 5 5 2 3 5 5 решающее, y4 -переходит в неосновные. Изменение целевой функции: 2 3 (5) 5 3 1; шаг. Основные y1 ; y2 ; неосновные y3, y4, y5, y6 y 1 9 1 9 y 9 y 1 9 y 1 9 y 3 5 9 5 5 2 3 4 3 5 5 9 5 6 3 1 y 9 y 3 y 1 y 3 4 5 6 5 5 5 5 2 y 4 2 y 3 y 1 y 2 y 1 5 5 3 5 4 5 5 5 6 Y 4 3 3 ( 5 ; ;0;0;0;0) 5 Выражаем целевую функцию через неосновные переменные: Z y3 3y4 6y5 4y4 Так как, в полученном выражении отсутствуют переменные с отрица- тельным коэффициентом, это решение является оптимальным. Y3 ( 4 ; 5 3 ;0;0;0;0) 5 оптимальное решение, min Z0 Z(3 ) 24; Критерийоптимальностиприминимизациилинейнойфункции: Если в выражении линейной функции через неосновные переменныеотсутствуют отрицательные коэффициенты при неосновных переменных,то решениеоптимально. Замечание.На каждом шаге симплексного метода какая-либо неоснов- ная переменная переводится в основные, при этом каждое уравнение системы ограничений определяет конечное или бесконечное наиболь- шее возможное значение этой переменной - оценочное отношение. При этом могут встречаться различные случаи оценки роста неосновной переменной, которые зависят от знаков и значений свободного члена и коэффициента при переводимой переменной. Рассмотрим все возмож- ные случаи. Введем обозначения: xi-переводимая неосновная переменная; bj-свободный член; aij-коэффициент при xi. В общем виде уравнение имеет вид: xj bj ... aijxi ... ( xj-основная переменная) Наибольшее возможное значение вилам: xiопределяется по следующим пра- x если b и a разного знака и a≠0 , b≠0; i j ij ij j xj=∞, если bj и aij одного знака и aij≠0, bj≠0; xj 0 , если bj=0 и aij<0; xi=∞, если xi=∞, если bj=0 и aij=0. aij> 0; Особыеслучаисимплексногометода. Неединственностьоптимальногорешения. Пример . При ограничениях: F 3x1 3x2 max x1 x2 8 2x x 1 1 2 x 2x 2, x, 0, x 0 1 2 2 На очередном шаге получаем: Основные переменные: x1 , x2 , x5 ; Неосновные переменные: x3 , x4 . Выражение основных переменных через неосновные имеет вид: 3 3 x 5 2 x 1 x 1 3 4 x 2 3 1 x 3 3 1 x 3 4 x5 9 x3 x4 x1 (5;3;0;0;9)- допустимое базисное решение. Линейная функция F=24- x3. В этом выражении отсутствует неосновные переменные с положи- тельным коэффициентом, критерий оптимальности выполнен, следовательно x1 оптимальное базисное решение, Fmax F( X1 ) 24. Однако в последнем выражении Fотсутствует неосновная переменная x4 или формально входит с нулевым коэффициентом, поэтому изменение этой переменной не приведет к изменению значения функции F. Например, можно перевести в основные переменную x4 : x4 =min {15;∞;9}=9; При этом переменная xsпереходит в неосновные, но изменение линейной функции F не произойдет: ∆F=9*0=0; Действительно на следующем шаге получим новое базисное решение x2 =(6;2;0;9;0). Учитывая, что переменная x3 =0 (неосновная), а переменная x4 удовлетворяет неравенству 0≤ x4 ≤9, из системы уравнений можно получить все множество оптимальных решений задачи. Для удобства введем обозначение ных решений: x4 =t, t[0;9], тогда множество оптималь- x 3 1 t, 1 3 x 5 1 t, 2 3 x3 0, x4 t, x5 9 t, t[0;9]. Замечание.Множество оптимальных решений можно представить как вы- пуклую линейную комбинацию Xбазисных решений, например: X1 (3;5;0;0;9) и X2 (6;2;0;9;0), т.е. X X1 (1 ) X2 , где 0≤ ≤1 Появлениевырожденногобазисногорешения. Иногда при решении симплексным методом (СМ) можно получить вырож- денное базисное решение (нулевое значение основной переменной). В этом случае в следующем шагу симплексного метода значение F не улуч- шится. Наличие таких «пустых» шагов может привести и так называемому «зацикливанию». В связи с этим можно сделать вывод: Если на каком-либо шаге наибольшее возможное значение переменной до- стигается в нескольких уравнениях одновременно, то разрешающим является любое из них. На следующем шаге получаем вырожденное базисное реше- ние, переход к очередному базисному решению может не изменить функцию цели (∆F=0). Отсутствиеконечногооптимума. При отсутствии конечного оптимума получим Fmin =-∞ при минимизации. Fmax =∞ при максимизации и Примечание. Если на каком-либо шаге получаем, что во всех уравнениях си- стемы ограничений бесконечны оценочные отношения той переменной, ко- торая переводится в основные, то задача не имеет конечного оптимума. Вывод.Если система ограничений непротиворечива, то выполнение конеч- ного числа шагов симплексного метода либо приводит к получению опти- мального решения, либо к установлению того факта, что целевая функция не имеет конечного оптимума. Вопросы для контроляЧто такое разрешающее уравнение? Как находится переменная, которую следует перевести в основные? Как находится переменная, которую следует перевести в неосновные? Расскажите критерий оптимальности при максимизации линейной функции? Как находится первоначальное допустимое базисное решение? Расскажите алгоритм симплексного метода при максимизации линей- ной функции. Расскажите критерий оптимальности максимизации линейной функ- ции. Как выразить целевую функцию через очередные неосновные пере- менные? Как следует поступить, если первоначальное базисное решение окажет- ся недопустимым? Чем отличается симплексный метод при минимизации функции от максимизации функции? Расскажите критерий оптимальности при минимизации линейной функции симплексным методом. Когда оптимальное решение задачи ЛП не является оптимальным? 13.В какой ситуации не улучшится значение целевой линейной функ- ции? В какой ситуации отсутствует конечный оптимум? |