The Complexity of Optimization on Grids

  • 123 Accesses


Unique-sink orientations of grids are models for linear optimization problems. Vertices of the grid represent possible solutions to the optimization problem; edge orientations indicate improving directions. The computational goal is to find the unique sink, representing the optimal solution. We study the query complexity of this model, where we consider two natural types of queries, vertex queries and edge queries. We describe a deterministic algorithm showing that the vertex query complexity of d-dimensional grids is \(O(n^{ \lceil d/2 \rceil })\). For the edge query complexity we obtain nearly the same bound, incurring only an \(n^{o(1)}\) overhead. Our algorithms rely on structural results with potential further applications in optimization theory.

This is a preview of subscription content, log in to check access.

Access options

Buy single article

Instant unlimited access to the full article PDF.

US$ 39.95

Price includes VAT for USA

Subscribe to journal

Immediate online access to all issues from 2019. Subscription will auto renew annually.

US$ 199

This is the net price. Taxes to be calculated in checkout.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9


  1. 1.

    See Sect. 3.1 for an explanation of these terms.

  2. 2.

    See Sect. 3.2 for a formal definition.


  1. 1.

    Aggarwal, A., Klawe, M.M., Moran, S., Shor, P., Wilber, R.: Geometric applications of a matrix-searching algorithm. Algorithmica 2(1–4), 195–208 (1987).

  2. 2.

    Barba, L., Milatz, M., Nummenpalo, J., Thomas, A.: Deterministic algorithms for unique sink orientations of grids. In: Dinh, T.N., Thai, M.T. (eds.) Computing and Combinatorics, pp. 357–369. Springer, Cham (2016).

  3. 3.

    Björner, A., Vergnas, M.L., Sturmfels, B., White, N., Ziegler, G.M.: Oriented matroids. Encyclopedia of Mathematics and its Applications, vol. 46, 2nd edn. Cambridge University Press, Cambridge (1999)

  4. 4.

    Chan, T.M.: Improved deterministic algorithms for linear programming in low dimensions. In: Proceedings of the Twenty-Seventh Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’16, pp. 1213–1219. Society for Industrial and Applied Mathematics, Philadelphia (2016).

  5. 5.

    Chazelle, B., Matoušek, J.: On linear-time deterministic algorithms for optimization problems in fixed dimension. J. Algorithms 21(3), 579–597 (1996).

  6. 6.

    Demaine, E.D., Langerman, S.: Optimizing a 2D function satisfying unimodality properties. In: Brodal, G.S., Leonardi, S. (eds.) Proceedings of ESA 2005, LNCS, vol. 3669, pp. 887–898. Springer, New York (2005).

  7. 7.

    Felsner, S., Gärtner, B., Tschirschnitz, F.: Grid orientations, \((d, d + 2)\)-polytopes, and arrangements of pseudolines. Discrete Comput. Geom. 34(3), 411–437 (2005).

  8. 8.

    Galil, Z., Park, K.: Dynamic programming with convexity, concavity and sparsity. Theor. Comput. Sci. 92(1), 49–76 (1992).

  9. 9.

    Gärtner, B., Matoušek, J., Rüst, L., Skovron, P.: Violator spaces: structure and algorithms. Discrete Appl. Math. (2008).

  10. 10.

    Gärtner, B., Morris Jr., W.D., Rüst, L.: Unique sink orientations of grids. Algorithmica 51(2), 200–235 (2008).

  11. 11.

    Gärtner, B., Tschirschnitz, F., Welzl, E., Solymosi, J., Valtr, P.: One line and \(n\) points. Random Struct. Algorithm 23(4), 453–471 (2003).

  12. 12.

    Goodman, J.E., Pollack, R.: Upper bounds for configurations and polytopes in \(R^d\). Discrete Comput. Geom. 1(3), 219–227 (1986).

  13. 13.

    Grünbaum, B.: Convex Polytopes. Springer, New York (1967/2003).

  14. 14.

    Hansen, T.D., Paterson, M., Zwick, U.: Improved Upper Bounds for Random-Edge and Random-Jump on Abstract Cubes, pp. 874–881. Society for Industrial and Applied Mathematics, Philadelphia (2014).

  15. 15.

    Matoušek, J., Sharir, M., Welzl, E.: A subexponential bound for linear programming. Algorithmica 16(4/5), 498–516 (1996).

  16. 16.

    Matoušek, J., Szabó, T.: RANDOM EDGE can be exponential on abstract cubes. Adv. Math. 204(1), 262–277 (2006).

  17. 17.

    Mityagin, A.: On the complexity of finding a local maximum of functions on discrete planar subsets. In: Alt, H., Habib, M. (eds.) Proceedings of STACS 2003, LNCS, vol. 2607, pp. 203–211. Springer, New York (2003)

  18. 18.

    Schurr, I., Szabó, T.: Finding the sink takes some time: an almost quadratic lower bound for finding the sink of unique sink oriented cubes. Discrete Comput. Geom. 31(4), 627–642 (2004).

  19. 19.

    Schurr, I., Szabó, T.: Jumping doesn’t help in abstract cubes. In: Jünger, M., Kaibel, V. (eds.) Integer Programming and Combinatorial Optimization, pp. 225–235. Springer, New York (2005).

  20. 20.

    Szabó, T., Welzl, E.: Unique sink orientations of cubes. In: Proceedings of FOCS 2001, pp. 547–555. IEEE Computer Society (2001).

  21. 21.

    Tschirschnitz, F.: LP-related properties of polytopes with few facets. Ph.D. thesis, ETH Zürich (2003).

