def test_toy_minizinc(): model = Model() model.add_string(''' var -2..2: a; constraint a < 0; solve satisfy; ''') gecode = Solver.lookup("gecode") inst = Instance(gecode, model) result = inst.solve(all_solutions=True) print([{"a": result[i, "a"]} for i in range(len(result))])
async def explore_async(self, decision_model, backend_solver_name='gecode'): mzn_model_name = decision_model.get_mzn_model_name() mzn_model_str = res.read_text('idesyde.minizinc', mzn_model_name) mzn_model = Model() mzn_model.add_string(mzn_model_str) backend_solver = Solver.lookup(backend_solver_name) instance = Instance(backend_solver, mzn_model) decision_model.populate_mzn_model(instance) result = await instance.solve_async() return decision_model.rebuild_forsyde_model(result)
def constraint_solve_minizinc(modstr): model = Model() model.add_string(modstr) gecode = Solver.lookup("gecode") inst = Instance(gecode, model) return inst.solve()
from minizinc import Instance, Model, Solver gecode = Solver.lookup("gecode") trivial = Model() trivial.add_string(""" var 1..10: x; constraint (x mod 2) = 1; solve ::int_search([x], input_order, indomain_min) maximize x; """) instance = Instance(gecode, trivial) # Find and print all intermediate solutions result = instance.solve(intermediate_solutions=True) for i in range(len(result)): print(result[i, "x"])
for i in range(1, max + 1): minizinc2 = minizinc2 + "x" + str(i) + "+" minizinc2 = minizinc2[:-1] minizinc += "\n" + minizinc2 + ";\n\n" minizinc += "\nconstraint a!=0 ;\n" minizinc += "\nsolve minimize a;\n" print(max) print(minizinc) sum = 0 trivial.add_string(minizinc) instance = Instance(gecode, trivial) # Find and print all intermediate solutions result = instance.solve(intermediate_solutions=True) f = open(FileName + "_solution.txt", "w") for j in range(1, max + 1): #print("x"+str(j)+" = ") print(result[len(result) - 1, "x" + str(j)]) f.write("x" + str(j) + "=") f.write(str(result[len(result) - 1, "x" + str(j)]) + "\n") sum += result[len(result) - 1, "x" + str(j)] f.write("\nnumber = " + str(sum))