First, let us consider types of decisions that you may have to take.
Some decisions take continuous values: Say, you want to design a cylindrical can for a food product and you wish to minimize the amount of metal needed to make the can. The design decisions you have to make are what height and diameter to give your can. These decisions are called continuous as you are free to choose any fractional length.
Categorical and Ordinal Decisions
Another type are ordinal and categorical decisions: Say you manufacture toys and have five plants which each have different setup and production costs for each type of toy. Moreover, the factories differ in productivity: each toy has a specific production rate at each manufacturing site, and each factory has its own total production time limit. You seek advice where and how many of each type of toy should be produced. The first type of decision is categorical because you need to choose one out of five potential production sites for each type of toy, and these five options each have their own specific characteristic. The second set of decisions in this problem is ordinal since you need to specify an integer quantity of many of each type of toy to produce. The difference to continuous decisions is that you forbid the production of fractions of toys.
In many applications, you need to decide in what order to perform certain tasks. For example, assume you run a pick-up and delivery service. For each truck you need to decide in what order to visit your clients.
When using optimization software, you tell the computer what kind of decisions you have to take by declaring decision variables. These variables take a certain type, reflecting the type of decision you need to make: continuous, ordinal, categorical, or permutation. The first thing to do when modeling your problem is to declare the decision variables of your problem.