微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Python 中的 ORTools 中求解时获取 BoolVars 数组的当前/评估总和

如何解决在 Python 中的 ORTools 中求解时获取 BoolVars 数组的当前/评估总和

我正在使用带有最大化目标的 ortools,该目标调用一个函数获取某个值并针对该值进行最大化。我想在求解器运行时将一个变量从求解器的当前状态传递给该函数,以便该函数可以利用该变量返回此数字。

不需要这个值,我可以做这样的事情:

model.Maximize(sum([get_value(day,time,employee) for day in all_slots for time in all_slots[day] for employee in employees]))

我想向 get_value 添加第四个变量,我从求解器传入一个数组的总和。基本上这与调用 solver.Value() 的想法相同,但在求解器运行时。下面不是真实的,但想象 days_worked 是一个 boolvar 数组,当然,随着求解器的运行而变化。

model.Maximize(sum([get_value(day,employee,sum(days_worked)) for day in all_slots for time in all_slots[day] for employee in employees]))

有没有办法做到这一点?希望这个解释有意义。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。