pluto
pluto copied to clipboard
difference between cut_smart and cut_conservative
Hello,
I'm just reading the code of pluto, and find that seems no difference between "cut_smart" and "cut_conservative", the code is as follows:
do somebody have some suggestion on some "smart" cut_smart strategys?
thanks very much
Sorry, this code is poorly documented. I'm going to commit a patch soon to clean this up. But most of these methods are different. Note the additional conditional inside the last nest in the case of cut_smart
. There is an extra check for the transformations being "full" as well, but that's less important.
Done - https://github.com/bondhugula/pluto/commit/dae26e77b94b2624a540c08ec7128f20cd7b7985
ops, thanks very much, I just misreaded that. There exists a "return" in line 657 in "cut_conservative" functoin, but no "return" in the "cut_smart" function in the same place. I ju
btw, could you recommend have some other cut_smart strategies or related works to read?
btw, could you recommend have some other cut_smart strategies or related works to read?
cut_smart
is really not a principled, but an adhoc approach. There are other fusion approaches in Pluto (typed_fuse
) and a newer one that doesn't use such cutting or ILP: @aravindacharya can point you to the right cmdline options and branch.
Pluto has two other heuristics namely typedfuse
and hybridfuse
. These heuristics require Pluto to be built with glpk (or gurobi) solver, as these heuristics use LP formulations instead of ILPs. This can be done by passing --enable-glpk
flag to configure while building Pluto. Then, --typedfuse
and --hybridfuse
options enable typed fusion and hybrid fusion heuristics respectively. These options are available in the master branch. Details of these fusion heuristics are available in this paper. The right command line flags to use with hybridfuse or typed fuse is --lpcolor
and --delayedcut
. These flags should have been enabled by default with typed and hybrid fusion heuristics. Also the name lpcolor is poorly chosen. I should have renamed it to greedycolor
in the first place. This option enables the greedy coloring huristic mentioned in the above paper.
thanks so much for the patient answer, I will read the paper and try some test as the way you said.