Fill This Form To Receive Instant Help
Homework answers / question archive / 1 Introduction 1
1 Introduction
1.1 Presentation of the Problem
The company Orinoco has the project of creating a new retail shop based on an innovative business model: With the help of an artificial intelligence (hence the name of the company), the clients select the products from their smartphone via a dedicated app. The products are then picked up in a fully automated warehouse and delivered to the clients. The stockage and the destockage of products is realized by a fleet of autonomous robots. This makes it possible to reduce costs and to let the shop open 24 hours a day and 7 days a week.
Your job is to design a Python program that simulates the operation of the warehouse. The objective of these simulations is to determine if the project is feasible and to answer questions such as:
Figure 1 shows the floor map such a warehouse.
For the sake of simplicity, the warehouse is divided into cells. Grayed cells are storage places (shelves). White cells are those in which robots can move. The two black cells represent places
2 3 4 6 7 9 Is 1 L 14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1` |
4 |
|
|
|
|
1' |
4 |
|
I |
|
|
t |
-,L |
|
|
|
|
t` |
J. |
|
|
|
. |
|
|
|
|
|
. |
. |
|
|
|
|
, |
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
Ar- |
1 |
|
|
|
|
t |
1 |
|
|
|
|
t |
1 |
|
|
|
|
t |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<— |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
4- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1- |
1 |
|
|
|
|
4 |
t |
|
|
|
|
4 |
t |
|
|
|
|
4 |
11/4 |
|
|
|
|
4 |
|
|
|
|
|
|
4 |
t |
|
' |
|
|
4 |
t |
|
|
|
|
4 |
11/4 |
|
|
|
|
4 |
11 |
|
|
|
|
|
4- |
t |
|
|
|
|
4 |
t |
|
|
|
|
4, |
11/4 |
|
|
|
|
4 |
11/4 |
|
|
|
|
|
4- |
t |
|
|
|
|
4 |
t |
|
|
|
|
4 |
T |
|
|
|
|
.4 |
T |
|
|
|
|
|
4- |
-7 |
|
|
|
|
4 |
t |
|
I |
|
4 |
11/4 |
|
|
|
|
4 |
T |
|
|
||
|
|
4 |
'1/4 |
|
|
|
|
|
|
|
j |
|
-Jr |
11/4 |
|
|
|
|
4 |
11/4 |
|
|
I 2 3 4 i 7 '0 10 11 12 11 14 15 16 1 i 11# 19 20, 21 2. 2 24
Figure 1: Floor map of a warehouse
where products are loaded and unloaded on robots. Some of the white cells contains an arrow. They correspond to the routes of robots.
As an illustration, consider that a robot must take a product from cell (0,8) and bring it. to the storage cell (13, 14). The route of this robot is (0, 8), (1, 8),... (15, 8), (15, 9),... (15, 14), (14, 14). From cell (14, 14), the robot unloads the product into the cell (13, 14). It can then come back to its base by the route (14, 14), (15, 14), (16, 14), (16, 13),... (16, 9), (15, 9),... (1, 9), (0, 9).
Here follows a number of additional characteristics of the operation of the warehouse.
Theoretically, dimensioning the operation of the warehouse can be consider as a mathematical
problem. Nevertheless, stating this problem is far from easy. Moreover, the solution space is so big that any attempt of a complete exploration is vain. It remains that the operation of the warehouse can be simulated and that the feasibility of the project can be tested via these simulations. This is the purpose of this assignment.
1. You must provide your program together with a small document explaining how it is organized, what it is doing (which functionalities are implemented) and reporting experiments you have performed with it_
Please write this! And please write a lot of comments in the code so I can try to understand the code! 2 Simulation
The first series of tasks aims at designing a simulator of the operation of the warehouse. it consists of the following tasks.
2.1 Data structures to represent the warehouse
To simulate the operation of the warehouse, we need to create dedicated data structures making it possible to describe each category of objects involved in the simulation process, including:
Task 1. Data structures: Design classes to manage entities involved in the simulation process.
Task 2. Use cases: Design methods to create (possibly at random) catalogs and truck loads. Design methods to create warehouse from high level parameters, e.g. number of alleys, size of alleys...
The class Warehouse should manage (most of the) others according to the factory design pattern, i.e. that all cells, products, catalogs... must be created (and possibly deleted) via methods of that class.
Task 3. Interface: Design a class Printer in charge of printing out all information related to the warehouse and its operation.
Hint: You should better start with reduced versions of the problem, i.e. small warehouse, catalog, truck load, number of robots...
2.2 Simulator
We shall now implement a of the operation of the warehouse. The key idea is that at each time t, each robot of the warehouse is in a certain state. Depending on this state and the global state of the warehouse, the robot performs an action that changes possibly its state. The state of a robot is determined, among other factors, by:
The simulator works by discrete steps, considering each robot in turn, and making it evolve according to its state, and reiterating this process until the mission time is reached. Moreover, the simulator manages the products that are delivered by trucks and the orders of clients. If there is a client order and a robot is available, i.e. located in the zone (0,8), (0,9), then it is sent to pick up the orderered product. Similarly, if a product has been delivered and there is an available robot, then it is sent to stock the product at the appropriate storage location. Recall that a robot can carry several products of the same type, in the limit of 40kg.
Task 4. Design a simulator.
Hint: You may design methods to:
Test your implementation by loading "by hand" at various dates product deliveries and client orders, then by looking at how the system evolves.
3 Experiments
Using your simulator, assess the feasibility of the project. To do so, we may try:
You have thus to design an experimental protocol and to automatize it. Task 5. Design: