我有一个简单的经济订单数量(EOQ)优化问题,涉及很多变量和一些约束。
广义目标函数为sum(ai * x [i] + bi / [xi]),其限制条件为:
使用auglag()时,它花费的时间太长(即使对于100个变量也是如此),因此进行一些研究后,我发现问题是凸的,并尝试实现凸的求解器。
我找到了此链接:
Error in nonlinear optimization problem : infinite or missing values in 'x'
但是,似乎CVXR不允许在分母中使用“ x”,因为它提示以下错误消息:
as.Constant(e1)/ e2中的错误:只能除以标量常量
ans2 <- auglag(par=rep(2,1000), fn=objfun, hin=confun) ##takes too long
p <- Variable(1000)
obj <- Minimize(sum(a*p+b/p)) ##prompts error
我希望求解器可以更快地解决此类“简单”的优化问题... 我对第二个选项做错了吗? 还是对于具有非线性约束的凸非线性优化问题有更好的求解器?
谢谢
答案 0 :(得分:2)
尝试
Minimize(sum(a*p+b*inv_pos(p)))
由于您未提供可复制的代码,因此我没有尝试过。