Fact-checked by Grok 2 weeks ago

Integer programming

Integer programming is a paradigm in which some or all decision variables are constrained to take values, typically to model choices such as selecting whole units or decisions. In the predominant case of linear programming, the objective function to maximize or minimize is linear, as are the and constraints defining the . The integrality requirement introduces combinatorial , rendering general programs NP-hard and computationally intractable for large instances without or heuristics, in contrast to the polynomial-time solvability of their relaxations obtained by ignoring integrality. approaches rely on techniques such as branch-and-bound of subproblems, cutting-plane methods to tighten relaxations by adding valid inequalities, and polyhedral to exploit problem structure via facet-defining inequalities. Pioneered by Gomory's fractional cutting planes in 1958, these methods have evolved with computational advances, enabling commercial solvers to handle problems with millions of variables and constraints in applications like and network design. Integer programming models arise in diverse fields, including , where variables represent indivisible batch sizes; vehicle routing, capturing depot selections; and , enforcing all-or-nothing project investments. Mixed-integer variants allow continuous variables alongside integers, broadening applicability to systems like blending processes with setup decisions, while pure integer forms suit purely discrete scenarios such as or set covering. Despite theoretical intractability, empirical progress in presolving, detection, and learning-augmented heuristics has dramatically expanded solvable problem scales since the 1970s advent of practical branch-and-cut frameworks.

Definition and Formulation

Mathematical Foundations

Integer programming encompasses optimization problems where decision variables are restricted to values, distinguishing it from continuous by the requirement that solutions lie at lattice points within the defined by linear s. The core mathematical structure involves a linear maximized or minimized to linear inequalities and non-negativity conditions, with the integrality applied to all or a of s. In pure integer programming, every x \in \mathbb{Z}^n must be ; in mixed-integer programming, only specified s carry this restriction, allowing continuous s for the remainder. The standard formulation of an integer linear program is to solve \max \mathbf{c}^T \mathbf{x} subject to A \mathbf{x} \leq \mathbf{b}, \mathbf{x} \geq \mathbf{0}, and \mathbf{x} \in \mathbb{Z}^n, where \mathbf{c} \in \mathbb{R}^n is the objective coefficient vector, \mathbf{b} \in \mathbb{R}^m the right-hand side vector, and A \in \mathbb{R}^{m \times n} the constraint matrix. This model generalizes to constraints via slack variables, transforming A \mathbf{x} + \mathbf{s} = \mathbf{b}, \mathbf{s} \geq \mathbf{0}, preserving the linear structure. The feasible set consists of integer points inside the defined by the (LP) relaxation, where integrality is ignored; optimal IP solutions coincide with extreme points of the of these integer points, though computing this hull directly is computationally intensive. Binary integer programming, a special case, restricts variables to \{0,1\}, enabling modeling of discrete choices such as selection or in combinatorial problems. General variables can be represented via binary expansion for bounded cases, decomposing x into \lfloor \log_2 U \rfloor + 1 variables weighted by powers of 2, where U is an upper bound, thus reducing to form at the cost of increased dimensionality. These formulations underpin the theoretical analysis of programs, revealing their inherent discreteness and non-convexity compared to LPs, which admit polynomial-time solvability via interior-point or methods.

Canonical and Standard Forms

The canonical form of an linear program expresses the as maximizing a linear objective function subject to constraints and non-negativity requirements on the decision variables, which are restricted to integers. Here, the decision vector \\mathbf{x} \\in \\mathbb{Z}^n, the objective coefficients form \\mathbf{c} \\in \\mathbb{R}^n, the right-hand side vector is \\mathbf{b} \\in \\mathbb{R}^m, and the constraint matrix is A \\in \\mathbb{R}^{m \\times n}. This privileges constraints for broad applicability in modeling resource limits or upper bounds. The standard form converts the canonical inequalities into equalities by introducing non-negative slack variables \\mathbf{s} \\in \\mathbb{R}^m_{\\geq 0}, yielding A \\mathbf{x} + \\mathbf{s} = \\mathbf{b} alongside the non-negativity and integrality on \\mathbf{x}. This transformation aligns integer programs with linear programming standards, enabling direct application of relaxation techniques like the simplex method for bounding in branch-and-bound algorithms. Both forms assume maximization without loss of generality, as minimization converts via negating the objective, and unrestricted variables can be split into positive and negative components.

Illustrative Examples

A basic example of integer programming involves optimizing over lattice points within a polyhedral . Consider maximizing y subject to -x + y \leq 1, $3x + 2y \leq 12, $2x + 3y \leq 12, and x, y \geq 0 integers. The integer-optimal solutions are at (1,2) and (2,2), both with objective value 2. Relaxing to continuous variables yields an optimum near (1.8, 2.8) with value 2.8, illustrating the gap between integer and solutions due to integrality constraints. The 0-1 provides another fundamental illustration: maximize \sum p_j x_j subject to \sum w_j x_j \leq W and x_j \in \{0,1\} for items with profits p_j and weights w_j, where W is capacity. This models selecting non-divisible items to maximize value without exceeding weight, a canonical pure program with one . Combinatorial problems like minimum demonstrate mixed-integer formulations. For G = (V, E), minimize \sum_{v \in V} y_v subject to y_u + y_v \geq 1 for all edges \{u,v\} \in E and y_v \in \{0,1\}, where y_v = 1 if v is selected. This ensures every edge is incident to at least one selected , capturing NP-hard covering structures solvable via integer programming.

Historical Development

Origins in Linear Programming (1940s-1960s)

Linear programming emerged in the late 1940s as a method for optimizing continuous variables subject to linear constraints, with developing the in 1947 to solve such problems efficiently. This framework was initially applied to in during and after , where decision variables often represented indivisible quantities like units of equipment or personnel, necessitating integer values. Practitioners quickly recognized that standard relaxations—treating integer constraints as continuous—frequently yielded non-integer solutions suboptimal for real-world discrete applications, prompting the need for specialized integer programming techniques. In the early 1950s, initial approaches to integer programming involved relaxing problems to linear programs and manually enumerating or adjusting solutions to enforce integrality, often combined with bounding strategies. A seminal early application occurred in 1954 when Dantzig, Fulkerson, and Johnson tackled the traveling salesman problem, employing linear programming relaxations to generate lower bounds and systematically enumerating subtours to find optimal integer solutions, effectively pioneering decomposition and bounding ideas for combinatorial integer programs. These efforts highlighted the computational challenges of integrality, as linear programming polyhedra often contained fractional vertices distant from integer points, requiring methods to tighten relaxations or search discrete feasible regions. The late 1950s marked algorithmic breakthroughs, with Ralph Gomory developing the first in 1958 while at the , introducing fractional cuts derived from tableaux to eliminate non-integer solutions and prove convergence to integer optima for pure integer programs. Independently, A.H. Land and A.G. Doig formalized the branch-and-bound algorithm in 1960, partitioning the feasible region into subproblems with added constraints on variables to prune non-optimal branches using bounds. These innovations, building directly on infrastructure, established integer programming as a distinct yet intertwined field, enabling systematic solution of small-to-medium problems despite their inherent . By the mid-1960s, implementations of these methods on early computers demonstrated practical viability for specific applications, though general scalability remained limited.

Key Algorithmic Breakthroughs (1970s-1990s)

In 1973, Vašek Chvátal formalized the Chvátal-Gomory cutting plane procedure, which generates valid inequalities for the integer hull by rounding coefficients of relaxations while preserving feasibility for integer solutions; this method iteratively tightens bounds by deriving cuts such as cx \leq d from inequalities Ax \leq b where c is integral and d = \lfloor c^T b / \|c\|_1 \rfloor, offering a finite convergence guarantee under certain conditions despite potential numerical instability in practice. These cuts advanced beyond earlier Gomory fractional cuts by emphasizing polyhedral closure and integrality proofs, influencing subsequent separation oracles and facet-defining inequalities in . The 1980s saw a theoretical milestone with Hendrik W. Lenstra Jr.'s 1983 algorithm, which solves integer linear programs in time when the number of variables n is fixed, achieving $2^{O(n^3)} \cdot poly(m, \log B) where m is constraints and B bound sizes; it relies on a flatness theorem for lattices and recursive decomposition into lower-dimensional subproblems via basis reduction. This breakthrough resolved a long-standing question on fixed-parameter tractability, though impractical for large n due to exponential dependence, it spurred research in and extensions for variable dimensions. By the early 1990s, branch-and-cut frameworks integrated branch-and-bound with dynamic cutting plane generation, culminating in Manfred Padberg and Giovanni Rinaldi's 1991 algorithm for the symmetric traveling salesman problem, which solved instances up to 532 cities to optimality by iteratively adding problem-specific facets like comb inequalities within relaxations at nodes. This hybrid approach, leveraging separation routines and stabilization techniques, dramatically expanded solvable problem sizes—e.g., from dozens to hundreds of variables—paving the way for commercial solvers and demonstrating empirical efficacy on structured mixed-integer programs despite worst-case hardness.

