CACrown ArchivesHistory · sources · collections
Menu
Research dossier · General Reference

Integer programming

mathematical optimization problem in which variables are restricted to be integers

Cross-disciplinary reference desk with index cards, atlas, dictionary and catalogue
General referenceInterpretive dossier study · Crown Archives visual atlas
Record originEnglish Wikipedia
Text licenseCC BY-SA 4.0
Source revisionSep 21, 2026
Entity authorityQ6042592
Source-derived summary

An integer programming, also known as integer optimization, 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 (the difficult part is showing the NP membership). 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.

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

Canonical and standard form for ILPs

Integer linear programs can be expressed either in canonical form or standard form (both as defined below), which are different from each other. An integer linear program in canonical form is expressed thus (note that it is the

x

{\displaystyle \mathbf {x} }

vector which is to be decided):

maximize

x

Z

n

c

T

x

subject to

A

x

b

,

x

0

{\displaystyle {\begin{aligned}&{\underset {\mathbf {x} \in \mathbb {Z} ^{n}}{\text{maximize}}}&&\mathbf {c} ^{\mathrm {T} }\mathbf {x} \\&{\text{subject to}}&&A\mathbf {x} \leq \mathbf {b} ,\\&&&\mathbf {x} \geq \mathbf {0} \end{aligned}}}

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}&{\underset {\mathbf {x} \in \mathbb {Z} ^{n}}{\text{maximize}}}&&\mathbf {c} ^{\mathrm {T} }\mathbf {x} \\&{\text{subject to}}&&A\mathbf {x} +\mathbf {s} =\mathbf {b} ,\\&&&\mathbf {s} \geq \mathbf {0} ,\\&&&\mathbf {x} \geq \mathbf {0} ,\end{aligned}}}

where

c

R

n

,

b

R

m

{\displaystyle \mathbf {c} \in \mathbb {R} ^{n},\mathbf {b} \in \mathbb {R} ^{m}}

are vectors and

A

R

m

×

n

{\displaystyle A\in \mathbb {R} ^{m\times n}}

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} }

) 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.

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 &y\\{\text{subject to}}\quad &-x+y\leq 1\\&3x+2y\leq 12\\&2x+3y\leq 12\\&x,y\geq 0\end{aligned}}}

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.

Editorial summary

“Integer programming” enters the record as mathematical optimization problem in which variables are restricted to be integers. Crown Archives preserves that source wording while asking what Integer, programming and mathematical can confirm, complicate or overturn.

Editorial reviewA concise reference frame for defining the subject, testing terminology and identifying the institution closest to the evidence. The current 443-word lead offers orientation but no explicit four-digit date, so chronology should not be assumed. The selected authority fields contribute no independent date. Its strongest next move is a source search built around Integer, programming and mathematical.
Editorial analysis

Why this record matters

“Integer programming” is worth following because a concise public description often conceals a longer documentary argument. Here, Integer, programming and mathematical provides the most credible route into that argument.

Evidence profile

The citation trail is more important than the brevity of the summary: it shows where individual claims can be examined in context. The source revision retrieved here is dated Sep 21, 2026. The linked authority identifier is Q6042592. None of the 0 selected statements returned an explicit reference.

Critical limits

A concise general-reference account can conceal disagreements about scope, terminology or the weight assigned to individual sources. The lead is largely declarative, so disagreement and counter-evidence require a deliberate search beyond the opening account. Authority statements aid reconciliation but still require their own references, qualifiers and ranks to be checked.

How to read it

Use the entry as an orientation point, then follow its citations and revision history. Names, dates and institutional relationships should be checked against the original record.

Best used for
  • Subject orientation
  • Search vocabulary
  • Locating named sources
Verify next

The closest primary source, responsible institution and strongest cited specialist reference.

Three-step research path

  1. Establish the record: confirm the title “Integer programming”, its source revision and the description used here.
  2. Expand the search: follow Integer programming primary sources, Integer programming archive and Integer research across catalogues and specialist indexes.
  3. Test the account: compare the strongest cited source with the responsible institution’s current record and note any disagreement.

Questions for further research

  1. Which source most directly establishes the central claim about “Integer programming”?
  2. What terminology or title could unlock a more precise catalogue search?
  3. Which institution is responsible for the underlying evidence?
Subject index

Search terms from this dossier

Source & attribution

This entry incorporates text from Integer programming” on English Wikipedia. Contributors are listed in the page history. Text is available under the Creative Commons Attribution-ShareAlike 4.0 License. Selected authority identifiers and statements are retrieved from Wikidata under CC0; their references and qualifiers remain part of the verification path.