A new course, "Deterministic Optimisation in Python", is now live in the Classroom (see screenshot attached). It is course number 114. This is a beginner-level course (no need to even know Python) with no prerequisites.
Optimisation is used when we want to minimize or maximize something. In most cases we want to minimize some cost.
Here we have a smart building and we want to minimize its daily operational cost.
The simplest form of optimisation is "deterministic' , which means that all the data are known, and they are given to the Optimisation model. There is no 'uncertainty'.
When an optimisation model is not 'stochastic' then by default it is 'deterministic'. So we typically do not use the word 'deterministic' because in 90% of the cases, it is implied.
In reality there is always some uncertainty. For example, we may not know the electricity demand every hour. So, the smart building has residents who consume electricity. We do not know how much this electricity will be tomorrow.
Instead of modelling this uncertainty using some advanced method (in which case, we would speak about 'stochastic optimisation') , we use 24 values for the demand, and 24 values for the renewable output, and this makes the model 'deterministic'.
We use Gaussian (Normal) distribution and from this distribution we randomly select ('sample') 24 values for the electricity demand, and 24 values for the renewable output.
In most of the energy projects we use deterministic optimisation with known data i.e. some official source will give us the data. In the event that they won't give us the data, we can make assumptions e.g. like in this course we make the 'Gaussian assumption' i.e. we assume the demand follows the Normal distribution.
We will walk through the entire process step-by-step: from setting up the Python environment and generating synthetic data using numpy, to formulating the mathematical model in Pyomo and analyzing the results with pandas and matplotlib.
This course provides aa very good practical experience, which is popular in real-world projects.