Every linear programming problem, referred to as a primal problem can be converted into a dual problem.
Usefulness of dual:
The number of decision variables in the primal is equal to the number of constraints in the dual. The number of decision variables in the dual is equal to the number of constraints in the primal. Since it is computationally easier to solve problems with fewer constraints in comparison to solving problems with fewer variables, the dual gives us the flexibility to choose which problem to solve.
In matrix form, we can express the primal problem as: