4. Задачи линейного программирования. Решение канонической задачи. Решение основной задачи (8 практических занятий с сайта кафеды 805)
Описание файла
Файл "4. Задачи линейного программирования. Решение канонической задачи. Решение основной задачи" внутри архива находится в папке "8 практических занятий с сайта кафеды 805". PDF-файл из архива "8 практических занятий с сайта кафеды 805", который расположен в категории "". Всё это находится в предмете "теория оптимизации и численные методы" из 4 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "теория оптимизации и численные методы" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
Занятие 4.ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ.А. СИМПЛЕКС-МЕТОД ДАНЦИГАА1. Решение канонической задачиПостановка задачиНайти максимум функцииnf ( x) c j x jj 1при ограниченияхna xj 1ijj bi , i 1, , m; m n ,x j 0 , j 1, , n .Задача называется канонической, а искомое решение x ( x1 ,..., x n )T – оптимальным.Будем считать, что в ограничениях все числа bi 0 , i 1, , m . Этого можно добиться,умножая ограничения, где bi 0 , на « 1 ».Алгоритм решения канонической задачиШаг 1. Найти начальное базисное решение.а) записать исходную каноническую задачу одним из двух способов: в форме, где для m переменных коэффициенты в уравнениях образуют единичную матрицу, используя преобразования Гаусса–Жордана; в расширенной форме с помощью перехода к M -задаче;б) выделить базисные переменные (их можно подчеркнуть), входящие тольков одно из уравнений системы с коэффициентами 1, а во все остальные с коэффициентами, равными нулю;в) выделить свободные переменные (все остальные, кроме базисных);г) найти начальное базисное решение, полагая свободные переменные равныминулю.Шаг 2.
Заполнить табл.1:а) столбец базисных переменных (БП);б) столбец базисного решения (БР);в) строку c j и столбец c iB коэффициентов функции. В столбец c iB записываютсякоэффициенты, соответствующие базисным переменным;г) совокупность коэффициентов a i j систем (над элементами поставлена черта дляунификации обозначений, так как система преобразуется одним из двух способов).190Шаг 3. Вычислить относительные оценкиm j c j c i B a ij c j z j ,i 1mz j c i B a ij ,j 1,..., m n ,i 1и записать их в таблицу. Заметим, что для базисных переменных оценки равны нулю.Этот факт можно использовать как для проверки правильности заполнения таблицы, таки для сокращения вычислений.Шаг 4.
Проанализировать относительные оценки:а) если все оценки j неположительны, т.е. j 0,j 1,..., m n ,то расчет закончен и следует найти полученное базисное решение. Значения базисных переменных содержатся в столбце БР, а остальные переменные полагаются равными нулю, как свободные.Проанализировать полученное базисное решение: если число нулевых оценок j 0 равно числу базисных переменных, задача имеет единственное решение.
Если число нулевых оценок j 0 превышает число базисных переменных, то задача имеет бесконечное множестворешений; если все j неположительны, но базисное решение содержит хотя бы однуискусственную переменную, не равную нулю, то ограничения задачи несовместны;б) если среди оценок есть положительные, то следует найти среди них максимальную: r max j ,jJHгде J H – множество индексов небазисных переменных, и проанализировать коэффициенты столбца таблицы, которому соответствует максимальная положительная оценка (если таких оценок несколько, принято выбирать оценку с наименьшим номером).
Если этот столбец содержит хотя бы один положительныйкоэффициент, то номер столбца обозначается через r и переменная, соответствующая ему, должна быть введена в число базисных. Если среди коэффициентов этого столбца нет ни одного положительного коэффициента, то это означает, что множество допустимых решений задачи не ограничено, функция f (x )не ограничена сверху и задача решения не имеет.Столбец, соответствующий выбранной оценке, помечается . Он называетсяразрешающим.Шаг 5. Поделить элементы столбца базисных решений (БР) на соответствующиеэлементы разрешающего столбца и среди полученных частных выбрать наименьшее.Строка, соответствующая выбранному отношению, помечается . Она называется разрешающей.191Таким образом, новая переменная x r вводится на место переменной x sB , удаляемой из числа базисных, номер которой s B , а также номер s соответствующей строкитаблицы, определяются из условия ximin B1 i m a ir xs B , a srгде x iB – значение координаты текущего базисного решения, соответствующей i -й строке; a ir – коэффициент при координате x r в i -й строке.
Если таких переменных окажетсябольше одной, то из базиса выводится та переменная, которая имеет больший номер. Заметим, что рассматриваются только неотрицательные отношения, т.е. если коэффициентa ir отрицателен или равен нулю, то отношение не подсчитывается и на его месте в приведенных далее таблицах ставится знак «--». Элемент a sr , расположенный на пересечении разрешающей строки и разрешающего столбца, называется разрешающим и выделяется в таблице прямоугольником.Удобно использовать следующее правило: из числа базисных выводится переменная, соответствующая разрешающей строке, а на ее место вводится переменная, соответствующая разрешающему столбцу.Шаг 6.
Вычислить новое базисное решение, осуществив пересчет таблицы:а) вместо координаты x sB в состав базисных ввести координату xr , значение которой находится по формулеxr xsBa sr,и пересчитать s-ю строку, в которой произошли изменения по базису:a sj, j 1, , m n .a sj a srТаким образом, каждый элемент строки, отмеченной , делится на разрешающий элемент a sr ;б) вычислить все остальные коэффициенты:a ij a ij a sj a ir a ij a sja sra ir , i 1, , m ; i s ; j 1, , m n .Новое базисное решение определить на основании текущего базисного решенияпо формуламx i B x i B a ir x r , i B : i B s B .Для упрощения вычислений по приведенным формулам используется «правилопрямоугольника».Пусть подсчитывается значение a ij . Следует соединить элемент a ij в предыдущей таблице с разрешающим элементом a sr . Получена одна из диагоналейпрямоугольника.
Вторую диагональ образует соединение элементов a ir и a sj .192Далее из текущего значения a ij вычитается произведение элементов a ir и a sj ,деленное на разрешающий элемент a sr (рис.1).ai j aij a sra sja ira ija sj ai ra srРис. 1Перейти к шагу 3.З а м е ч а н и я.1. Если в задаче в каждом уравнении имеется базисная переменная, то на шаге 1нет необходимости делать линейные преобразования или вводить искусственные переменные.2. Если решается задача поиска минимума, то стратегия симплекс-метода аналогична, только в базис вводится переменная, которой соответствует наименьшая отрицательная оценка r .
Процесс перехода заканчивается, когда найдено такое базисное решение, что все относительные оценки j , j 1, , m n , становятся неотрицательны-ми: j 0 , j 1, , m n .Пример 1. Найти максимум и минимум в задачеf ( x ) x1 2 x 2 x 3 x 4 extr, x1 x 2 x 3 2,x1 x 2 x 4 4,x j 0,j 1, ,4. Решается каноническая задача.
Переменные x 3 и x 4 являются базисными, таккак они входят только в одно уравнение, причем с коэффициентом +1.Сначала решим задачу графически:а) выразим базисные переменные через небазисные (свободные) и используем условие x j 0, j 1,... ,4 :x 3 2 x1 x 2 0, x 4 4 x1 x 2 0,x1 0, x 2 0;б) выразим целевую функцию через небазисные (свободные) переменные:f ( x ) x1 2 x 2 2 x1 x 2 4 x1 x 2 6 x1 4 x 2 ;в) решим полученную задачу линейного программированияf ( x ) 6 x1 4 x 2 extr ,2 x1 x 2 0,4 x1 x 2 0,x1 0,x 2 0.193Для этого построим соответствующее множество допустимых решений X . Затем найдемградиент: f (x ) (1; 4)T , проведем линию уровня функции перпендикулярно градиенту и будем передвигать ее параллельно самой себе до касания с множеством допустимыхрешений.x22 x1 x 2 04f (x ) 5C3f (x ) 2f2Bf (x ) 6X-2-1DA1324x14 x1 x 2 0Рис.
1Так как градиент направлен в сторону наискорейшего возрастания функции в данной точке, то в точке C (1, 3) T достигается максимум (рис. 1).Значения остальныхпеременных находятся из условий связи: x 3 2 1 3 0; x 4 4 1 3 0. В результате получаем ответ в исходной задаче x max (1, 3, 0, 0) T .Заметим, что минимум достигается в точке D (4, 0) T . При этомx 3 2 4 0 6; x 4 4 4 0 0.
В результате получаем точку минимума в исход (4, 0, 6, 0) T .ной задаче x minРешим поставленную каноническую задачу симплекс-методом.1. Найдем начальное базисное решение:а) нет необходимости вводить искусственные переменные, так как в каждом уравнении уже есть базисная переменная;б) подчеркнем базисные переменные x 3 и x 4 в уравнениях, описывающих ограничения;в) свободными переменными являются x1 и x 2 ;г) начальное базисное решение находится при приравнивании нулю свободных переменных: x1 x 2 0 .
Тогда x 3 2 , x 4 4 . Начальное базисное решениеx (0; 0; 2; 4)T . Ему соответствует точка А на рис. 1.2. Заполним табл. 1 согласно алгоритму с учетом результатов п.1.194c iBБПБР1x1–1–1x3x42411x21x31x41110012Таблица 1cjБРa irzjj31. Вычислим относительные оценки j , j 1, , 4 :1 1 [(1) (1) (1) 1] 1 ,z1 (1) (1) (1) 1 0 ; 2 2 [(1) 1 (1) 1] 4 ,z 2 (1) 1 (1) 1 2 ; 3 1 [(1) 1 (1) 0] 0 ,z 3 (1) 1 (1) 0 1 ; 4 1 [(1) 0 (1) 1] 0 ,z 4 (1) 0 (1) 1 1и занесем их в табл.