首页 > 解决方案 > 纸浆条件和

问题描述

我尝试在 PuLP(目标的一部分)中对以下数学语句进行建模:

采购成本

了解常见的符号,例如

pulp.lpSum(p.loc[t][tau]*d[t+tau]*q[t][tau] for t in T for tau in F)

我不确定如何包含tau小于或等于的条件T - tau。我以前使用过 XPRESS,我可以在其中做类似的事情

forall(t in T, tau in F | tau<=T-t)

现在我的问题是,这是否也适用于纸浆?

提前致谢。

标签: python-3.xpulp

解决方案


这与纸浆并不真正相关,而是完全由 python 的列表推导驱动。

代替

pulp.lpSum(p.loc[t][tau]*d[t+tau]*q[t][tau] for t in T for tau in F)

只需使用

nT = len(T)
pulp.lpSum(p.loc[t][tau]*d[t+tau]*q[t][tau] for t in T for tau in F if tau <= nT-t)

推荐阅读