Que classe de problema é esse e que matemática eu preciso saber para resolvê-lo?


18

O cultivo de cogumelos requer uma composição química bastante precisa do substrato (também conhecido como meio de cultivo). Vamos fingir que estamos cultivando shitakes e que essa é a composição necessária do substrato:

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

Queremos criar um substrato apropriado a partir de materiais que temos em mãos, dos quais conhecemos a composição química.

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

Como alguém calcula isso? Isso me lembra de resolver matrizes no ensino médio. Isso é algo que pode ser feito com matrizes? Como se chama esse problema? O que preciso saber para resolvê-lo?


4
Mmmm. Shitakes muito agradáveis ​​que você tem com benzeno, tolueno e O2F2. Espero que eu não nunca se deparar com eles em um restaurante ...
— Deer Hunter

3
@Deer Hunter: Eu espero nunca vir dentro de menos de 10 milhas de que a facilidade de cultivo ...
— Michael Borgwardt


2
Esse problema fica ainda mais interessante se você tiver que levar em consideração o preço atual de maçãs e laranjas.
— Ingo

2
"cogumelos" -> como nas nuvens da mesma forma?
— Maciej

Respostas:


27

Isso é chamado de Programação Linear . É NP-Difícil para restrições de número inteiro, mas existem métodos para lidar com isso, veja as notas de Jeff Erickson sobre o assunto. O método mais comum é conhecido como Algoritmo Simplex .

Basicamente, você encontra os vértices das formas formadas geometricamente pelas equações lineares que representam suas restrições. Você prossegue até encontrar o ideal. Nesse caso, a proporção de componentes de substrato necessários.


9
Na verdade, a programação linear não é conhecida por ser NP-difícil, mas pode ser resolvida em tempo polinomial. Só fica difícil se você adicionar restrições de integralidade (por exemplo, você não deseja 3,7 maçãs, mas deve ser um número inteiro).
— Falk Hüffner

Corrigido esse problema
— World Engineer

4

Editar: isso não funciona, ver comentários

Como você não tem desigualdades nem minimiza custos aqui, na verdade não precisa de programação linear, basta resolvê-lo como um sistema de equações lineares . Por exemplo, maçãs + laranjas = 1, 0,05 * maçãs + 0,20 * laranjas = 0,05 etc.


Contanto que as soluções do sistema não apresentem frações negativas (por exemplo, misture -22% das maçãs e + 122% das laranjas para formar 100% ...) De fato, o sistema de equações lineares fornece alguns candidatos (soluções internas?) mas os casos extremos também precisam ser verificados.
— Rwong

Certo, eu esqueci disso.
— Falk Hüffner

1
Uma formulação de LP funcionaria bem, pois poderia incluir a restrição de que todas as quantidades são positivas.
— Kevin cline

As mudanças são de que a minimização de custos com relação à relação preço / maçã seria o próximo passo na evolução deste programa.
— Ingo

@ Ingo Sim, você está certo; Eu não tinha pensado tão longe quando fiz a pergunta. Esse será o segundo passo.
— Canisrufus
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.