Динамическое програмирование

Автор: Пользователь скрыл имя, 26 Февраля 2013 в 19:03, реферат

Краткое описание

В сельском хозяйстве непрерывно протекают разнообразные экономические процессы, в результате которых складываются определенные производственные результаты, формируются экономические явления.Большое число планово-производственных и экономических задач связано с распределением каких-либо, как правило, ограниченных ресурсов. Поэтому вопросы нахождения оптимального плана, т.е. варианта распределения ресурсов, который гарантировал бы наибольший экономический эффект.

Оглавление

I Цель работы
II Теоретические вопросы
2.1 Теория игр
2.2 Теория массового обслуживания
2.3 Динамическое программирование
2.4 Сетевое планирование и управление
III Практическое применение динамического программирования
IV Выводы по результатам работы
Список литературы

Файлы: 1 файл

290131[1].rtf

— 542.52 Кб (Скачать)

СМО называется разомкнутой, если поток заявок не зависит от ее функционирования. Это бывает, когда заявок много и интенсивность потока заявок не изменяетмся заметно в результате работы СМО. Примерами разомкнутых СМО могут служить АТС, ремонтные бригады, мастерские, если заявок на ремонт так много, что работа СМО практически не влияет на их поступление. СМО называется замкнутой, если поток заявок зависит от функционирования системы. Так ремонтное предприятие должно рассматриваться как замкнутая СМО, если заявки поступают не очень часто и их поток зависит от пропускной способности предпрятия.

Одним из важшейшим показателем эффективности СМО является ее производительность, или пропускная способность, или среднее число заявок, которое система может обслужить за единицу времени, и относительная пропускная способность - отношение среднего числа заявок, обслуживаемых за единицу времени, к среднему числу поступивших за это время заявок.

Поток заявок характеризуется распределением заявок по времени. Исследование СМО весьма облегчается, если принимается простой поток заявок. В реальных условиях работы СМО поток заявок в большинстве случаев считаться может простейшим лишь на небольшом интервале времени, однако очень часто исследования СМО проводят, принимая поток заявок простейшим. Это объясняется, во-первых, простотой проведения анализа при таком потоке и, во-вторых, тем, что простейший поток очень напряженный, а следовательно, можно предполагать, что при реальном потоке эффективность СМО будет не хуже, чем дал анализ при простейшем потоке. Теория массового обслуживания позволяет проводить анализ СМО и при других, более сложных, чем простейший поток заявок, учитывающих нестационарность последействие, т. е. зависимость между заявками. Рассматриваются также схемы с учетом возможности выхода из строя каналов обслуживания, системы со взаимопомощью и дублированием каналов. (1)

 

2.3 Динамическое программирование

 

Решение задач математического программирования, которые могут быть представлены в виде многошагового (многоэтапного) процесса, составляет предмет динамического программирования. Вместе с этим динамическим программированием называют особый математический метод оптимизации решений, специально приспособленный к многошаговым процессам. Многошаговым обычно считают процесс, развивающийся во времени и распадающийся на ряд «шагов», или «этапов». Однако метод динамического программирования используется и для решения задач, в которых время не фигурирует. Некоторые процессы распадаются на шаги естественно (например, процесс планирования хозяйственной деятельности предприятия на отрезок времени, состоящий из нескольких лет); многие процессы можно разделить на этапы искусственно.

Одна из особенностей метода динамического программирования состоит в том, что принятие решения по отношению к многошаговым процессам рассматривается не как единичный акт, а как целый комплекс взаимосвязанных решений. Эту последовательность взаимосвязанных решений называют стратегией. Цель оптимального планирования - выбрать стратегию, обеспечивающую получение наилучшего результата с точки зрения заранее выбранного критерия. Такую стратегию называют оптимальной.

Суть метода динамического программирования состоит в том, что вместо поиска оптимального решения сразу для всей сложной задачи предпочитают находить оптимальные решения для нескольких более простых задач аналогичного содержания, на которые расчленяется исходная задача.

Другой важной особенностью метода динамического программирования является независимость оптимального решения, принимаемого на очередном шаге, от предыстории, т.е. от того, каким образом оптимизируемый процесс достиг теперешнего состояния. Оптимальное решение выбирается лишь с учетом факторов, характеризующих процесс в данный момент. Так, при выборе кратчайшего пути, ведущего из некоторого промежуточного пункта в конечный, водитель автомобиля принимает решение независимо от того, как, когда и какой дорогой он прибыл в данный пункт, руководствуется лишь расположением этого пункта в общей схеме дорог

Метод динамического программирования характеризуется также тем, что выбор оптимального решения на каждом шаге должен производиться учетом его последствий в будущем. Это означает, что, оптимизируя процесс на каждом отдельном шаге, ни в коем случае нельзя забывать обо всех последующих шагах. Таким образом, динамическое программирование - это дальновидное планирование, планирование с учетом перспективы. Из всего сказанного следует, что поэтапное планирование многошагового процесса должно производиться так, чтобы при планирование каждого шага учитывалась не выгода, получаемая только на данном шаге, а общая выгода, получаемая по окончании всего процесса, и именно относительно общей выгоды производится оптимальное планирование. Этот принцип выбора решения в динамическом программировании является определяющим и носит название принципа оптимальности. Оптимальная стратегия обладает темп свойством, что, каковы бы ни были первоначальное состояние и решение, принятое в начальный момент, последующие решения должны составлять оптимальную стратегию относительно состояния, являющего результатом первоначального решения.

