224
A. Riccardi et al.
originated from the activities performed by teams of multidisciplinary experts in the
armed forces that were using advanced analytical methods to devise better decisions.
Applications in the service industries did not begin until the mid-1960s, where the
knowledge generated during the war was applied to logistic-related problems.
The term ‘programming’ is often used in relation to optimisation: mathematical
programming, linear programming, non-linear programming, mixed-integer programming, etc. In principal, the original use of the word ‘programming’ has little to
do with modern-day computer programming. Before the days of computing, a set of
values which represented a solution to a problem was referred to as a programme.
Nowadays, software is programmed to find a set of optimal values (or ‘programme’)
for your problem. The intention of optimisation in modern-day programming is
to maximise or minimise an objective function (performance measure indicator)
with respect to a set of variables (optimisation variables) subject to one or more
constraints. Modern mathematical optimisation can be used in a wide array of
fields and disciplines, ranging from the design of aircrafts, the planning of routes
and schedules, to the design of a control profile for an operating machine. In any
optimisation problem, there are formulation and programming challenges that must
be overcome to find an optimal solution. Some of them are discussed in the next
section.
7.1.1 Solving an Optimisation Problem
There are three main challenges, or steps, to be addressed when facing a general
optimisation problem: problem formulation, problem characteristics and algorithm
selection.
• Problem formulation: the problem, originally described in general terms, needs
to be translated into its mathematical formulation, including the identification of
the set of optimisation variables and constant problem parameters, definition of
objectives and constraints.
• Problem characteristics: the dimension of the design vector space (number of
optimisation variables) and its nature (continuous or discrete), dimension of
the objectives and constraints space (number of performance measures and
constraints functions), their degree of non-linearity, their smoothness, their
landscape as well as their computational cost.
• Algorithm selection: from the pool of available algorithms the most suitable
algorithm needs to be selected to solve the formulated problem.
Without loss of generalisation we can restrict ourselves to discuss only the case of
minimisation: find x ∗ ∈ Ω ⊆ R n x
f (x ∗ ) = min
x∈Ω
f (x)
subject to c(x) ≤ 0,
A. Riccardi et al.
originated from the activities performed by teams of multidisciplinary experts in the
armed forces that were using advanced analytical methods to devise better decisions.
Applications in the service industries did not begin until the mid-1960s, where the
knowledge generated during the war was applied to logistic-related problems.
The term ‘programming’ is often used in relation to optimisation: mathematical
programming, linear programming, non-linear programming, mixed-integer programming, etc. In principal, the original use of the word ‘programming’ has little to
do with modern-day computer programming. Before the days of computing, a set of
values which represented a solution to a problem was referred to as a programme.
Nowadays, software is programmed to find a set of optimal values (or ‘programme’)
for your problem. The intention of optimisation in modern-day programming is
to maximise or minimise an objective function (performance measure indicator)
with respect to a set of variables (optimisation variables) subject to one or more
constraints. Modern mathematical optimisation can be used in a wide array of
fields and disciplines, ranging from the design of aircrafts, the planning of routes
and schedules, to the design of a control profile for an operating machine. In any
optimisation problem, there are formulation and programming challenges that must
be overcome to find an optimal solution. Some of them are discussed in the next
section.
7.1.1 Solving an Optimisation Problem
There are three main challenges, or steps, to be addressed when facing a general
optimisation problem: problem formulation, problem characteristics and algorithm
selection.
• Problem formulation: the problem, originally described in general terms, needs
to be translated into its mathematical formulation, including the identification of
the set of optimisation variables and constant problem parameters, definition of
objectives and constraints.
• Problem characteristics: the dimension of the design vector space (number of
optimisation variables) and its nature (continuous or discrete), dimension of
the objectives and constraints space (number of performance measures and
constraints functions), their degree of non-linearity, their smoothness, their
landscape as well as their computational cost.
• Algorithm selection: from the pool of available algorithms the most suitable
algorithm needs to be selected to solve the formulated problem.
Without loss of generalisation we can restrict ourselves to discuss only the case of
minimisation: find x ∗ ∈ Ω ⊆ R n x
f (x ∗ ) = min
x∈Ω
f (x)
subject to c(x) ≤ 0,
