|
|
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Хотел спросить про алгоритм, решающий задачу о неограниченном рюкзаке (Unbounded Knapsack Problem) , но при этом веса предметов являются дробными числами. (Вес рюкзака -всегда целое число). Динамическое программирование здесь не подходит, т.к. работает с целыми числами. Нашел алгоритм с бинарным деревом, но он оказался для решения 0-1 рюказака. Также в книге Silvano Martino "Knapsack Problem" используется динамическое программирование, т.к. веса в примерах тоже целые. Может кто подскажет, или ссылки даст на принцип реализации. В интернете что то по этой теме не то ищется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 18:00 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
Damir_85, ты не знаешь, как приводить дроби к общему знаменателю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 19:22 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
Damir_85 Что имеется в виду под дробными числами? Вообще постановку задачи нужно привести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2020, 20:08 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
MBo Damir_85 Что имеется в виду под дробными числами? Вообще постановку задачи нужно привести. Ну то есть веса предметов могут быть заданы так: 22,5; 30,73; 16,78 и т.д., т.е. в виде десятичных дробей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 09:46 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
постановка задачи, это задача заполнить рюкзак, максимизировав его ценность (для каждого предмета еще задается ценность), при этом чтобы общий вес предметов не превысил вместимость рюкзака (всегда должна быть целым числом), при этом каждый предмет может браться в неограниченном количестве. Почитал про жадный алгоритм, но он дает приближенное решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 09:51 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
Хотя , если известно, что после запятой количество знаков не будет превышать 3, то нужно умножить все числа на 1000, и вес рюкзака тоже, потому что он должен пропорционально увеличиться, т.к. увеличиваются веса предметов. Тут уже можно и динамическим программированием решить, просто не будет ли при этом слишком большая таблица и время вычисления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 10:03 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
Damir_85> Хотя , если известно, что после запятой количество знаков не будет превышать 3 Это странное допущение... По сабжу - это какая-то лаба/тестовое задание? Давно бы уже решили тупым полным перебором. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 16:33 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Damir_85> Хотя , если известно, что после запятой количество знаков не будет превышать 3 Это странное допущение... По сабжу - это какая-то лаба/тестовое задание? Давно бы уже решили тупым полным перебором. Ничего странного нету. Фактически веса предметов это длины прямоугольных объектов , которые укладываются вдоль заданной длины рабочего листа, т.е речь идет об укладке предметов в заданный прямоугольник. Графическая программа, в которой можно задать эти прямоугольники, может показывать длину предметов с точностью до трех знаков после запятой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 18:35 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
Damir_85речь идет об укладке предметов в заданный прямоугольник. Оно же "задача линейного раскроя". Ответ не изменился: давно бы решили полным перебором, поскольку другим способом оно не решается. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 18:40 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Damir_85речь идет об укладке предметов в заданный прямоугольник. Оно же "задача линейного раскроя". Ответ не изменился: давно бы решили полным перебором, поскольку другим способом оно не решается. ну, к примеру решается симплекс методом с генерацией столбца, когда каждый новый план раскроя получается путем решения подзадачи, что есть задача о рюкзаке. Да это задача раскроя, только я одномерный уже сделал , сейчас делаю двумерный, когда в заданный лист нужно разместить прямоугольники, при этом выполнив требование по спецификации, т.е. по заданному количеству каждого прямоугольника. Решается аналогичным способом как и одномерный раскрой. Ну вобщем это задача раскроя плитных материалов. Только вот на длинах вот эти числа после запятой и остаются Реализуется как макрос в среде Corel Draw чтобы вручную не компоновать. Жалко файл не могу прикрепить с реализацией пошаговой в pdf формате. На форуме до 150 Кб можно только, а он весит 413 Кб. Никак ограничения не обходятся по размеру файла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 18:48 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
Damir_85Только вот на длинах вот эти числа после запятой и остаются Опять же уже сказали: умножаем все значения на 1000 и задача внезапно сводится к целочисленной. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 18:58 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
Damir_85 Динамическое программирование здесь не подходит, т.к. работает с целыми числами как сказали выше - умножаешь все числа на 1000 и внезапно Динамическое программирование здесь не подходит, т.к. работает с целыми числами после завершения работы алгоритма делишь все числа назад на 1000. Profit. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 19:02 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
asutp2, а что, так было можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 19:11 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
asutp2> как сказали выше - умножаешь все числа на 1000 и внезапно Внезапно - он сам же это и сказал. Хотя для общего случая ограничение в 3 дробных знака довольно странное. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 19:28 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам Внезапно - он сам же это и сказал. Вообще-то это я сказал. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 20:26 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
ъъъъъ Гаджимурадов Рустам Внезапно - он сам же это и сказал. Вообще-то это я сказал. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 20:38 |
|
||
|
Рюкзак с дробным весом предметов
|
|||
|---|---|---|---|
|
#18+
ъъъъъ> Вообще-то это я сказал. :) А, про общий знаменатель. :) Виноват, не обратил внимание. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2020, 20:58 |
|
||
|
|

start [/forum/search_topic.php?author=Dimasik59&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 635ms |
| total: | 798ms |

| 0 / 0 |