Computational Maturation (2000s-Present)

The period from the 2000s onward marked a phase of computational maturation in integer programming, characterized by exponential gains in solver efficiency that transformed it from a niche academic tool into a of industrial optimization. Refinements to branch-and-cut algorithms, including stronger cutting planes such as mixed-integer (MIR) cuts and enhanced Gomory cuts, alongside advanced presolving techniques that reduce problem size by detecting redundancies and tightening bounds, enabled solvers to tackle instances with thousands of variables and constraints previously deemed intractable. methods for rapid feasible solution generation, such as local branching and relaxation-induced neighborhood search, further accelerated practical deployment by providing high-quality incumbents early in the search process. Commercial solvers drove much of this progress, with IBM's CPLEX undergoing iterative enhancements in barrier methods for relaxations and parallel branch-and-bound exploration, while Gurobi Optimization, founded in 2008 by former CPLEX developers Robert Bixby, Zonghao Gu, and Edward Rothberg, introduced innovations like concurrent optimization across multiple threads and adaptive tuning for cut selection. Open-source alternatives, notably SCIP (Solving Integer Programs), initiated around 2002 as a framework for mixed-integer nonlinear programming extensible to linear cases, contributed through modular plugin architectures that facilitated community-driven improvements in handling and strategies like Dantzig-Wolfe and Benders methods. These developments were complemented by hardware advances, including multi-core processors, which solvers exploited via parallelism in node exploration and cut separation. Benchmark evaluations underscore the scale of improvement: on MIPLIB 2017 instances, 2020-era solvers resolved 149 of 240 mixed-integer linear problems within 24 hours (geometric mean solve time of 104 seconds), whereas 2001 solvers failed all such cases; algorithmic speedups alone reached approximately 50-fold for overlapping solvable instances, with total effective gains (including ) nearing 1,000-fold. Broader analyses indicate solver software for mixed-integer programming accelerated by roughly 5 million times from 1989 to 2024, with CPLEX achieving 30,000-fold gains from 1991 to 2008 and Gurobi adding 178-fold from 2009 to 2023, outpacing improvements by orders of magnitude. This maturation has causal implications for real-world applications, as evidenced by routine solving of , scheduling, and models at scales unimaginable two decades prior, though persistent challenges remain in highly combinatorial structures requiring custom extensions.

Computational Complexity

Theoretical Hardness Results

The for programming—determining whether there exists an \mathbf{x} satisfying A\mathbf{x} \leq \mathbf{b} with \mathbf{x} \geq \mathbf{0}—is NP-complete. This result holds even for the special case of 0-1 programming, where variables are restricted to \{0,1\}, via a from 3-SAT that encodes clauses as linear inequalities enforcing satisfiability constraints. Similarly, reductions from SAT construct general programs by representing boolean variables and clause implications through inequalities with small coefficients, preserving the input size. Integer programming is strongly NP-hard, meaning the NP-hardness persists even when all data (coefficients in A and \mathbf{b}) have constant bit length, independent of the problem size; this rules out pseudo-polynomial algorithms unless P=NP, unlike weakly NP-hard problems such as the . For instance, the problem reduces to integer programming with unit coefficients, yielding hardness without reliance on large numbers. A notable exception occurs when the number of variables n is fixed: Lenstra's 1983 algorithm solves integer programming feasibility in polynomial time for constant n, using lattice basis reduction to enumerate relevant regions, with time complexity $2^{O(n^3)} \cdot \text{poly}(m, \log(\max|b_i|)) where m is the number of constraints. For optimization, the same approach extends by binary search over the objective value. However, the exponent grows rapidly with n, rendering it impractical beyond small fixed dimensions, and the general variable-n case remains intractable.

Empirical Performance and Scalability

Modern mixed-integer programming (MIP) solvers demonstrate strong empirical performance on benchmark instances, routinely achieving optimality or near-optimality within seconds to hours on contemporary hardware. The MIPLIB 2017 collection, comprising 1,065 instances with a curated benchmark subset of 240, serves as a primary standard for evaluating solver efficacy, where commercial tools like Gurobi and CPLEX solve the majority of cases efficiently due to advanced branch-and-cut implementations. Open-source alternatives such as SCIP also perform competitively on these sets, particularly for mixed-integer nonlinear extensions, though they lag behind commercials in aggregate speed. Comparative benchmarks across domains, including genome-scale metabolic models, highlight Gurobi's edge in solve times over CPLEX and SCIP, with Gurobi often completing flux balance analyses fastest while SCIP trails due to weaker presolving on large linear relaxations. A comprehensive of solver evolution from 2001 to 2020 reveals that the virtual best MILP solver of 2001 was outperformed by 2020 counterparts by factors exceeding 10^6 in performance profiles, reflecting algorithmic refinements in cutting planes, heuristics, and node selection. Recent surveys underscore ongoing gains in exact methods, with parallelism and integrations further boosting throughput on multi-core systems. Scalability in practice extends to problems with thousands to millions of variables and constraints, especially those exhibiting sparsity or exploitable structure, as evidenced by routine solutions in and scheduling applications. For instance, specialized variants achieve near-linear complexity up to 100,000 variables in structured integer linear programs via tailored . Unstructured dense instances remain challenging, often capping at hundreds of variables for guaranteed optimality, though heuristics yield practical bounds. and software synergies have amplified effective speed by orders of magnitude since , enabling MIPLIB-scale benchmarks to run in fractions of prior times. Limits persist for highly combinatorial problems without reformulation, where branching dominates despite presolve reductions.

Solution Methods

Exact Algorithms

Exact algorithms for integer programming guarantee the identification of a global optimum by exhaustively searching the feasible integer points while leveraging relaxations to prune the search space efficiently. These methods typically begin with the (LP) relaxation, obtained by relaxing integer constraints to continuous bounds, which provides an initial bound on the optimal value. If the LP optimum is integer-feasible, it solves the problem; otherwise, techniques refine the relaxation or partition the space to enforce integrality. Modern implementations integrate solvers, such as variants of the simplex method, to handle relaxations at each step. Branch-and-bound (B&B) forms the core of many exact solvers, systematically dividing the problem into subproblems via a tree search. Introduced by Land and Doig in , the algorithm solves the relaxation at the root node and branches on a fractional , imposing and constraints to create child nodes. Bounds from these relaxations—upper for maximization, lower for minimization—allow fathoming branches that cannot yield better solutions than the current best . occurs if a node's bound is worse than the or if the subproblem is infeasible, ensuring termination with the optimum upon exhausting the tree. Variable selection strategies, such as most fractional or pseudocost branching, and strong bounding enhance efficiency. Cutting plane methods strengthen the LP relaxation by adding valid inequalities that eliminate fractional solutions without excluding integer optima. Gomory's pioneering work in 1958 developed finite cutting plane procedures for pure integer programs, deriving cuts from the simplex tableau of an optimal fractional LP solution. For instance, Gomory fractional cuts exploit the form of basic variables expressed as non-integer linear combinations of originals, yielding inequalities like \sum a_j x_j \geq \lceil b \rceil for positive coefficients. These are iteratively added until an integer solution emerges, though pure cutting planes can generate many constraints. Chvátal-Gomory cuts generalize this by applying rounding to any valid inequality. Branch-and-cut combines B&B with cutting planes, generating and applying cuts dynamically at tree nodes to tighten relaxations and reduce the enumerated space. This hybrid approach, prevalent in solvers since the 1990s, separates cut generation from the LP solver for modularity, employing libraries of problem-specific cuts (e.g., Gomory mixed-integer cuts for mixed-integer programs) alongside generic ones. Stabilization techniques, like adding cuts gradually or using aggregation, prevent numerical instability from excessive constraints. Empirical evidence shows branch-and-cut outperforming standalone B&B, solving instances with thousands of variables and constraints within hours on standard hardware. For structured problems, dynamic programming offers exact solutions by decomposing into with , computing values bottom-up via with . Though exponential in general dimensions, it excels in low-dimensional or knapsack-like cases, where states track partial sums or weights. Reformulations, such as network flows or shortest paths, enable polynomial-time exact for specific integer programs.

