from constraint import *
from constraint import Problem, AllDifferentConstraint
problem = Problem()
customers = ["Freda", "Opal", "Penny", "Sarah", "Vicky"]
locations = ["Brownfield", "Durham", "Iowa Falls", "Los Altos", "Redding"]
brands = ["Dodge", "Fiat", "Hyundai", "Jeep", "Nissan"]
durations = [2, 3, 4, 5, 6]
for i in range(1, 6):
problem.addVariable(f"Customer_{i}", customers)
problem.addVariable(f"Location_{i}", locations)
problem.addVariable(f"Brand_{i}", brands)
problem.addVariable(f"Duration_{i}", durations)
for attr in ["Customer", "Location", "Brand", "Duration"]:
problem.addConstraint(AllDifferentConstraint(), [f"{attr}_{i}" for i in range(1, 6)])
problem.addConstraint(lambda c1, c2, c3, c4: len({c1, c2, c3, c4}) == 4,
["Customer_5", "Location_4", "Location_2", "Brand_2"])
problem.addConstraint(lambda brand, location: brand != "Jeep" or location != "Iowa Falls",
["Brand_3", "Location_3"])
problem.addConstraint(lambda c, d: c != "Penny" or d != 6, ["Customer_4", "Duration_4"])
solutions = problem.getSolutions()
for solution in solutions:
print(solution)
Это код. Когда я пытаюсь запустить код, он продолжает работать и не показывает никаких выходных данных или ошибок. Не знаю почему.
Я также попробовал решить несколько простых задач с ограничениями в Python. Бывает то же самое. Было бы очень полезно, если бы кто-нибудь помог мне с этим вопросом. Спасибо.
for i in range(1, 6): problem.addVariable(f"Customer_{i}", customers) problem.addVariable(f"Location_{i}", locations) problem.addVariable(f"Brand_{i}", brands) problem.addVariable(f"Duration_{i}", durations)
for attr in ["Customer", "Location", "Brand", "Duration"]: problem.addConstraint(AllDifferentConstraint(), [f"{attr}_{i}" for i in range(1, 6)])
problem.addConstraint(lambda c1, c2, c3, c4: len({c1, c2, c3, c4}) == 4, ["Customer_5", "Location_4", "Location_2", "Brand_2"]) problem.addConstraint(lambda brand, location: brand != "Jeep" or location != "Iowa Falls", ["Brand_3", "Location_3"]) problem.addConstraint(lambda c, d: c != "Penny" or d != 6, ["Customer_4", "Duration_4"])
solutions = problem.getSolutions() for solution in solutions: print(solution) [/code] Это код. Когда я пытаюсь запустить код, он продолжает работать и не показывает никаких выходных данных или ошибок. Не знаю почему. Я также попробовал решить несколько простых задач с ограничениями в Python. Бывает то же самое. Было бы очень полезно, если бы кто-нибудь помог мне с этим вопросом. Спасибо.