Skip to content

gorohovart/MAS.shipment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MAS.shipment

Существует 2 типа агентов: пользователи и хранилище. Через хранилище пользователи узнают друг о друге и продолжают общаться напрямую.

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

Заявка состоит из конечной и начальной точки обычного маршрута пользователя, исполнитель выбирает до какой точки ему дешевле доставить посылку. Стоимость определяется разницой между длиной его текущего маршрута и маршрута с учётом новой точки. Кроме того, пользователь который осуществляет доставку посылки может разбить заказы на несколько дней, если так будет меньше цена.

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

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published