Heuristic Approaches

approaches in integer programming generate high-quality feasible solutions efficiently, forgoing optimality guarantees to tackle computationally demanding instances where exact methods falter. Integrated into modern mixed-integer programming solvers, these techniques furnish incumbent solutions that inform branch-and-bound processes or approximate optima under time limits. Linear programming-based heuristics leverage the relaxation of the mixed-integer program. Rounding methods derive an LP solution and convert fractional integer variables to nearest , with subsequent adjustments to restore feasibility if needed. Diving heuristics progressively fix variables to integer values informed by the LP solution—often prioritizing objective-favorable —and iteratively resolve the tightened LP to direct additional fixings, variants including tuning and pseudocost-guided . The feasibility pump, developed by Fischetti, Glover, and Lodi in 2005, exemplifies an advanced LP-based method. It cycles between rounding a continuous relaxation solution to an approximation and minimizing the distance from that approximation to the feasible set via a continuous solve, converging toward a feasible integer solution; enhancements like perturbations in later variants promote diversity. Mixed-integer programming-based heuristics frame subproblems as . Local branching, introduced by Fischetti and Lodi in 2003, confines exploration to neighborhoods of an solution via constraints bounding changes in integer variables, such as limits of 10 or 20. Relaxation Induced Neighborhood Search fixes variables matching between the and the node's relaxation, then resolves the reduced . Metaheuristics adapt trajectory and population strategies—, , genetic algorithms—for MIP, typically via hybrid matheuristics incorporating exact sub-solvers or decoders mapping to feasible integers. Empirical assessments reveal heuristics often secure near-optimal or optimal solutions in seconds for cases demanding hours for full resolution, though their role skews toward bounds over proofs.

Exploitable Problem Structures

Certain integer linear programming problems possess constraint structures that guarantee the linear programming (LP) relaxation yields integer-optimal solutions, enabling polynomial-time solvability via standard algorithms such as the simplex method. A primary such structure arises when the constraint matrix A is totally unimodular (TU), defined as a matrix where the determinant of every square submatrix is -1, $0, or $1. For an program \max \mathbf{c}^\top \mathbf{x} subject to A\mathbf{x} = \mathbf{b}, \mathbf{x} \geq \mathbf{0}, with A TU and \mathbf{b} integer-valued, the \{ \mathbf{x} \mid A\mathbf{x} = \mathbf{b}, \mathbf{x} \geq \mathbf{0} \} has integer vertices, ensuring the LP optimum is integer. This property extends to inequality forms A\mathbf{x} \leq \mathbf{b} by converting to equality via variables, preserving TU if the original A is TU. TU matrices characterize several combinatorial optimization problems with integral polyhedra. Notable examples include the node-arc of a , which is TU and underlies minimum-cost flow problems solvable in O(nm \log n (m + n \log n)) time using combinatorial algorithms or . Similarly, the of a is TU, rendering the —maximizing \sum c_{ij} x_{ij} subject to row and column sum constraints—efficiently solvable, as its relaxation yields assignments. Transportation problems, with TU supply-demand constraints, also benefit, allowing -based solutions without branch-and-bound. These structures exploit the absence of fractional vertices in the polytope, avoiding the integrality gap prevalent in general programs. Beyond strict TU, certain nearly totally unimodular matrices enable strong proximity bounds between and optima, facilitating faster exact solving via orbital branching or reduced enumeration in branch-and-bound frameworks, though these yield approximations rather than guaranteed integrality without additional cuts. In network design and scheduling applications, partial TU substructures (e.g., in rows) can be exploited by specialized reformulations or , decomposing the problem into TU subproblems solvable independently before aggregation. Detection of TU or matrices in practice relies on graph-theoretic checks, such as verifying bipartiteness for incidence matrices, which run in linear time.

Variants

Mixed-Integer Linear Programming

Mixed-integer (MILP) extends by permitting a of decision variables to remain continuous while requiring others to attain values, within a framework of linear objectives and constraints. This hybrid structure models real-world scenarios involving discrete selections alongside quantifiable flows or levels, such as facility activation decisions coupled with material transport volumes. The canonical MILP formulation minimizes \mathbf{c}^T \mathbf{x} subject to A \mathbf{x} = \mathbf{b}, bounds l \leq \mathbf{x} \leq u, and integrality constraints on designated components of \mathbf{x}. variables, constrained to {0,1}, frequently encode on/off choices or logical disjunctions, often implemented via big-M constraints or specialized solver features to linearize conditional expressions. Distinct from pure programming, which mandates integrality across all variables, MILP's continuous variables preserve tractable relaxations as lower bounds for bounding in search algorithms. Solution methods rely on relaxing integrality to yield convex linear programs, then branching on fractional integer candidates while incorporating cuts to refine polyhedral approximations of the feasible set. Formulation quality profoundly influences computational tractability, as compact, tight relaxations—achieved through techniques like lifted inequalities or reforms—reduce branching overhead and enhance efficacy in modern solvers. MILP dominates practical optimization in domains like , systems, and , where solvers such as Gurobi leverage presolving, parallelism, and for instances with thousands of variables.

Integer Nonlinear Programming

Integer nonlinear programming refers to optimization problems in which some or all decision variables are constrained to values and either the objective function or the constraints incorporate nonlinear relationships. These problems generalize both linear programming, by allowing nonlinearity, and , by imposing integrality restrictions. Formally, a mixed-integer nonlinear program (MINLP), the predominant variant that permits both integer and continuous variables, can be stated as minimizing f(\mathbf{x}, \mathbf{y}) subject to g_i(\mathbf{x}, \mathbf{y}) \leq 0 for i = 1, \dots, m, h_j(\mathbf{x}, \mathbf{y}) = 0 for j = 1, \dots, p, \mathbf{x} \in \mathbb{Z}^{n_1}, and \mathbf{y} \in \mathbb{R}^{n_2}, where f, g_i, and h_j are nonlinear functions. Unlike mixed-integer linear programs (MILPs), which benefit from polyhedral relaxations and efficient cutting-plane methods, MINLPs often feature nonconvex nonlinearities that introduce multiple local optima and exacerbate the integrality gap. Pure integer nonlinear programs, with all variables integer-valued, further complicate matters by lacking continuous relaxations, rendering standard nonlinear solvers inapplicable without reformulation. Computational challenges stem from the of integer choices combined with the need to navigate nonconvex feasible regions, leading to NP-hard complexity even for restricted cases; for instance, problems with bilinear terms alone remain NP-hard. Certain nonconvex MINLPs can be undecidable due to nonlinearities capable of encoding undecidable problems like the , though practical instances typically avoid such pathology. Exact solution methods extend branch-and-bound (B&B) frameworks from MILP by solving nonlinear program (NLP) relaxations at tree nodes, using techniques like spatial branching on continuous variables alongside integer branching. For convex MINLPs, decomposition approaches such as outer approximation (OA), which linearizes nonlinear constraints around trial points to generate MILP master problems, or generalized Benders decomposition (GBD), which dualizes complications via subproblems, provide convergence guarantees under regularity conditions like constraint qualifications. Nonconvex cases require global optimization variants, including alpha-BB underestimators for twice-differentiable functions or multistart heuristics within B&B, though these scale poorly beyond moderate sizes (e.g., hundreds of variables). Reformulations, such as piecewise linear approximations of nonlinear terms or perspective functions for certain factorable forms, can transform MINLPs into MILPs or convex equivalents, but introduce auxiliary variables and potential loss of exactness. Heuristic and hybrid methods dominate large-scale applications, including genetic algorithms, , or surrogates to guide branching and pruning. For example, decomposition-based heuristics iteratively solve restricted NLPs or MILPs, using to handle couplings. Commercial solvers like employ deterministic global B&B with McCormick relaxations for factorable nonconvexities, achieving optimality gaps under 1% on benchmark sets like MINLPLib as of 2012 updates, though performance degrades with signomial terms or high-dimensional nonconvexity. Empirical studies highlight that convexifiable structures, such as posynomial objectives, enable efficient local solvers like within B&C frameworks, but general nonconvex MINLPs often necessitate problem-specific exploitations.

