Conic dual problem Created 2026-10-06 Updated 2026-10-14
A conic dual problem searches for a lower bound on a conic optimization problem. A feasible point exhibits an attainable cost; a feasible dual variable explains why every allowed decision costs at least a specified amount. If the two costs agree, the pair certifies a global minimum without relying on how the points were found.
Fix a real matrix , vectors , , and a closed convex cone . With unrestricted , use the convention
where the dual cone is . The conic dual problem uses because it must turn every allowed slack variable into a nonnegative dot product. Taking gives componentwise linear inequalities; taking a second-order cone gives a Euclidean norm constraint. A self-dual cone has , but this equality does not guarantee a feasible point or strong duality.
The Lagrangian supplies a short derivation. For ,
Its infimum over unrestricted is when , and otherwise. Maximizing the resulting Lagrange dual function gives the stated conic dual problem. The minus sign matches the convention .
Farkas certificate for linear inequalities Created 2026-10-07 Updated 2026-10-14
Let and . For unrestricted , the system of linear inequalities has no feasible point if and only if there is a vector with
The entries are nonnegative Lagrange multipliers for the rows. Multiplying inequalities by them preserves their direction; the condition cancels every variable, leaving the contradiction
This is a Farkas' lemma alternative for non-strict inequalities; no strict-feasibility assumption is needed. See Boyd and Vandenberghe, Convex Optimization (2004), §5.8.3, pp. 261–262.
Three individually possible requirements, jointly impossible. Suppose two unrestricted real coordinates , drawn as in the diagram, must satisfy
Write every row in the same direction:
Then and . The nonnegative weighted sum, with Lagrange multipliers , is visibly
Each individual requirement defines a half-space in the plane. Even every pair has a feasible point: satisfies the first two, the first and third, and the second and third. Their common intersection is empty, because the first two force , while the third demands at most .
Figure 1.
Each half-plane is nonempty, but their three constraints add to the contradiction
. The first three panels shade each half-space separately. The final panel compares the simultaneous requirements with ; the two regions are disjoint. The points , and satisfy only pairs of constraints. Details.
Why cancellation is necessary for unrestricted variables. A nonzero linear functional can be made arbitrarily positive or negative by varying unrestricted , so alone would not yield a contradiction. Equality is essential here. If is also imposed, the sufficient certificate becomes , , , because then . This is the sign convention used in robust infeasibility under uniform constraint relaxation. One can instead append the rows and use the equality certificate on the enlarged system. Reversing all constraints to reverses the scalar sign to , as in the normalized integer Farkas infeasibility gap.
Checking a solver's infeasibility claim. A returned Farkas certificate for linear inequalities gives a short verification procedure: compute and , and check the three displayed conditions against the original constraints. Any positive multiple is another certificate; division by normalizes to . With rational numbers as data and certificate, the tests can be exact. With floating-point arithmetic, a small residual is a diagnostic rather than an exact cancellation: unrestricted can amplify a nonzero residual without bound. A rigorous certificate therefore needs exact cancellation or justified error bounds and additional bounds on the variables. The strict negative scalar is the margin of contradiction.
The same weighted sums give dual bounds. For the linear program maximizing over unrestricted with , any satisfying gives
for every feasible point. Minimizing over these multipliers is the dual linear program; the bound itself is weak duality. For example, maximize subject to , , . The multipliers give the upper bound , attained at . The infeasibility example above uses the same row directions, but lower bounds of on both coordinates. Its multipliers cancel the objective function as well as the variables: with would bound zero by a negative number. Thus impossibility and linear programming optimality certificates use the same arithmetic. See Boyd and Vandenberghe, Convex Optimization slides, §§5.32–5.35 for infeasibility as a dual alternative.
Why every inconsistent system has such a certificate. Introduce a slack variable vector and write . Split the unrestricted vector as with . Applying Farkas' lemma to the column matrix gives , , and . The first two conditions together are exactly . This reduction explains both the equality and the nonnegative row multipliers.
Gomory fractional cut 2026-10-06
For an all-integer dictionary row with nonnegative variables, this cut follows because is an integer and . Consequently that integer is at most . Negative coefficients use the usual fractional part , so . Normalize a resulting inequality sensibly before introducing a new integer-valued slack variable.
Consider the original linear program
One unit of costs twice as much as one unit of , so is a plausible answer. To certify it, multiply the three linear inequalities by , respectively, and add:
The proposed feasible point attains , so its cost is the global minimum.
In the conic dual problem convention, the data and certificate are
Direct matrix multiplication gives and . At , the slack variable is , so . The first linear inequality has positive slack and zero multiplier; the two positively weighted linear inequalities are tight. This is complementary slackness.
Figure 1.
A feasible decision and a weighted-inequality certificate meet at the same cost
. The shaded feasible set lies above in the nonnegative orthant. Dashed lines show costs . The lowest attainable line touches . The right panel verifies the dual variable : its weighted constraint coefficients reproduce the objective function, and its weighted right-hand sides give the lower bound . Details.
The entire dual feasible set can also be read off: write with . Then and . Maximizing this lower bound gives . A point such as is still a valid certificate of the weaker bound .
The point satisfies dual feasibility and supplies an upper bound of by weak duality. Directly, take one copy of the first constraint and four copies of the second:
Since , the original objective function is at most . The feasible point attains . Hence
There are also nonvertex optima. In terms of the slack variables, the exact objective function identity is
Equality requires , leaving the entire optimal face
Negative or on this ray are allowed. This illustrates why the single vertex of a linear polyhedron does not imply a unique optimum.
Use the standard maximum form of a linear program convention subject to and . Split the unrestricted variables as and , with all four new variables nonnegative. The resulting linear program is
If equality-constraint standard form is preferred, add a nonnegative slack variable to each inequality.
Give the two inequalities nonnegative dual variables . The dual linear program is
The paired inequalities encode equalities for the two original unrestricted variables. Equivalently, the dual linear program has , , , and . Thus its only feasible point is , of objective function value .
Only have printed nonnegativity restrictions; are unrestricted. In four-dimensional space, a vertex of a linear polyhedron needs four independent active constraints. There are exactly four available constraints, so all must be active. Solving them gives
and therefore the only possible vertex of a linear polyhedron is . It is feasible, and its four active normals are independent, so it is indeed a vertex of a linear polyhedron.
One can also see uniqueness geometrically from the slack variables and . The feasible region is in affine bijection with the nonnegative orthant in :
That orthant has only the origin as an extreme point, giving the same unique vertex of a linear polyhedron.
First suppose the stated nonnegative vectors exist. If , multiply by and by . Since and , this gives the contradiction
Thus the certificate implies .
For the converse, put
A common feasible point exists exactly when , . Introducing a nonnegative vector of slack variables makes this equivalent to
If this system is infeasible, the nonnegative-equations version of Farkas' lemma supplies an unrestricted vector such that
Split according to the original two blocks of inequalities. The three conditions become , and , exactly the desired certificate. Both directions are proved. The role of is essential: it is why the combined normal need only be nonnegative rather than zero.[ref]
For the linear program in maximization form, a nonnegative multiplier of the resource inequalities gives
whenever . Equivalently, the Lagrangian is ; its supremum over is finite exactly when . Minimizing this bound gives the dual linear program
The displayed inequality proves weak duality directly.
For the final simplex tableau, the basic-variable order is . With interpreted as the ordinary unpriced slack variables, its constraint equations give
The bottom row is read in the reduced-cost convention , with right side minus the basic objective value. It says the reduced costs of are . Thus optimality requires , while can increase without changing the objective until reaches zero. The complete primal optimum set is
Reconstructing a linear program from a final simplex tableau exposes a source inconsistency. The slack columns are
Because the first basic column is that of , the original constraint data are
The slack reduced costs give and
Consequently the recovered homogeneous linear program is
Every point in the optimum segment has value . Since the segment contains a point with both variables positive, complementary slackness forces both dual column inequalities to be equalities. They give the unique dual optimum
The printed bottom-right entry is , but it must be for this linear objective and these constraint rows. Thus no original problem in the stated homogeneous standard form has exactly the entire printed tableau. Changing that one entry to gives the reconstructed problem above. Alternatively, if an affine objective is permitted, has the displayed optimum value and unchanged reduced costs; the corresponding affine dual objective is . Both interpretations have exactly the same primal and dual optimizer sets. The discrepancy is in the objective constant, not in the optimal segment.
Introduce nonnegative slack variables and write for the objective value. The initial simplex dictionary, recovered from the original PDF rather than the corrupted converted table, is
For this minimization convention, nonnegative objective coefficients give dual feasibility. The dual simplex algorithm repairs a negative basic value while retaining those nonnegative reduced costs. If the leaving row is , , an entering variable must have ; choose the smallest ratio of its objective coefficient to .
Choose to leave. Eligible columns are , with ratios and . Thus enters. Solving its row and substituting gives
Now only has a negative basic value. Its only eligible entering column is , so pivot there, with leaving. The resulting dictionary is
Setting the nonbasic variables to zero gives a basic feasible solution. The final objective row also proves for every feasible point, because its nonbasic variables are nonnegative. Hence the unique relaxed optimum is
For the integer program, all four original slack variables are integers whenever the decision variables are integers. The fractional row can be written
The Gomory fractional cut keeps the fractional parts of these coefficients: and . It therefore gives , or . Its validity can also be seen directly: the displayed row makes an odd nonnegative integer. In original variables this cut is .
Introduce the new integer-valued slack , with initial row . It is primal infeasible but retains dual feasibility, so one more dual-simplex pivot has leave and enter. Substitute to obtain
All basic values at are nonnegative integers, including . The objective row proves a lower bound of on every point satisfying the valid cut, hence on every integer-feasible point. It is attained at
The strictly positive nonbasic objective coefficients also show uniqueness. One Gomory cut and its reoptimization are sufficient.
Introduce slack variables . The initial simplex dictionary is
All six variables are nonnegative. The given rule is the Dantzig pivot rule: select the nonbasic variable with the largest positive reduced cost. It applies to slack variables too once they become nonbasic. At each step the simplex ratio test limits how far that entering variable can increase before a basic variable reaches zero.
The successive objective rows of the simplex dictionary, expressed in the current nonbasic variables, are
These rows identify each entering variable unambiguously. Performing the corresponding simplex ratio tests gives the complete pivot sequence:
For example, after pivot two the dictionary has , and . Although increasing improves the objective at rate four, reaches zero first at , giving pivot three. After pivot four, and ; the upper bound gives pivot five.
In the final objective row every reduced cost is nonpositive. Since , it also directly certifies the upper bound , attained only when all three vanish. Thus
A greatest improvement pivot rule uses the total feasible increase in the objective, rather than its increase per unit of the entering variable. At the origin, the three candidate edge moves have improvements , and . It therefore brings into the simplex basis first, with leaving, and immediately reaches the optimum. This rule solves this instance in one pivot.
This is a three-dimensional Klee-Minty cube example: the specified Dantzig pivot rule visits every vertex before reaching the optimum. Higher-dimensional versions require pivots, so that rule has exponential worst-case running time despite its strong practical performance. Each pivot requires only polynomially many arithmetic operations. An anti-cycling rule such as the Bland pivoting rule ensures finite termination; without one, degenerate pivots can cycle. A crude terminating bound is the number of possible bases, for constraints and original variables, which can be exponential. This does not show that every conceivable pivot rule must take exponential time. Linear programming itself has polynomial-time algorithms, including the ellipsoid method and suitable interior-point methods.
The amended payoff is . Using the previous simplex dictionary,
Thus enters. The positive pivot-column coefficients give ratios from and from ; the coefficient in the row gives no bound. The simplex ratio test makes leave. Dividing that row by and eliminating gives
The positive objective-row coefficients and nonnegative slack variables prove optimality at . Therefore
All three constraints are equalities at this point. Strict positivity of the three objective-row coefficients also forces every optimal point to have all three slacks zero; the displayed dictionary then makes the optimizer unique.
Use payoff , so maximization of is equivalent to the required minimization. In the given simplex tableau, can increase the payoff. The simplex ratio test has candidate ratios in the row and in the row; the negative coefficient in the row imposes no upper bound. Thus enters the simplex basis and leaves.
Divide the pivot row by , then eliminate from the other rows. The resulting simplex dictionary is
All slack variables and original variables are nonnegative. The last row therefore proves for every feasible point; setting the nonbasic variables to zero attains it and leaves all basic variables nonnegative. Hence
The slack vector is .
Introduce nonnegative slack variables , and , and write the objective as . With nonbasic, the initial simplex dictionary is
This is feasible at the origin. Enter . The simplex ratio test selects to leave, since its bound is , compared with from . Pivoting gives
Now enter . The ratio test chooses to leave: its bound is smaller than from and from . The resulting dictionary is
All basic values are nonnegative and all nonbasic objective coefficients are nonpositive. The simplex algorithm therefore certifies
The negative objective coefficients also make this continuous optimum unique.
For integer , all three original slacks are integers. Apply a Gomory fractional cut to the row
The fractional part of is , so the cut is , or . To justify it directly, rewrite the row as
The parenthesized term is an integer and is at most , since the other term is nonnegative. It is therefore at most , proving the cut. This retains every feasible integer solution and excludes the current fractional optimum. Since , the cut is equivalently .
Introduce the integer-valued nonnegative slack . Its dictionary row is , so primal feasibility fails while the objective row remains dual feasible. In the dual simplex algorithm, leaves; tie in the dual ratio test, each with ratio . Choose to enter. Substituting gives
This dictionary is feasible at and certifies the cut relaxation's optimum , achieved at the integer point .
To find every optimal integer point, the objective row forces . Nonnegativity of all the remaining rows then reduces to . On this optimal edge, . Since must be integral, only its two endpoints are possible:
The dual linear program is the minimization problem
Indeed, for the optimization Lagrangian bounds the primal objective above on its feasible points. Its supremum over is finite precisely when , and then equals . The two labelled parts below establish the relevant weak duality and strong duality conclusions.
For the subsequent infeasibility argument, introduce nonnegative slack variables and the convex cone
This is generated by the columns of and the coordinate vectors. Here is why this finitely generated cone is closed. Any representation with a minimal number of positive coefficients uses linearly independent generators: otherwise subtract a suitable multiple of a dependence until one positive coefficient vanishes, preserving nonnegativity. For each fixed independent selection of generators, its nonnegative combinations form a closed set, because the inverse coordinate map on its span is continuous. There are finitely many selections, so their union is closed. This is the closedness of finitely generated cones used in Farkas' lemma.
When the primal linear program is infeasible, . Let be the nearest point of to , and set . The minimizing property gives for every . Taking gives . Consequently
In particular and . Rescaling by the positive number produces the requested Farkas' lemma certificate:
Now a feasible point of the relaxed inequalities would satisfy
Since , the sum of the nonnegative is positive. Thus robust infeasibility under uniform constraint relaxation gives
The ellipsoid method makes progress by reducing the volume of a containing ellipsoid. A nonempty linear polyhedron may have empty interior, so small volume alone cannot certify that the original system is infeasible. Relaxing the inequalities remedies this difficulty, but must not make an infeasible system appear feasible. The displayed positive gap proves exactly that sufficiently small relaxations preserve infeasibility. For rational input, determinant bounds give a Farkas' lemma certificate of polynomial encoding length, so a sufficiently small rational relaxation can be chosen from the input encoding length. Together with a bounding box and bounds on the volume of a relaxed feasible system, this lets the ellipsoid method distinguish infeasibility from a feasible system of very small or zero original volume in polynomial time. The certificate argument alone does not assert a polynomial precision bound for arbitrary unencoded real coefficients.
Encode a vertex of a polytope by three bits: bit records whether the lower or upper bound of coordinate is tight. Every choice is possible because , and the triangular active equations determine that vertex of a polytope uniquely. Its three adjacent vertices of a polytope are obtained by changing one bit. The geometric Bland pivoting rule specified here chooses the smallest-index active facet that can be left while increasing . It produces the following path; the final column records the facet left on arrival at the next vertex of a polytope:
For example, at the origin all three outgoing edges improve the objective, but leaving facet 1 has priority. At bit string , switching bit 2 decreases , so the rule switches bit 1, leaving facet 2. At , neither of the earlier-coordinate switches improves , so the rule finally leaves facet 5. The upper face reverses the direction in which changes of improve , and the remaining three horizontal pivots follow. The objective values in the table are strictly increasing for the stated range of .
Figure 1.
Seven Bland pivots through all eight vertices of the Klee-Minty cube, with epsilon equal to one quarter
. Details.
Thus the simplex method takes seven pivots although the optimum is directly adjacent to the starting point. The same Klee-Minty cube in dimensions has inequalities and vertices of a polytope. On its lower last-coordinate face, increasing means increasing , and the first coordinates follow the corresponding lower-dimensional path before the last-coordinate facet can be left. On the upper face, increasing means decreasing , and the smallest-index rule traverses that path in reverse. The reverse-path assertion follows by the same induction, interchanging maximization and minimization on each face. Hence the pivot count satisfies , , and
The usual Bland pivoting rule prevents cycling, including degenerate pivots, but this exponential example shows that it does not give a polynomial worst-case pivot bound. For rational fixed , the constraints have polynomial encoding length. Arithmetic cost per pivot does not remove the exponential obstruction.
For a lower bound that applies to every pivot choice, use and maximize , starting at the origin. Each edge of this cube changes only one coordinate, whereas the unique optimal vertex of a polytope is . Every coordinate must therefore be changed along at least one edge. Every route of adjacent pivots takes at least pivots, and every strictly improving route takes exactly .
For Dantzig pivot rule, the rate is the objective increase per unit entering nonbasic variable, as in standard reduced cost pricing. Rescale the three coordinates by
The transformed linear program still maximizes , now with bounds
When the active facet for coordinate is freed, the other active equations give . The positive rates per unit are therefore
for , respectively. Equivalently, use the nonnegative lower- and upper-bound slack variables of these displayed, normalized inequalities: freeing coordinate changes its entering slack by . Thus Dantzig pivot rule chooses the lowest coordinate index among improving edges and follows the same seven-pivot path. In dimensions set ; the rates give the same pivots. These statements concern coordinate/slack pricing, not objective increase per unit Euclidean edge length, which defines a different pivot rule.
Introduce nonnegative slack variables and let denote profit. We display each simplex tableau as coefficients of its row equation, with the coefficient of in the objective equation implicitly one. Thus a negative coefficient in the last row permits an improving entering variable. The initial simplex tableau is
Use the simplex method with entering. The simplex ratio test gives ratios and , so leaves. Divide its row by two and eliminate the other entries:
Next enters. The positive-column ratios are and , so leaves. After this pivot and a row reordering,
The last row is , so every nonnegative feasible solution has . Setting the nonbasic variables to zero gives
The equality certificate also shows uniqueness, since both nonbasic objective coefficients are strictly unfavorable.
Add the slack variable for the forgotten constraint. In the optimal simplex tableau from part (a), . Hence the new row in canonical form is
Appending it gives
The objective row remains dual feasible, but makes the basic solution infeasible. Apply the dual simplex algorithm: leaves, and the eligible columns are , whose negative coefficients can repair this row. The dual ratio test compares
Thus enters. Pivoting on and eliminating its column gives
All basic values are nonnegative and the objective equation is . Therefore
Both binding constraints have zero slack, and the final objective row proves global optimality. The two nonbasic penalties are strictly positive, so this optimum is unique.
The old slack variable is exactly the amount now sold, so rename its column . No further slack is added: the PDF specifies an equality. The feasible equations are otherwise unchanged. If is the old profit, the new profit is . Substituting this into the old objective equation gives
This is the simplex objective update for a priced slack variable. The altered simplex tableau is
The coefficient makes an improving entering variable. Its only positive constraint-row coefficient is in the row, whose ratio is . Thus leaves. The simplex method pivot gives
The objective equation proves optimality. One optimal basic solution is
The zero reduced cost of permits alternative optima. In fact all optimal solutions are
These satisfy both remaining inequalities, and the equality then makes their profit exactly fifteen.
Introduce nonnegative slack variables for the four dual inequalities. The initial simplex dictionary is
At the origin all four basic slacks are positive. Enter : the simplex ratio test compares bounds from and from , so leaves at . Entering initially would tie two limiting bounds and produce degeneracy in linear programming; the chosen pivot avoids this. The new simplex dictionary is
Only has positive objective coefficient. Enter it; the limiting bound is from , rather than from . Thus leaves, giving
Every nonbasic variable has nonpositive objective coefficient, so this feasible simplex basis is optimal. Setting the nonbasic variables to zero yields
Both new basic solutions have strictly positive basic coordinates; neither pivot is degenerate.
The first and fourth dual constraints have positive slacks and . Complementary slackness therefore requires . Since , the second and third primal constraints must be equalities:
Consequently
The first primal left side is , so the vector is feasible. Its value matches the feasible dual value, giving a linear programming optimality certificate.