In
mathematical optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfiel ...
theory, duality or the duality principle is the principle that
optimization problem
In mathematics, engineering, computer science and economics
Economics () is a behavioral science that studies the Production (economics), production, distribution (economics), distribution, and Consumption (economics), consumption of goo ...
s may be viewed from either of two perspectives, the primal problem or the dual problem. If the primal is a minimization problem then the dual is a maximization problem (and vice versa). Any feasible solution to the primal (minimization) problem is at least as large as any feasible solution to the dual (maximization) problem. Therefore, the solution to the primal is an upper bound to the solution of the dual, and the solution of the dual is a lower bound to the solution of the primal.
This fact is called
weak duality.
In general, the optimal values of the primal and dual problems need not be equal. Their difference is called the
duality gap. For
convex optimization
Convex optimization is a subfield of mathematical optimization that studies the problem of minimizing convex functions over convex sets (or, equivalently, maximizing concave functions over convex sets). Many classes of convex optimization problems ...
problems, the duality gap is zero under a
constraint qualification condition. This fact is called
strong duality.
Dual problem
Usually the term "dual problem" refers to the ''Lagrangian dual problem'' but other dual problems are used – for example, the
Wolfe dual problem and the
Fenchel dual problem. The Lagrangian dual problem is obtained by forming the
Lagrangian of a minimization problem by using nonnegative
Lagrange multiplier
In mathematical optimization, the method of Lagrange multipliers is a strategy for finding the local maxima and minima of a function (mathematics), function subject to constraint (mathematics), equation constraints (i.e., subject to the conditio ...
s to add the constraints to the objective function, and then solving for the primal variable values that minimize the original objective function. This solution gives the primal variables as functions of the Lagrange multipliers, which are called dual variables, so that the new problem is to maximize the objective function with respect to the dual variables under the derived constraints on the dual variables (including at least the nonnegativity constraints).
In general given two
dual pairs of
separated locally convex spaces
and
and the function
, we can define the primal problem as finding
such that
In other words, if
exists,
is the
minimum of the function
and the
infimum (greatest lower bound) of the function is attained.
If there are constraint conditions, these can be built into the function
by letting
where
is a suitable function on
that has a minimum 0 on the constraints, and for which one can prove that
. The latter condition is trivially, but not always conveniently, satisfied for the
characteristic function (i.e.
for
satisfying the constraints and
otherwise). Then extend
to a
perturbation function such that
.
The
duality gap is the difference of the right and left hand sides of the inequality
:
where
is the
convex conjugate in both variables and
denotes the
supremum
In mathematics, the infimum (abbreviated inf; : infima) of a subset S of a partially ordered set P is the greatest element in P that is less than or equal to each element of S, if such an element exists. If the infimum of S exists, it is unique, ...
(least upper bound).
Duality gap
The duality gap is the difference between the values of any primal solutions and any dual solutions. If
is the optimal dual value and
is the optimal primal value, then the duality gap is equal to
. This value is always greater than or equal to 0 (for minimization problems). The duality gap is zero if and only if
strong duality holds. Otherwise the gap is strictly positive and
weak duality holds.
In computational optimization, another "duality gap" is often reported, which is the difference in value between any dual solution and the value of a feasible but suboptimal iterate for the primal problem. This alternative "duality gap" quantifies the discrepancy between the value of a current feasible but suboptimal iterate for the primal problem and the value of the dual problem; the value of the dual problem is, under regularity conditions, equal to the value of the ''convex relaxation'' of the primal problem: The convex relaxation is the problem arising replacing a non-convex feasible set with its closed
convex hull and with replacing a non-convex function with its convex
closure, that is the function that has the
epigraph that is the closed convex hull of the original primal objective function.
Linear case
Linear programming
Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements and objective are represented by linear function#As a polynomia ...
problems are
optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfiel ...
problems in which the
objective function
In mathematical optimization and decision theory, a loss function or cost function (sometimes also called an error function) is a function that maps an event or values of one or more variables onto a real number intuitively representing some "cost ...
and the
constraints are all
linear
In mathematics, the term ''linear'' is used in two distinct senses for two different properties:
* linearity of a '' function'' (or '' mapping'');
* linearity of a '' polynomial''.
An example of a linear function is the function defined by f(x) ...
. In the primal problem, the objective function is a
linear combination
In mathematics, a linear combination or superposition is an Expression (mathematics), expression constructed from a Set (mathematics), set of terms by multiplying each term by a constant and adding the results (e.g. a linear combination of ''x'' a ...
of ''n'' variables. There are ''m'' constraints, each of which places an upper bound on a linear combination of the ''n'' variables. The goal is to maximize the value of the objective function subject to the constraints. A ''solution'' is a
vector (a list) of ''n'' values that achieves the maximum value for the objective function.
In the dual problem, the objective function is a linear combination of the ''m'' values that are the limits in the ''m'' constraints from the primal problem. There are ''n'' dual constraints, each of which places a lower bound on a linear combination of ''m'' dual variables.
Relationship between the primal problem and the dual problem
In the linear case, in the primal problem, from each sub-optimal point that satisfies all the constraints, there is a direction or
subspace of directions to move that increases the objective function. Moving in any such direction is said to remove slack between the
candidate solution
In mathematical optimization and computer science, a feasible region, feasible set, or solution space is the set of all possible points (sets of values of the choice variables) of an optimization problem that satisfy the problem's constraints, ...
and one or more constraints. An ''infeasible'' value of the candidate solution is one that exceeds one or more of the constraints.
In the dual problem, the dual vector multiplies the constraints that determine the positions of the constraints in the primal. Varying the dual vector in the dual problem is equivalent to revising the upper bounds in the primal problem. The lowest upper bound is sought. That is, the dual vector is minimized in order to remove slack between the candidate positions of the constraints and the actual optimum. An infeasible value of the dual vector is one that is too low. It sets the candidate positions of one or more of the constraints in a position that excludes the actual optimum.
This intuition is made formal by the equations in
Linear programming: Duality.
Nonlinear case
In
nonlinear programming, the constraints are not necessarily linear. Nonetheless, many of the same principles apply.
To ensure that the global maximum of a non-linear problem can be identified easily, the problem formulation often requires that the functions be convex and have compact lower level sets. This is the significance of the
Karush–Kuhn–Tucker conditions. They provide necessary conditions for identifying local optima of non-linear programming problems. There are additional conditions (constraint qualifications) that are necessary so that it will be possible to define the direction to an ''optimal'' solution. An optimal solution is one that is a
local optimum, but possibly not a global optimum.
Lagrange duality
Motivation
Suppose we want to solve the following
nonlinear programming problem:
The problem has constraints; we would like to convert it to a program without constraints. Theoretically, it is possible to do it by minimizing the function
, defined as
where
is an infinite
step function:
if
, and
otherwise. But
is hard to solve as it is not continuous. It is possible to "approximate"