So the question is, what are the Pomo elements and what exactly Pyomo is doing for us?
So to answer this question, you should know that it's you who writes down the problem description.
So you have to mathematically model your problem.
Suppose you to solve the problem and you want to have some specific amount of proteins, carbohydrates
and also, for example, fats in your diet.
OK, and you need to be able to choose how much, for example, rice I should take.
I should how much meat I should say, how much bread I should eat every day.
OK, so this is the typical diet optimization problem in a way that not only I'm paying and the minimum
amount of money, but also I supply them the required amount of vitamins, proteins and different things
to my body.
And so you have to somehow mathematically formulate your problem so Palomo doesn't understand the physical
nature of that problem.
You know, it doesn't really understand what is the physics or what is the diet or what is whatever.
So it only understands the mathematics.
So you have to mathematically formulate your problem and then and pass it to the solver.
So I should say that Pyomo does not solve your problem.
These are the solvers who solve your problem.
This means that Pyomo is only acting as a translator, so it will translate your problems for the developed
solver, which is at the back of the problem.
So and for for this reason, we have to know what are the components of each promo code.
So first of all, the model, the model is the most important things in the home.
You have to create your model.
You have to build your model based on the actual problem you are trying to solve.
OK, so the models can I can take different forms, abstract form, concrete form and abstract form
is a more general way of representing the problem.
So it means that four and a set of variables or a set of elements, these are the relation that should
be valid.
But concrete ones are numerical values inside the constraint.
So every promo code can be can have different elements, for example, the sets and variable parameters
and constraints and objective.
So the set can take different values, for example, and also solving that and visualizing that.
OK, and this part that I have a specified constructor, Palomo elements, OK, and then we can visualize
that.
So let me give you some examples regarding the sets.
For example, the sets can be defined as the range that is starting from one to model that NP, or it
can be defined as an empty set like this.
And then using some data file, you can fit the required data into the set or the next one is the variables.
For example, the way you define your variables is this and some variables are defined over the sets.
Some of them are not.
The final word says they might have some bounce.
It means that the variable is changing between these two limits, the minimum value and maximum value.
You can initialize them and they have some domain.
It means that what is the type of the variable you are dealing with?
It can be real, it can be binary or it's real.
It can be positive.
Real person fractioned.
It can be something real between zero and one negative real need intervale the same as zero to one or
non-negative real's.
Or it can be binary boolean and positive integer non positive integer and negative integer and no negative
integer.
OK, these are the different types of the variables that you can have in a promo code or the parameter.
These are the constant numbers that are before solving the problem.
We know their values, OK?
Um, or the constraint, the concerns are very important, these are the equations describing the relation
between the variables set and also the parameters.
For example, you have to define, um, you need to choose a name for each constraint.
So model that zero is equal to constraint, that constraint that a specific one is defined over a model,
ie, which is a set and a rule.
So you have to separately define the rule.
That's a specific rule is named, uh, zero rule.
So that's zero rule is defined override the same as here.
So if you have I have to have I here and returns the summation of the model that you ija for J in model
J is less than equal to one.
So that does the summation of a J and the remaining set is I which is here.
OK, and finally the objective function, the objective function has the same kind of role as the constraint.
But and in this way we want to optimize it in two senses.
It can be minimized.
It can be maximized.
OK.
And so for the soul of a statement, and this is very important, as I already explained, and the soul
of the statement is asking Pomo to solve the model.
So if it's a concrete model, you have to choose a solver and ask them to solve the model.
But it's an abstract model.
After choosing the right, um, solver, you have to create an instance.
It means that that is snapshot of the model, the model with that given and the input data so you can
define that file and put those input value, input, input parameters inside that file and then ask
the PYOMO to solve it for you using the chosen solver.
OK, and here you know that.
And after that, it's the final version.
The final step is the visualization.
OK, it's very important to somehow communicate the results of your decision making process for the
audience.
Thank you very much.