我设计了一个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] ;
但是AMPL网页(IPOPT,BONMIN和COUENNE)中列出的默认求解器(MINOS)或开源非线性求解器似乎都无法处理这种约束,并且由于我使用的是演示版本,专有的AMPL非线性求解器是不可能的。
如果我需要这些限制,可以使用哪种求解器?或者我该如何用上面提到的任何求解器可以解决的限制代替它们?
答案 0 :(得分:1)
AMPL书中的chapter about integer programming帮助我解决了这个问题。
我实施的解决方案是使用二进制变量重新构造限制,然后使用CPLEX求解器。