Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Администрация городского округа СамарыСтр 1 из 6Следующая ⇒
Администрация городского округа Самары САМАРСКИЙ МУНИЦИПАЛЬНЫЙ ИНСТИТУТ УПРАВЛЕНИЯ
Кафедра математических методов и информационных технологий
Учебно-методический комплекс по дисциплине «Экономико-математические методы и моделирование»
ЛЕКЦИОННЫЕ МАТЕРИАЛЫ
САМАРА – 2007 г. Содержание 1. Основные понятия исследования операций. 2. Геометрическая интерпретация задач оптимизации. 3. Задача линейного программирования. Симплекс – метод 4. Двойственные задачи 5. Целочисленное программирование 6. Транспортная задача 7. Транспортная задача на сети 8. Динамическое программирование 9. Балансовые модели. Модель Леонтьева. 10. Элементы теории матричных игр 11. Литература
Основные понятия исследования операций Под исследованием операций понимается комплексная математическая дисциплина, занимающаяся построением, анализом и применением математических моделей принятия оптимальных решений. Основной задачей исследования операций является задача выбора в заданном множестве элемента, удовлетворяющего заданным критериям оптимальности. При этом под критерием оптимальности понимается признак, на основании которого проводится сравнительная оценка возможных решений и затем выбирается оптимальное. Каждое операционное исследование последовательно проходит следующие основные этапы: 1. Постановка задачи. 2. Построение математической модели. 3. Выбор метода решения задачи. 4. Проверка решения и корректировка модели. 5. Реализация найденного решения на практике. В зависимости от условий внешней среды, состояния и степени информированности лица, принимающего решение, различают следующие задачи исследования операций. Если принятие решения происходит в наперед известном и не изменяющемся во времени информационном состоянии лица, принимающего решения, то задачу называют статической. Если в процессе принятия решения информационное состояние лица, принимающего решения, изменяется во времени, то задачу называют динамической. Если все условия операции и состояния объекта исследования полностью известны заранее, то задачу называют детерминированной. В случае, когда с каждой принимаемой стратегией связано множество возможных результатов и известны вероятности пребывания объекта исследований в каждом из состояний, задачу называют стохастической или задачей принятия решений в условиях риска. Если информация о вероятностях пребывания объекта в том или ином состоянии отсутствует, то задачу называют задачей принятия решений в условиях неопределенности. Решение задач исследования операций существенно зависит от выбора показателя эффективности. Критерием оптимальности может быть требование о максимизации или минимизации некоторой скалярной функции определенной на множестве допустимых решений и называемой целевой функцией. В этом случае задачу исследования операций называют задачей математического программирования. Если же критерием оптимальности является требование о максимизации или минимизации нескольких скалярных функций, то говорят о задаче многокритериальной оптимизации. Двойственные задачи Каждой задаче линейного программирования можно поставить в соответствие задачу, называемую двойственной. Запишем общую задачу линейного программирования → max (4.1) Двойственной задачей к задаче (4.1) называется задача (4.2) В таком случае задача (4.1) называется прямой. Исходная и двойственная задачи образуют пару взаимно двойственных задач, при этом любую из них можно рассматривать как прямую задачу. Переход от прямой задачи к двойственной можно осуществить с помощью следующих правил. 1. Каждому ограничению – неравенству со знаком ≤ соответствует неотрицательная неизвестная yi двойственной задачи, а каждому ограничению – равенству неизвестная произвольного знака. 2. Каждой неотрицательной неизвестной хj прямой задачи соответствует ограничение – неравенство со знаком ≥ двойственной задачи, а каждой произвольной по знаку переменной – ограничение в виде равенства. 3. Матрица коэффициентов при неизвестных системы ограничений двойственной задачи получается транспонированием матрицы коэффициентов при неизвестных системы ограничений прямой задачи. 4. Свободные коэффициенты системы ограничений равны соответствующим коэффициентам при неизвестных хj целевой функции прямой задачи. 5. Коэффициенты при неизвестных yi целевой функции L двойственной задачи равны свободным коэффициентам системы ограничений прямой задачи. 6. Если целевая функция z прямой задачи максимизируется, то целевая функция L двойственной задачи минимизируется, и наоборот, если целевая функция z прямой задачи минимизируется, то целевая функция L двойственной задачи максимизируется. Отметим, что число ограничений прямой задачи равно числу неизвестных двойственной задачи, а число ограничений двойственной задачи равно числу неизвестных прямой задачи. В связи с этим двойственную задачу обычно выгоднее решать, чем исходную прямую, если в прямой задаче имеется большое количество ограничений и малое число неизвестных. Справедливы следующие утверждения. 1. Двойственная задача (4.2) имеет решение в том и только в том случае, если имеет решение прямая задача (4.1). 2. Если есть оптимальное решение прямой задачи (4.1), а есть оптимальное решение двойственной задачи (4.2), то выполняется соотношение двойственности (4.3) 3. Если получено решение одной из пары двойственных задач, например, прямой, то оптимальное решение другой задачи определяется равенством (4.4) где Со – матрица - строка коэффициентов целевой функции Z перед базисными неизвестными оптимального решения прямой задачи, W – матрица коэффициентов при базисных неизвестных оптимального решения в системе ограничений прямой задачи. 4. Если прямая исходная задача не содержит ограничений в виде равенств, то между оптимальными решениями прямой и двойственной задач и элементами симплекс – таблиц, соответствующих этим решениям, существует следующая взаимосвязь . (4.5) В качестве примера найдем неотрицательные значения х1 и х2, максимизирующие функцию (4.6) при наличии ограничений
(4.7) с помощью перехода к двойственной задаче. Используя сформулированные выше правила, перейдем к двойственной задаче
(4.8)
(4.9) Перейдем к канонической задаче. Для этого перенесем свободные коэффициенты в левые части неравенств (4.9) и обозначим получившиеся выражения за новые неизвестные , . Кроме того, перейдем к задаче на максимум. Для этого поменяем знаки в правой части целевой функции (4.8). Каноническая задача имеет вид:
; (4.10)
(4.11) Для решения задачи симплекс – методом необходимо привести систему (4.11) к единичному базису и найти опорное решение. Умножим равенства (4.11) на (-1). Тогда получим (4.12) В полученной системе неизвестные y3 и y4 выражаются через y1 и y2. Тем самым, система приведена к единичному базису. Приравнивая, свободные неизвестные y1 и y2 к нулю, получим базисное решение. y1=0; y2=0; y3=-5; y4=-4. Так как базисные неизвестные отрицательны, полученное решение не является опорным. Для нахождения опорного решения воспользуемся методом исключений Жордана – Гаусса. Выпишем коэффициенты системы (4.12) в таблицу
Умножим первую строку на (-1) и прибавим ко второй строке. При этом y3 перестает быть базисной неизвестной.
В выбранной первой строке содержатся два положительных коэффициента при неизвестных. Выберем за разрешающий второй столбец. В разрешающем столбце только один положительный элемент, равный 3, в первой строке. Поэтому первую строку считаем разрешающей строкой. Разрешающий элемент, расположенный на пересечении разрешающей строки и разрешающего столбца равен 3. Разделим разрешающую строку на разрешающий элемент
Получим нуль в разрешающем столбце. Для этого ко второй строке прибавим разрешающую. При этом неизвестная y2, соответствующая разрешающему столбцу, становится базисной и пишется в символьном столбце
Полученной таблице соответствует система равенств или (4.13) Эта система приведена к единичному базису и базисное решение, соответствующее этой системе является опорным
y1=0; ; y3=0; (4.14) Выразим целевую функцию L1 через свободные неизвестные y1 и y3. Для этого подставим равенства (4.13) в (4.10). Тогда задача (4.10); (4.11) с учетом (4.13) примет вид ; Составим симплекс – таблицу
В последней строке в первом столбце имеется отрицательная оценка. Следовательно, опорное решение (4.14), соответствующее записанной таблице, не оптимально. Выберем первый столбец за разрешающий. Разделим элементы последнего столбца на соответствующие положительные элементы разрешающего столбца ; . Наименьший результат соответствует второй строке, поэтому выберем эту строку за разрешающую. Разрешающий элемент равен 7/3. Разделим разрешающую строку на разрешающий элемент.
Получим нули в разрешающем столбце. Для этого из первой строки вычтем разрешающую, умноженную на 4/3, а к последней прибавим разрешающую, умноженную на 8. После пересчета имеем
В последней строке отрицательных оценок (коэффициентов при неизвестных yi) нет. Следовательно, опорное решение, соответствующее полученной таблице оптимально. ; ; y3=0; y4=0; . (4.15) Определим решение прямой задачи (4.6); (4.7), используя формулу (4.4) . Здесь - матрица - строка. Учтем, что базисными неизвестными в оптимальном решении являются y1 и y2, и элементами матриц Со и W являются коэффициенты при базисных неизвестных оптимального решения в равенствах (4.8) и (4.11). То есть Со=(24 24); В этом случае обратная матрица W-1 имет вид Отсюда . Таким образом, оптимальное решение (4.6), (4.7) следующее (4.16) ; ; . Заметим, что прямая исходная задача (4.6), (4.7) не содержит ограничений в виде равенств, поэтому оптимальное решение (4.16) может быть записано сразу без использования формулы (4.4). Для этого можно воспользоваться равенствами (4.5) , , где b3 и b4 – элементы последней строки симплекс–таблицы, соответствующей оптимальному решению.
Транспортная задача Транспортными задачами называются задачи определения оптимального плана перевозок груза из данных пунктов отправления в заданные пункты потребления. Простейшая формулировка транспортной задачи, получившая название задачи по критерию стоимости, следующая: В p пунктах отправления находится соответственно a1, …, ap единиц однородного груза (ресурсы), который должен быть доставлен g потребителям в количествах b1, …, bg единиц (потребности). Заданы стоимости ci k перевозок из i – го пункта отправления к k– му пункту потребления (коэффициенты затрат). Требуется спланировать перевозки, то есть указать сколько единиц груза должно быть отправлено из любого i-го пункта отправления в любой k- ый пункт потребления так, чтобы максимально удовлетворить потребности, и чтобы суммарные затраты на перевозки были минимальными. Если в задаче суммарные ресурсы равны суммарным потребностям, то есть , то говорят о закрытой модели транспортной задачи, если равенство нарушено, то подобная модель называется открытой. Обозначим через xik количество единиц продукта, запланированное к перевозке из i–го пункта в k–ый. Тогда условие задачи можно представить в виде распределительной таблицы. Таблица 6.1
Переменные хik должны удовлетворять ограничительным условиям Суммарные затраты на перевозки равны Требуется найти n=pg переменных хik, удовлетворяющих указанным условиям и минимизирующих функцию z. Решение такой задачи разбиваем на два этапа: 1. Определение исходного опорного (базисного) решения; 2. Построение последовательных итераций, то есть приближение к оптимальному решению. Для каждого их этих этапов существует несколько методов. Рассмотрим первый этап. Для построения опорного решения чаще всего используют один из следующих методов: «северо – западного» угла и метод минимальных затрат. 1. Метод «северо – западного угла». Заполним таблицу 6.1, начиная с левого верхнего (северо – западного) угла, двигаясь затем по строке вправо и по столбцу вниз. Запишем в клетку (1.1) меньшее из числа а1 и b1, то есть x11 = min {a1, b1}. Если а1> b1, то x11=b1 и первый столбец закрыт, то есть потребности первого потребителя удовлетворены полностью. Двигаясь дальше по первой строке, записываем в соседнюю клетку (1.2) меньшее из чисел a1 - b1 и b2, то есть x12 = min {a1-b1, b2}. Если же а1 < b1, аналогично закрывается первая строка (ресурсы первого отправителя исчерпаны), и далее заполняется соседняя клетка (2.1), куда заносится x21 = min {a2, b1-а2}. Этот процесс продолжается до тех пор, пока на каждом этапе не исчерпываются ресурсы аp и потребности bg. Может оказаться, что на каком–то промежуточном, а не только последнем этапе, построение опорного плана при внесении очередной величины хik закрываются одновременно i–ая строка и k–ый столбец. Это происходит, когда очередной остаток в k–ом столбце будет равен аi, или остаток в i–ой строке равен bk. Тогда занесем в следующую по строке или столбцу клетку (в ту из них, которой соответствую меньшие затраты) величину хik+1 = 0 или (xi+1k = 0). Такие нули называются, в отличие от пустых клеток, базисными. Они необходимы для предотвращения вырождения опорного плана. Найдем опорный план методом «северо- западного» угла для транспортной задачи, приведенной в таблице 6.2. Таблица 6.2.
Заполним таблицу, начиная с клетки (1.1). х11 = min {60; 40}= 40. Первый столбец закрывается (потребности удовлетворены полностью) и во всех его остальных клетках ставится прочерк. Запасы первого поставщика не израсходованы на 60-40=20 единиц. Сравниваем с потребностями второго потребителя b2 = 100. Тогда х12= min {20; 100}= 20. Так как запасы первого поставщика исчерпаны, то в двух последних клетках первой строки ставим прочерки. Далее рассмотрим клетку (2, 2). х22= min {140; 80}, где 140 – запасы второго поставщика, а 80 – оставшиеся потребности второго потребителя. Таким образом, х22= 80, а в оставшейся клетки второго столбца ставим прочерк. Рассмотрим клетку (2, 3). х23= min {60; 60}= 60. При этом одновременно закрываются вторая строчка и третий столбец, что означает полное удовлетворение потребностей третьего потребителя и исчерпание ресурсов второго поставщика. Поэтому, чтобы избежать вырождения, в соседней к (2, 3) пустой клетке с наименьшей стоимостью перевозок (2, 4) ставим ноль, а клетке (3, 3) ставим прочерк. Заполняем оставшуюся клетку (3, 4). х34= min {80; 80}= 80. Тем самым получено опорное решение. Таблица 6.3
Найдем общую стоимость перевозки как сумму произведений объемов перевозок хik на соответствующие стоимости z= 40·4 + 20·3 + 80·5 + 60·4 + 80·4 = 1180 2. Метод минимальных затрат. В правиле «северо- западного» угла не учитываются величины затрат сik, а, значит, опорное решение может быть далеким от оптимального. Поэтому в дальнейших расчетах может потребоваться много шагов (итераций) для достижения оптимального решения. Число итераций, как правило, можно сократить, если исходное решение строить по усовершенствованному методу минимальных затрат. Сущность его состоит в том, что на каждом шаге заполняется клетка с наименьшей величиной сik. Начинаем заполнение таблицы с клетки, которой соответствует наименьший элемент сik из всей таблицы (в таблице 6.2 начинаем с клетки (2, 4), где сik =2). Затем остаток по столбцу или строке помещаем в клетку того же столбца или строки, которой соответствует следующее по величине значение сik и так далее. Таким образом, последовательность заполняемых клеток определяется по величинам сik, а помещаемые в этих клетках величины хik определяются как и в правиле «северо- западного» угла. В результате для таблице 6.2 получаем другое опорное решение. Таблица 6.4
Индексы в скобках в таблице 6.4. показывают порядок заполнения. Начинаем с клетки (2, 4) с наименьшей среди стоимостей сik (с24 = 2), поэтому х24= min {140; 80}= 80. Так как потребности четвертого потребителя удовлетворены, прочеркиваем остальные клетки четвертого столбца. У второго поставщика осталось 60 единиц товара. Находим минимальное значение сik для оставшихся клеток второй строки. Это с23= 4. Поэтому х23= min {60; 60}= 60. При этом одновременно исчерпываются ресурсы второго поставщика и удовлетворяют потребности третьего потребителя. Чтобы избежать вырождения, ставим базисный ноль в клетке (2, 2) с наименьшим тарифом с22 =5. В остальных клетках второй строки и третьего столбца ставим прочерки. Затем рассматриваем второй столбец. Здесь у оставшихся клеток (1, 2) и (3, 2) тарифы равны. Заполним клетку (3, 2) с максимальным хi из этих двух; х32= 80. Оставшиеся 20 единиц помещаем в клетку (1, 2), то есть х12= 20. Ресурсы третьего поставщика исчерпаны, поэтому в пустой клетке третьей строки ставим прочерк. Наконец заполняем оставшуюся клетку (1, 1), х11= 40. Общая стоимость по такому плану равна:
z = 40·4 + 20·3 + 80·3 + 60·4 + 80·2 = 860
Для выполнения второго этапа решения транспортной задачи используют распределительный метод и метод потенциалов. Введем понятие цикла. Циклом называется набор клеток, в котором две и только две соседние расположены в одном столбце или одной строке, причем последняя клетка находится в одном столбце или одной строке с первой. Рассмотрим пример: Для таблицы 6.3 построим цикл, начинающийся в клетке (3.1). Решение имеет вид: Таблица 6.5
Здесь все пустые клетки обозначены точками. Начинаем с клетки (3.1), в которой ставим «+», как и в дальнейшем в нечетных клетках цикла. Во второй клетке цикла (1.1) ставим « - », как и во всех четных клетках цикла. За исключением первой в цикл входят только занятые клетки, причем только две из строки и столбца, так что при его обходе можно вернуться в исходную клетку. Можно доказать, что такой цикл единственный, причем только из занятых клеток нельзя образовать цикла. Распределительный метод описывается следующим алгоритмом: 1. Располагаем исходные данные в распределительной таблице. 2. Строим опорное решение. При этом должны оказаться занятыми r = p+g-1 клеток. 3. Производим оценку первой свободной клетки путем построения для нее цикла и вычисления по этому циклу величины , где в первую сумму входят тарифы клеток цикла со знаком «+», а во вторую со знаком « - ». Если Δ st < 0, то переходим к пункту 4. Если Δ st ≥ 0, то оцениваем следующую свободную клетку до тех пор, пока обнаружим клетку с отрицательной оценкой Δ st. Если все Δ st неотрицательны, то решение соответствующее таблице является оптимальным. 4. Находим λ = min {хij}, где хij – значения величины перевозок в клетках со знаком «-» затем прибавляем λ ко всем клеткам цикла со знаком «+» и отнимаем из всех клеток со знаком «-». После этого возвращаемся к пункту 3. Оценки свободных клеток связаны с определенной таблицей. На каждом новом этапе после 4 пункта оценки одних и тех же клеток будут изменяться, поэтому на каждом этапе необходимо пересчитывать оценки свободных клеток Δ st. При выполнении пункта 3 целесообразно выбирать для оценки сначала клетки с минимальными тарифами сik. Рассмотрим приведенный алгоритм для таблицы 6.3.
Таблица 6.6
В таблице 6.6 построен цикл для свободной клетки (3.2), имеющий наименьший тариф с32=3. с32==(3+2)-(5+4)=-4< 0 λ =min{80; 80}=80 Выполнив пункт 4, имеем таблицу 6.7. Оценим сначала клетку (3.4). Δ 34=9-5=4> 0
Таблица 6.7
Затем остальные свободные клетки (3, 3), (3, 1), (2, 1), (1, 3), (1, 4). Δ 34=6> 0; Δ 31=2> 0; Δ 13=5> 0; Δ 14=8> 0; Δ 21=3> 0. Таким образом, решение в таблице 6.7 является оптимальным. Заметим, что в данном примере метод минимальных затрат сразу дал оптимальное решение (см.таблицу 6.4), а для правила «северо – западного» угла потребовалась одна итерация. Распределительный метод обладает существенным недостатком, заключающимся в том, что для выполнения одной итерации требуется строить большое количество оценочных циклов. Этот недостаток устранен в методе потенциалов. Рассмотрим метод потенциалов на примере таблицы 6.3 Каждому поставщику ai сопоставил величину Ui, называемую потенциалом. Каждому потребителю bj сопоставим потенциал Vj. Составим уравнение вида Vj-Ui-cij=0 для всех занятых клеток. Для удобства перепишем эту таблицу в виде: Таблица 6.8
Полагая одну из неизвестных (наиболее часто встречающуюся) равной нулю (здесь U2=0), найдем все остальные. V1=6; V2=5; V3=4; V4=2; U1=2; U3= -2. Проверим выполнение условий оптимальности для занятых клеток. Для этого должно выполняться соотношение δ ij = Vj - Ui-Cij 0. δ 13=V3-U1-C13=4-2-7=-5< 0 δ 14=V4 - U1-C14=2 - 2 - 8 = - 8 < 0 δ 21=V1 - U2 - C21=6 – 0 - 9= - 3 < 0 δ 31=V1 - U2 - C31 = 6 + 2 - 6 = 2 > 0 δ 32=V2 - U3 - C32 = 5 + 2 – 3 = 4 > 0 δ 33=V3 - U3 - C33 = 4 + 2 - 8 = -2 < 0 Построим цикл для клетки с наибольшем нарушением δ ij. Это клетка (3, 2). Как в распределительном методе пересчитаем xij для клеток цикла. Полученный результат запишем в таблице 6.9. Таблица 6.9
Опять проверяем на оптимальность. Имеем систему из 6 уравнений с 7 неизвестными. V1 - U1 = 4; V2 - U1 = 3; V2 - U2 = 5; V2 - U3 = 3; V3 - U2 = 4; V4 - U2 = 2. Система имеет множество решений. Полагая V2 =5, находим U1=2; U2=0; U3=2; V3 = 4; V4 = 2; V1 = 6. В таком случае δ 13 = - 5; δ 14 = - 8; δ 21 = - 3; δ 31 = -2; δ 33 = - 6; δ 34 = - 4. Все δ ij, соответствующие пустым клеткам, отрицательны. Значит, решение в таблице 6.9 является оптимальным (оно совпадает с таблицей 6.4 и таблицей 6.7). Транспортная задача на сети Транспортная задача может быть сформулирована не только в матричном виде, но и на схеме сети. Матричный метод достаточно прост и не требует большого количества вычислений, но дает возможность учесть пропускную способность только приемных пунктов. Сетевой метод позволяет учесть пропускную способность коммуникации, связывающих пункты. Для решения такой задачи необходимо составить план реальной сети с указанием длины каждого участка или стоимости перевозки по нему. Когда планируют погрузку и выгрузку на промежуточных станциях, каждую из них представляют как узел. При этом на сети будет столько узлов, сколько станций, включая и промежуточные. Некоторые узлы могут быть соединены друг с другом звеньями. Таким образом, транспортная задача может быть схематически изображена в виде вершин (станций), соединенных звеньями. Каждая вершина характеризуется числом pi- объемом поставок (pi > 0) или объемом потребления (pi < 0). Для перевалочных пунктов pi=0. В середине каждого звена проставляется стоимость перевозки cij. Направление грузопотока характеризуют стрелками. Цифра около стрелки показывает величину перевозки xij. Если пропускная способность звена ограничена величиной dij, то эта величина проставляется знаменателем стоимости сij. Наличие звена означает возможность только одностороннего движения. В случае, когда допустимы перевозки в обоих направлениях между pi и pj, эти два пункта должны быть соединены парой коммуникаций противоположного направления. Популярное:
|
Последнее изменение этой страницы: 2016-05-30; Просмотров: 703; Нарушение авторского права страницы