Hmmm, I don't think a tree is the best data structure for your requirements. I suggest a std::vector of Jobs. Each Job should have a container of subjobs Your schedule can iterate through a vector much easier than a tree. Edit 1: The code class Subjob; class Job { std::vector<Subjob>...

algorithm,artificial-intelligence,a-star,tree-search

Assume that h(n) is not admissible, so there exists some vertex n such that h(n) > h*(n). But because of the compatibility of h(n), we know that for all n` it holds that h(n) <= c(n,a,n') + h(n'). Now combine these two predicates when n` is the vertex G to...