Автор работы: Пользователь скрыл имя, 21 Марта 2011 в 18:31, курсовая работа
Цель данной курсовой работы – изучить методы математического программирования, общую задачу линейного программирования.
Задачами курсовой работы:
1. Изучить понятие методов математического программирования.
2. Составить общую задачу линейного программирования.
3.Рассмотреть на примерах решения задач линейного программирования
Введение 3
1. Методы линейного программирования 5
1.1. История проблемы поиска экстремума 7
1.2. Общая постановка задачи линейного программирования (ЗЛП). Примеры ЗЛП 10
1.3. Алгоритм симплекс-метода 12
1.4. Метод полного исключения Жордана 16
2. Задачи линейного программирования 19
2.1. Геометрическое решение ЗЛП 23
2.2. Основные теоремы линейного программирования 26
Заключение 28
Список используемой литературы 29
· математические модели большого числа экономических задач линейны относительно искомых переменных;
· данный тип задач в настоящее время наиболее изучен. Для него разработаны специальные методы, с помощью которых эти задачи решаются, и соответствующие программы для ЭВМ;
· многие задачи линейного программирования, будучи решенными, нашли широкое применение;
· некоторые задачи, которые в первоначальной формулировке не являются линейными, после ряда дополнительных ограничений и допущений могут стать линейными или могут быть приведены к такой форме, что их можно решать методами линейного программирования.
Экономико-математическая модель любой задачи линейного программирования включает: целевую функцию, оптимальное значение которой (максимум или минимум) требуется отыскать; ограничения в виде системы линейных уравнений или неравенств; требование неотрицательности переменных.
В общем виде модель записывается следующим образом:
· целевая функция:
= c1x1 + c2x2 + ... + cnxn → max(min); | (1.2) |
· ограничения:
|
(1.3) |
· требование неотрицательности:
xj ≥ 0, | (1.4) |
При этом aij, bi, cj ( ) - заданные постоянные величины.
Задача состоит в нахождении оптимального значения функции (1.2) при соблюдении ограничений (1.3) и (1.4).
Систему ограничений (1.3) называют функциональными ограничениями задачи, а ограничения (1.4) - прямыми.
Вектор , удовлетворяющий ограничениям (1.3) и (1.4), называется допустимым решением (планом) задачи линейного программирования. План , при котором функция (1.2) достигает своего максимального (минимального) значения, называется оптимальным [10].
Симплекс метод – является универсальным методам, которым можно решить любую задачу линейного программирования.
Сформулировать
алгоритм симплекс-метода для решения
задач линейного
В первом столбце этой таблицы располагаются обозначения векторов, входящих в базис.
Второй столбец - коэффициенты целевой функции, соответствующие векторам, входящим в базис.
Третий столбец - компоненты опорного плана. В дополнительной строке в этом столбце пишется величина . Её легко вычислить перемножая числа из второго столбца и третьего столбца и складывая их.
Далее идут столбцы, соответствующие всем векторам , и в этих столбцах записываются координаты этих векторов в рассматриваемом базисе. Заметим, что для векторов, входящих в базис, эти координаты имеют вид (0,0, ... ,0,1,0, ..., 0), где единица стоит в той строке, где находится сам этот базисный вектор. В дополнительной строке сверху обычно выписывают коэффициенты , соответствующие этим векторам. В дополнительной строке снизу пишутся величины , вычисляемые по формулам:
.
Заметим, что для векторов, входящих в базис, эти разности всегда равны нулю.
Далее идут следующие этапы, связанные с преобразованием этой таблицы. При ручном счете каждый раз эту таблицу лучше переписывать заново, при счете на ЭВМ (который, естественно, всегда используется при решении практических, а не учебных задач), эта таблица просто преобразуется в памяти ЭВМ.
Этап 1
Просматривается дополнительная строка снизу, где записаны разности .
Если все эти разности , то план является оптимальным |
Этап 2
Если есть столбцы, где , то выбирается столбец с максимальным значением этой разности. Индекс j определит вектор, вводимый в базис.
Пусть , то есть в базис надо вводить вектор . Назовем столбец, соответствующий этому вектору, направляющим столбцом. В дальнейшем мы будем направляющий столбец помечать символом .
Этап 3
Просматривается столбец, соответствующий этому вектору. Если все , то значения целевой функции неограничены снизу. Если есть , то находятся
где просматриваются лишь те дроби ,для которых |
Пусть этот минимум достигается для вектора
помечать ее символом . |
Этап 4
После того, как определены направляющие столбец и строка, начинает заполняться новая симплекс-таблица, в которой на месте направляющей
строки будет стоять вектор . |
Обычно заполнение этой новой таблицы начинается именно с направляющей строки. В качестве компоненты опорного плана туда
пишется величина , то есть |
Остальные элементы этой строки заполняются величинами
Обратите внимание на особую роль элемента , стоящего на пересечении направляющей строки и направляющего столбца. Именно на него делятся все бывшие элементы направляющей строки. На месте бывшего элемента автоматически появляется единица.
Написанные
выше формулы для пересчета
Этап 5
Далее начинается пересчет всех остальных строк таблицы, включая и дополнительную нижнюю строку по формулам: для компонент плана
для координат разложения по базису
для дополнительной строки
Обратите внимание на то, что все эти формулы по сути дела строятся по одному правилу
Это
правило применимо и к
1 на месте бывшего элемента . |
Далее итерации продолжаются.[3]
Имеется система т линейных алгебраических уравнений с п неизвестными, решение которой надо найти:
Производят
такие преобразования, в результате
которых в каждой строке и в каждом столбце
матрицы системы линейных алгебраических
уравнений остаются по одному неизвестному
с коэффициентами, равными единице, т.
е. фактически получают решение системы.
Например, необходимо исключить переменную
xs из всех строк за исключением
i-й. Коэффициент ais,
стоящий перед переменной xs,
называют генеральным
элементом, i-ю строку и 5-й столбец—разрешающими.
Прежде всего разрешающую строку делят
на ais
и она остается без изменения. Чтобы исключить
переменную xs
из первого уравнения, умножают разрешающую
строку на — ais
и складывают с первой строкой. В результате
получают первую строку с нулевым элементом
на месте ais.
Аналогично исключают xs
в остальных строках. Получают эквивалентную
запись системы алгебраических уравнений.
В ней i-я строка имеет прежний вид,
но все коэффициенты у нее поделены на
ais; 5-й столбец состоит
из нулевых элементов (кроме единичного,
стоящего в /-й строке). Остальные элементы
матрицы системы и столбец свободных переменных
пересчитывают по правилу
прямоугольника. Например, новое значение
элемента, а новое значение элемента столбца
свободных членов
Из
правила прямоугольника следует, что
когда в разрешающей строке (столбце)
есть нулевые элементы, то элементы столбцов
(строк), пересекающих эти нулевые элементы,
остаются без изменения.[1]
Далее приведем примеры некоторых типовых задач, решаемых при помощи методов линейного программирования. Такие задачи имеют реальное экономическое содержание. Сейчас лишь сформулируем их в терминах ЗЛП, а методы решения подобных задач рассмотрим ниже.
1. Задача об оптимальном использовании ресурсов при производственном планировании.
Общий смысл задач этого класса сводится к следующему.
Предприятие выпускает n различных изделий. Для их производства требуется m различных видов ресурсов (сырья, материалов, рабочего времени и т.п.). Ресурсы ограничены, их запасы в планируемый период составляют, соответственно, b1, b2,..., bm условных единиц.
Известны
также технологические
Прибыль, получаемая предприятием при реализации изделия j-го вида, равна cj.
В планируемом периоде значения величин aij, bi и cj остаются постоянными.
Требуется составить такой план выпуска продукции, при реализации которого прибыль предприятия была бы наибольшей.
Далее приведем простой пример задачи такого класса.
Компания специализируется на выпуске хоккейных клюшек и наборов шахмат. Каждая клюшка приносит компании прибыль в размере $2, а каждый шахматный набор - в размере $4. На изготовление одной клюшки требуется четыре часа работы на участке A и два часа работы на участке B. Шахматный набор изготавливается с затратами шести часов на участке A, шести часов на участке B и одного часа на участке C. Доступная производственная мощность участка A составляет 120 n-часов в день, участка В - 72 n-часа и участка С - 10 n-часов.
Сколько клюшек и шахматных наборов должна выпускать компания ежедневно, чтобы получать максимальную прибыль?
Условия задач указанного класса часто представляют в табличной форме (см. таблицу 2.1).
производственные участки |
затраты времени на единицу продукции, н-час | доступный фонд времени, н-час | |
клюшки | наборы шахмат | ||
А | 4 | 6 | 120 |
В | 2 | 6 | 72 |
С | - | 1 | 10 |
прибыль на
единицу продукции, $ |
2 | 4 |