Abstract
This paper presents the concept of objective landscape in the context of Constraint Programming. An objective landscape is a light-weight structure providing some information on the relation between decision variables and objective values, that can be quickly computed once and for all at the beginning of the resolution and is used to guide the search. It is particularly useful on decision variables with large domains and with a continuous semantics, which is typically the case for time or resource quantity variables in scheduling problems. This concept was recently implemented in the automatic search of CP Optimizer and resulted in an average speed-up of about 50% on scheduling problems with up to almost 2 orders of magnitude for some applications.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
The distinction between objective decision variables x and the other variables y clearly depends on the formulation of the problem and may be considered as a bit arbitrary. This will be discussed in Sect. 7.
- 2.
Through the paper, we use lower cases for variables and upper cases for constants.
- 3.
By abuse of notation, as \(\mathcal{P}\) is supposed to be given, we do not use it in the notations of these bounds although they clearly depend on the propagation algorithm.
- 4.
A specific parameter can be used to switch off objective landscapes.
References
Beck, J.C., Refalo, P.: A hybrid approach to scheduling with earliness and tardiness costs. Ann. Oper. Res. 118(1–4), 49–71 (2003)
Biskup, D., Feldmann, M.: Benchmarks for scheduling on a single machine against restrictive and unrestrictive common due dates. Comput. Oper. Res. 28(8), 787–801 (2001)
Greenberg, H., Pierskalla, W.: A review of quasi-convex functions. Oper. Res. 19(7), 1553–1570 (1971)
Knopp, S., Dauzère-Pérès, S., Yugma, C.: Modeling maximum time lags in complex job-shops with batching in semiconductor manufacturing. In: Proceedings of the 15th International Conference on Project Management and Scheduling (PMS 2016), pp. 227–229 (2016)
Laborie, P., Godard, D.: Self-adapting large neighborhood search: application to single-mode scheduling problems. In: Baptiste, P., Kendall, G., Munier-Kordon, A., Sourd, F. (eds.) Proceedings of the 3rd Multidisciplinary International Conference on Scheduling: Theory and Applications (MISTA), Paris, France, pp. 276–284, 28–31 Aug 2007
Laborie, P., Rogerie, J., Shaw, P., Vilím, P.: IBM ILOG CP optimizer for scheduling. Constraints J. 23(2), 210–250 (2018)
Laborie, P., Rogerie, J.: Temporal linear relaxation in IBM ILOG CP optimizer. J. Sched. 19(4), 391–400 (2016)
Michel, L., Van Hentenryck, P.: Activity-based search for black-box constraint programming solvers. In: Beldiceanu, N., Jussien, N., Pinson, É. (eds.) CPAIOR 2012. LNCS, vol. 7298, pp. 228–243. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29828-8_15
Monette, J., Deville, Y., Hentenryck, P.V.: Just-in-time scheduling with constraint programming. In: Proceedibgs of the 19th International Conference on Automated Planning and Scheduling (ICAPS 2009) (2009)
Morton, T., Pentico, D.: Heuristic Scheduling Systems. Wiley, New York (1993)
Pesant, G.: Counting-based search for constraint optimization problems. In: Proceedings of the 13th AAAI Conference on Artificial Intelligence (AAAI 2016), pp. 3441–3447 (2016)
Refalo, P.: Impact-based search strategies for constraint programming. In: Wallace, M. (ed.) CP 2004. LNCS, vol. 3258, pp. 557–571. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30201-8_41
Vanhoucke, M.: A scatter search heuristic for maximising the net present value of a resource-constrained project with fixed activity cash flows. Int. J. Prod. Res. 48, 1983–2001 (2010)
Vardi, M.Y.: Fundamentals of dependency theory. Technical report RJ4858, IBM Research (1985)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendix: Proof of Proposition 3
Appendix: Proof of Proposition 3
Let \(v \in D_i\), we want to prove that \(L_i(v) = f^*_i(v)\). We distinguish 3 cases depending on the position of v with respect to \(X^L_i(Z^L)\) and \(X^U_i(Z^L)\).
Case 1: \(v \in [X^L_i(Z^L),X^U_i(Z^L)]\)
By definition of the landscape function we have \(L_i(v)=Z^L\).
We first note that by definition of \(Z^L\), for every objective value \(z < Z^L\) as the propagation of \(f(x)\le z\) fails, it means that \(Z^L\) is a lower bound on \(Z^*=\min _{x \in D} f(x)\).
As by definition of function \(f^*_i\) we have \(\forall v \in D_i, Z^* \le f^*_i(v)\). We can deduce: \(L_i(v) ( = Z^L ) \le f^*_i(v)\).
We will now use the bound-consistency property of propagation to show that \(f^*_i(X^L_i(Z^L)) \le Z^L\) and \(f^*_i(X^U_i(Z^L)) \le Z^L\). By definition \(X^L_i(Z^L)\) is the minimal value in the domain of \(x_i\) after propagation of \(f(x)\le Z^L\). Because propagation is bound-consistency on \(x_i\), it means that there exist some x with \(x_i=X^L_i(Z^L)\) such that \(f(x) \le Z^L\) (otherwise, this value would have been filtered from the domain). Furthermore, by definition of function \(f^*_i\), we have \(f^*_i(X^L_i(Z^L)) \le f(x)\), thus \(f^*_i(X^L_i(Z^L)) \le Z^L\). The proof that \(f^*_i(X^U_i(Z^L)) \le Z^L\) is symmetrical. Finally, the quasiconvexity of \(f^*_i\) implies that for all \(v \in [X^L_i(Z^L),X^U_i(Z^L)]\), \(f^*_i(v) \le Z^L (= L_i(v))\).
Case 2: \(v < X^L_i(Z^L)\)
By definition of the landscape we have \(L_i(v)= \min {\{z | X^L_i(z) \le v\}}\).
We first prove that \(f^*_i(v) \ge L_i(v)\). By contradiction, suppose that \(f^*_i(v) < L_i(v)\) and let \(z' = f^*_i(v)\). This would mean that there exist x with \(x_i=v\) such that \(f(x) = z'\). For such a \(z'\) we would have \(X^L_i(z') \le v\) because x supports objective value \(z'\) and thus value v cannot be removed from the domain of \(x_i\). Such a value \(z' < L_i(v)\) such that \(X^L_i(z') \le v\) contradict the fact \(L_i(v)\) is the smallest z satisfying \(X^L_i(z) \le v\). This proves \(f^*_i(v) \ge L_i(v)\).
For proving that \(f^*_i(v) \le L_i(v)\), we distinguish 2 sub-cases depending on whether or not there exist an objective value z such that \(X^L_i(z) = v\).
Case 2.1: There exist a value z such that \(X^L_i(z) = v\) so that \(L_i(v)=z\).
By definition of \(X^L_i\), this means that v is the minimal value in the domain of \(x_i\) after propagating \(f(x) \le z\). Because propagation is bound-consistent on \(x_i\), it means that there exist some x with \(x_i=v\) such that \(f(x) \le z\) (otherwise, this value would have been filtered from the domain). Furthermore, by definition of function \(f^*_i\), we have \(f^*_i(v) \le f(x)\), thus \(f^*_i(v) \le z (=L_i(v))\).
Case 2.2: There does not exist any value z such that \(X^L_i(z) = v\).
This is the case of a discontinuity of function \(X^L_i(z)\). Let \(v^+ = X^L_i(L_i(v))\) denote the value of \(X^L_i\) at the discontinuity. By definition of \(L_i\), we have \(L_i(v)=L_i(v^+)\). Furthermore, as \(v^+\) satisfies case 2.1 above, we also know that \(f^*_i(v^+) \le L_i(v^+)\). We have seen in case 1 that \(f^*_i(X^L_i(Z^L)) \le Z^L\) and, of course, \(Z^L \le L_i(v^+)\). To summarize: \(v \in [X^L_i(Z^L), v^+]\), \(f^*_i(X^L_i(Z^L)) \le L_i(v^+)\) and \(f(v^+) \le L_i(v^+)\). Thus, by quasiconvexity of \(f^*_i\): \(f(v) \le L_i(v^+) (=L_i(v))\).
Case 3: \(v > X^U_i(Z^L)\)
This case is the symmetrical of Case 2. \(\square \)
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Laborie, P. (2018). Objective Landscapes for Constraint Programming. In: van Hoeve, WJ. (eds) Integration of Constraint Programming, Artificial Intelligence, and Operations Research. CPAIOR 2018. Lecture Notes in Computer Science(), vol 10848. Springer, Cham. https://doi.org/10.1007/978-3-319-93031-2_28
Download citation
DOI: https://doi.org/10.1007/978-3-319-93031-2_28
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-93030-5
Online ISBN: 978-3-319-93031-2
eBook Packages: Computer ScienceComputer Science (R0)