所以假设我有3个位置:loc1,… loc3
另外,我有7个设备:device1,… device7
每个位置的最大设备数量:loc1:3,loc2:4,loc3:2
(例如loc1中最多3个设备,依此类推……)
以及有关位置和设备的一些限制:
loc1:device1,device3,device7,
loc2:device1,device4,device5,device6,device7
loc3:device2,device6
(例如,只有device1,device3和device7可以在loc1中.)
我正在尝试为位置设备提供一组可能的选项.
from constraint import *
problem = Problem()
for key in locations_devices_dict:
problem.addVariable(key,locations_devices_dict[key])
# problem.addVariable("loc1",['device1','device3','device7'])
problem.addConstraint(AllDifferentConstraint())
我一直坚持如何做约束.我试过了:
problem.addConstraint(MaxSumConstraint(3),'loc1')
但它不起作用,MaxSumConstraint不总结我需要的东西.
所有设备必须放在某处
解决方案:
loc1: device1,device3
loc2: device4,device7
loc3: device2,device5
有人有想法吗?
(另一个python包/不使用任何包,如果有人有任何建议也是个好主意…)