fbpx
Wikipedia

Integer programming

An integer programming problem is a mathematical optimization or feasibility program in which some or all of the variables are restricted to be integers. In many settings the term refers to integer linear programming (ILP), in which the objective function and the constraints (other than the integer constraints) are linear.

Integer programming is NP-complete. In particular, the special case of 0–1 integer linear programming, in which unknowns are binary, and only the restrictions must be satisfied, is one of Karp's 21 NP-complete problems.[1]

If some decision variables are not discrete, the problem is known as a mixed-integer programming problem.[2]

Canonical and standard form for ILPs edit

In integer linear programming, the canonical form is distinct from the standard form. An integer linear program in canonical form is expressed thus (note that it is the   vector which is to be decided):[3]

 

and an ILP in standard form is expressed as

 

where   are vectors and   is a matrix. As with linear programs, ILPs not in standard form can be converted to standard form by eliminating inequalities, introducing slack variables ( ) and replacing variables that are not sign-constrained with the difference of two sign-constrained variables.

Example edit

 
IP polytope with LP relaxation

The plot on the right shows the following problem.

 

The feasible integer points are shown in red, and the red dashed lines indicate their convex hull, which is the smallest convex polyhedron that contains all of these points. The blue lines together with the coordinate axes define the polyhedron of the LP relaxation, which is given by the inequalities without the integrality constraint. The goal of the optimization is to move the black dashed line as far upward while still touching the polyhedron. The optimal solutions of the integer problem are the points   and   that both have an objective value of 2. The unique optimum of the relaxation is   with objective value of 2.8. If the solution of the relaxation is rounded to the nearest integers, it is not feasible for the ILP.

Proof of NP-hardness edit

The following is a reduction from minimum vertex cover to integer programming that will serve as the proof of NP-hardness.

Let   be an undirected graph. Define a linear program as follows:

 

Given that the constraints limit   to either 0 or 1, any feasible solution to the integer program is a subset of vertices. The first constraint implies that at least one end point of every edge is included in this subset. Therefore, the solution describes a vertex cover. Additionally given some vertex cover C,   can be set to 1 for any   and to 0 for any   thus giving us a feasible solution to the integer program. Thus we can conclude that if we minimize the sum of   we have also found the minimum vertex cover.[4]

Variants edit

Mixed-integer linear programming (MILP) involves problems in which only some of the variables,  , are constrained to be integers, while other variables are allowed to be non-integers.

Zero–one linear programming (or binary integer programming) involves problems in which the variables are restricted to be either 0 or 1. Any bounded integer variable can be expressed as a combination of binary variables.[5] For example, given an integer variable,  , the variable can be expressed using   binary variables:

 

Applications edit

There are two main reasons for using integer variables when modeling problems as a linear program:

  1. The integer variables represent quantities that can only be integer. For example, it is not possible to build 3.7 cars.
  2. The integer variables represent decisions (e.g. whether to include an edge in a graph) and so should only take on the value 0 or 1.

These considerations occur frequently in practice and so integer linear programming can be used in many applications areas, some of which are briefly described below.

Production planning edit

Mixed-integer programming has many applications in industrial productions, including job-shop modelling. One important example happens in agricultural production planning and involves determining production yield for several crops that can share resources (e.g. land, labor, capital, seeds, fertilizer, etc.). A possible objective is to maximize the total production, without exceeding the available resources. In some cases, this can be expressed in terms of a linear program, but the variables must be constrained to be integer.

Scheduling edit

These problems involve service and vehicle scheduling in transportation networks. For example, a problem may involve assigning buses or subways to individual routes so that a timetable can be met, and also to equip them with drivers. Here binary decision variables indicate whether a bus or subway is assigned to a route and whether a driver is assigned to a particular train or subway. The zero–one programming technique has been successfully applied to solve a project selection problem in which projects are mutually exclusive and/or technologically interdependent. It is used in a special case of integer programming, in which all the decision variables are integers. Variable can assume only the values zero or one.

Territorial partitioning edit

Territorial partitioning or districting problems consist of partitioning a geographical region into districts in order to plan some operations while considering different criteria or constraints. Some requirements for this problem are: contiguity, compactness, balance or equity, respect of natural boundaries, and socio-economic homogeneity. Some applications for this type of problem include: political districting, school districting, health services districting and waste management districting.

Telecommunications networks edit

The goal of these problems is to design a network of lines to install so that a predefined set of communication requirements are met and the total cost of the network is minimal.[6] This requires optimizing both the topology of the network along with setting the capacities of the various lines. In many cases, the capacities are constrained to be integer quantities. Usually there are, depending on the technology used, additional restrictions that can be modeled as linear inequalities with integer or binary variables.

Cellular networks edit

The task of frequency planning in GSM mobile networks involves distributing available frequencies across the antennas so that users can be served and interference is minimized between the antennas.[7] This problem can be formulated as an integer linear program in which binary variables indicate whether a frequency is assigned to an antenna.

Other applications edit

Algorithms edit

The naive way to solve an ILP is to simply remove the constraint that x is integer, solve the corresponding LP (called the LP relaxation of the ILP), and then round the entries of the solution to the LP relaxation. But, not only may this solution not be optimal, it may not even be feasible; that is, it may violate some constraint.

