2010-01-21 26 views
14

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ữ

+0

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! –

Trả lời

11

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: AMPLGAMS.

+1

Cảm ơn tôi đã kết thúc với AMPL chủ yếu là do các tài liệu tốt trong cuốn sách bạn tham chiếu. – Emmanuel

+0

BTW cuốn sách hiện đã có sẵn trực tuyến miễn phí. – vitaut

2

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).

+0

Cảm ơn bạn đã liên kết. – Emmanuel

0

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.

Các vấn đề liên quan