0

我遇到了线性约束的最大化问题。CVXPY 使用 ECOS 求解器。优化算法适用于中型数据,但对于大型数据,该算法将永远运行。

问题是这样的,我提供快递服务,我将包裹从一个地方运送到另一个地方。对于“N”个包裹,我从“A”地运送到“B”地,我得到收入“K”,需要时间“T”。如果运送包裹所需的时间超过 2 天,我想停止从某个位置“X”运送到位置“Y”。同时,如果这条路线能为我带来更多收入,即使超过 2 天,我可能更愿意坚持这条路线。

selection = cvxpy.Variable(len(K), boolean=True)
constraints = [((T - 2)*N)*selection <= 0]
income = K*selection
problem = cvxpy.Problem(cvxpy.Maximize(income), constraints)

根据选择变量,我选择是否应该保留或停止该路线的运输。

打开详细,有迭代日志,我还可以看到诸如最优、接近最优、达到最大迭代但算法继续运行之类的评论。

我是这些求解器的新手。我从哪里开始调试这个问题?

另外我想了解 feastol、reltol、abstol 的含义以及迭代次数如何影响求解器?

4

0 回答 0