The objective function is used to guide the identification and selection of the optimal solutions. It typically includes one or more performance indicators used to qualify a given solution with respect to your business objectives.
Depending on the objective, the obtained function is either maximized or minimized. Classic maximization objectives are profit, throughput, utilization rate, individual preferences … Minimization of costs, risks, stock-outs etc. are also common objectives.
Assumptions on the business environment often translate into a set of equalities or inequalities called constraints.
They can describe:
- The physics of a process
- The availability of resources
- The size of market demand
- People skills
- The topology of a network
- The cost structure of the company
- … and many other real-life limitations
Altogether, they define the domain of feasibility of the problem. In other words, they represent all the criteria that must be met by any potential solution (not even an optimal one) in order to be feasible in real-life.
These form the link between the objectives and constraints. Each variable may carry a set of values representing a concrete decision.
There are different types of variables:
- continuous (time, production level …)
- discrete (qualitative decisions …)
- integer (staffing decisions …) or
- binary (open or close a plant)
Variables are bound (alone or as part of a function) by constraints and their value impacts the overall performance of the company through their contribution to the objective function.
Constraints and objective function are usually written in a generic fashion using parameters, instead of hard-coded values.
Deep parameterization improves the legibility and maintainability of models, especially when working with large multi-dimensional data. For instance, the demand for a set of products, from a set of clients, over a set of periods often consists of a large number of values that can be modeled using a single parameter. This makes the model more robust over time.
Parameterization also helps swift review of the assumptions without affecting the model itself, in order to ease the use of different scenarios.”