Using total unimodularity edit

While in general the solution to LP relaxation will not be guaranteed to be integral, if the ILP has the form   such that   where   and   have all integer entries and   is totally unimodular, then every basic feasible solution is integral. Consequently, the solution returned by the simplex algorithm is guaranteed to be integral. To show that every basic feasible solution is integral, let   be an arbitrary basic feasible solution . Since   is feasible, we know that  . Let   be the elements corresponding to the basis columns for the basic solution  . By definition of a basis, there is some square submatrix   of   with linearly independent columns such that  .

Since the columns of   are linearly independent and   is square,   is nonsingular, and therefore by assumption,   is unimodular and so  . Also, since   is nonsingular, it is invertible and therefore  . By definition,  . Here   denotes the adjugate of   and is integral because   is integral. Therefore,

 
Thus, if the matrix   of an ILP is totally unimodular, rather than use an ILP algorithm, the simplex method can be used to solve the LP relaxation and the solution will be integer.

Exact algorithms edit

When the matrix   is not totally unimodular, there are a variety of algorithms that can be used to solve integer linear programs exactly. One class of algorithms are cutting plane methods, which work by solving the LP relaxation and then adding linear constraints that drive the solution towards being integer without excluding any integer feasible points.

Another class of algorithms are variants of the branch and bound method. For example, the branch and cut method that combines both branch and bound and cutting plane methods. Branch and bound algorithms have a number of advantages over algorithms that only use cutting planes. One advantage is that the algorithms can be terminated early and as long as at least one integral solution has been found, a feasible, although not necessarily optimal, solution can be returned. Further, the solutions of the LP relaxations can be used to provide a worst-case estimate of how far from optimality the returned solution is. Finally, branch and bound methods can be used to return multiple optimal solutions.

Exact algorithms for a small number of variables edit

Suppose   is an m-by-n integer matrix and   is an m-by-1 integer vector. We focus on the feasibility problem, which is to decide whether there exists an n-by-1 vector   satisfying  .

Let V be the maximum absolute value of the coefficients in   and  . If n (the number of variables) is a fixed constant, then the feasibility problem can be solved in time polynomial in m and log V. This is trivial for the case n=1. The case n=2 was solved in 1981 by Herbert Scarf.[13] The general case was solved in 1983 by Hendrik Lenstra, combining ideas by László Lovász and Peter van Emde Boas.[14] Doignon's theorem asserts that an integer program is feasible whenever every subset of   constraints is feasible; a method combining this result with algorithms for LP-type problems can be used to solve integer programs in time that is linear in   and fixed-parameter tractable (but possibly doubly exponential) in  , with no dependence on  .[15]

In the special case of 0-1 ILP, Lenstra's algorithm is equivalent to complete enumeration: the number of all possible solutions is fixed (2n), and checking the feasibility of each solution can be done in time poly(m, log V). In the general case, where each variable can be an arbitrary integer, complete enumeration is impossible. Here, Lenstra's algorithm uses ideas from Geometry of numbers. It transforms the original problem into an equivalent one with the following property: either the existence of a solution   is obvious, or the value of   (the n-th variable) belongs to an interval whose length is bounded by a function of n. In the latter case, the problem is reduced to a bounded number of lower-dimensional problems. The run-time complexity of the algorithm has been improved in several steps:

  • The original algorithm of Lenstra[14] had run-time  .
  • Kannan[16] presented an improved algorithm with run-time  .[17]
  • Frank and Tardos[18] presented an improved algorithm with run-time  .[19][20]: Prop.8 
  • Dadush[21] presented an improved algorithm with run-time  .
  • Reis and Rothvoss[22] presented an improved algorithm with run-time  .

Heuristic methods edit

Since integer linear programming is NP-hard, many problem instances are intractable and so heuristic methods must be used instead. For example, tabu search can be used to search for solutions to ILPs.[23] To use tabu search to solve ILPs, moves can be defined as incrementing or decrementing an integer constrained variable of a feasible solution while keeping all other integer-constrained variables constant. The unrestricted variables are then solved for. Short-term memory can consist of previously tried solutions while medium-term memory can consist of values for the integer constrained variables that have resulted in high objective values (assuming the ILP is a maximization problem). Finally, long-term memory can guide the search towards integer values that have not previously been tried.

Other heuristic methods that can be applied to ILPs include

There are also a variety of other problem-specific heuristics, such as the k-opt heuristic for the traveling salesman problem. A disadvantage of heuristic methods is that if they fail to find a solution, it cannot be determined whether it is because there is no feasible solution or whether the algorithm simply was unable to find one. Further, it is usually impossible to quantify how close to optimal a solution returned by these methods are.

Sparse integer programming edit

