如何解决如何在 PuLP (Python) 约束中调用函数?
用例
这只是一个简单的例子,用于理解它如何以及为什么没有按预期工作。
有一组进程,它们有一个开始和一个结束时间戳。 进程的开始时间戳必须在其前任的完成时间戳之后。到目前为止,一切都很好。
考虑
关于约束:难道不能执行比算术方程更复杂的运算(例如查询和大小写区分)吗?
这在下面的代码中进行了说明。
def func(p):
if self.start_timestamps[p] >= self.end_timestamps[p-1]:
return 1
return 0
# constraint for precedences of processes
for process_idx in self.processes:
if process_idx > 0:
# works fine !
model += self.start_timestamps[process_idx] >= self.end_timestamps[process_idx-1]
# doesn't work,but should?!
model += func(process_idx) == 1
问题
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。