Лабораторная работа 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 руб.
Другие работы
Рама. Проект горизонтальной фрезы на базе шасси 521М1 для удаления древесной растительности
leha.se92@mail.ru
: 7 мая 2020
Рама Сборочный чертёж-Проект горизонтальной фрезы на базе шасси 521М1 для удаления древесной растительности-Технология машиностроения-Детали машин-Деталировка-Сборочный чертеж-Чертежи-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Графическая часть-Оборудование-Машины и механизмы-Агрегаты-Установки-Комплексы-Узлы-Детали-Курсовая работа-Дипломная работа-Автомобили-Транспорт-Строительная техника-Электрооборудование-Грузоподъёмные механизмы-Железнодорожный транспорт
252 руб.
Документирование управленческой деятельности (4-й семестр. 5-й вариант)
mahaha
: 30 апреля 2016
Вариант №5
Подготовить два письма – гарантийное и информационно- рекламное. Отметить различия в структуре текста и оформлении.
Гарантийные письма содержат гарантии оплаты, сроков поставки или качества продукции.
К информационным условно относятся письма, содержащие сообщения, просьбы, напоминания, предложения.
50 руб.
Теоретические основы распределенных вычислительных систем. Вариант №8
IT-STUDHELP
: 29 декабря 2021
КОНТРОЛЬНАЯ РАБОТА
Задание
1. Написать последовательную программу по заданию варианта.
2. Реализовать версию программы с использованием многопочности или MPI.
Реализацию имитатора алгоритма распределенной блокировки для слу-чая с тремя распределенными процессами.
2. Исходные данные
Исходные данные в программе генерируются специальным методом класса RaspredBlock случайным образом и соответственным образом распре-деляются по трем потока. При добавлении события в поток в его поле времен-ной отметк
900 руб.
Лабораторная работа №1. Программирование алгоритмов линейной и разветвляющейся структуры. Вариант №2
daiciy
: 23 марта 2016
Задание 1. Составьте и выполните программу линейной структуры.
Задание 2. Составьте программу разветвляющейся структуры (используя IF).
Задание 3. Составьте программу разветвляющейся структуры (используя SWITCH).
100 руб.