Исправление основ
Как объяснено здесь , вы не можете создать экземпляр Java List, потому что это interface
.Однако вы можете создать экземпляр любого реализующего класса List, например ArrayList.
С учетом этого ваш код будет выглядеть следующим образом:
List<Path> myPath = new ArrayList<Path>();
myPath.add(path14);
myPath.add(path8);
myPath.add(path);
myPath.add(path1);
myPath.add(path4);
myPath.add(path13);
return myPath;
Пока что для основ.
Куда идти отсюда
Чтобы заставить его учитывать фактический источник и пункт назначения для планирования маршрута, определите оба в качестве входных параметров типа ILocation в свойствах функции,
Теперь самое сложное: написать собственный или импортировать алгоритм маршрутизации, который может автоматически выдать вам список путей на основе заданных вами критериев.Однако эта тема слишком широка для этого вопроса.Основные шаги:
- Создание графика , представляющего вашу сеть путей AnyLogic
- Решение проблемы маршрутизации графа с помощью алгоритма решения (например, * 1028).* Алгоритм Дейкстры ), используя график, начальную точку и конечную точку
- Преобразуйте решение, полученное от решателя, обратно в ArrayList, с которым вы можете работать в AnyLogic
Вы можете сделать эти шаги самостоятельно, например.реализовав алгоритм Dijkstra самостоятельно, или вы импортируете в AnyLogic один из доступных Java-пакетов для решения графиков, таких как JUNG или Graphhopper .В этой статье я шаг за шагом объясняю, как это сделать с JUNG.