Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Динамическое программирование↑ ⇐ ПредыдущаяСтр 5 из 5 Содержание книги Поиск на нашем сайте
При решении сложной оптимизационной задачи объем вычислений перебором всех вариантов может оказаться очень большим. В этом случае может помочь метод динамического программирования. Суть его в том, что задача разбивается на этапы и на каждом этапе проводится оптимизация. Но оптимизируется решения не для данного этапа, а для совокупности этого этапа со всеми рассмотренными ранее. Пример 1. Пусть требуется проложить дорогу из пункта А в пункт В, показанные на схеме на рис.12. Прокладывать следует по линиям сетки. Стоимость прокладки на каждом участке показана. Требуется проложить маршрут так, чтобы стоимость его прокладки была минимальной.
Рис.12 Начнем расчет с последнего шага. В пункт В можно попасть из двух соседних пунктов – слева или снизу. В каждом из этих пунктов в кружке напишем стоимость прокладки оставшейся части дороги (14 и 3) и направление ее прокладки. Затем рассматриваем пункты, отстоящие от конечного на два шага, на первой таблице они обозначены жирными точками. Для каждого из них рассматриваем всевозможные продолжения и стоимость прокладки дороги до конечного пункта по этим продолжениям. Для верхнего и нижнего пунктов, находящихся на границе, продолжения единственные. В соответствующих кружках ставим соответственно 9+14=23 и 5+3=8. В среднем пункте возможны два продолжения. Если двигаться вверх, то получим стоимость 5+14=19, если же двигаться направо – то 10+3=13. Выбираем меньшее, обозначаем направление направо.
Рис.13 Далее таким же образом заполняем вершины третьего уровня, и т.д. Если в какой-нибудь вершине стоимость по обоим направлениям оказывается одинаковой, направление задаем произвольно. Когда дойдем до начальной вершины А, получим минимальную стоимость прокладки дороги и соответствующую цепочку направлений. Эта цепочка начинается с вершины А и продолжается далее по стрелкам. В нашем случае эта стоимость равна 72. Оптимальное распределение ресурсов. Имеется некоторое количество ресурсов (материальные, трудовые, финансовые), которые необходимо распределить либо между производственными участками, либо по годам или другим периодам. При этом нужно получить максимальную суммарную эффективность от выбранного способа распределения. Показателем эффективности может служить, например, прибыль, себестоимость, суммарные затраты и т.д. Пример 2. Хозяйство приобрело 6 единиц специализированной техники, которую нужно распределить между четырьмя отделениями с тем, чтобы максимально повысить общий уровень технической готовности. Для каждого i -гоотделения известен уровень технической готовности fi (u), который отделение будет иметь, если получит u единиц техники. Эти данные приведены в таблице. Оптимизационная задача заключается в том, чтобы сделать максимальной сумму всех уровней.
Вычисления будем проводить средствами EXCEL в специальной таблице. Считаем, что техника отправляется последовательно в первое, второе, третье, четвертое отделения. Анализ начинаем с последнего шага, то есть четвертого отделения. Используем следующие параметры: s – количество нераспределенных единиц техники, оставшихся к данному шагу; ui (s) – количество единиц техники, которое может быть выделено i -му отделению (рассматриваемому на данном шаге заполнения таблицы). Это количество выделяется из s нераспределенных, значит, ui (s) ≤ s. Wi (s) – максимальный суммарный уровень технической готовности, который достигается при данном значении ui (s) с учетом всех рассмотренных ранее шагов.
При i = 4 столбцы u 4(s) и W 4(s) заполняются очень просто. Возможные значения u 4(s) совпадают с s, так как это последнее отделение и больше распределять технику не придется. Суммарный уровень технической готовности – это уровень технической готовности 4-го отделения, он просто переносится из первой таблицы. При i = 3 и i = 2 для заполнения столбцов необходимы специальные вычисления. Рассмотрим i = 3. При s = 0 не осталось нераспределенной техники, поэтому u 3(0) = 0 и W 3(0) = f 3(0) + W 4(0) = 0,72 + 0,81 = 1,53. При всех других значениях s требуется производить сравнение. При s = 1 возможные значения u 3(0) это 0 или 1. Тогда для 4-го отделения останется соответственно 1 или 0 единиц техники, и суммарный уровень технической готовности будет соответственно f 3(0) + W 4(1) = 0,72 + 0,85 = 1,57 и f 3(1) + W 4(0) = 0,79 + 0,81 = 1,60. Выбираем большее, делаем вывод, что u 3(1) = 1 и W 3(1) = 1,60. Для s = 2 придется сравнивать уже три суммы f 3(0) + W 4(2), f 3(1) + W 4(1) и f 3(2) + W 4(0). Наибольшая из этих сумм принимается за W 3(2), а соответствующий аргумент при f 3 – значение u 3(2). В общем случае для нахождения ui (s) и Wi (s) сравниваем суммы fi (0) + Wi- 1(s), fi (1) + Wi- 1(s – 1), fi (2) + Wi- 1(s – 2), …, fi (s) + Wi- 1(0). (1) Выбираем из них максимальную и берем в качестве Wi (s). Соответствующий аргумент при fi будет значением ui (s). Суммируемые значения находятся в столбцах первой и второй таблицы, причем расположены там в обратном порядке. Это дает возможность организовать вычисления в EXCEL. При этом отметим, что EXCEL только уменьшает объем работы, но для задач большой размерности он все равно будет достаточно большим. Здесь следует использовать специальное программное обеспечение. Скопируем таблицы WORD на лист EXCEL. Вторая таблица будет основной расчетной таблицей. Создадим вспомогательные таблицы, как показано на рисунке 14. Рис.14 В столбец G вспомогательной таблицы будем копировать соответствующий столбец из первой таблицы, который мы хотим записать в обратном порядке, то есть создать его инверсию. На рис.14 туда отправлен столбец значений f 3(u). В столбце Н сформируем эту инверсию. Для этого в ячейки Н2 – Н8 введем формулы =$G$8, =$G$7, …, =$G$2. Рядом в столбце I выпишем значения соответствующих значений u. Теперь создадим расчетную таблицу для вычисления сумм (1). В столбец К скопируем содержимое очередного столбца Wi- 1(s) основной расчетной таблицы. На рис.2 мы видим там содержимое столбца W 4(s). В столбцы L и M скопируем массив G2 – I8 так, чтобы его последняя строка оказалась против первой заполненной числами строки предыдущего столбца. В столбцах N – T будем вычислять значения сумм (1). В ячейку N12 вводим формулу =K12+L12, протягиваем ее вниз до строки 18 и производим в получившемся массиве команду заменить: K на $ K$ и L на $ L. Этот массив копируем и вставляем в следующие столбцы, сдвигая каждый раз на одну строку выше. В получившихся ячейках и будут вычисляться суммы (1). При этом следует иметь в виду, что нужные нам суммы будут находиться в строках начиная с 12 и выше. Мы уже имеем возможность заполнить столбцы u 3(s) и W3(s) основной расчетной таблицы. Для s = 0 выбирать не приходится, так как сумма единственная. Вносим в основную расчетную таблицу значения u 3(0) = 0, W3(0) = 1,53. Эти значения следует набирать вручную, а не копировать, чтобы они не менялись при последующей работе с таблицей. При s = 1 мы выбираем уже из двух сумм, равных 1,6 и 1,57. Выбираем большую, переносим ее в основную расчетную таблицу вместе с соответствующим значением u = 1. Так же поступаем со всеми следующими суммами. При равенстве двух наибольших значений выбираем любое. В результате столбцы основной расчетной таблицы для i = 3 будут заполнены. Рис.15 Для i = 2 меняем только содержимое двух массивов. В столбец G копируем значения столбца f 2(u) первой таблицы, в столбец K – только что полученное содержимое столбца W 3(s) основной расчетной таблицы. Анализируем образовавшиеся суммы и вносим значения в основную расчетную таблицу так же, как для i = 3. Так же поступаем для всех остальных значений i, кроме последнего i = 1. Здесь нам уже не придется выбирать для нахождения u 1(s), так как все нераспределенное к этому шагу достанется первому отделению. Это значит, что u 1(s) = s. Из всех сумм мы рассматриваем только суммы из последнего столбца для s = 6 и просто переносим получившиеся значения в основную расчетную таблицу. Рис.16
Расчеты закончены. Результат показан на рис.16. Подведем итоги. Видим, что максимальное значение целевой функции W1(s), равное 3,44, достигается при u 1(s), равном 3 или 2. Если u 1(s) = 3, то есть первому отделению достается 3 машины, то остается распределить s = 3 машины. В строке основной таблицы, соответствующей s = 3, в столбце u 2(s) имеем значение 0, то есть второму отделению не достается машин. Значит, значение u 3(s) также ищем при s = 3, оно равно 2. Это количество машин достается третьему отделению, и четвертому остается 1 машина. Если же взять u 1(s) = 2, то дальше для u 2(s) придется искать значение в строке s = 4, оно также равно 0. Тогда значение u 3(s) также ищем при s = 4, оно равно 3. Четвертому отделению опять остается 1 машина.
Задания для лабораторных работ Лабораторная работа 1 Определить оптимальное сочетание зерновых культур: пшеницы, ячменя, ржи, овса. Производство культур характеризуется следующей таблицей:
Производственные ресурсы:
Производство продовольственного зерна (пшеница, рожь) – не менее 2000 т, фуражного зерна (ячмень, овес) – не менее 2000 т.
Критерий оптимальности: максимальное производство зерна. Номер варианта - номер студента в списке в журнале.
Лабораторная работа 2 Выполнить лабораторную работу, описанную в теме «Решение задачи линейного программирования средствами EXCEL», включив в решение все приведенные зерновые культуры. В качестве параметра а в строке таблицы, где заданы площади под культуры, взять номер студента по списку в журнале. Лабораторная работа 3 Выполнить лабораторную работу, описанную в теме «Задача нелинейного программирования». В качестве параметра а в строке таблицы, где заданы площади под культуры, взять номер студента по списку в журнале.
Лабораторная работа 4 Решите задачу целочисленного программирования. Предприятие собирается отправить на ярмарку свою продукцию пяти видов на грузовой машине. Грузоподъемность машины 5 т, объем 15 кубометров. Планируется представить не менее двух единиц продукции каждого вида. Рассчитайте, сколько следует взять единиц продукции каждого вида, чтобы она поместилась в машину и ее суммарная стоимость была максимальной. Необходимые параметры представлены в таблице. В качестве параметра а взять номер студента по списку в журнале.
Лабораторная работа 5 Определить оптимальное сочетание трех зерновых культур: пшеницы, ячменя и овса. Производство культур характеризуют показатели таблицы.
Производственные ресурсы: пашня – (1600+100а) га, удобрения – 100000 руб. В качестве параметра а взять номер студента по списку в журнале. Критерий оптимальности: максимальное производство зерна и минимальные затраты труда. Решить задачу двумя способами. 1. Считать главным критерием производство зерна. Решить задачу максимизации этого показателя. Получив результат, определить приемлемый уровень сбора зерна. Наложив соответствующее ограничение, решить задачу минимизации затрат труда. 2. Построить целевые функции – производство зерна и затраты труда. Выбрав по своему усмотрению коэффициенты к ним, задать их комбинацию – новую целевую функцию. Решить задачу ее максимизации (или минимизации). Сравните полученные решения и сделайте выводы.
Лабораторная работа 6 Решите задачу динамического программирования. Распределить между четырьмя отделениями с тем, чтобы максимально повысить общий уровень технической готовности. Для каждого i-го отделения известен уровень технической готовности fi(u), который отделение будет иметь, если получит u единиц техники. Эти данные приведены в таблице. Распределить машины таким образом, чтобы суммарный уровень технической готовности был максимальным.
Литература 1. Смиряев, А.В. Моделирование: от биологии до экономики. Учебное пособие./ А.В. Смиряев, А.В. Исачкин, Л.К.Харрасова./ М.: Изд-во МСХА, 2002. – 122 с. 2. Светлов Н.М., Светлова Г.Н. Построение и решение оптимизационных моделей средствами MS Excel и ХА: Методические указания. М.: Изд-во МСХА, 2005.– 27 с. 3. Братусь, А.С.Динамические системы и модели биологии/ А.С. Братусь, А.С. Новожилов, А.П. Платонов. М.: Физматлит, 2010. – 398 с. 4. Самарский, А.А. Математическое моделирование: Идеи. Методы. Примеры: Монография/ А.А.Самарский, А.П.Михайлов. – М: Физматлит, 2005. – 320с. Оглавление 1. Модели и моделирование 3 2. Модели в сельском хозяйстве и биологии 4 3. Задача линейного программирования 7 4. Решение задачи линейного программирования средствами EXCEL 9 5. Задача нелинейного программирования 15 6. Многокритериальные задачи 18 7. Динамическое программирование 19 8. Задания для лабораторных работ 24 Лабораторная работа 1 «Определение оптимального сочетания зерновых культур» 24 Лабораторная работа 2 «Оптимизация количества удобрений, вносимых в поле» 25 Лабораторная работа 3 «Распределение удобрений в условиях дефицита» 25 Лабораторная работа 4 «Оптимизация загрузки машины» 25 Лабораторная работа 5 «Многокритериальная задача» 26 Лабораторная работа 6 «Распределение техники по отделениям хозяйства» 26 Литература 27
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-02-07; просмотров: 94; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.123.61 (0.009 с.) |