Size: a a a

2020 September 24

БВ

Буйный Виталя... in pro.algorithms
Aragaer
а у меня вот очередная задачка на оптимизацию с целью "а вот просто фор фан".
Есть всякие разные "ингридиенты" и есть рецепты вида "взять вот такие два ингридиента и получить профит Х". Есть текущее состояние склада, надо выдать список сколько чего приготовить для максимального профита.
Чуть-чуть циферок - ингридиентов 4 группы по 6 штук, не для всех возможных сочетаний ингридиентов рецепты существуют.
У ингридиента может быть рецепт? Или все в одну сторону, p+q=s?
источник

A

Aragaer in pro.algorithms
разбиение на группы имеет некоторый внутренний смысл - три группы "обычные" и одна "особая". Есть "малодоходные" рецепты вида "только один ингридиент обычной группы" для всех обычных. Все остальные рецепты требуют один обычный и один особый.
источник

A

Aragaer in pro.algorithms
кроме того есть рецепты на "два обычных из разных групп и один особый"
источник

A

Aragaer in pro.algorithms
все в одну сторону
источник

A

Aragaer in pro.algorithms
рецепт это всегда "из ингридиентов деньги в карман", надо расчистить существующий склад с максимальным профитом
источник

EZ

Evgenii Zheltonozhsk... in pro.algorithms
Aragaer
а у меня вот очередная задачка на оптимизацию с целью "а вот просто фор фан".
Есть всякие разные "ингридиенты" и есть рецепты вида "взять вот такие два ингридиента и получить профит Х". Есть текущее состояние склада, надо выдать список сколько чего приготовить для максимального профита.
Чуть-чуть циферок - ингридиентов 4 группы по 6 штук, не для всех возможных сочетаний ингридиентов рецепты существуют.
Звучит как рюкзак
источник

A

Aragaer in pro.algorithms
ну оно выглядит как что-то, что очень сильно ветвится и при этом на довольно большую глубину уходит (на складе может быть несколько сотен экземпляров ингридиента). Поэтому хочется какой-то способ быстрого отсечения невыгодных вариантов. Например если A+B->5, C+D->5, а A+D->4, C+B->4, то вроде бы первая пара более эффективна.
источник

A

Aragaer in pro.algorithms
находить такие замкнутые наборы и сразу там выбирать более выгодные варианты
источник

K

Kotomord_λapki in pro.algorithms
А сколько всего "рецептов"?
источник

EZ

Evgenii Zheltonozhsk... in pro.algorithms
Aragaer
ну оно выглядит как что-то, что очень сильно ветвится и при этом на довольно большую глубину уходит (на складе может быть несколько сотен экземпляров ингридиента). Поэтому хочется какой-то способ быстрого отсечения невыгодных вариантов. Например если A+B->5, C+D->5, а A+D->4, C+B->4, то вроде бы первая пара более эффективна.
Ну рюкзак с повторами вроде можно без оверхеда решать
источник

A

Aragaer in pro.algorithms
навскидку - рецептов с полсотни
источник

MK

Matwey Kornilov in pro.algorithms
Evgenii Zheltonozhskii🇮🇱
Ну рюкзак с повторами вроде можно без оверхеда решать
Рюкзак с делимыми элементами можно без оверхеда решать
источник

MK

Matwey Kornilov in pro.algorithms
И кажется есть теорема, что он снизу ограничивает решение
источник

MK

Matwey Kornilov in pro.algorithms
Или как-то так
источник

A

Aragaer in pro.algorithms
мхм. У многомерного рюкзака есть ограниченный объем и вес и максимизация стоимости. А тут я так понимаю каждый ингридиент надо рассматривать как размерность и каждый рецепт "занимает" либо 0 либо 1 в каждой размерности
источник

ПК

Паша Калугин... in pro.algorithms
Может быть стоит попробовать отжечь?
источник

A

Andrey in pro.algorithms
В любой непонятной ситуации отжигай
источник

A

Aragaer in pro.algorithms
я не знаю, что это значит
источник

K

Kotomord_λapki in pro.algorithms
Simulation annealing
источник

K

Kotomord_λapki in pro.algorithms
Хотя тут какой-нибудь google ortools mip справиться
источник