Динамическое программирование (задача о загрузке)
| Категория реферата: Рефераты по математике
| Теги реферата: доклад, доклад по обж
| Добавил(а) на сайт: Ignat'ev.
Предыдущая страница реферата | 1 2 3 4 5 | Следующая страница реферата
Заметим, что по определению [pic]=xi-li. Следовательно,
[pic] где і=2,3,…n, x1=P1. Сумма денег xi, которые могут быть инвестированы, включает лишь новые деньги и премиальные проценты за инвестиции, сделанные на протяжении (і-1)-го года.
Пусть fi(xi)- оптимальная сумма инвестиций для интервала от і-го до n-
го года при условии, что в начале і-го года имеется денежная сумма xi.
Далее обозначим через si накопленную сумму к концу n-го года при условии, что li и (xi-li)-объемы инвестиций на протяжении і-го года в первый и
второй банк соответственно. Обозначая [pic], і=1,2, мы можем сформулировать
задачу в следующем виде.
Максимизировать z=s1+s2+…+sn, где
[pic]
Так как премиальные за n-й год являются частью накопленной денежной суммы от инвестиций, в выражения для sn добавлены qn1 и qn2.
Итак, в данном случае рекуррентное уравнение для обратной прогонки в алгоритме динамического программирования имеет вид
[pic] где xi+1 выражается через xi в соответствии с приведенной выше формулой, а fn+1(xn+1)=0.
1.3 Общая структура динамического программирования
Отыскание оптимальной стратегии принятия набора последовательных решений, в большинстве случаях, производится следующим образом: сначала осуществляется выбор последнего во времени решения, затем при движении в направлении, обратном течению времени, выбираются все остальные решения вплоть до исходного.
Для реализации такого метода необходимо выяснить все ситуации, в
которых может происходить выбор последнего решения. Обычно условия, в
которых принимается решение, называют «состоянием» системы. Состояние
системы – это описание системы, позволяющее, учитывая будущие решения, предсказать ее поведение. Нет необходимости выяснять, как возникло то ил
иное состояние или каковы были предшествующие решения. Это позволяет
последовательно выбирать всего по одному решению в каждый момент времени.
Независимо от того, отыскивают оптимальные решения с помощью табличного
метода и последующего поиска или аналитическим путем, обычно быстрее и
выгоднее производить выбор по одному решению в один момент времени, переходя затем к следующему моменту и т.д. К сожалению, таким методом можно
исследовать не все процессы принятия решений. Необходимым условием
применения метода динамического программирования является аддитивность цен
всех решений, а также независимость будущих результатов от предыстории того
или иного состояния.
Если число решений очень велико, то можно построить относительные оценки состояний так, чтобы оценки, отвечающие каждой паре последовательных решений, отличались друг от друга на постоянную величину, представляющую собой средний «доход» на решение. Также можно выполнять дисконтирование доходов от будущих решений. Необходимость в этом иногда появляется в том случае, когда решение принимаются редко, скажем раз в году. Тогда уже не нужно рассматривать последовательно 1,2,3…решения, чтобы достичь решения с большим номером. Вместо этого можно непосредственно оперировать функциональным уравнением, что, как правило, дает существенную выгоду с точки зрения сокращения объема вычислений.
2 ЗАДАЧА О ЗАГРУЗКЕ
2.1 Общие сведения
Задача о загрузке – это задача о рациональной загрузке судна (самолета, автомашины и т.п.), которое имеет ограничения по объему или грузоподъемности. Каждый помещенный на судно груз приносит определенную прибыль. Задача состоит в определении загрузки судна такими грузами, которые приносят наибольшую суммарную прибыль.
Рекуррентное уравнение процедуры обратной прогонки выводится для общей задачи загрузки судна грузоподъемностью W предметов (грузов) n наименований. Пусть mi-количество предметов і-го наименования, подлежащих загрузке, ri-прибыль, которую приносит один загруженный предмет і-го наименования, wi-вес одного предмета і-го наименования. Общая задача имеет вид следующей целочисленной задачи линейного программирования.
Максимизировать z=r1m1+r2m2+…+rnmn. при условии, что w1m1+w2m2+…+wnmn [pic] W, m1,m2,…,mn [pic] 0 и целые.
Три элемента модели динамического программирования определяются следующим образом:
1. Этап і ставится в соответствии предмету і-го наименования, і=1,2,…n.
2. Варианты решения на этапе і описываются количеством mi предметов і-го наименования, подлежащих загрузке. Соответствующая прибыль равна rimi. Значение mi заключено в пределах от 0 до [W/wi], где
[W/wi] – целая часть числа W/wi.
3. Состояние xi на этапе і выражает суммарный вес предметов, решения о погрузке которых приняты на этапах і,і+1,...n. Это определение отражает тот факт, что ограничения по весу является единственным, которое связывает n этапов вместе.
Пусть fi(xi)-максимальная суммарная прибыль от этапов і,і+1,...,n при заданном состоянии xi. Проще всего рекуррентное уравнение определяется с помощью следующей двухшаговой процедуры.
Шаг 1. Выразим fi(xi) как функцию fi+1(xi+1) в виде
[pic] где fn+1(xn+1)=0.
Рекомендуем скачать другие рефераты по теме: физика и техника, реферат на тему творчество.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 | Следующая страница реферата