<p>We study the general integer programming (IP) problem of optimizing a separable convex function over the integer points of a polytope: <InlineEquation ID="IEq1"> <EquationSource Format="TEX">\(\min \{f({\textbf {x}}) \mid A{\textbf {x}}= {\textbf {b}}, \, {\textbf {l}}\le {\textbf {x}}\le {\textbf {u}}, \, {\textbf {x}}\in \mathbb {Z}^n\}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mo movablelimits="true">min</mo> <mo stretchy="false">{</mo> <mi>f</mi> <mrow> <mo stretchy="false">(</mo> <mi mathvariant="bold">x</mi> <mo stretchy="false">)</mo> </mrow> <mo>∣</mo> <mi>A</mi> <mi mathvariant="bold">x</mi> <mo>=</mo> <mi mathvariant="bold">b</mi> <mo>,</mo> <mspace width="0.166667em" /> <mi mathvariant="bold">l</mi> <mo>≤</mo> <mi mathvariant="bold">x</mi> <mo>≤</mo> <mi mathvariant="bold">u</mi> <mo>,</mo> <mspace width="0.166667em" /> <mi mathvariant="bold">x</mi> <mo>∈</mo> <msup> <mrow> <mi mathvariant="double-struck">Z</mi> </mrow> <mi>n</mi> </msup> <mo stretchy="false">}</mo> </mrow> </math></EquationSource> </InlineEquation>. The number of variables n is a variable part of the input, and we consider the regime where the constraint matrix <i>A</i> has small coefficients <InlineEquation ID="IEq2"> <EquationSource Format="TEX">\(\Vert A\Vert _\infty \)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mrow> <mo stretchy="false">‖</mo> <mi>A</mi> <mo stretchy="false">‖</mo> </mrow> <mi>∞</mi> </msub> </math></EquationSource> </InlineEquation> and small primal or dual treedepth <InlineEquation ID="IEq3"> <EquationSource Format="TEX">\({{\,\mathrm{\textrm{td}}\,}}_P(A)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msub> <mrow> <mspace width="0.166667em" /> <mtext>td</mtext> <mspace width="0.166667em" /> </mrow> <mi>P</mi> </msub> <mrow> <mo stretchy="false">(</mo> <mi>A</mi> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> or <InlineEquation ID="IEq4"> <EquationSource Format="TEX">\({{\,\mathrm{\textrm{td}}\,}}_D(A)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msub> <mrow> <mspace width="0.166667em" /> <mtext>td</mtext> <mspace width="0.166667em" /> </mrow> <mi>D</mi> </msub> <mrow> <mo stretchy="false">(</mo> <mi>A</mi> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation>, respectively. Equivalently, we consider block-structured matrices, in particular <i>n</i>-fold, tree-fold, 2-stage and multi-stage matrices.We ask about the possibility of near-linear time algorithms in the general case of (non-linear) separable convex functions. The techniques of previous works for the linear case are inherently limited to it; in fact, no strongly-polynomial algorithm may exist due to a simple unconditional information-theoretic lower bound of <InlineEquation ID="IEq5"> <EquationSource Format="TEX">\(n \log \Vert {\textbf {u}}-{\textbf {l}}\Vert _\infty \)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mrow> <mi>n</mi> <mo>log</mo> <mo stretchy="false">‖</mo> <mi mathvariant="bold">u</mi> <mo>-</mo> <mi mathvariant="bold">l</mi> <mo stretchy="false">‖</mo> </mrow> <mi>∞</mi> </msub> </math></EquationSource> </InlineEquation>, where <InlineEquation ID="IEq6"> <EquationSource Format="TEX">\({\textbf {l}}, {\textbf {u}}\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mi mathvariant="bold">l</mi> <mo>,</mo> <mi mathvariant="bold">u</mi> </mrow> </math></EquationSource> </InlineEquation> are the vectors of lower and upper bounds. Our first result is that with parameters <InlineEquation ID="IEq7"> <EquationSource Format="TEX">\({{\,\mathrm{\textrm{td}}\,}}_P(A)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msub> <mrow> <mspace width="0.166667em" /> <mtext>td</mtext> <mspace width="0.166667em" /> </mrow> <mi>P</mi> </msub> <mrow> <mo stretchy="false">(</mo> <mi>A</mi> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> and <InlineEquation ID="IEq8"> <EquationSource Format="TEX">\(\Vert A\Vert _\infty \)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mrow> <mo stretchy="false">‖</mo> <mi>A</mi> <mo stretchy="false">‖</mo> </mrow> <mi>∞</mi> </msub> </math></EquationSource> </InlineEquation>, this lower bound can be matched (up to dependency on the parameters). Second, with parameters <InlineEquation ID="IEq9"> <EquationSource Format="TEX">\({{\,\mathrm{\textrm{td}}\,}}_D(A)\)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <msub> <mrow> <mspace width="0.166667em" /> <mtext>td</mtext> <mspace width="0.166667em" /> </mrow> <mi>D</mi> </msub> <mrow> <mo stretchy="false">(</mo> <mi>A</mi> <mo stretchy="false">)</mo> </mrow> </mrow> </math></EquationSource> </InlineEquation> and <InlineEquation ID="IEq10"> <EquationSource Format="TEX">\(\Vert A\Vert _\infty \)</EquationSource> <EquationSource Format="MATHML"><math> <msub> <mrow> <mo stretchy="false">‖</mo> <mi>A</mi> <mo stretchy="false">‖</mo> </mrow> <mi>∞</mi> </msub> </math></EquationSource> </InlineEquation>, the situation is more involved, and we design an algorithm with time complexity <InlineEquation ID="IEq11"> <EquationSource Format="TEX">\(g({{\,\mathrm{\textrm{td}}\,}}_D(A), \Vert A\Vert _\infty ) n \log (n) \log \Vert {\textbf {u}}-{\textbf {l}}\Vert _\infty \)</EquationSource> <EquationSource Format="MATHML"><math> <mrow> <mrow> <mi>g</mi> <mo stretchy="false">(</mo> </mrow> <msub> <mrow> <mspace width="0.166667em" /> <mtext>td</mtext> <mspace width="0.166667em" /> </mrow> <mi>D</mi> </msub> <msub> <mrow> <mrow> <mo stretchy="false">(</mo> <mi>A</mi> <mo stretchy="false">)</mo> </mrow> <mo>,</mo> <mo stretchy="false">‖</mo> <mi>A</mi> <mo stretchy="false">‖</mo> </mrow> <mi>∞</mi> </msub> <msub> <mrow> <mo stretchy="false">)</mo> <mi>n</mi> <mo>log</mo> <mrow> <mo stretchy="false">(</mo> <mi>n</mi> <mo stretchy="false">)</mo> </mrow> <mo>log</mo> <mo stretchy="false">‖</mo> <mi mathvariant="bold">u</mi> <mo>-</mo> <mi mathvariant="bold">l</mi> <mo stretchy="false">‖</mo> </mrow> <mi>∞</mi> </msub> </mrow> </math></EquationSource> </InlineEquation> where&#xa0;<InlineEquation ID="IEq12"> <EquationSource Format="TEX">\(g\)</EquationSource> <EquationSource Format="MATHML"><math> <mi>g</mi> </math></EquationSource> </InlineEquation> is some computable function. We conjecture that a stronger lower bound is possible in this regime, and our algorithm is in fact optimal. Our algorithms combine ideas from scaling, proximity, and sensitivity of integer programs, together with a new dynamic data structure.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

(Near)-Optimal algorithms for sparse separable convex integer programs

  • Christoph Hunkenschröder,
  • Martin Koutecký,
  • Asaf Levin,
  • Tung Anh Vu

摘要

We study the general integer programming (IP) problem of optimizing a separable convex function over the integer points of a polytope: \(\min \{f({\textbf {x}}) \mid A{\textbf {x}}= {\textbf {b}}, \, {\textbf {l}}\le {\textbf {x}}\le {\textbf {u}}, \, {\textbf {x}}\in \mathbb {Z}^n\}\) min { f ( x ) A x = b , l x u , x Z n } . The number of variables n is a variable part of the input, and we consider the regime where the constraint matrix A has small coefficients \(\Vert A\Vert _\infty \) A and small primal or dual treedepth \({{\,\mathrm{\textrm{td}}\,}}_P(A)\) td P ( A ) or \({{\,\mathrm{\textrm{td}}\,}}_D(A)\) td D ( A ) , respectively. Equivalently, we consider block-structured matrices, in particular n-fold, tree-fold, 2-stage and multi-stage matrices.We ask about the possibility of near-linear time algorithms in the general case of (non-linear) separable convex functions. The techniques of previous works for the linear case are inherently limited to it; in fact, no strongly-polynomial algorithm may exist due to a simple unconditional information-theoretic lower bound of \(n \log \Vert {\textbf {u}}-{\textbf {l}}\Vert _\infty \) n log u - l , where \({\textbf {l}}, {\textbf {u}}\) l , u are the vectors of lower and upper bounds. Our first result is that with parameters \({{\,\mathrm{\textrm{td}}\,}}_P(A)\) td P ( A ) and \(\Vert A\Vert _\infty \) A , this lower bound can be matched (up to dependency on the parameters). Second, with parameters \({{\,\mathrm{\textrm{td}}\,}}_D(A)\) td D ( A ) and \(\Vert A\Vert _\infty \) A , the situation is more involved, and we design an algorithm with time complexity \(g({{\,\mathrm{\textrm{td}}\,}}_D(A), \Vert A\Vert _\infty ) n \log (n) \log \Vert {\textbf {u}}-{\textbf {l}}\Vert _\infty \) g ( td D ( A ) , A ) n log ( n ) log u - l where  \(g\) g is some computable function. We conjecture that a stronger lower bound is possible in this regime, and our algorithm is in fact optimal. Our algorithms combine ideas from scaling, proximity, and sensitivity of integer programs, together with a new dynamic data structure.