Задача коммивояжера. Метод ветвей и границ

Имeется n городов (с указанной ценой пути из каждого i -ого в каждый j город),коммивояжеру необходимо посетить все города и вернуться в исходный, так чтобы цена всего пути была минимальной.