Для выращивания грибов требуется достаточно точный химический состав субстрата (иначе говоря, среда для выращивания). Давайте представим, что мы выращиваем шитаке и что это необходимый состав их субстрата:
Nitrogen | Benzene | Toluene | Dioxygen Diflouride
5% | 5% | 10% | 80%
Мы хотим создать подходящую подложку из материалов, которые у нас есть под рукой, химический состав которых мы знаем.
Material | Nitrogen | Benzene | Toluene | Dioxygen Diflouride
apples | 5% | 0% | 5% | 90%
oranges | 20% | 20% | 50% | 10%
Etc...
Как рассчитать это? Это напоминает мне о решении матриц в средней школе. Это то, что можно сделать с помощью матриц? Как называется эта проблема? Что мне нужно знать, чтобы решить это?
algorithms
computer-science
canisrufus
источник
источник
Ответы:
Это называется линейным программированием . Это NP-Hard для целочисленных ограничений, но есть способы борьбы с этим, см. Заметки Джеффа Эриксона на эту тему. Наиболее распространенный метод известен как Симплексный алгоритм .
В основном вы находите вершины форм, геометрически сформированных линейными уравнениями, представляющими ваши ограничения. Вы продолжаете, пока не найдете оптимальный. В этом случае соотношение необходимых компонентов субстрата.
источник
Изменить: это не работает, см. Комментарии
Поскольку здесь нет неравенств и минимизации затрат, вам не нужно линейное программирование, вы можете просто решить его как систему линейных уравнений . Например, яблоки + апельсины = 1,05 * яблоки + 0,20 * апельсины = 0,05 и т. Д.
источник