[英]Setting priority branching through pyomo for Baron solver
我在 Python 中將 Pyomo 與 MINLP 求解器“BARON”一起使用。 我已經實現了讓它運行並通過 pyomo 將選項(例如 maxTime)傳遞給求解器。
在 baron 手冊中,他們解釋了在 pyomo 中設置分支選項的選項:“分支優先級(可選):可以使用關鍵字 BRANCHING PRIORITIES 提供分支優先級。這些參數的默認值設置為 1。變量違規乘以選擇分支變量之前用戶提供的優先級。示例分支優先級部分如下: BRANCHING_PRIORITIES{ x3: 10; x5: 0; }"
我如何通過 pyomo 實現它,因為我無法通過solver.option[x1]=1
設置它?
Pyomo 在線文檔 5.1.1 指的是后綴和與 AMPL 的接口,用於設置一般分支的優先級。 我還不了解后綴,如果能幫助我在代碼中包含哪些行以設置某個變量的優先級,我將不勝感激。
提前致謝。
這可能來得有點晚,但希望可以幫助其他面臨同樣問題的人。 我從 Pyomo 源代碼中的測試文件中找到了這個。 我用直接 BARON shell 測試了它並且它有效。
import pyomo.environ as pe
m = pe.ConcreteModel()
m.y = pe.Var()
m.x = pe.Var()
m.priority = pe.Suffix(direction=pe.Suffix.EXPORT)
m.priority[m.y] = 2
m.priority[m.x] = 1
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.