TdP-prove-finali / Introduzione

Istruzioni e documentazione per la proposta e lo svolgimento delle prove finali relative al corso di Tecniche di Programmazione.
http://bit.ly/tecn-progr
Apache License 2.0
4 stars 13 forks source link

Statistical due date for customers satisfaction #31

Closed FabioMazzocco closed 5 years ago

FabioMazzocco commented 5 years ago

Studente proponente

s234844 Mazzocco Fabio

Titolo della proposta

Statistical due date for customers satisfaction

Descrizione del problema proposto

The due date quoting of an order is one the most difficult problems to deal with because a lot of variables contribute to the actual time that starts when the order is received and ends when the whole order is issued. A good approach is to unify all of them by studying the data from the reception of the order to its issue, using a statistical distribution (normal). If the due date is quoted by trusting the average/mean time, there is only about the 50% of probability that the order will be issued by that date, so a more conservative approach should be used in order to avoid the customer dissatisfaction or even penalties. For these reasons, a statistical approach (besides the optimization of the single variables) is needed.

Descrizione della rilevanza gestionale del problema

The order management is very important to minimize the delay of the deliveries and to have a decent service level in order to satisfy the customer expectations and increase the brand image. Being able to evaluate due dates means to have the ability to know if the production of important/urgent parts should be escalated or outsourcing is needed. During periods with orders pick, it is crucial to know which parts should be produced first in order to provide the customer the highest quantity of parts in the shortest time and to choose the best mix from this point of view. Carrying out simulations of the acceptance of an order during a certain period let the company decide whether or not accept the order and if it is necessary to fix a larger due date.

Descrizione dei data-set per la valutazione

The data-set has been provided by the company I did my internship with and it has been anonymized. It is made of one table with the following columns: customer, part-number, quantity, description, good-issue-date and order-date. Each value is the line of an order and represents the need for a specific part, whereas an order can be made of many lines. The "order-date" does not indicate when the order was received but it is the date in which its production started. It is important to notice that the quantity is not relevant for the production time (once the production starts, it only depends on other factors and the whole quantity is produced all together). When "order-date" and "good-issue-date" are the same value, it means that the requested part was already in stock.

Descrizione preliminare degli algoritmi coinvolti

Due date quoting (from "Programmazione e gestione della produzione" classes) is one of the implemented algorithm based on a statistical distribution, the group mean and variance are calculated and a quantile (with the chosen probability) is the number of days to produce and issue the parts mix. Recursion is implemented too in order to find the best quantity/days rate having a certain probability of success and delivering a given amount of parts. A discrete-event simulation is carried out to check the behavior of an order during the chosen period using the historical data of a selected year, in this case, the number of parts that can be processed simultaneously is chosen by the user, the production time is a random number of days (based on the statistical distribution of the part). These last two algorithms are supported by the first one.

Descrizione preliminare delle funzionalità previste per l’applicazione software

The user is able to choose the parts and the relative quantities demanded: this is the order. Through the due date quoting it is possible to choose a probability and the suggested due date is shown based on the parts statistical distributions. It is also possible to set a due date and check the relative probability using the inverse due date quoting algorithm. These two functionalities are available both for the parallel production of the parts and the serial one. In case of production picks, it is possible to calculate the best parts mix to be produced/issued at first in order to maximize the quantity/days rate setting the probability and the minimum quantity of parts to be delivered (this can be useful if lines can be issued before the full completion of the order). In the end, it is possible to simulate the behavior of the order in a certain period regulating the number of parts that can be produced simultaneously (due date quoting is applied with a random probability to the single parts in order to determine the random number of days of each one).

fulcorno commented 5 years ago

The proposed topic is relevant and the data set is sound and useful (assuming that it contains a significant number or rows). The computation of dates according to PGP statistical formulas is ok, but is not sufficient for the purpose of the thesis.

I did not understand the details of the "recursion" or the "event simulation" that were mentioned. Please describe in more detail one of them (not both) to be able to evaluate the "depth" of the involved algorithm.

Also, it is not clear whether the system will operate by estimating the dates of a single order (based on statistical measures) or if it will take into account the already existing orders (and pending units of work), and/or take into account other production constraints. Please clarify.

FabioMazzocco commented 5 years ago

The event simulation runs in a chosen period (that contains the order date) using the historical data (same period) from one of the years that are present in the DB (picked by the user) as they were from the same year of the order date. The simulation also takes into account a production constraint: the user chooses how many lines can be used --> how many parts can be produced in parallel (please consider that in this problem, the number of pending units is trifling). For each part in the queue, a random outcome of the relative random variable represents the #days needed for the production and in the end the starting and ending date of the order will be shown as well as some stats (e.g. total number of units, number of orders that could be satisfied by the stock, parts of the order that were not produced, etc.).

The system operates with a single order (of one or more parts) both in the due date quoting/probability and the recursion since it is subject to the environmental situation and offer only an idea of the solution that needs to be applied to a real case (this is the reason why there is a simulation algorithm)

fulcorno commented 5 years ago

ok, thanks for the clarifications. (I'm still a bit doubtful about the usefulness of the recursion part... maybe you could focus on a more comprehensive simulation)