Методы линейного программирования
Автор работы: Пользователь скрыл имя, 11 Января 2013 в 13:57, курсовая работа
Краткое описание
Графический метод основан на геометрической интерпретации задачи линейного программирования и применяется в основном при решении задач двумерного пространства и только некоторых задач трехмерного пространства, так как довольно трудно построить многогранник решений, который образуется в результате пересечения полупространств. Задачу пространства размерности больше трех изобразить графически вообще невозможно.
Содержание
Введение…………………………………………………………………………3
1.Общая задача линейного программирования (ЛП)…………………………5
1.1. Постановка задачи…………………………………………………………5
1.2. Графический метод решения задач ЛП…………………………………...8
1.3. Симплекс-метод решения задач ЛП…………………………………...…11
2. Примеры решения задач различными методами ЛП…………….……......17
Заключение ……………………………………………………………………..29
Список литературы……………………………………………………………..30
Прикрепленные файлы: 1 файл
курсовая линейной программировнаие.doc
— 254.00 Кб (Скачать документ)сОДЕРЖАНИЕ
Введение…………………………………………………………
1.Общая задача линейного программирования (ЛП)…………………………5
1.1. Постановка задачи…………………………………………………………5
1.2. Графический метод решения задач ЛП…………………………………...8
1.3. Симплекс-метод решения задач ЛП…………………………………...…11
2. Примеры решения задач различными методами ЛП…………….……......17
Заключение …………………………………………………
Список литературы…………………………………
Введение
В последние годы в прикладной математике большое внимание уделяется новому классу задач оптимизации, заключающихся в нахождении в заданной области точек наибольшего или наименьшего значения некоторой функции, зависящей от большого числа переменных. Это так называемые задачи математического программирования, возникающие в самых разнообразных областях человеческой деятельности и прежде всего в экономических исследованиях, в практике планирования и организации производства. Изучение этого круга задач и методов их решения привело к созданию новой научной дисциплины, получившей позднее название линейного программирования.
В данном курсовом проекте будет рассмотрено два метода решения задач линейного программирования: графический и симплекс-метод.
Графический метод основан на геометрической интерпретации задачи линейного программирования и применяется в основном при решении задач двумерного пространства и только некоторых задач трехмерного пространства, так как довольно трудно построить многогранник решений, который образуется в результате пересечения полупространств. Задачу пространства размерности больше трех изобразить графически вообще невозможно. Поэтому для решения, в том числе этой проблемы, в конце 40-х годов американским математиком Дж. Данцигом был разработан эффективный метод решения данного класса задач – симплекс-метод. К задачам, решаемых этим методом в рамках математического программирования относятся такие типичные экономические задачи как «Задача об оптимальном плане выпуска продукции», «Оптимизация межотраслевых потоков», « Задача о выборе производственной программы», «Транспортная задача», «Задача размещения», «Модель Неймана расширяющейся экономики» и другие. Решение таких задач дает большие выгоды как народному хозяйству в целом, так и отдельным его отраслям.
Таким образом,
цель данного курсового проекта выде
1.Общая
задача линейного
1.1. Постановка задачи
Задача линейного программирования (ЛП) ассоциируется с задачей распределительного типа, в которой требуется распределить ограниченные ресурсы по нескольким видам деятельности. Интерпретация задачи ЛП в этом случае состоит в следующем. Моделируемая ЭИС характеризуется наличием нескольких видов деятельности j (j = 1, …, n), для осуществления которых требуются имеющиеся в ограниченном количестве различные ресурсы bi, (i = 1, …, m). Интенсивность расходования каждого из ресурсов на каждый из видов деятельности ЭИС известна и равна aij. Результативность или ценность каждого j-го вида деятельности ЭИС характеризуется величиной cj. Цель построения модели заключается в определении уровней каждого вида деятельности ЭИС xj, при которых оптимизируется общий результат деятельности ЭИС в целом при выполнении ограничений, накладываемых на использование ресурсов, т. е. cj xj ≤ bi, i = 1, …, m. Структура целевой функции y(u) отражает вклад каждого вида деятельности ЭИС в общий результат. При максимизации сj представляет собой “полезность” j-го вида деятельности (ущерб, наносимый конкуренту по бизнесу, предотвращенный ущерб), а в случае минимизации характеризует затраты (потери собственные, расход материальных средств). Линейность модели выявляется или принимается в качестве допущения на этапе формализации задачи. Линейность предполагает наличие двух свойств — пропорциональности и аддитивности, присущих как целевой функции, так и ограничениям. Пропорциональность целевой функции означает, что вклад каждой управляемой переменной в целевую функцию пропорционален величине этой переменной. Аддитивность же целевой функции заключается в том, что целевая функция представляет собой сумму вкладов от различных управляемых переменных. Пропорциональность ограничений проявляется в том, что общий объем потребляемых ресурсов прямо пропорционален величинам управляемых переменных. Аддитивность ограничений состоит в том, что величина ресурса должна представлять собой сумму расходов по видам деятельности, каждое слагаемое которой пропорционально величине соответствующей управляемой переменной. В формализованном виде задачу ЛП можно представить следующим образом:
Определить
где , (1.1)
Условие неотрицательности, накладываемое на переменные xj, означает, что ни одному виду деятельности ЭИС не может быть приписан отрицательный уровень. Ограничение типа ≥ нельзя рассматривать как ограничение в буквальном смысле этого слова. Наличие такого неравенства предполагает необходимость обязательного выполнения каких-либо планов, заданий, нормативов.
Математическая формулировка задачи ЛП выглядит следующим образом: необходимо определить значения управляемых переменных xj, доставляющих экстремум целевой функции y(u) на всем множестве стратегий U = {u} и удовлетворяющих всем имеющимся в задаче ограничениям. Этой формулировкой задача ЛП считается поставленной математически, что позволяет осуществлять поиск ее оптимального решения известными математическими методами.
Формальную постановку задачи ЛП (1.1) для удобства можно представить в упрощенном виде:
определить max (или min) W(x) = при ограничениях:
cj xj (≤, = или ≥) bi, i = 1, …, m; xj ≥ 0,
где W(x) — новое обозначение ЦФ, т. е. W(x) = y(u) = f(x).
Для решения задач ЛП разработано множество методов, но наиболее популярными из них являются графический и симплексный методы, позволяющие получить гораздо больше информации, нежели просто найденное оптимальное решение.
1.2. Графический метод решения задач ЛП
Графический метод, несмотря на свою очевидность и применимость лишь в случае малой размерности задачи, позволяет понять качественные особенности задачи линейного программирования, характерные для любой размерности пространства переменных и лежащие в основе численных методов ее решения. Поясним графический метод на примере задачи ЛП в основной форме для n = 2
(c, x) → max
Ax ≤ b,
где x = (x1, x2), c = (c1, c2), b = (b1, b2, ..., bm), A - матрица размера (m × 2).
Очевидно, что при данной постановке задачи допустимое множество X в плоскости (x1, x2) представляет собой многоугольник (не обязательно замкнутый), образованный пересечением полуплоскостей H+aibi (где ai - i-я строка матрицы A, i = 1, ..., m), соответствующих ограничениям вида ai1x1 + ai2x2 ≤ bi в исходной задаче. Линии уровня функции f(x) = (c, x) (линией уровня называется множество {x R: f(x)= α, α R}) образуют семейство параллельных прямых Hcα. При этом grad f(x) = c, т.е. градиент целевой функции всюду одинаков и является нормалью каждой из данных полуплоскостей. В соответствии с предыдущим, поиск решения задачи сводится к нахождению максимального числа α* среди всех таких α, что полуплоскость Hcα имеет непустое пересечение с X. При этом X - множество решений задачи. При неограниченном решений может и не быть, т.е. Hcα X Ø при всех α→ .
Из графического представления ясна характерная особенность задачи ЛП (при c ≠ 0): если ее решение существует, то оно достигается обязательно на границе. Отметим, что в рассмотренной задаче ЛП на максимум при поиске α* происходит как бы перемещение прямой Hcα в направлении вектора c. Если же решается задача ЛП на минимум, и, следовательно, ищется минимальное α*, удовлетворяющее указанным требованиям, то Hcα перемещается в направлении, противоположном вектору c.
Пример 1.2.1 Пусть дана задача ЛП
2x + y → max
-x + y ≤ 2,
x + 2y ≤ 7,
4x - 3y ≤ 6,
x ≥ 0, y ≥ 0.
Геометрическая интерпретация задачи приведена на рис. 1. Ясно, что решением является точка пересечения прямых
x + 2y = 7 и 4x - 3y = 6, т.е. (x*, y*) = (3, 2).
Очевидно, что графический метод
решения задач ЛП применим лишь в случае
малой размерности пространства. В общем
случае для решения задач линейного программирования
в пространстве произвольной размерности
широко используется симплекс-метод.
1.3. Симплекс-метод
решения задач ЛП
Симплекс метод - метод линейного программирования, который реализует рациональный перебор базисных допустимых решений, в виде конечного итеративного процесса, необходимо улучшающего значение целевой функции на каждом шаге.
Применение симплекс-метода для задачи линейного программирования предполагает предварительное приведение ее формальной постановки к канонической форме с n неотрицательными переменными: (x1, ..., xn), где требуется минимизация линейной целевой функции при m линейных ограничениях типа равенств. Среди переменных задачи выбирается начальный базис из m переменных, для определенности (x1, ..., xm), которые должны иметь неотрицательные значения, когда остальные (n-m) свободные переменные равны 0. Целевая функция и ограничения равенства преобразуются к диагональной форме относительно базисных переменных, переменных, где каждая базисная переменная входит только в одно уравнение с коэффициентом 1.
Данная формальная модель задачи линейного программирования обычно задается в форме, так называемой симплекс-таблицы, удобной для выполнения операций симплекс-метода:
Симплекс-таблица
1 |
x1 |
x2 |
... |
xm |
xm+1 |
... |
xn | |
|
x0 |
A0,0 |
0 |
0 |
... |
0 |
A0,m+1 |
... |
A0,n |
|
x1 |
A1,0 |
1 |
0 |
... |
0 |
A1,m+1 |
... |
A1,n |
|
x2 |
A2,0 |
0 |
1 |
... |
0 |
A2,m+1 |
... |
A2,n |
|
... |
... |
... |
... |
... |
... |
... |
... |
... |
xm |
Am,0 |
0 |
0 |
... |
1 |
Am,m+1 |
... |
Am,n |
Верхняя строка симплекс-таблицы представляет целевую функцию задачи. Каждая строка симплекс-таблицы, кроме первой, соответствует определенному ограничению-равенству задачи. Свободные члены ограничений составляют крайний левый столбец таблицы. Слева от таблицы записаны текущие базисные переменные (x1, ..., xm). Сверху от таблицы приведен набор всех переменных задачи, где xm+1, ..., xn - свободные переменные задачи.
На начальном шаге алгоритма симплекс-метода должно быть выбрано базисное допустимое решение (x1, ..., xm) ≥0 при xj = 0 (j = m+1, ..., n), следовательно, все свободные члены ограничений Ai,0 ≥0 (i = 1, ..., m). Когда это условие выполнено, симплекс-таблица называется прямо-допустимой, так как в этом случае базисные переменные, равные Ai,0, определяют допустимое решение прямой задачи линейного программирования. Если все коэффициенты целевой функции A0,j≥ 0 (j = 1, ..., m), то симплекс-таблица называется двойственно-допустимой, поскольку соответствующее решение является допустимым для двойственной задачи линейного программирования.
Если симплекс-таблица является одновременно прямо и двойственно допустимой, т.е. одновременно все Ai,0 ≥ 0 и A0,j ≥ 0, то решение оптимально.
Действительно, поскольку допустимыми являются лишь неотрицательные значения управляемых параметров, то изменение целевой функции за счет вариации свободных переменных, через которые она выражена, возможно только в сторону увеличения, т.e. будет ухудшаться. Если среди ее коэффициентов имеются A0,j < 0, то значение целевой функции еще можно уменьшить (т.e. улучшить), увеличивая значение любой свободной переменной xj с отрицательным коэффициентом A0,j при побочном уменьшении базисных переменных, чтобы оставались справедливы ограничения задачи. Теоретически можно использовать любую свободную переменную xj с A0,j < 0, но на практике обычно действуют в соответствии со стратегией наискорейшего спуска, выбирая минимальный элемент A0,p < 0 из всех отрицательных A0,j <0:
A0,p = min A0,j < 0.
Столбец p симплекс-таблицы, соответствующий выбранному коэффициенту A0,p < 0, называется разрешающим столбцом. Свободная переменная разрешающего столбца должна быть введена в базис вместо одной из текущих базисных переменных. Очевидно, из базиса следует исключить такую переменную xq, которая раньше других обращается в нуль при увеличении переменной xp ведущего столбца.
Её индекс легко определить, если среди положительных элементов ведущего столбца p найти элемент, минимизирующий отношение (Ai,0 / Ai,p):