Kelas masalah apa ini, dan matematika apa yang perlu saya ketahui untuk menyelesaikannya?

18

Budidaya jamur membutuhkan komposisi kimia substrat yang cukup tepat (alias media tanam). Mari kita berpura-pura kita menumbuhkan omong kosong dan ini adalah komposisi yang diperlukan dari substrat mereka:

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

Kami ingin membuat substrat yang sesuai dari bahan yang kami miliki yang kami tahu komposisi kimianya.

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

Bagaimana cara menghitung ini? Itu mengingatkan saya pada penyelesaian matriks di sekolah menengah. Apakah ini sesuatu yang bisa dilakukan dengan matriks? Apa sebutan masalah ini? Apa yang perlu saya ketahui untuk menyelesaikannya?

canisrufus
sumber
4
Mmmm Shitakes bagus yang sangat lezat yang Anda miliki dengan benzena dan toluena dan O2F2. Kuharap aku tidak pernah menemukan mereka di restoran ...
Deer Hunter
3
@ Hunter Hunter: Saya harap saya tidak pernah datang dalam waktu kurang dari 10 mil dari fasilitas budidaya itu ...
Michael Borgwardt
6
FOOF !
Bobson
2
Masalah ini menjadi semakin menarik jika Anda harus memperhitungkan harga apel dan jeruk saat ini.
Ingo
2
"jamur" -> seperti di awan dengan bentuk yang sama?
Maciej

Jawaban:

27

Ini disebut Pemrograman Linier . Ini NP-Hard untuk batasan integer tetapi ada metode untuk mengatasi hal ini, lihat catatan Jeff Erickson pada subjek. Metode yang paling umum dikenal sebagai Algoritma Simplex .

Pada dasarnya Anda menemukan simpul bentuk yang dibentuk secara geometris oleh persamaan linear yang mewakili kendala Anda. Anda melanjutkan sampai Anda menemukan yang optimal. Dalam hal ini, rasio komponen media yang diperlukan.

Insinyur Dunia
sumber
9
Pemrograman Linier sebenarnya tidak dikenal sebagai NP-keras, dapat diselesaikan dalam waktu polinomial. Hanya akan menjadi sulit jika Anda menambahkan kendala integralitas (mis. Anda tidak ingin 3,7 apel, tetapi harus berupa bilangan bulat).
Falk Hüffner
Memperbaiki Masalah Itu
Insinyur Dunia
4

Sunting: ini tidak berfungsi, lihat komentar

Karena Anda tidak memiliki ketidaksetaraan dan minimalisasi biaya di sini, Anda sebenarnya tidak memerlukan pemrograman linier, Anda bisa menyelesaikannya sebagai sistem persamaan linear . Misal apel + jeruk = 1, 0,05 * apel + 0,20 * jeruk = 0,05 dll.

Falk Hüffner
sumber
Selama solusi sistem tidak memberikan fraksi negatif (mis. Campuran -22% apel dan + 122% jeruk menjadi 100% ...) Memang, sistem persamaan linear memberikan beberapa kandidat (solusi interior?) tetapi kemudian tepi kasus perlu diperiksa juga.
rwong
Benar, saya lupa tentang itu.
Falk Hüffner
1
Formulasi LP akan bekerja dengan baik, karena itu dapat mencakup pembatasan bahwa semua jumlah positif.
kevin cline
Perubahannya adalah bahwa minimalisasi biaya sehubungan dengan rasio harga apel / jeruk akan menjadi langkah berikutnya dalam evolusi program ini.
Ingo
@Ingo Ya, Anda benar; Saya tidak berpikir sejauh itu ketika saya mengajukan pertanyaan. Itu akan menjadi langkah kedua.
canisrufus