Abstract
The concept of balance plays an important role in many combinatorial optimization problems. Yet there exist various ways of expressing balance, and it is not always obvious how best to achieve it. In this methodologyfocused paper, we study three cases where its integration is deficient and analyze the causes of these inadequacies. We examine the characteristics and performance of the measures of balance used in these cases, and provide general guidelines regarding the choice of a measure.
This is a preview of subscription content, access via your institution.
Notes
Balancing with \(L_{2}\)deviation rather than \(L_{1}\)deviation turns an IP model into a (Mixed)Integer Nonlinear Programming one (MINLP). Although impressive advances in solving MINLPs have been made in the last 15 years (D’Ambrosio and Lodi 2013), MINLPs are still, in general, significantly more difficult to solve than ILPs.
In this paper, the models presented in “Appendices B, C, and D” were solved via CP.
In this paper, we call an outlier any value equal to one of the two extremal values of the dispersion interval.
A complete model for the BACP can be found in “Appendix B”.
Guidelines to generate equivalent instances to those used can be found in Monette et al. (2007).
Our dataset can be found at https://github.com/PhilippeOlivier/mobico.
A complete model for the NPAP can be found in “Appendix C”.
Our dataset can be found at https://github.com/PhilippeOlivier/mobico.
A complete model for the BBSS problem can be found in “Appendix D”.
In contrast with the BACP and the NPAP, in the following objectives the mean is implicitly taken into account, since it is always 0.
Our dataset can be found at https://github.com/PhilippeOlivier/mobico.
We are forced to keep the problem size small in order to solve all instances to optimality in a reasonable amount of time, for illustrative purposes.
When constrained, the capacity is set to 5, which is half the maximum demand of a station. When constrained, the route length is set to 100, which is roughly half the length of an optimal TSP tour of the stations.
The complexity stems from the fact that an undermean value and an overmean value may have distinct fractional parts, and that we do not know beforehand how many values will be under the mean, and how many will be over the mean.
Here, we are assuming that \(\mu  \ell \le u  \mu \). If instead \(\mu  \ell > u  \mu \), the logic would be reversed.
In the interest of simplicity, we have left aside the staffing part of the NPAP as it is not particularly meaningful for our purposes. The reader may refer to the cited paper for details.
References
Brams SJ, Jones MA, Klamler C (2006) Better ways to cut a cake. Not Am Math Soc 53(11):1314–1321
Castro C, Manzano S (2001) Variable and value ordering when solving balanced academic curriculum problems. In: Proceedings of 6th workshop of the ERCIM WG on constraints (Prague, June 2001)
Ceschia S, Di Gaspero L, Schaerf A (2014) The generalized balanced academic curriculum problem with heterogeneous classes. Ann Oper Res 218(1):147–163
Chemla D, Meunier F, Wolfler Calvo R (2013) Bike sharing systems: solving the static rebalancing problem. Discrete Optim 10(2):120–146
Chiarandini M, Di Gaspero L, Gualandi S, Schaerf A (2012) The balanced academic curriculum problem revisited. J Heuristics 18(1):119–148
Contardo C, Morency C, Rousseau LM (2012) Balancing a dynamic public bikesharing system. Technical report, CIRRELT
CorbettDavies S, Pierson E, Feller A, Goel S, Huq A (2017) Algorithmic decision making and the cost of fairness. CoRR abs/1701.08230
D’Ambrosio C, Lodi A (2013) Mixed integer nonlinear programming tools: an updated practical overview. Ann Oper Res 204(1):301–320
Di Gaspero L, Rendl A, Urli T (2013a) A hybrid ACO+CP for balancing bicycle sharing systems. In: Blesa MJ, Blum C, Festa P, Roli A, Sampels M (eds) Hybrid Metaheuristics. Springer, Berlin, pp 198–212
Di Gaspero L, Rendl A, Urli T (2013b) Constraintbased approaches for balancing bike sharing systems. In: Schulte C (ed) Principles and practice of constraint programming. Springer, Berlin, pp 758–773
Di Gaspero L, Rendl A, Urli T (2016) Balancing bike sharing systems with constraint programming. Constraints 21(2):318–348
Dong X, Cai Y (2019) A novel genetic algorithm for large scale colored balanced traveling salesman problem. Future Gener Comput Syst 95:727–742
Everitt BS, Skrondal A (2010) The Cambridge dictionary of statistics, vol 4. Cambridge University Press, Cambridge
Gaudioso M, Legato P (1991) Linear programming models for load balancing. Comput Oper Res 18(1):59–64
Hemmati H, Arcuri A, Briand L (2013) Achieving scalable modelbased testing through test case diversity. ACM Trans Softw Eng Methodol 22(1):1–42
Hnich B, Kiziltan Z, Walsh T (2002) Modelling a balanced academic curriculum problem. In Jussien N, Laburthe F (eds) Proceedings of the fourth international workshop on integration of AI and OR techniques in constraint programming for combinatorial optimisation problems (CPAIOR’02), Le Croisic, France. pp 121–131
Hnich B, Kiziltan Z, Miguel I, Walsh T (2004) Hybrid modelling for robust solving. Ann Oper Res 130(1):19–39
Larusic J, Punnen AP (2011) The balanced traveling salesman problem. Comput Oper Res 38(5):868–875
Levina E, Bickel P (2001) The earth mover’s distance is the mallows distance: some insights from statistics. In: Proceedings eighth IEEE international conference on computer vision. ICCV 2001, vol 2. pp 251–256
Lodi A (2010) Mixed integer programming computation. In: Jünger M, Liebling TM, Naddef D, Nemhauser GL, Pulleyblank WR, Reinelt G, Rinaldi G, Wolsey LA (eds) 50 Years of integer programming 1958–2008. Springer, Berlin, pp 619–645
Marsh MT, Schilling DA (1994) Equity measurement in facility location analysis: a review and framework. Eur J Oper Res 74(1):1–17
Monette JN, Schaus P, Zampelli S, Deville Y, Dupont P (2007) A CP approach to the balanced academic curriculum problem. In: Symcon’07, the seventh international workshop on symmetry and constraint satisfaction problems
Mullinax C, Lawley M (2002) Assigning patients to nurses in neonatal intensive care. J Oper Res Soc 53(1):25–35
Nash J (1953) Twoperson cooperative games. Econometrica 21(1):128–140
Ogryczak W (2000) Inequality measures and equitable approaches to location problems. Eur J Oper Res 122(2):374–391
Olivier P, Lodi A, Pesant G. The quadratic multiknapsack problem with conflicts and balance constraints. INFORMS J Comput (to appear)
Pattanaik PK (2017) Social welfare function. Palgrave Macmillan UK, London, pp 1–7
Pesant G (2015) Achieving domain consistency and counting solutions for dispersion constraints. INFORMS J Comput 27(4):690–703
Pesant G (2016) Balancing nursing workload by constraint programming. Springer International Publishing, Cham, pp 294–302
Pesant G, Régin JC (2005) SPREAD: a balancing constraint based on statistics. Springer, Berlin, pp 460–474
RainerHarbach M, Papazek P, Hu B, Raidl GR (2013) Balancing bicycle sharing systems: a variable neighborhood search approach. In: Middendorf M, Blum C (eds) Evolutionary computation in combinatorial optimization. Springer, Berlin, pp 121–132
RainerHarbach M, Papazek P, Raidl GR, Hu B, Kloimüllner C (2015) PILOT, GRASP, and VNS approaches for the static balancing of bicycle sharing systems. J Global Optim 63(3):597–629
Raviv T, Tzur M, Forma IA (2013) Static repositioning in a bikesharing system: models and solution approaches. EURO J Transp Logist 2(3):187–229
Rossi F, van Beek P, Walsh T (eds) (2006) Handbook of constraint programming. Volume 2 of foundations of artificial intelligence. Elsevier
Schaus P, Van Hentenryck P, Régin JC (2009) Scalable load balancing in nurse to patient assignment problems. In: van Hoeve WJ, Hooker JN (eds) Integration of AI and OR techniques in constraint programming for combinatorial optimization problems. Springer, Berlin, pp 248–262
Schaus P, Deville Y, Dupont P, Régin JC (2007) The deviation constraint. Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems 260–274
Schuijbroek J, Hampshire R, van Hoeve WJ (2017) Inventory rebalancing and vehicle routing in bike sharing systems. Eur J Oper Res 257(3):992–1004
Sen A (1974) Rawls versus Bentham: an axiomatic examination of the pure distribution problem. Theor Decis 4(3):301–309
Walla J, Ruthmair M, Raidl GR (2009) Solving a videoserver load rebalancing problem by mixed integer programming and hybrid variable neighborhood search. In: Blesa MJ, Blum C, Di Gaspero L, Roli A, Sampels M, Schaerf A (eds) Hybrid metaheuristics. Springer, Heidelberg, pp 84–99
Weng MX, Ventura JA (1994) A quadratic integer programming method for minimizing the mean squared deviation of completion times. Oper Res Lett 15(4):205–211
Whiteacre KW (2006) Testing the level of service inventoryrevised (LSIR) for racial/ethnic bias. Crim Justice Policy Rev 17(3):330–342
Acknowledgements
Financial support for this research was provided by NSERC Discovery Grant 218028/2017 and CERC, Polytechnique de Montréal. The authors warmly thank the referees for their reading and help in clarifying a few aspects of the paper.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
No conflict of interest to be reported.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
A Characteristics of balance
In this appendix, we provide some formal statistical definitions and basic results (Everitt and Skrondal 2010) of the concepts used in the paper in the attempt of making the reading more self contained.
Definitions
Let

