Какой алгоритм использовать для подбора ингредиентов по составу?

Подскажите название алгоритма или как бы вы решали такую задачу?

В чём суть: есть целевой состав смеси, например a: 10%, b: 40%, c: 25%, ... и есть набор ингредиентов, которые включают в себя 1 или несколько из a, b, c в разных пропорциях. От программы требуется подобрать ингредиенты (то есть рассчитать какие именно и в каком количестве взять) таким образом, чтобы наилучшим (допускается приближенное решение) образом соответствовать целевому составу смеси.

То же самое, на примере кулинарии: надо получить смесь максимально близкую к такому составу: белков 10%, жиров 40%, углеводов 25%. Даны ингредиенты: сахар, масло, мука, сало, хлеб... (для всех известен БЖУ состав).

Целевой состав и доступные ингредиенты - это входные данные, ограничены сверху 10 штуками. То есть состав может быть от 1 до 10 позиций и набор ингредиентов от 1 до 10 штук.

ещё пример с решением

цель:
a: 10%, b: 40%, c: 25%

ингредиенты:
D: [a: 5, b: 10]
E: [c: 50]
F: [b: 20]

решение:
2D + 0.5E + 1F
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы