Лабораторная работа 3 Теория сложности вычислительных процессов и структур Вариант 6
Состав работы
|
|
|
|
|
|
|
|
Необходимые программы
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Лабораторная работа №3
Решение задачи о рюкзаке методом динамического программирования
Присылаемый на проверку архив должен содержать 2 файла:
файл отчета, содержащий титульный лист, условие задачи, описание используемого алгоритма, исходный текст программы (с указанием языка реализации) и результаты работы программы (можно в виде скриншотов);
файл с исходным текстом программы (программу можно писать на любом языке программирования).
1. Задание на лабораторную работу
Имеется склад, на котором присутствует некоторый ассортимент из 4 видов товаров. Запас каждого товара неограничен. У каждого товара своя стоимость c(i) и масса m(i).
Написать программу, которая методом динамического программирования формирует набор товаров максимальной стоимости таким образом, чтобы его суммарная масса не превышала заданную грузоподъемность М = 63. Программа должна выводить таблицу промежуточных вычислений, сформированный оптимальный набор предметов, его итоговую стоимость и массу.
2. Теоретическая часть и описание алгоритма
В данной работе рассматривается неограниченная задача о рюкзаке (Unbounded Knapsack Problem), поскольку запас каждого товара на складе неограничен (предметы одного и того же типа можно брать многократно).
Для решения задачи используется метод диначеского программирования. Вместо полного перебора всех комбинаций (который имеет экспоненциальную сложность) строится функция, определяющая максимальную ценность для каждого промежуточного веса от 0 до М.
Расчетная формула метода:
Пусть W — текущая вместимость рёкзака (изменяется от 0 до М). Обозначим через f(W) максимальную стоимость товаров, которую можно набрать в рюкзак весом W.
Формула имеет вид:
f(W) = максимум по всем предметам i (у которых масса m(i) <= W) от выражения:
f(W - m(i)) + c(i)
Где:
• f(W - m(i)) — максимальная стоимость рюкзака меньшего веса, оставшегося после добавления i-го предмета.
• c(i) — стоимость добавляемого i-го предмета.
База индукции:
Для рюкзака нулевой вместимости максимальная ценность равна нулю: f(0) = 0.
Для восстановления набора предметов параллельно заполняется массив решений S(W), куда записывается номер товара i, на котором был достигнут максимум стоимости для веса W. После заполнения массива от финальной вместимости М производится обратный шаг: берется товар из S(M), его вес вычитается из М, и процесс повторяется, пока свободное место не станет равным нулю.
3. Исходные данные (Вариант 6)
• Грузоподъемность рюкзака: M = 63
• Количество видов товаров: 4
Характеристики доступных товаров представлены в таблице:
Номер товара (i) Масса товара, m(i) Стоимость товара, c(i) Удельная ценность (c/m)
1 6 11 1.83
2 4 15 3.75
3 10 45 4.50
4 9 37 4.11
Решение задачи о рюкзаке методом динамического программирования
Присылаемый на проверку архив должен содержать 2 файла:
файл отчета, содержащий титульный лист, условие задачи, описание используемого алгоритма, исходный текст программы (с указанием языка реализации) и результаты работы программы (можно в виде скриншотов);
файл с исходным текстом программы (программу можно писать на любом языке программирования).
1. Задание на лабораторную работу
Имеется склад, на котором присутствует некоторый ассортимент из 4 видов товаров. Запас каждого товара неограничен. У каждого товара своя стоимость c(i) и масса m(i).
Написать программу, которая методом динамического программирования формирует набор товаров максимальной стоимости таким образом, чтобы его суммарная масса не превышала заданную грузоподъемность М = 63. Программа должна выводить таблицу промежуточных вычислений, сформированный оптимальный набор предметов, его итоговую стоимость и массу.
2. Теоретическая часть и описание алгоритма
В данной работе рассматривается неограниченная задача о рюкзаке (Unbounded Knapsack Problem), поскольку запас каждого товара на складе неограничен (предметы одного и того же типа можно брать многократно).
Для решения задачи используется метод диначеского программирования. Вместо полного перебора всех комбинаций (который имеет экспоненциальную сложность) строится функция, определяющая максимальную ценность для каждого промежуточного веса от 0 до М.
Расчетная формула метода:
Пусть W — текущая вместимость рёкзака (изменяется от 0 до М). Обозначим через f(W) максимальную стоимость товаров, которую можно набрать в рюкзак весом W.
Формула имеет вид:
f(W) = максимум по всем предметам i (у которых масса m(i) <= W) от выражения:
f(W - m(i)) + c(i)
Где:
• f(W - m(i)) — максимальная стоимость рюкзака меньшего веса, оставшегося после добавления i-го предмета.
• c(i) — стоимость добавляемого i-го предмета.
База индукции:
Для рюкзака нулевой вместимости максимальная ценность равна нулю: f(0) = 0.
Для восстановления набора предметов параллельно заполняется массив решений S(W), куда записывается номер товара i, на котором был достигнут максимум стоимости для веса W. После заполнения массива от финальной вместимости М производится обратный шаг: берется товар из S(M), его вес вычитается из М, и процесс повторяется, пока свободное место не станет равным нулю.
3. Исходные данные (Вариант 6)
• Грузоподъемность рюкзака: M = 63
• Количество видов товаров: 4
Характеристики доступных товаров представлены в таблице:
Номер товара (i) Масса товара, m(i) Стоимость товара, c(i) Удельная ценность (c/m)
1 6 11 1.83
2 4 15 3.75
3 10 45 4.50
4 9 37 4.11
Дополнительная информация
Лабораторная работа 3 20.09.2026 20.09.2026 Зачет Уважаемый, замечаний нет. Галкина Марина Юрьевна
Похожие материалы
Теория сложностей вычислительных процессов и структур. Лабораторная работа №3. Вариант №6.
zhekaersh
: 2 марта 2015
Графы. Нахождение кратчайшего расстояния между двумя вершинами с помощью алгоритма Форда-Беллмана
Написать программу, которая по алгоритму Форда-Беллмана находит кратчайшее расстояние от указанной вершины до всех остальных вершин связного взвешенного неориентированного графа, имеющего 7 вершин (нумерация вершин начинается с 0). Граф задан матрицей весов дуг, соединяющих всевозможные пары вершин (0 означает, что соответствующей дуги нет). Данные считать из файла.
40 руб.
Теория сложности вычислительных процессов и структур. Лабораторная работа №3 (2021). Вариант №6.
nik200511
: 9 июня 2021
ЛАБОРАТОРНАЯ РАБОТА №3
Имеется склад, на котором присутствует некоторый ассортимент товаров. Запас каждого товара неограничен. У каждого товара своя стоимость сi и масса mi. Написать программу, которая методом динамического программирования формирует набор товаров максимальной стоимости таким образом, чтобы его суммарная масса не превышала заданную грузоподъемность М.
Вывести промежуточные вычисления, сформированный набор, его стоимость и массу.
Номер варианта выбирается по последней цифре пар
138 руб.
Лабораторные работы 1-3 по дисциплине: Теория сложностей вычислительных процессов и структур. Вариант №6
IT-STUDHELP
: 16 ноября 2022
Лабораторная работа №1
Задание
Написать программу, которая по алгоритму Краскала находит остов минимального веса для связного взвешенного неориентированного графа, имеющего 10 вершин. Граф задан матрицей смежности (0 означает, что соответствующей дуги нет). Данные считать из файла.
Вывести ребра остова минимального веса в порядке их присоединения и вес остова.
Номер варианта выбирается по последней цифре пароля.
Вариант 6
0 0 24 0 14 16 24 13 16 0
0 0 9 23 6 26 19 0 10 27
24 9 0 14 5 23 22 1
600 руб.
Лабораторные работы №№1-3 по дисциплине: Теория сложности вычислительных процессов и структур. Вариант №6
IT-STUDHELP
: 19 ноября 2021
ЛАБОРАТОРНАЯ РАБОТА №1
по дисциплине
«Теория сложности вычислительных процессов и структур»
Задание
Написать программу, которая по алгоритму Краскала находит остов минимального веса для связного взвешенного неориентированного графа, имеющего 10 вершин. Граф задан матрицей смежности (0 означает, что соответствующей дуги нет). Данные считать из файла.
Вывести ребра остова минимального веса в порядке их присоединения и вес остова.
Номер варианта выбирается по последней цифре пароля.
Вариант 6
0
600 руб.
Теория сложности вычислительных процессов и структур. Лабораторные работы №№1-3 (2021). Вариант №6.
nik200511
: 9 июня 2021
ЛАБОРАТОРНАЯ РАБОТА №1
Написать программу, которая по алгоритму Краскала находит остов минимального веса для связного взвешенного неориентированного графа, имеющего 10 вершин. Граф задан матрицей смежности (0 означает, что соответствующей дуги нет). Данные считать из файла.
Вывести ребра остова минимального веса в порядке их присоединения и вес остова.
Номер варианта выбирается по последней цифре пароля.
Вариант 6
0 0 24 0 14 16 24 13 16 0
0 0 9 23 6 26 19 0 10 27
24 9 0 14 5 23 22 19 8 10
0
408 руб.
Контрольная и Лабораторные работы 1-3 по дисциплине: Теория сложностей вычислительных процессов и структур. Вариант №6
IT-STUDHELP
: 16 ноября 2022
Лабораторная работа №1
Задание
Написать программу, которая по алгоритму Краскала находит остов минимального веса для связного взвешенного неориентированного графа, имеющего 10 вершин. Граф задан матрицей смежности (0 означает, что соответствующей дуги нет). Данные считать из файла.
Вывести ребра остова минимального веса в порядке их присоединения и вес остова.
Номер варианта выбирается по последней цифре пароля.
Вариант 6
0 0 24 0 14 16 24 13 16 0
0 0 9 23 6 26 19 0 10 27
24 9 0 14 5 23 22 1
850 руб.
Лабораторная работа №3 по дисциплине: "Теория сложностей вычислительных процессов и структур ". 5-й семестр, 6-й вариант
mastar
: 18 декабря 2012
Задание
Написать программу, которая по алгоритму Форда-Беллмана находит кратчайшее расстояние от указанной вершины до всех остальных вершин связного взвешенного неориентированного графа, имеющего 7 вершин (нумерация вершин начинается с 0). Граф задан матрицей весов дуг, соединяющих всевозможные пары вершин (0 означает, что соответствующей дуги нет). Данные считать из файла.
Номер варианта выбирается по последней цифре пароля.
Вариант 6
Вершина 3.
125 руб.
Другие работы
Механика жидкости и газа СПбГАСУ 2014 Задача 8 Вариант 92
Z24
: 1 января 2026
Из бачка I вода подается при постоянном уровне через цилиндрический насадок диаметром d1 = (0,3 + 0,02·y) м в емкость, разделенную на два отсека: II и III. В перегородке есть прямоугольное отверстие размерами a = (0,4 + 0,02·y) м, b = (0,2 + 0,01·z) м. Полный напор над центром тяжести наружного отверстия диаметром d2 = (0,4 + 0,01·z) м H = (4,0 + 0,1·y) м.
Определить расход Q и высоты уровней воды в отсеках II и III, т. е. h1, h2, h3 (рис. 8).
220 руб.
Бруй Л.П. Техническая термодинамика ТОГУ Задача 4 Вариант 24
Z24
: 13 января 2026
Расчет процесса адиабатического расширения водяного пара
Рабочее тело – водяной пар, имеющий в начальном состоянии давление р1 и температуру t1 (табл. 5). Масса рабочего тела – M (табл. 5). Пар расширяется до давления p2 (табл. 5).
Схематически построить процесс адиабатического расширения водяного пара в диаграмме h-s.
Определить:
1) удельный объем и энтальпию пара в начальном состоянии;
2) температуру, удельный объем, степень сухости и энтальпию пара в конечном состоянии;
3) зна
200 руб.
Маркетинг в отрасли инфокоммуникаций. Работа контрольная. Вариант 8.
SemenovSam
: 21 ноября 2017
Полное описание работы на скриншотах!
Задача 1
Задача 2
Задача 3
100 руб.
Тормозной цилиндр
grom555
: 29 ноября 2012
1 чертёж,формат А2,1 лист спецификация , перечень элементов отображён на листе, Сборочный чертеж тормозного цилиндра, выполнен в компасе 8-ой версии на формате А2. На листе изображён разрез цилиндра, пронумерованы элементы, перечень элементов отображён на чертеже, основная надпись не заполнена, файл имеет расширение cdw. , упакован в RAR. чертёж выполнен в соответствии с ЕСКД. Может быть использован для Курсовых и Дипломных проектов по машиностроительным дисциплинам
60 руб.