It is often the case that the matrix   that defines the integer program is sparse. In particular, this occurs when the matrix has a block structure, which is the case in many applications. The sparsity of the matrix can be measured as follows. The graph of   has vertices corresponding to columns of  , and two columns form an edge if   has a row where both columns have nonzero entries. Equivalently, the vertices correspond to variables, and two variables form an edge if they share an inequality. The sparsity measure   of   is the minimum of the tree-depth of the graph of   and the tree-depth of the graph of the transpose of  . Let   be the numeric measure of   defined as the maximum absolute value of any entry of  . Let   be the number of variables of the integer program. Then it was shown in 2018[24] that integer programming can be solved in strongly polynomial and fixed-parameter tractable time parameterized by   and  . That is, for some computable function   and some constant  , integer programming can be solved in time  . In particular, the time is independent of the right-hand side   and objective function  . Moreover, in contrast to the classical result of Lenstra, where the number   of variables is a parameter, here the number   of variables is a variable part of the input.

See also edit

References edit

  1. ^ Karp, Richard M. (1972). "Reducibility among Combinatorial Problems" (PDF). In R. E. Miller; J. W. Thatcher; J.D. Bohlinger (eds.). Complexity of Computer Computations. New York: Plenum. pp. 85–103. doi:10.1007/978-1-4684-2001-2_9. ISBN 978-1-4684-2003-6.
  2. ^ "Mixed-Integer Linear Programming (MILP): Model Formulation" (PDF). Retrieved 16 April 2018.
  3. ^ Papadimitriou, C. H.; Steiglitz, K. (1998). Combinatorial optimization: algorithms and complexity. Mineola, NY: Dover. ISBN 0486402584.
  4. ^ Erickson, J. (2015). (PDF). Archived from the original (PDF) on 18 May 2015.
  5. ^ Williams, H.P. (2009). Logic and integer programming. International Series in Operations Research & Management Science. Vol. 130. ISBN 978-0-387-92280-5.
  6. ^ Borndörfer, R.; Grötschel, M. (2012). "Designing telecommunication networks by integer programming" (PDF).
  7. ^ Sharma, Deepak (2010). "Frequency Planning".
  8. ^ Morais, Hugo; Kádár, Péter; Faria, Pedro; Vale, Zita A.; Khodr, H. M. (2010-01-01). "Optimal scheduling of a renewable micro-grid in an isolated load area using mixed-integer linear programming". Renewable Energy. 35 (1): 151–156. doi:10.1016/j.renene.2009.02.031. hdl:10400.22/1585. ISSN 0960-1481.
  9. ^ Omu, Akomeno; Choudhary, Ruchi; Boies, Adam (2013-10-01). "Distributed energy resource system optimisation using mixed integer linear programming". Energy Policy. 61: 249–266. doi:10.1016/j.enpol.2013.05.009. ISSN 0301-4215. S2CID 29369795.
  10. ^ Schouwenaars, T.; Valenti, M.; Feron, E.; How, J. (2005). "Implementation and Flight Test Results of MILP-based UAV Guidance". 2005 IEEE Aerospace Conference. pp. 1–13. doi:10.1109/AERO.2005.1559600. ISBN 0-7803-8870-4. S2CID 13447718.
  11. ^ Radmanesh, Mohammadreza; Kumar, Manish (2016-03-01). "Flight formation of UAVs in presence of moving obstacles using fast-dynamic mixed integer linear programming". Aerospace Science and Technology. 50: 149–160. doi:10.1016/j.ast.2015.12.021. ISSN 1270-9638.
  12. ^ Bast, Hannah; Brosi, Patrick; Storandt, Sabine (2017-10-05). "Efficient Generation of Geographically Accurate Transit Maps". arXiv:1710.02226 [cs.CG].
  13. ^ Scarf, Herbert E. (1981). "Production Sets with Indivisibilities, Part I: Generalities". Econometrica. 49 (1): 1–32. doi:10.2307/1911124. ISSN 0012-9682. JSTOR 1911124.
  14. ^ a b Lenstra, H. W. (1983-11-01). "Integer Programming with a Fixed Number of Variables". Mathematics of Operations Research. 8 (4): 538–548. CiteSeerX 10.1.1.431.5444. doi:10.1287/moor.8.4.538. ISSN 0364-765X.
  15. ^ Amenta, Nina; De Loera, Jesús A.; Soberón, Pablo (2017). "Helly's theorem: new variations and applications". In Harrington, Heather A.; Omar, Mohamed; Wright, Matthew (eds.). Proceedings of the AMS Special Session on Algebraic and Geometric Methods in Applied Discrete Mathematics held in San Antonio, TX, January 11, 2015. Contemporary Mathematics. Vol. 685. Providence, Rhode Island: American Mathematical Society. pp. 55–95. arXiv:1508.07606. doi:10.1090/conm/685. ISBN 9781470423216. MR 3625571.
  16. ^ Kannan, Ravi (1987-08-01). "Minkowski's Convex Body Theorem and Integer Programming". Mathematics of Operations Research. 12 (3): 415–440. doi:10.1287/moor.12.3.415. ISSN 0364-765X. S2CID 495512.
  17. ^ Goemans, Michel X.; Rothvoss, Thomas (2020-11-07). "Polynomiality for Bin Packing with a Constant Number of Item Types". Journal of the ACM. 67 (6): 38:1–38:21. doi:10.1145/3421750. hdl:1721.1/92865. ISSN 0004-5411. S2CID 227154747.
  18. ^ Frank, András; Tardos, Éva (1987-03-01). "An application of simultaneous diophantine approximation in combinatorial optimization". Combinatorica. 7 (1): 49–65. doi:10.1007/BF02579200. ISSN 1439-6912. S2CID 45585308.
  19. ^ Bliem, Bernhard; Bredereck, Robert; Niedermeier, Rolf (2016-07-09). "Complexity of efficient and envy-free resource allocation: few agents, resources, or utility levels". Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence. IJCAI'16. New York, New York, USA: AAAI Press: 102–108. ISBN 978-1-57735-770-4.
  20. ^ Bredereck, Robert; Kaczmarczyk, Andrzej; Knop, Dušan; Niedermeier, Rolf (2019-06-17). "High-Multiplicity Fair Allocation: Lenstra Empowered by N-fold Integer Programming". Proceedings of the 2019 ACM Conference on Economics and Computation. EC '19. Phoenix, AZ, USA: Association for Computing Machinery. pp. 505–523. doi:10.1145/3328526.3329649. ISBN 978-1-4503-6792-9. S2CID 195298520.
  21. ^ Dadush, Daniel (2012-06-14). "Integer Programming, Lattice Algorithms, and Deterministic Volume Estimation.
  22. ^ Reis, Victor; Rothvoss, Thomas (2023-03-26). "The Subspace Flatness Conjecture and Faster Integer Programming".
  23. ^ Glover, F. (1989). "Tabu search-Part II". ORSA Journal on Computing. 1 (3): 4–32. doi:10.1287/ijoc.2.1.4. S2CID 207225435.
  24. ^ Koutecký, Martin; Levin, Asaf; Onn, Shmuel (2018). "A parameterized strongly polynomial algorithm for block structured integer programs". In Chatzigiannakis, Ioannis; Kaklamanis, Christos; Marx, Dániel; Sannella, Donald (eds.). 45th International Colloquium on Automata, Languages, and Programming, ICALP 2018, July 9–13, 2018, Prague, Czech Republic. LIPIcs. Vol. 107. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. pp. 85:1–85:14. arXiv:1802.05859. doi:10.4230/LIPICS.ICALP.2018.85.

