Я разработал скрипт для решения задачи коммивояжера (TSP), используя алгоритм ветвления и привязки в MATLAB. В результате сценарий визуализирует карту с кратчайшим путевым путем.
Теперь я также хотел бы применить функцию treeplot
, чтобы сгенерировать дерево для представления результата. К сожалению, я не знаю, как работает эта функция. Когда у меня будет 5 городов, я ожидаю еще 4 ветви после моего первого узла (начальный город). После моего второго узла я ожидаю еще 3 ветви и так далее.
Количество возможных городов уменьшается с каждым узлом, потому что каждый город можно посетить только один раз.
Ожидаемое дерево:
Как должна выглядеть моя treeplot
функция, например, я хочу визуализировать способ 1 => 2 => 3 => 4 => 5
?
Кратчайший путь я сохранил в массиве:
wayarray_for_tree =
1 2 3 4 5 1
Теперь, когда я применяю функцию treeplot
, я получаю сообщение об ошибке:
treeplot(wayarray_for_tree)
Ошибка при использовании treelayout
(строка 28)
Неверный вектор родительских указателей.
Ошибка в treeplot
(строка 18)
[x,y,h]=treelayout(p);