При решении оптимизационной задачи методом динамического программирования необходимо учитывать на каждом шаге последствия, к которым приведет в будущем решение, принимаемое в данный момент. Исключением является последний шаг, которым процесс заканчивается. Здесь процесс можно планировать таким образом, чтобы последний шаг сам по себе приносил максимальный эффект. Спланировав оптимальным образом последний шаг, можно к нему «пристраивать» предпоследний так, чтобы результат этих двух шагов был оптимальным, и т.д. Именно так - от конца к началу - и можно развернуть процедуру принятия решений. Но чтобы принять оптимальное решение на последнем шаге, надо знать, чем мог закончиться предпоследний шаг. Значит, надо сделать разные предположения о том, чем мог закончиться предпоследний шаг и для каждого из предположений найти решение, при котором эффект на последнем шаге был бы наибольшим. Такое оптимальное решение, найденное при условии, что предыдущий шаг закончился определенным образом, называют условно - оптимальным.

Аналогично оптимизируется решение на предпоследнем шаге, т.е. делаются все возможные предположения о том, чем мог завершиться шаг, предшествующий предпоследнему, и для каждого из возможных исходов выбирается такое решение на предпоследнем шаге, чтобы эффект за последние два шага (их которых последний уже оптимизирован) был наибольшим и т.д.

Таким образом, На каждом шаге в соответствии с принципом оптимальности ищется решение, обеспечивающее оптимальное продолжение процесса относительно состояния, достигнутого в данный момент. Если при движении от конца к началу оптимизируемого процесса определены условно - оптимальные решения для каждого шага и вычислен соответствующий эффект (эту стадию рассуждений называют иногда условной оптимизацией), то остается «пройти» весь процесс в прямом направлении (стадия безусловной оптимизации) и «прочитать» оптимальную стратегию, которая нас интересует.

В принципе динамическое планирование может разворачиваться и в прямом направлении, т. е. от первого шага процесса к последнему. (4)

 

2.4 Сетевое планирование и управление

 

Сетевое планирование и управление возникло в 1957 - 1958 гг. под названием «метод критического пути» и метод PERT (метод оценки и пересмотра планов).

Методы сетевого планирования и управления предусматривают:

1) представление планов в виде сети;

2) определение календарных графиков;

3) определение вероятностных величин;

4) возможность применения в различных условиях.

Метод сетевого планирования и управления пригоден как в промышленности, так и в сельском хозяйстве.

Применение сетевого планирования и управления в сельском хозяйстве носит пока ещё экспериментальный характер и ограничивается составлением планов на короткие напряженные рабочие периоды. Необходимость выполнять все сельскохозяйственные работы в установленные агротехнические сроки, неопределенность, вносимая в производственный процесс капризами природы, несомненно, затрудняют использование экономико-математических методов, в том числе и методов сетевого анализа. Но даже тот опыт применения указанных методов в сельском хозяйстве, который имеется в настоящее время, позволяет сделать вывод об их высокой эффективности в данной отрасли.

Методы сетевого планирования и управления дают возможность:

1) заранее планировать все действия, которые необходимо предпринять для достижения желаемого результата в будущем;

2) предсказать вероятное время выполнения;

3) улучшить план, если мы найдем, что предсказанное время выполнения является недостаточно хорошим;

4) проверить ход выполнения работ по плану после того, как план приведен в действие;

5) использовать информацию о ходе работ для своевременного планирования времени и затрат.

В настоящее время известно большое количество модификаций системы сетевого планирования и управления: RAMPS, PERT, CRM, LESS, COMET и ряд других.

В свое время в СССР также была разработана система сетевого планирования и управления (СПУ), включающая методы КОППР,СУР, КОМПАС и другие. Система СПУ основана на использовании современных достижений в области общей теории управления, кибернетики прикладной математики и вычислительной техники.

В сетевом планировании и управлении широко применяется аппарат математического программирования, теории графов, теория вероятностей и других математических дисциплин. Формализация задач планирования и управления позволяет широко использовать средства вычислительной техники и строить сетевые системы по общим принципам построения АСУ.

Предпосылкой создания сетевых систем являлось развитие раздела исследования операций, изучающего модели упорядочивания. Идея моделирования комплексов операций с помощью сетей привела к появления самостоятельного направления в теории и практике организационного управления, получившего в отечественной литературе название сетевого планирования и управления (СПУ).