Extensions to Uncertainty

Integer programming formulations often assume deterministic parameters, but real-world applications frequently involve in such as demand forecasts, costs, or capacities, necessitating extensions that incorporate probabilistic or adversarial models of variability. These extensions maintain the integer constraints while adapting optimization objectives to account for incomplete knowledge, typically through recourse actions, worst-case guarantees, or distributional assumptions. Stochastic integer programming (SIP) models uncertainty via known probability distributions over parameters, distinguishing between here-and-now decisions (made before uncertainty realization) and wait-and-see recourse decisions (adapted afterward). In two-stage SIP, first-stage variables are often integer to represent committing resources like facility openings, while second-stage variables handle outcomes across scenarios, potentially also integer-valued to enforce discrete adjustments; the objective minimizes first-stage costs plus expected recourse costs. Multi-stage variants extend this to sequential decisions over time horizons with evolving uncertainty, solved via decomposition methods like stochastic dual dynamic integer programming, which leverages integer properties for bounding and branching. SIP problems inherit the combinatorial hardness of integer programming, with solution times scaling poorly beyond dozens of scenarios due to the need for scenario trees or sample averages, though progress in hybrid branch-and-cut approaches has enabled applications in energy planning and supply chains as of 2021. Robust integer programming, by contrast, eschews probabilistic assumptions for sets defining feasible parameter perturbations, optimizing decisions to remain feasible and near-optimal under any realization within the set, often via worst-case maximization over adversaries. For instance, Bertsimas-style budgeted allows controlled conservatism, reformulated as mixed-integer programs solvable by standard solvers when the underlying Graver basis (encoding integer dependencies) is precomputed, achieving polynomial-time solvability for fixed-width bases despite general . Multi-stage robust mixed-integer programs extend this to dynamic settings, using affine decision rules or reformulations for recourse, with applications in robust scheduling where solutions via semi-infinite programming have been demonstrated for problems up to 100 variables as of 2023. These approaches prioritize feasibility guarantees over expected performance, trading solution tractability for resilience against model misspecification in distributions. Chance-constrained integer programming further bridges and robust paradigms by enforcing constraints to hold with high probability (e.g., 95% reliability), often approximated via reduction or safe approximations, though variables complicate exact reformulation and increase computational demands. Distributionally robust variants amplify this by optimizing over sets of distributions, yielding conservative yet data-driven solutions; for example, moment-based in objective coefficients can be cast as tractable mixed- programs when training data informs set parameters, with empirical studies showing robustness to out-of-sample as of 2023. Overall, these extensions amplify the inherent complexity of programming, with ongoing research focusing on scalable heuristics and to handle instances beyond small-scale exact solves.

Applications

Optimization in Manufacturing and Logistics

Integer programming formulations enable precise optimization of discrete decisions in , such as determining production quantities and batch setups under capacity limits. In , mixed-integer linear programming models account for setup costs and times by introducing binary variables to indicate production runs, alongside integer variables for lot sizes, minimizing total costs while satisfying demand over multiple periods. For example, in sawn timber , a mixed-integer linear programming model optimized operations by selecting cut patterns to minimize waste, integrated with a population-based for solution, demonstrating feasibility for practical instances with dozens of logs and patterns. In steelmaking-continuous processes, mixed-integer programming schedules sequences of casts and setups to adhere to compatibility constraints between grades, reducing delays and improving throughput; a 2005 model handled up to 20 casts per sequence with slab matching to widths. In grain handling facilities, mixed-integer programming optimizes blending and storage decisions, incorporating integer constraints for truck loads and bin assignments to minimize transportation and operational costs. A 2022 application in a grain terminal used such models to select harvesting machinery and routes, achieving up to 15% cost reductions in simulated scenarios compared to manual planning. These models leverage branch-and-bound or cutting-plane methods to enumerate feasible integer solutions, ensuring global optimality for problems with up to thousands of variables when structures like total unimodularity are absent, necessitating exact algorithms over relaxations. Logistics applications rely on for and design, where variables represent edge selections in graphs to model indivisible shipments or assignments. The , a core challenge, is formulated as an program minimizing total distance subject to and depot constraints, with subtour elimination via inequalities; extensions to time windows add further variables for sequencing. In automotive inbound , a mixed- linear model optimized milk-run routes for parts , integrating supplier clustering and loading, solved via Gurobi to yield schedules with 10-20% fewer than heuristics in test cases with 50 suppliers. optimization employs mixed- to select warehouse locations and flows, balancing fixed opening costs against transportation savings; a periodic review policy integrated with models minimized inventory across echelons, reducing holding costs by coordinating order-up-to levels in multi-supplier chains. Facility location-allocation problems in logistics use 0-1 integer variables to decide site openings from candidate sets, minimizing sum of fixed and variable costs; a 2023 case in Iranian chain stores solved such a model for 15 potential locations serving 100 demand points, achieving 12% cost savings over greedy placements via exact solving with LINGO. Reverse logistics for returns handling applies integer programming to route collections and allocate processing capacities, as in a model minimizing transportation for product recovery networks with integer flow variables enforcing capacity discreteness. Empirical scalability in logistics often requires decomposition, such as Benders' for large-scale routing, enabling solutions for instances with hundreds of nodes where pure integer programming would exceed computational limits.

Scheduling and Timetabling

Integer programming models are widely employed in scheduling problems to optimize the allocation of jobs to machines or time slots under constraints such as precedence relations, resource availability, and non-overlap requirements. In , which involves sequencing operations across multiple machines for each job to minimize , formulations typically use variables to enforce disjunctive ordering constraints between operations competing for the same machine, as in the classic model proposed by Manne in 1960 and refined in subsequent works. Time-indexed integer approaches further discretize time horizons into slots, assigning indicators for operation starts while bounding completion times via cumulative constraints, enabling exact solutions for small to medium instances via branch-and-bound solvers. Timetabling problems, a specialized of scheduling focused on periodic assignments like to timeslots or exams to periods, leverage similar formulations but emphasize and fairness objectives. For timetabling, mixed- programming models assign lectures to and times while incorporating choices, preferences, and limits; a 2022 formulation maximized satisfaction by jointly optimizing allocations and timetables, solving instances with hundreds of using commercial solvers like CPLEX. School timetabling often employs linear programming for cohort-based structures, where variables ensure no or overlaps across groups, with objectives minimizing idle times or deviations from preferences, as demonstrated in models handling up to 40 and 20 periods. Examination timetabling uses programs to minimize conflicts, defined as pairs of exams taken by the same student in overlapping slots, with assignment variables subject to room and invigilator constraints; a 2024 model for this NP-hard problem incorporated time windows and consecutive period penalties, achieving optimal solutions for datasets with over 1,000 exams via hybrids. Conference scheduling extends these to multi-track events, modeling session assignments with variables for timeslots and rooms to balance attendance and speaker constraints, with recent 2024 approaches handling thousands of talks through compact formulations that reduce variable counts by aggregating symmetric slots. These applications highlight integer programming's strength in providing provably optimal solutions for tractable instances, though large-scale problems often require hybridization with heuristics due to .

Network and Infrastructure Design

