Lớp vấn đề này là gì, và tôi cần biết toán học gì để giải quyết nó?


18

Trồng nấm đòi hỏi thành phần hóa học khá chính xác của chất nền (còn gọi là môi trường trồng). Chúng ta hãy giả vờ rằng chúng ta đang phát triển shitakes và đây là thành phần cần thiết của chất nền của chúng:

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

Chúng tôi muốn tạo ra một chất nền thích hợp từ các vật liệu chúng tôi có trong tay mà chúng tôi biết thành phần hóa học của.

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

Làm thế nào để một người tính toán này? Nó làm tôi nhớ đến việc giải ma trận ở trường trung học. Đây có phải là một cái gì đó có thể được thực hiện với ma trận? Vấn đề này được gọi là gì? Tôi cần biết gì để giải quyết nó?


4
Ừm. Veery shit đẹp bạn đã có với benzen và toluene và O2F2. Hy vọng tôi không bao giờ bắt gặp họ trong một nhà hàng ...
Deer Hunter

3
@Deer Hunter: Tôi hy vọng tôi không bao giờ quay trong vòng chưa đầy 10 dặm rằng cơ sở trồng trọt ...
Michael Borgwardt


2
Vấn đề này thậm chí còn thú vị hơn nếu bạn phải tính đến giá táo và cam hiện tại.
Ingo

2
"Nấm" -> như trong những đám mây có hình dạng giống nhau?
Maciej

Câu trả lời:


27

Đây được gọi là lập trình tuyến tính . Đó là NP-Hard cho các ràng buộc số nguyên nhưng có các phương pháp xử lý vấn đề này, xem ghi chú của Jeff Erickson về chủ đề này. Phương pháp phổ biến nhất được gọi là Thuật toán Simplex .

Về cơ bản, bạn đang tìm các đỉnh của các hình được hình thành bằng hình học bởi các phương trình tuyến tính biểu thị các ràng buộc của bạn. Bạn tiến hành cho đến khi bạn tìm thấy một tối ưu. Trong trường hợp này, tỷ lệ của các thành phần cơ chất cần thiết.


9
Lập trình tuyến tính thực sự không được gọi là NP-hard, nó có thể được giải trong thời gian đa thức. Sẽ chỉ khó nếu bạn thêm các ràng buộc tích hợp (ví dụ: bạn không muốn 3,7 quả táo, nhưng nó phải là một số nguyên).
Falk Hüffner

Đã khắc phục sự cố đó
Kỹ sư thế giới

4

Chỉnh sửa: điều này không hoạt động, xem ý kiến

Vì bạn không có bất đẳng thức và không giảm thiểu chi phí ở đây, nên bạn không thực sự cần lập trình tuyến tính, bạn chỉ có thể giải nó như một hệ phương trình tuyến tính . Ví dụ: táo + cam = 1, 0,05 * táo + 0,20 * cam = 0,05, v.v.


Miễn là các giải pháp hệ thống không đưa ra các phân số âm (ví dụ: trộn vào -22% táo và + 122% cam để tạo thành 100% ...) Thật vậy, hệ phương trình tuyến tính cung cấp cho một số ứng cử viên (giải pháp bên trong?) nhưng sau đó các trường hợp cạnh cần phải được kiểm tra là tốt.
rwong

Phải, tôi quên mất điều đó.
Falk Hüffner

1
Một công thức LP sẽ hoạt động tốt, vì nó có thể bao gồm các hạn chế rằng tất cả các đại lượng đều dương.
kevin cline

Những thay đổi là tối thiểu hóa chi phí liên quan đến tỷ lệ giá táo / cam sẽ là bước tiếp theo trong quá trình phát triển của chương trình này.
Ingo

@Ingo Vâng, bạn nói đúng; Tôi đã không nghĩ xa khi tôi đặt câu hỏi. Đó sẽ là bước hai.
canisrufus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.