Tôi muốn nhận được ý kiến từ người dùng GAMS và AMPL về những điểm mạnh và điểm yếu của từng ngôn ngữ này.So sánh các GAMS so với AMPL Mô hình đại số Ngôn ngữ
Trả lời
Về mặt chức năng, chúng khá giống nhau cho phép thể hiện hầu hết các loại vấn đề tối ưu hóa. Cá nhân, tôi thích AMPL bởi vì nó có cú pháp trực quan và biểu cảm và nó được viết rất tốt trong book. Một lợi thế quan trọng khác của AMPL là mặc dù thực tế là nó là thương mại, bạn có thể tránh sự khóa của nhà cung cấp vì có một sự thay thế mã nguồn mở - GNU MathProg. GAMS mặt khác được sử dụng để có một IDE tiên tiến hơn so với những người đã tồn tại cho AMPL mặc dù nó thay đổi với sự ra đời của AMPL IDE mới.
Bạn có thể tìm thấy ví dụ về cùng một vấn đề giao thông từ George Dantzig được xây dựng trong AMPL và GAMS trong các bài viết trên Wikipedia: AMPL và GAMS.
This blog có nói như sau:
Cả hai hệ thống này rất tốt trong những gì họ đang làm và sử dụng rộng rãi, vì vậy bạn có thể không thực sự đi sai với một trong hai sự lựa chọn. Tôi có thể đề nghị thêm các điểm bổ sung cho hệ thống mô hình được sử dụng bởi các đồng nghiệp và cộng tác viên của bạn. Đó làm cho việc trao đổi các mô hình và dữ liệu dễ dàng hơn và cũng dễ dàng hơn khi thảo luận vấn đề, thủ thuật, các vấn đề, vv
Bob Fourer (ampl) trả lời:
Thật khó để tìm một ai đó có thể đưa ra lời khuyên chuyên gia như nhau trên hai cạnh tranh với các hệ thống , khi bạn trở nên quen thuộc với một trong số chúng, bạn thường không có nhiều ưu đãi để tiếp tục tìm hiểu về hệ thống khác. Nhưng đây là một vài ý kiến từ quan điểm không thiên vị của tôi.
AMPL được thiết kế với ý tưởng gần gũi hơn với ký hiệu toán học và thường tự nhiên hơn nhiều so với GAMS và cao hơn điểm số . Mô hình GAMS thường dựa trên các quy ước đặc biệt hơn và các cải cách so với mô hình AMPL của nó; một trường hợp tại điểm là việc sử dụng toán tử GAMS $ thường xuyên mở rộng để áp đặt các điều kiện khác nhau. Ngoài ra, IDE bất kể, GAMS về cơ bản là nhiều hơn của một hệ thống lô trong khi AMPL cung cấp tùy chọn linh hoạt hơn trong việc khám phá các mô hình và kết quả tương tác. Cuối cùng trong khi ở một số khu vực GAMS được thiết lập thông qua sử dụng lâu dài, tôi vẫn thấy người mẫu trong các lĩnh vực này chọn AMPL, đặc biệt khi họ đang thực hiện các dự án mới không phụ thuộc vào các mô hình GAMS hiện có.
Theo ý kiến của tôi AMPL và GAMS gần hơn trong thực tiễn so với đề xuất ở đây (ví dụ: nơi bạn sử dụng $ trong GAMS, người ta sẽ sử dụng: trong AMPL). Tôi thực sự hơi thích cú pháp GAMS khi thực hiện công việc thực, vì nó hơi nhỏ gọn hơn và nó là hiển nhiên khi kết thúc tổng kết (trong AMPL, điều này dựa trên mức độ ưu tiên của toán tử, trong GAMS một tổng được đánh dấu bằng dấu ngoặc đơn).
Cảm ơn bạn đã liên kết. – Emmanuel
Theo ý kiến của tôi, tất cả các cân nhắc cú pháp thực sự là vấn đề về hương vị; cả hai ngôn ngữ AMPL và GAMS đều dễ học và cung cấp cho cùng một phạm vi về các loại mô hình có thể được xem xét.
Tại thời điểm viết bài đăng này, GAMS cung cấp số lượng người giải quyết lớn hơn. Điều đó đang được nói, danh sách các giải pháp của AMPL không phải là một tập hợp con của danh sách các giải pháp GAMS. Đối với một ứng dụng cụ thể, tôi đề nghị người giải quyết điểm chuẩn trước khi mua AMPL hoặc GAMS (ví dụ, thông qua máy chủ NEOS để tối ưu hóa).
Cá nhân tôi thích cú pháp AMPL vì nó gần ký hiệu toán học hơn. Tuy nhiên, tôi thích GAMS cho các ứng dụng công nghiệp chủ yếu là do sự sẵn có của bộ giải và bởi vì nó được nhúng/chứng minh trong nhiều ngành công nghiệp. Điều này thường đơn giản hóa đối thoại với một đối tác/khách hàng công nghiệp đã sử dụng GAMS.
- 1. AMPL so với Python - Nhập bảng (từ điển đa chiều?)
- 2. So sánh chuỗi và boolean trong ngôn ngữ biểu
- 3. So sánh với các loại số Scala?
- 4. So sánh chuỗi trong .Net: "+" so với "-"
- 5. So sánh các số NULL
- 6. So sánh hình ảnh với php + gd
- 7. So sánh số và đại diện chuỗi của nó
- 8. Mô hình so sánh hình ảnh cho PHP
- 9. So sánh số có nhanh hơn so sánh chuỗi không?
- 10. Đối sánh mẫu, F # so với Erlang
- 11. So sánh một đôi với số không
- 12. So sánh và so sánh số nguyên chuỗi PHP Weird
- 13. So sánh shared_ptr với tài liệu tham khảo ngôn ngữ được quản lý
- 14. C# mô hình mvc so với viewbag
- 15. So sánh các chữ số NSNumber
- 16. So sánh các số trong Bash
- 17. Hỗ trợ ngôn ngữ cho các toán tử so sánh xích (x <y <z)
- 18. grok so với django so sánh
- 19. so sánh hàm băm() so với crypt()
- 20. So sánh C# và Java
- 21. So sánh datetimes bằng không so sánh
- 22. Các khóa từ điển Python (so sánh các đối tượng lớp) với nhiều so sánh
- 23. So sánh các ngày với Parse.com
- 24. So sánh chuỗi PostgreSQL
- 25. Tính năng so sánh hình ảnh nút so sánh với nút-gm như thế nào?
- 26. Haskell so với mô hình luồng Python
- 27. So sánh các tệp với awk
- 28. So sánh hai số NSStrings
- 29. So sánh tốc độ truy cập từ điển với phím số nguyên so với khóa chuỗi
- 30. So sánh các hương vị Regex
Canoehead, có vẻ như bạn có đủ danh tiếng ngay bây giờ để thêm thẻ trò chơi cho câu hỏi này. Bạn có phiền không? (Xem thêm http://stackoverflow.com/q/22666921/1470262.) Cảm ơn! –