¿Qué clase de problema es este y qué matemáticas necesito saber para resolverlo?

18

El cultivo de hongos requiere una composición química bastante precisa del sustrato (también conocido como medio de cultivo). Supongamos que estamos creciendo shitakes y que esta es la composición requerida de su sustrato:

Nitrogen | Benzene | Toluene | Dioxygen Diflouride
5%       | 5%      | 10%     | 80%

Queremos crear un sustrato apropiado a partir de materiales que tengamos a mano y que conozcamos la composición química.

Material | Nitrogen | Benzene | Toluene | Dioxygen Diflouride
apples   | 5%       | 0%      | 5%      | 90%
oranges  | 20%      | 20%     | 50%     | 10%
Etc...

¿Cómo se calcula esto? Me recuerda a resolver matrices en la escuela secundaria. ¿Es esto algo que se puede hacer con matrices? ¿Cómo se llama este problema? ¿Qué necesito saber para resolverlo?

canisrufus
fuente
44
Mmmm Muy buenos shitakes que tienes con benceno y tolueno y O2F2. Espero no encontrarlos en un restaurante ...
Deer Hunter
3
@ Deer Hunter: Espero nunca llegar a menos de 10 millas de esa instalación de cultivo ...
Michael Borgwardt
66
FOOF !
Bobson
2
Este problema se vuelve aún más interesante si tuviera que tener en cuenta el precio actual de las manzanas y las naranjas.
Ingo
2
"hongos" -> como en las nubes de la misma forma?
Maciej

Respuestas:

27

Esto se llama programación lineal . Es NP-Hard para las restricciones de enteros, pero hay métodos para lidiar con esto, ver las notas de Jeff Erickson sobre el tema. El método más común se conoce como Algoritmo Simplex .

Básicamente, estás encontrando los vértices de formas formadas geométricamente por las ecuaciones lineales que representan tus restricciones. Continúa hasta encontrar el óptimo. En este caso, la proporción de componentes de sustrato necesarios.

Ingeniero mundial
fuente
99
La programación lineal en realidad no se sabe que es NP-hard, se puede resolver en tiempo polinómico. Solo se vuelve difícil si agrega restricciones de integralidad (por ejemplo, no desea 3.7 manzanas, pero debe ser un número entero).
Falk Hüffner
Solucionado el problema
Ingeniero mundial
4

Editar: esto no funciona, ver comentarios

Dado que no tiene desigualdades ni minimización de costos aquí, en realidad no necesita programación lineal, simplemente puede resolverlo como un sistema de ecuaciones lineales . Por ejemplo, manzanas + naranjas = 1, 0.05 * manzanas + 0.20 * naranjas = 0.05 etc.

Falk Hüffner
fuente
Siempre que las soluciones del sistema no den fracciones negativas (por ejemplo, mezcle -22% de manzanas y + 122% de naranjas para completar el 100% ...) De hecho, el sistema de ecuaciones lineales da algunos candidatos (¿soluciones interiores?) pero también se deben verificar los casos límite.
rwong
Bien, me olvidé de eso.
Falk Hüffner
1
Una formulación LP funcionaría bien, ya que podría incluir la restricción de que todas las cantidades son positivas.
Kevin Cline
Los cambios son que la minimización de costos con respecto a la relación precio manzana / naranja sería el próximo paso en la evolución de este programa.
Ingo
@Ingo Sí, tienes razón; No lo había pensado mucho cuando hice la pregunta. Ese será el paso dos.
canisrufus