Open jawbroken opened 7 months ago
Thanks. We will investigate. I can reproduce the crash.
Note that you should just not use this flag. There are better techniques for the same effect.
Thanks for looking at it. I mainly reported it because it seemed from the stack trace like it might be a deeper issue that was just more likely to trigger with this flag.
I was just playing around with the parameter because it seemed to help improve lower bounds faster on my problem, but I haven't done any rigorous testing. What are the better techniques?
With more workers, objective_lb_search and objective_shaving_search are very good. Laurent Perron | Operations Research | @.*** | (33) 1 42 68 53 00
Le lun. 27 nov. 2023 à 13:15, jawbroken @.***> a écrit :
Thanks for looking at it. I mainly reported it because it seemed from the stack trace like it might be a deeper issue that was just more likely to trigger with this flag.
I was just playing around with the parameter because it seemed to help improve lower bounds faster on my problem, but I haven't done any rigorous testing. What are the better techniques?
— Reply to this email directly, view it on GitHub https://github.com/google/or-tools/issues/4006#issuecomment-1827719332, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACUPL3MSHK7LZE54FF3PLG3YGR75JAVCNFSM6AAAAAA72BCLRWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRXG4YTSMZTGI . You are receiving this because you commented.Message ID: @.***>
Great, thanks. I only have 12 cores and didn't appreciate that increasing the number of workers (or just customising the subsolvers) might be a big improvement despite the increased contention. No wonder binary_search_num_conflicts
seemed helpful.
For reference, if anyone else stumbles across this, I get lb_tree_search
at 13 workers, probing
at 14, objective_lb_search
at 15, objective_shaving_search_no_lp
at 17, objective_shaving_search_max_lp
at 19, probing_max_lp
at 21, objective_lb_search_no_lp
at 23 and objective_lb_search_max_lp
at 25, in OR-Tools v9.8.3296. I'll look into perhaps customising the list of subsolvers to the ones that seem most useful for my problem.
What version of OR-Tools and what language are you using? Version: v9.8.3296 Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
CP-SAT
What operating system (Linux, Windows, ...) and version?
macOS Sonoma 14.1.1
What did you do?
Setting the binary_search_num_conflicts to a non-negative value (e.g. 1) causes random segmentation faults in CP-SAT for me. I can reproduce it using the Weighted Latency Problem example code, but you need to set the problem size large enough (e.g. num_nodes = 100, grid_size = 100), remove max_time_in_seconds: 5 from the solver parameters, and add binary_search_num_conflicts: 1. It might take some time to happen (e.g. in my case it took about 110 seconds), and the stack trace is always as below.
What did you expect to see
No segmentation fault.
What did you see instead?
Anything else we should know about your project / environment
I don't think I can reproduce it with OR-Tools v9.7.2996 (though it's hard to tell because the crash isn't deterministic).