Home - davidmigloz/supermarket-agent-system GitHub Wiki

Introduction

  • Aim: Fulfil the orders of the customers in the optimal way using drones.
  • The working hours of the system are known.

Agents

Our system is going to have to following agents:

Drones

  • The drone transports product items from warehouses to customers and between the warehouses.
  • The drone always use the shortest path.
  • The drone take into consideration the weather conditions while calculating the path.
  • The drone is autonomous (no need to charge battery).
  • The drone has technical limits (weight, speed, wind, hail, etc.).
  • The drone can have technical troubles (engine failure, lost of communication, etc.) or external troubles (vandalism, unexpected storm, etc.) that prevent it to achieve its goal.
  • The drone is owned by a warehouse.
  • Can handle several order in one load.

Warehouses

  • A warehouse stores product items.
  • A warehouse is located in a specific place.
  • A warehouse initially stock is a known number of products items of each product type.
  • A warehouse can be supplied with new products items.
  • A warehouse can store a limited number of product items.
  • A warehouse has a maximal number of loading points.
  • A warehouse can be out of service (predictable / unpredictable).
  • At closing time all the drones must be in the warehouse.

Product

  • Product type: a product variant with its own distinctive attributes (weight, price, etc.).
  • Product item: a real object of a certain product type. Product item belongs to an order or is in warehouse stock.

Order

  • An order specify the items purchased by a client.
  • The order is considered fulfilled when all of the ordered product items are delivered.
  • Individual product items can be delivered in multiple steps, in any order.
  • It is valid to deliver the individual product items of an order using multiple drones.
  • Order has a deadline delivery date.

Environment

  • The environment is on 2 dimensions.
  • Two drone can be at the same position at the same time (Different altitudes)
  • Environment is subject of a weather (Can be different in several position)

Interaction between agents

  • Order -> warehouse:
    • Find available products in closest warehouse(s).
  • Warehouse -> Drone:
    • Check if a drone is available for an order
    • Load a drone with product items
    • Give order
  • Drone -> Warehouse:
    • Aware change state (Available weigh - Busy)
    • Give its available load weigh
  • Drone -> Warehouse / Drone:
    • Alert if trouble (Unexpected event etc)
    • inform handling trouble
  • Drone -> Customer:
    • inform delivery
  • Drone -> Order:
    • inform product item delivery