Download references


We would like to thank Bernd Gärtner for introducing the problem at the 2015 Gremo Workshop on Open Problems (GWOP), June 1–5, 2015, Feldis (GR), Switzerland. This work was supported in part by the National Natural Science Foundation of China Grants No. 61433014, 61832003, 61761136014, 61872334, 61502449, the 973 Program of China Grant No. 2016YFB1000201.

Author information

Correspondence to Malte Milatz.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

The problems studied in this paper have been considered before by a subset of the authors in [2].

A Proof of the Lower Bound of Proposition 5

A Proof of the Lower Bound of Proposition 5

To prove the lower bound, we adapt Ziegler’s construction in § 7.4 of [3] to our setting. Here we will define the edge orientations directly; the reader may refer to the remark below to gain some intuition why we choose the edge orientations exactly in this way. Fix some number k and consider the grid G with \(n_1 = 2k\) and \(n_i = k\) for all \(i = 2, 3, \ldots , d\). Here we let \([n_i] = \{ 0, \ldots , n_i - 1 \}\) by slightly abusing the notation, so that the coordinates start from zero. The grid consists of an “upper part”, containing the vertices whose first coordinate is in the range \(0, \ldots , k - 1\), and a “lower part”, containing the vertices whose first coordinate is in the range \(k, \ldots , 2k - 1\). We begin by directing the edges within the upper part, and the edges within the lower part, using in each case a uniform orientation as shown in Fig. 10. (Note that the figure interprets the coordinates in matrix order; that is, the first coordinate is the row index and the second coordinate is the column index.) Specifically, for the upper part we choose the uniform orientation with source equal to \(s :=\mathbf {1}_d\) and sink equal to \(t :=\mathbf {0}_d\); for the lower part, the source is in \(s' :=(2k - 1, (k-1)\mathbf {1}_{d-1})\) and the sink is in \(t' :=(k, \mathbf {0}_{d-1})\). It remains to direct the edges between the upper and the lower part, that is, the edges uv where u and v differ only in their first coordinate and furthermore \(u_1 = \{0, \ldots , k - 1\}\), \(v_1= \{k, \ldots , 2k - 1\}\). We use the following rule:

  1. (1)

    If \(u_1 + \cdots + u_d > v_1 - k\), then we direct the edge from u to v.

  2. (2)

    If \(u_1 + \cdots + u_d < v_1 - k\), then we direct the edge from v to u.

  3. (3)

    If \(u_1 + \cdots + u_d = v_1 - k\), then we direct the edge arbitrarily (and we claim that we obtain an admissible orientation if we do so).

For the edge in (3) we always have two choices, and there are \(\varTheta (k^d)\) edges of type (3). This shows that we have constructed \(2^{\varTheta (k^d)}\) many different orientations of the grid G. Since G has grid size \(n = (d + 1)k\), this shows that we have constructed as many distinct orientations as we claimed. It remains to argue that our orientations are really admissible, that is, that they satisfy (i) the unique-sink property and (ii) the Holt–Klee property.

