Автор: Пользователь скрыл имя, 13 Декабря 2011 в 17:15, курсовая работа
Работа над данным курсовым проектом позволяет закрепить знания по предмету «Математические методы исследования операций».
В наше время наука уделяет все большое внимание вопросам организации и управления, это приводит к необходимости анализа сложных целенаправленных процессов под углом зрения их структуры и организации. Потребности практики вызвали к жизни специальные методы, которые удобно объединять под названием «исследование операций». Под этим термином понимается применение математических, количественных методов для обоснования решений во всех областях целенаправленной человеческой деятельности.
1.
Выбрать параметры (фазовые
2. Расчленить операцию на этапы (шаги).
3.
Выяснить набор шаговых
4.
Определить какой выигрыш
5. Определить, как изменяется состояние S системы S под влиянием управление xi на i-ом шаге: оно переходит в новое состояние
(1.1).
6.
Записать основное
Этому выигрышу соответствует условное оптимальное управление на i-м шаге xi(S) (причем в уже известную функцию Wi+1(S) надо вместо S подставить измененное состояние ).
Этому выигрышу соответствует условное оптимальное управление на i-м шаге xi(S) (причем в уже известную функцию Wi+1(S) надо вместо S подставить измененное состояние ).
7.
Произвести условную
8.
Произвести условную
Заметим, что если состояние системы в начальный момент известно (а это обычно бывает так), то на первом шаге варьировать состояние системы не нужно - прямо находим оптимальный выигрыш для данного начального состояния S0. Это и есть оптимальный выигрыш за всю операцию .
9.
Произвести безусловную
Данные
этапы рассматривались для
(если только выигрыши wi положительны). Эти задачи решаются точно так же, как задачи с аддитивным критерием, с той единственной разницей, что в основном уравнении (1.2) вместо знака «плюс» ставится знак «умножения»: .
3.1 Примеры задач динамического программирования
Задача планирования рабочей силы:
При выполнении некоторых проектов число рабочих, необходимых для выполнения какого-либо проекта, регулируется путем их найма и увольнения. Поскольку как наем, так и увольнение рабочих связано с дополнительными затратами, необходимо определить, каким образом должна регулироваться численность рабочих в период реализации проекта.
Предположим, что проект будет выполнятся в течение n недель и минимальная потребность в рабочей силе на протяжении i-й недели составит bi рабочих. При идеальных условиях хотелось бы на протяжении i-й недели иметь в точности bi рабочих. Однако в зависимости от стоимостных показателей может быть более выгодным отклонение численности рабочей силы как в одну, так и в другую сторону от минимальных потребностей.
Если xi – количество работающих на протяжении i-й недели, то возможны затраты двух видов: 1) С1(xi - bi)-затраты, связанные с необходимостью содержать избыток xi - bi рабочей силы и 2) С2(xi - xi-1)-затраты, связанные с необходимостью дополнительного найма (xi - xi-1) рабочих.
Элементы модели динамического программирования определяются следующим образом:
1.
Этап і представляется
2. Вариантами решения на і-ом этапе являются значения xi – количество работающих на протяжении і-й недели.
3.
Состоянием на і-м этапе
Рекуррентное
уравнение динамического
Вычисления начинаются с этапа n при xn=bn и заканчиваются на этапе 1.
Задача замены оборудования:
Чем дольше механизм эксплуатируется, тем выше затраты на его обслуживание и ниже его производительность. Когда срок эксплуатации механизма достигает определенного уровня, может оказаться более выгодной его замена. Задача замены оборудования, таким образом, сводится к определению оптимального срока эксплуатации механизма.
Предположим, что мы занимаемся заменой механизмов на протяжении n лет. В начале каждого года принимается решение либо об эксплуатации механизма еще один год, либо о замене его новым.
Обозначим через r(t) и c(t) прибыль от эксплуатации t-летнего механизма на протяжении года и затраты на его обслуживание за этот же период. Далее пусть s(t) – стоимость продажи механизма, который эксплуатировался t лет. Стоимость приобретения нового механизма остается неизменной на протяжении всех лет и равна l.
Элементы модели динамического программирования таковы:
1.
Этап і представляется
2.
Вариантами решения на і-м
3.
Состоянием на і-м этапе
Пусть fi(t)-максимальная прибыль, получаемая за годы от і до n при условии, что в начале і-ого года имеется механизм t-летнего возраста.
Рекуррентное уравнение имеет следующий вид:
(1)-если эксплуатировать механизм,
(2)-если заменить механизм.
Задача инвестирования:
Предположим, что в начале каждого из следующих n лет необходимо сделать инвестиции P1, P2,…, Pn соответственно. Вы имеете возможность вложить капитал в два банка: первый банк выплачивает годовой сложный процент r1, а второй - r2. Для поощрения депозитов оба банка выплачивают новым инвесторам премии в виде процента от вложенной суммы.
Премиальные меняются от года к году, и для і-ого года равны qi1 и qi2 в первом и втором банках соответственно. Они выплачиваются к концу года, на протяжении которого сделан вклад, и могут быть инвестированы в один из двух банков на следующий год. Это значит, что лишь указанные проценты и новые деньги могут быть инвестированы в один из двух банков. Размещенный в банке вклад должен находится там до конца рассматриваемого периода. Необходимо разработать стратегию инвестиции на следующие n лет.
Элементы модели динамического программирования следующие:
1.
Этап і представляется
2.
Вариантами решения на і-м
3. Состоянием xi на і-м этапе является сумма денег на начало і-ого года, которые могут быть инветсированы.
Заметим, что по определению =xi-li. Следовательно,
.
где і=2,3,…n, x1=P1. Сумма денег xi, которые могут быть инвестированы, включает лишь новые деньги и премиальные проценты за инвестиции, сделанные на протяжении (і-1)-го года.
Пусть fi(xi)- оптимальная сумма инвестиций для интервала от і-го до n-го года при условии, что в начале і-го года имеется денежная сумма xi. Далее обозначим через si накопленную сумму к концу n-го года при условии, что li и (xi-li)-объемы инвестиций на протяжении і-го года в первый и второй банк соответственно. Обозначая , і=1,2, мы можем сформулировать задачу в следующем виде.
Максимизировать z=s1+s2+…+sn, где
.
Так как премиальные за n-й год являются частью накопленной денежной суммы от инвестиций, в выражения для sn добавлены qn1 и qn2.
Итак, в данном случае рекуррентное уравнение для обратной прогонки в алгоритме динамического программирования имеет вид где xi+1 выражается через xi в соответствии с приведенной выше формулой, а fn+1(xn+1)=0.
3.2 Общая структура динамического программирования.
Отыскание оптимальной стратегии принятия набора последовательных решений, в большинстве случаях, производится следующим образом: сначала осуществляется выбор последнего во времени решения, затем при движении в направлении, обратном течению времени, выбираются все остальные решения вплоть до исходного.
Для
реализации такого метода необходимо
выяснить все ситуации, в которых
может происходить выбор
Если
число решений очень велико, то
можно построить относительные
оценки состояний так, чтобы оценки,
отвечающие каждой паре последовательных
решений, отличались друг от друга на
постоянную величину, представляющую
собой средний «доход» на решение.
Также можно выполнять
4 Одномерное динамическое программирование.
Чтобы лучше понять суть
Пусть исходная задача
T(i1, i2, ..., ik) при i1 < n1, i2 < n2, ..., ik < nk.