Further reading edit

External links edit

  • A Tutorial on Integer Programming
  • Conference Integer Programming and Combinatorial Optimization, IPCO
  • The Aussois Combinatorial Optimization Workshop

integer, programming, integer, programming, problem, mathematical, optimization, feasibility, program, which, some, variables, restricted, integers, many, settings, term, refers, integer, linear, programming, which, objective, function, constraints, other, tha. An integer programming problem is a mathematical optimization or feasibility program in which some or all of the variables are restricted to be integers In many settings the term refers to integer linear programming ILP in which the objective function and the constraints other than the integer constraints are linear Integer programming is NP complete In particular the special case of 0 1 integer linear programming in which unknowns are binary and only the restrictions must be satisfied is one of Karp s 21 NP complete problems 1 If some decision variables are not discrete the problem is known as a mixed integer programming problem 2 Contents 1 Canonical and standard form for ILPs 2 Example 3 Proof of NP hardness 4 Variants 5 Applications 5 1 Production planning 5 2 Scheduling 5 3 Territorial partitioning 5 4 Telecommunications networks 5 5 Cellular networks 5 6 Other applications 6 Algorithms 6 1 Using total unimodularity 6 2 Exact algorithms 6 3 Exact algorithms for a small number of variables 6 4 Heuristic methods 7 Sparse integer programming 8 See also 9 References 10 Further reading 11 External linksCanonical and standard form for ILPs editIn integer linear programming the canonical form is distinct from the standard form An integer linear program in canonical form is expressed thus note that it is the x displaystyle mathbf x nbsp vector which is to be decided 3 maximize x Z n c T x subject to A x b x 0 displaystyle begin aligned amp underset mathbf x in mathbb Z n text maximize amp amp mathbf c mathrm T mathbf x amp text subject to amp amp A mathbf x leq mathbf b amp amp amp mathbf x geq mathbf 0 end aligned nbsp and an ILP in standard form is expressed as maximize x Z n c T x subject to A x s b s 0 x 0 displaystyle begin aligned amp underset mathbf x in mathbb Z n text maximize amp amp mathbf c mathrm T mathbf x amp text subject to amp amp A mathbf x mathbf s mathbf b amp amp amp mathbf s geq mathbf 0 amp amp amp mathbf x geq mathbf 0 end aligned nbsp where c R n b R m displaystyle mathbf c in mathbb R n mathbf b in mathbb R m nbsp are vectors and A R m n displaystyle A in mathbb R m times n nbsp is a matrix As with linear programs ILPs not in standard form can be converted to standard form by eliminating inequalities introducing slack variables s displaystyle mathbf s nbsp and replacing variables that are not sign constrained with the difference of two sign constrained variables Example edit nbsp IP polytope with LP relaxation The plot on the right shows the following problem maximize x y Z y subject to x y 1 3 x 2 y 12 2 x 3 y 12 x y 0 displaystyle begin aligned underset x y in mathbb Z text maximize quad amp y text subject to quad amp x y leq 1 amp 3x 2y leq 12 amp 2x 3y leq 12 amp x y geq 0 end aligned nbsp The feasible integer points are shown in red and the red dashed lines indicate their convex hull which is the smallest convex polyhedron that contains all of these points The blue lines together with the coordinate axes define the polyhedron of the LP relaxation which is given by the inequalities without the integrality constraint The goal of the optimization is to move the black dashed line as far upward while still touching the polyhedron The optimal solutions of the integer problem are the points 1 2 displaystyle 1 2 nbsp and 2 2 displaystyle 2 2 nbsp that both have an objective value of 2 The unique optimum of the relaxation is 1 8 2 8 displaystyle 1 8 2 8 nbsp with objective value of 2 8 If the solution of the relaxation is rounded to the nearest integers it is not feasible for the ILP Proof of NP hardness editThe following is a reduction from minimum vertex cover to integer programming that will serve as the proof of NP hardness Let G V E displaystyle G V E nbsp be an undirected graph Define a linear program as follows min v V y v y v y u 1 u v E y v Z v V displaystyle begin aligned min sum v in V y v y v y u amp geq 1 amp amp forall uv in E y v amp in mathbb Z amp amp forall v in V end aligned nbsp Given that the constraints limit y v displaystyle y v nbsp to either 0 or 1 any feasible solution to the integer program is a subset of vertices The first constraint implies that at least one end point of every edge is included in this subset Therefore the solution describes a vertex cover Additionally given some vertex cover C y v displaystyle y v nbsp can be set to 1 for any v C displaystyle v in C nbsp and to 0 for any v C displaystyle v not in C nbsp thus giving us a feasible solution to the integer program Thus we can conclude that if we minimize the sum of y v displaystyle y v nbsp we have also found the minimum vertex cover 4 Variants editMixed integer linear programming MILP involves problems in which only some of the variables x i displaystyle x i nbsp are constrained to be integers while other variables are allowed to be non integers Zero one linear programming or binary integer programming involves problems in which the variables are restricted to be either 0 or 1 Any bounded integer variable can be expressed as a combination of binary variables 5 For example given an integer variable 0 x U displaystyle 0 leq x leq U nbsp the variable can be expressed using log 2 U 1 displaystyle lfloor log 2 U rfloor 1 nbsp binary variables x x 1 2 x 2 4 x 3 2 log 2 U x log 2 U 1 displaystyle x x 1 2x 2 4x 3 cdots 2 lfloor log 2 U rfloor x lfloor log 2 U rfloor 1 nbsp Applications editThere are two main reasons for using integer variables when modeling problems as a linear program The integer variables represent quantities that can only be integer For example it is not possible to build 3 7 cars The integer variables represent decisions e g whether to include an edge in a graph and so should only take on the value 0 or 1 These considerations occur frequently in practice and so integer linear programming can be used in many applications areas some of which are briefly described below Production planning edit Mixed integer programming has many applications in industrial productions including job shop modelling One important example happens in agricultural production planning and involves determining production yield for several crops that can share resources e g land labor capital seeds fertilizer etc A possible objective is to maximize the total production without exceeding the available resources In some cases this can be expressed in terms of a linear program but the variables must be constrained to be integer Scheduling edit These problems involve service and vehicle scheduling in transportation networks For example a problem may involve assigning buses or subways to individual routes so that a timetable can be met and also to equip them with drivers Here binary decision variables indicate whether a bus or subway is assigned to a route and whether a driver is assigned to a particular train or subway The zero one programming technique has been successfully applied to solve a project selection problem in which projects are mutually exclusive and or technologically interdependent It is used in a special case of integer programming in which all the decision variables are integers Variable can assume only the values zero or one Territorial partitioning edit Territorial partitioning or districting problems consist of partitioning a geographical region into districts in order to plan some operations while considering different criteria or constraints Some requirements for this problem are contiguity compactness balance or equity respect of natural boundaries and socio economic homogeneity Some applications for this type of problem include political districting school districting health services districting and waste management districting Telecommunications networks edit The goal of these problems is to design a network of lines to install so that a predefined set of communication requirements are met and the total cost of the network is minimal 6 This requires optimizing both the topology of the network along with setting the capacities of the various lines In many cases the capacities are constrained to be integer quantities Usually there are depending on the technology used additional restrictions that can be modeled as linear inequalities with integer or binary variables Cellular networks edit The task of frequency planning in GSM mobile networks involves distributing available frequencies across the antennas so that users can be served and interference is minimized between the antennas 7 This problem can be formulated as an integer linear program in which binary variables indicate whether a frequency is assigned to an antenna Other applications edit Cash flow matching Energy system optimization 8 9 UAV guidance 10 11 Transit map layouting 12 Algorithms editThe naive way to solve an ILP is to simply remove the constraint that x is integer solve the corresponding LP called the LP relaxation of the ILP and then round the entries of the solution to the LP relaxation But not only may this solution not be optimal it may not even be feasible that is it may violate some constraint Using total unimodularity edit While in general the solution to LP relaxation will not be guaranteed to be integral if the ILP has the form max c T x displaystyle max mathbf c mathrm T mathbf x nbsp such that A x b displaystyle A mathbf x mathbf b nbsp where A displaystyle A nbsp and b displaystyle mathbf b nbsp have all integer entries and A displaystyle A nbsp is totally unimodular then every basic feasible solution is integral Consequently the solution returned by the simplex algorithm is guaranteed to be integral To show that every basic feasible solution is integral let x displaystyle mathbf x nbsp be an arbitrary basic feasible solution Since x displaystyle mathbf x nbsp is feasible we know that A x b displaystyle A mathbf x mathbf b nbsp Let x 0 x n 1 x n 2 x n j displaystyle mathbf x 0 x n 1 x n 2 cdots x n j nbsp be the elements corresponding to the basis columns for the basic solution x displaystyle mathbf x nbsp By definition of a basis there is some square submatrix B displaystyle B nbsp of A displaystyle A nbsp with linearly independent columns such that B x 0 b displaystyle B mathbf x 0 mathbf b nbsp Since the columns of B displaystyle B nbsp are linearly independent and B displaystyle B nbsp is square B displaystyle B nbsp is nonsingular and therefore by assumption B displaystyle B nbsp is unimodular and so det B 1 displaystyle det B pm 1 nbsp Also since B displaystyle B nbsp is nonsingular it is invertible and therefore x 0 B 1 b displaystyle mathbf x 0 B 1 mathbf b nbsp By definition B 1 B a d j det B B a d j displaystyle B 1 frac B mathrm adj det B pm B mathrm adj nbsp Here B a d j displaystyle B mathrm adj nbsp denotes the adjugate of B displaystyle B nbsp and is integral because B displaystyle B nbsp is integral Therefore B 1 B a d j is integral x 0 B 1 b is integral Every basic feasible solution is integral displaystyle begin aligned amp Rightarrow B 1 pm B mathrm adj text is integral amp Rightarrow mathbf x 0 B 1 b text is integral amp Rightarrow text Every basic feasible solution is integral end aligned nbsp Thus if the matrix A displaystyle A nbsp of an ILP is totally unimodular rather than use an ILP algorithm the simplex method can be used to solve the LP relaxation and the solution will be integer Exact algorithms edit When the matrix A displaystyle A nbsp is not totally unimodular there are a variety of algorithms that can be used to solve integer linear programs exactly One class of algorithms are cutting plane methods which work by solving the LP relaxation and then adding linear constraints that drive the solution towards being integer without excluding any integer feasible points Another class of algorithms are variants of the branch and bound method For example the branch and cut method that combines both branch and bound and cutting plane methods Branch and bound algorithms have a number of advantages over algorithms that only use cutting planes One advantage is that the algorithms can be terminated early and as long as at least one integral solution has been found a feasible although not necessarily optimal solution can be returned Further the solutions of the LP relaxations can be used to provide a worst case estimate of how far from optimality the returned solution is Finally branch and bound methods can be used to return multiple optimal solutions Exact algorithms for a small number of variables edit Suppose A displaystyle A nbsp is an m by n integer matrix and b displaystyle mathbf b nbsp is an m by 1 integer vector We focus on the feasibility problem which is to decide whether there exists an n by 1 vector x displaystyle mathbf x nbsp satisfying A x b displaystyle A mathbf x leq mathbf b nbsp Let V be the maximum absolute value of the coefficients in A displaystyle A nbsp and b displaystyle mathbf b nbsp If n the number of variables is a fixed constant then the feasibility problem can be solved in time polynomial in m and log V This is trivial for the case n 1 The case n 2 was solved in 1981 by Herbert Scarf 13 The general case was solved in 1983 by Hendrik Lenstra combining ideas by Laszlo Lovasz and Peter van Emde Boas 14 Doignon s theorem asserts that an integer program is feasible whenever every subset of 2 n displaystyle 2 n nbsp constraints is feasible a method combining this result with algorithms for LP type problems can be used to solve integer programs in time that is linear in m displaystyle m nbsp and fixed parameter tractable but possibly doubly exponential in n displaystyle n nbsp with no dependence on V displaystyle V nbsp 15 In the special case of 0 1 ILP Lenstra s algorithm is equivalent to complete enumeration the number of all possible solutions is fixed 2n and checking the feasibility of each solution can be done in time poly m log V In the general case where each variable can be an arbitrary integer complete enumeration is impossible Here Lenstra s algorithm uses ideas from Geometry of numbers It transforms the original problem into an equivalent one with the following property either the existence of a solution x displaystyle mathbf x nbsp is obvious or the value of x n displaystyle x n nbsp the n th variable belongs to an interval whose length is bounded by a function of n In the latter case the problem is reduced to a bounded number of lower dimensional problems The run time complexity of the algorithm has been improved in several steps The original algorithm of Lenstra 14 had run time 2 O n 3 m log V O 1 displaystyle 2 O n 3 cdot m cdot log V O 1 nbsp Kannan 16 presented an improved algorithm with run time n O n m log V O 1 displaystyle n O n cdot m cdot log V O 1 nbsp 17 Frank and Tardos 18 presented an improved algorithm with run time n 2 5 n 2 O n m log V O 1 displaystyle n 2 5n cdot 2 O n cdot m cdot log V O 1 nbsp 19 20 Prop 8 Dadush 21 presented an improved algorithm with run time n n 2 O n m log V O 1 displaystyle n n cdot 2 O n cdot m cdot log V O 1 nbsp Reis and Rothvoss 22 presented an improved algorithm with run time log n O n m log V O 1 displaystyle log n O n cdot m cdot log V O 1 nbsp Heuristic methods edit Since integer linear programming is NP hard many problem instances are intractable and so heuristic methods must be used instead For example tabu search can be used to search for solutions to ILPs 23 To use tabu search to solve ILPs moves can be defined as incrementing or decrementing an integer constrained variable of a feasible solution while keeping all other integer constrained variables constant The unrestricted variables are then solved for Short term memory can consist of previously tried solutions while medium term memory can consist of values for the integer constrained variables that have resulted in high objective values assuming the ILP is a maximization problem Finally long term memory can guide the search towards integer values that have not previously been tried Other heuristic methods that can be applied to ILPs include Hill climbing Simulated annealing Reactive search optimization Ant colony optimization Hopfield neural networks There are also a variety of other problem specific heuristics such as the k opt heuristic for the traveling salesman problem A disadvantage of heuristic methods is that if they fail to find a solution it cannot be determined whether it is because there is no feasible solution or whether the algorithm simply was unable to find one Further it is usually impossible to quantify how close to optimal a solution returned by these methods are Sparse integer programming editIt is often the case that the matrix A displaystyle A nbsp that defines the integer program is sparse In particular this occurs when the matrix has a block structure which is the case in many applications The sparsity of the matrix can be measured as follows The graph of A displaystyle A nbsp has vertices corresponding to columns of A displaystyle A nbsp and two columns form an edge if A displaystyle A nbsp has a row where both columns have nonzero entries Equivalently the vertices correspond to variables and two variables form an edge if they share an inequality The sparsity measure d displaystyle d nbsp of A displaystyle A nbsp is the minimum of the tree depth of the graph of A displaystyle A nbsp and the tree depth of the graph of the transpose of A displaystyle A nbsp Let a displaystyle a nbsp be the numeric measure of A displaystyle A nbsp defined as the maximum absolute value of any entry of A displaystyle A nbsp Let n displaystyle n nbsp be the number of variables of the integer program Then it was shown in 2018 24 that integer programming can be solved in strongly polynomial and fixed parameter tractable time parameterized by a displaystyle a nbsp and d displaystyle d nbsp That is for some computable function f displaystyle f nbsp and some constant k displaystyle k nbsp integer programming can be solved in time f a d n k displaystyle f a d n k nbsp In particular the time is independent of the right hand side b displaystyle b nbsp and objective function c displaystyle c nbsp Moreover in contrast to the classical result of Lenstra where the number n displaystyle n nbsp of variables is a parameter here the number n displaystyle n nbsp of variables is a variable part of the input See also editConstrained least squares Diophantine equation Polynomial equation whose integer solutions are soughtReferences edit Karp Richard M 1972 Reducibility among Combinatorial Problems PDF In R E Miller J W Thatcher J D Bohlinger eds Complexity of Computer Computations New York Plenum pp 85 103 doi 10 1007 978 1 4684 2001 2 9 ISBN 978 1 4684 2003 6 Mixed Integer Linear Programming MILP Model Formulation PDF Retrieved 16 April 2018 Papadimitriou C H Steiglitz K 1998 Combinatorial optimization algorithms and complexity Mineola NY Dover ISBN 0486402584 Erickson J 2015 Integer Programming Reduction PDF Archived from the original PDF on 18 May 2015 Williams H P 2009 Logic and integer programming International Series in Operations Research amp Management Science Vol 130 ISBN 978 0 387 92280 5 Borndorfer R Grotschel M 2012 Designing telecommunication networks by integer programming PDF Sharma Deepak 2010 Frequency Planning Morais Hugo Kadar Peter Faria Pedro Vale Zita A Khodr H M 2010 01 01 Optimal scheduling of a renewable micro grid in an isolated load area using mixed integer linear programming Renewable Energy 35 1 151 156 doi 10 1016 j renene 2009 02 031 hdl 10400 22 1585 ISSN 0960 1481 Omu Akomeno Choudhary Ruchi Boies Adam 2013 10 01 Distributed energy resource system optimisation using mixed integer linear programming Energy Policy 61 249 266 doi 10 1016 j enpol 2013 05 009 ISSN 0301 4215 S2CID 29369795 Schouwenaars T Valenti M Feron E How J 2005 Implementation and Flight Test Results of MILP based UAV Guidance 2005 IEEE Aerospace Conference pp 1 13 doi 10 1109 AERO 2005 1559600 ISBN 0 7803 8870 4 S2CID 13447718 Radmanesh Mohammadreza Kumar Manish 2016 03 01 Flight formation of UAVs in presence of moving obstacles using fast dynamic mixed integer linear programming Aerospace Science and Technology 50 149 160 doi 10 1016 j ast 2015 12 021 ISSN 1270 9638 Bast Hannah Brosi Patrick Storandt Sabine 2017 10 05 Efficient Generation of Geographically Accurate Transit Maps arXiv 1710 02226 cs CG Scarf Herbert E 1981 Production Sets with Indivisibilities Part I Generalities Econometrica 49 1 1 32 doi 10 2307 1911124 ISSN 0012 9682 JSTOR 1911124 a b Lenstra H W 1983 11 01 Integer Programming with a Fixed Number of Variables Mathematics of Operations Research 8 4 538 548 CiteSeerX 10 1 1 431 5444 doi 10 1287 moor 8 4 538 ISSN 0364 765X Amenta Nina De Loera Jesus A Soberon Pablo 2017 Helly s theorem new variations and applications In Harrington Heather A Omar Mohamed Wright Matthew eds Proceedings of the AMS Special Session on Algebraic and Geometric Methods in Applied Discrete Mathematics held in San Antonio TX January 11 2015 Contemporary Mathematics Vol 685 Providence Rhode Island American Mathematical Society pp 55 95 arXiv 1508 07606 doi 10 1090 conm 685 ISBN 9781470423216 MR 3625571 Kannan Ravi 1987 08 01 Minkowski s Convex Body Theorem and Integer Programming Mathematics of Operations Research 12 3 415 440 doi 10 1287 moor 12 3 415 ISSN 0364 765X S2CID 495512 Goemans Michel X Rothvoss Thomas 2020 11 07 Polynomiality for Bin Packing with a Constant Number of Item Types Journal of the ACM 67 6 38 1 38 21 doi 10 1145 3421750 hdl 1721 1 92865 ISSN 0004 5411 S2CID 227154747 Frank Andras Tardos Eva 1987 03 01 An application of simultaneous diophantine approximation in combinatorial optimization Combinatorica 7 1 49 65 doi 10 1007 BF02579200 ISSN 1439 6912 S2CID 45585308 Bliem Bernhard Bredereck Robert Niedermeier Rolf 2016 07 09 Complexity of efficient and envy free resource allocation few agents resources or utility levels Proceedings of the Twenty Fifth International Joint Conference on Artificial Intelligence IJCAI 16 New York New York USA AAAI Press 102 108 ISBN 978 1 57735 770 4 Bredereck Robert Kaczmarczyk Andrzej Knop Dusan Niedermeier Rolf 2019 06 17 High Multiplicity Fair Allocation Lenstra Empowered by N fold Integer Programming Proceedings of the 2019 ACM Conference on Economics and Computation EC 19 Phoenix AZ USA Association for Computing Machinery pp 505 523 doi 10 1145 3328526 3329649 ISBN 978 1 4503 6792 9 S2CID 195298520 Dadush Daniel 2012 06 14 Integer Programming Lattice Algorithms and Deterministic Volume Estimation Reis Victor Rothvoss Thomas 2023 03 26 The Subspace Flatness Conjecture and Faster Integer Programming Glover F 1989 Tabu search Part II ORSA Journal on Computing 1 3 4 32 doi 10 1287 ijoc 2 1 4 S2CID 207225435 Koutecky Martin Levin Asaf Onn Shmuel 2018 A parameterized strongly polynomial algorithm for block structured integer programs In Chatzigiannakis Ioannis Kaklamanis Christos Marx Daniel Sannella Donald eds 45th International Colloquium on Automata Languages and Programming ICALP 2018 July 9 13 2018 Prague Czech Republic LIPIcs Vol 107 Schloss Dagstuhl Leibniz Zentrum fur Informatik pp 85 1 85 14 arXiv 1802 05859 doi 10 4230 LIPICS ICALP 2018 85 Further reading editGeorge L Nemhauser Laurence A Wolsey 1988 Integer and combinatorial optimization Wiley ISBN 978 0 471 82819 8 Alexander Schrijver 1998 Theory of linear and integer programming John Wiley and Sons ISBN 978 0 471 98232 6 Laurence A Wolsey 1998 Integer programming Wiley ISBN 978 0 471 28366 9 Dimitris Bertsimas Robert Weismantel 2005 Optimization over integers Dynamic Ideas ISBN 978 0 9759146 2 5 John K Karlof 2006 Integer programming theory and practice CRC Press ISBN 978 0 8493 1914 3 H Paul Williams 2009 Logic and Integer Programming Springer ISBN 978 0 387 92279 9 Michael Junger Thomas M Liebling Denis Naddef George Nemhauser William R Pulleyblank Gerhard Reinelt Giovanni Rinaldi Laurence A Wolsey eds 2009 50 Years of Integer Programming 1958 2008 From the Early Years to the State of the Art Springer ISBN 978 3 540 68274 5 Der San Chen Robert G Batson Yu Dang 2010 Applied Integer Programming Modeling and Solution John Wiley and Sons ISBN 978 0 470 37306 4 Gerard Sierksma Yori Zwols 2015 Linear and Integer Optimization Theory and Practice CRC Press ISBN 978 1 498 71016 9 External links editA Tutorial on Integer Programming Conference Integer Programming and Combinatorial Optimization IPCO The Aussois Combinatorial Optimization Workshop Retrieved from https en wikipedia org w index php title Integer programming amp oldid 1220531269, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.