|
Метод динамического программирования ⇐ ПредыдущаяСтр 4 из 4
Метод динамического программирования – это инструмент, позволяющий быстро находить оптимальное решение в задачах математического программирования с дискретным множеством допустимых решений, т.е. в ситуациях, когда имеется некоторое количество различных вариантов поведения, приносящих различные результаты, среди которых необходимо выбрать наилучший. Любая задача такого рода может быть решена путем перебора всех возможных вариантов и выбора среди них наилучшего. Однако часто такой перебор очень затруднителен. В этих случаях процесс принятия оптимального решения может быть разбит на шаги и исследован методом динамического программирования. В основе вычислительных алгоритмов динамического программирования лежит следующий принцип оптимальности, сформулированный Р. Беллманом. Принцип оптимальности.
Пусть процесс оптимизации разбит на n шагов. На каждом шаге необходимо определить два типа переменных – переменную состояния s и переменную управления или решения х. Переменная s определяет, в каких состояниях может оказаться система на данном k -ом шаге. В зависимости от s на этом шаге можно применить некоторые решения, которые характеризуются переменной хk. Применение решения х на k -ом шаге приносит некоторый результат uk(s, xk) и переводит систему в некоторое состояние s'(s, xk). Для каждого возможного состояния на k -ом шаге среди всех возможных решений выбирается оптимальное решение хk*, такое, чтобы результат, который достигается за шаги с k -ого по n- ый оказался оптимальным. Числовая характеристика этого результата называется функцией Беллмана fk(s) и зависит от номера шага k и состояния системы s. Итак решение задачи распадается на два этапа. На первом этапе, он называется условной оптимизацией, отыскивается функция Беллмана и оптимальные решения для всех возможных состояний на каждом шаге, начиная с последнего. На последнем, n -ом шаге найти оптимальное решение хn* и значение функции Беллмана fn(s) совсем не сложно (fn(s)=optimum Fk(s)=optimum Этот максимум или минимум отыскивается по всем возможным для данных k и s значениям переменной решения хk. После того, как функция Беллмана и соответствующие оптимальные решения найдены для всех шагов с n-ого по первый, производится второй этап решения задачи, который называется безусловной оптимизацией. Пользуясь тем, что на первом шаге (k =1) состояние системы нам известно – это ее начальное состояние s0 – можно найти оптимальный результат за все n шагов (это f1(s0)) и, кроме того, оптимальное решение на первом шаге х1*, которое этот результат доставляет. После применения этого решения система перейдет в некоторое новое состояние s'(s, x1*), зная которое можно, пользуясь результатами, полученными на этапе условной оптимизации, найти оптимальное решений на втором шаге х2*, и так далее вплоть до n -ого шага. Описанная вычислительная схема метода динамического программирования станет понятной, когда мы разберем конкретный числовой пример с экономическим содержанием. Пример 8. Пусть имеются четыре предприятия, между которыми распределяется 100 тыс. ден. ед. (инвестирование предприятий). Денежные средства распределяются суммами кратными 20 тыс. ден. ед. Значения Таблица 12
Решение: I этап. Условная оптимизация. Очевидно, что данная задача может быть решена просто перебором всех возможных вариантов распределения 100 тыс.ден.ед. по 4 предприятиям (всевозможных вариантов в данном примере не так уж и много). Однако попытаемся решить её более эффективным способом. Разобьём процесс оптимизации на 4 шага, и будем на каждом k -ом шаге оптимизировать инвестирование не всех предприятий сразу, а только предприятий с k -ого по 4 -ое. При этом, естественно, будем считать, что в остальные предприятия (с 1 -ого по (k-1) -ое) тоже вкладываются некоторые средства, и потому на инвестирование предприятий с k -ого по 4 -ое остаются не все средства, а некоторая сумма сk≤100 тыс.ден.ед. Эта величина и будет являться переменной состояния системы. Переменной управления на k -ом шаге назовем величину хk средств, вкладываемых в k -ое предприятие. В качестве функционального уравнения Беллмана fk(сk) на k -ом шаге в этой задаче можно выбрать максимально возможную прибыль, которую можно получить с предприятий с k -ого по 4 -ое при условии, что на их инвестирование осталось сk средств. Очевидно, что при вложении в k -ое предприятие хk средств, мы получим прибыль gk(xk), а система к (k+1)- ому шагу перейдет в состояние сk+1=ck-xk, т.е. на инвестирование предприятий с (k+1)- ого до 4 -ого останется сk+1 средств. Итак, на первом шаге условной оптимизации при k = 4 функция Беллмана представляет собой не что иное, как прибыль только с 4-ого предприятия. При этом на его инвестирование может остаться количество средств сk, 0
Таблица 13
На каждом из последующих шагом для вычисления функции Беллмана приходится использовать результаты, полученные на предыдущем шаге. Пусть на втором шаге для инвестирования предприятия с третьего по четвертое осталось с3 средств (0 Таблица 14
Максимум этого выражения f3*(c3) достигается при некотором значении х3*, которое и является оптимальным решением на втором шаге для состояния системы с3. На третьем шаге для инвестирования предприятия со второго по четвертое осталось с2 средств (0 Таблица 15
Максимум этого выражения f2*(c2) достигается на некотором значении х2*, которое и является оптимальным решением на третьем шаге для состояния системы с2. И, наконец, четвертый шаг. Для инвестирования предприятия с первого по четвертое осталось с1 средств (0
Таблица 16
Максимум этого выражения f1*(c1) достигается на некотором значении х1*, которое и является оптимальным решением на третьем шаге для состояния системы с1. II этап. Безусловная оптимизация. Мы распределяем 100 тыс. ден.ед., т.е. 1-ый шаг: с1 = 100, F(100)= 2-ой шаг: с2 = с1 - х1* =100-0=100, из таблицы 15 можем найти, что х2*=20. 3-ий шаг: с3 = с2 – х2* =100-20=80, из таблицы 14 находим, что х3*=40. 4-ый шаг: с4 = с3 – х3* =80-40=40, из таблицы 13 видим, что х4*=40. Итак, оптимальный план инвестирования четырех предприятий
ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ
1. Предприятие производит продукцию двух видов: К1 и К2. Объем сбыта продукции К1 составляет не менее 70% общего объема реализации продукции обоих видов. Для изготовления продукции К1 и К2 используется одно и тоже сырье, суточный запас которого равен 330 кг. Расход сырья на единицу продукции К1 равен 3 кг, а на единицу продукции К2 - 4 кг. Цены продукции К1 и К2 - 10 и 20 ден.ед. соответственно. Определить оптимальное распределение сырья для изготовления продукции К1 и К2. Задачу решить графическим методом. 2. Для производства двух видов продукции А1 и А2 на фабрике использован материал трёх сортов В1, В2 и В3, имеющийся на складе в количестве 594, 614 и 574 соответственно. На изготовление изделия Аj расходуется аij кг материала сорта Вj. Матрица расхода (аij) задана. От реализации единицы продукции А1 и А2 фабрика имеет прибыль соответственно 5 и 7 ден.ед. Используя симплекс-метод найти максимальную прибыль от реализации всей продукции. (а ij)= 3. Построить двойственную задачу к предыдущей задаче (задаче 2) и записать её решение. Используя найденное решение определить наиболее дефицитный ресурс. На фабрику завезли материал сорта В1 в количестве 5 единиц. Возможно ли в этом случае увеличить прибыль и насколько? Оценить целесообразность введения в план нового вида продукции А3, если на её изготовление расходуется по 9 кг каждого сырья, а прибыль от реализации составляет 10 ден.ед.? 4. Готовая продукция заводов Аi (i= Сij = Найти план перевозки готовой продукции заводов на склады с минимальными затратами. Указать склады, пропускная способность которых использована не полностью, и величину резерва складских помещений в них. 5. Для увеличения объемов выпуска пользующейся повышенным спросом продукции, изготовляемой четырьмя предприятиями, последним выделены капиталовложения в объеме 600 млн. рублей. Составить оптимальный план распределения этих капиталовложений, если прирост выпуска продукции fj (xi) j -ым предприятием, когда ему выделено xi млн. рублей задается следующей таблицей.
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ТЕСТИРОВАНИЯ 1. Математическая модель задачи линейной оптимизации F = 8x1 +6x2 –3x3 (max) x1≥0, x2≥0, х3≥0. записана в форме: 1) симметричной; 2) канонической; 3) общей; 4) матричной.
2. После приведения математической модели задачи линейной оптимизации F = 6x1 -3x2 +7x3 (min) x1≥0, x3≥0 к каноническому виду мы получаем:
3. На рисунке изображен случай, когда своего максимального значения функция f(х) достигает
4. В прямоугольной системе координат множество точек, удовлетворяющих ограничению
5. Решая задачу линейной оптимизации графическим методом мы получаем следующую иллюстрацию. По данному рисунку можно сказать, что задача имеет:
6. При решении данной задачи линейного программирования графическим методом F= 8x1 +3x2 (max) x1≥0, x2≥0 получаем следующую иллюстрацию:
7. Решение задачи максимизации находящееся в симплексной таблице является
8. Определите разрешающий элемент в следующей симплексной таблице при решении задачи максимизации:
9. После пересчета элементов данной таблицы задачи максимизации линейного программирования
мы приходим к следующей таблице
10. Экстремальные значения целевых функций двойственных задач линейного программирования связаны следующим соотношением: 1) 2) 3) 11. Модель двойственной задачи построенной к данной f = 8х1 - 4х2+ 7х3
5х1+ 4 х2 + х3 4х1+ 2х2+ 8х3 хj
принимает следующий вид:
12. При решении пары двойственных задач (одна из которых задача об оптимальном использовании ресурсов) получен следующий результат: f(
13. Оцените целесообразность включения в план нового вида продукции, нормы затрат ресурсов на единицу которого равны соответственно 3, 4, 2, а прибыль от реализации равна 40 ден.ед., если при решении задачи о производстве продукции при оптимальном использовании ресурсов было получено следующее решение
14. Оцените целесообразность закупки 10 единиц второго вида ресурса по цене 2,5 ден.ед., если при решении задачи о производстве продукции при оптимальном использовании ресурсов было получено следующее решение
15. План находящийся в данной таблице является
16. Для клетки (1; 4) замкнутый цикл представлен в таблице
17. Оценка свободной клетки (2; 1) равна
18. Полученный план перевозок транспортной задачи является
19. Если значение потенциала U2 = 1, то значение потенциала V3 будет равно
20. Для данного опорного плана, находящегося в следующей таблице, значение функции будет равно
21. Принцип оптимальности Беллмана для задачи в которой решается вопрос о том, как спланировать работу группы предприятий, чтобы экономический эффект от выделенных этим предприятиям дополнительных финансовых или материальных ресурсов был максимальным, формализуется в следующее функциональное уравнение динамического программирования. 1) 2) fn(t)= max 3) fn(xn-1, un) = min (zn(xn-1, un)+fn-1(xn)) ОТВЕТЫ
К задачам для самостоятельного решения 1. 2. 3. 4. Х1* = 5.
К тестовым заданиям
©2015- 2025 zdamsam.ru Размещенные материалы защищены законодательством РФ.
|