限制

2013-12-17 22 views
1

我要儘快使用我的碩士論文工作,爭取優化和我有一個關於AMPL的侷限性一些問題。限制

我的導師顯得信心十足,當使用的例如Gurobi求解器的全部許可AMPL將處理大多所有情況(其中我的大學都有)。

然而,在目前大多數論文的作品中,我發現大多數人仍然在其他語言中使用遺傳算法和啓發式算法,如C,C#,Python等。最好是在其他語言中實現自己的啓發式算法,還是設置爲在AMPL中爲你提供這個,只要你有一個解算器的完整許可證?

到目前爲止我的大學一直沒有當你自己的啓發式必須採用所以它會意味着我必須研究這些靠我最後的課程,直到論文工作即將啓動任何實際問題。

在此先感謝! Cenderze

+2

這主要取決於你手頭的問題的性質。我們需要更多的細節才能寫出一個理智的答案。除此之外,StackOverflow是關於編程和軟件開發的問題,你的問題在這裏是無關緊要的。但是,您可能會在http://scicomp.stackexchange.com/上找到答案。 – Ali

+0

我想提供儘可能多的信息!不過,我將於1月21日收到我的實際問題定義。 非常感謝您對這個URL我不知道該網頁的。我認爲堆棧溢出有點像編程和更概念飛機上的編程之間的融合,所以謝謝! – Cenderze

回答

3

可以使用AMPL實現啓發式方法,許多人使用AMPL的腳本功能或將其嵌入到其他語言中。這允許在比解算器API提供的級別更高的級別上工作,並允許實現獨立於解算器的方法(AMPL提供對許多求解器的訪問)。

另一種可能性是實現你的方法作爲AMPL求解這也有它的優點,你將不必擔心編寫自己的輸入法或傳統的格式限制,例如MPS。 SSDSolver就是這種方法的一個例子。它實現了用於解決二階隨機優勢約束問題的切平面算法,並使用另一個AMPL求解器(例如cplex)來解決子問題。

+1

非常感謝!我不太確定這兩種可能性是什麼,但這只是一個可能性的問題,所以你的答案完全適合我!謝謝! – Cenderze