- •5.1. Вопросы для промежуточного и итогового контроля
- •6. Критерии оценки знаний
- •Список рекомендуемой литературы
- •Теоретическая часть
- •Тема 1. Экстремальные задачи и методы их решения.
- •Выбор метода решения - один из важнейших этапов при решении задач оптимизации. Можно выделить следующие группы методов:
- •Тема 3. Классические задачи, решаемые методом динамического программирования.
- •План решения задачи методом динамического программирования.
- •Определение. Последовательность Фибоначчи определяется следующим образом:
- •Примеры задач, решаемых при помощи динамического программирования. Наибольшая общая подпоследовательность. (ноп, Longest Common Subsequence, lcs)
- •Решение
- •Примеры задач, решаемых при помощи динамического программирования. Наибольшая возрастающая подпоследовательность. (нвп, Longest Increasing Subsequence, lis)
- •Решение
- •Оптимизация метода динамического программирования (на примере задачи нахождения числа сочетаний )
- •Тема 4. Системы и процессы.
- •Тема 5. Дискретные и непрерывные задачи.
- •Тема 6. Динамическое программирование и линейное программирование
- •Тема 7. Задачи поиска оптимальных путей на графах с неотрицательными весами ребер.
- •Тема 8. Динамическое программирование в экономических задачах.
- •Алгоритм обратной прогонки. Алгоритм прямой прогонки.
- •Алгоритм обратной прогонки
- •Алгоритм прямой прогонки
- •Тема 9. Оптимальное управление.
- •Тема 10. Особенности решения задач динамического программирования. Примеры.
- •Тема 11. Применение метода динамического программирования к задачам синтеза расписаний обслуживания.
- •Однопроцессорные задачи синтеза расписаний обслуживания конечных детерминированных потоков заявок
- •Задачи синтеза расписаний обслуживания для систем с параллельными и последовательными процессорами
- •Задачи оптимального обслуживания стационарных объектов, расположенных в одномерной зоне
- •Тема 12. Труднорешаемые задачи. Полиномиально разрешимые конкретизации, приближенные и эвристические алгоритмы
- •Полиномиально разрешимые и np-трудные задачи
- •Полиномиально разрешимые подклассы труднорешаемых задач
- •Принципы построения приближенных и эвристических алгоритмов
- •Эвристические алгоритмы для задач синтеза расписаний обслуживания
- •Глоссарий
- •Сборник заданий, задач, примеров, упражнений и т.Д.
- •Задача 7. Максимальная подпоследовательность. Дана числовая последовательность, требуется найти длину наибольшей возрастающей подпоследовательности.
Алгоритм обратной прогонки
Обозначим через fi(zi) максимальную прибыль, получаемую на этапах j,j+1,…,n, при заданном zj. Рекуррентное соотношение имеет следующий вид:
Заметим, что yj и zj - неотрицательные целые числа. Кроме того, уj (количество овец, проданных в конце периода j) должно быть меньше или равно zj. Верхней границей для значений zj, является величина 2jk (где k- исходный размер стада), которая соответствует отсутствию продажи.
Алгоритм прямой прогонки
Обозначим через gj(xj) максимальную прибыль, получаемую на этапах 1,2,...,j при заданном xj, (где xj— размер стада к началу этапа J+1). Рекуррентное соотношение записывается в следующем виде:
-
целое.
Сравнение двух формулировок показывает, что представление xj-1 через xj создает более существенные препятствия для вычислений, чем представление zj+1 через zj.
В замене xj-1=(xj+yj)/2 подразумевается целочисленность правой части, тогда как на равенство zj+1=2(zj-yj) такое требование не накладывается. Таким образом в случае процедуры прямой прогонки значения yj и xj, связанные неравенством
Yj <=2jk -Xj,
должны дополнительно удовлетворять условию целочисленности их полусуммы, связанному с видом зависимости хj-1 от xj,. Рассмотренный пример иллюстрирует трудности вычислительного характера, которые обычно возникают при использовании алгоритма прямой прогонки.
Решение задачи о загрузке
Сначала рассмотрим задачу в общей постановке. Если обозначить количество вопросов типа і через ki, то задача принимает следующий вид:
при ограничениях
ki-неотрицательные числа.
Если отбросить требования целочисленности ki, то решение задачи нетрудно найти с помощью симплекс-метода. В самом деле, так как остается лишь одно ограничение, базисной будет только одна переменная, и задача сводится к выбору типа і, для которого величина viW/wi принимает максимальное значение. Исходная задача не является задачей линейного программирования, и для ее решения необходимо использовать метод динамического программирования. Следует отметить, что рассматриваемая задача может быть также решена с помощью методов целочисленного программирования.
Каждый из трех основных элементов модели ДП определяется следующим образом.
Этап j ставится в соответствии типу j, j=1,2,…,N.
Состояние yj на этапе j выражает суммарный вес вопросов, количество ответов на которые приняты на этапах j,j+1,…,N; при этом y1=W и yj=0,1,…,W при j=2,3,…,N.
Варианты решения kj на этапе j описываются количеством вопросов типа j. Значение kj заключено в пределах от нуля до [W/wj], где [W/wj]-целая часть числа (W/wj).
Пусть fi(yi)-максимальный суммарный вес вопросов, ответы на которые приняты на этапах j,j+1,…,N при заданном состоянии yj.
Рекуррентное соотношение (для процедуры обратной прогонки) имеет следующий вид:
Заметим, что максимальное допустимое значение kj ограничено величиной [yj/wj]. Это позволяет автоматически исключать все не являющиеся допустимыми варианты при заданном значении переменной состояния yj.
Решение исходной задачи:
Этап 8.
Этап 7.
Этап 6.
Этап 5.
Этап 4.
Этап 3.
Этап 2.
Этап 1.
Оптимальное решение определяется теперь следующим образом. Из условия W=30 следует, что первый этап решения задачи при y1=30 дает оптимальное решение k1=0, которое означает, что на 0 (нуль) вопросов 1-го типа будут даны ответы. Далее находим:
-
y1=30
k1=0
y2=y1-2*k1=30
k2=0
y3=y2-4*k2=30
k3=4
y4=y3-k3=26
k4=1
y5=y4-4*k4=22
k5=0
y6=y5-7*k5=22
k6=0
y7=y6-5*k6=22
k7=5
y8=y7-3*k7=7
k8=7
Соответственно оптимальным решением задачи является (0,0,4,1,0,0,5,7), соответственно максимально количество баллов, которое студент может набрать за отведенное время равно 46.
Анализ чувствительности решения
В таблице для первого этапа нам, по существу, необходимо получить оптимальное решение лишь для y1=30, так как это последний этап, подлежащий рассмотрению. Однако в таблицу включены вычисления для y1=0,1,…,30, которые позволяют провести анализ чувствительности решения.
Например, что произойдет, если время отводимое на контрольную работу будет 20, вместо 30?
-
Y1=20
k1=0
Y2=y1-2*k1=20
k2=0
Y3=y2-4*k2=20
k3=4
Y4=y3-k3=16
k4=0
Y5=y4-4*k4=16
k5=0
Y6=y5-7*k5=16
k6=0
Y7=y6-5*k6=16
k7=3
Y8=y7-3*k7=7
k8=7
соответственно максимально количество баллов, которое студент может набрать за отведенное время равно 34. Что произойдет, если время отводимое на контрольную работу будет 5, вместо 30?
-
y1=5
k1=0
y2=y1-2*k1=5
k2=0
y3=y2-4*k2=5
k3=0
y4=y3-k3=5
k4=0
y5=y4-4*k4=5
k5=0
y6=y5-7*k5=5
k6=0
y7=y6-5*k6=5
k7=0
Y8=y7-3*k7=5
k8=5
соответственно максимально количество баллов, которое студент может набрать за отведенное время равно 10. Что произойдет, если типов вопросов будет 4, вместо 8?
Этап 4.
Этап 3.
Этап 2.
Этап 1.
y1=30 |
k1=5 |
y2=y1-2*k1=20 |
k2=3 |
y3=y2-4*k2=8 |
k3=4 |
y4=y3-k3=4 |
k4=3 |
соответственно максимально количество баллов, которое студент может набрать за отведенное время равно 39.
Оптимальность по Парето
В экономических исследованиях иногда приходится оптимизировать задачи по нескольким критериям. Например, одновременно учитывать минимум затрат и максимум прибыли, максимум прибыли и минимум риска, максимум выпуска продукции и максимум прибыли, минимальные затраты и минимальный риск и т.д. Рассмотрим многокритериальный метод оптимизации, предложенный итальянским экономистом Парето.
Оптимальность по Парето – такое состояние системы, при котором значение каждого частного критерия, описывающего состояние системы, не может быть улучшено без ухудшения положения других элементов. Таким образом, по словам самого Парето: «Всякое изменение, которое никому не приносит убытков, а некоторым людям приносит пользу (по их собственной оценке), является улучшением». Значит, признаётся право на все изменения, которые не приносят никому дополнительного вреда.
Множество состояний системы, оптимальных по Парето, называют «множеством Парето», «множеством альтернатив, оптимальных в смысле Парето», либо «множеством парето-оптимальных альтернатив». Ситуация, когда достигнута эффективность по Парето – это ситуация, когда все выгоды от обмена исчерпаны.
Приведенное выше определение можно формализовать следующим утверждением: состояние экономики S* считается лучшим по Парето, чем другое состояние S1, если хотя бы один экономический субъект предпочитает S*, а все остальные по меньшей мере не делают различий между этими состояниями, но в то же время нет таких, кто предпочитает S1 состоянию S*. Последнее безразлично по Парето относительно состояния S1, если все экономические субъекты не делают между ними различий; наконец, оно оптимально по Парето, если не существует такого допустимого состояния экономики, которое было бы лучше, чем это.
Критерий Парето неприменим к весьма распространенным ситуациям, при которых экономическое мероприятие, приносящее пользу одним, в то же время наносит ущерб другим. На рис. a) точкой А показано исходное состояние экономической системы, состоящей из двух подсистем (группы X и Y). Улучшают его лишь те решения, которые приводят систему в любую точку, лежащую в заштрихованной области и на ее границах (напр., точки B, C, D). Решение, обозначенное точкой E, не удовлетворяет требованию Парето, несмотря на значительный рост удовлетворения потребностей членов группировки Y: он достигается за счет снижения уровня благосостояния группировки X.
Если x1 и y1 (см. рис. б)) соответственно отображают максимальные значения целевых функций подсистем X и Y при их независимом друг от друга функционировании, то участок FF1 множества Парето (недостижимый для каждой из них в отдельности) заинтересовывает их в совместной деятельности. Этот участок называется ядром экономической системы. Чем теснее взаимозависимы подсистемы, тем меньше различия между множеством Парето (“оптимумом по Парето”) и ядром системы. Выбор при планировании единственного наилучшего плана (напр., точки g) — вопрос согласования или, как говорят, “устройства” экономического механизма. Напр., такой точкой может быть точка равновесия по Нэшу.
Таким образом, оптимумов по Парето может быть много, но существенно меньше, чем вообще вариантов развития системы; оптимумов по Парето, входящих в ядро, еще меньше, и все это, в частности, позволяет сужать выбор вариантов, подлежащих рассмотрению в процессе оптимального композиционного планирования. (Те же рассуждения применимы и к анализу некооперативных игр.)
Рис. Оптимальность по Парето.
Эффективность по Парето является одним из центральных понятий для современной экономической науки. На основе этого понятия строятся первая и вторая фундаментальные теоремы благосостояния. Одним из приложений Парето-оптимальности является т.н. Парето-распределение ресурсов (трудовых ресурсов и капитала) при международной экономической интеграции, то есть экономическом объединении двух и более государств. Интересно, что Парето-распределение до и после международной экономической интеграции было адекватно математически описано (Далимов Р. Т., 2008). Анализ показал, что добавленная стоимость секторов и доходы трудовых ресурсов движутся противонаправленно в соответствии с хорошо известным уравнением теплопроводности аналогично газу или жидкости в пространстве, что дает возможность применить методику анализа, используемую в физике, в отношении экономических задач по миграции экономических параметров.
Рис. Геометрическая интерпретация паретовых решений для задачи с двумя критериями.
Множество F называется множеством достижения или граничных возможностей. Множество Парето представляет собой часть границы множества достижимости, то есть к нему принадлежат те значения критериев, над которыми не доминируют другие варианты. В данном случае множеством Парето будет дуга АСВ. Существенным моментом здесь есть то, что решение полученное таким методом, не является однозначным. Лицо, принимающее решение, на свое усмотрение выбирает оптимальное решение из множества Парето (точку на дуге ABC). Но имеет место чрезвычайно важное утверждение.
Утверждение. На множестве Парето каждая из характеристик f1 f2 - однозначная функция другой. Другими словами, если две характеристики принадлежат множеству Парето, то по одной характеристике можно однозначно определить другую.
