bulentsoykan / or-tools

Automatically exported from code.google.com/p/or-tools
0 stars 0 forks source link

/bin/fzn "proves" best solution if less ":: output_var" is used #42

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
See the two attached tgz-ed fzn-files: test_nooutput.fzn and test_output.fzn 
are the same fzn-problems, both very hard. The only difference is, that in 
test_nooutput.fzn only the variable "end_cost" (which must be minimised) is 
annotated with ":: output_var", whereas in test_output.fzn there are eight more 
variables annotated like that (you can run a diff to see what I mean).

> What steps will reproduce the problem?
1. Run ./bin/fz -all test_nooutput.fzn, you will get "**proven**" in around 
980ms with a value of end_cost = 2116 (which is just the lower bound of this 
var).
2. Run ./bin/fz -all test_output.fzn, or-tools just takes forever searching 
without finding any solution.

> What is the expected output? What do you see instead?
I expect "2." to be the correct behaviour, I tested a lot of solvers with this 
problem and never got any solutions better than around 2300.

> What version of the product are you using? On what operating system?
trunk from yesterday, compiled on Ubuntu 12.04, 64-bit

> Please provide any additional information below.
The fz-files were generated from a minizinc-file with G12's mzn2fzn.

Original issue reported on code.google.com by a.schupp...@gmail.com on 11 Apr 2014 at 7:45

Attachments:

GoogleCodeExporter commented 9 years ago
Hello, 

As your model does not specify a search strategy, I try to infer one.
One of the signal I use is the list of output variables. I guess that without 
one, I create a decision builder that does not include all variables.

The bottomline is that or-tools expects a fully defined search heuristics to 
work correctly. I will use this example make the decision builder I try to 
build less aggressive.

Original comment by laurent....@gmail.com on 14 Apr 2014 at 2:24

GoogleCodeExporter commented 9 years ago
Hi Laurent,
Perfect, thank you. I never understood why sometimes or-tools worked as a 
flatzinc-solver for my minizinc-files and sometimes not, but that explains it.

Maybe you could mention the needed fully defined search heuristics somewhere on 
the homepage / docs, otherwise tested with the wrong minizinc-file one would 
think that or-tools' fz is just buggy and change to an other solver, which 
would be a petty.

Alex

Original comment by a.schupp...@gmail.com on 21 Apr 2014 at 1:51