Работа посвящена рассмотрению математического метода решения ряда экономических задач, а именно, методу линейного программирования.
Вложение | Размер |
---|---|
nou.docx | 150.98 КБ |
Муниципальное бюджетное образовательное учреждение «Школа №45»
с углубленным изучением отдельных предметов
Приокского района г. Н. Новгорода
Научное общество учащихся
Математический метод решения задач с экономическим содержанием
Выполнил: Труфанов Сергей,
ученик 10 а класса
Научный руководитель:
Демидовская А.М.
Содержание
3.1 Пример решения задачи симплекс методом …...………………......6
3.2 Методы решения транспортных задач ……..…………………........9
3.4 Полное решение транспортной задачи .........................…………..14
Математическое программирование — область математики, разрабатывающая теорию и численные методы решения многомерных экстремальных задач с ограничениями, т. е. задач на экстремум функции многих переменных с ограничениями на область изменения этих переменных. Функцию, экстремальное значение которой нужно найти в условиях экономических возможностей, называют целевой, показателем эффективности или критерием оптимальности. Экономические возможности формализуются в виде системы ограничений. Все это составляет математическую модель. Математическая модель задачи — это отражение оригинала в виде функций, уравнений, неравенств, цифр и т. д.
Модель задачи математического программирования включает:
1) совокупность неизвестных величин, действуя на которые, систему можно совершенствовать. Их называют планом задачи (вектором управления, решением, управлением, стратегией, поведением и др.);
2) целевую функцию (функцию цели, показатель эффективности, критерий оптимальности, функционал задачи и др.). Целевая функция позволяет выбирать наилучший вариант - из множества возможных. Наилучший вариант доставляет целевой функции экстремальное значение. Это может быть прибыль, объем выпуска или реализации, затраты производства, издержки обращения, уровень обслуживания или дефицитности, число комплектов, отходы и т.д. Эти условия следуют из ограниченности ресурсов, которыми располагает общество в любой момент времени, из необходимости удовлетворения насущных потребностей, из условий производственных и технологических процессов.
Целью работы является: познакомиться с МЛП и его практическим использованием. Для этого были поставлены следующие задачи:
Среди оптимизационных задач в теории принятия решений наиболее известны задачи линейного программирования, в которых максимизируемая функция F(X) является линейной, а ограничения задаются линейными неравенствами.
Линейное программирование — математическая дисциплина, посвящённая теории и методам решения экстремальных задач на множествах n-мерного векторного пространства, задаваемых системами линейных уравнений и неравенств.
Линейное программирование является частным случаем выпуклого программирования, которое в свою очередь является частным случаем математического программирования. Одновременно оно — основа нескольких методов решения задач целочисленного и нелинейного программирования.
2.2 Три способа решения задач методом линейного программирования
Первый способ - простой перебор. Возьмем некоторый многомерный параллелепипед, в котором лежит многогранник, задаваемый ограничениями. Как его построить? Например, если имеется ограничение типа 2Х1 + 5Х2 ≤ 10, то, очевидно, 0 ≤ Х1 ≤ 10/2 = 5 и 0 ≤ Х2 ≤ 10/5 = 2. Аналогичным образом от линейных ограничений общего вида можно перейти к ограничениям на отдельные переменные. Остается взять максимальные границы по каждой переменной.
Второй способ - направленный перебор. Начнем с точки, удовлетворяющей ограничениям (ее можно найти простым перебором). Будем последовательно (или случайно - т.н. метод случайного поиска) менять ее координаты на определенную величину ∆, каждый раз в точку с более высоким значением целевой функции. Если выйдем на плоскость ограничения, будем двигаться по ней (находя одну из координат по уравнению ограничения). Затем движение по ребру (когда два ограничения-неравенства переходят в равенства)… Остановка - в вершине линейного многогранника. Решение найдено! (Более строго выражаясь, найдено с точностью до ∆; если необходимо, в окрестности найденного решения проводим направленный перебор с шагом ∆/2 , ∆/4 и т.д.)
Третий способ – симплексный метод. Этот один из первых специализированных методов оптимизации, нацеленный на решение задач линейного программирования, в то время как методы простого и направленного перебора могут быть применены для решения практически любой задачи оптимизации. Он был предложен американцем Г. Данцигом в 1951 г. Симплекс-метод состоит в продвижении по выпуклому многограннику ограничений от вершины к вершине, при котором на каждом шаге значение целевой функции улучшается до тех пор, пока не будет достигнут оптимум.
2.3 Симплексный метод решения задач линейного программирования
Для того, чтобы решить задачу симплексным методом необходимо выполнить следующее:
3.1 Пример решения задачи симплекс методом
Рассмотрим пример решения задачи симплексным методом.
Дано:
Найти наибольшее значение функции
F = 6x1+5x2+9x3
при следующих ограничениях:
x1 ≥ 0 x2 ≥ 0 x3 ≥ 0
Решение:
S1 ≥ 0, S2 ≥ 0, S3 ≥ 0. Введенные переменные S1, S2, S3, называются балансовыми переменными.
Нахождение начального базиса и значения функции F, которое соответствует найденному начальному базису. Переменная называется базисной для данного уравнения, если она входит в данное уравнение с коэффициентом один и не входит в оставшиеся уравнения (при условии, что в правой части уравнения стоит положительное число). Если в каждом уравнении присутствует базисная переменная, тогда говорят, что в системе присутствует базис. Переменные, которые не являются базисными, называются свободными. Идея симплекс метода заключается в том, чтобы переходить от одного базиса к другому, получая значение функции, как минимум, не меньше имеющегося (каждому базису соответствует единственное значение функции). Очевидно, количество всевозможных базисов для любой задачи число конечное (и не очень большое).
Следовательно, рано или поздно, ответ будет получен.
Как осуществляется переход от одного базиса к другому?
Запись решения удобнее вести в виде таблиц. Каждая строка эквивалентна уравнению системы. Выделенная строка состоит из коэффициентов функции. Это позволяет не переписывать переменные каждый раз, что существенно экономит время. B выделенной строке выбираем наибольший положительный коэффициент. Это необходимо для того, чтобы получить значение функции, как минимум, не меньше имеющегося.
Выбран столбец.
Для положительных коэффициентов выбранного столбца считаем отношение Θ и выбираем наименьшее значение. Это необходимо для того, чтобы после преобразования столбец свободных членов остался положительным.
Выбрана строка.
Следовательно, определен элемент, который будет базисным. Далее считаем.
Приравниваем свободные переменные нулю, устно находим значения базисных переменных.
Функция F выражена через свободные переменные, следовательно, ее значение для данного решения можно найти мгновенно.
x1 = 0 x2 = 0 x3 = 0
S1 = 25 S2 = 20 S3 = 18 => F = 0
Начальный базис найден и получено значение функции F соответствующее найденному базису.
Нахождение наибольшего значения функции F
Шаг 1)
Приравниваем свободные переменные нулю, устно находим значения базисных переменных. (см. таблицу)
Функция F выражена через свободные переменные, следовательно, ее значение для данного решения можно найти мгновенно.
x1 = 0 x2 = 0 S3 = 0
x3 = 6 S1 = 7 S2 = 8 => F - 54 = 0 => F = 54
x1 | x2 | x3 | S1 | S2 | S3 | св. член | Θ |
5 | 2 | 3 | 1 | 0 | 0 | 25 | 25 : 3 ≈ 8,33 |
1 | 6 | 2 | 0 | 1 | 0 | 20 | 20 : 2 = 10 |
4 | 0 | 3 | 0 | 0 | 1 | 18 | 18 : 3 = 6 |
6 | 5 | 9 | 0 | 0 | 0 | F - 0 | |
5 | 2 | 3 | 1 | 0 | 0 | 25 | |
1 | 6 | 2 | 0 | 1 | 0 | 20 | |
4/3 | 0 | 1 | 0 | 0 | 1/3 | 6 | |
6 | 5 | 9 | 0 | 0 | 0 | F - 0 | |
1 | 2 | 0 | 1 | 0 | -1 | 7 | |
-5/3 | 6 | 0 | 0 | 1 | -2/3 | 8 | |
4/3 | 0 | 1 | 0 | 0 | 1/3 | 6 | |
-6 | 5 | 0 | 0 | 0 | -3 | F - 54 |
Шаг 2)
Приравниваем свободные переменные нулю, устно находим значения базисных переменных. (см. таблицу)
Функция F выражена через свободные переменные, следовательно, ее значение для данного решения можно найти мгновенно. (см. таблицу)
x1 = 0 S2 = 0 S3 = 0
x2 = 4/3 x3 = 6 S1 = 13/3 => F - 182/3 = 0 => F = 182/3
Среди коэффициентов выделенной строки нет положительных. Следовательно, найдено наибольшее значение функции F.
x1 | x2 | x3 | S1 | S2 | S3 | св. член | Θ |
1 | 2 | 0 | 1 | 0 | -1 | 7 | 7 : 2 ≈ 3,50 |
-5/3 | 6 | 0 | 0 | 1 | -2/3 | 8 | 8 : 6 ≈ 1,33 |
4/3 | 0 | 1 | 0 | 0 | 1/3 | 6 | |
-6 | 5 | 0 | 0 | 0 | -3 | F - 54 | |
1 | 2 | 0 | 1 | 0 | -1 | 7 | |
-5/18 | 1 | 0 | 0 | 1/6 | -1/9 | 4/3 | |
4/3 | 0 | 1 | 0 | 0 | 1/3 | 6 | |
-6 | 5 | 0 | 0 | 0 | -3 | F - 54 | |
14/9 | 0 | 0 | 1 | -1/3 | -7/9 | 13/3 | |
-5/18 | 1 | 0 | 0 | 1/6 | -1/9 | 4/3 | |
4/3 | 0 | 1 | 0 | 0 | 1/3 | 6 | |
-83/18 | 0 | 0 | 0 | -5/6 | -22/9 | F - 182/3 |
Ответ: x1 = 0 x2 = 4/3 x3 = 6 Fmax = 182/3
3.2 Методы решения транспортных задач
Метод минимальной стоимости
Суть метода заключается в том, что из всей таблицы стоимостей выбирают наименьшую и в клетку, которая ей соответствует, помещают меньшее из чисел Ai или Bi. Затем из рассмотрения исключают либо строку, соответствующую поставщику, запасы которого полностью израсходованы, либо столбец, соответствующий потребителю, потребности которого полностью удовлетворены, либо и строку и столбец, если израсходованы запасы поставщика и удовлетворены потребности потребителя. Из оставшейся части таблицы стоимостей снова выбирают наименьшую стоимость, и процесс распределения запасов продолжают, пока все запасы не будут распределены, а потребности удовлетворены. Составим с помощью этого метода опорный план уже рассмотренной задачи. Запишем ее условие в таблицу (таблица 2). Выбираем в таблице наименьшую стоимость (это стоимость, помещенная в клетке A1 B4), так как A1 = B4 , 50 единиц груза помещаем в этой клетке и исключаем из рассмотрения первую строку и четвертый столбец.
В оставшейся таблице стоимостей наименьшей является стоимость, расположенная в клетке A2 B1 и в клетке A3 B5. Заполняем любую из них, например A2 B1 . Имеем 100 < 125, следовательно, записываем в нее 100 и исключаем из рассмотрения столбец B1. В клетку A3 B5 записываем 100 ед. и исключаем из рассмотрения строку A3. В оставшейся таблице стоимостей снова выбираем наименьшую стоимость и продолжаем процесс до тех пор, пока все запасы не будут распределены, а потребности удовлетворены.
Таблица 2
Поставщики | Потребители | Запасы | ||||
B1 | B2 | B3 | B4 | B5 | ||
A1 | 10 50 | 7 - | 4 - | 1 - | 4 - | 50 |
A2 | 2 50 | 7 75 | 10 - | 6 - | 11 - | 125 |
A3 | 8 - | 5 25 | 3 50 | 2 25 | 2 - | 100 |
A4 | 11 - | 8 - | 12 - | 16 25 | 13 125 | 150 |
Потребности | 100 | 100 | 50 | 50 | 125 | 425 |
План не содержит циклов и состоит из семи положительных перевозок, следовательно, является вырожденным опорным планом. Определим его стоимость: Z = 50*1 + 100*2 + 25*7 + 100*2 + 75*8 + 50*12 + 25*13 = 2150 (единиц). Стоимость плана перевозок значительно меньше, следовательно, он ближе к оптимальному.
Метод двойного предпочтения
Если таблица стоимостей велика, то перебор всех элементов затруднителен. В этом, случае используют метод двойного предпочтения, суть которого заключается в следующем. В каждом столбце отмечают знаком * клетку с наименьшей стоимостью. Затем то же проделывают в каждой строке. В результате некоторые клетки имеют отметку **. В них находится минимальная стоимость как по столбцу, так и по строке.
В эти клетки помещают максимально возможные объемы перевозок, каждый раз исключая из рассмотрения соответствующие столбцы или строки. Затем распределяют перевозки по клеткам, отмеченным знаком *. В оставшейся части таблицы перевозки распределяют по наименьшей стоимости.
Пример:
Это опорный план составленный методом двойного предпочтения.
3.3 Полное решение транспортной задачи
Колхоз имеет возможность приобрести не более 19 трехтонных автомашин и не более 17 пятитонных. Отпускная цена трехтонного грузовика - 4000 руб., пятитонного - 5000 руб. Колхоз может выделить для приобретения автомашин 141 тысяч рублей. Сколько нужно приобрести автомашин, чтобы их суммарная грузоподъемность была максимальной? Задачу решить графическими и аналитическими методами.
Решение:
Составим математическую модель задачи. Пусть x1 – количество трехтонных автомашин, x2 – количество пятитонных автомашин. По условию 0 ≤ x1≤ 19, 0 ≤ x2 ≤ 17. На приобретение грузовиков необходима сумма 4000 x1 + 5000 x2, при этом по условию она не должна превосходить 141 000, т.е. 4000x1 + 5000x2 ≤ 141000. Теперь введем целевую функцию – грузоподъемность автомашин, которая составляет 3x1+ 5x2.
Таким образом, задача заключается в следующем - максимизировать целевую функцию.
f = 3x1 + 5x2 → max
при ограничениях
4000x1+ 5000x2 ≤ 141000 (*),
0 ≤ x1 ≤ 19, 0 ≤ x2 ≤ 17 (**).
Решим эту задачу симплекс-методом. Приведем задачу к каноническому виду, введя 3 дополнительные переменные x3, x4, x5:
f = 3x1+ 5x2 +0x3 + 0x4+0x5→ max
4000x1+ 5000x2 + x3 = 141000,
x1 +x4 = 19, x2 + x5 = 17, x1≥ 0, x2≥0.
В качестве опорного плана выберем x0=(0, 0, 141000, 19, 17). Составим симплекс-таблицу.
Базис | План | x1 | x2 | x3 | x4 | x5 | bj/aij |
x3 | 141000 | 4000 | 5000 | 1 | 0 | 0 | 28,20 |
x4 | 19 | 1 | 0 | 0 | 1 | 0 | |
x5 | 17 | 0 | 1 | 0 | 0 | 1 | 17 |
f | 0 | -3 | -5 | 0 | 0 | 0 |
В последней оценочной строке есть отрицательные оценки, поэтому нужно делать шаг симплекс-метода. Выбираем столбец с наименьшей оценкой, а затем разрешающий элемент – по наименьшему отношению свободных членов к коэффициентам столбца (последний столбец). Результат шага запишем в таблицу. Аналогично будем повторять шаги, пока не придем к таблице с неотрицательными оценками.
Базис | План | x1 | x2 | x3 | x4 | x5 | bj/aij |
x3 | 56000 | 4000 | 0 | 1 | 0 | -5000 | 14,00 |
x4 | 19 | 1 | 0 | 0 | 1 | 0 | 19,00 |
x2 | 17 | 0 | 1 | 0 | 0 | 1 | |
f | 85 | -3 | 0 | 0 | 0 | 5 | |
Базис | План | x1 | x2 | x3 | x4 | x5 | |
x1 | 14 | 1 | 0 | 1/4000 | 0 | -5/4 | |
x4 | 5 | 0 | 0 | -1/4000 | 1 | 5/4 | |
x2 | 17 | 0 | 1 | 0 | 0 | 1 | |
f | 127 | 0 | 0 | 3/4000 | 0 | 5/4 |
В последнем плане строка f не содержит отрицательных значений, план x1 = 14, x2 = 17 оптимален, целевая функция принимает значение 127 (тонн). Теперь решим эту же задачу графическим методом. Построим область допустимых решений задачи, ограниченную прям Множество точек, определяемых неравенствами (*), (**) – многоугольник АВСДО, в одной из вершин которого достигается максимум функции. Построим линию уровня 3x1 + 5x2 = 0 и вектор градиента (3, 5). Будем передвигать линию уровня, пока не выйдем из многоугольника, что произойдет в точке В с координатами (14, 17).
В этой точке функция принимает максимальное значение 127. Чтобы достичь этого значения грузоподъемности, нужно приобрести 14 трехтонных грузовиков и 17 пятитонных: 4000 x1+ 5000 x2 = 141000, (I) x1 = 19, (II) x2 = 17. (III)
Линейное программирование первоначально возникло как задача максимизации (минимизации) линейной функции при ограничениях в форме линейных неравенств. Такая постановка появилась в связи с решением практических задач в области исследования операций. Позднее это привело к разработке полезных алгоритмов численного нахождения решений, среди которых наиболее известным является симплекс-метод. В математической экономике некоторые качественные аспекты линейного программирования оказываются более интересными, чем вычислительные. Это обусловлено тем, что задача линейного программирования вместе с двойственной ей задачей имеет прямое отношение к проблемам распределения ресурсов и оценки производственных факторов.
В настоящее время российские ученые уделяют недостаточное внимание теоретическим выводам из его концепции — общие проблемы теории ценности не считаются первоочередными во время дискуссий о переходе к рынку. Несомненно, однако, что такой переход предполагает придание теории цены современной формы и имя Канторовича, исследовавшего взаимосвязь формирования ценности и ограниченности ресурсов, получит признание.
Вывод
В данной работе я разобрал:
Загадка старого пирата или водолазный колокол
Фотографии кратера Королёва на Марсе
Весенняя сказка
Пока бьют часы
В.А. Сухомлинский. Самое красивое и самое уродливое