OpenSolver và Excel 'Solver cung cấp các giải pháp tối ưu khác nhau


1

Tôi nhận thấy rằng OpenSolver và Solver có xu hướng đưa ra các giải pháp khác nhau. Ví dụ: trong tệp ví dụ do trang web này cung cấp , OpenSolver đưa ra câu trả lời là X = 0 và Y = 60, trong khi đó, Bộ giải là X = 10 và Y = 45. Bất cứ ý tưởng tại sao điều này là như vậy? Tôi nên tin vào cái nào?

(chỉnh sửa) Về cơ bản, tập tin mô hình hóa vấn đề bên dưới:

Tối đa hóa: 30X + 20Y

Theo:
5X + 2Y <= 140
3X + 2Y <= 120
X, Y> = 0


Các câu hỏi nên tự chứa, vui lòng bao gồm mô tả cốt lõi của ví dụ để mọi người có thể sao chép nó mà không cần tải xuống tệp.
Máté Juhász

Câu trả lời:


1

Hệ phương trình tuyến tính như của bạn có thể có nhiều giải pháp.

Cả hai loại bộ giải đều sử dụng các loại thuật toán gần đúng để tìm một giải pháp, không phải là phương pháp phân tích để giải phương trình của bạn, điều này có nghĩa là:

  • trong trường hợp có nhiều đầu ra tối ưu, việc lựa chọn chúng cũng phụ thuộc vào các tham số ban đầu (bắt đầu bộ giải của Excel với x = 0, y = 0 sẽ ở đó, sẽ không thay đổi thành 10, 45)
  • Các thuật toán này có thể được thực hiện khác nhau, chúng có thể tìm thấy các kết quả khác nhau

Tôi nên tin vào cái nào?

Luôn kiểm tra đầu ra, nếu cả hai đều nằm trong tiêu chí và cho kết quả đầu ra cuối cùng, thì cả hai đều có thể đúng.


Nếu bạn muốn nhận được câu trả lời xác định, bạn cần sử dụng một công cụ thích hợp, ví dụ Wolfram Alpha :

nhập mô tả hình ảnh ở đây


0

Cả hai giải pháp Excel này đều thỏa mãn các ràng buộc và có cùng giá trị mục tiêu và vì vậy cả hai đều đúng.


1
Điều này đọc giống như một nhận xét về câu trả lời hiện có hơn là một câu trả lời theo đúng nghĩa của nó. Sẽ là tốt hơn để giải thích tại sao cả hai giải pháp đều đúng hơn là chỉ có vậy. Xem câu trả lời hiện có cho một ví dụ về cách viết này.
Mokubai
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.