def best_path (o, R, CT, Delta, parms, start_time): ''' Given a set {R} of fillers, returns a tool-path {ph} comprising those fillers or their reversals with intervening jumps. Tries to find the path with least total execution time, satisfying the constraint that no contact in {CT} has a cooling time greater than {Delta}. This version of the heuristic does not try to generate link traces; it always uses a jump to go from one filler to the next. The path will start at the point {o}. Uses backtracking with ordered choices. ''' heuristic2_IMP.best_path(R, Delta, parms, start_time) def best_path_aux(ph, R, Front, Delta, parms, start_time): ''' Given a partial solution {S} for the stroke order optimization problem, and the corresponding list of {Front} strokes tries to complete it into a full solution {Sfull}. If it succeds returns the {Sfull}, the maximum cooling time {Cmax} among the new strokes added, and the corresponding side {smax}. If it fails returns None in place of {Sfull}. Assumes that the {Front} has at least one stroke in each component of the connectivity graph that has not been yet completey extruded. ''' heuristic2_IMP.best_path_aux(S, Front, Delta, parms, start_time)