Although trying to minimize a weighted sum of the violations
in (20) is a common approach to dealing with multi-objective problems (e.g., see [5]), solving
the corresponding MIP with commercial software proved to be too difficult. Instead, we developed
an efficient algorithm that involved generating an initial feasible solution and improving each
violation with an iterative
procedure. The details are provided in Sections 4.1 and 4.2.