Lexicographic max-min optimization

From HandWiki
Revision as of 20:50, 6 February 2024 by Steve2012 (talk | contribs) (fix)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Optimization method

Lexicographic max-min optimization (also called lexmaxmin or leximin or leximax or lexicographic max-ordering optimization) is a kind of multi-objective optimization. In general, multi-objective optimization deals with optimization problems with two or more objective functions to be optimized simultaneously. Lexmaxmin optimization presumes that the decision-maker would like the smallest objective value to be as high as possible; subject to this, the second-smallest objective should be as high as possible; and so on. In other words, the decision-maker ranks the possible solutions according to a leximin order of their objective function values.

As an example, consider egalitarian social planners, who want to decide on a policy such that the utility of the poorest person will be as high as possible; subject to this, they want to maximize the utility of the second-poorest person; and so on. This planner solves a lexmaxmin problem, where the objective function number i is the utility of agent number i.

Algorithms for lexmaxmin optimization (not using this name) were developed for computing the nucleolus of a cooperative game.[1][2] An early application of lexmaxmin was presented by Melvin Dresher[3] in his book on game theory, in the context of taking maximum advantage of the opponent's mistakes in a zero-sum game. Behringer[4] cites many other examples in game theory as well as decision theory.

Notation

A lexmaxmin problem may be written as:[math]\displaystyle{ \begin{align} \operatorname{lex} \max \min && f_1(x), f_2(x), \ldots, f_n(x) \\ \text{subject to} && x\in X \end{align} }[/math]where [math]\displaystyle{ f_1,\ldots, f_n }[/math] are the functions to maximize; [math]\displaystyle{ x }[/math] is the vector of decision variables; and [math]\displaystyle{ X }[/math] is the feasible set - the set of possible values of [math]\displaystyle{ x }[/math].

Comparison with lexicographic optimization

Lexmaxmin optimization is closely related to lexicographic optimization. However, in lexicographic optimization, there is a fixed order on the functions, such that [math]\displaystyle{ f_1 }[/math] is the most important, [math]\displaystyle{ f_2 }[/math] is the next-most important, and so on. In contrast, in lexmaxmin, all the objectives are equally important. To present lexmaxmin as a special case of lexicographic optimization, denote by [math]\displaystyle{ f_{[1]}(x) := \min(f_1(x),\ldots,f_n(x)) = }[/math] the smallest objective value in x. Similarly, denote by [math]\displaystyle{ f_{[2]}(x) := }[/math] the second-smallest objective value in x, and so on, so that [math]\displaystyle{ f_{[1]}(x) \leq f_{[2]}(x)\leq \cdots \leq f_{[n]}(x) }[/math]. Then, the lexmaxmin optimization problem can be written as the following lexicographic maximization problem:[math]\displaystyle{ \begin{align} \operatorname{lex} \max && f_{[1]}(x), \ldots, f_{[n]}(x) \\ \text{subject to} && x\in X \end{align} }[/math]

Uniqueness

In general, a lexmaxmin optimization problem may have more than one optimal solution. If [math]\displaystyle{ x^1 }[/math] and [math]\displaystyle{ x^2 }[/math] are two optimal solutions, then their ordered value vector must be the same, that is, [math]\displaystyle{ f_{[i]}(x^1) = f_{[i]}(x^2) }[/math] for all [math]\displaystyle{ i\in[n] }[/math],[5]:{{{1}}} that is, the smallest value is the same, the second-smallest value is the same, and so on. However, the unsorted value vectors may be different. For example, (1,2,3) and (2,1,3) may both be optimal solutions to the same problem.

However, if the feasible domain is a convex set, and the objectives are concave functions, then the value vectors in all optimal solutions must be the same, since if there were two different optimal solutions, their mean would be another feasible solution in which the objective functions attain a higher value - contradicting the optimality of the original solutions.[5]:{{{1}}}

Algorithms for continuous variables

Saturation Algorithm for convex problems

The Saturation Algorithm works when the feasible set is a convex set, and the objectives are concave functions. Variants of these algorithm appear in many papers. The earliest appearance is attributed to Alexander Kopelowitz[1] by Elkind and Pasechnik.[6] Other variants appear in.[7]:20–27[8][9][5]:{{{1}}}[10][11][12][13][14][15]

