Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
Пермский государственный технический университет
Лысьвенский филиал
Кафедра ЕН
Курсовая работа
по дисциплине «Системный анализ и исследование операций»
по теме: «Симплекс метод в форме презентации»
Выполнил студент группы ВИВТ-06-1:
Старцева Н. С.
Проверил преподаватель:
Мухаметьянов И.Т.
Лысьва 2010г.
Содержание
Введение. 3
Математическое программирование. 5
Графический метод. 6
Табличный симплекс – метод. 6
Метод искусственного базиса. 7
Модифицированный симплекс – метод. 7
Двойственный симплекс – метод. 7
Общий вид задачи линейного программирования. 9
Решение задачи линейного программирования симплекс-методом. 11
Вычислительные процедуры симплекс – метода. 11
Теорема 1: 13
Теорема 2: 14
Теорема 3: 15
Теорема 4: 15
Теорема 5: 15
Переход к новому опорному плану. 15
Двойственная задача. 17
Теорема 1 (первая теорема двойственности) 18
Теорема 2(вторая теорема двойственности) 18
Заключение. 20
Приложение. 21
В последние годы в прикладной математике большое внимание уделяется новому классу задач оптимизации, заключающихся в нахождении в заданной области точек наибольшего или наименьшего значения некоторой функции, зависящей от большого числа переменных. Это так называемые задачи математического программирования, возникающие в самых разнообразных областях человеческой деятельности и прежде всего в экономических исследованиях, в практике планирования и организации производства («Определение наилучшего состава смеси», «Задача об оптимальном плане выпуска продукции», «Оптимизация межотраслевых потоков», « Задача о диете», «Транспортная задача» и т.д.).
Линейное программирование - это наука о методах исследования и отыскания наибольших и наименьших значений линейной функции, на неизвестные которой наложены линейные ограничения. Таким образом, задачи линейного программирования относятся к задачам на условный экстремум функции. Казалось бы, что для исследования линейной функции многих переменных на условный экстремум достаточно применить хорошо разработанные методы математического анализа, однако невозможность их использования можно довольно просто проиллюстрировать.
Действительно, путь необходимо исследовать на экстремум линейную функцию
Z = С1х1+С2х2+... +СNxN
при линейных ограничениях
a11x1 + a22x2 + ... + a1NХN = b1
a21x1 + a22x2 + ... + a2NХN = b2
. . . . . . . . . . . . . . .
aМ1x1 + aМ2x2 + ... + aМNХN = bМ
Так как Z - линейная функция, то Z = Сj, (j = 1, 2, ..., n), то все коэффициенты линейной функции не могут быть равны нулю, следовательно, внутри области, образованной системой ограничений, экстремальные точки не существуют. Они могут быть на границе области, но исследовать точки границы невозможно, поскольку частные производные являются константами.
Для решения задач линейного программирования потребовалось создание специальных методов. Особенно широкое распространение линейное программирование получило в экономике, так как исследование зависимостей между величинами, встречающимися во многих экономических задачах, приводит к линейной функции с линейными ограничениями, наложенными на неизвестные.
Цель данной курсовой работы: изучить и научиться применять на практике симплекс - метод для решения задач линейного программирования.
Задачи курсовой заботы:
1. привести теоретический материал;
2. на примерах рассмотреть симплекс метод;
3. представить данную курсовую работу в виде презентации.
Математическое программирование занимается изучение экстремальных задач и поиском методов их решения. Задачи математического программирования формулируются следующим образом: найти экстремум некоторой функции многих переменных f ( x1, x2, ... , xn ) при ограничениях gi ( x1, x2, ... , xn ) * bi , где gi - функция, описывающая ограничения, * - один из следующих знаков £, =, ³, а bi - действительное число, i = 1, ... , m. f называется целевой функцией.
Линейное программирование – это раздел математического программирования, в котором рассматриваются методы решения экстремальных задач с линейным функционалом и линейными ограничениями, которым должны удовлетворять искомые переменные.
Задачу линейного программирования можно сформулировать так. Найти max
при условии: a11 x1 + a12 x2 + . . . + a1n xn£ b1;
a21 x1 + a22 x2 + . . . + a2n xn £ b2;
. . . . . . . . . . . . . . . . . . . . . . . . . . .
am1 x1 + am2 x2 + . . . + amn xn £ bm;
x1³ 0, x2³ 0, . . . , xn³ 0 .
Эти ограничения называются условиями не отрицательности. Если все ограничения заданы в виде строгих равенств, то данная форма называется канонической.
В матричной форме задачу линейного программирования записывают следующим образом.
Найти:
max cT x
при условии:
A x £ b;
x ³ 0 ,
где А - матрица ограничений размером (m´n),
b(m´1) - вектор-столбец свободных членов,
x(n ´ 1) - вектор переменных,
сТ = (c1, c2, ... , cn) - вектор-строка коэффициентов целевой функции.
Решение х0 называется оптимальным, если для него выполняется условие:
сТ х0³ сТ х , для всех х Î R(x).
Поскольку min f(x) эквивалентен max [- f(x)], то задачу линейного программирования всегда можно свести к эквивалентной задаче максимизации.
Для решения задач данного типа применяются методы:
1) графический;
2) табличный (прямой, простой) симплекс - метод;
3) метод искусственного базиса;
4) модифицированный симплекс - метод;
5) двойственный симплекс - метод.
Графический метод довольно прост и нагляден для решения задач линейного программирования с двумя переменными. Он основан на геометрическом представлении допустимых решений и целевой функции задачи.
Каждое из неравенств задачи линейного программирования определяет на координатной плоскости
некоторую полуплоскость, а система неравенств в целом – пересечение соответствующих плоскостей. Множество точек пересечения данных полуплоскостей называется областью допустимых решений (ОДР). ОДР всегда представляет собой выпуклуюфигуру, т.е. обладающую следующим свойством: если две точки А и В принадлежат этой фигуре, то и весь отрезок АВ принадлежит ей. ОДР графически может быть представлена выпуклым многоугольником, неограниченной выпуклой многоугольной областью, отрезком, лучом, одной точкой. В случае несовместности системы ограничений задачи ОДР является пустым множеством.Для его применения необходимо, чтобы знаки в ограничениях были вида “меньше либо равно”, а компоненты вектора b - положительны.
Алгоритм решения сводится к следующему:
1. Приведение системы ограничений к каноническому виду путём введения дополнительных переменных для приведения неравенств к равенствам.
Если в исходной системе ограничений присутствовали знаки “ равно ”
или “ больше либо равно ”, то в указанные ограничения добавляются
искусственные переменные, которые так же вводятся и в целевую функцию со знаками, определяемыми типом оптимума.
2. Формируется симплекс-таблица.
3. Рассчитываются симплекс – разности.
4. Принимается решение об окончании либо продолжении счёта.
5. При необходимости выполняются итерации.
На каждой итерации определяется вектор, вводимый в базис, и вектор, выводимый из базиса. Таблица пересчитывается по методу Жордана-Гаусса или каким-нибудь другим способом.
Данный метод решения применяется при наличии в ограничении знаков
“равно”, “больше либо равно”, “меньше либо равно” и является модификацией табличного метода. Решение системы производится путём ввода искусственных переменных со знаком, зависящим от типа оптимума, т.е. для исключения из базиса этих переменных последние вводятся в целевую функцию с большими отрицательными коэффициентами m, а в задачи минимизации - с положительными m. Таким образом, из исходной получается новая m - задача.
Если в оптимальном решении m - задачи нет искусственных переменных, это решение есть оптимальное решение исходной задачи. Если же в оптимальном решении m - задачи хоть одна из искусственных переменных будет отлична от нуля, то система ограничений исходной задачи несовместна и исходная задача неразрешима.
В основу данной разновидности симплекс-метода положены такие особенности линейной алгебры, которые позволяют в ходе решения задачи работать с частью матрицы ограничений. Иногда метод называют методом обратной матрицы.
В процессе работы алгоритма происходит спонтанное обращение матрицы ограничений по частям, соответствующим текущим базисным векторам. Указанная способность делает весьма привлекательной машинную реализацию вычислений вследствие экономии памяти под промежуточные переменные и значительного сокращения времени счёта, хороша для ситуаций, когда число переменных n значительно превышает число ограничений m.