n be the number of balancing variables \(x_1,x_2,\ldots ,x_n\),

\(v = \sum _{i=1}^n x_i\), the sum of values to be distributed to the balancing variables,

\(\mu =v/n\) be the (fixed) mean,

d be the deviation allowed for the problem,

\(\ell \) and u be the (nonnegative) lower and upper bounds of variables \(x_1,x_2,\ldots ,x_n\).
All of the previouslydefined variables are integers, except for the mean which could happen to be fractional. The values of d, \(\ell \), and u are assumed to be feasible, i.e.,

\(0 \le \ell \le \lceil \mu \rceil \) and \(u \ge \lceil \mu \rceil \),

\(d \ge \lceil \mu \rceil \) for minmax,

\(d \ge 0\) if the mean is integral, or \(d \ge 1\) if the mean is fractional, for \(L_{\infty }\)deviation,

The feasible lower bound of d for \(L_{1}\) and \(L_{2}\)deviation needs some explanation due to the complexity introduced by the possibility of having a fractional mean. In such a case, the lowest deviation can be achieved by assigning \({\overline{f}} = v \bmod n\) variables to a value of \(\lceil \mu \rceil \), and \({\underline{f}} = n  {\overline{f}}\) variables to a value of \(\lfloor \mu \rfloor \). The absolute deviation of a variable which is assigned a value of \(\lceil \mu \rceil \) is \({\overline{g}} = {\underline{f}}/n\), while for a variable which is assigned a value of \(\lfloor \mu \rfloor \) it is \({\underline{g}} = 1  {\overline{g}}\). The feasible lower bound d of \(L_{p}\)deviation is thus \(d = {\overline{f}}\times {\overline{g}}^{p} + {\underline{f}}\times {\underline{g}}^{p}\).
Dispersion
The dispersion characteristic represents the interval within which values of the variables can be found.
For minmax, the worstcase dispersion interval is
We set all variables except one to the maximum allowed deviation. The remaining variable determines the lower bound of the dispersion interval. That bound cannot be negative, nor lower than \(\ell \). A similar reasoning applies to the upper bound.
For \(L_{1}\)deviation, the worstcase dispersion interval is
In the worst case, one variable can account for at most half of the deviation.
For \(L_{2}\)deviation, the worstcase dispersion interval is
In contrast with \(L_{1}\)deviation, for \(L_{2}\)deviation we need to take into account the number of variables in order to tightly bound the dispersion interval.
For \(L_{\infty }\)deviation, the worstcase dispersion interval is
Here, we have to take into account three cases. First, a simple case of \(\ell \) or u providing the bound. Second, another simple case of the deviation d bounding the interval. Third, a more complicated case with a similar reasoning as for minmax (explained previously).
Outliers
As stated, in this paper, we call an outlier any value equal to one of the two extremal values of the dispersion interval (see previous section). In practice, the understanding of the nature of an outlier is more subtle, as it could be any value far enough from the mean, for some definition of far enough. Let \(i_{\min }\) and \(i_{\max }\) be, respectively, the minimum and maximum values of the intervals defined in the previous section.
For minmax and \(L_{\infty }\)deviation, the worstcase number of outliers is (let \(i_{\text {low}} = \min \{ \mu  i_{\min }, i_{\max }  \mu \}\) and \(i_{\text {high}} = \max \{ \mu  i_{\min }, i_{\max }  \mu \}\))
By looking at the ratio of the deviations between the extremes of the dispersion interval and the mean, we can infer the fractions of variables which will be equal to \(i_{\min }\) and \(i_{\max }\). On the left is the number of outliers which are below the mean, and on the right the number of outliers which are above the mean.
For \(L_{1}\) and \(L_{2}\)deviation, things are much more difficult due to the added complexity of managing a (possibly) fractional mean.^{Footnote 14} In fact, we have not been able to devise a closedform expression for the worstcase number of outliers for these two measures. Such a closedform expression, if it exists, is likely to be overly complicated. We present instead an informal algorithm which achieves the same purpose. For \(L_{1}\) and \(L_{2}\)deviation, then, the worstcase number of outliers is^{Footnote 15} computed as