Ad (i). Our construction is actually a semi-direct product \(G = G' \times (G''_x)_{x \in V(G)}\), where \(G'\) is an \((d - 1)\)-dimensional uniform (hence unique-sink) orientation, and \(G''_x\) is the one-dimensional orientation specified by the rules (1)–(3) above, \(x = (u_2, \ldots , u_d)\). It is easy to see that every \(G''_x\) is acyclic; since it is one-dimensional, this implies the unique-sink property for each \(G''_x\) and, hence, for the entire grid G.

Ad (ii). Since the argument is essentially the same for every subgrid, we prove only that the entire grid G possesses \(n - d\) internally vertex-disjoint paths from the source to the sink. The source of our grid is

$$\begin{aligned} s = (k - 1, k - 1, k - 1, \ldots , k - 1), \end{aligned}$$

whereas a look at Fig. 10 reveals that the sink is either of the two vertices

$$\begin{aligned} t = (0, 0, 0, \ldots , 0) \quad t' = (k, 0, 0, \ldots , 0), \end{aligned}$$

depending on the choice of orientation for the type-3 edge \(tt'\). Since, again, the argument is very similar in both cases, let us assume without loss of generality that t is the sink of G. We need to construct a set \(\mathcal {P}\) of \(n - d\) internally vertex-disjoint st-paths. In the case that we are focusing on, both the sink and the source lie in the “upper part” of G, a uniformly oriented grid of size \(n - k\); so there are clearly \(n - k - d\) internally vertex-disjoint st-paths within the upper part. Let \(\mathcal {P}'\) denote the set of these paths. The set \(\mathcal {P}'\) contains already nearly all of the paths that we are looking for; we are left to find k further st-paths \(P_0, \ldots , P_{k-1}\). The starting vertex of each \(P_i\) is, of course, the source s. The next vertex on the path shall be \((i + k, k - 1, k - 1, \ldots , k - 1)\), which lies in the lower part. For the next few vertices we fix the first coordinate to be i, and we continue our path with a Hamming path towards \((i + k, 0, 0, \ldots , 0)\). Finally we go one additional step from \((i + k, 0, 0, \ldots , 0)\) to t. Clearly all these paths are internally vertex-disjoint. Furthermore they are internally vertex-disjoint with the paths from \(\mathcal {P}'\), because the internal vertices of \(\mathcal {P}'\) all lie in the upper part, whereas the internal vertices of \(P_i\) lie in the lower part. Letting

$$\begin{aligned} \mathcal {P} :=\mathcal {P}' \cup \{P_0, \ldots , P_{k - 1}\}, \end{aligned}$$

this proves the theorem.

Fig. 10

The partially oriented grid G for the proof of Proposition 5, here for \(d = 2\) and \(k = 3\). The lower and the upper part each receive a uniform orientation as shown here. The orange edges are the edges of type (3) and may be directed freely. The edges of type (1) and (2) are not shown in the figure (Color figure online)

Remark 1

(Relation to Ziegler’s construction) Our construction of admissible grid orientations is closely related to Ziegler’s construction of oriented matroids [3, Theorem 7.4.2]. To highlight the connection we explain, in Fig. 11, how our grid orientations can be obtained from the topological set-up there. For the purpose of arguing through pictures we restrict ourselves here to the case \(d = 2\), where our grid orientation can be obtained from an arrangement of pseudolines in the projective plane. (Due to a shift in terminologies, this would be the case \(d = 3\) for people who work in oriented matroids.) For \(d = 2\) we would be looking at an arrangement of n pseudo-hyperplanes instead.

Fig. 11

The arrangement of pseudolines underlying the grid orientation seen in Fig. 10. For each element of the value set \([n_1] \cup [n_2]\) there is one pseudoline. The pseudolines are divided into two groups: the (roughly) horizontal pseudolines 0, 1, 2, 3, 4, 5 corresponding to the elements of \([n_1]\), and the vertical pseudolines 0, 1, 2 corresponding to the elements of \([n_2]\). Every crossing of a horizontal pseudoline i with a vertical pseudoline j corresponds to vertex (ij) of the grid, and the arrow labelled “OPT” informally prescribes the orientations of the edges. At every little detour made by the “horizontal” (actually, diagonal) pseudolines 0, 1, 2, there is a choice of passing over or under the nearby crossing, corresponding to the choice of orientation for the corresponding orange edge in Fig. 10

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Barba, L., Milatz, M., Nummenpalo, J. et al. The Complexity of Optimization on Grids. Algorithmica 81, 3494–3518 (2019).

Download citation


  • Unique-sink orientation
  • Optimization
  • Linear programming