Методы математического программирования
Содержание:
Введение
В настоящее время линейное программирование является одним из наиболее употребительных аппаратов математической теории оптимального принятия решений, в том числе и в финансовой математике. Для решения задач линейного программирования разработано сложное программное обеспечение, дающее возможность эффективно и надежно решать практические задачи больших объемов. Эти программы и системы снабжены развитыми системами подготовки исходных данных, средствами их анализа и представления полученных результатов. В развитие и совершенствование этих систем вложен труд и талант многих математиков, аккумулирован опыт решения тысяч задач. Владение аппаратом линейного программирования необходимо каждому специалисту в области прикладной математики.
Линейное программирование представляет собой наиболее часто используемый метод оптимизации. К числу задач линейного программирования можно отнести задачи:
- рационального использования сырья и материалов; задачи оптимального раскроя;
- оптимизации производственной программы предприятий;
- оптимального размещения и концентрации производства;
- составления оптимального плана перевозок, работы транспорта;
- управления производственными запасами;
- и многие другие, принадлежащие сфере оптимального планирования.
Для
большого количества практически интересных
задач целевая функция
Первым исследованием по линейному программированию является работа Л. В. Кантфовича “Математические методы организации и планирования производства”, опубликованная в 1939 г. В нем дана постановка задач линейного программирования, разработан метод разрешающих множителей решения задач линейного программирования и дано его теоретическое обоснование.
Прямая
задача линейного программирования
является математической формулировкой
проблемы составления такого плана
использования различных
Математическое программирование – это прикладная отрасль математики, которая является теоретической основой решения задач оптимального планирования.
Существуют
следующие разделы
Цель
данной курсовой работы – изучить
методы математического
Задачами курсовой работы:
1. Изучить понятие методов математического программирования.
2. Составить общую задачу линейного программирования.
3.Рассмотреть на примерах решения задач линейного программирования.
1. Методы линейного программирования
Различают детерминированные и одноцелевые задачи, исследованием которых занимается математическое программирование. Слово программирование в данном случае означает "планирование".
К
математическому
Линейное программирование: состоит в нахождении экстремального значения линейной функции многих переменных при наличии линейных ограничений, связывающих эти переменные;
Нелинейное программирование: целевая функция и ограничения могут быть нелинейными функциями;
Особым случаем в задачах линейного и нелинейного программирования является случай, когда на оптимальные решения накладывается условие целочисленности. Такие задачи относятся к целочисленному программированию;
Динамическое программирование: для отыскания оптимального решения планируемая операция разбивается на ряд шагов (этапов) и планирование осуществляется последовательно от этапа к этапу. Однако выбор метода решения на каждом этапе производится с учетом интересов операции в целом;
Теория
графов: с помощью теории графов
решаются многие сетевые задачи, связанные
с минимальным протяжением
Стохастическое линейное программирование
Бывает много практических ситуаций, когда коэффициенты ci целевой функции, коэффициенты aij в матрице коэффициентов, коэффициенты ограничений bi - являются случайными величинами. В этом случае сама целевая функция становится случайной величиной, и ограничения типа неравенств могут выполняться лишь с некоторой вероятностью. Приходится менять постановку самих задач с учётом этих эффектов и разрабатывать совершенно новые методы их решения. Соответствующий раздел получил название стохастического программирования [4].
Геометрическое программирование
Под
задачами геометрического
Задачами теории массового обслуживания является анализ и исследование явлений, возникающих в системах обслуживания. Одна из основных задач теории заключается в определении таких характеристик системы, которые обеспечивают заданное качество функционирования, например, минимум времени ожидания, минимум средней длины очереди.
Теория
игр пытается математически объяснить
явления возникающие в
Главное в математическом программировании заключается в том, чтобы определить максимальное и минимальное значения целевой функции.
При этом, необходимо, чтобы значения
переменных принадлежали
здесь - сумма управляющих воздействий; - область допустимых значений переменных; - целевая функция.
Различия между перечисленными дисциплинами заключаются в виде целевой функции области. Скажем, в случае, если и не является линейной — это уже задача нелинейного программирования.
Специфика определения наиболее приемлемого решения стала исследоваться еще в древности, ее истоки проистекают от задач поиска экстремума в математическом анализе и вариационном исчислении [9].
1.1. История проблемы поиска экстремума
Общепринятыми являются такие утверждения:
отрезок прямой линии отражает самое короткое расстояние между его конечными точками;
дуга большого круга — это самая короткая кривая, посредством которой возможно соединение двух точек на сфере;
самая большая площадь из всех замкнутых плоских кривых эквивалентной длины охватывается окружностью, а наибольший объем — сферой.
Феномены
максимизации и минимизации такого
вида использовались еще древними греческими
математиками. Но, стоит отметить, что
те или иные формулировки не предполагали
никакого доказательства [8]. В данном контексте,
можно отметить ученого I в. н.э. Герона
Александрийского. Еще в древности определили,
что световой луч, исходящей точкой которого
является тока Р и который совпадает с
плоским зеркалом L, является отражаемым
в направлении точки Q так, что PR и QR создают
одинаковые углы с зеркалом (рис. 1.1, а).
Герон выдвинул предположение — если
- любая точка от зеркала, которая не является
эквивалентной R, то сумма отрезков
является больше по сравнению
. Такое утверждение определяет истинный
путь луча PRQ между P и Q, который представляется
в виде кратчайшего пути от P к Q с накладкой
на зеркало L. Это предположение и послужило
основанием теории геометрической оптики.
Рис. 1.1. Теорема Герона (а); проблема Штейнера (б); кратчайшая система путей, соединяющих данные точки (в); кратчайшие системы путей, соединяющих вершины квадрата (г, д)
В жизни каждого человека имеют место проблемы, связанные с вычислением предельных категорий — наибольшего и наименьшего, наилучшего и наихудшего и т.п. Задачи, сформулированные в такой форме, как правило, имеют практическое значение. В качестве примера можно привести следующую задачу — какая часть судна должна оказаться в воде, чтобы в процессе плавания сопротивление было наименьшим? Или, какое соотношение размеров следует соблюдать в резервуаре цилиндрической формы для достижения максимального объема при определенном расходе материала?
Теория экстремальных значений берет свое начало в XVII в и оказала влияние на многочисленные математические направления, выдвинув широкий спектр принципов науки. Так, первоначальное исследование Ферма в области дифференциального исчисления стало осуществляться стремительнее благодаря возникшей в дальнейшем цели определить методы для изучения вопросов о максимальных и минимальных значениях. С течением времени эти методы были расширены за счет появления вариационного исчисления. Более четко становилось понимание того, что физические законы могут быть определены в формулировках принципа минимальности, который реализует подход к наименее комплексному решению частных проблем.
1.2. Общая постановка задачи линейного программирования (ЗЛП). Примеры ЗЛП
Линейное программирование – направление математики, изучающее методы решения экстремальных задач, которые характеризуются линейной зависимостью между переменными и линейным критерием оптимальности.
Несколько слов о самом термине линейное программирование. Он требует правильного понимания. В данном случае программирование - это, конечно, не составление программ для ЭВМ. Программирование здесь должно интерпретироваться как планирование, формирование планов, разработка программы действий [8].
К математическим задачам линейного программирования относят исследования конкретных производственно-хозяйственных ситуаций, которые в том или ином виде интерпретируются как задачи об оптимальном использовании ограниченных ресурсов.
Круг задач, решаемых при помощи методов линейного программирования достаточно широк. Это, например:
· задача об оптимальном использовании ресурсов при производственном планировании;
· задача о смесях (планирование состава продукции);
· задача о нахождении оптимальной комбинации различных видов продукции для хранения на складах (управление товарно-материальными запасами или "задача о рюкзаке");
· транспортные задачи (анализ размещения предприятия, перемещение грузов).
Линейное программирование – наиболее разработанный и широко применяемый раздел математического программирования (кроме того, сюда относят: целочисленное, динамическое, нелинейное, параметрическое программирование). Это объясняется следующим:
· математические модели большого числа экономических задач линейны относительно искомых переменных;
· данный тип задач в настоящее время наиболее изучен. Для него разработаны специальные методы, с помощью которых эти задачи решаются, и соответствующие программы для ЭВМ;
· многие задачи линейного программирования, будучи решенными, нашли широкое применение;
· некоторые задачи, которые в первоначальной формулировке не являются линейными, после ряда дополнительных ограничений и допущений могут стать линейными или могут быть приведены к такой форме, что их можно решать методами линейного программирования.
Экономико-математическая модель любой задачи линейного программирования включает: целевую функцию, оптимальное значение которой (максимум или минимум) требуется отыскать; ограничения в виде системы линейных уравнений или неравенств; требование неотрицательности переменных.
В общем виде модель записывается следующим образом:
· целевая функция:
| = 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].
1.3. Алгоритм симплекс-метода
Симплекс метод – является универсальным методам, которым можно решить любую задачу линейного программирования.
Сформулировать
алгоритм симплекс-метода для решения
задач линейного
В первом столбце этой таблицы располагаются обозначения векторов, входящих в базис.
Второй столбец - коэффициенты целевой функции, соответствующие векторам, входящим в базис.
Третий столбец - компоненты опорного плана. В дополнительной строке в этом столбце пишется величина . Её легко вычислить перемножая числа из второго столбца и третьего столбца и складывая их.
Далее идут столбцы, соответствующие всем векторам , и в этих столбцах записываются координаты этих векторов в рассматриваемом базисе. Заметим, что для векторов, входящих в базис, эти координаты имеют вид (0,0, ... ,0,1,0, ..., 0), где единица стоит в той строке, где находится сам этот базисный вектор. В дополнительной строке сверху обычно выписывают коэффициенты , соответствующие этим векторам. В дополнительной строке снизу пишутся величины , вычисляемые по формулам:
.
Заметим, что для векторов, входящих в базис, эти разности всегда равны нулю.
Далее идут следующие этапы, связанные с преобразованием этой таблицы. При ручном счете каждый раз эту таблицу лучше переписывать заново, при счете на ЭВМ (который, естественно, всегда используется при решении практических, а не учебных задач), эта таблица просто преобразуется в памяти ЭВМ.
Этап 1
Просматривается дополнительная строка снизу, где записаны разности .
| Если все эти разности , то план является оптимальным |
Этап 2
Если есть столбцы, где , то выбирается столбец с максимальным значением этой разности. Индекс j определит вектор, вводимый в базис.
Пусть , то есть в базис надо вводить вектор . Назовем столбец, соответствующий этому вектору, направляющим столбцом. В дальнейшем мы будем направляющий столбец помечать символом .
Этап 3
Просматривается столбец, соответствующий этому вектору. Если все , то значения целевой функции неограничены снизу. Если есть , то находятся
| где просматриваются лишь те дроби ,для которых |
Пусть этот минимум достигается для вектора
| помечать ее символом . |
Этап 4
После того, как определены направляющие столбец и строка, начинает заполняться новая симплекс-таблица, в которой на месте направляющей
| строки будет стоять вектор . |
Обычно заполнение этой новой таблицы начинается именно с направляющей строки. В качестве компоненты опорного плана туда
| пишется величина , то есть |
Остальные элементы этой строки заполняются величинами
Обратите внимание на особую роль элемента , стоящего на пересечении направляющей строки и направляющего столбца. Именно на него делятся все бывшие элементы направляющей строки. На месте бывшего элемента автоматически появляется единица.
Написанные
выше формулы для пересчета
Этап 5
Далее начинается пересчет всех остальных строк таблицы, включая и дополнительную нижнюю строку по формулам: для компонент плана
для координат разложения по базису
для дополнительной строки
Обратите внимание на то, что все эти формулы по сути дела строятся по одному правилу
Это
правило применимо и к
| 1 на месте бывшего элемента . |
Далее итерации продолжаются.[3]
1.4. Метод полного исключения Жордана
Имеется система т линейных алгебраических уравнений с п неизвестными, решение которой надо найти:
Производят
такие преобразования, в результате
которых в каждой строке и в каждом столбце
матрицы системы линейных алгебраических
уравнений остаются по одному неизвестному
с коэффициентами, равными единице, т.
е. фактически получают решение системы.
Например, необходимо исключить переменную
xs из всех строк за исключением
i-й. Коэффициент ais,
стоящий перед переменной xs,
называют генеральным
элементом, i-ю строку и 5-й столбец—разрешающими.
Прежде всего разрешающую строку делят
на ais
и она остается без изменения. Чтобы исключить
переменную xs
из первого уравнения, умножают разрешающую
строку на — ais
и складывают с первой строкой. В результате
получают первую строку с нулевым элементом
на месте ais.
Аналогично исключают xs
в остальных строках. Получают эквивалентную
запись системы алгебраических уравнений.
В ней i-я строка имеет прежний вид,
но все коэффициенты у нее поделены на
ais; 5-й столбец состоит
из нулевых элементов (кроме единичного,
стоящего в /-й строке). Остальные элементы
матрицы системы и столбец свободных переменных
пересчитывают по правилу
прямоугольника. Например, новое значение
элемента, а новое значение элемента столбца
свободных членов
Из
правила прямоугольника следует, что
когда в разрешающей строке (столбце)
есть нулевые элементы, то элементы столбцов
(строк), пересекающих эти нулевые элементы,
остаются без изменения.[1]
2. Задачи линейного программирования
Далее приведем примеры некоторых типовых задач, решаемых при помощи методов линейного программирования. Такие задачи имеют реальное экономическое содержание. Сейчас лишь сформулируем их в терминах ЗЛП, а методы решения подобных задач рассмотрим ниже.
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).
Таблица 2.1 - Исходные данные задачи об использовании производственных ресурсов
| производственные участки |
затраты времени на единицу продукции, н-час | доступный фонд времени, н-час | |
| клюшки | наборы шахмат | ||
| А | 4 | 6 | 120 |
| В | 2 | 6 | 72 |
| С | - | 1 | 10 |
| прибыль на
единицу продукции, $ |
2 | 4 | |

- Методы материальной мотивации на примере конкретной организации
- Методы медиапланирование
- Методы медиапланирования
- Методы медиапланирования
- Методы менеджмента
- Методы менеджмента
- Методы менеджмента
- Методы маркетинговых исследований
- Методы маркетинговых исследований
- Методы маркетинговых исследований
- Методы маркетинговых исследований
- Методы маркетинговых исследований
- Методы маркетинговых исследований
- Методы маркетинговых исследований и их применение на практике