Improve heuristic.lp

This commit is contained in:
Massimiliano Culpo 2025-02-07 21:58:22 +01:00
parent ddeab9879e
commit d4b5eb2be6
No known key found for this signature in database
GPG Key ID: 3E52BB992233066C
2 changed files with 17 additions and 7 deletions

View File

@ -118,7 +118,7 @@ def default_clingo_control():
control = clingo().Control()
control.configuration.configuration = "tweety"
control.configuration.solver.heuristic = "Domain"
control.configuration.solver.opt_strategy = "usc,one"
control.configuration.solver.opt_strategy = "usc,one,1"
return control

View File

@ -6,18 +6,28 @@
% Heuristic to speed-up solves
%=============================================================================
#heuristic attr("node", PackageNode). [300, init]
#heuristic attr("node", PackageNode). [ 2, factor]
#heuristic attr("node", PackageNode). [ -1, sign]
#heuristic attr("node", node(0, Dependency)) : attr("dependency_holds", ParentNode, Dependency, Type), not virtual(Dependency). [1@2, sign]
#heuristic node_compiler(ParentNode, CompilerNode). [1200, init]
#heuristic node_compiler(ParentNode, CompilerNode). [ 6, factor]
#heuristic node_compiler(ParentNode, CompilerNode). [ -1, sign]
#heuristic node_compiler(ParentNode, CompilerNode) : attr("depends_on", ParentNode, CompilerNode, "build"), provider_weight(CompilerNode, Language, 0), language(Language). [1@2, sign]
#heuristic attr("virtual_node", node(X, Virtual)). [60, init]
#heuristic attr("virtual_node", node(X, Virtual)). [600, init]
#heuristic attr("virtual_node", node(X, Virtual)). [-1, sign]
#heuristic attr("virtual_node", node(0, Virtual)) : node_depends_on_virtual(PackageNode, Virtual). [1@2, sign]
#heuristic attr("virtual_node", node(0, "c")). [1@3, sign]
#heuristic attr("virtual_node", node(0, "cxx")). [1@3, sign]
#heuristic attr("depends_on", ParentNode, ChildNode, Type). [150, init]
#heuristic unification_set(SetID, Node). [400, init]
#heuristic unification_set(SetID, Node). [ 4, factor]
#heuristic unification_set(SetID, Node). [ -1, sign]
#heuristic unification_set("root", node(0, "libc")). [ 1@2, sign]
#heuristic attr("node", PackageNode). [300, init]
#heuristic attr("node", PackageNode). [ 4, factor]
#heuristic attr("node", PackageNode). [ -1, sign]
#heuristic attr("node", node(0, Dependency)) : attr("dependency_holds", ParentNode, Dependency, Type), not virtual(Dependency). [1@2, sign]
#heuristic attr("depends_on", ParentNode, ChildNode, Type). [100, init]
#heuristic attr("depends_on", ParentNode, ChildNode, Type). [4, factor]
#heuristic attr("depends_on", ParentNode, ChildNode, Type). [-1, sign]
#heuristic attr("depends_on", ParentNode, node(0, Dependency), Type) : attr("dependency_holds", ParentNode, Dependency, Type), not virtual(Dependency). [1@2, sign]