Применение линейного программирования для решения экономических задач (оптимизация прибыли)
Применение линейного программирования для решения экономических задач (оптимизация прибыли)
КУРСОВАЯ
РАБОТА
по курсу:
Экономико-математические методы и модели
на тему: «Применение
линейного программирования для решения экономических задач (оптимизация
прибыли)»
Тюмень, 2007
СОДЕРЖАНИЕ
Введение 3
1.
Теоретико-методическое описание метода линейного программирования 5
2.
Области применения и ограничения использования линейного программирования для
решения экономических задач 16
3.
Оптимизация прибыли с применением метода ЛП 23
3.1 Постановка задачи и
формирование оптимизационной модели 23
3.2 Расчет и анализ результатов
оптимизации прибыли 24
Заключение 27
Список
литературы 29
Введение
Развитие современного общества характеризуется
повышением технического уровня, усложнением организационной структуры
производства, углублением общественного разделения труда, предъявлением высоких
требований к методам планирования и хозяйственного руководства. В этих условиях
только научный подход к руководству экономической жизнью общества позволит
обеспечить высокие темпы развития народного хозяйства.
Одним из необходимых условий дальнейшего развития
экономической науки является применение точных методов количественного анализа,
широкое использование математики. В настоящее время новейшие достижения
математики и современной вычислительной техники находят все более широкое
применение в экономических исследованиях и планировании. Этому способствует
развитие таких разделов математики, как математическое программирование, теория
игр, теория массового обслуживания, а также бурное развитие быстродействующей
электронно-вычислительной техники. Уже накоплен достаточный опыт постановки и
решения экономических задач с помощью математических методов. Особенно успешно
развиваются методы оптимального планирования, которые и составляют сущность
математического программирования.
Одной из основных становится задача создания единой
системы оптимального планирования и управления народным хозяйством на базе широкого
применения математических методов и электронно-вычислительной техники в
экономике.
Основной целью написания курсовой работы является
всесторонний анализ применения линейного программирования для решения
экономических задач. Задачами курсовой работы являются:
1. Теоретико-методическое описание метода линейного
программирования;
2. Выявление области применения и ограничения
использования линейного программирования для решения экономических задач;
3. Оптимизация прибыли с применением метода
линейного программирования;
4. Постановка задачи и формирование оптимизационной
модели;
5. Расчет и анализ результатов оптимизации прибыли.
1. Теоретико-методическое
описание метода линейного программирования
В настоящее время
линейное программирование является одним из наиболее употребительных аппаратов
математической теории оптимального принятия решений. Для решения задач
линейного программирования разработано сложное программное обеспечение, дающее
возможность эффективно и надежно решать практические задачи больших объемов.
Владение аппаратом линейного программирования необходимо каждому специалисту в
области прикладной математики.
Линейное программирование
– это наука о методах исследования и отыскания наибольших и наименьших значений
линейной функции, на неизвестные которой наложены линейные ограничения. Таким
образом, задачи линейного программирования относятся к задачам на условный
экстремум функции. По типу решаемых задач методы разделяются на универсальные и
специальные. С помощью универсальных методов могут решаться любые задачи линейного
программирования (ЗЛП). Специальные методы учитывают особенности модели задачи,
ее целевой функции и системы ограничений.
Особенностью задач
линейного программирования является то, что экстремума целевая функция
достигает на границе области допустимых решений. Классические же методы
дифференциального исчисления связаны с нахождением экстремумов функции во
внутренней точке области допустимых значений. Отсюда — необходимость разработки
новых методов. [3, c.7]
Линейное программирование
представляет собой наиболее часто используемый метод оптимизации. К числу задач
линейного программирования можно отнести задачи:
1. рационального использования сырья и
материалов;
2. задачи оптимального раскроя;
3. оптимизации производственной
программы предприятий;
4. оптимального размещения и
концентрации производства;
5. составления оптимального плана
перевозок, работы транспорта (транспортные задачи);
6. управления производственными
запасами;
7. и многие другие, принадлежащие сфере
оптимального планирования.
Линейное программирование
является одной из основных частей того раздела современной математики, который
получил название математического программирования. В общей постановке, задачи
этого раздела выглядят следующим образом.
Требуется найти такие
неотрицательные , которые
обеспечивают максимум или минимум целевой функции (формула 1.1), которые
удовлетворяют системе ограничений (формула 1.2) и не противоречат условиям
неотрицательности: .
(1.1)
(1.2)
… … … … … … … … … …
В зависимости от вида
функции различают разделы
математического программирования: квадратичное программирование, выпуклое программирование,
целочисленное программирование и т.д. Линейное программирование характеризуется
тем, что функция является
линейной функцией переменных . [1 c.11-12]
Формы задач линейного
программирования:
1. стандартная;
1.1 первая стандартная
форма (формула 1.3);
1.2 вторая стандартная
форма (формула 1.4);
2. каноническая (формула
1.5).
(1.3)
… … … … … … … … … …
.
(1.4)
… … … … … … … … … …
.
(1.5)
… … … … … … … … …
.
Задачу на минимум (формула
1.6) можно решать как задачу на максимум. Достаточно знаки целевой функции поменять
на противоположные (формула 1.7). В результате необходимо знак целевой функции
поменять на противоположный.
(1.6)
(1.7)
Аналогично можно сменить
знак неравенства меньше или равно (формула 1.8) на больше или равно (формула
1.9).
(1.8)
(1.9)
Целевая функция задачи
линейного программирования достигает своего экстремума (минимума или максимума)
в вершине допустимой области. Если целевая функция достигает экстремального
значения более чем на одной вершине, то она достигает того же значения в любой
точке, являющейся выпуклой комбинацией этих вершин (альтернативный оптимум).
Эта теорема имеет
важнейшие значение, так как она указывает путь решения задачи линейного
программирования. Совсем не надо перебирать все точки допустимой области.
Достаточно перебрать вершины допустимой области, а ведь их конечное число.
Кроме того, не нужно перебирать все вершины, можно этот перебор существенно
сократить.
Любой набор чисел , удовлетворяющий
ограничениям задачи, называют планом, а множество всех планов допустимой областью.
Тот план, который доставляет экстремум (минимум или максимум) целевой функции,
называют оптимальным планом или просто решением задачи линейного
программирования. [3 c.7-8]
Задачи линейного
программирования решаются несколькими методами:
1. графический метод;
2. симплексный метод;
3. двойственность в ЛП;
4.двойственный
симплексный метод.
Задачи линейного
программирования с двумя переменными всегда можно решить графически. Однако уже
в трехмерном пространстве такое решение усложняется, а в пространствах,
размерность которых больше трех, графическое решение невозможно.
Графический метод
довольно прост и нагляден. Он основан на геометрическом представлении
допустимых решений задачи. Каждое из неравенств задачи ЛП определяет на
координатной плоскости некоторую полуплоскость, а
система неравенств в целом – пересечение соответствующих плоскостей. Множество
точек пересечения данных полуплоскостей называется областью допустимых решений
(ОДР). ОДР всегда представляет собой выпуклую фигуру, т.е. обладающую следующим
свойством: если две точки А и В принадлежат этой фигуре, то и весь отрезок АВ
принадлежит ей. ОДР графически может быть представлен выпуклым многоугольником,
неограниченным выпуклой многоугольной областью, отрезком, лучом и т.д. В случае
несовместности системы ограничений задачи ОДР является пустым множеством.
При поиске оптимального
решения задач линейного программирования возможны следующие ситуации: существует
единственное решение задачи, существует бесконечное множество решений (альтернативный
оптимум); ЦФ не ограничена; область допустимых решений– единственная точка;
задача не имеет решений. [3 c.55-57]
Любая задача линейного
программирования, независимо от вида записи, может быть приведена к стандартной
и канонической форме и решена симплексным методом, который в определенном
смысле является универсальным методом ЛП. Алгоритм симплекс-метода носит
итерационный характер.
Симплекс-метод позволяет
переходить от одного допустимого базисного решения к другому, причем так, что
значения целевой функции непрерывно возрастают. Алгоритмы симплекс-метода
позволяют также установить, является ли задача ЛП разрешимой.
Переход от одного базиса
к другому позволяет находить решения почти всех задач ЛП. Определив все крайние
точки, можно вычислить значения целевой функции и найти оптимальное решение.
Однако для больших значений m и n это практически невозможно. [1 c.15]
Алгоритм решения задачи
ЛП табличным симплексом-методом состоит из следующих этапов:
1. рассчитывают и
заполняют начальную симплекс-таблицу с допустимым единичным базисом, включая
индексную строку.
2. находят разрешающий
столбец;
3. находят разрешающую
строку;
4. рассчитывают методом
Жордано-Гаусса все параметры матрицы;
5. анализируют полученные
данные в индексной строке.
Таблицы
симплекс-метода необходимо строить до тех пор, пока не будет получен
оптимальный план. План будет считаться оптимальным, если в последней индексной
строке симплекс-таблицы будут только нули и положительные числа. [1 c.20-22]
При
построении симплексного метода предполагалось, что все опорные планы
невырожденные, что обеспечивало получение оптимального плана за конечное
количество шагов. В случае вырожденного плана вычисления производят аналогично,
но в этом случае возможен возврат к старому базису, что приводи к так
называемому зацикливанию.
Метод искусственного
базиса применяется при
наличии в ограничении знаков “равно”, “больше либо равно”, “меньше либо равно” и является
модификацией табличного метода. Решение системы производится путём ввода
искусственных переменных со знаком, зависящим от типа оптимума, т.е. для
исключения из базиса этих переменных последние вводятся в целевую функцию с
большими отрицательными коэффициентами m, а в задачи минимизации - с положительными m. Таким образом, из исходной получается новая m - задача.
Если в оптимальном
решении m - задачи нет искусственных переменных,
это решение есть оптимальное решение исходной задачи. Если же в оптимальном
решении m - задачи хоть одна из искусственных
переменных будет отлична от нуля, то система ограничений исходной задачи
несовместна и исходная задача неразрешима.
В основу
модифицированного симплекс – метода положены такие особенности линейной
алгебры, которые позволяют в ходе решения задачи работать с частью матрицы
ограничений. Иногда метод называют методом обратной матрицы.
В процессе работы
алгоритма происходит спонтанное обращение матрицы ограничений по частям, соответствующим текущим
базисным векторам. Указанная способность делает весьма привлекательной машинную
реализацию вычислений вследствие экономии памяти под промежуточные переменные и
значительного сокращения времени счёта. Хорош для ситуаций, когда число
переменных n значительно превышает число ограничений m.
В целом, метод отражает
традиционные черты общего подхода к решению задач линейного программирования,
включающего в себя канонизацию условий задачи, расчёт симплекс-разностей,
проверку условий оптимальности, принятие решений о коррекции базиса и
исключение Жордана-Гаусса.
Особенности заключаются в
наличии двух таблиц - основной и вспомогательной, порядке их заполнения и
некоторой специфичности расчётных формул.
Каждой задаче линейного
программирования можно определенным образом сопоставить некоторую другую задачу,
называемую двойственной или сопряженной по отношению к исходной или прямой
задаче. Сопоставляя формы записи прямой и двойственной
задач, можно установить между ними следующие взаимосвязи:
1.
если прямая задача является задачей максимизации, то двойственная будет задачей
минимизации, и наоборот;
2.
коэффициенты целевой функции прямой задачи становятся свободными членами
ограничений двойственной задачи;
3.
свободные члены ограничений прямой задачи становятся коэффициентами целевой
функции двойственной задачи;
4.
матрица ограничений двойственной задачи получается путем транспортирования
матрицы ограничений прямой задачи;
5.
знаки неравенств в ограничениях изменяются на противоположные;
6.
число ограничений прямой задачи равно числу переменных двойственной задачи, и
наоборот.
Виды
математических моделей двойственных задач могут быть представлены в таблице
(табл. 1.1).
Таблица
1.1
Виды
математических моделей двойственных задач
Исходная задача |
Двойственная задача |
Несимметричные задачи |
|
|
|
|
Симметричные задачи |
|
|
|
|
Таким
образом, прежде чем записать двойственную задачу для данной исходной, систему
ограничений исходной задачи необходимо привести к соответствующему виду. [3,
с.114-115]
Если
из пары двойственных задач одна обладает оптимальным планом, то и другая имеет
решение, причем для экстремальных значений линейных функций выполняется
определенное соотношение (формула 1.10). Если линейная функция одной из задач
не ограничена, то другая не имеет решения.
(1.10)
Если прямая (а значит, и
двойственная) задача разрешима, то в каждой паре двойственных условий одно
является свободным, а другое закрепленным. Любое из условий называется
свободным, если оно выполняется как строгое неравенство хотябы для одного
оптимального вектора. Условие называется закрепленным, если оно выполняется как
равенство для всех оптимальных векторов.
Двойственную
задачу выгоднее решать, чем прямую, если в прямой задаче при малом количестве
переменных имеется большое количество ограничений. [2, c 70-71]
Симплексный метод
позволяет наряду с получением решения прямой задачи получать и решение
двойственной задачи. Этот результат и лежит в основе двойственного симплексного
метода решения задачи. Суть метода состоит в таком последовательном переборе
угловых точек допустимого множества Q0 двойственной задачи, при котором
значение целевой функции возрастает, т. е. в применении симплексного метода к
решению двойственной задачи. Будем предполагать, что задача невырождена, т. е.
каждой угловой точке множества Q0 соответствует квадратная невырожденная система уравнений
размерности m, матрицу которую и называют двойственным базисом прямой
задачи. Вместе с тем двойственный симплекс–метод можно применять при решении
задачи линейного программирования, свободные члены системы уравнений которой
могут быть любыми числами (при решении задачи симплексным методом эти числа
предполагались неотрицательными).
Отыскание решения задачи
двойственным симплекс-методом включает в себя следующие этапы:
1. Находят псевдоплан
задачи.
2. Проверяют этот
псевдоплан на оптимальность. Если псевдоплан оптимален, то найдено решение
задачи. В противном случае либо устанавливают неразрешимость задачи, либо переходят
к новому псевдоплану.
3. Выбирают разрешающую
строку с помощью определения наибольшего по абсолютной величине отрицательного
числа столбца вектора Р0 и разрешающий столбец с помощью
нахождения наименьшего по абсолютной величине отношения элементов (m+1)–и
строки к соответствующим отрицательным элементам разрешающей строки.
4. Находят новый
псевдоплан и повторяют все действия начиная со второго этапа.
Двойственный симплексный
метод называют также методом последовательного уточнения оценок, поскольку
угловые точки задачи, возникающие при итерациях, можно рассматривать как
приближенные значения точной оценки у*, т. е. как приближенные оценки влияния
условий задачи на величину минимума целевой функции. [2, c.87-92]
Значительная
часть экономических задач, относящихся к задачам линейного программирования,
требует целочисленного решения. К ним относятся задачи, у которых переменные
величины означают количество единиц неделимой продукции, например распределение
производственных заданий между предприятиями, раскрой материалов, загрузка
оборудования, распределение судов по линиям, самолетов по рейсам, а также
задачи по производству неделимой продукции. Если единица составляет малую часть
всего объема производства, то оптимальное решение находят обычным симплексным
методом, округляя его до целых единиц, исходя из смысла задачи. В противном
случае округление может привести к решению, далекому от оптимального
целочисленного решения.
Задача
целочисленного программирования формулируется так же, как и задача линейного
программирования, но включается дополнительное требование, состоящее в том, что
значения переменных, составляющих оптимальное решение, должны быть целыми
неотрицательными числами.
Метод
решения таких задач, предложенный Гомори, основан на симплексном методе и
состоит в следующем. Симплексным методом находится оптимальный план задачи без
учета условия целочисленности. Если оптимальный план целочисленный, то
вычисления заканчивают; если же оптимальный план содержит хотя бы одну дробную
компоненту Xi, то накладывают дополнительное
ограничение, учитывающее целочисленность компонент плана, и вычисления
симплексным методом продолжают до тех пор, пока либо будет найден целочисленный
оптимальный план, либо доказано, что задача не имеет целочисленных оптимальных
планов. [3 c.122-123]
Особенно
широкое распространение линейное программирование получило в экономике, так как
исследование зависимостей между величинами, встречающимися во многих
экономических задачах, приводит к линейной функции с линейными ограничениями,
наложенными на неизвестные.
2. Области применения и
ограничения использования линейного программирования для решения экономических
задач
Особенно
широкое применение методы и модели линейного программирования получили при
решении задач экономии ресурсов (выбор ресурсосберегающих технологий,
составление смесей, раскрой материалов, производственно-транспортных и других
задач). [2, c.92]
Рассмотрим постановку
задачи о наилучшем использовании ресурсов. Пусть некоторая производственная
единица (цех, завод, объединение и т. д.), исходя из конъюнктуры рынка,
технических или технологических возможностей и имеющихся ресурсов, может
выпускать n различных видов продукции (товаров),
известных под номерами, обозначаемыми индексом j . Товары будем обозначать .
Предприятие при производстве этих видов продукции должно ограничиваться
имеющимися видами ресурсов, технологий, других производственных факторов
(сырья, полуфабрикатов, рабочей силы, оборудования, электроэнергии и т. д.).
Все эти виды ограничивающих факторов называют ингредиентами . Пусть их число равно m; припишем им индекс i . Они ограничены, и их количества равны соответственно
условных единиц. Таким
образом, - вектор ресурсов.
Известна экономическая выгода (мера полезности) производства продукции каждого
вида, исчисляемая, скажем, по отпускной цене товара, его прибыльности,
издержкам производства, степени удовлетворения потребностей и т. д. Примем в
качестве такой меры, например, цену реализации , т. е. — вектор цен.
Известны также технологические коэффициенты ,
которые указывают, сколько единиц i–го ресурса требуется для производства единицы продукции j-го вида. Матрицу коэффициентов называют технологической и
обозначают буквой А. Имеем .
Обозначим через план
производства, показывающий, какие виды товаров нужно
производить и в каких количествах, чтобы обеспечить предприятию максимум объема
реализации при имеющихся ресурсах. Так как -
цена реализации единицы j-й
продукции, цена реализованных единиц
будет равна , а общий объем реализации
примет вид (формула 2.1). Это — целевая функция, которую нужно максимизировать.
(2.1)
Так как - расход i-го ресурса на производство единиц j-й продукции, то, просуммировав
расход i-го ресурса на выпуск всех n видов продукции, получим общий
расход этого ресурса, который не должен превосходить единиц (формула 2.2).
(2.2)
Чтобы искомый план был реализован, наряду с ограничениями
на ресурсы нужно наложить условие неотрицательности на объёмы выпуска продукции .
В модель задачи о наилучшем
использовании ресурсов входят: целевая функция (формула 2.3), система
ограничений (формула 2.4) и условия неотрицательности (формула 2.5)
(2.3)
(2.4)
(2.5)
Так как переменные входят в функцию и систему ограничений
только в первой степени, а показатели являются
постоянными в планируемый период, то это – задача линейного программирования.
В различных отраслях народного
хозяйства возникает проблема составления таких рабочих смесей на основе исходных
материалов, которые обеспечивали бы получение конечного продукта, обладающего
определенными свойствами. К этой группе задач относятся задачи о выборе диеты,
составлении кормового рациона в животноводстве, шихт в металлургии, горючих и
смазочных смесей в нефтеперерабатывающей промышленности, смесей для получения бетона
в строительстве и т. д.. Высокий уровень затрат на исходные сырьевые материалы
и необходимость повышения эффективности производства выдвигает на первый план
следующую задачу: получить продукцию с заданными свойствами при наименьших затратах
на исходные сырьевые материалы.
Сущность задачи об
оптимальном раскрое состоит в разработке таких технологически допустимых планов
раскроя, при которых получается необходимый комплект заготовок, а отходы (по
длине, площади, объему, массе или стоимости) сводятся к минимуму. Более сложные
постановки ведут к задачам целочисленного программирования.
Общая
постановка транспортной задачи состоит в определении оптимального плана
перевозок некоторого однородного груза из m пунктов отправления в n пунктов назначения . При этом в качестве
критерия оптимальности обычно берется либо минимальная стоимость перевозок
всего груза, либо
минимальное время его доставки. Рассмотрим транспортную задачу, в качестве
критерия оптимальности которой взята минимальная стоимость перевозок всего
груза. Обозначим через тарифы перевозки
единицы груза из i-го пункта отправления в j-й пункт назначения, через – запасы груза в i-м
пункте отправления, через –
потребности в грузе в j–м пункте назначения, а через – количество единиц груза,
перевозимого из i-го пункта отправления в j-й пункт назначения. Тогда
математическая постановка задачи состоит в определении минимального значения
функции (формула 2.7) при определенных ограничениях (формула 2.8) и условиях неотрицательности
(формула 2.9).
(2.7)
(2.8)
(2.9)
Обычно исходные данные
транспортной задачи записывают в виде таблицы, которую называют матрицей
планирования. (табл. 2.1).
Таблица 2.1
Матрица планирования ТЗ
Поставщики |
Потребители |
Запасы |
B1 |
B2 |
… |
Bn |
A1 |
C11 |
C12 |
… |
C1n |
a1 |
A2 |
C21 |
C22 |
… |
C2n |
a2 |
… |
… |
… |
… |
… |
… |
Am |
Cm1 |
Cm2 |
… |
Cmn |
am |
|
b1 |
b2 |
… |
bn |
|
Таким образом,
обеспечивается доставка необходимого количества груза в каждый из пунктов
назначения, вывоз имеющегося груза из всех пунктов отправления, а также
исключаются обратные перевозки. Всякое неотрицательное решение систем линейных
уравнений называется планом транспортной задачи. План, при котором целевая функция
принимает свое минимальное значение, называется оптимальным планом транспортной
задачи. Если в опорном плане число отличных от нуля компонент равно в точности n+m–1, то
план является невырожденным, а если меньше – то вырожденным. [3 c.132-134]
Если общая потребность в
грузе в пунктах назначения равна запасу груза в пунктах отправления, то модель
такой транспортной задачи называется закрытой. Если же указанное условие не
выполняется, то модель транспортной задачи называется
открытой.
В случае
превышения запаса над потребностью, вводится фиктивный (n+1)–й пункт назначения
с потребностью (формула 2.10) и соответствующие тарифы считаются равными нулю.
Аналогично, в случае, если потребности превышают количество запасов, также вводится
фиктивный (m+1)–й пункт отправления с запасом груза и тарифы полагаются равными
нулю (формула 2.11). Этим задача сводится к обычной транспортной задаче, из
оптимального плана которой получается оптимальный план исходной задачи.
(2.10)
(2.11)
Как и для всякой задачи
линейного программирования, оптимальный план транспортной задачи является и
опорным планом. Опорный план является допустимым решением ТЗ и используется в качестве
начального базисного решения при нахождении оптимального решения методом
потенциалов. Существует четыре метода нахождения опорных планов:
1. метод северо-западного
угла;
2. метод минимального элемента;
3. метод двойного
предпочтения;
4. метод штрафов (Фогеля).
"Качество"
опорных планов, полученных этими методами, различается: в общем случае метод
Фогеля дает наилучшее решение (зачастую оптимальное), а метод северо-западного
угла– наихудшее.
Все
существующие методы нахождения опорных планов отличаются только способом выбора
клетки для заполнения. Само заполнение происходит одинаково независимо от
используемого метода. Следует помнить, что перед нахождением опорного плана
транспортная задача должна быть сбалансирована.
В методе северо-западного
угла из всех не вычеркнутых клеток выбирается самая левая и верхняя
(северо-западная) клетка. Другими словами, на каждом шаге выбирается первая из
оставшихся не вычеркнутых строк и первый из оставшихся не вычеркнутых столбцов.
Для того
чтобы заполнить клетку (i,j), необходимо сравнить текущий запас товара в рассматриваемой i-й строке с текущей
потребностью в рассматриваемом j-м столбце. Нахождение опорного плана продолжается до тех
пор, пока не будут вычеркнуты все строки и столбцы. [3 c.137]
В методе
минимального элемента первой клеткой выбирают клетку с наименьшей суммой
доставки и заполняют ее максимально возможным грузом.
Если таблица
стоимостей велика, то перебор всех элементов затруднителен. В этом случае
используют метод двойного предпочтения, суть которого заключается в следующем:
в каждой строке и каждом столбце отмечают «V» наименьшую стоимость, а затем
клетки с двойным символом «VV» заполняют с учетом наименьшей стоимости. Затем
распределяют перевозки по клеткам, отмеченным знаком «V». В оставшейся части
таблицы перевозки распределяют по наименьшей стоимости.
На каждом
шаге метода Фогеля
для каждой i-й
строки вычисляются штрафы, как разность между двумя наименьшими тарифами
строки. Таким же образом вычисляются штрафы для каждого j-го столбца. После чего выбирается
максимальный штраф из всех штрафов строк и столбцов. В строке или столбце,
соответствующем выбранному штрафу, для заполнения выбирается не вычеркнутая
клетка с минимальным тарифом. Если существует несколько одинаковых по величине
максимальных штрафов в матрице, то в соответствующих строках или столбцах
выбирается одна не вычеркнутая клетка с минимальным тарифом.
Если клеток с
минимальным тарифом также несколько, то из них выбирается клетка (i,j) с максимальным
суммарным штрафом, т.е. суммой штрафов по i-й строке и j-му столбцу.
Если план транспортной
задачи является оптимальным, то ему соответствует система из m+n чисел Ui и Vj, удовлетворяющих условиям: Ui+Vj=Cij для занятых
клеток и Ui+Vj≤Сij в
свободных клетках. Числа Ui и Vj называются потенциалами соответственно
поставщиков и потребителей. При решении одному неизвестному потенциалу
придается произвольное значение. [3 c.141]
3. Оптимизация прибыли с
применением метода линейного программирования
Предприятие реализует
товары трех групп. Известны нормативы затрат ресурсов Aij в расчете на единицу товара и
ограничения по располагаемым ресурсам, которые приведены в (табл. 3.1)
Таблица 3.1
Нормативы затрат ресурсов
и ограничений
Ресурсы |
Нормативы
затрат ресурсов по продаже товаров |
Aj |
Bj |
Cj |
Рабочее
время, чел.ч. |
А11=0,1 |
А12=0,2 |
А13=0,4 |
Площадь
торговых помещений, м2 |
А21=0,05 |
А22=0,02 |
А23=0,02 |
Издержки
обращения на ед. товара, руб. |
А31=3 |
А32=1 |
А33=2 |
Доход
на единицу товара, руб. |
С1=3 |
С2=5 |
С3=4 |
План
продажи, ед. |
X1 |
X2 |
X3 |
Ограничение объемов
ресурсов составляют: ресурс первого вида ≤ 1300, ресурс второго вида ≤
140, ресурс третьего вида ≤8200.
Необходимо составить
оптимальный план товарооборота по критерию максимума дохода.
Это классическая задача
линейного программирования о наилучшем использовании ресурсов. В данной задаче
также будет присутствовать целочисленное программирование, т.к. продукция
неделимая.
Составим оптимизационную
модель. Запишем целевую функцию(формула 3.1), ограничения на количество
ресурсов (формула 3.2) и условия неотрицательности (формула 3.3)
(3.1)
(3.2)
(3.3)
Первоначальный опорный
план симплекс методом находится только тогда, когда в системе ограничения левые
и правые части уравнения равны. Поэтому необходимо перейти от неравенств к
равенствам, прибавляя к левым частям неотрицательные дополнительные переменные
(дополнительным переменным в линейной функции соответствуют коэффициенты равные
нулю). Следовательно, целевая функция (формула 3.4), система ограничений
(формула 3.5) и условия неотрицательности (формула 3.6)примут другой вид.
(3.4)
(3.5)
(3.6)
Решаем задачу симплексным
методом. Расчеты производим в симплекс таблице. (см. табл. 3.2)
Таблица 3.2
Первая симплексная
таблица
Базис |
Cj баз. |
B |
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
3 |
5 |
4 |
0 |
0 |
0 |
X4 |
0 |
1300 |
0.1 |
0.2 |
0.4 |
1 |
0 |
0 |
X5 |
0 |
140 |
0.05 |
0.02 |
0.02 |
0 |
1 |
0 |
X6 |
0 |
8200 |
3 |
1 |
2 |
0 |
0 |
1 |
П(x) |
0 |
-3 |
-5 |
-4 |
0 |
0 |
0 |
Этот план не является
оптимальным, так как в строке «прибыль» есть три отрицательные оценки. Выбирая
наименьшую оценку, находим направляющий столбец. Направляющую строку находим,
поочередно деля, значение «В» i-й
строки на элемент i-й строки
направляющего столбца. Направляющей строкой будет та, в которой значение
частного будет наименьшим. Направляющий столбец - пятый, направляющая строка первая.
Разрешающий элемент находим на пересечении направляющей строки и столбца, он
равен 0.2. Строим вторую симплексную таблицу. (табл. 3.3)
Таблица 3.2
Вторая симплексная
таблица
Базис |
Cj баз. |
B |
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
3 |
5 |
4 |
0 |
0 |
0 |
X2 |
5 |
6500 |
0.5 |
1 |
2 |
5 |
0 |
0 |
X5 |
0 |
10 |
0.04 |
0 |
-0.02 |
-0.1 |
1 |
0 |
X6 |
0 |
1700 |
2.5 |
0 |
0 |
-5 |
0 |
1 |
П(x) |
32500 |
-0.5 |
0 |
6 |
25 |
0 |
0 |
Этот план тоже не
оптимальный, так как в строке «прибыль» еще есть отрицательные элементы. Снова находим
направляющий столбец и строку. Направляющий столбец - четвертый, направляющая
строка - вторая. Разрешающий элемент равен 0.04. Строим третью симплексную
таблицу. (табл. 3.4)
Таблица 3.3
Третья симплексная
таблица
Базис |
Cj баз. |
B |
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
3 |
5 |
4 |
0 |
0 |
0 |
X2 |
5 |
6375 |
0 |
1 |
2.25 |
6.25 |
-12.5 |
0 |
X1 |
3 |
250 |
1 |
0 |
-0.5 |
-2.5 |
25 |
0 |
X6 |
0 |
1075 |
0 |
0 |
1.25 |
1.25 |
-62.5 |
1 |
П(x) |
32625 |
0 |
0 |
5.75 |
23.75 |
12.5 |
0 |
В результате проведения
двух итераций получаем оптимальный план ,
которому соответствует максимальное значение линейной функции F(x)max=32625.
В итоговой строке
«прибыль» на пересечении со столбцами X4 X5 X6 можно найти двойственные оценки
ресурсов, которые покажут, какую прибыль приносит одна единица каждого
имеющегося в наличии ресурса.
Прибыль от одного
человеко-часа рабочего времени составит 23 рубля 75 копеек. Прибыль от одного
квадратного метра торговых помещений равна 12 рублям 50 копейкам, а третий
ресурс (издержки обращения на единицу товара) использован не полностью и
прибыль от него равна 0 рублям.
Ответ: Предприятию
необходимо реализовывать 250 единиц товара первой группы и 6375 единиц товара
второй группы, тогда остатки третьего ресурса (издержки обращения на единицу
товара) составят 1075 рублей. При этом максимальный доход будет равен 32625
рублей.
Заключение
Содержание
математического программирования составляют теория и методы решения задач о
нахождении экстремумов функций на множествах, определяемых линейными и
нелинейными ограничениями (равенствами и неравенствами). Математическое
программирование является одним из разделов науки об исследовании операций.
Задачи математического
программирования находят применение в различных областях человеческой
деятельности, где необходим выбор одного из возможных образов действий
(программ действий), например, при решении проблем управления и планирования
производственных процессов, в проектировании и перспективном планировании, в
военном деле и т.д.
Значительное число задач,
возникающих в обществе, связано с управляемыми явлениями, т.е. с явлениями,
регулируемыми на основе сознательно принимаемых решений. При том ограниченном
объеме информации, который был доступен на ранних этапах развития общества,
принималось оптимальное в некотором смысле решение на основании интуиции и
опыта, а затем, с возрастанием объема информации об изучаемом явлении, - с помощью
ряда прямых расчетов. Так происходило, например, создание календарных планов
работы промышленных предприятий.
Совершенно иная картина
возникает на современном промышленном предприятии с многосерийным и
многономенклатурным производством, когда объем входной информации столь велик,
что его обработка с целью принятия определенного решения невозможна без
применения компьютеров. Еще большие трудности возникают в связи с задачей о
принятии наилучшего решения. Проблема принятия решений в исследовании операций
неразрывно связана с процессом моделирования.
Первый этап процесса
моделирования состоит в построении качественной модели. Второй этап -
построение математической модели paccматриваемой проблемы. Этот этап включает
также построение целевой функции, т. е. такой числовой характеристики, большему
(или меньшему) значению которой соответствует лучшая ситуация с точки зрения
принимающего решения. Итак, в результате этих двух этапов формируется
соответствующая математическая задача.
Третий этап -
исследование влияния переменных на значение целевой функции. Этот этап
предусматривает владение математическим аппаратом для решения математических
задач, возникающих на втором этапе процесса принятия решения.
Четвертый этап -
сопоставление результатов вычислений, полученных на третьем этапе, с
моделируемым объектом, т. е. экспертная проверка результатов (критерий
практики). Таким образом, на этом этапе устанавливается степень адекватности
модели и моделируемого объекта в пределах точности исходной информации.
Широкий класс задач
управления составляют такие экстремальные задачи, в математических моделях которых
условия на переменные задаются равенствами и неравенствами. Теория и методы
решения этих задач как раз и составляют содержание математического
программирования.
Список литературы
1. Берюхова Т.Н.Банк производственных задач
в расчетах на ЭВМ: учебное пособие. – Тюмень.: ТюмИИ, 1992. – 124с.
2. Карманов В.Г. Математическое
программирование: учебное пособие для студентов вузов. – М.: Физматлит, 2001. –
264с.
3. Кузнецов А.В. Математическое
программирование: учебное пособие для вузов. – М.: Высшая школа, 1976. – 352с.
4. Мочалов И.А. Нечеткое линейное
программирование. // Промышленные АСУ и контроллеры. – 2006. - № 10. – с.26-29.
5. Пашутин С.Оптимизация издержек и
технология формирования оптимального ассортимента. // Управление персоналом. –
2005. - №5. – с.20-24.
|