1.
Make the variables as balanced as possible. They will either be equal to the mean (if the mean is integral), or be equal to one of the two nearest integers of the mean (if the mean is fractional).

2.
While the distribution of values is below the prescribed deviation threshold (also taking into account the potential effects of the actions below), and that at least two nonoutlier values can still be found among the variables:

(a)
Pick the variable \(x_{i}\) with the lowest value (yet still greater than the value of an outlier), and lower its value by 1.

(b)
If it exists, pick the variable (not \(x_{i}\) and not already an outlier) with the value closest to and lower than \(\lfloor \mu \rfloor \). If it does not exist, pick the variable (not \(x_{i}\) and not already an outlier) with the value closest to and greater than \(\lceil \mu \rceil \). Increase the value of this variable by 1.

(a)

3.
Count and return the number of outliers.
This algorithm starts with a balanced distribution of values, and maximizes the number of lowvalued outliers (recall that in this particular case, we assume that \(\mu  \ell \le u  \mu \), and as such lowvalued outliers are easier to reach than highvalued outliers). When the lowest nonoutlier value goes down (step 2a), the highest nonoutlier value goes up (step 2b), keeping the sum of values constant. This is done for as long as the deviation threshold allows it.
Smoothness
In order to assess the smoothness of a solution, we compare the distribution of its values to a perfectly smooth distribution, using the Wasserstein distance. This distance is equivalent to the socalled Earth Mover’s distance (Levina and Bickel 2001). Given two mounds of earth (in other words, two distributions), this metric represents the effort required to transform one mound of earth into the other. If two distributions are the same, their Wasserstein distance is zero. As the differences between two distributions increase, so does their Wasserstein distance.
B BACP model
This BACP model, written in a logical form, uses a similar notation as Monette et al. (2007). Let

