![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Главная Рефераты по сексологии Рефераты по информатике программированию Рефераты по биологии Рефераты по экономике Рефераты по москвоведению Рефераты по экологии Краткое содержание произведений Рефераты по физкультуре и спорту Топики по английскому языку Рефераты по математике Рефераты по музыке Остальные рефераты Рефераты по авиации и космонавтике Рефераты по административному праву Рефераты по безопасности жизнедеятельности Рефераты по арбитражному процессу Рефераты по архитектуре Рефераты по астрономии Рефераты по банковскому делу Рефераты по биржевому делу Рефераты по ботанике и сельскому хозяйству Рефераты по бухгалтерскому учету и аудиту Рефераты по валютным отношениям Рефераты по ветеринарии Рефераты для военной кафедры Рефераты по географии Рефераты по геодезии Рефераты по геологии Рефераты по геополитике Рефераты по государству и праву Рефераты по гражданскому праву и процессу Рефераты по делопроизводству Рефераты по кредитованию Рефераты по естествознанию Рефераты по истории техники Рефераты по журналистике Рефераты по зоологии Рефераты по инвестициям Рефераты по информатике Исторические личности Рефераты по кибернетике Рефераты по коммуникации и связи |
Реферат: Решение задачи линейного программирования симплекс-методомРеферат: Решение задачи линейного программирования симплекс-методомГосударственное образовательное учреждение высшего профессионального образования "Московский государственный технический университет им. Н.Э. Баумана" Калужский филиал Реферат "Решение задачи линейного программирования симплекс-методом" 2008 Цель работы: изучить и научиться применять на практике симплекс - метод для решения прямой и двойственной задачи линейного программирования Теоретическая часть. Математическая постановка задачи линейного программирования. Из практики рассмотрения задач математического программирования следует, что в общем виде решить их практически невозможно. Целесообразно рассматривать отдельные классы (виды) задач. Для каждого такого класса удается сформулировать алгоритм решения, приемлемый только для данного класса задач. Наиболее разработанными в математическом программировании являются задачи линейного программирования (ЛП). В задачах линейного программирования целевая функция линейна, а условия-ограничения содержат линейные равенства и линейные неравенства. Переменные могут быть подчинены или не подчинены требованию неотрицательности. Одна и та же задача линейного программирования может быть записана в различной форме. Если все ограничения имеют вид неравенств, то задача записана в стандартной форме. Если все ее ограничения, кроме
представляют собой равенства, то задача линейного программирования записана в канонической форме. Общий вид задачи линейного программирования
Ограничения: 1. Правые части всех ограничений должны быть
неотрицательными 2. Все ограничения должны быть представлены в виде равенств, поэтому при переходе от неравенства к равенству используют аппарат дополнительных переменных. Если исходные ограничения определяют расход некоторого
ресурса (знак " Если исходные ограничения определяют избыток некоторого
ресурса (знак " Переменные: Все переменные должны быть неотрицательными, т.е. Если переменная не имеет ограничения в знаке, то её нужно представить
как разность двух неотрицательных переменных: Если такая переменная попадает в оптимальное решение, то
Целевая функция: Подлежит максимизации или минимизации. Система ограничений в виде равенств и неравенств образует выпуклое множество - выпуклый многогранник. Это множество может быть ограниченным и неограниченным. Целевая функция задачи линейного программирования также является выпуклой функцией. Таким образом, задача линейного программирования является частным случаем задачи выпуклого программирования. Рассмотрим систему ограничений задачи линейного программирования в виде равенств
Система (1) линейных уравнений совместна, если она имеет, по крайней мере, одно решение. Система (1) называется избыточной, если одно из уравнений можно выразить в виде линейной комбинации остальных. В системе (1) число переменных (неизвестных Целевая функция задачи линейного программирования есть уравнение плоскости (или гиперплоскости для числа переменных больше трех). Максимальное или минимальное значение целевая функция задачи линейного программирования достигает либо в вершине выпуклого многогранника, либо на одной из его граней. Таким образом, решение (решения) задачи линейного программирования лежит в вершинах выпуклого многогранника и для его нахождения надо вычислить значения целевой функции в вершинах выпуклого многогранника, определяемого условиями-ограничениями задачи. Решение задачи линейного программирования графическим методом. Трудность построения математической модели заключается в идентификации переменных и последующем представлении цели и ограничений в виде математических функций этих переменных. Если модель содержит только две переменные, то задачу линейного программирования можно решить графически. В случае трёх переменных графическое решение становится менее наглядным, а при большем значении переменных – даже невозможным. Однако графическое решение позволяет сделать выводы, которые служат основой для разработки общего метода решения задачи линейного программирования. Первый шаг при использовании графического метода заключается
в геометрическом представлении допустимых решений, т.е. построении области
допустимых решений (ОДР.), в которой одновременно удовлетворяются все
ограничения модели. При получении графического решения переменная В результате построений получается многоугольник, который определяет пространство решений. Если одно из ограничений имеет знак "=", то ОДР вырождается в отрезок. В каждой точке, принадлежащей области или границам
многоугольника решений, все ограничения выполняются, поэтому все решения,
соответствующие этим точкам, являются допустимыми. Пространство решений
содержит бесконечное число таких точек, несмотря на это, можно найти
оптимальное решение. Для этого необходимо построить в плоскости переменных Если в целевой функции определена задача максимизации, то оптимальная точка будет располагаться в направлении увеличения градиента, если задача минимизации – то в направлении уменьшения градиента целевой функции. Для определения оптимальной точки будем перемещать целевую функцию в направлении увеличения (уменьшения) градиента до тех пор, пока она не сместиться в область недопустимых решений. После нахождения оптимальной точки пространства решений
определяют её координаты Решение задачи линейного программирования симплекс-методом. Прямая задача. Рассмотрим задачу линейного программирования в канонической форме: Найти максимум (минимум) функции Предполагается, что решение этой задачи существует. Чтобы найти оптимальное решение, надо найти допустимые базисные решения, а из них выбрать оптимальное базисное решение. Симплекс – метод – это алгебраический метод решения задач линейного программирования. В процессе вычислений производиться последовательный обход вершин многогранника решений (ОДР.) с проверкой в каждой вершине условий оптимальности. При этом каждый переход в смежную вершину сопровождается улучшением целевой функции. Вычислительные процедуры симплекс - метода. При графическом методе решения ЗЛП оптимальному решению соответствует всегда одна из угловых (экстремальных) точек пространства решений. Это результат положен в основу построения симплекс-метода. Симплекс-метод не обладает наглядностью геометрического представления пространства решений. Симплекс-метод реализует упорядоченный процесс, при котором, начиная с некоторой исходной допустимой угловой точки, осуществляются последовательные переходы от одной допустимой экстремальной точки к другой, пока не будет найдена точка оптимального решения. Обозначим: Каждая вершина многогранника решений имеет Ненулевые переменные называются базисными, нулевые переменные – небазисными. Дополним систему равенств равенством целевой функции, при
этом будем считать, что Для получения решения составляется начальный допустимый базис, в котором базисные переменные должны быть представлены в виде единичных орт. Это означает, что уравнения, представляющие данную вершину должны включать каждую базисную переменную только в одной строке с коэффициентом, равным 1. При выборе начального допустимого базиса для составления
симплекс-табли-цы на первом шаге СТ(0) исходные
При составлении симплекс-таблицы придерживаются следующих правил: в крайнем левом столбце располагаются базисные переменные и в крайнем правом столбце располагаются правые части ограничений; в первой строке располагаются переменные в определённом порядке: сначала
Оптимальность любой из вершин определяется коэффициентами
при небазисных переменных в Для задачи максимизации данная вершина является оптимальной,
если все коэффициенты при небазисных переменных в Для задачи минимизации данная вершина является оптимальной,
если все коэффициенты при небазисных переменных в Если в задаче максимизации (минимизации) у одной небазисной
переменной в Исключаемой переменой будет та базисная переменная, которая первой обратится в "0" при переходе в смежную вершину после ввода включаемой переменной. Столбец включаемой переменной будем называть разрешающим столцом. Строку исключаемой переменной будем называть разрешающей строкой. Пересечение разрешающего столбца и строки определяют разрешающий элемент (РЭ). Чтобы определить исключаемую переменную необходимо: разделить правые части всех базисных переменных (кроме выбрать из полученных отношений наименьшее. Делить на "0" и отрицательную величину нельзя, т. к. это приводит к отсутствию пересекающейся вершины или к вершине вне ОДР. Для перехода в смежную вершину необходимо сформировать матрицу перехода B(0), которая определит связь между СТ(0) и СТ(1): СТ(1) = В(0) СТ(0). Для произвольной квадратной матрице размерности n, имеющей в качестве (n - 1) столбца единичные орты, расположенные в соответствии с единичными ортами единичной матрицы, и одного произвольного столбца с ненулевым элементом на главной диагонали, обратная матрица находится по следующему правилу: Каждый элемент j – столбца делится на РЭ и меняет знак на противоположный, кроме разрешающего элемента. Искусственный начальный базис. М – метод. Если исходное ограничение записано в виде равенства
"=" или имеет знак " В этом случае для нахождения начального допустимого базиса
вводятся дополнительно искусственные переменные Переменные R определяют начальный допустимый базис с точки зрения возможного дальнейшего перехода в одну из вершин ОДР. За использование искусственных переменных в целевой функции вводится штраф М. В задаче максимизации М отрицательное (М<<0), в задаче минимизации М положительное (М>>0). Свойство М: При сложении (вычитании) с любой конечной
величиной
При составлении начальной симплекс-таблицы все переменные начального допустимого базиса (дополнительные и искусственные) должны располагаться в последних m столбцах перед правой частью. Алгоритм получения оптимального решения: 1. Переход от неравенств к равенствам с учётом правил перехода - введение остаточных, избыточных, искусственных переменных и коэффициентов штрафа; 2. Определение числа базисных и небазисных переменных; 3. Получение 4. Заполнение СТ(0). Перенесение коэффициентов 5. Исследование определение разрешающего столбца (по знаку и величине
коэффициентов небазисных переменных определение включаемой переменной из небазисных переменных; 6. Определение разрешающей строки по условию допустимости: определение минимального отношения при делении правых частей ограничений на положительные коэффициенты разрешающего столбца; определение исключаемой переменной из начального базиса; 7. Определение разрешающего элемента РЭ; 8. Получение B (0). Замена в матрице начального базиса коэффициентов исключаемой переменной на коэффициенты включаемой переменной; вычисление B (0) по соответствующему правилу; 9. Определение элементов СТ(1) = В(0) СТ(0); 10. Исследование Если условие не выполнено, то вычисления продолжаются и необходимо повторить пункты 5-10. Если условие оптимальности выполнено, то решение ЗЛП симплекс-методом закончено, необходимо выделить оптимальные значения переменных и оптимальное значение целевой функции. Решение задачи линейного программирования симплекс-методом. Двойственная задача. Двойственная задача (ДЗ) – это вспомогательная задача
линейного программирования, формулируемая с помощью определённых правил
непосредственно из условий прямой задачи. Заинтересованность в определении
оптимального решения прямой задачи путём решения двойственной к ней задачи
обусловлена тем, что вычисления при решении ДЗ могут оказаться менее сложными,
чем при ПЗ. Трудоёмкость вычислений при решении ЗЛП в большей степени зависит
от числа ограничений, а не от количества переменных. Для перехода к ДЗ
необходимо, чтобы прямая задача была записана в стандартной канонической форме.
При представлении ПЗ в стандартной форме в состав переменных Двойственная задача имеет: m переменных, соответствующих числу ограничений прямой задачи; n ограничений, соответствующих числу переменных прямой задачи. Двойственная задача получается путём симметричного структурного преобразования условий прямой задачи по следующим правилам: Каждому ограничению Каждой переменной Коэффициенты при Коэффициенты Постоянные ограничений Рассмотрим правила составления двойственной задачи: Прямая задачаДвойственная задача Остановимся более подробно на определении областей допустимых решений двойственных переменных при переходе от прямой задачи к двойственной. Области допустимых решений для двойственных переменныхВид ограничений прямой задачи, а также дополнительные и искусственные переменные, образующие начальный допустимый базис, определяют ОДР для соответствующих двойственных переменных. 1. Рассмотрим ограничение (2) прямой задачи:
2. Рассмотрим ограничение (3) прямой задачи:
При введении искусственных переменных в целевую функцию вводятся коэффициенты штрафа М, поэтому для задачи максимизации получим:
Т. о., при решении задачи максимизации ограничениям прямой
задачи, имеющим знак равенства, соответствуют двойственные переменные, не
ограниченные в знаке 3. Рассмотрим ограничение (4) прямой задачи: В целевой функции избыточные переменные имеют коэффициенты,
равные нулю ( Т. о., при решении задачи максимизации ограничениям прямой
задачи, имеющим знак 4. Если в прямой задаче есть переменная, неограниченная в знаке, то в двойственной задаче получатся два ограничения, имеющие одинаковые коэффициенты при двойственных переменных, но разные знаки ограничений. Для удобства решения эти ограничения сворачивают в одно со знаком равенства (тем самым число ограничений двойственной задачи сводится к числу исходных переменных прямой задачи). По аналогии можно записать условия двойственной задачи при решении задачи минимизации. Для удобства пользования некоторые соотношения при переходе от прямой задаче к двойственной приведены в таблице.
В двойственной задаче переменные могут быть неотрицательными
( если переменная если Такие подстановки следует использовать во всех ограничениях, содержащих эти переменные, а также в выражении для целевой функции. После приведения ДЗ к стандартному виду используется симплекс - метод. Алгоритм получения решения тот же, что и для прямой задачи. II. Практическая часть 1. Решение задачи линейного программирования графическим методом. Дана следующая задача линейного программирования (ЗЛП).
1.1. Все ограничения задачи 1.2. Переменная Область допустимых решений будет ограничиваться I и IV квадрантом. 1.3. Построение ограничений и градиента целевой функции 1.4. Область допустимых решений – отрезок AB. 1.5. Точка А – оптимальная. Координаты т. А:
2. Решение задачи линейного программирования симплекс-методом. Прямая задача. Задачу линейного программирования для любой вершины в
компактной форме можно представить в виде: Для получения используем алгоритм, приведённый в теоретической части. 1. Переход от неравенств к равенствам по правилам введения
дополнительных переменных. Исходную задачу необходимо привести к стандартной
форме: введем замену по переменной
Полученный вид ЗЛП не позволяет сформировать начальный
допустимый базис, т. к. нельзя выделить единичные орты во втором и третьем
равенствах. Для получения начального допустимого базиса введём искусственные
переменные. В результате получим:
2. Общее число переменных определим по формуле: 3. Получение
Получим из (2): 4. Формирование симплекс – таблицы на первом шаге:
5. Определение разрешающего столбца. При решении задачи максимизации выбираем в 6. Определение разрешающей строки: 7. Разрешающий элемент РЭ = 1. 8. Получение матрицы перехода
9. Определение элементов таблицы СТ(1) = В(0) СТ(0); 10. Исследование z-строки СТ(1) на условие оптимальности:
СТ(2)
СТ(2) – оптимальная, т. к. коэффициенты при НБП
3. Решение задачи линейного программирования симплекс-методом. Двойственная задача. Составим двойственную задачу по условиям прямой задачи и определим области допустимых решений ДП: Прямая задачаДвойственная задача
Итак, получено: 2. Приведём запись двойственной задачи к канонической форме.
На основании полученных ОДР двойственных переменных введём необходимые
подстановки: Для удобства решения свернём ограничения (1) и (2) в одно со знаком равенства, а также введем в ограничения и целевую функцию избыточные, остаточные и искусственные переменные.
3. Решим ДЗ симплекс методом: Из (3): выразим Из (4) выразим:
СТ(1)
СТ(2)
СТ(2) – оптимальная, т. к. коэффициенты при
Задание: 1. Изучить методы решения задачи линейного программирования (графический и симплекс-метод): 2. Для заданного варианта получить решение задачи линейного программирования: - графическим методом; - симплекс методом для прямой задачи; - симплекс методом для двойственной задачи. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||