The algorithm keeps a set of objectives that are considered saturated (also called: blocking). This means that their value cannot be improved without harming lower-valued objectives. The other objectives are called free. Initially, all objectives are free. In general, the algorithm works as follows:

  • While some objective is free:
    • (P1) Solve the following single-objective problem, where [math]\displaystyle{ z_k }[/math] is the saturation value of objective [math]\displaystyle{ f_k }[/math]:[math]\displaystyle{ \begin{align} \max ~~~ z \\ \text{subject to} ~~~ &x\in X, \\ &f_k(x) = z_k \text{ for all saturated objectives } k, \\ &f_k(x) \geq z \text{ for all free objectives } k \end{align} }[/math]
    • If the problem is infeasible or unbounded, stop and declare that there is no solution.
    • Otherwise, let [math]\displaystyle{ z_{\max} }[/math] be the maximum value of the first problem.
    • Look for free objectives whose value cannot increase above [math]\displaystyle{ z_{\max} }[/math] without decreasing some other objective below [math]\displaystyle{ z_{\max} }[/math]. In any lexmaxmin solution, the value of any such objective must be exactly [math]\displaystyle{ z_{\max} }[/math]. Add all such objectives to the set of saturated objectives, set their saturation value to [math]\displaystyle{ z_{\max} }[/math], and go back to (P1).

It remains to explain how we can find new saturated objectives in each iteration.

Method 1: interior optimizers.[1][6] An interior optimizer of a linear program is an optimal solution in which the smallest possible number of constraints are tight. In other words, it is a solution in the interior of the optimal face. An interior optimizer of (P1) can be found by solving (P1) using the ellipsoid method or interior point methods.

The set of tight constraints in an interior optimizer is unique. Proof: Suppose by contradiction that there are two interior-optimizers, x1 and x2, with different sets of tight constraints. Since the feasible set is convex, the average solution x3 = (x1+x2)/2 is also an optimizer. Every constraint that is not tight in either x1 or x2, is not tight in x3. Therefore, the number of tight constraints in x3 is smaller than in x1 and x2, contradicting the definition of an interior optimizer.

Therefore, the set of tight constraints in the interior optimizer corresponds to the set of free objectives that become saturated. Using this method, the leximin solution can be computed using at most n iterations.

Method 2: iterating over all objectives.[7] It is possible to find at least one saturated objective using the following algorithm.

  • For every free objective [math]\displaystyle{ f_j }[/math]:
    • (P2) Solve the following single-objective problem:[math]\displaystyle{ \begin{align} \max ~~~ f_j(x) \\ \text{subject to} ~~~ &x\in X, \\ &f_k(x) \geq z_k \text{ for all saturated objectives } k, \\ &f_k(x) \geq z_{\max} \text{ for all free objectives } k \end{align} }[/math]
    • If the optimal value equals [math]\displaystyle{ z_{\max} }[/math], then objective j becomes saturated from now on.
    • Otherwise, the optimal value must be larger than [math]\displaystyle{ z_{\max} }[/math]; objective j remains free for now.
  • End for

At each step, at least one free objective must become saturated. This is because, if no objective were saturated, then the mean of all optimal solutions to (P2) would be a feasible solution in which all objective values are larger than [math]\displaystyle{ z_{\max} }[/math] - contradicting the optimality of solution to (P1). For example, suppose [math]\displaystyle{ z_{\max}=1 }[/math], objective 1 is not saturated because there is a solution with value-vector (3,1), and objective 2 is not saturated because there exists a solution with value-vector and (1,3). Then, there exists a solution with value-vector at least (2,2), but [math]\displaystyle{ z_{\max} }[/math] should have been at least 2.

Therefore, after at most n iterations, all variables are saturated and a leximin-optimal solution is found. In each iteration t, the algorithm solves at most n-t+1 linear programs; therefore, the run-time of the algorithm is at most [math]\displaystyle{ (n+2)(n+1)/2 \in O(n^2) }[/math] times the run-time of the LP solver.

In some cases, the run-time of the saturation algorithm can be improved. Instead of finding all saturated objectives, we can break out of the inner loop after finding one saturated objective; the algorithm still stops after at most n iterations, and may reduce the number of linear programs (P2) we need to solve.[5]:{{{1}}}

Furthermore, instead of looping over all objectives to find a saturated one, the algorithm can find a saturated objective using the dual problem of (P1). In some cases, the dual variables are given as a byproduct of solving (P1), for example, when the objectives and constraints are linear and the solver is the simplex algorithm. In this case, (P2) is not needed at all, and the run-time of the algorithm is at most [math]\displaystyle{ n }[/math] times the run-time of the solver of (P1).[5]:{{{1}}}