\({\mathcal {C}} = \{1, \dots , n\}\) be the index set of courses,

\({\mathcal {P}} = \{1, \dots , m\}\) be the index set of periods,

\(w_{i}\) denote the load of course i with \(w = \sum _{i \in {\mathcal {C}}} w_{i}\) representing the combined loads of all the courses,

\({\mathcal {Q}} \subset {\mathcal {C}} \times {\mathcal {C}}\) denote the set of prerequisites, where an element (i, j) indicates that course i is a prerequisite to course j,

\(L = \{L_{1}, \dots , L_{m}\}\) denote the loads of the periods for an assignment,

\(P_{i} \in {\mathcal {P}}\) denote the period course i is assigned to,

\(B_{ik}\) denote if course i is assigned to period k.
The model is defined by
and its objectives are
Constraints (1) ensure that course prerequisite requirements are met, and period loads L are tracked with the help of auxiliary variables B (2)–(4).
C NPAP model
This NPAP model, written in a logical form, uses a similar notation as Pesant (2016).^{Footnote 16} Let

\({\mathcal {N}} = \{1, \dots , n\}\) be the index set of nurses,

\({\mathcal {P}} = \{1, \dots , m\}\) be the index set of patients,

\(a_{i}\) denote the acuity of patient i with \(a = \sum _{i \in {\mathcal {P}}} a_{i}\) representing the combined acuities of all the patients,

\(p_{\min }\) and \(p_{\max }\) denote the minimum and maximum number of patients that can be assigned to a nurse,

\(n_{i}\) denote the nurse to which patient i is assigned,

\(w_{j}\) denote the workload of nurse j,

