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
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
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
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
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
There 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
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
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
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
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
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.
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
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
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
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 (FPT) in , 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 .
These algorithms can also be used for mixed integer linear programs (MILP) - programs in which some variables are integer and some variables are real.[23] The original algorithm of Lenstra[14]: Sec.5 has run-time , where n is the number of integer variables, d is the number of continuous variables, and L is the binary encoding size of the problem. Using techniques from later algorithms, the factor can be improved to or to .[23]
Heuristic methods
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.[24] 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
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[25] 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.
^Williams, H.P. (2009). Logic and integer programming. International Series in Operations Research & Management Science. Vol. 130. ISBN978-0-387-92280-5.
^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. ISBN9781470423216. MR3625571.
Dimitris Bertsimas; Robert Weismantel (2005). Optimization over integers. Dynamic Ideas. ISBN978-0-9759146-2-5.
John K. Karlof (2006). Integer programming: theory and practice. CRC Press. ISBN978-0-8493-1914-3.
H. Paul Williams (2009). Logic and Integer Programming. Springer. ISBN978-0-387-92279-9.
Michael Jünger; 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. ISBN978-3-540-68274-5.
Der-San Chen; Robert G. Batson; Yu Dang (2010). Applied Integer Programming: Modeling and Solution. John Wiley and Sons. ISBN978-0-470-37306-4.
Gerard Sierksma; Yori Zwols (2015). Linear and Integer Optimization: Theory and Practice. CRC Press. ISBN978-1-498-71016-9.
1985 film Not to be confused with Annihilator (film). The AnnihilatorsDirected byCharles E. Sellier Jr.Written byBrian RussellProduced byThomas C. ChapmanStarringJim Antonio Sid ConradCinematographyHenning SchellerupEdited byDan GrossMusic byBob SummersDistributed byNew World PicturesRelease date 1985 (1985) LanguageEnglish The Annihilators, also known just as Annihilators, is a 1985 American action film directed by Charles E. Sellier Jr. and starring Jim Antonio, Sid Conrad and Gerrit G...
Cet article est une ébauche concernant le chemin de fer et les Pyrénées-Orientales. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. LignePia - Baixas Pays France Villes desservies Baixas Historique Mise en service 1910 Fermeture 1950 Concessionnaire Ch. de fer des Pyrénées-Orientales (à partir de 1910) Caractéristiques techniques Longueur 11 km Écartement standard (1,435 m) Électrificatio...
Как обманули змея Жанр сказка Техника анимации рисованная Режиссёр Андрей Кузнецов На основе нивхской сказки Автор сценария Андрей Кузнецов Композитор Гусев, Александр Витальевич Страна Россия Язык русский Производство Длительность 12 мин. 45 сек. Студия «Пилот» Вып�...
Artikel ini adalah bagian dari seriPembagian administratifIndonesia Tingkat I Provinsi Daerah istimewa Daerah khusus Tingkat II Kabupaten Kota Kabupaten administrasi Kota administrasi Tingkat III Kecamatan Distrik Kapanewon Kemantren Tingkat IV Kelurahan Desa Dusun (Bungo) Gampong Kute Kalurahan Kampung Kalimantan Timur Lampung Papua Riau Lembang Nagari Nagori Negeri Maluku Maluku Tengah Negeri administratif Pekon Tiyuh Lain-lain Antara III dan IV Mukim Di bawah IV Banjar Bori Pedukuhan Dusun...
Questa voce o sezione sull'argomento competizioni cestistiche non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. National Basketball Association 1975-1976Dettagli della competizioneSport Pallacanestro OrganizzatoreNBA Periodo23 ottobre 1975 —6 giugno 1976 Squadre18 (in 4 gironi) VerdettiTitolo East Boston Celtics Titolo West Phoenix Suns C...
1996 Russian crewed spaceflight to Mir Soyuz TM-24Soyuz TM-24 docked with Mir as seen from the Space Shuttle Atlantis during STS-79.OperatorRosaviakosmosCOSPAR ID1996-047A SATCAT no.24280Mission duration196 days, 17 hours, 26 minutes, 13 secondsOrbits completed~3,160 Spacecraft propertiesSpacecraftSoyuz 7K-STM No. 73Spacecraft typeSoyuz-TMManufacturerRKK EnergiaLaunch mass7,150 kilograms (15,760 lb) CrewCrew size3MembersValery KorzunAleksandr KaleriLaunchingClaudie An...
Australian soccer player (born 1992) Massimo Luongo Luongo with Australia in 2018Personal informationFull name Massimo Corey Luongo[1]Date of birth (1992-09-25) 25 September 1992 (age 31)[2]Place of birth Sydney, New South Wales, AustraliaHeight 1.76 m (5 ft 9 in)[3]Position(s) Defensive midfielderTeam informationCurrent team Ipswich TownNumber 25Youth career2004–2010 APIA Leichhardt Tigers2011 Tottenham HotspurSenior career*Years Team Apps (Gls)2...
Feature in fortification architecture A : Counterguard B : Couvreface (idealised graphic in which all accompanying works such as moats or glacis have been omitted) A couvreface in fortification architecture is a small outwork that was built in front of the actual fortress ditch before bastions or ravelins. It usually just consisted of a low rampart with a breastwork that protected its defending infantry. Another ditch in front of the work guarded it from immediate frontal assault. T...
Cape of Catholic priests Archbishop Fulton J. Sheen wearing the ferraiolo, 1952. Cardinal Sarr of Dakar wearing his ferraiolo of watered silk The ferraiolo (also ferraiuolo, ferraiolone) is a type of cape traditionally worn by clergy in the Catholic Church on formal, non-liturgical occasions.[1] It can be worn over the shoulders, or behind them, extends in length to the ankles, is tied in a bow by narrow strips of cloth at the front, and does not have any 'trim' or piping on it. Histo...
International Baseball FederationDisciplina Baseball Fondazione1938 Giurisdizionemondiale Federazioni affiliate124 ConfederazioneWBSC CIO GAISF Sede Losanna Presidente Riccardo Fraccari Sito ufficialewww.ibaf.org/ Modifica dati su Wikidata · Manuale La International Baseball Federation (IBAF) è stata fino al 2013 l'organizzazione a livello mondiale dello sport del baseball. Aveva il compito di organizzare vari tornei mondiali tra cui i più importanti il campionato mondiale di baseball...
2012 romantic comedy film by Joss Whedon Much Ado About NothingTheatrical release posterDirected byJoss WhedonScreenplay byJoss WhedonBased onMuch Ado About Nothing1600 playby William ShakespeareProduced by Joss Whedon Kai Cole Starring Amy Acker Alexis Denisof Reed Diamond Nathan Fillion Clark Gregg Fran Kranz Sean Maher Jillian Morgese CinematographyJay HunterEdited by Daniel Kaminsky Joss Whedon Music byJoss WhedonProductioncompanyBellwether PicturesDistributed by Lionsgate Roadside Attrac...
Border dispute between the United States and the United Kingdom Pig WarProposed boundaries: Through Haro Strait, favored by the US Through Rosario Strait, favored by Britain Through San Juan Channel, compromise proposal The lines are as shown on maps of the time. The modern boundary follows straight line segments and roughly follows the blue line. The modern eastern boundary of San Juan County roughly follows the red line.DateJune 15 – October 1859 (troop...
Telur gulungTelur gulung yang diberi saus dan mayonesSajianGorenganTempat asal IndonesiaSuhu penyajianPanasBahan utamaTelurSunting kotak info • L • BBantuan penggunaan templat ini Telur gulung adalah makanan tradisional dan merupakan variasi dari telur goreng yang di mana sebuah telur akan digoreng dan kemudian digulung menggunakan sebuah tusukan yang biasanya di buat dari kayu pohon bambu. Makanan ini sering dihidangkan dan dijual di sekolah terutama di tingkat sekolah das...
Michael Gove Michael Andrew Gove (/ɡoʊv/; kelahiran 26 Agustus 1967) adalah jurnalis dan politikus asal Britania Raya. Ia adalah anggota Partai Konservatif dan pernah menjabat sebagai Menteri Pendidikan pada tahun 2010 hingga 2014 dan Menteri Kehakiman dari tahun 2015 hingga 2016. Ia juga pernah menjadi Menteri Lingkungan, Pangan, dan Urusan Pedesaan setelah dilakukannya perombakan kabinet pada 11 Juni 2017. Ia menjabat sebagai anggota parlemen untuk daerah pilih Surrey Heath sejak 2005. Ia...
Vengeful Japanese ghosts This article is about the mythological Japanese spirit. For the Korean dynasty, see Goryeo.You can help expand this article with text translated from the corresponding article in Japanese. Click [show] for important translation instructions. Machine translation, like DeepL or Google Translate, is a useful starting point for translations, but translators must revise errors as necessary and confirm that the translation is accurate, rather than simply copy-pasting machin...