All these variants work only for convex problems. For non-convex problems, there might be no saturated objective, so the algorithm might not stop.

Ordered Outcomes Algorithm for general problems

The Ordered Outcomes Algorithm works in arbitrary domains (not necessarily convex). It was developed by Ogryczak and Śliwiński[16] and also presented in the context of telecommunication networks by Ogryczak, Pioro and Tomaszewski,[5] and in the context of location problems by Ogryczak.[17] The algorithm reduces lexmaxmin optimization to the easier problem of lexicographic optimization. Lexicographic optimization can be done with a simple sequential algorithm, which solves at most n linear programs. The reduction starts with the following presentation of lexmaxmin:[math]\displaystyle{ \begin{align} (L1) \\ \operatorname{lex} \max && f_{[1]}(x), \ldots, f_{[n]}(x) \\ \text{subject to} && x\in X \end{align} }[/math]

This problem cannot be solved as-is, because [math]\displaystyle{ f_{[t]}(x) }[/math] (the t-th smallest value in [math]\displaystyle{ \mathbf{f}(x) }[/math]) is not a simple function of x. The problem (L1) is equivalent to the following problem, where [math]\displaystyle{ f_{[1..t]}(x) := \sum_{i=1}^t f_{[i]}(x) = }[/math] the sum of the t smallest values in [math]\displaystyle{ \mathbf{f}(x) }[/math]:[math]\displaystyle{ \begin{align} (L2) \\ \operatorname{lex} \max && f_{[1..1]}(x),f_{[1..2]}(x), \ldots, f_{[1..n]}(x) \\ \text{subject to} && x\in X \end{align} }[/math]

This problem can be solved iteratively using lexicographic optimization, but the number of constraints in each iteration t is C(n,t) -- the number of subsets of size t. This grows exponentially with n. It is possible to reduce the problem to a different problem, in which the number of constraints is polynomial in n.

For every t, the sum [math]\displaystyle{ f_{[1..t]}(x) }[/math] can be computed as the optimal value to the following problem, with n+1 auxiliary variables (an unbounded variable [math]\displaystyle{ r_{t} }[/math], and non-negative variables [math]\displaystyle{ d_{t,j} }[/math] for all j in 1,...,n), and n additional constraints:[5]:{{{1}}}[18][math]\displaystyle{ \begin{align} (L3) \\ \max (t\cdot r_t - \sum_{j=1}^n d_{t,j}) \\ \text{subject to} ~~~ & x\in X, \\ & r_t - f_j(x) \leq d_{t,j} \text{ for all } j\in[n], \\ & d_{t,j} \geq 0 \text{ for all } j\in[n]. \end{align} }[/math]Proof. Let us compute the values of the auxiliary variables in the optimal solution.

  • For all j, [math]\displaystyle{ d_{t,j} }[/math] should be at least as large as both 0 and [math]\displaystyle{ r_t-f_j(x) }[/math], and subject to this, it should be minimized, since it appears in the objective with a minus sign. Therefore, [math]\displaystyle{ d_{t,j} = \max(0, r_t-f_j(x)) }[/math]. So the objective can be written as: [math]\displaystyle{ t\cdot r_t - \sum_{j=1}^n \max(0, r_t-f_j(x)) }[/math].
  • For any k between 0 and n, if [math]\displaystyle{ r_t }[/math] is larger than the smallest k objective values (that is, [math]\displaystyle{ r_t \geq f_{[k]}(x) }[/math]), then the sum at the right-hand side contains exactly k positive elements: [math]\displaystyle{ \sum_{j=1}^k (r_t-f_{[j]}(x)) = k\cdot r_t - f_{[1..k]}(x) }[/math]. In that case, the objective can be written as: [math]\displaystyle{ (t-k)\cdot r_t + f_{[1..k]}(x) }[/math]. Note that [math]\displaystyle{ (t-k)\cdot r_t }[/math] is increasing with [math]\displaystyle{ r_t }[/math] when k<t, and decreasing with [math]\displaystyle{ r_t }[/math] when k>t. Therefore, the maximum value is attained when k=t, that is, [math]\displaystyle{ r_t }[/math] is larger than the smallest t objective values; in that case, the objective exactly equals [math]\displaystyle{ f_{[1..t]}(x) }[/math], as claimed.