\(t_{ij}\) denote if patient i is assigned to nurse j.
The model is defined by
and its objectives are
Auxiliary variables t (5)–(6) are used to track nurse workloads w (7), as well as to ensure the nurses are assigned a proper number of patients (8).
D BBSS model
We present the CPbased BBSS model of Di Gaspero et al. (2013a), using that notation (an example of a nonCP formulation can be found in RainerHarbach et al. (2015)). Let

\({\mathcal {S}} = \{1, \dots , S\}\) be the set of S stations,

\({\mathcal {D}} = \{S+1, \dots , S+D\}\) be the set of D depots,

for a station \(s \in {\mathcal {S}}\), \(C_{s} > 0\) be its capacity, \(b_{s}\) its initial number of bikes, and \(t_{s}\) its target number of bikes,

\({\mathcal {V}} = \{1, \dots , V\}\) be the set of V vehicles,

for a vehicle \(v \in {\mathcal {V}}\), \(c_{v} > 0\) be its capacity, \({\hat{b}}_{v} \ge 0\) its initial load, and \({\hat{t}}_{v} > 0\) its available time,

travel time matrix \(tt_{uv}\) with \(u, v \in {\mathcal {S}} \cup {\mathcal {D}}\) (which includes the processing time of serving a station).
This model requires the stations and depots to be grouped into an ordered set of nodes. The depots are duplicated as we need distinct starting and ending nodes, and a dummy vehicle (with an associated depot) is introduced. The nodes \({\mathcal {U}} = {\mathcal {V}}_{s} \cup {\mathcal {S}} \cup {\mathcal {V}}_{e} = \{0, \dots , V, V+1, \dots , V+S, V+S+1, \dots , 2V+S+2\}\) begin with the starting depots \({\mathcal {V}}_{s}\) (including that of the dummy vehicle), then the stations \({\mathcal {S}}\), and finally the ending depots \({\mathcal {V}}_{e}\) (again including that of the dummy vehicle).
This formulation makes use of a successorpredecessor dynamic. Several auxiliary variables are required for this purpose

\(succ_{i} \in {\mathcal {U}}\) denotes the successor of node \(i \in {\mathcal {U}}\),

\(pred_{i} \in {\mathcal {U}}\) denotes the predecessor of node \(i \in {\mathcal {U}}\),

\(vehicle_{i} \in {\mathcal {V}}\) denotes the vehicle serving node \(i \in {\mathcal {U}}\),

\(service_{i} \in \{b_{i}, \dots , C_{i}b_{i}\}\) denotes the bike delta of node \(i \in {\mathcal {U}}\) after being served,

\(load_{i} \in \{0, \dots , c_{v}\}\) denotes the load of vehicle \(v \in {\mathcal {V}}\) after serving node \(i \in {\mathcal {U}}\),

\(time_{i} \in \{0, \dots , {\hat{t}}_{v}\}\) denotes the time at which vehicle \(v \in {\mathcal {V}}\) arrives at node \(i \in {\mathcal {U}}\).
The model is defined by
All values of the successors and predecessors are distinct (9)–(10); these constraints, coupled with the time constraints of the vehicles, ensure the absence of subtours. The successorpredecessor chain must be consistent (11)–(14), and loops are forbidden (15)–(16). Depots are assigned to the vehicles (17)–(18), and the vehicle chain must be consistent (19)–(20). The initial loads of the vehicles are set (21)–(22), the load chain must be consistent (23), and the vehicles must be empty at the end of their routes (24). A station receiving no service will be visited by the dummy vehicle (25), and the loads of the other vehicles must not exceed their capacities (26). Stations visited by a vehicle must see their bike counts altered in some way (27)–(28), while depots remain unserved (29). Stations cannot be served in excess of their capacities (30)–(31). The routes start at the depots with times of zero (32), the time chain must be consistent (33)–(34), and the durations of the routes must remain within the specified limits (35). The objectives are defined by
Rights and permissions
About this article
Cite this article
Olivier, P., Lodi, A. & Pesant, G. Measures of balance in combinatorial optimization. 4ORQ J Oper Res 20, 391–415 (2022). https://doi.org/10.1007/s1028802100486x
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s1028802100486x
Keywords
 Balance
 Fairness
 Constraint programming
 Integer programming
Mathematics Subject Classification
 9005
 90C27
 90C11