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