powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Рюкзак с дробным весом предметов
18 сообщений из 18, страница 1 из 1
Рюкзак с дробным весом предметов
    #39998940
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Хотел спросить про алгоритм, решающий задачу о неограниченном рюкзаке (Unbounded Knapsack Problem) , но при этом веса предметов являются дробными числами. (Вес рюкзака -всегда целое число).
Динамическое программирование здесь не подходит, т.к. работает с целыми числами. Нашел алгоритм с бинарным деревом, но он
оказался для решения 0-1 рюказака. Также в книге Silvano Martino "Knapsack Problem" используется динамическое программирование,
т.к. веса в примерах тоже целые.
Может кто подскажет, или ссылки даст на принцип реализации. В интернете что то по этой теме не то ищется.
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39998966
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Damir_85,

ты не знаешь, как приводить дроби к общему знаменателю?
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39998997
MBo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBo
Гость
Damir_85
Что имеется в виду под дробными числами?
Вообще постановку задачи нужно привести.
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999195
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBo
Damir_85
Что имеется в виду под дробными числами?
Вообще постановку задачи нужно привести.

Ну то есть веса предметов могут быть заданы так: 22,5; 30,73; 16,78 и т.д., т.е. в виде десятичных дробей
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999200
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
постановка задачи, это задача заполнить рюкзак, максимизировав его ценность (для каждого предмета еще задается ценность),
при этом чтобы общий вес предметов не превысил вместимость рюкзака (всегда должна быть целым числом), при этом каждый
предмет может браться в неограниченном количестве.
Почитал про жадный алгоритм, но он дает приближенное решение
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999207
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя , если известно, что после запятой количество знаков не будет превышать 3, то нужно умножить все числа на 1000, и вес
рюкзака тоже, потому что он должен пропорционально увеличиться, т.к. увеличиваются веса предметов. Тут уже можно и
динамическим программированием решить, просто не будет ли при этом слишком большая таблица и время вычисления
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999412
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85> Хотя , если известно, что после запятой количество знаков не будет превышать 3

Это странное допущение...

По сабжу - это какая-то лаба/тестовое задание?
Давно бы уже решили тупым полным перебором.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999513
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
Damir_85> Хотя , если известно, что после запятой количество знаков не будет превышать 3

Это странное допущение...

По сабжу - это какая-то лаба/тестовое задание?
Давно бы уже решили тупым полным перебором.

Ничего странного нету. Фактически веса предметов это длины прямоугольных объектов , которые укладываются вдоль заданной
длины рабочего листа, т.е речь идет об укладке предметов в заданный прямоугольник. Графическая программа, в которой можно
задать эти прямоугольники, может показывать длину предметов с точностью до трех знаков после запятой
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999514
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85речь идет об укладке предметов в заданный прямоугольник.

Оно же "задача линейного раскроя". Ответ не изменился: давно бы решили полным перебором,
поскольку другим способом оно не решается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999517
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Damir_85речь идет об укладке предметов в заданный прямоугольник.

Оно же "задача линейного раскроя". Ответ не изменился: давно бы решили полным перебором,
поскольку другим способом оно не решается.

ну, к примеру решается симплекс методом с генерацией столбца, когда каждый новый план раскроя получается путем решения подзадачи, что есть задача о рюкзаке. Да это задача раскроя, только я одномерный уже сделал , сейчас делаю двумерный, когда в заданный лист нужно разместить прямоугольники, при этом выполнив требование по спецификации, т.е. по заданному количеству
каждого прямоугольника. Решается аналогичным способом как и одномерный раскрой. Ну вобщем это задача раскроя плитных материалов. Только вот на длинах вот эти числа после запятой и остаются
Реализуется как макрос в среде Corel Draw чтобы вручную не компоновать. Жалко файл не могу прикрепить с реализацией пошаговой в pdf формате. На форуме до 150 Кб можно только, а он весит 413 Кб. Никак ограничения не обходятся по размеру файла?
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999520
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85Только вот на длинах вот эти числа после запятой и остаются

Опять же уже сказали: умножаем все значения на 1000 и задача внезапно сводится к
целочисленной.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999521
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Damir_85
Динамическое программирование здесь не подходит, т.к. работает с целыми числами

как сказали выше - умножаешь все числа на 1000 и внезапно
Динамическое программирование здесь не подходит, т.к. работает с целыми числами
после завершения работы алгоритма делишь все числа назад на 1000. Profit.
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999522
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2,

а что, так было можно?
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999524
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2> как сказали выше - умножаешь все числа на 1000 и внезапно

Внезапно - он сам же это и сказал.
Хотя для общего случая ограничение
в 3 дробных знака довольно странное.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999542
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам
Внезапно - он сам же это и сказал.

Вообще-то это я сказал. :)
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999546
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Гаджимурадов Рустам
Внезапно - он сам же это и сказал.

Вообще-то это я сказал. :)
подтверждаю)
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999554
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ> Вообще-то это я сказал. :)

А, про общий знаменатель. :)
Виноват, не обратил внимание.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Рюкзак с дробным весом предметов
    #39999646
Damir_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ok,спасибо. Попробую этот вариант
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Рюкзак с дробным весом предметов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]