问题描述
我正在使用 Python 的 OR 工具的 MIP 解算器,并且在声明约束时遇到了一个问题。有问题的约束,如下图所示,是关于雄性和雌性动物之间的比例(a):
到目前为止,我尝试了两种方法来做到这一点:
for t in times:
solver.Add(
solver.Sum(
if a in animais_male:
[n_animals[(a,t)]*sell[(a,t)]
elif a in animais_female:
-proportion_max*n_animals[(a,t)]
for a in animais
]) <= 0)
这个返回了这个错误:
File "<ipython-input-20-95a1db1c4418>",line 5
if a in animals_male:
^
SyntaxError: invalid Syntax
for t in dias_considerados:
solver.Add(
solver.Sum(
[n_animals[(a,t)]
for a in animals_male
-proportion_max*n_animals[(a,t)]
for a in animals_female
]) <= 0)
我收到了这个错误:
TypeError Traceback (most recent call last)
<ipython-input-21-2dfedfd19682> in <module>()
4 [n_animals[(a,t)]
5 for a in animals_male
----> 6 -proportion_max*n_animals[(a,t)]
7 for a in animals_female
8 ]) <= 0)
TypeError: 'SumArray' object is not iterable
n_animals[(a,t)]
是动物的数量,在图像中用 n_(a,t) 表示,sell[(a,t)]
是图像中的 I_(a,t) 二元决策变量。
因此,如果有人可以帮助我,我将不胜感激!如果我需要更好地解释我的情况,我可以这样做。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)