Therefore, the problem (L2) is equivalent to the following lexicographic maximization problem:[5]:{{{1}}}[math]\displaystyle{ \begin{align} (L4) \\ \operatorname{lex} \max (t\cdot r_t - \sum_{j=1}^n d_{t,j})_{t=1}^n \\ \text{subject to} ~~~ & x\in X, \\ & r_t - f_j(x) \leq d_{t,j} \text{ for all } j\in[n], \\ & d_{t,j} \geq 0 \text{ for all } j\in[n]. \end{align} }[/math]

This problem (L4) has [math]\displaystyle{ n^2+n }[/math] additional variables, and [math]\displaystyle{ n^2 }[/math] additional constraints. It can be solved by every algorithm for solving lexicographic maximization, for example: the sequential algorithm using n linear programs, or the lexicographic simplex algorithm (if the objectives and constraints are linear).

Approximate leximin solutions

One advantage of the Ordered Outcomes Algorithm is that it can be used even when the single-problem solver is inaccurate, and returns only approximate solutions. Specifically, if the single-problem solver approximates the optimal single-problem solution with multiplicative factor α ∈ (0,1] and additive factor ϵ ≥ 0, then the algorithm returns a solution that approximates the leximin-optimal solution with multiplicative factor α2/(1 − α + α2) and additive factor ϵ/(1 − α + α2).[19]

Ordered Values Algorithm for general problems

The Ordered Values Algorithm works in any domain in which the set of possible values of the objective functions is finite. It was developed by Ogryczak and Śliwiński.[16] Let [math]\displaystyle{ V = \{v_1,\ldots, v_r\} }[/math] be the set of all values that can be returned by the functions [math]\displaystyle{ f_1,\ldots, f_n }[/math], such that [math]\displaystyle{ v_1 \lt \cdots \lt v_r }[/math]. Given a solution x, and an integer k in {1,..,r}, define [math]\displaystyle{ h_k(x) }[/math] as the number of occurrences of the value vr in the vector [math]\displaystyle{ f_1(x),\ldots, f_n(x) }[/math]. Then, the lexmaxmin problem can be stated as the following lexicographic minimization problem:[math]\displaystyle{ \begin{align} (H1) \\ \operatorname{lex} \min && h_1(x), \ldots, h_{r-1}(x) \\ \text{subject to} && x\in X \end{align} }[/math]since we want to have as few as possible functions attaining the smallest value; subject to this, as few as possible functions attaining the next-smallest value; and so on. Ogryczak and Śliwiński[16] show how to transform this non-linear program into a linear program with auxiliary variables. In their computational experiments, the Ordered Values algorithm runs much faster than the Saturation algorithm and the Ordered Outcomes algorithm.

Behringer's algorithm for quasiconcave functions

Behringer[4] presented a sequential algorithm for lexmaxmin optimization[clarification needed] when the objectives are quasiconvex functions, and the feasible set X is a convex set.

Weighted average

Yager[20] presented a way to represent the leximin ordering analytically using the Ordered weighted averaging aggregation operator. He assumes that all objective values are real numbers between 0 and 1, and the smallest difference between any two possible values is some constant d < 1 (so that values with difference smaller than d are considered equal). The weight [math]\displaystyle{ w_t }[/math] of [math]\displaystyle{ f_{[t]}(x) }[/math] is set to approximately [math]\displaystyle{ d^t }[/math]. This guarantees that maximizing the weighted sum [math]\displaystyle{ \sum_t w_t f_{[t]}(x) }[/math] is equivalent to lexmaxmin.

Algorithms for discrete variables

If the set of vectors is discrete, and the domain is sufficiently small, then it is possible to use one of the functions representing the leximin order, and maximize it subject to the constraints, using a solver for constraint-satisfaction problems.

But if the domain is large, the above approach becomes unfeasible due to the large number of possible values that this function can have: [math]\displaystyle{ {m+n-1 \choose n} }[/math], where m is the number of different values in the domain, and n is the number of variables.[21]

Bouveret and Lemaître present five different algorithms for finding leximin-optimal solutions to discrete constraint-satisfaction problems:[21]

  1. Branch and bound based on the LEXIMIN constraint - a constraint on two vectors x and y, saying that y is leximin-larger than x.
  2. Branching on saturated subsets - finding subsets of variables that must be fixed at the minimum value, and finding the maximum-minimum value for the other variables.
  3. Using the SORT constraint - a constraint on two vectors x and y, saying that y contains the same elements as x sorted in ascending order. This constraint can be computed efficiently by several algorithms.[22][23]
  4. Using the ATLEAST constraint.
  5. Using max-min transformations.

