ВВЕДЕНИЕ 3
1 Исследование задачи о ранце 5
1.1 Постановка задачи 5
1.2 Описание методов решения задачи о ранце 6
1.2.1 Метод динамического программирования 6
1.2.2 Жадный алгоритм 11
1.2.3 Метод ветвей и границ 14
1.2.4 Генетический алгоритм 20
1.3 Анализ существующих приложений для решения задачи о ранце 24
2 Проектирование приложения 26
2.1 Требования к приложению 26
2.2 Выбор технологий 27
2.3 Дизайн приложения 29
3 Разработка приложения 34
3.1 Реализация алгоритмов решения задачи о ранце 34
3.2 Разработка серверной части приложения 37
3.3 Разработка базы данных 41
3.4 Разработка клиентской части приложения 43
3.5 Разработка класса для создания графических изображений 49
4 Тестирование приложения 51
ЗАКЛЮЧЕНИЕ 53
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 54
ПРИЛОЖЕНИЕ 56
В современном обществе, где технологии представляют все более важную роль в нашей повседневной жизни, имеется возрастающая необходимость в действенных и практичных инструментах для решения сложных задач. Одной из таких задач является проблема о ранце, которая имеет обширное применение в разных сферах, в том числе логистику, экономику, производство, а также торговлю.
Задача о ранце — это пример задачи комбинаторной оптимизации, тема в математике и информатике о поиске оптимального объекта среди набора объектов. На сегодняшний день история исследований этой проблемы насчитывает более века. Она является часто используемым примером проблемы комбинаторной оптимизации, в котором требуется найти оптимальный объект или конечное решение, где исчерпывающий поиск невозможен. Задача является NP-полной, что означает, что ее точное решение может быть крайне сложным и требовательным к вычислительным ресурсам. Цель данной работы заключается в создании понятного и легкого в использовании приложения, которое позволит пользователям с разным уровнем знаний и опыта познакомиться с задачей о ранце, определить оптимальный набор предметов на основе их веса и стоимости, увидеть детальное пояснение каждого шага решения и тем самым разобраться в процессе решения. Приложение будет оснащено графическим интерфейсом, который упростит взаимодействие с программой и предоставит пользователю
понятный способ настройки параметров задачи и просмотра результатов.
Для достижения поставленной цели необходимо решение следующих задач:
1) Изучение необходимой литературы по существующим методам решения задачи о ранце, определение их преимуществ и недостатков и их программная реализация.
2) Анализ существующих приложений, решающих задачу о ранце.
3) Определение функционала и логики работы приложения.
4) Разработка серверной части приложения с использованием современных технологий Spring Framework и REST API.
5) Разработка базы данных на основе PostgreSQL.
6) Реализация программы для создания графических изображений с использованием пакета AWT.
7) Создание дизайна веб-приложения с использованием сервиса Figma.
8) Реализация графического интерфейса с использованием фреймворка Angular.
9) Тестирование работы приложения с использованием фреймворка JUnit.
Данная работа имеет большую практическую значимость, так как разработанное приложение может найти применение в различных областях, включая логистику, управление запасами, планирование производства и оптимизацию ресурсов. Оно может быть полезным как для индивидуальных пользователей, так и для предприятий и организаций.
Для того, чтобы предоставить приложению более обширные функционал и возможности для решения оптимизационных задач, связанных с распределением ресурсов, в дальнейшем возможна доработка данного приложения с помощью внедрения других инструментов и алгоритмов оптимизации.
' .
Приложение для решения задачи о ранце. А также похожие готовые работы: страница 2 #9106149
Артикул: 9106149
- Предмет: Программирование
- Уникальность: 65% (Антиплагиат.ВУЗ)
- Разместил(-а): 185 Рамиль в 2023 году
- Количество страниц: 76
- Формат файла: docx
1 999p.
1 Электронный ресурс – https://ru.wikipedia.org/wiki/Уравнение_ Беллмана (Дата обращения: 26.04.2023)
2 С. Окулов. Программирование в алгоритмах. — 1-е. — Бином. Лаборатория знаний, 2007. — С. 384.
3 Баландина, М.В., Анализ методов решения задачи о ранце и их реализация [Текст]/Ин-т ВМиИТ.- Казань, 2022, -46 с.
4 Мартелло, Сильвано; Тот, Паоло (1990). Задачи о ранце: алгоритмы и компьютерные реализации. J. Wiley, Chichester et al.1990. ISBN 978- 0-471-92420-3.
5 Электронный ресурс – https://ru.wikipedia.org/wiki/Задача_о_рюкзаке (Дата обращения: 26.04.2023)
6 Келлерер Х., Пферши У., Пизингер Д. Задача о рюкзаке(англ.) — Springer Science+Business Media, 2004. - 548 с. - ISBN 978-3-642- 07311-3.
7 Электронный ресурс – https://en.wikipedia.org/wiki/Greedy_method (Дата обращения: 27.04.2023)
8 Электронный ресурс – https://ru.wikipedia.org/wiki/Метод_ветвей
_и_границ (Дата обращения: 27.04.2023)
9 Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффор д Штайн Алгоритмы: построение и анализ = Introduction to Algorithm s. — 2-ое. — М.: «Вильямс», 2006. — С. 1296.
10 Электронный ресурс –https://ru.wikipedia.org/wiki/Генетический_ алгоритм (Дата обращения: 29.04.2023)
11 Гладков Л. А. Генетические алгоритмы: учебник / Л. А. Гладков, В. В. Курейчик, В. М. Курейчик ; под ред. В. М. Курейчика. — 2-е изд., исправл. и доп. — Москва: ФИЗМАТЛИТ, 2010. - 368 с. - ISBN 978-5- 9221-05I0-1.
12 JAVA. Серверные приложения/Равиль Мухамедзянов. — М.: СОЛОН-Р, 2003. 336 С.
13 Java в облаке. Spring Boot, Spring Cloud, Cloud Foundry. — СПб.: Питер, 2019. — 624 с.: ил. — (Серия «Бестселлеры O`Reilly»)
14 Spring. Все паттерны проектирования. — СПб.: Питер, 2019. — 320 с.: ил. — (Серия «Библиотека программиста»).
15 Олег Докука, Игорь Лозинский Практика реактивного программирования в Spring 5. – М.: ДМК Пресс, 2019. – 508 с.
16 Стек MEAN. Mongo, Express, Angular, Node. — СПб.: Питер, 2017. — 496 с.: ил. — (Серия «Библиотека программиста»).
17 PostgreSQL. Основы языка SQL: учеб. пособие / Е. П. Моргунов; под ред. Е. В. Рогова, П. В. Лузанова. — СПб.: БХВ-Петербург, 2018. — 336 с.
18 Электронный ресурс - https://www.geeksforgeeks.org/what-is-java-awt- graphics/ (Дата обращения: 30.04.2023)
19 Электронный ресурс – https://developer.mozilla.org/ ru/docs/Learn/Tools_and_testing/Client- side_JavaScript_frameworks/Angular_ getting_started (Дата обращения: 2.05.2023)
20 Электронный ресурс - https://splincode.gitbook.io/angular/src/first (Дата обращения: 2.05.2023)
2 С. Окулов. Программирование в алгоритмах. — 1-е. — Бином. Лаборатория знаний, 2007. — С. 384.
3 Баландина, М.В., Анализ методов решения задачи о ранце и их реализация [Текст]/Ин-т ВМиИТ.- Казань, 2022, -46 с.
4 Мартелло, Сильвано; Тот, Паоло (1990). Задачи о ранце: алгоритмы и компьютерные реализации. J. Wiley, Chichester et al.1990. ISBN 978- 0-471-92420-3.
5 Электронный ресурс – https://ru.wikipedia.org/wiki/Задача_о_рюкзаке (Дата обращения: 26.04.2023)
6 Келлерер Х., Пферши У., Пизингер Д. Задача о рюкзаке(англ.) — Springer Science+Business Media, 2004. - 548 с. - ISBN 978-3-642- 07311-3.
7 Электронный ресурс – https://en.wikipedia.org/wiki/Greedy_method (Дата обращения: 27.04.2023)
8 Электронный ресурс – https://ru.wikipedia.org/wiki/Метод_ветвей
_и_границ (Дата обращения: 27.04.2023)
9 Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффор д Штайн Алгоритмы: построение и анализ = Introduction to Algorithm s. — 2-ое. — М.: «Вильямс», 2006. — С. 1296.
10 Электронный ресурс –https://ru.wikipedia.org/wiki/Генетический_ алгоритм (Дата обращения: 29.04.2023)
11 Гладков Л. А. Генетические алгоритмы: учебник / Л. А. Гладков, В. В. Курейчик, В. М. Курейчик ; под ред. В. М. Курейчика. — 2-е изд., исправл. и доп. — Москва: ФИЗМАТЛИТ, 2010. - 368 с. - ISBN 978-5- 9221-05I0-1.
12 JAVA. Серверные приложения/Равиль Мухамедзянов. — М.: СОЛОН-Р, 2003. 336 С.
13 Java в облаке. Spring Boot, Spring Cloud, Cloud Foundry. — СПб.: Питер, 2019. — 624 с.: ил. — (Серия «Бестселлеры O`Reilly»)
14 Spring. Все паттерны проектирования. — СПб.: Питер, 2019. — 320 с.: ил. — (Серия «Библиотека программиста»).
15 Олег Докука, Игорь Лозинский Практика реактивного программирования в Spring 5. – М.: ДМК Пресс, 2019. – 508 с.
16 Стек MEAN. Mongo, Express, Angular, Node. — СПб.: Питер, 2017. — 496 с.: ил. — (Серия «Библиотека программиста»).
17 PostgreSQL. Основы языка SQL: учеб. пособие / Е. П. Моргунов; под ред. Е. В. Рогова, П. В. Лузанова. — СПб.: БХВ-Петербург, 2018. — 336 с.
18 Электронный ресурс - https://www.geeksforgeeks.org/what-is-java-awt- graphics/ (Дата обращения: 30.04.2023)
19 Электронный ресурс – https://developer.mozilla.org/ ru/docs/Learn/Tools_and_testing/Client- side_JavaScript_frameworks/Angular_ getting_started (Дата обращения: 2.05.2023)
20 Электронный ресурс - https://splincode.gitbook.io/angular/src/first (Дата обращения: 2.05.2023)
Материалы, размещаемые в каталоге, с согласия автора, могут использоваться только в качестве дополнительного инструмента для решения имеющихся у вас задач,
сбора информации и источников, содержащих стороннее мнение по вопросу, его оценку, но не являются готовым решением.
Пользователь вправе по собственному усмотрению перерабатывать материалы, создавать производные произведения,
соглашаться или не соглашаться с выводами, предложенными автором, с его позицией.
Тема: | Приложение для решения задачи о ранце |
Артикул: | 9106149 |
Дата написания: | 28.05.2023 |
Тип работы: | Дипломная работа |
Предмет: | Программирование |
Оригинальность: | Антиплагиат.ВУЗ — 65% |
Количество страниц: | 76 |
Скрин проверки АП.ВУЗ приложен на последней странице.
Работа включает в себя только пояснительную записку и листинг программы
Работа включает в себя только пояснительную записку и листинг программы
Файлы артикула: Приложение для решения задачи о ранце. А также похожие готовые работы: страница 2 по предмету программирование
Пролистайте "Приложение для решения задачи о ранце. А также похожие готовые работы: страница 2" и убедитесь в качестве
После покупки артикул автоматически будет удален с сайта до 21.02.2025
Посмотреть остальные страницы ▼
Честный антиплагиат!
Уникальность работы — 65% (оригинальный текст + цитирования, без учета списка литературы и приложений), приведена по системе Антиплагиат.ВУЗ на момент её написания и могла со временем снизиться. Мы понимаем, что это важно для вас, поэтому сразу после оплаты вы сможете бесплатно поднять её. При этом текст и форматирование в работе останутся прежними.
Гарантируем возврат денег!
Качество каждой готовой работы, представленной в каталоге, проверено и соответствует описанию. В случае обоснованных претензий мы гарантируем возврат денег в течение 24 часов.
Утром сдавать, а работа еще не написана?
Через 30 секунд после оплаты вы скачаете эту работу!
Сегодня уже купили 72 работы. Успей и ты забрать свою пока это не сделал кто-то другой!
ПРЕДЫДУЩАЯ РАБОТА
Приложение "Виртуальный ассистент" для решения задач распознавания текстов
СЛЕДУЮЩАЯ РАБОТА
Разработка веб-приложения для фитнес-студии на языке Python с помощью фреймворка Django