Все методы сетевого планирования имеют в своей основе сетевую модель, в которой условными знаками - стрелками изображают во взаимосвязи работы, которые необходимо выполнить для достижения поставленной цели. Сеть может быть укрупненной или детальной, но в любом случаи она должна давать представление о том, какими путями можно прийти к коночной цели и какие издержки при этом потребуются. Уже одно то, что информация о предполагаемом ходе выполнения работ представляется в виде сети, наглядно изображающей условия выполнения каждой из работ в общем комплексе, является достаточной рекомендацией к использованию сетевых графиков в практической работе. При вычерчивании сети легко выявляются все недостатки, логические неувязки в организационной структуре планируемого мероприятия.

Графическое изображение планов в виде сети позволяет охватить весь комплекс в целом и сосредоточится на отдельных участках. Обзорность и полнота информации, представленный графически, сочетаются с доступностью её для понимания специалистами, в то время как словесное описание всегда дается в расчете лишь на определенный круг работников.

Помимо графического изображения работ, которые предполагается выполнить для достижения намеченной цели, сетевой график содержит некоторые оценки (времени, стоимости, ресурсов, технической надежности элементов), даваемые каждой работе в отдельности. Эти оценки могут быть точными или приближенными. С известной вероятностью появления каждой из них. Сетевой график с нанесенными на него оценками служит основой для последующего анализа возможных изменений и контроля за его выполнением. Основными параметрами, которые оцениваются при таком анализе, служат время и затраты. Эти два фактора, как правило, находятся в непосредственной зависимости один от другого: чем короче заданный срок выполнения работ, тем больше затрат потребуется на их выполнение, и наоборот. Анализ сетевого графика в системе СПУ позволяет выбрать оптимальный вариант плана, обеспечивающий выполнение всех работ в заданные сроки с минимальными затратами. Система СПУ предусматривает либо одну оценку времени для выполнения каждой работы - «наиболее вероятное время», либо три оценки: «оптимистическую», «пессимистическую» и «наиболее вероятную» оценки времени по каждой работе. Эти три оценки используются для расчета среднего ожидаемого времени выполнения работ и вычисления вероятности выполнения программы в заданные сроки. Несмотря на указанные и некоторые другие различия в методах анализа сетевых моделей, общая их идея одна - все они используют графическое построение в виде сети с временными или другими оценками для планирования действий, приводящих в конечном итоге к желаемому результату. (5)

 

 

III Практическое применение динамического программирования

 

Задача о выборе наиболее экономного маршрута доставки груза.

На данной сети дорог имеется несколько маршрутов, по которым можно доставлять груз из пункта 1 в пункт 10 (рис. 1). Известны стоимости перевозки единицы груза между отдельными промежуточными пунктами сети (они проставлены на сети у соответствующих ребер). Требуется в системе дорог выбрать маршрут доставки груза из пункта 1 в пункт 10, которому соответствует наименьшие затраты.

 

рис. 1

 

Для решения задачи методом динамического программирования разобьем все пункты сети на группы (табл. 1).

 

Таблица 1

I

II

III

IV

V

 

1

2

3

4

5

6

7

8

 

9

 

10


 

К группе I отнесем пункт 1, к группе II - пункты, в которые можно попасть из пункта 1 (таковыми будут 2; 3; 4), к группе III отнесем пункты, в которые можно попасть непосредственно из любого пункта группы II (таковыми будут 5; 6; 7), и т.д. в результате движение транспорта с грузом из пункта 1 в пункт 10 примет поэтапный характер: на первом этапе транспорт перемещается из пункта 1 в какой-то пункт группы II, на втором этапе - из пункта группы II в пункт группы III и т.д. Вместе с этим и процесс нахождения наиболее экономного маршрута из пункта 1 в пункт 10 распадается на шаги. На каждом шаге надо так выбрать маршрут следования груза в пункт соседней группы, чтобы доставка груза по всему маршруту была сопряжена с минимальными затратами. Избранный нами подход к решению задачи учитывает особенности сети, изображенной на рис. 1: после разбиения на группы пункты, оказавшиеся в одной и той же группе, дорогами не соединены.

Применительно к рассматриваемой задаче принцип оптимальности можно сформулировать так: оптимальный маршрут доставки груза из пункта 1 в пункт 10 обладает тем свойством, что, каков бы ни был маршрут достижения некоторого промежуточного пункта сети, дальнейший маршрут следования должен совпадать с оптимальным маршрутом для части маршрута, начинающейся с этого пункта.

В данном случае процесс состоит из четырех шагов (рис. 2). Будем оптимизировать каждый шаг, начиная с последнего - четвертого. На этом шаге в пункт 10 можно попасть из пункта 8 или 9, причем из каждого пункта только одним способом. Если предпоследний, третий, шаг привел груз в пункт 8, то дальше следует двигаться по маршруту 8 - 10, и затраты на перевозку единицы груза будут равны единице; если же в пункт 9 - то следует двигаться по маршруту 9 - 10, на котором затраты составят 4 единицы. Условное оптимальное решение помечаем на сети стрелкой, выходящей из соответствующего кружка, а величину затрат записываем в нижней половинке кружка.

Информация о работе Динамическое програмирование