In their experiments, the best-performing approach was 4 (ATLEAST), followed by 3 (SORT) followed by 1 (LEXIMIN).

Dall'aglio[24] presents an algorithm for computing a leximin-optimal resource allocation.

References

  1. 1.0 1.1 1.2 (in en) COMPUTATION OF THE KERNELS OF SIMPLE GAMES AND THE NUCLEOLUS OF N-PERSON GAMES. (Report). https://apps.dtic.mil/sti/citations/AD0661382. 
  2. Kohlberg, Elon (1972-07-01). "The Nucleolus as a Solution of a Minimization Problem" (in en). SIAM Journal on Applied Mathematics 23 (1): 34–39. doi:10.1137/0123004. ISSN 0036-1399. http://epubs.siam.org/doi/10.1137/0123004. 
  3. Dresher, Melvin (1961) (in en). Games of Strategy: Theory and Applications. https://apps.dtic.mil/sti/citations/ADA473407. 
  4. 4.0 4.1 Behringer, F. A. (1977-06-01). "Lexicographic quasiconcave multiobjective programming" (in en). Zeitschrift für Operations Research 21 (3): 103–116. doi:10.1007/BF01919766. ISSN 1432-5217. https://doi.org/10.1007/BF01919766. 
  5. 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7 Ogryczak, W.; Pióro, M.; Tomaszewski, A. (2005). "Telecommunications network design and max-min optimization problem" (in EN). Journal of Telecommunications and Information Technology nr 3: 43–56. ISSN 1509-4553. http://yadda.icm.edu.pl/baztech/element/bwmeta1.element.baztech-article-BAT3-0027-0006. 
  6. 6.0 6.1 Elkind, Edith; Pasechnik, Dmitrii (2009-01-04) (in en). Computing the nucleolus of weighted voting games. Society for Industrial and Applied Mathematics. pp. 327–335. doi:10.1137/1.9781611973068.37. ISBN 978-0-89871-680-1. https://epubs.siam.org/doi/10.1137/1.9781611973068.37. 
  7. 7.0 7.1 Willson, Stephen J. (1995). "Fair Division using Linear Programming". https://swillson.public.iastate.edu/FairDivisionUsingLPUnpublished6.pdf. 
  8. Potters, Jos A. M.; Tijs, Stef H. (1992-02-01). "The Nucleolus of a Matrix Game and Other Nucleoli". Mathematics of Operations Research 17 (1): 164–174. doi:10.1287/moor.17.1.164. ISSN 0364-765X. https://pubsonline.informs.org/doi/abs/10.1287/moor.17.1.164. 
  9. Luss, Hanan (1999-06-01). "On Equitable Resource Allocation Problems: A Lexicographic Minimax Approach". Operations Research 47 (3): 361–378. doi:10.1287/opre.47.3.361. ISSN 0030-364X. 
  10. Nace, Dritan; Pioro, Michal (2008). "Max-min fairness and its applications to routing and load-balancing in communication networks: a tutorial" (in en). IEEE Communications Surveys & Tutorials 10 (4): 5–17. doi:10.1109/SURV.2008.080403. ISSN 1553-877X. https://ieeexplore.ieee.org/document/4738463. 
  11. Airiau, Stéphane; Aziz, Haris; Caragiannis, Ioannis; Kruger, Justin; Lang, Jérôme; Peters, Dominik (2019-08-10). "Portioning using ordinal preferences: fairness and efficiency". Proceedings of the 28th International Joint Conference on Artificial Intelligence. IJCAI'19 (Macao, China: AAAI Press): 11–17. ISBN 978-0-9992411-4-1. https://dl.acm.org/doi/abs/10.5555/3367032.3367035. 
  12. Bei, Xiaohui; Lu, Xinhang; Suksompong, Warut (2022-06-28). "Truthful Cake Sharing" (in en). Proceedings of the AAAI Conference on Artificial Intelligence 36 (5): 4809–4817. doi:10.1609/aaai.v36i5.20408. ISSN 2374-3468. https://ojs.aaai.org/index.php/AAAI/article/view/20408. 
  13. Ogryczak, Włodzimierz (1997-08-01). "On the lexicographic minimax approach to location problems" (in en). European Journal of Operational Research 100 (3): 566–585. doi:10.1016/S0377-2217(96)00154-3. ISSN 0377-2217. https://www.sciencedirect.com/science/article/abs/pii/S0377221796001543. 
  14. Dubois, Didier; Fortemps, Philippe (1999-10-01). "Computing improved optimal solutions to max–min flexible constraint satisfaction problems" (in en). European Journal of Operational Research 118 (1): 95–126. doi:10.1016/S0377-2217(98)00307-5. ISSN 0377-2217. https://www.sciencedirect.com/science/article/abs/pii/S0377221798003075. 
  15. Ehrgott, Matthias (2005-05-18) (in en). Multicriteria Optimization. Springer Science & Business Media. ISBN 978-3-540-21398-7. https://books.google.com/books?id=8wGyB5Sa2CUC&dq=Multicriteria+Optimization%2C+Lecture+Notes+in+Economics+and+Mathematical+Systems%2C+v&pg=PA1. 
  16. 16.0 16.1 16.2 Ogryczak, Włodzimierz; Śliwiński, Tomasz (2006). "On Direct Methods for Lexicographic Min-Max Optimization". in Gavrilova, Marina; Gervasi, Osvaldo; Kumar, Vipin et al. (in en). Computational Science and Its Applications - ICCSA 2006. Lecture Notes in Computer Science. 3982. Berlin, Heidelberg: Springer. pp. 802–811. doi:10.1007/11751595_85. ISBN 978-3-540-34076-8. https://link.springer.com/chapter/10.1007/11751595_85. 
  17. Ogryczak, Włodzimierz (1997-08-01). "On the lexicographic minimax approach to location problems" (in en). European Journal of Operational Research 100 (3): 566–585. doi:10.1016/S0377-2217(96)00154-3. ISSN 0377-2217. https://www.sciencedirect.com/science/article/pii/S0377221796001543. 
  18. Ogryczak, Wlodzimierz; Tamir, Arie (2003-02-14). "Minimizing the sum of the k largest functions in linear time" (in en). Information Processing Letters 85 (3): 117–122. doi:10.1016/S0020-0190(02)00370-8. ISSN 0020-0190. https://www.sciencedirect.com/science/article/pii/S0020019002003708. 
  19. Hartman, Eden; Hassidim, Avinatan; Aumann, Yonatan; Segal-Halevi, Erel (2023), "Leximin Approximation: From Single-Objective to Multi-Objective", ECAI 2023, Frontiers in Artificial Intelligence and Applications (IOS Press): pp. 996–1003, doi:10.3233/FAIA230371, ISBN 9781643684369, https://ebooks.iospress.nl/doi/10.3233/FAIA230371, retrieved 2023-10-15 
  20. Yager, Ronald R. (1997-10-01). "On the analytic representation of the Leximin ordering and its application to flexible constraint propagation" (in en). European Journal of Operational Research 102 (1): 176–192. doi:10.1016/S0377-2217(96)00217-2. ISSN 0377-2217. https://www.sciencedirect.com/science/article/pii/S0377221796002172. 
  21. 21.0 21.1 Bouveret, Sylvain; Lemaître, Michel (2009-02-01). "Computing leximin-optimal solutions in constraint networks" (in en). Artificial Intelligence 173 (2): 343–364. doi:10.1016/j.artint.2008.10.010. ISSN 0004-3702. 
  22. Guernalec, Noëlle Bleuzen; Colmerauer, Alain (1997). "Narrowing a 2n-block of sortings in O (N logn)". in Smolka, Gert (in en). Principles and Practice of Constraint Programming-CP97. Lecture Notes in Computer Science. 1330. Berlin, Heidelberg: Springer. pp. 2–16. doi:10.1007/BFb0017426. ISBN 978-3-540-69642-1. https://link.springer.com/chapter/10.1007/BFb0017426. 
  23. Mehlhorn, Kurt; Thiel, Sven (2000). "Faster Algorithms for Bound-Consistency of the Sortedness and the Alldifferent Constraint". in Dechter, Rina (in en). Principles and Practice of Constraint Programming – CP 2000. Lecture Notes in Computer Science. 1894. Berlin, Heidelberg: Springer. pp. 306–319. doi:10.1007/3-540-45349-0_23. ISBN 978-3-540-45349-9. https://link.springer.com/chapter/10.1007/3-540-45349-0_23. 
  24. Dall'Aglio, Marco (2001-05-01). "The Dubins–Spanier optimization problem in fair division theory" (in en). Journal of Computational and Applied Mathematics 130 (1–2): 17–40. doi:10.1016/S0377-0427(99)00393-3. ISSN 0377-0427. Bibcode2001JCoAM.130...17D.