Integer programming formulations are employed in network design to optimize the selection and configuration of discrete elements, such as links, nodes, and capacity modules, minimizing construction and operational costs while ensuring requirements like connectivity, traffic capacity, and survivability against failures. These problems often involve binary variables indicating whether to build a component and integer variables for quantities like cable counts or facility sizes, subject to constraints on demand satisfaction and budget. For instance, in telecommunication backbone networks, mixed-integer programs model multi-layer routing and dimensioning to support unsplittable flows, achieving optimality gaps below 0.3% in large-scale instances with thousands of links using branch-and-cut solvers. In telecommunication infrastructure, integer linear programs address frequency assignment in networks by minimizing interference through constraints, yielding feasible solutions that reduced interference by 83.6% in a Berlin-Dresden deployment with 2,877 carriers across 50 channels. location problems, such as selecting hub sites from 750 candidates, are solved exactly via 0-1 integer programs with around 100,000 variables, enabling optimal placement of 10 primary and 20 secondary nodes in seconds using commercial solvers like CPLEX. Survivable network design extends this by incorporating failure scenarios, formulating minimum-cost edge selections to maintain multi-commodity flows under single-link disruptions, as in models for k--connected subgraphs. Transportation infrastructure leverages mixed-integer programming for road and layout, such as forest road systems where binary decisions on road segments minimize earthwork volumes and lengths while connecting harvest areas to mills, as demonstrated in optimization models balancing and environmental constraints. In power grid design, integer programs select lines and placements to optimize flow under integer capacity constraints, tractable via modern solvers for realistic grids despite . These applications in electric infrastructure planning integrate renewables, using nested mixed-integer formulations to decide on peaking units and storage amid uncertainty, prioritizing long-term cost minimization over decades.

Finance and Resource Allocation

Integer programming models are employed in finance to address discrete decision-making under constraints, particularly in capital budgeting where firms select mutually exclusive or independent investment projects to maximize value while adhering to limited capital resources. In such formulations, binary variables indicate project acceptance (1) or rejection (0), with the objective maximizing the sum of net present values and constraints enforcing budget limits and precedence relationships. These 0-1 integer programs extend the classical knapsack problem, accounting for indivisibility of projects; for instance, computational studies on real firm data from the 1960s demonstrated that branch-and-bound algorithms could solve problems with up to 100 variables efficiently when dependencies were sparse. Portfolio optimization leverages mixed-integer programming to incorporate realistic constraints absent in continuous models, such as cardinality limits on the number of assets held to reduce diversification costs or minimum trade sizes due to liquidity requirements. Binary variables enforce these thresholds, while continuous variables represent fractional allocations; for example, a mixed-integer quadratic program minimizes variance subject to expected return targets and at most k assets selected, solvable via successive linear approximations. Fixed transaction costs are modeled by introducing binary indicators for trades exceeding zero, transforming the problem into a mixed-integer linear program that balances rebalancing benefits against costs, as applied in practitioner tools for index tracking. In contexts within , integer programming optimizes the distribution of indivisible funds across competing uses, such as portfolios or hedging instruments, where variables denote quantities allocated to ensure coverage without fractional commitments. Multinational firms have used integer programs under rationing to prioritize investments across periods, incorporating cash flows and via scenario-based constraints; empirical applications show improvements over rankings by 5-15% in selected value. These models prioritize empirical solvability, often relaxing to linear programs for bounds before branching on s, highlighting IP's role in causal trade-offs between , , and feasibility in discrete settings.

Recent Advances and Challenges

Improvements in Solver Technology

Advancements in integer programming solvers have centered on refining the branch-and-bound algorithm through integration of cutting planes, yielding the branch-and-cut paradigm, which tightens relaxations by dynamically adding valid inequalities to improve bounding and reduce the search tree size. This approach has evolved with sophisticated cut selection and separation heuristics, enabling solvers to handle instances with thousands of variables and constraints that were intractable decades ago. Algorithmic progress from 2001 to 2020 amplified solver efficacy, with relaxations benefiting from roughly nine-fold improvements due to enhanced and interior-point methods, while mixed-integer aspects saw compounded gains from better selection, pseudocost branching, and presolving reductions that eliminate redundant variables and constraints early. heuristics, invoked at multiple stages such as root processing or post-presolve, have proliferated in modern solvers, with dozens of variants like , , and local search contributing to faster feasible solution discovery; a 2025 analysis highlights their role in closing optimality gaps on challenging benchmarks. Machine learning integrations represent a frontier, including supervised and for adaptive cut generation and parameter tuning, achieving up to orders-of-magnitude speedups on structured problems by predicting effective branching variables or types. Techniques borrowed from satisfiability solvers, such as pseudo-conflict-directed clause learning, enhance in branch-and-cut to propagate tighter bounds and prune infeasible subtrees more efficiently. Commercial implementations, exemplified by Gurobi's iterative releases, deliver measurable gains like 16% overall faster mixed-integer solving and 26% on models exceeding 100 seconds, driven by refined dual for relaxations and tree exploration. Emerging hardware accelerations, particularly GPU-optimized barrier methods for subproblems within mixed-integer frameworks, address bottlenecks in large-scale and scheduling, with reported breakthroughs in solving dense systems previously limited by iterations. These developments, combined with hardware speedups averaging 20-fold over two decades, have democratized access to optimal solutions for applications, though open-source solvers lag commercial ones by factors of 10-20 on average due to less refined interior-point implementations and fewer heuristics.

Persistent Limitations and Open Questions

Despite algorithmic advances such as branch-and-cut and methods, integer programming retains inherent limitations stemming from its ; the of determining feasibility for a general linear program is NP-complete, precluding -time solvability for arbitrary instances unless P=. In fixed dimension, solvability improves to time via algorithms like Lenstra's ellipsoid-based approach from , but variable dimension exacerbates exponential growth in search tree sizes for branch-and-bound solvers. Practical scalability constraints persist, particularly for large-scale mixed-integer programs with thousands of variables and constraints, where modern solvers like Gurobi or SCIP often fail to guarantee optimality within reasonable time limits due to weak relaxations or vast enumeration spaces. These issues manifest causally from the nature of constraints, which introduce integrality gaps and non-convexity absent in continuous , leading to unreliable bounding and prolonged runtimes in applications like network design or scheduling. Open questions center on enhancing decomposition techniques, such as Benders and Dantzig-Wolfe, to handle emerging complexities in nonlinear or extensions, while theoretical gaps remain in deriving tight approximation ratios for NP-hard subclasses like the traveling salesman problem formulated as IP. Integration of for predictive presolving and guidance shows promise but lacks rigorous worst-case guarantees, prompting research into hybrid frameworks that preserve exactness. Additionally, the efficacy of for IP remains unresolved, with empirical scaling advantages unproven for industrially relevant sizes beyond contrived benchmarks.

