: narural // the counter on branched nodes |

*b: *natural *// *the number of branched nodes provided by the current node |

Best , |

Live = *// *the set of nodes to be processed |

**while **Live **do** |

Select the node *N *from Live to be processed which gives the best *F *by using DFS |

Live = |

**if** *F(N) *= *F(X) *for a feasible complete solution *X ***and ***F (X) *< Best *F ***then** |

*Best * |

Solution *=X // *A complete solution is founded |

**else if ** Best *F ***then** |

Discard *N *from processing *// *partial candidate is rejected |

**else** |

*// *partial candidate is kept |

Branch on *N *generating by respecting the problem constraints |

for **to** **do** |

Bound *Nc*: compute *F(Nc) // *bound calculation for the node *Nc * |

Live = Live U |

**end for** |

**end if** |

**end while** |

Optimal Solution = Solution, Optimal Value = Best |