Home

optimisations

Optimisation, or optimization, is the process of making something as effective or functional as possible. In mathematics and computer science, optimization involves selecting input values, sometimes from a specified domain, to maximize or minimize an objective function, possibly subject to constraints. The result is an optimal solution, though in practice one often seeks good approximations due to complexity or uncertainty.

Problems may be continuous, discrete, or mixed. Continuous optimization deals with variables that can take any

Solution methods fall into analytical, numerical, and heuristic categories. Analytical approaches use calculus and duality theory;

In practice, optimisation also concerns performance engineering. Code and system optimisations aim to reduce time or

value
in
a
range,
as
in
linear
programming,
nonlinear
programming,
or
convex
optimization.
Discrete
optimization
restricts
variables
to
integers
or
categorical
choices
and
includes
combinatorial
optimization,
graph
problems,
and
assignment
problems.
Mixed-integer
problems
combine
both.
Common
frameworks
include
linear
programming
(LP),
quadratic
programming
(QP),
and
more
general
nonlinear
or
stochastic
formulations.
numerical
methods
include
gradient-based
algorithms
like
gradient
descent,
Newton’s
method,
or
quasi-Newton
methods.
Derivative-free
methods,
such
as
Nelder–Mead,
are
used
when
derivatives
are
unavailable.
For
discrete
problems,
exact
methods
include
branch-and-bound,
dynamic
programming,
and
integer
programming;
heuristic
and
metaheuristic
methods
include
genetic
algorithms,
simulated
annealing,
and
swarm
optimization.
memory
usage,
using
profiling,
data-structure
choices,
caching,
parallelization,
vectorization,
and
compiler
optimisations.
The
field
emphasizes
the
trade-offs
among
accuracy,
robustness,
and
computational
cost.
Applications
span
scheduling,
routing,
resource
allocation,
finance,
and
machine
learning,
including
hyperparameter
tuning.