Представьте, что у меня есть файл .mzn с именем ab c .mzn, и он выглядит следующим образом.
array[1..3] of int:a;
output[show(a)];
Теперь у меня есть файл .dzn с именем cde.dzn, и он выглядит следующим образом.
a=[1,2,3];
Я буду запускать пакет minizin c python, как показано ниже,
import minizinc as minizinc
from minizinc import Instance,Model,Solver
x=Solver.lookup("geocode")
M1=Model("./abc.mzn")
instance1=Instance(x,M1)
instance1("a")=[1,2,3]
result = instance1.solve()
print(result)
Вышеупомянутый код работает нормально, с этим проблем нет. Я заинтересован в использовании модуля dzn в этом * Код 1020 * вместо модуля Instance и избавиться от ручного назначения ниже строки. Как видите, нам нужно вручную назначать значения для всех параметров, используя instance1 = ..
instance1("a")=[1,2,3]
. Есть ли способ, которым мы можем использовать файл .dzn для назначения значений (используя модуль dzn). что в самом пакете у нас уже есть модуль dzn.
мы можем сделать ниже или как получить результаты.
import minizinc as minizinc
from minizinc import dzn,Model,Solver
M1=Model("./abc.mzn")
D1=dzn("./cde.dzn") etc..