References

  1. [1]
    What is integer programming? - IBM
    Integer programming expresses the optimization of a linear function subject to a set of linear constraints over integer variables.
  2. [2]
    Integer Optimization - Gurobi
    Integer optimization, or integer programming, is a specialized area within mathematical optimization that addresses problems requiring variables to be integers ...
  3. [3]
    Integer Programming - MATLAB & Simulink - MathWorks
    Integer programming is minimizing or maximizing a function subject to equality, inequality, and integer constraints. Integer constraints restrict some or ...
  4. [4]
    [PDF] 10.1 Integer Programming and LP relaxation - cs.wisc.edu
    Definition 10.1.1 An integer program is a linear program in which all variables must be integers. As in a linear program, the constraints in an integer program ...
  5. [5]
    Integer Optimization - Quantum Computing Inc
    Integer problems tend to be harder​​ One key aspect of optimization is that problems can often become much harder when restricted to the domain of integers, ...Integer problems tend to be... · Integer Optimization · Integer linear programming...
  6. [6]
    [PDF] Integer Programming - MIT
    If the optimal values for the decision variables in the linear program are all integer, they are optimal; otherwise, a new cut is derived from the new optimal ...
  7. [7]
    50 Years of Integer Programming 1958-2008 - SpringerLink
    In 1958, Ralph E. Gomory transformed the field of integer programming when he published a paper that described a cutting-plane algorithm for pure integer ...
  8. [8]
    Last fifty years of integer linear programming: A focus on recent ...
    Aug 1, 2025 · We survey recent advances in developing exact solution methods for MILPs. We focus on computational aspects and recent practical performance improvements.
  9. [9]
    [PDF] Business Applications of Integer Programming
    Integer programming is used in business for new product development, production planning, real estate, route selection, and stock market transactions.
  10. [10]
    [PDF] Integer Programming - UW Math Department
    Set-covering problems have many applications in areas such as airline crew scheduling, political districting, airline scheduling, and truck routing. Either–Or ...
  11. [11]
    Integer Programming - an overview | ScienceDirect Topics
    Integer programming (IP) is defined as an optimization problem in which decision variables must take on integer values, with classifications into pure IP, ...
  12. [12]
    Evolution and state-of-the-art in integer programming - ScienceDirect
    We discuss the evolution of both technique and philosophy leading to the current state-of-the-art for modeling and solving this challenging class of problems.
  13. [13]
    A brief history of linear and mixed-integer programming computation
    Recent advances in integer programming software [34][35][36][37][38] [39] [40] has made it possible to obtain optimal solutions for large integer ...
  14. [14]
    [PDF] Integer Programming Formulation 1
    Formally, in an integer program some decision variables are forced to be integers. Note that this formulation differs from the corresponding LP formulation ...Missing: mathematical | Show results with:mathematical
  15. [15]
    Mixed-Integer Programming (MIP/MILP) – A Primer on the Basics
    Understand how Mixed-Integer Programming (MIP)and Mixed Integer Linear Programming (MILP) enable advanced decision-making through mathematical optimization.<|separator|>
  16. [16]
    [PDF] Lecture 18 Integer linear programming
    Integer linear programming. • a few basic facts. • branch-and-bound. 18–1. Page 2. Definitions integer linear program (ILP) minimize. cT x subject to Ax ≤ b x ...
  17. [17]
    [PDF] Lecture 2: Modeling and Formulation
    In the formulation, we specify constraints that ensure that the feasible solutions to the resulting mathematical optimization problem are indeed. “feasible” in ...
  18. [18]
    [PDF] A Tutorial on Integer Programming
    The purpose of this chapter is to show some interesting integer programming applications and to describe some of these solution techniques as well as.
  19. [19]
    Integer Linear Programming - Gurobi Optimization
    The canonical form represents ILP problems in a specific structure that facilitates the application of optimization algorithms. This form includes an ...
  20. [20]
    [PDF] 1 Vertex Cover via LP
    Jan 28, 2011 · We can formulate it as an integer linear programming problem as follows. For each vertex v we have a variable xv. We interpret the variable as ...
  21. [21]
    [PDF] LINEAR PROGRAMMING
    Integer Programming began in 1958 by R. E. Gomory. Unlike the earlier work on the traveling salesman problem by D. R. Fulkerson, S. M. Johnson and Dantzig ...
  22. [22]
    Optimization/Mathematical Programming - Informs.org
    In the 1970s, the IBM 360 class of computers was introduced, and stronger efforts for integer programming were made. Prior to the availability of commercial MP ...<|separator|>
  23. [23]
    [PDF] 1 CHAPTER XV: APPLIED INTEGER PROGRAMMING ...
    LP was invented in the late. 1940's. Those examining LP relatively quickly came to the realization that it would be desirable to solve problems which had some ...
  24. [24]
    George Dantzig's contributions to integer programming - ScienceDirect
    Dantzig, Fulkerson, and Johnson (DFJ from now on) pioneered the idea of employing linear programming relaxation and valid inequalities to solve integer programs ...
  25. [25]
    [PDF] 50 Years of Integer Programming 1958–2008 - UW Math Department
    The study of combinatorial optimization problems such as the traveling salesman problem has had a significant influence on integer programming. Fifty-plus ...
  26. [26]
    LP from the '40s to the '90s - jstor
    the work of Land and Doig in 1960, it gradually became practical to solve integer programming models of increasing size. (7) LP on computers: LP problems were.
  27. [27]
    Early Integer Programming - PubsOnLine
    During the academic year 1953–54, I was a third-year graduate student in mathematics at Princeton, doing research on nonlinear differential equations.
  28. [28]
    [PDF] ON CUTTING PLANES*
    We give a geometrical description of Chvatal's version of Gomory's cutting plane method. Restricting ourselves to rational spaces, we prove that the derived ...
  29. [29]
    On cutting-plane proofs in combinatorial optimization - ScienceDirect
    Gomory's cutting-plane technique can be viewed as a recursive procedure for proving the validity of linear inequalities over the set of all integer vectors ...
  30. [30]
    [PDF] INTEGER PROGRAMMING WITH A FIXED NUMBER OF VARIABLES*
    LENSTRA, JR. Universiteit van Amsterdam. It is shown that the integer linear programming problem with a fixed number of variables is polynomially solvable.
  31. [31]
    Integer Programming with a Fixed Number of Variables - PubsOnLine
    In this paper we consider the integer linear programming problem with a fixed value of n. In the case n = 1 it is trivial to design a polynomial algorithm for ...
  32. [32]
    A Branch-and-Cut Algorithm for the Resolution of Large-Scale ...
    A Branch-and-Cut Algorithm for the Resolution of Large-Scale Symmetric Traveling Salesman Problems. Authors: Manfred Padberg and Giovanni RinaldiAuthors ...
  33. [33]
    A Branch-and-Cut Algorithm for the Resolution of Large-Scale ... - jstor
    Abstract. An algorithm is described for solving large-scale instances of the Symmetric. Traveling Salesman Problem (STSP) to optimality. The core of the ...
  34. [34]
    Our Story - Gurobi Optimization
    In 2008, our founders created Gurobi Optimization with a single, simple vision: To build the world's fastest and most powerful mathematical optimization solver ...
  35. [35]
    [PDF] Progress in Mathematical Programming Solvers from 2001 to 2020
    Jun 23, 2022 · This study investigates the progress made in lp and milp solver performance during the last two decades by comparing the solver software ...
  36. [36]
    SCIP
    SCIP is currently one of the fastest non-commercial solvers for mixed integer programming (MIP) and mixed integer nonlinear programming (MINLP). It is also a ...Installing SCIP · SCIP C-API · First Steps Walkthrough · Interfaces
  37. [37]
    Solver performance: 1989 vs 2024
    Jan 5, 2024 · In this article, we estimate the magnitude of speed improvement for optimization solvers and computer hardware in the 35 years from 1989 to 2024.1989: Crossword Compilation... · Computer Improvements · Solver Improvements
  38. [38]
    [PDF] Lecture 5 Integer Programming
    The Integer Programming problem (IP) is that of deciding whether there exists an integer solution to a given set of m rational inequalities on n variables.
  39. [39]
    Proving 0-1 integer programming is NP-complete (using reduction ...
    In this post, we will prove that 0-1 integer programming is NP-complete using a reduction from 3-CNF-SAT (which is NP-complete). We will follow the template ...
  40. [40]
    [PDF] NP-completeness of Some Number Theory Problems
    Is Integer Programming (IP). NP-Hard? Theorem: Integer Programming is NP-Hard. Proof: By reduction from Satisfiability (SAT ≤ p IP). • Take an instance of SAT ...<|control11|><|separator|>
  41. [41]
    [PDF] THE COMPUTATIONAL COMPLEXITY OF LINEAR ...
    Sep 9, 2025 · In this section, we prove that solving integer linear programs is NP-hard, even if they have only a polynomial number of constraints. THEOREM 2.
  42. [42]
    On the Computational Complexity of Integer Programming Problems
    In this paper a general integer programming problem is shown to be NP-complete; the proof given for this result uses only elementary linear algebra.
  43. [43]
    [PDF] On the Complexity of Integer Programming - LARA
    In this note we show that there is a pseudopolynomial algorithm for the problem that results by extending the knapsack problem in all three directions above.Missing: hard | Show results with:hard
  44. [44]
    [PDF] The Computational Complexity of Integer Programming ... - DROPS
    Abstract. We prove that integer programming with three alternating quantifiers is NP-complete, even for a fixed number of variables.
  45. [45]
    MIPLIB 2017 – The Mixed Integer Programming Library
    The Benchmark Set contains 240 instances that are solvable by (the union of) today's codes. For practical reasons, the benchmark instances were selected subject ...The Benchmark Set · The Collection Set · Guide to the Instance Statistics · News LogMissing: progress | Show results with:progress
  46. [46]
    MIPLIB 2017: data-driven compilation of the 6th mixed-integer ...
    Jan 7, 2021 · The new MIPLIB 2017 collection consists of 1065 instances. A subset of 240 instances was specially selected for benchmarking solver performance.
  47. [47]
    A benchmark of optimization solvers for genome-scale metabolic ...
    Jan 22, 2024 · For single-species FBA, it can be observed that GUROBI was the fastest solver, followed by CPLEX, whereas SCIP was the slowest solver for models ...
  48. [48]
    Progress in mathematical programming solvers from 2001 to 2020
    The article contains a comprehensive performance comparison of the virtual best lp/milp solver from 2001 with the best solvers from 2020.
  49. [49]
    How many decision variables can be solved for Mixed Integer ...
    Mar 16, 2016 · Short answer : Yes it is possible to solve MIP with millions of decision variables. Theory In general MIP is NP-hard problem and cannot be solved in polynomial ...
  50. [50]
    [PDF] Solving Large-Scale Integer Linear Programs
    We show variations in computational time and number of function evaluations for 100 to 100,000-variable ILP problems and in all problems near-linear complexity ...
  51. [51]
    Fast and Interpretable Mixed-Integer Linear Program Solving ... - arXiv
    Dec 31, 2024 · Existing ML-based MILP solvers mainly focus on end-to-end solution learning, which suffers from the scalability issue due to the high ...
  52. [52]
    [PDF] Exact and Heuristic Methods for Mixed Integer Linear Programs
    Among the currently most successful methods, to solve MIP problems, are linear programming (LP, for short) based branch-and-bound algorithms, where the ...
  53. [53]
    [PDF] Branch and Bound in Mixed Integer Linear Programming Problems
    Nov 5, 2021 · In this paper, we surveyed the existing literature studying different approaches and algorithms for the four critical components.
  54. [54]
    [PDF] Cutting Planes for Mixed-Integer Programming: Theory and Practice
    Next: A finite cutting-plane algorithm for mixed-integer programming ... • Gomory (1958) developed the first finite cutting plane algorithm for pure IPs.
  55. [55]
    [PDF] Computational Integer Programming Lecture 12: Branch and Cut
    We iteratively try to improve the current bound by adding valid inequalities. In practice, branch and cut is the method typically used for solving difficult ...
  56. [56]
    [PDF] "Heuristics in Mixed Integer Programming" in - CWI
    The polishing algorithm is then a fully general metaheuristic implemented within an MILP framework and, in turn, making use of an external MILP solver as main ' ...
  57. [57]
    [PDF] Primal Heuristics for Mixed Integer Programs - OPUS
    other three diving heuristics described in this chapter rely on some informa- tion which is got during the MIP-solving process: Guided Diving needs an.
  58. [58]
    [PDF] The feasibility pump - dei.unipd
    We start from any x∗ ∈ P, and initialize a typically infeasible integer point ex as the rounding of x∗. At each FP iteration, called a pumping cycle, we fix ex ...
  59. [59]
    [PDF] Feasibility Pump 2.0 1 Introduction - dei.unipd
    Finding a feasible solution of a given Mixed-Integer Programming. (MIP) model is a very important NP-complete problem that can be extremely hard in practice.
  60. [60]
    [PDF] Chapter 2 Integer Programming Paragraph 1 Total Unimodularity
    – A matrix A is called totally unimodular (TU), iff the determinants of all submatrices of A are either -1, 0, or 1. – A polytope P={ x | Ax=b, x ≥ 0 } with A ...
  61. [61]
    [PDF] 1 Totally Unimodular Matrices - Stanford CS Theory
    Totally unimodular matrices are very well behaved, because they always define polytopes with integer vertices, as long as the right-hand side is integer-valued.
  62. [62]
    [PDF] Applications and efficient algorithms for integer programming ...
    Jul 30, 2020 · Abstract. We present here classes of integer programming problems that are solvable effi- ciently and with combinatorial flow algorithms.
  63. [63]
    [PDF] Integer programming and totally unimodular matrices - AMiner
    A matrix A is totally unimodular if every square submatrix has determinant 0, 1, or -1. A graph is bipartite if and only if its incidence matrix is totally ...
  64. [64]
    [PDF] Integer programs with nearly totally unimodular matrices - arXiv
    Jul 12, 2024 · First, we derive a strong proximity result for the case where A is a general totally unimodular ma- trix: Given an optimal solution of the ...
  65. [65]
    [PDF] Mixed Integer Linear Programming Formulation Techniques
    We now have several extremely effective state-of-the-art solvers. [82, 69, 52, 171] that incorporate many advanced techniques [1, 2, 25, 23, 92, 112, 24] and, ...<|separator|>
  66. [66]
    Integer Programming vs. Linear Programming | Medium
    Sep 26, 2024 · Linear Programming: Easier to solve since the solution space is continuous and convex, making the use of efficient algorithms like the Simplex ...
  67. [67]
    Mixed-Integer Linear Programming - an overview - ScienceDirect.com
    Mixed Integer Linear Programming (MILP) is defined as an optimization technique that involves both integer and non-integer variables, commonly used for ...
  68. [68]
    [PDF] Nonlinear Integer Programming - Optimization Online
    Abstract. Research efforts of the past fifty years have led to a development of linear integer programming as a mature discipline of mathematical optimization. ...
  69. [69]
    Review Non-convex mixed-integer nonlinear programming: A survey
    We survey the literature on non-convex MINLPs, discussing applications, algorithms, and software. Special attention is paid to the case in which the objective ...
  70. [70]
    Mixed-Integer Nonlinear Programming: A Survey of Algorithms and ...
    This paper presents an overview of mixed-integer nonlinear programming techniques by first providing a unified treatment of the Branch and Bound, ...
  71. [71]
    [PDF] Undecidability and hardness in mixed-integer nonlinear programming
    May 24, 2018 · This survey paper discusses two of the lesser known aspects of Mixed-Integer Nonlinear Programming ... Non-convex mixed-integer nonlinear.<|separator|>
  72. [72]
    Branch and bound (BB) for MINLP - Optimization Wiki
    Dec 16, 2021 · Branch and bound is a method used to solve Mixed Integer Non-Linear Programming (MINLP) models. There is a difference in the exact steps of the algorithm.Introduction · Algorithmic Discussion · Numerical Solution
  73. [73]
    [PDF] Computational Strategies for Improved MINLP Algorithms
    Major methods for solving MINLP include OA, GBD, B&B, B&C, ECP methods[16]. OA and. GBD are two common methods for solving MINLP problems. OA is a ...
  74. [74]
    A differential evolution algorithm for solving mixed-integer nonlinear ...
    Solving mixed-integer nonlinear programming problems can be challenging. ... This scheme generates two challenges: (i) the vulnerability of the algorithms ...
  75. [75]
    [PDF] Two-stage stochastic integer programming: A brief introduction
    Two-stage stochastic integer programming combines stochastic and integer programming, minimizing first-stage costs and expected second-stage costs. It has ...
  76. [76]
    Stochastic Integer Programming - ScienceDirect.com
    Stochastic integer programming introduces integer variables into linear stochastic programs, requiring rethinking of structural properties and algorithmic ...
  77. [77]
    [PDF] Stochastic Dual Dynamic Integer Programming - MIT Sloan
    Mar 27, 2017 · This paper develops effective decomposition algorithms for a large class of multistage stochastic integer programming problems. In this section, ...
  78. [78]
    Stochastic Integer Programming
    Stochastic integer programming (SIP) problems combine the power of integer decision variables for modeling discrete decisions and logical relationships with ...
  79. [79]
    [1402.2852] Robust Integer Programming - arXiv
    Feb 12, 2014 · Abstract:We provide a complexity classification of four variants of robust integer programming when the underlying Graver basis is given.
  80. [80]
    Robust integer programming - ScienceDirect.com
    We provide a complexity classification of four variants of robust integer programming when the underlying Graver basis is given. We discuss applications to ...
  81. [81]
    Multi-Stage Robust Mixed-Integer Programming - Optimization Online
    Mar 31, 2023 · In this paper, we propose a new model and solution approach for multi-stage robust mixed-integer programs, which may contain both continuous and discrete ...
  82. [82]
    Technical Note: Multistage Robust Mixed-Integer Programming
    Jan 30, 2025 · In this technical note, we propose a new model and solution approach for multistage robust mixed-integer programs, which may contain both continuous and ...
  83. [83]
    A study of distributionally robust mixed-integer programming with ...
    Mar 1, 2024 · This study addresses a class of linear mixed-integer programming (MILP) problems that involve uncertainty in the objective function parameters.Missing: survey | Show results with:survey
  84. [84]
    A study of distributionally robust mixed-integer programming ... - arXiv
    Apr 3, 2023 · Abstract:This study addresses a class of linear mixed-integer programming (MILP) problems that involve uncertainty in the objective function ...
  85. [85]
    [PDF] Multi-Stage Robust Mixed-Integer Programming - Optimization Online
    Mar 31, 2023 · Two-stage robust optimization problems with mixed-integer recourse decisions have been solved exactly by semi-infinite programming techniques ( ...
  86. [86]
    Solving mixed integer programming production planning problems ...
    In this study, we have solved production planning problems involving multiple products, multiple resources, multiple periods, setup times and setup costs.
  87. [87]
    Mixed-Integer Linear Programming Model for Production Planning
    Aug 6, 2025 · ... mixed integer programming to model the ripping operation. A metaheuristic, namely the Population Based Incremental Learning algorithm, was ...
  88. [88]
    A mixed-integer linear programming model for the continuous ...
    This paper presents a mixed-integer programming model for scheduling steelmaking-continuous casting production.<|separator|>
  89. [89]
    Production Optimization in a Grain Facility through Mixed-Integer ...
    Aug 17, 2022 · Early works in the area applied linear and mixed-integer programming models for problems related to harvesting methods and machinery selection.
  90. [90]
    Optimizing automotive inbound logistics: A mixed-integer linear ...
    We present a mixed-integer linear programming approach to solve this complex problem using Gurobi. The solution capability and quality are enhanced.
  91. [91]
    Optimizing Supply Chain Inventory: A Mixed Integer Linear ... - MDPI
    In this paper, periodic review (s,S) policy is used to optimize inventories from an integrated perspective of inventory management across the supply chain.
  92. [92]
    An integer linear programming approach for a location-allocation ...
    Jun 14, 2023 · As the population grows and demand increases, cities have seen a rise in the number of chain stores. To remain competitive, these companies ...
  93. [93]
    An integer linear programming for a comprehensive reverse supply ...
    The presented model is an integer linear programming model being solved using Lingo 9 software. Numerical experiments are conducted to gain insight into the ...
  94. [94]
    An Improved Formulation for the Job-Shop Scheduling Problem - jstor
    This paper presents an extension of an earlier integer programming model developed by other authors to formulate a general n-job, m-machine job-shop problem ...
  95. [95]
    A time-indexed LP-based approach for min-sum job-shop problems
    Jan 14, 2011 · In this paper we propose two time-indexed IP formulations for job-shop scheduling problems with a min-sum objective.
  96. [96]
    A mixed-integer programming approach for solving university course ...
    Feb 15, 2022 · This article presents a mixed-integer programming model for solving the university timetabling problem which considers the allocation of students to classes.
  97. [97]
    [PDF] Cohort-Based Timetabling with Integer Linear Programming
    In this paper, we describe an Integer Linear Programming (ILP) solution to the. School Timetabling Problem (STP), for schools that are cohort-based. Our Master.
  98. [98]
    An Integer Linear Programming Model for the Examination ...
    Nov 11, 2024 · Timetabling problems are specific types of scheduling problems that involve the assignment of limited resources to a set of activities or events ...Abstract · Introduction · Problem Description · Numerical Results
  99. [99]
    A generic approach to conference scheduling with integer ...
    Sep 1, 2024 · We tackle the conference scheduling problem with integer programming models. •. Our models handle conferences with up to a few thousand ...
  100. [100]
    [PDF] An integer programming model for timetabling at the University of ...
    Jun 26, 2024 · In this thesis, we propose a model to solve the CTT at the University of Groningen. (RUG) using integer linear programming (which is a special ...<|separator|>
  101. [101]
    [PDF] Designing telecommunication networks by integer programming
    May 3, 2012 · What constitutes a good network? ▫ Study common mathematical properties of network applications. ▫ Develop theory, algorithms,.
  102. [102]
    Integer Polyhedra Arising from Certain Network Design Problems ...
    In this paper a general integer linear programming model is presented for the important practical problem of designing minimum-cost survivable networks, ...
  103. [103]
    The survivable k-node-connected network design problem
    In this paper we consider the k-node-connected subgraph problem. We propose an integer linear programming formulation for the problem and investigate the ...
  104. [104]
    [PDF] Designing a Forest Road Network Using Mixed Integer Programming
    This paper presents a. Mixed Integer Programming (MIP) optimization model to design a forest access system con- sisting of logging roads for trucking and access ...
  105. [105]
    [PDF] Designing AC Power Grids using Integer Linear Programming
    In view of re- cent developments in the field of integer programming, we show that this model is computationally tractable. A power grid is a transmission ...Missing: infrastructure | Show results with:infrastructure
  106. [106]
    [PDF] Electric Power Infrastructure Planning: Mixed-Integer Programming ...
    Aug 11, 2017 · This paper addresses the long-term planning of electric power infrastructures considering high renewable penetration.
  107. [107]
    Integer Programming in Capital Budgeting - jstor
    The purposes of this note are to illustrate some cormiputational experience using existing integer algorithms to solve a set of capital budgeting problemrs and ...
  108. [108]
    Mixed-Integer Quadratic Programming Portfolio Optimization
    This example shows how to solve a Mixed-Integer Quadratic Programming (MIQP) portfolio optimization problem using the problem-based approach.Problem Outline · Objective and Successive... · MATLAB® Problem Formulation
  109. [109]
    [PDF] Portfolio optimization with linear and fixed transaction costs
    Bertsimas,. Darnell and Soucy [BDS99] use generic mixed-integer programming methods to deal with fixed costs and other integer constraints in several practical ...
  110. [110]
    [PDF] Capital Rationing and Binary Integer Programming for Investment ...
    This paper at- tempts: (1) to develop a mathematical programming model for capital budgeting deci~ions of a multinational firm based on linear programming.<|separator|>
  111. [111]
    [PDF] Optimization Methods in Finance - andrew.cmu.ed
    This course discusses sev- eral classes of optimization problems (including linear, quadratic, integer, dynamic, stochastic, conic, and robust programming) ...
  112. [112]
    New book on primal heuristics in integer programming
    Jul 21, 2025 · A modern MIP solver can call dozens of heuristics at various points: before or after node processing, after presolving, at the root, and so on.
  113. [113]
    Learning to Cut Generation in Branch-and-Cut Algorithms for ...
    Aug 29, 2025 · In this article, we propose a framework combining supervised learning and deep reinforcement learning to learn strategies for generating combinatorial cuts in ...Missing: advancements | Show results with:advancements
  114. [114]
    Deep learning enhanced mixed integer optimization
    We show that deep learning constructed heuristics substantially improve the performance of standard off-the-shelf MIP solvers.
  115. [115]
    [PDF] IMPROVING CONFLICT ANALYSIS IN MIP SOLVERS BY PSEUDO ...
    Jul 26, 2023 · The area of Boolean satisfiability (SAT) solving has witnessed dramatic performance improvements over the last couple of decades, and several ...
  116. [116]
    Prior Version Enhancements - Gurobi Optimization
    This page provides a summary of feature enhancements and performance improvements introduced in previous versions of the Gurobi Optimizer.
  117. [117]
  118. [118]
    Do we know why open source MIP solvers are significantly slower ...
    The best open-source solver - HiGHS - is 20 times slower than the best commercial solver (COPT). That's down to the idiosyncratic IPM implementation in HiGHS.
  119. [119]
  120. [120]
    A Survey for Solving Mixed Integer Programming via Machine ... - arXiv
    Mar 6, 2022 · This paper surveys the trend of leveraging machine learning to solve mixed integer programming (MIP) problems.Missing: open | Show results with:open
  121. [121]
    Integer Programming from Quantum Annealing and Open ... - arXiv
    Sep 24, 2020 · We developed an algorithm that solves integer linear programming problems, a classically NP-hard problem, on a quantum annealer, and investigated problem and ...