from Mistral import Solver def xkcd(x, z,price): model = Model( z == Sum(x, price) ) return [model,x] price = [215, 275, 335, 355, 420, 580] x = VarArray(len(price),0,100) z = 1505 [model,x] = xkcd(x, z, price) print "model:\n", model solver = Solver(model, x) print "solver:\n", solver # solver.setVerbosity(10) if (solver.solve()): # solver.printStatistics() print "x: ", x # This don't work in NumberjackSolver, just Mistral while solver.getNextSolution() == SAT: # solver.printStatistics() print "x: ", x solver.printStatistics() else: print "No solution"