General optimization problem definition
Classification
Linear programming (LP)
- Linear objective function
- Affine constraint functions
- Ground set defined by affine equalities or inequalities.
Nonlinear programming (NLP)
- Some functions are nonlinear.
Unconstrained optimization
Constrained optimization
Integer programming (IP)
- or
Convex programming (CP)
- are convex functions
- are affine
- is closed and convex
Modeling
Formulating the problem
- Define what sets the problem requires
- Acknowledge what parameters the problem has and to what set it belongs to
- What type of descision variables is suitable for the problem
Convexity
Convex set
A set is convex if
Affine hull
The affine hull of a finite set is defined as
Convex hull
The convex hull of a finite set is defined as
Affine combination
An affine combination of the points is a vector satisfying
where
Convex combination
A convex combination of the points is a vector satisfying
where and for every
Polytype
A set is a polytype if it is the convex hull of finitely many points in .
Polyhedron
A set is a polyhedron if there exists a matrix and a vector such that
The set is the intersection of half-spaces. Polyhedrons may be unbounded.
Cone
A set is a cone if whenever and .
Polyhedral cone
The set where is a cone but also a polyhedron, which is why it is usually called a polyhedral cone.
Half space
A half space is the set the cuts the space in two parts
Convex function
Suppose that is a convex set, then a function is convex on if
- A function is strictly convex if the inequality is strict.
- A function is concave if is convex.
Note that linear functions are both convex and concave.
Carathéodory's Theorem
Let where . Then can be expressed as a convex combination of or fewer points of .
Representation Theorem
The Representation Theorem states that every polyhedron that has at least one extreme point is the sum of a polytope and a polyhedral cone.
Farkas' Lemma
Let and . Then exactly one of the systems has a feasible solution
and
and the other one is inconsistent.
Existence of optimal solutions
Notation
- We say that a set is open if for every there exists an such that .
- A set is closed if is open.
- A limit point of a set is a point such that there exists a sequence fulfilling .
- We can then define a closed set as a set which contains all its limit points.
- We say that a set is bounded if there exists a constant such that for all .
- If a set is both closed and bounded, we call it compact.
Definition
Weakly coercive function
A function is said to be weakly coercive with respect to the set if either is bounded or
Lower semi-continuity
A function is said to be lower semi-continuous at if the value is less than or equal to every limit of as
Feasible direction
Let . A vector defines a feasible direction at if
The feasible direction is therefore a direction at a point where we can move without becoming infeasible.
Descent direction
Let . A vector defines a descent direction with respect to at if
Normal cone
Suppose the set is closed and convex. Let . Then the normal cone to at is the set
Weierstrass' Theorem
Consider the problem where is a nonempty and closed set and is lower semi-continuous on . If is weakly coercive with respect to , then there exists a nonempty, closed and bounded (compact) set of optimal solutions to the problem.
Optimality conditions (S equal R^n)
When (unconstrained optimization problem), the following theorem holds
Necessary condition for optimality 1
If on then
Necessary condition for optimality 2
If on then
Sufficient condition for optimality 2
If on then
Necessary and sufficient condition for optimality 1
If is convex on then
Optimality conditions (S sub R^n)
Necessary condition for optimality 1
Suppose that and that on .
a) If is a local minimum of over then
holds for all feasible directions at .
b) Suppose that is convex. If is a local minimum of over then
Neecssary and sufficient conditions for optimality 1
Suppose that is a convex nonempty set and that is a convex function on then
When the expression can be reduced to , because then we don't need to worry about boundary points.
Stationary point in optimality condition
If is convex and a point fulfilling the four equivalent statements a)-d) are called a stationary point.
a)
b)
c)
d)
where is the projection onto the set , and is the normal cone.
Unconstrained optimization
- Begin by finding a descent direction. The vector is a descent direction if for all for some .
Steepest descent direction
Newton's search direction
Lewenberg-Marquardt
- Then choose step length
Exact line search
Newton's method
Armijo rule
then keep decreasing until the following holds
- Stop the algorithm when at least two of the following holds
Different cone sets
Cone of feasible directions
Tangent cone
Cone of descent directions
Active constraints
Inner gradient cone
Gradient cone
Nicely behaving set
Fritz John conditions
Constraint qualification (CQ)
Defines some regularity over the set
Abadie's CQ
Holds at a point if
Linear independence CQ (LICQ)
We say that LICQ holds at if the gradients for the active constraints are linearly independent.
Affine CQ
We say that the Affine CQ holds if all the constraints are affine.
Slater CQ
We say that Slater's CQ holds if all are convex and an inner point exists.
Karush-Kuhn-Tucker conditions (KKT)
Assume that Abadie's CQ holds at a point which is feasible in (P), then
Sufficiency of KKT conditions
If the objective function is convex and all constraint functions are convex, the the following holds
Lagrangian duality/relaxation
A relaxation to
is
where and
Relaxation Theorem
Lagrangian relaxation
This is the primal problem
and this is the dual problem
Lagrangian dual function
Weak duality
For any and any feasible to the primal problem, it holds that
Lagrangian dual problem
The dual function is concave and its effective domain is convex.
Lagrange multiplier
is a Lagrange multiplier if
Strong duality
Assume that there exists a inner pint to the primal problem, and that , that is a convex function, that are convex functions and that is a convex set. Then the following holds
Linear programming (LP)
For linear problems of the sort
we can use the Simplex method to solve for an optimal solution. We first convert to standard form:
where .
Basic solution
A point is a basic solution if and the columns of A corresponding to non-zero elements of are linearly independent.
Basic feasible solution (BFS)
A point is a BFS if , and the columns of A corresponding to non-zero elements in are linearly independent.
Degenerate BFS
Consider a BFS with . By definition and . If some elements of are zero the BFS is called degenerate.
Simplex method
Consider
Convert this problem to standard form. To find an initial BFS solve the Phase I problem. That is add as many artificial variables as you need to form the initial base vector as the identity matrix and consider minimizing the artificial variables. Use the Simplex method to move out all artificial variables from the base vector. When this is achieved we have solved the Phase I problem. If we can form the identity matrix without artificial variables go directly to the Phase II problem with this as the base. When we have an initial BFS we solve the Phase II problem, that is the original problem. For each iteration begin by determining and , e.g. we could have and . We also calculate and which corresponds to the same variables for the partition in , as well as and in a similar manner. Then we calculate the incoming variable (from ) with the following formula:
Then we need to calculate the outgoing variable (from ). We do this by
We update the variables and go back and start over. We need to check that for feasible solution, that so that we do not have an unbounded solution. We terminate the algorithm when our cost vector .
LP duality
This problem is called the primal (P)
and this is the corresponding dual problem (D)
The following relation holds for the primal and dual
Primal | Dual | ||
---|---|---|---|
Objective | min | max | |
Variables | (canonical) | Constraints | |
(non-canonical) | |||
free | |||
Constraints | (canonical) | Variables | |
(non-canonical) | |||
free |
Weak duality theorem
If is a feasible point in (P) and is a feasible point in (D) then
Strong duality theorem
If both (P) and (D) are feasible then
- There exists optimal in (P) and optimal in (D)
- (meaning )
Possibilities in (P) and (D)
P\D | Finite optima | Unbounded | Infeasible |
---|---|---|---|
Finite optima | X | ||
Unbounded | X | ||
Infeasible | X | X |
Perturbation
A perturbation is a small change to either or .
Subgradient method
For convex problems we can relax the differentiability assumption and use something like the subgradient method. Let be a nonempty convex set and let be a convex function. The is called a subgradient of at if
The set of all subgradients to at is called the subdifferential of and is defined as
Integer Linear Programming (ILP)
Logical constraints
- if then
- xor
- or
- exactly one
- at least one
Disjoint feasible sets
Feasible direction methods
These methods are just as local as unconstrained methods, but we find search direction in different ways and termination criteria is often based on KKT. For general sets it could be tricky to find search directions and step lengths. Three well known methods are the Frank-Wolfe method, Simplicial decomposition and the Gradient projection algorithm. These method apply on polyhedron.
Frank-Wolfe method
The idea of the Frank-Wolfe method is to calculate the direction of a linear approximation at a point , find the nearest extreme point with the simplex method and go in the direction of the extreme point.
Simplicial decomposition
It works like the Frank-Wolfe algorithm but it remembers previous extreme points and searches in the convex hull of these points for the next iterations.
Gradient projection algorithm
Based on the idea that this holds at a local min:
For every iteration choose the next as follows
where for some feasible direction.
Penalty methods
The idea of penalty methods is to transform a constrained problem to a unconstrained problem.
where
Exterior penalty method
Suppose that
Choose a penalty method, e.g.
Approximate the indicator function
Interior penalty method
Suppose that
Assume that (an interior point should exist)
Choose a penalty method, e.g.
Approximate the indicator function