Below the error messages, there is some solver metadata output by minizinc.
Solver(name='Gecode', version='6.3.0', id='org.gecode.gecode', executable='../../../bin/fzn-gecode', mznlib='../gecode', mznlibVersion=1, description='Gecode FlatZinc executable', tags=['cp', 'int', 'float', 'set', 'restart', 'org.gecode.gecode', 'gecode'], stdFlags=['-a', '-f', '-n', '-p', '-r', '-s', '-t', '--cp-profiler'], extraFlags=[['--c-d', 'Recomputation commit distance', 'int', '8'], ['--a-d', 'Recomputation adaption distance', 'int', '2'], ['--decay', 'Decay factor', 'float', '0.99'], ['--node', 'Node cutoff', 'int', '0'], ['--fail', 'Failure cutoff', 'int', '0'], ['--restart', 'Restart sequence type', 'opt:none:constant:linear:luby:geometric', 'none'], ['--restart-base', 'Base for geometric restart sequence', 'float', '1.5'], ['--restart-scale', 'Scale factor for restart sequence', 'int', '250'], ['--restart-limit', 'Restart cutoff', 'int', '0'], ['--nogoods', 'Use no-goods from restarts', 'bool', 'false'], ['--nogoods-limit', 'Depth limit for no-good extraction', 'int', '128']], requiredFlags=[], inputType='FZN', supportsMzn=False, supportsFzn=True, supportsNL=False, needsSolns2Out=True, needsMznExecutable=False, needsStdlibDir=False, needsPathsFile=False, isGUIApplication=False, _identifier='org.gecode.gecode@6.3.0')
Solver(name='Chuffed', version='0.13.2', id='org.chuffed.chuffed', executable='../../../bin/fzn-chuffed', mznlib='../chuffed', mznlibVersion=1, description='Chuffed FlatZinc executable', tags=['cp', 'lcg', 'int', 'org.chuffed.chuffed', 'chuffed'], stdFlags=['-a', '-f', '-n', '-r', '-s', '-t', '-v', '--cp-profiler'], extraFlags=[['--prop-fifo', 'Use FIFO queues for propagation', 'bool', 'false'], ['--vsids', 'Use activity-based search on the Boolean variables', 'bool', 'false'], ['--toggle-vsids', 'Alternate search between user-specified and activity-based one', 'bool', 'false'], ['--restart', 'Restart sequence type', 'opt:chuffed:none:constant:linear:luby:geometric', 'chuffed'], ['--restart-base', 'Base for geometric restart sequence', 'float', '1.5'], ['--restart-scale', 'Scale factor for restart sequence', 'int', '1000000000'], ['--switch-to-vsids-after', 'Search starts with the user-specified one and switches to the activity-based one after a specified number of conflicts', 'int', '1000000000'], ['--branch-random', 'Use random variable selection for tie breaking instead of input order', 'bool', 'false'], ['--sat-polarity', 'Selection of the polarity of Boolean variables (0 = default, 1 = same, 2 = anti, 3 = random)', 'int', '0'], ['--lazy', 'Allow clause generation for domain update', 'bool:on:off', 'true'], ['--finesse', 'Try to generated stronger clauses', 'bool:on:off', 'true'], ['--learn', 'Compute nogoods when a conflict is encountered', 'bool:on:off', 'true'], ['--eager-limit', 'The maximal domain size of eager integer variables', 'int', '1000'], ['--sat-var-limit', 'The maximal number of Boolean variables', 'int', '2000000'], ['--n-of-learnts', 'The maximal number of learnt clauses', 'int', '100000'], ['--learnts-mlimit', 'The maximal memory limit for learnt clauses in Bytes', 'int', '500000000'], ['--sort-learnt-level', 'Sort literals in a learnt clause based on their decision level', 'bool', 'false'], ['--one-watch', 'Watch only one literal in a learn clause', 'bool:on:off', 'true'], ['--bin-clause-opt', 'Optimise learnt clauses of length 2', 'bool:on:off', 'true'], ['--assump-int', 'Try and convert assumptions from the assumption interface back to integer domain expressions', 'bool:on:off', 'false'], ['--introduced-heuristic', 'Decide if variable is introduced based on its name', 'bool', 'false'], ['--use-var-is-introduced', 'Decide if variable is introduced based on var_is_introduced annotation', 'bool', 'false'], ['--exclude-introduced', 'Exclude introduced variables from learnt clauses', 'bool', 'false'], ['--decide-introduced', 'Allow search decisions on introduced variables and their derived internal variables', 'bool:on:off', 'true'], ['--fd-simplify', 'Remove FD propagators that are satisfied globally', 'bool:on:off', 'true'], ['--sat-simplify', 'Remove of clauses that are satisfied globally', 'bool:on:off', 'true'], ['--cumu-global', 'Use the global cumulative propagator if possible', 'bool:on:off', 'true'], ['--disj-edge-find', 'Use the edge-finding propagator for disjunctive constraints', 'bool:on:off', 'true'], ['--disj-set-bp', 'Use the set bounds propagator for disjunctive constraints', 'bool:on:off', 'true'], ['--mdd', 'Use the MDD propagator if possible', 'bool', 'false'], ['--mip', 'Use the MIP propagator if possible', 'bool', 'false'], ['--mip-branch', 'Use MIP branching as the branching strategy', 'bool', 'false'], ['--sym-static', 'Use static symmetry breaking constraints', 'bool', 'false'], ['--ldsb', "Use lightweight dynamic symmetry breaking constraints '1UIP crippled'", 'bool', 'false'], ['--ldsbta', "Use lightweight dynamic symmetry breaking constraints '1UIP'", 'bool', 'false'], ['--ldsbad', "Use lightweight dynamic symmetry breaking constraints 'all decision clause'", 'bool', 'false'], ['--sbps', 'Use Solution-based phase saving (SBPS) value selection heuristic', 'bool', 'false']], requiredFlags=[], inputType='FZN', supportsMzn=False, supportsFzn=True, supportsNL=False, needsSolns2Out=True, needsMznExecutable=False, needsStdlibDir=False, needsPathsFile=False, isGUIApplication=False, _identifier='org.chuffed.chuffed@0.13.2')
Just installed both
minizincmodule for python 3.12 andMiniZincIDE-2.8.7-bundled-setup-win64.exeand whilechuffedworks,gecodedoesn't appear to be available.Any tips on how to get
gecodegoing?Below the error messages, there is some solver metadata output by minizinc.
Here is chuffed working fine
result:
But when I replace line 8 with this
I get the following:
Diagnostics
versions
reports
solver metadata
reports