Всем привет! Есть список с количеством продуктов по категориям, каждый из которых нужно разложить в пакеты так, чтобы: а) в пакете было всего 6 категорий по одной штуке из каждой категории б) себестоимость пакета в целом не сильно разнилась от одного варианта к другому Цель: Разложить все продукты (без остатка) в пакеты согласно описанным выше правилам Реализовать нужно через макрос, который при нажатии кнопки отработает все возможные варианты пакетов без единого остатка штук товара Пример: Дано - 100 000 штук каждой категории (в файле данные немного отличаются, так как в реале не всегда выходит 100 000 продукции каждой категории) У каждой штуки своя себестоимость, которая при сборке пакета войдет в общую стоимость (например, себестоимость пакета - 300 рублей) Задача: собрать все возможные варианты пакетов, чтобы ни осталось ни одной штуки, при этом чтобы себестоимость пакета не сильно варьировалась (то есть чтобы не было пакетов себестоимостью в 700 рублей) У кого то подслушал, что это похоже на задачу о рюкзаке, но совсем не знаю как ее реализовать с помощью макроса (( Пример файлика приложил, как считал вручную (V1, V2, V3 - варианты сборки пакета). Я сортировал от большего к меньшему и отбирал товары вручную ((( (очень долго и муторно) Спасибо заранее.
Всем привет! Есть список с количеством продуктов по категориям, каждый из которых нужно разложить в пакеты так, чтобы: а) в пакете было всего 6 категорий по одной штуке из каждой категории б) себестоимость пакета в целом не сильно разнилась от одного варианта к другому Цель: Разложить все продукты (без остатка) в пакеты согласно описанным выше правилам Реализовать нужно через макрос, который при нажатии кнопки отработает все возможные варианты пакетов без единого остатка штук товара Пример: Дано - 100 000 штук каждой категории (в файле данные немного отличаются, так как в реале не всегда выходит 100 000 продукции каждой категории) У каждой штуки своя себестоимость, которая при сборке пакета войдет в общую стоимость (например, себестоимость пакета - 300 рублей) Задача: собрать все возможные варианты пакетов, чтобы ни осталось ни одной штуки, при этом чтобы себестоимость пакета не сильно варьировалась (то есть чтобы не было пакетов себестоимостью в 700 рублей) У кого то подслушал, что это похоже на задачу о рюкзаке, но совсем не знаю как ее реализовать с помощью макроса (( Пример файлика приложил, как считал вручную (V1, V2, V3 - варианты сборки пакета). Я сортировал от большего к меньшему и отбирал товары вручную ((( (очень долго и муторно) Спасибо заранее.loctev
Доброе время суток. А почему бы не сообщить о существующем обсуждении? Хотя бы, чтобы на одни и те же вопросы не отвечать, особенно про то, что вам нужен не алгоритм решения, а готовый макрос.
Доброе время суток. А почему бы не сообщить о существующем обсуждении? Хотя бы, чтобы на одни и те же вопросы не отвечать, особенно про то, что вам нужен не алгоритм решения, а готовый макрос.anvg
Вообще-то это и есть задача об упаковке рюкзака, а она NP-полная, макрос будет её решать до морковкина заговенья, если как минимум не задать критерий "не сильно".
Вообще-то это и есть задача об упаковке рюкзака, а она NP-полная, макрос будет её решать до морковкина заговенья, если как минимум не задать критерий "не сильно".StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Доброе время суток. А почему бы не сообщить о существующем обсуждении? Хотя бы, чтобы на одни и те же вопросы не отвечать, особенно про то, что вам нужен не алгоритм решения, а готовый макрос.
Просто хотел спросить и на других форумах о помощи....
Доброе время суток. А почему бы не сообщить о существующем обсуждении? Хотя бы, чтобы на одни и те же вопросы не отвечать, особенно про то, что вам нужен не алгоритм решения, а готовый макрос.
Просто хотел спросить и на других форумах о помощи....loctev