all the stuff
This commit is contained in:
parent
fa0ebeced8
commit
0274feaa71
11 changed files with 1373 additions and 0 deletions
190
cases/case_1/case_1_description.md
Normal file
190
cases/case_1/case_1_description.md
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
# Case 1: Simulating Stock Policies
|
||||
|
||||
- Title: Choosing stock policies under uncertainty
|
||||
- Description: Students role-play their participation as consultants in a
|
||||
project for Beanie Limited, a coffee beans roasting company. Elisa, the
|
||||
regional manager for the italian region, is not happy with their inventory
|
||||
policies for raw beans. The students are asked to analyse the problems posed
|
||||
by Elisa and apply simulation techniques, together with real data, to
|
||||
recommend a stock policy for the company's warehouse in the italian region.
|
||||
Python notebooks with some helpful prepared functions are provided to the
|
||||
students. The final delivery is a report with their recommendation to the
|
||||
client company, along with the used code.
|
||||
|
||||
Stuff I want them to understand:
|
||||
|
||||
- The model/hypothesis/validate
|
||||
- That in a simulation you set parameters, and you observe results
|
||||
- To write in a problem-solving manner.
|
||||
- That there are trade-offs and it's not trivial to find optimal solutions.
|
||||
|
||||
Elements of the simulation:
|
||||
|
||||
- Demand behavior
|
||||
- Lead time and standard deviation of provider (or providers)
|
||||
- Service level
|
||||
- Punishment for sales lost
|
||||
|
||||
Observable effects of policies:
|
||||
|
||||
- Mean inventory at hand
|
||||
- Service level
|
||||
- Warehousing/Capital Cost
|
||||
- Lost sales cost
|
||||
|
||||
# Case 1: Choosing ordering goods under uncertainty
|
||||
|
||||
You are part of an expert simulation team in SimiUPF SL. You have been assigned
|
||||
to a new project with a client company, Beanie Limited. Beanie Limited is a
|
||||
coffee roasting company and also distributes raw coffee beans through Europe
|
||||
and Middle East.
|
||||
|
||||
Specifically, you will be working for Elisa Bolzano, the Director of Beanie
|
||||
Limited's warehouse located in Caserta, near Naples. Elisa is the full
|
||||
responsible for all the operations in the warehouse. She has requested the help
|
||||
of the SimiUPF team because she is worried about how certain things are managed
|
||||
in the warehouse and wants your help.
|
||||
|
||||
The Caserta warehouse serves the raw coffee beans distribution business of
|
||||
Beanie Limited in southern europe and the mediterranean. The warehouse and its
|
||||
team are responsible for serving clients and also other smaller regional
|
||||
warehouses from Beanie Limited in this geography. From the warehouse point of
|
||||
view, they are usually just called "the clients". Whenever one of the clients
|
||||
needes raw beans, they arrange a transport truck that goes to the warehouse to
|
||||
pick up a certain amount of goods. Elisa's team fill up the truck with the
|
||||
requested goods, and then the clients take care of receiving that in their own
|
||||
locations.
|
||||
|
||||
The Caserta warehouse itself has only one way to source coffee beans to store
|
||||
in their warehouse: requesting them to the Beanie Limited central offices in
|
||||
Diemen, near Amsterdam. Whenever Elisa's team considers that more stock is
|
||||
needed, they post a sourcing order to the central office for a certain amount
|
||||
of beans. The central office arranges the goods and the delivery and, after a
|
||||
few days, the goods reach Caserta and are stored. The central office tries to
|
||||
ensure a lead time of 7 days (lead time is the time that passess between an
|
||||
order being placed and the goods reaching their destination), but the reality
|
||||
is they do what they can and this time is not always respected.
|
||||
|
||||
Stock is a necessary evil (it implies a lot of cost), but Elisa's warehouse
|
||||
plays a key role in serving the clients in their region properly. Having too
|
||||
little stock means the clients need to wait long times to get their goods,
|
||||
which is risky for the business. On the other hand, having a lot of stock means
|
||||
high warehouse costs and financial opportunity cost (if Beanie Limited has 1
|
||||
million € in coffee beans in a warehouse, that is 1 million € they can't invest
|
||||
somewhere else to improve their business). Thus, Elisa needs the stock to be as
|
||||
small as possible, without disappointing clients.
|
||||
|
||||
Elisa is calling you because 2021 was a terrible year for the warehouse. The
|
||||
year was a chaotic one, and Elisa's team was not able to run operations
|
||||
smoothly. Although Elisa is not providing exact numbers, she is very well aware
|
||||
that the warehouse stock was unnecessarily high at times, and that there were
|
||||
too many periods were the warehouse was out of stock and clients had to wait to
|
||||
get their goods.
|
||||
|
||||
Elisa thinks that the main reason for this is the lack of a clear policy for
|
||||
when to order and how much to order from Diemen. Her team decides independently
|
||||
when to do it, and Elisa has a feeling that they are not approaching these
|
||||
decisions the right way. This means that sometimes they order when there is no
|
||||
need to, sometimes they don't order when they should be, and that the amounts
|
||||
being ordered might not be the best ones.
|
||||
|
||||
Here is where you come in. As simulation experts, Elisa expects from you that
|
||||
you can help design an ordering policy to fix these issues. Doing this implies
|
||||
examining data from last year, building a proper simulation to examine the
|
||||
different factors being involved, and deciding when and how should Elisa's team
|
||||
order more goods from Diemen.
|
||||
|
||||
Elisa expects a report where you share your findings and recommendations in a
|
||||
clear way that can help her team. Also, Elisa does not trust you blindly: you
|
||||
need to motivate the reasoning behind your recommendations. Otherwise, she will
|
||||
not feel comfortable implementing your recommendations and the bosses at
|
||||
SimiUPF will be mad at you...
|
||||
|
||||
## Detailed task definition
|
||||
|
||||
- Below you will find four levels of questions. Levels 1 to 3 are compulsory.
|
||||
Level 4 is optional.
|
||||
- You need to write a report document where you answer the questions of the
|
||||
different levels. This report should be directed towards Elisa, should give
|
||||
her clear recommendations and should justify these recommendations.
|
||||
- Each level is worth 2 points out of a total of 10. The 2 missing points will
|
||||
grade the clearness and structure of your report.
|
||||
- You need to use Python notebooks to solve all levels. A helper notebook is
|
||||
provided. For each level, please attach a notebook that shows your
|
||||
solution/proposal/analysis.
|
||||
|
||||
## Data
|
||||
|
||||
- You are provided with three tables that contain real data from 2021.
|
||||
- demand_events: this table shows how many beans left the Caserta warehouse
|
||||
to serve clients. There is some amount leaving every day because the
|
||||
warehouse serves many small orders from small clients, so there is always
|
||||
some order being fulfilled. The amount is measured in kilograms, and
|
||||
represents the total amount that left during that day.
|
||||
- sourcing_events: this table shows the beans orders that Elisa's team
|
||||
placed to Diemen. For each order, there are two dates: the date when
|
||||
Elisa's team placed the order, and the date where the beans actually
|
||||
reached the Caserta warehouse. The amount is measured in kilograms.
|
||||
- stock_state: this table shows the stock at the warehouse at the end of
|
||||
each date. As you can guess, the stock for a certain date is the stock of
|
||||
the previous day, plus the goods that reached Caserta coming from Diemen,
|
||||
minus the goods that left the warehouse to serve client orders. A
|
||||
negative stock is not a challenge to the laws of physics: it means
|
||||
clients are waiting for their requested beans. If one row shows -1.000,
|
||||
it means that the warehouse is empty, and clients are awaiting for a
|
||||
total amount of 1.000 kgs of beans. If next morning, a 1.000 kgs reach
|
||||
Caserta from Diemen, those will be used immediately to satisfy those
|
||||
waiting clients, and the warehouse stock will become 0.
|
||||
|
||||
## Notebook
|
||||
|
||||
A notebook with some helping code has been provided. The code contains a small
|
||||
simulation engine that can help you simulate a year of activity for the
|
||||
warehouse. The instructions on how to use the code are in the notebook itself.
|
||||
|
||||
## Levels
|
||||
|
||||
- Level 1
|
||||
- Elisa wants you to measure the performance of the last year, providing
|
||||
quantitative metrics. She knows it was a bad year, but hasn't looked at
|
||||
the real data to summarize how bad it was. Remember that there is a
|
||||
trade-off:
|
||||
too much stock, is not desired, but running out of stock and making
|
||||
clients wait is also negative.
|
||||
- Going one step further, Elisa wants to know: what was done wrong?
|
||||
- Level 2
|
||||
- Elisa wants you to propose an ordering policy. This means, that you need
|
||||
to define a rule that, once each day, should answer the questions: should
|
||||
be place an order to request material today? If yes, how much should we
|
||||
order?
|
||||
- Use simulation to present metrics on what is the expected performance
|
||||
with the policy you are proposing. Remember, you need to convince Elisa
|
||||
that this is better than what happens today.
|
||||
- As a specific constraint, Elisa explains that she wants that the
|
||||
probability of a stockout is at most of 5%.
|
||||
-
|
||||
- Level 3
|
||||
- Right after you finished designing your policy for level 2, Elisa called
|
||||
with some news: she has just been informed by the management in Diemen
|
||||
that a new Minimum Order Quantity (MOQ) rule will begin soon. This rule
|
||||
means that, when the Caserta warehouse places an order to request
|
||||
material from, the order should be of at least 500,000 kgs of beans, and
|
||||
not less than that.
|
||||
- Elisa wants you to take this into account. Does it affect the policy you
|
||||
proposed for level 2? If so, you need to come up with a new one that
|
||||
adapts to this rule.
|
||||
- Level 4
|
||||
- Elisa briefly discussed with you in one meeting that there is an option
|
||||
to come to an agreement with the team in Diemen to improve the lead time
|
||||
stability. The proposal from Diemen is that, if the target lead time was
|
||||
set to something higher that the current 7 days target, providing a more
|
||||
stable delivery would be feasible.
|
||||
- The specific proposal from Diemen is: if the lead time target is changed
|
||||
to 15 days, they provide a 100% guarantee that orders will be delivered
|
||||
in exactly 15 days.
|
||||
- Elisa would love if you could take some additional time to study this
|
||||
proposal. What is better for Caserta? The current 7 days target
|
||||
lead-time, with unstable deliveries? Or a fixed, 15-day lead time?
|
||||
- The MOQ rule of level 3 still applies.
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue