Аннотация 2
ВВЕДЕНИЕ 6
ГЛАВА 1 МЕТОД ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ 8
1.1 Общая постановка задачи динамического программирования 8
1.2 Уравнение Беллмана 10
ГЛАВА 2 ПРОИЗВОДСТВЕННЫЕ ЗАДАЧИ, РЕШАЕМЫЕ МЕТОДОМ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ 14
2.1 Виды производственных задач 14
2.2 Задача о замене оборудования 17
2.3 Задачи распределения инвестиций 19
2.4 Задача о загрузке транспортного средства 22
2.5 Задача о наикратчайшем пути через сети 25
2.6 Задача расписания работы технологической линии (задача Джонсона) 32
Глава 3 РЕАЛИЗАЦИЯ АЛГОРИТМА РЕШЕНИЯ ПРОИЗВОДСТВЕННЫХ ЗАДАЧ 37
3.1 Решения производственных задач методом динамического программирования в программной среде MS EXCEL 37
3.3 Выбор графического фреймворка для реализации интерфейса программы 42
ЗАКЛЮЧЕНИЕ 45
Список используемых источников 46
Большое количество производственных задач можно сформулировать в виде математической задачи на экстремум. К некоторым из этих задач применимы классические методы математического анализа и вариационное исчисление. Но для значительной части задач производства и управления подобные методы не применимы или малоэффективны. Нахождение экстремума классическими методами зачастую приводит к тому, что на следующем этапе решения приходится решать новые задачи, еще более сложные, чем поставленные первоначально. Даже в тех случаях, когда задача формулируется, как задача математического программирования, применение необходимых условий для построения оптимального решения очень часто не приводит к нужному результату. В производственных задачах оптимизации к максимуму целевой функции легче бывает подойти поэтапно, чем аналитически решить систему уравнений, определяемую возможными ограничениями поставленной задачи. И даже, в том случае, когда задача математического программирования может быть решена, проверка найденного решения может оказаться довольно сложной и тем сложнее, чем больше аргументов у функции.
Актуальность выполненной работы можно обосновать тем, что решение ряда задач производственного управления можно упростить, если процесс управления осуществлять поэтапно, заменив нахождение точек экстремума целевой функции многих переменных многократным нахождением точек экстремума функции одного или небольшого числа переменных, что возможно, если воспользоваться методом динамического программирования.
Объект исследования - производственные задачи, решаемые методом динамического программирования.
Предмет исследования - алгоритм метода динамического программирования.
Целью выпускной квалификационной работы является обоснование метода динамического программирования для решения производственных задач, решение задач аналитически и с помощью программных средств.
Для достижения поставленной цели необходимо решить следующие задачи:
1) изучить общий подход динамического программирования;
2) выявить производственные задачи, решаемые методом динамического программирования;
3) продемонстрировать применение метода динамического программирования при решении производственных задач аналитически;
4) выполнить программную реализацию разработанного алгоритма.
Выпускная квалификационная работа состоит из введения, трёх глав, заключения, списка используемых источников.
В главе 1 рассматривается общая постановка задачи динамического программирования.
В главе 2 приводятся производственные задачи, решаемые методом динамического программирования.
В главе 3 разрабатываются алгоритм программы. В заключении представлены результаты и выводы о выполненной работе.
Тема бакалаврской работы посвящена актуальной проблеме реализации алгоритма решения производственных задач на основе метода динамического программирования.
В ходе выполнения бакалаврской работы достигнуты следующие результаты:
1. Проанализирован общий подход динамического программирования к решению некоторых типов производственных задач
2. Приводится аналитическое решение представленных производственных задач с помощью метода динамического программирования.
3. Выполнена реализация алгоритма представленных производственных задач.
Основным результатом выполненной ВКР является программная реализация алгоритма решения производственных задач методом динамического программирования.
Результаты работы могут быть рекомендованы для решения задач управления ресурсами экономических и производственных систем.
1. Гладких Б.А. Методы оптимизации и исследования операций. Часть 1. Введение в исследование операций. Линейное программирование. — Томск: НТЛ, 2009. — 200 с.
2. Окулов С.М. Динамическое программирование. - М.:Бином. Лаборатория знаний, 2017. - 296 с.
3. Лежнев, А.В. Динамическое программирование в экономических задачах [Текст]: учеб. пособие / Лежнев А.В. - Москва: Бином, 2010. - 176 с.
4. Ширяв В.И. Исследование операций и численные методы оптимизации: учебное пособие / В.И. Ширяв. Москва: Ленанд, 2017. - 224 с.
5. Окулов С.М. Динамическое программирование / С.М. Окулов, О.А. Пестов. Москва: БИНОМ. Лаборатория знаний, 2012. - 260 с.
6. Некрасова М.Г. Методы оптимизации и теория управления: учебное пособие / М.Г. Некрасова. Комсомольск-на-Амуре: КНАГТУ, 2007. - 132 с.
7. Беллман Р. Динамическое программирование. — М.: Репринт оригинального издания иностранной литературы, 1960 год, 2012.
8. Маккинли У. Python и анализ данных. — Перевод с английского. — М.: ДМК Пресс, 2015. — 482 с. —SanjoyDasgupta ,ChristosH. Papadimitriou, UmeshVazirani. Algorithms = Algorithms. — 1-е изд. — McGraw-Hill
Science/Engineering/Math, 2006. — С. 336.
9. Кормен, Т., Лейзерсон, Ч., Ривест, Р., Штайн, К. Глава 15. Динамическое программирование // Алгоритмы: построение и анализ = IntroductiontoAlgorithms / Под ред. И. В. Красикова. — 2-е изд. — М.: Вильямс, 2005. — 1296 с.
10. Марк Саммерфилд. Python на практике. — Перевод с английского. • М.: ДМК Пресс, 2014. — 338 с.
11. Доусон М. Программируем на Python. — СПб.: Питер, 2012. — 432 с.
12. Фёдоров Д. Ю. Основы программирования на примере языка Python / Учебное пособие. — СПб.:Юрайт, 2018. — 167 с.
13. Mathsemestr[ Электронный ресурс] Задачи ДП - Режим доступа: https: //math.semestr.ru/dinam/dinam_manual. php.
14. Марк Лутц. Программирование на Python / Пер. с англ. — 4-е изд. • СПб.: Символ-Плюс, 2011. — Т. I. — 992 с.
15. А. Н. Чаплыгин. Учимся программировать вместе с Питоном. Учебник. — ревизия 226. — 135 с.
...