License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.CP.2022.21
URN: urn:nbn:de:0030-drops-166503
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2022/16650/
Ek, Alexander ;
Schutt, Andreas ;
Stuckey, Peter J. ;
Tack, Guido
Explaining Propagation for Gini and Spread with Variable Mean
Abstract
In optimisation problems involving multiple agents (stakeholders) we often want to make sure that the solution is balanced and fair. That is, we want to maximise total utility subject to an upper bound on the statistical dispersion (e.g., spread or the Gini coefficient) of the utility given to different agents, or minimise dispersion subject to some lower bounds on utility. These needs arise in, for example, balancing tardiness in scheduling, unwanted shifts in rostering, and desired resources in resource allocation, or minimising deviation from a baseline in schedule repair, to name a few. These problems are often quite challenging. To solve them efficiently we want to effectively reason about dispersion. Previous work has studied the case where the mean is fixed, but this may not be possible for many problems, e.g., scheduling where total utility depends on the final schedule. In this paper we introduce two log-linear-time dispersion propagators - (a) spread (variance, and indirectly standard deviation) and (b) the Gini coefficient - capable of explaining their propagations, thus allowing effective clause learning solvers to be applied to these problems. Propagators for (a) exist in the literature but do not explain themselves, while propagators for (b) have not been previously studied. We avoid introducing floating-point variables, which are usually not supported by learning solvers, by reasoning about scaled, integer versions of the constraints. We show through experimentation that clause learning can substantially improve the solving of problems where we want to bound dispersion and optimise total utility and vice versa.
BibTeX - Entry
@InProceedings{ek_et_al:LIPIcs.CP.2022.21,
author = {Ek, Alexander and Schutt, Andreas and Stuckey, Peter J. and Tack, Guido},
title = {{Explaining Propagation for Gini and Spread with Variable Mean}},
booktitle = {28th International Conference on Principles and Practice of Constraint Programming (CP 2022)},
pages = {21:1--21:16},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-240-2},
ISSN = {1868-8969},
year = {2022},
volume = {235},
editor = {Solnon, Christine},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2022/16650},
URN = {urn:nbn:de:0030-drops-166503},
doi = {10.4230/LIPIcs.CP.2022.21},
annote = {Keywords: Spread constraint, Gini index, Filtering algorithm, Constraint programming, Lazy clause generation}
}
Keywords: |
|
Spread constraint, Gini index, Filtering algorithm, Constraint programming, Lazy clause generation |
Collection: |
|
28th International Conference on Principles and Practice of Constraint Programming (CP 2022) |
Issue Date: |
|
2022 |
Date of publication: |
|
23.07.2022 |
Supplementary Material: |
|
Software (Source Code): https://www.github.com/aekh/chuffed Dataset (Instances): https://www.github.com/aekh/CP22-Extras |