# 0-1 Integer Programming Task

A 0-1 Integer Programming Task is an integer programming task that ...

**AKA:**Binary Integer Programming.**See:**Assignment Problem, Linear Equality, Linear Inequality, Feasible Region, Convex Polytope.

## References

### 2015

- (Wikipedia, 2015) ⇒ http://en.wikipedia.org/wiki/Linear_programming#Integer_unknowns Retrieved:2015-12-24.
**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 are represented by linear relationships. Linear programming is a special case of mathematical programming (mathematical optimization).More formally, linear programming is a technique for the optimization of a linear objective function, subject to linear equality and linear inequality constraints. Its feasible region is a convex polytope, which is a set defined as the intersection of finitely many half spaces, each of which is defined by a linear inequality . Its objective function is a real-valued affine (linear) function defined on this polyhedron. A linear programming algorithm finds a point in the polyhedron where this function has the smallest (or largest) value if such a point exists.

Linear programs are problems that can be expressed in canonical form as : [math] \begin{align} & \text{maximize} && \mathbf{c}^\mathrm{T} \mathbf{x}\\ & \text{subject to} && A \mathbf{x} \leq \mathbf{b} \\ & \text{and} && \mathbf{x} \ge \mathbf{0} \end{align} [/math] where

**x**represents the vector of variables (to be determined),**c**and**b**are vectors of (known) coefficients,*A*is a (known) matrix of coefficients, and [math] (\cdot)^\mathrm{T} [/math] is the matrix transpose. The expression to be maximized or minimized is called the objective function (c^{T}**x**in this case). The inequalities*A***x**≤ b and**x**≥**0**are the constraints which specify a convex polytope over which the objective function is to be optimized. In this context, two vectors are comparable when they have the same dimensions. If every entry in the first is less-than or equal-to the corresponding entry in the second then we can say the first vector is less-than or equal-to the second vector.Linear programming can be applied to various fields of study. It is widely used in business and economics, and is also utilized for some engineering problems. Industries that use linear programming models include transportation, energy, telecommunications, and manufacturing. It has proved useful in modeling diverse types of problems in planning, routing, scheduling, assignment, and design.

- (Wikipedia, 2015) ⇒ http://en.wikipedia.org/wiki/linear_programming#Integer_unknowns Retrieved:2015-12-24.
- If all of the unknown variables are required to be integers, then the problem is called an integer programming (IP) or
**integer linear programming**(ILP) problem. In contrast to linear programming, which can be solved efficiently in the worst case, integer programming problems are in many practical situations (those with bounded variables) NP-hard. 0-1 integer programming or**binary integer programming**(BIP) is the special case of integer programming where variables are required to be 0 or 1 (rather than arbitrary integers). This problem is also classified as NP-hard, and in fact the decision version was one of Karp's 21 NP-complete problems.If only some of the unknown variables are required to be integers, then the problem is called a mixed integer programming (MIP) problem. These are generally also NP-hard because they are even more general than ILP programs.

There are however some important subclasses of IP and MIP problems that are efficiently solvable, most notably problems where the constraint matrix is totally unimodular and the right-hand sides of the constraints are integers or – more general – where the system has the total dual integrality (TDI) property.

Advanced algorithms for solving integer linear programs include:

- cutting-plane method
- branch and bound
- branch and cut
- branch and price
- if the problem has some extra structure, it may be possible to apply delayed column generation.

- Such integer-programming algorithms are discussed by Padberg and in Beasley.

- If all of the unknown variables are required to be integers, then the problem is called an integer programming (IP) or