Skip to content
Georgiy Bagretsov edited this page Apr 10, 2017 · 29 revisions

MAS Carpooling wiki

Спецификации

Город

см. здесь

Районы

см. здесь

Начальная конфигурация:

    -count_agents N1 -auto_generate N2 -count_driver N3 -delay_agents N4
    // N1 - количество агентов (Integer)
    // N2 - автоматически генерировать агентов или нет (yes - автоматически, все остальное - нет) (String)
    // N3 - количество агентов-водителей (Integer)
    // N4 - время задержки создания агентов (Integer)

Аргументы командной строки агента (массив args)

  • старт: номер вершины
  • финиш: номер вершины

Опциональные параметры:

  • вместимость машины (не считая водителя)
  • стоимость проезда одного километра: может быть дробным числом

Сервис карпулинга в Yellow Pages

  • тип: carpooling
  • имя: JADE-carpooling
  • свойства:
    • districts: районы, которые проезжает водитель. Формат: D1,D2,...,Dn

Водитель регистрируется в сервисе.

Пассажиры ищут подходящих водителей в течение всего их жизненного цикла. Если нашли подходящего, добавляют его к себе в список подходящих водителей. Таким образом, у пассажира есть шанс найти лучшего водителя, даже если тот появится поздно.

Система диалога водителя и пассажира

см. здесь

Парсер графа из файла

  • расширение файла: .gml
  • как задавать город:mas-carpooling-appl/src/main/resources/small_city.gml
  • конструктор по умолчанию строит город из файла small_city.gml
  • возможный параметр конструктора: путь к файлу от папки mas-carpooling
  • как пользоваться:
    Parser parser = new Parser();
    Graph<String, DefaultWeightedEdge> city = parser.getCity();

Расчёт маршрута на собственном автомобиле:

  • осуществляется в классе CitizenAgent.java
  • расчёт выполняется на этапе setup агента
  • для доступа к списку рёбер необходимо вызвать getCurrentRoute()
  • для доступа к стоимости проезда на своей тачке нужно вызвать getCurrentPrice()