【发布时间】:2018-09-22 16:37:07
【问题描述】:
我设计了一个 AMPL 模型。
我想添加一些约束,例如:
s.t. Max_dif_prod {t in 1..T}:
count {p in PRODUCTS} (production[p,t] > 0) <= max_dif_prod ;
s.t. Min_prod {p in PRODUCTS, t in 1..T}:
production[p,t] = 0 or production[p,t] >= min_production[p] ;
但无论是默认求解器 (MINOS) 还是 AMPL 网页中列出的开源非线性求解器(IPOPT、BONMIN 和 COUENNE)似乎都无法处理这种类型的约束,并且由于我处于演示版本专有的 AMPL 非线性求解器是不可能的。
如果我想要这些限制,我可以使用什么求解器?或者我怎样才能用我上面提到的任何求解器都可以解决的限制来代替它们?
【问题讨论】:
-
嗯...您的模型基于什么文档?它告诉您哪些求解器受支持?如果没有 AMPL exp,快速搜索让我觉得
or和 co 保留给 CP 求解器和 CPLEX。您始终可以自己进行基于 MIP 的公式化。拿起任何有关整数编程的书或从AIMMS Modeling Guide 开始。production[p,t] = 0 or production[p,t] >= min_production[p]只是 rhs 或然后(1-production[p,t]) + indicator >= 1的指标公式(假设 prod 是 bin)。
标签: optimization solver ampl