Objective functions and system optimization
1. Objective functions and system optimisation
In this video, we will learn how to use objective functions to support system optimization in discrete-event models.2. System optimization
Optimization consists of identifying optimal operational configurations. In the context of human-driven processes, these are configurations that maximize the output. Here, optimization requires identifying processes with the highest impact on the system output. Monte Carlo simulations can generate runs to support system optimization, but we need to be able to measure success and rank performance. Objective functions can help with this.3. Objective function
Objective functions consist of mathematical expressions describing output targets and scoring methods. In the example shown, the importance of processes A, B, and C is set differently. Process C received the highest weight. There are two main approaches to using objective functions: "Search & Stop" and "Score & Rank". In "Search & Stop", the search for an optimal model configuration stops when the desired condition is met. In the code example, the stop-condition is "total_duration" below 24. In "Score & Rank", different model configurations are run and scored. In the code example, function "model_to_run" returns process durations "out_1" and "out_2". Weights of 0-point-3 and 0-point-7 are given to variables "out_1" and "out_2". Let's look a bit closer to each these approaches.4. Approach 1: Search & Stop
In "Search & Stop", Monte Carlo sampling is used to run scenarios, which in this case consists of different non-deterministic process occurrences of varying duration. The objective function sets the condition to terminate the optimal model configuration search loop. In this example, we are running multiple non-deterministic SimPy models until a configuration with "total_duration" below 40 is found. The graph shows the results. The blue line is the simulation that meets the condition.5. Approach 2: Score & Rank
In "Score & Rank", we also use Monte Carlo sampling together with an objective function that sets the scoring method. Imagine a car production line involving various sequential tasks. On the right, we can see a code example where the variable "score_objfunc" stores the simulation scores. The first for-loop runs different model scenarios. In the second for-loop, variable "score_objfunc" is calculated by multiplying the process duration by the corresponding score weight.6. Approach 2: Score & Rank
On the left, we can see the final scores obtained with Monte Carlo sampling. Red dots show low scores and blue dots show high scores. In this case, we want low scores because they correspond to configurations with shorter durations. We can see that process "Unloading and Preparing" has the highest impact on the final score because low scores can only be achieved when the duration of this process is short. The other two processes, "Cutting" and "Polishing", have a minimal impact on the score because low scores are achieved regardless of their duration. On the right, we have the results ranked. It highlights the strong impact of "Unloading and Preparing" on the final score.7. Identifying critical processes that limit performance
Identifying critical processes limiting performance is important for effective optimization. Let's look at the graph generated in our previous example of the "Search and Stop" approach. The blue line shows the model configuration that meets the criteria. Breaking down the processes of this simulation, reveals that short durations in Process 1 are instrumental in setting the path to meeting the desired goal.8. Identifying critical processes that limit performance
Let's now see how to identify critical processes with the "Score & Rank" approach. Remember that in this case, we are interested in the lowest score because that corresponds to the lowest duration. On the left, we can see that the best configuration corresponds to the simulation with the lowest duration of "Unloading and Preparing", but not the lowest duration of "Cutting" and "Polishing". This makes "Unloading and Preparing" the critical process. On the right, the results are ranked and highlight the limited impact of "Cutting" and "Polishing" on the score.9. Let's practice!
Let's now work through some exercises to solidify these new concepts.Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.