ВВЕДЕНИЕ
ГЛАВА 1 ОСНОВНЫЕ ВИДЫ ОПТИМИЗАЦИОННЫХ ЗАДАЧ И МЕТОД ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ
1.1Оптимизационные задачи
1.2Метод динамического программирования
1.3Анализ основных видов оптимизационных задач и применение
метода динамического программирования
1.3.1Задача коммивояжера.
1.3.2Задача о ранце
1.3.3Задача отыскания кратчайших путей на графе
1.3.4Задача о назначениях
1.3.5Задача о порядке произведения матриц
1.3.6Задача распределения ресурсов
ГЛАВА 2 НЕКОТОРЫЕ ОПТИМИЗАЦИОННЫЕ ЗАДАЧИ И ИХ РЕШЕНИЕ
2.1Решение задачи коммивояжера
2.2Решение задачи о ранце
2.3Решение задачи отыскания кратчайших путей на графе
2.4Решение задачи о порядке произведения матриц
2.5Решение задачи распределения ресурсов
ГЛАВА 3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ ОТЫСКАНИЯ КРАТЧАЙШИХ ПУТЕЙ НА ГРАФЕ
3.1Алгоритм решения задачи отыскания кратчайших путей на графе
3.2Описание интерфейса
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ А Листинг кода программной реализации задачи отыскания кратчайших путей на графе методом динамического программирования
При управлении сложными дорогостоящими экономическими системами возникшие ошибки могут иметь крайне высокую цену. Чтобы исключить или, по крайней мере, снизить риск появления подобных ошибок, необходимо использовать математические модели. Математические модели могут выражать полный спектр существенных соотношений между параметрами систем управления и различными количественными характеристиками. Другими словами, математическая модель описывает в математической форме исследуемую систему, процессы или явления.
Оптимизационными называются экономико-математические задачи, цель которых заключается в нахождении оптимального (наилучшего) с точки зрения некоторого критерия или критериев варианта использования имеющихся ресурсов (труда, капитала и пр.).
Опирающиеся на хорошо построенные математические модели задачи управления приводят к качественным и пригодным для применения на практике результатам. Однако, такие задачи управления являются сложными, и простых формул для их решения не существует. Поэтому возникает объективная потребность в разработке специальных математических методов решения поставленных задач.
Таким методом решения задач управления многошаговыми процессами является рассматриваемый в данной работе метод динамического программирования.
Динамическое программирование — это один из математических методов нахождения оптимальных решений по управлению многошаговыми процессами. Состояние исследуемых систем изменяется поэтапно или во времени. В реальном мире подобные процессы и системы имеют широкое распространение. Важность и актуальность применения математических методов для решения соответствующих управленческих задач определяется необходимостью эффективного управления. Для метода динамического программирования теоретической основой является принцип оптимальности, который получил широкую сферу приложений в технике, естествознании, экономике и военном деле.
Объект исследования: математические модели оптимизационных задач.
Предмет исследования: оптимизация задач методом динамического программирования.
Цель данной работы заключается в разработке алгоритмов решения оптимизационных задач методом динамического программирования и программной реализации одного из полученных алгоритмов.
Для достижения поставленной цели потребуется:
•Изучить виды оптимизационных задач.
•Проанализировать метод динамического программирования.
•Построить математические и оптимизационные модели для выбранных задач.
•Описать алгоритмы решения оптимизационных задач.
•Разработать программную реализацию одного из полученных алгоритмов для решения выбранной задачи.
•Протестировать программное обеспечение на реальных задачах.
В результате изучения и анализа метода динамического программирования показан широкий спектр задач, к которым данный метод применим. Представлены подходы использования метода динамического программирования.
В работе были подробно рассмотрены разные виды оптимизационных задач и особенности применения к ним метода динамического программирования для решения в общем виде.
В рамках данной работы описаны алгоритмы решения оптимизационных задач, полученные методом динамического программирования. Работа алгоритмов продемонстрирована на конкретных примерах оптимизационных задач.
Применение метода динамического программирования к оптимизационным задачам малой размерности позволило получить эффективные алгоритмы решения, в редких случаях уступающих альтернативным алгоритмам. Однако при увеличении размерности задачи сильно увеличивается трудоемкость решения и объём памяти, требуемый для хранения результатов решения большого количество подзадач.
Задача отыскания кратчайших путей является удачным примером применения метода динамического программирования. На основе полученного алгоритма решения этой задачи была реализована программа на языке программирования Java. Алгоритм дополнен определением совокупностей вершин, через которые проходят вычисленные кратчайшие пути.
Научная и методическая литература
1.Акулич И.Л. Математическое программирование в примерах и задачах: учебное пособие/ И.Л. Акулич - СПб.: Издательство «Лань», 2011. - 352 с.
2.Алексеев О.Г. Комплексное применение методов дискретной оптимизации / О.Г. Алексеев - М.: Наука, 1987. - 247 с.
3.Банди Б. Основы линейного программирования / Б. Банди - М.: Радио и связь, 2009. - 176с.
4.Беллман Р. Динамическое программирование. /Р. Беллман - М.: Издательство иностранной литературы, 1960. - 400 с.
5.Беллман Р. Прикладные задачи динамического
программирования / Р. Беллман, С. Дрейфус. - М.: Наука. Главная редакция Физико-математической литературы, 1965. - 460 с.
6.Вагнер Г. Основы исследования операций. Т. 1. / Г. Вагнер - М.: Мир, 1972. - 336 с.
7.Габасов Р. Основы динамического программирования / Р. Габасов, Ф.М. Кириллова - Мн.: Изд-во БГУ, 1975. - 264 с.
8.Интрилигатор М. Математические методы оптимизации и экономическая теория / М. Интрилигатор - М.: Прогресс, 2005. - 592с.
9.Карзаева, Н.Н. Математическое программирование в экономике: Учебное пособие / Н.Н. Карзаева. - М.: Финансы и статистика, 2010. - 240 с.
10.Коган Д.И. Динамическое программирование и дискретная многокритериальная оптимизация: учебное пособие / Д.И. Коган - М.: Издательство Нижегородского университета, 2004. - 150 с.
11.Корбут А.А. Дискретное программирование / А.А. Корбут, Ю.Ю. Финкельштейн. - М.: Наука, 1969. - 368 с.
12.Кристофидес Н. Теория графов. Алгоритмический подход / Н. Кристофидес - М.: Мир, 2008. - 432 с.
13.Морозов, В.В. Исследование операций в задачах и упражнениях / В.В. Морозов, А.Г. Сухарев, В.В. Федоров. - М.: КД Либроком, 2016. - 288 с.
14.Подиновский В.В. Парето - оптимальные решения многокритериальных задач / В.В. Подиновский, В.Д. Ногин - М.: Наука, 2002. - 256 с.
15.Соколов А.В. Методы оптимальных решений. Общие положения. Математическое программирование / А.В. Соколов, В.В. Токарев. - М.: Физматлит, 2011. - 564 с.