1 Introduction and Motivation
In this paper, we study the problem of partitioning a complete weighted graph into complete subgraphs, each having the same number of vertices, with the objective of minimizing the total edge weights of the resulting subgraphs. This problem, denoted by GPP, is formally stated in Section
1.1 below, and Section
1.2 then presents some motivating examples.
1.1 Statement of Problem GPP
Consider a complete-weighted graph
$
G(V,E)$, where V and E, respectively, denote the set of vertices and edges of the graph G. Let
$
v=1,2,\dots ,|V|$ index the vertices of V, and for
$
{v_{1}},{v_{2}}\in V$ with
$
{v_{1}}\ne {v_{2}}$, let
$
({v_{1}},{v_{2}})\in E$ denote the edge joining
$
{v_{1}}$ and
$
{v_{2}}$ in G. Let
$
w({v_{1}},{v_{2}})>0$ denote the weight associated with the edge
$
({v_{1}},{v_{2}})$. Let
$
nn$ be a positive integer and suppose that
$
\alpha =\frac{|V|}{n}$ is integer-valued. Hence, the set V can be partitioned into n subsets, each of which is composed of α vertices. Let P denote the set of all distinct subsets of V, each of which has
$
\alpha \alpha $ vertices, and let
$
{V_{p}}$ denote the pth such vertex subset,
$
\forall p=1,2,\dots ,|P|$. An n-partition of V is a collection of n vertex subsets from P, say
$
{V^{{p_{1}}}},{V^{{p_{2}}}},\dots ,{V^{{p_{n}}}}$, satisfying
$
{\textstyle\bigcup _{i=1}^{n}}{V_{{p_{i}}}}=V$, and
$
{V_{{p_{i}}}}\cap {V_{{p_{j}}}}=\varnothing $,
$
\forall i,j\in \{1,\dots ,n\}$ with
$
i\ne j$. Let Q denote the set of all such n-partitions, indexed by
$
q=1,\dots ,|Q|$, where the qth n-partition is given by
$
\{{V_{{p_{k}}(q)}}$,
$
k=1,\dots ,n\}$. For any
$
{V_{p}}$,
$
p\in P$, let
$
{w_{p}}={\textstyle\sum _{\begin{array}{c}{v_{i}},{v_{j}}\in {V_{p}}\\ {} i<j\end{array}}}w({v_{i}},{v_{j}})$, and accordingly, let
$
{c_{q}}\equiv {\textstyle\sum _{k=1}^{n}}{w_{{p_{k}}(q)}}$ represent the cost of the qth n-partition for any
$
q\in Q$. Problem GPP then seeks an n-partition
$
{q^{\ast }}\in Q$ such that
$
{c_{{q^{\ast }}}}\leqslant {c_{q}}$,
$
\forall q\in Q$.
1.2 Motivating Examples
We provide two motivating examples for Problem GPP, where we have used specific numbers in lieu of generic notation for the purpose of illustration.
Example 1.
Consider a firm that operates four work centres and needs to assign three employees to each centre (from a total of 12 available employees). For
$
i=1,\dots ,12$, let
$
{e_{i}}$ denote the ith employee. Each employee quantifies ranked preferences for working with the other 11 employees from the set
$
\{1,\dots ,11\}$, where a lower number rank indicates a higher preference. We construct a complete weighted graph having 12 vertices, where vertex
$
{v_{i}}$ corresponds to employee
$
{e_{i}}$,
$
\forall \hspace{0.1667em}i=1,\dots ,12$, and where the weight associated with the edge joining vertices
$
{v_{i}}$ and
$
{v_{j}}$,
$
i,j\in \{1,\dots ,12\}$,
$
i\ne j$, represents the sum of the preferences of employees
$
{e_{i}}$ and
$
{e_{j}}$ to work with each other. The problem of interest, then, is to partition the underlying graph into four complete subgraphs, each having three vertices, so that the total weight of the resulting complete subgraphs is minimal, thereby achieving a best aggregate preference.
Example 2.
Consider a firm having 15 business branches that seeks to assign one of the available supervisors to each cluster of five branches. Since a supervisor assigned to any given cluster needs to frequently travel between the branches within the clusters, it is desired that the sum of the distances between the branches of a given cluster should be small. This problem can likewise be modelled as a complete graph partitioning problem having 15 vertices, each of which represents a branch, and with
$
n=3$, where the edge weight associated with any pair of vertices is given by the distance between the corresponding branches.
1.3 Contribution and Organization
This paper proposes a column generation framework to solve Problem GPP with three enhancing features: (a) a complementary column generation scheme that uses a pricing problem to generate batches of columns; (b) a dual-based lower bound that can be employed to curtail the notorious tailing-off effects typically associated with column generation, and (c) the generation of a collection of vertex partitions that serves to determine a starting basis for the proposed column generation framework, as well as assists in computing good quality feasible solutions.
The remainder of this paper is organized as follows. Section
2 presents literature related to the studied problem. In Section
3, we develop an integer mathematical programming model, denoted by GPM, for Problem GPP, which attempts to directly select a minimal cost
n-partition. We then design an enhanced column generation approach (ECGH) in Section
4 to solve the linear relaxation of Model GPM, based on which we propose a heuristic procedure in Section
5 to solve Model GPM. Computational results are presented in Section
6, and we conclude the paper in Section
7 with a summary and some remarks, as well as future research extensions.
2 Related Literature
Several graph partitioning problems have been studied in the literature, which are motivated by applications in microaggregation (Domingo-Ferrer and Mateo-Sanz,
2002), political districting (Mehrotra
et al.,
1998), video clustering (Schaeffer,
2007), telecommunication and VLSI design (Karypis
et al.,
1999), biological or social networks (Fan
et al.,
2009), and data mining (Zha
et al.,
2001). Typically such problems arise in the context of clustering, which is an unsupervised classification and the clusters must sometimes satisfy certain additional threshold criteria (Fan and Pardalos,
2012). The general graph partitioning problem aims to partition the vertex set of a graph into several disjoint subsets with the objective of minimizing the sum of edge weights between the disjoint subsets (Fan and Pardalos,
2010). This is an NP-complete combinatorial optimization problem (Garey
et al.,
1976) and different techniques were employed to solve it (Hager and Krylyuk,
1999). The case when the graph is partitioned into equal or different by 1 cardinalities for all partitions was solved either by linear programming (Lisser and Rendl,
2003) or semidefinite programming (Karisch and Rendl,
1998; Lisser and Rendl,
2003). Quadratic programming (Hager and Krylyuk,
1999,
2002) and semidefinite programming (Wolkowicz and Zhao,
1996) requires that the cardinalities of all partitions are known
a priori. Fan and Pardalos (
2010) extended this work by formulating a zero-one quadrating programming problem without the input of cardinalities of the required partitions. The objective of the problem studied in the current paper is to minimize the sum of edge weights of the resulting partitions while that in the general graph partitioning problem is to minimize the sum of edge weights between the disjoint partitions.
In the following, we discuss a number of applications that are addressed using different types of graph partitioning paradigms. Micro-aggregation is a technique used by statistical agencies, where some statistical information needs to be disclosed, while the related specific individual information must remain classified. Published data needs to be therefore presented in a manner such that: (a) the classified data cannot be concluded from the published data, and (b) the deleted unclassified data is minimized. Domingo-Ferrer and Mateo-Sanz (
2002) used a graph partitioning approach to solve this problem. Political redistricting is another application of graph partitioning, where boundaries of districts need to be drawn within the states to attain certain characteristics and to avoid partisan political goals. Mehrotra
et al. (
1998) designed a graph partitioning political redistricting model with the motivation that (a) differences in populations for any two different districts should be minimized in order to adhere to the one-person-one-vote principle; (b) districts should be contiguous, and (c) districts should be geographically compact. Graph partitioning is also used in video scene clustering (Tan and Lu,
2003) to index, browse, and retrieve video data. In this context, a graph
$
G(V,E)$ is constructed as follows, where each vertex
$
v\in V$ represents a scene and an edge
$
e\in E$ between two vertices indicates the similarity obtained from some defined relations of the colours of two scenes. The objective is to partition
G with the goal of maximizing similarity in the individual partitions where the number of partitions is not restricted.
In telecommunication technology, graph partitioning is employed to subdivide a transmission network into clusters in order to maximize the routed traffic within the clusters (Laguna,
1994). Park
et al. (
2000) addressed the problem of clustering a telecommunication network into local networks and hub locations. Xiao
et al. (
2007) developed a graph partitioning model to cluster mobile units within mobile servers. In this case, a graph
$
G(V,E)$ is constructed where
$
v\in V$ represents a mobile unit and each edge
$
e\in E$ represents a communication link between two units, and where the weight assigned to the edge depends on some technical parameters including the bandwidth and the distance between the two vertices. Laguna (
1994) used a graph partitioning model to enhance several design features and to overcome limitations of optical fiber networks within the telecommunication industry.
Graph partitioning has also been used to tackle scheduling problems. Carlson and Nemhauser (
1966) developed a clustering model for a scheduling problem that involves several activities and facilities, where the problem is to cluster activities and then to assign them to the facilities so as to minimize interaction costs, given the cost of assigning pairs of activities to a facility. Salido
et al. (
2007) employed graph partitioning in railway scheduling to generate optimal schedules for trains, taking into consideration connection points, railway types, and train capacities, among other restrictions.
There exist several other such examples of graph partitioning problems that have been studied in the literature, e.g. see Ji (
2004). These include the clique partitioning problem (Grotschel and Wakabayashi,
1989;
1990), the graph equipartitioning problem (Conforti and Rao,
1990a,
1990b), the capacitated graph partitioning problem (Mehrotra and Trick,
1998), the maximum balanced connected
q-partition (Chlebikova,
1996; Salgado and Wakabayashi,
2004), and the minimum edge-cut graph partitioning problem (Donath and Hoffman,
1973; Goldschmidt and Hochbaum,
1988), among others. All of the above graph partitioning problems are NP-hard (Ji,
2004). In particular, similar to the problem considered in the present paper, the
k-way graph equipartitioning problem is to partition the vertex set
V into
k subsets of equal size, with the objective of minimizing the total weight of edges that have both end-points in the same partitioned subset. Mitchell (
2001) formulated a mathematical model for the
k-way graph equipartitioning problem, investigated its polyhedral structure and presented a branch-and-cut algorithm to solve the resulting model. The algorithm in Mitchell (
2001) was used to realign the National Football League (NFL). Results for partitioning 32 teams into eight groups with the objective of minimizing the overall travel time among teams within each group were reported in Mitchell (
2003). The sports realignment problem studied in Mitchell (
2001,
2003) was revisited later along with other similar contextual problems by Xiaoyun and Mitchell (
2005) who modelled the realignment of NBA, NHL, and NFL as
k-way equipartition problems. A branch-and-price scheme with cutting plane features was designed and implemented to solve the resulting
k-way equipartitioning problems, where the pricing problem was modelled as an integer program. Computational results indicated that the branch-and-price-and-cut scheme of Xiaoyun and Mitchell (
2005) performed well on small-sized instances (with about 40 vertices). However, for larger test instances, the solution of the pricing problem turned out to be cumbersome to solve. Nonetheless, for such problems, the root algorithm was found to yield relatively good quality feasible solutions. The algorithm in Xiaoyun and Mitchell (
2005) was also used to solve certain micro aggregation problems. The authors concluded that the performance of their proposed branch-and-price-and-cut approach was comparable to that of the price-and-cut method of Mitchell (
2001,
2003).
3 Formulation of Model GPM
In this section, we formulate a model for Problem GPP, denoted GPM, which directly attempts to select a minimum-cost collection of n valid partitions from the set P in order to constitute an n-partition.
Model formulation
Define the following set of binary decision variables:
For a given partition
$
p\in P$, we define the following set of
parameters that indicate whether a vertex
$
v\in V$ belongs to the associated vertex subset
$
{V_{p}}$ or not:
Note that the values of the parameters
$
{\lambda _{v,p}}$ are known
a priori based on information derived from the corresponding subset
$
{V_{p}}$. Then, the following model determines a minimum-cost
n-
partition:
The objective function of GPM minimizes the overall weight of edges associated with the selected
n-partition. Constraint (
3.1) assures that each
$
v\in V$ belongs to exactly one valid partition. The required number of valid partitions (
n) is enforced by Constraint (
3.2). The continuous relaxation of Model GPM, denoted by
$
\overline{\mathrm{GPM}}$, is given as follows:
Note that
$
{x_{p}}\leqslant 1$ is implied by (
3.1). The following structural result indicates that Constraint (
3.2) can be deleted from the above model without affecting the solution, even in the continuous sense.
Proposition 1.
Constraint (
3.2)
is implied by Constraint (
3.1)
within Model GPM.
Proof.
Since
$
|V|=\alpha n$, summing (
3.1) over all
$
v\in V$, we get
$
{\textstyle\sum _{v\in V}}{\textstyle\sum _{p\in P}}{\lambda _{v,p}}{x_{p}}=\alpha n$. But since
$
{\textstyle\sum _{v\in V}}{\lambda _{v,p}}=\alpha $ because
$
|{V_{p}}|=\alpha $,
$
\forall \hspace{0.1667em}p\in P$, this implies that
$
{\textstyle\sum _{p\in P}}\alpha {x_{p}}=\alpha n$, or that (
3.2) holds. □
Notwithstanding Proposition
1, we retain Constraint (
3.2) in the model because of the lower bounding facility it provides for
$
\overline{\mathrm{GPM}}$, which enables a useful practical stopping criterion when solving the latter problem (see Proposition
2 below).
Note that Model GPM attempts to directly select a minimal cost n-partition, i.e. a minimal cost collection of n valid partitions from the set P. An alternative modelling approach to solve Problem GPP is to designate decision variables that assign vertices to different subsets and to designate constraints to ensure the cardinality of each subsets. This modelling approach is the subject of a follow-on paper, where we will attempt to employ a Lagrangean-based decomposition scheme in concert with symmetry defeating strategies to solve Problem GPP. As it will be seen later, the formulation of Model GPM enabled us to devise a column generation algorithm to heuristically solve Problem GPP, which is the focus of the current paper.
4 An Enhanced Column Generation Approach to Solve Model
$
\overline{\mathrm{GPM}}$
In this section, we exploit the special column structure of GPM in order to solve its continuous LP relaxation
$
\overline{\mathrm{GPM}}$ via a column generation procedure (e.g. see Barnhart
et al.,
1998), along with three enhancing features as discussed below. Suppose that at some iteration of the revised simplex method for solving
$
\overline{\mathrm{GPM}}$, we have a basic feasible solution. Let
$
\{\xi \equiv ({\xi _{v}},v\in V),{\xi _{0}}\}$ denote the corresponding complementary dual solution, where
ξ and
$
{\xi _{0}}$ are the dual variables associated with Constraints (
3.1) and (
3.2), respectively. We can then find a candidate entering nonbasic variable
$
{x_{p}}$ that has the smallest (most negative) reduced cost by solving the following auxiliary subproblem, where
$
{\pi _{v}}$ equals one if vertex
$
v\in V$ is selected for inclusion within
$
{V_{p}}$ and is zero otherwise:
Note that the resulting vector
$
\pi \pi \equiv ({\pi _{v}},v\in V)$ corresponds to a valid partition, say
$
p\in P$, where
$
{\lambda _{v,p}}={\pi _{v}}$,
$
\forall v\in V$, and where the first term of the objective function represents
$
{w_{p}}$ for the generated entering column. To solve Problem SP, each product relationship
$
{\pi _{{v_{i}}}}{\pi _{{v_{j}}}}$ that appears in the objective function can be linearized by substituting a continuous variable
$
{\gamma _{{v_{i}},{v_{j}}}}$ instead, while incorporating the following constraints, noting that
$
{\pi _{{v_{i}}}}$ and
$
{\pi _{{v_{j}}}}$ are required to be binary-valued and that the
w-parameters are positive (see Sherali and Warren,
1998):
Hence, letting
$
{\tau ^{\ast }}(M)$ denote the optimal objective function value of any model M, if
$
M{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$, then no nonbasic variable is a candidate to enter the basis, and an optimal solution to Problem
$
\overline{\mathrm{GPM}}$ is at hand. Otherwise, if
$
{\tau ^{\ast }}({\mathrm{AP}_{lb}})<0$, we will have obtained a candidate entering variable
$
{x_{p}}$ for
$
\overline{\mathrm{GPM}}$ from the optimal solution obtained for SP as noted above, and we then introduce this column into the basis and reiterate.
4.1 Enhancing Features
Next, we discuss three enhancing features that can improve the solvability of Problem
$
\overline{\mathrm{GPM}}$ by mitigating the tailing-off effect that is often induced by the classical column generation approach.
A) Duality based lower bounding termination criterion
The following proposition, whose proof readily follows from Proposition 1 in Ghoniem and Sherali (
2009) (we include a specialized proof below for the sake of completeness), portends an optimality gap via the solution of Problem SP that will enable us to conveniently terminate the solution of Problem
$
\overline{\mathrm{GPM}}$ within some percentage of optimality.
Proposition 2.
At any iteration of the column generation process to solve Problem
$
\overline{\mathrm{GPM}}$, the solution to Problem SP provides a dual feasible solution to
$
\overline{\mathrm{GPM}}$ with a duality gap of
$
-n{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$.
Proof.
Let
$
(\overline{\xi },\overline{{\xi _{0}}})$ be the complementary dual solution to the restricted version of
$
\overline{\mathrm{GPM}}$ at any iteration, where this restricted problem provides an upper bound of
on the value
$
{\tau ^{\ast }}(\overline{\mathrm{GPM}})$. Moreover, from the corresponding problem SP, we get
which implies that
or that
$
(\overline{\xi },{\overline{\xi }_{0}}+{\tau ^{\ast }}(\mathrm{SP}))$ is dual feasible to
$
\overline{\mathrm{GPM}}$, thus establishing a lower bound on the value
$
{\tau ^{\ast }}(\overline{\mathrm{GPM}})$, with a dual objective function value of
From (
4.2) and (
4.3), we therefore infer that this dual feasible solution yields a duality gap of
$
-n{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$. □
B) Generation of complementary columns
Instead of generating a single negative reduced-cost column as done above in the classical column generation (CG), the complementary column generation (CCG) of Ghoniem and Sherali (
2009) advocates the generation of multiple columns at each iteration to form a feasible
n-partition (as possible, unless an infeasible subproblem is encountered) as described next. Let
$
\overline{\pi }=\{{\overline{\pi }_{v}},v\in V\}$ be a solution to Problem SP, based on which, let
$
\Omega =\{v:{\overline{\pi }_{v}}=1\}$. Let
$
{V^{\Omega }}$ be initialized as a set that contains the partition that includes the vertices in Ω, and let
$
{X^{\Omega }}$ be initialized as a set that contains the variable in
$
\overline{\mathrm{GPM}2}$ corresponding to the partition in
$
{V^{\Omega }}$. We then resolve Problem SP with the additional requirements that
$
{\pi _{v}}=0$,
$
\forall v\in \Omega $. Let
$
{\overline{\pi }^{\hspace{0.1667em}\mathit{new}}}=\{{\overline{{\pi _{v}}}^{\hspace{0.1667em}\mathit{new}}},v\in V\}$ denote the resulting solution. Next, the set of prohibited indices Ω is augmented by setting
$
\Omega \gets \Omega \cup \{v:{\overline{{\pi _{v}}}^{\hspace{0.1667em}\mathit{new}}}=1\}$ and the sets
$
{V^{{^{\Omega }}}}$ and
$
{X^{\Omega }}$ are updated accordingly. The foregoing step is repeated until
$
\Omega =|V|$ or an infeasible subproblem is encountered. The variables in
$
{X^{\Omega }}$ along with their respective partitions from
$
{V^{\Omega }}$ will serve to augment a restricted version of Model
$
\overline{\mathrm{GPM}}$ that will be used in the next subsection within a column generation framework to solve
$
\overline{\mathrm{GPM}}$. Note that when
$
\Omega =|V|$, the set
$
{V^{\Omega }}$ consists of a batch of columns that collectively constitute a feasible solution to Model GPM. Moreover, even if an infeasible subproblem is encountered in the foregoing process, the set of partitions generated thus far can be used to fruitfully augment the current restricted version of Model
$
\overline{\mathrm{GPM}}$.
C) Determining a starting basis for Model
$
\overline{\mathrm{GPM}}$
Note that Model
$
\overline{\mathrm{GPM}}$ is highly degenerate because it has
$
|V|+1$ rows, but any basic feasible solution corresponding to a feasible binary solution involves only
$
\frac{|V|}{\alpha }=n$ non-zero binary
x-variables. This will likely exacerbate the initial oscillations of dual solutions within the column generation procedure, which typically slows the convergence of the algorithm. Various dual stabilization approaches have been discussed in the literature to mitigate this phenomenon, see, for example, Bazaraa
et al. (
2010). Instead of using such dual stabilization techniques, we simply try to diminish the occurrence of oscillations by the generation of additional columns (as discussed next) in order to restrict the dual solution space, which thereby essentially contributes toward the dual stabilization process.
With this motivation, we determine
$
3n+|V|$ partitions of V as follows, which can then be used along with suitable artificial variables (at zero values) to determine a starting basis for
$
\overline{\mathrm{GPM}}$:
-
a) Set
$
{V^{1}}=\{{v_{1}},{v_{2}},\dots ,{v_{\alpha }}\},{V^{2}}=\{{v_{\alpha +1}},{v_{\alpha +2}},\dots ,{v_{2\alpha }}\},\dots ,{V^{n}}=\{{v_{(n-1)\alpha +1}},{v_{(n-1)\alpha +2}},\dots ,{v_{n\alpha }}\}$, noting that
$
\{{V^{1}},{V^{2}},\dots ,{V^{n}}\}$ constitutes a valid n-partition.
-
b) For
$
v=1,\dots ,|V|$, we construct
$
|V|$ partitions, denoted by
$
{V^{n+v}}$, as follows. Consider the subgraph of G that contains only the least weight (
$
\alpha -1$) edges incident to v. Let
$
{V^{n+v}}$ be the set of vertices that contains v as well as the other (
$
\alpha -1$) vertices adjacent to v via the selected
$
(\alpha -1)$ edges. Note that the vertex partitions
$
{V^{n+1}},\dots ,{V^{n+|V|}}$ are not necessarily mutually exclusive.
-
c) Pick
$
v\in \{1,\dots ,|V|\}$ and initialize
$
{V^{n+|V|+1}}=\{v\}$. Find
$
{v_{1}}\in V/{V^{n+|V|+1}}$ such that
$
w(v,{v_{1}})={\min _{\overline{v}\in V/{V^{n+|V|+v}}}}\{w(\overline{v},v)\}$. Let
$
{V^{n+|V|+1}}=\{v,{v_{1}}\}$. Find
$
{v_{2}}\in V/{V^{n+|V|+1}}$ such that
$
w(v,{v_{2}})+w({v_{1}},{v_{2}})={\min _{\overline{v}\in V/{V^{n+|V|+{v_{1}}}}}}(w(v,\overline{v})+w({v_{1}},\overline{v}))$ and proceed in this fashion until
$
{V^{n+|V|+1}}$ contains α vertices. Pick
$
{v^{1}}\in V/{V^{n+|V|+1}}$ and let
$
{V^{n+|V|+2}}$ be the set of vertices from
$
V/{V^{n+|V|+1}}$ that contains
$
{v^{1}}$ along with
$
(\alpha -1)$ vertices chosen as discussed in the process of constructing
$
{V^{n+|V|+1}}$. Continue in this manner until n vertex partitions are constructed, which collectively constitute an n-partition.
-
d) Determine the least cost vertex partition by solving Problem SP with a modified objective function given by Minimize
$
{\textstyle\sum _{\genfrac{}{}{0pt}{}{{v_{i}},{v_{j}}\in V}{i<j}}}w({v_{i}},{v_{j}}){\pi _{{v_{i}}}}{\pi _{{v_{j}}}}$. The resulting solution determines a valid partition; denote this
$
{V^{2n+|V|+1}}$. Next, we resolve Problem SP with the aforementioned modified objective function while updating the set of vertices to exclude all the vertices in
$
{V^{2n+|V|+1}}$. We proceed in this manner until we construct n vertex partitions that collectively constitute a valid n-partition.
Hereafter, we will refer to the foregoing three enhancing complementary column generation features discussed in this section as CCG features.
4.2 Enhanced Column Generation Algorithm to Solve
$
\overline{\mathrm{GPM}}$
An enhanced column generation algorithm that incorporates the above three features, denoted by ECGA, is presented next to solve
$
\overline{\mathrm{GPM}}$. The best known lower and upper bounds derived in this process for solving
$
\overline{\mathrm{GPM}}$ as described below are denoted by
$
{\mathit{LB}^{\ast }}$ and
$
{\mathit{UB}^{\ast }}$, respectively.
Algorithm ECGA
Initialization Step
Let
$
{X_{0}}$ be the set of x-variables associated with the vertex partitions
$
{V^{i}}$,
$
i=1,\dots ,3n+|V|$, as determined above, along with suitable artificial variables incorporated within the constraints of Model GPM (to determine a starting basis). Consider a restricted version of
$
\mathrm{GPM}$, denoted by
$
{\mathrm{GPM}_{0}}$, which contains the variables in
$
{X_{0}}$. Solve
$
{\overline{\mathrm{GPM}}_{0}}$ directly using CPLEX, to determine an initial basic feasible solution to Model
$
\overline{\mathrm{GPM}}$. If the set of basic variables contains any artificial variables at optimality, then iteratively solve Problem SP to generate columns for
$
\overline{\mathrm{GPM}}$ until the residual artificial variables are eliminated. Set
$
i=1$ and let
$
{X_{1}}$ be the set of (non-artificial) variables in the current column generation master program. Select a suitable optimality tolerance
$
{\varepsilon _{1}}$, set
$
{\mathit{LB}^{\ast }}=-\infty $,
$
{\mathit{UB}^{\ast }}=\infty $,
$
i=1$ and proceed to the Main Step.
Main Step
Construct a restricted version of
$
\overline{\mathrm{GPM}}$, denoted by
$
{\overline{\mathrm{GPM}}_{i}}$, which only involves the variables in
$
{X_{i}}$ and solve
$
\overline{{\mathrm{GPM}_{i}}}$. Let
$
\{\overline{\xi },\overline{{\xi _{0}}}\}$ denote the corresponding complementary dual solution for
$
\overline{{\mathrm{GPM}_{i}}}$. Set
$
{\mathit{UB}^{\ast }}={\tau ^{\ast }}({\overline{\mathrm{GPM}}_{i}})=\{{\textstyle\sum _{v\in V}}\overline{{\xi _{v}}}+n\overline{{\xi _{0}}}\}$. Solve the subproblem SP, and let
$
{\pi ^{\ast }}$ be the optimal solution obtained. Set
$
{\mathit{LB}^{\ast }}=\max \{{\mathit{LB}^{\ast }},{\textstyle\sum _{v\in V}}\overline{{\xi _{v}}}+n[\overline{{\xi _{0}}}+{\tau ^{\ast }}(\mathrm{SP})]\}$.
-
a) If
$
{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$, stop; the optimal solution obtained for
$
{\overline{\mathrm{GPM}}_{i}}{\overline{\mathrm{GPM}}_{i}}$ is also optimal for
$
\overline{\mathrm{GPM}}$.
-
b) Trigger the CCG feature to determine
$
{X^{\Omega }}$. Set
$
{X_{i+1}}={X_{i}}\cup {X^{\Omega }}$ and let
$
i\gets i+1$. If
$
(100\frac{{\mathit{UB}^{\ast }}-{\mathit{LB}^{\ast }}}{{\mathit{UB}^{\ast }}})\leqslant {\varepsilon _{1}}$, stop; we have an optimal solution for
$
\overline{\mathrm{GPM}}$ within an optimality tolerance of
$
{\varepsilon _{1}}$ %. Otherwise, repeat the Main Step.
4.3 Analysis of Algorithm ECGH
-
a) Algorithm ECGA establishes an upper bound
$
{\mathit{UB}^{\ast }}$ on
$
\overline{\mathrm{GPM}}$ that decreases monotonically at each iteration of ECGA. Also, at each iteration of ECGA, the lower bound
$
{\mathit{LB}^{\ast }}$ for
$
\overline{\mathrm{GPM}}$ is updated based on the solution to Problem SP. At the end of Algorithm ECGA, the best provable lower bound on Model
$
\overline{\mathrm{GPM}}$ is given by
-
b) When the CCG Features is triggered at a given iteration of Algorithm ECGA, the set
$
{X^{\Omega }}$ consists of a batch of columns that collectively lend themselves toward composing a feasible solution to Model
$
\overline{\mathrm{GPM}}$. The process of generating complementary columns judiciously includes multiple sets of feasible solutions whose composition is likely to enhance the possibility of encompassing optimal or near-optimal solutions when solving the last restricted problem of GPM as a binary restricted problem as used in the procedure described in Section
5 below. Moreover, the additional columns generated provide a further restriction on the dual search space, which induces dual stabilization.
-
c) The duality-based lower bound established in Proposition
2 offers a helpful
$
{\varepsilon _{1}}$-based termination criterion that serves to circumvent the notorious tailing-off trend often associated with column generation procedures. Hence, both of the above features, along with the generation of
$
3n+|V|$ columns to initialize Algorithm ECGA, are instrumental in designing an effective heuristic approach for solving GPM with a provable optimality tolerance at termination as described in the next section.
-
d) Note that at any iteration of ECGA columns that are already (explicitly) present in the restricted master program
$
(\overline{{\mathrm{GPM}_{i}}})$ price out with nonnegative reduced costs, and therefore these columns are automatically excluded from the solution to Problem SP (except at termination when
$
{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$). However, the inclusion of constraints in Problem SP that explicitly exclude all such columns provides valid cuts that might serve to tighten the continuous relaxation of this problem and, hence, enhance its solvability. For this purpose, letting
$
\overline{V}\subseteq V$ be the set of vertices that characterize the partition corresponding to any column that is currently in GPM
$
{_{i}}$, we add the following constraint to Problem SP for each such column:
-
e) Although, the formulation of Model GPM incorporates all potential partitions as represented by the
$
{x_{p}}$ variables, the initial step of the proposed column generation heuristic (ECGH) contains only a small subset of the
$
{x_{p}}$ variables, then more valid partitions (
$
{x_{p}}$ variables) are added iteratively until a heuristic solution is attained. In fact, this is the main advantage of adopting a column generation framework, where initially only a subset of the columns are present in the solution, and more columns are added subsequently until a heuristic solution is obtained.
5 A Heuristic Procedure for Solving GPM
In this section, we present a heuristic approach to solve Model GPM, denoted by ECGH, which is a sequential variable-fixing procedure that constructs a feasible n-partition in a sequential fashion in order to solve Problem GPP. Essentially, this procedure generates an n-partition by augmenting fixed partitions from solutions to
$
\overline{\mathrm{GPM}}$ obtained via the ECGA method outlined in the foregoing section.
To describe this procedure, cconsider an optimal solution to
$
\overline{\mathrm{GPM}}$ obtained via ECGA. Let
$
{S_{b}^{1}}$ be the index set of the basic variables that equal one when ECGA terminates, and let
$
{S_{b}^{f}}$ be the set of fractional basic variables at optimality. (Note that if
$
{S_{b}^{f}}=\varnothing $, we have an
n-
partition at hand, and we stop with this solution as optimal for GPM.) Initialize the set
$
\Gamma ={S_{b}^{1}}$. Hence,
$
{V^{{p^{i}}}}\cap {V^{{p^{j}}}}=\varnothing $,
$
\forall \hspace{0.1667em}{p^{i}},{p^{j}}\in \Gamma $ with
$
i\ne j$, because otherwise, if there exists some
$
v\in {V^{{p^{i}}}}\cap {V^{{p^{j}}}}$, then equation (
3.1) corresponding to vertex
v would be violated. Note that
$
|\Gamma |\leqslant n$, or else, we would have an
$
\overline{n}$-
partition, where
$
\overline{n}>n$, which involves
$
\alpha \overline{n}$ vertices from
V, contradicting the fact that
$
|V|=\alpha n$.
The following Variable-Fixing Step will be used with our proposed enhanced column generation heuristic described subsequently.
Variable-Fixing Step
Let
$
\overline{x}$ be the optimal solution obtained for
$
\overline{\mathrm{GPM}}$ and let
$
{\overline{x}_{\max }}={\max _{p\in {S_{b}^{f}}}}\{{\overline{x}_{p}}\}$, and determine
$
\Lambda =\{p\in {S_{b}^{f}}:{\overline{x}_{p}}={\overline{x}_{\max }}\}$,
$
{w_{\min }}=\min \{{w_{p}}:p\in \Lambda \}$, and
$
\overline{\Lambda }=\{p\in \Lambda :{w_{p}}={w_{\min }}\}$. Pick
$
\hat{p}\in \overline{\Lambda }$ and update
$
\Gamma \gets \Gamma \cup \{\hat{p}\}$. Let
$
\Pi =\{p\in P:{V^{p}}\cap {V^{{p^{1}}}}=\varnothing ,\forall {p^{1}}\in \Gamma \}$, and correspondingly, define
$
{V^{\Pi }}=\{v\in V:v\notin {\textstyle\bigcup _{p\in \Gamma }}{V^{p}}\}$.
Based on the above variable-fixing step, we let
$
{\mathrm{GPM}_{\Pi }}$ to be a modified version of
$
\mathrm{GPM}$ obtained by: (a) restricting the set of partitions
P to Π, and (b) replacing
V by
$
{V^{\Pi }}$ in (
3.1). This problem is given as follows:
We can now solve
$
\overline{{\mathrm{GPM}_{\Pi }}}$ using ECGA as before, based on the remnant set of vertices, and repeat the process until an
n-
partition is obtained. The proposed heuristic (ECGH) for generating an
n-partition is stated formally below, noting that whenever
$
|\Gamma |=n$, we have at hand an
n-
partition that is described by the set of valid partitions
$
\{p\in \Gamma \}$.
Heuristic ECGH
Initialization
Set
$
\Gamma =\varnothing \Gamma =\varnothing $,
$
\Pi =P$, and
$
{V^{\Pi }}=V$.
LP-Step
Solve
$
\overline{{\mathrm{GPM}_{\Pi }}}$ using ECGA, and let
$
\overline{X}$ denote the resulting solution. Determine the index sets
$
{S_{b}^{1}}$ and
$
{S_{b}^{f}}$. If
$
{S_{b}^{f}}=\varnothing {S_{b}^{f}}=\varnothing $, then update
$
\Gamma \gets \Gamma \cup {S_{b}^{1}}$ and stop, since
$
|\Gamma |=n$, then stop; otherwise, proceed to the Variable-Fixing Step.
Variable-Fixing Step (This step is described above).
Final Step
Let
$
\Gamma \gets \Gamma \cup \{\hat{p}\}$. If
$
|\Gamma |=n$; otherwise, update Π and
$
{V^{\Pi }}$, and repeat the LP-Step.
Remark 3.
-
a) At each iteration of ECGH, the set Γ is augmented by at least one valid partition in a feasible fashion, and the number of elements in Γ cannot exceed n. Consequently, the algorithm terminates finitely whenever
$
|\Gamma |=n$, yielding a desired n-partition.
-
b) In the “Variable-Fixing Step”, note that
$
{V^{\hat{p}}}\cap {V^{p}}=\varnothing {V^{\hat{p}}}\cap {V^{p}}$,
$
\forall p\in \Gamma $, because otherwise, (
3.1) would be violated for some
$
v\in V$. Hence, we maintain a partitioning of the vertices while augmenting the set Γ according to
$
\Gamma \gets \Gamma \cup \{\hat{p}\}$.
6 Computational Results
Table 1
Test problems for model GPM.
Test Problem |
$
{\mathit{TP}_{1}}$ |
$
{\mathit{TP}_{2}}$ |
$
{\mathit{TP}_{3}}$ |
$
{\mathit{TP}_{4}}$ |
$
{\mathit{TP}_{5}}$ |
$
{\mathit{TP}_{6}}$ |
$
(|V|,n)$ |
(12, 4) |
(18, 3) |
(20, 5) |
(20, 2) |
(24, 2) |
(30, 3) |
Test Problem |
$
{\mathit{TP}_{7}}$ |
$
{\mathit{TP}_{8}}$ |
$
{\mathit{TP}_{9}}$ |
$
{\mathit{TP}_{10}}$ |
$
{\mathit{TP}_{11}}$ |
$
{\mathit{TP}_{12}}$ |
(
$
|V|$, n) |
(30, 2) |
(36, 3) |
(36, 2) |
(40, 8) |
(40, 5) |
(40, 4) |
Test Problem |
$
{\mathit{TP}_{13}}$ |
$
{\mathit{TP}_{14}}$ |
$
{\mathit{TP}_{15}}$ |
$
{\mathit{TP}_{16}}$ |
$
{\mathit{TP}_{17}}$ |
$
{\mathit{TP}_{18}}$ |
(
$
|V|$, n) |
(50, 25) |
(50, 10) |
(50, 5) |
(60, 15) |
(60, 10) |
(72, 18) |
Test Problem |
$
{\mathit{TP}_{19}}$ |
$
{\mathit{TP}_{20}}$ |
$
{\mathit{TP}_{21}}$ |
$
{\mathit{TP}_{22}}$ |
$
{\mathit{TP}_{23}}$ |
$
{\mathit{TP}_{24}}$ |
(
$
|V|$, n) |
(72, 12) |
(84, 28) |
(84, 21) |
(84, 14) |
(100, 25) |
(100, 20) |
In this section, we present computational results for the proposed complementary column generation approach for solving Model GPM. We use a set of 24 test problems described in Table
1 for GPM, where
$
{\mathit{TP}_{i}}$,
$
i=1,\dots ,24$, represents the
i-th test problem. For all the test instances, the weights associated with the edges are randomly generated using a random function within the interval
$
[1,1000]$. All computational results have been performed on a Core™ i7 Processor, CPU 4.00 GHz computer having 4 GB of RAM and using the CPLEX Commercial Package (version 12) as the optimization solver.
Below, we summarize the notation that will be used in this section.
-
•
$
{\varepsilon _{1}}$: Optimality gap tolerance for implementing Algorithm ECGH to solve
$
\overline{\mathrm{GPM}}$.
-
•
$
{\varepsilon _{2}}$: Optimality gap tolerance for solving SP.
-
•
$
{\mathit{LB}^{\ast }}(\overline{\mathrm{GPM}})=\left\{\begin{array}{l@{\hskip4.0pt}l}{\tau ^{\ast }}(\overline{\mathrm{GPM}})\hspace{1em}& \text{if}\hspace{5pt}{\tau ^{\ast }}(\mathrm{SP})\geqslant 0,\\ {} {\mathit{LB}^{\ast }},\hspace{1em}& \text{otherwise}\hspace{2.5pt}.\end{array}\right.$
-
•
$
{\tau ^{\ast }}(\mathrm{ECGH})$: The best objective function value obtained for Model GPM using Heuristic ECGH.
-
• ρ:
$
100\big(\frac{{\tau ^{\ast }}(\mathrm{ECGH})-{\mathit{LB}^{\ast }}(\overline{\mathrm{GPM}})}{{\tau ^{\ast }}(\mathrm{ECGH})}\big)\% $ = Percentage optimality gap for the best solution obtained for Model GPM via Heuristic ECGH.
-
•
$
{\mathrm{T}_{\mathrm{ECGA}}}$: The total solution time for solving
$
\overline{\mathrm{GPM}}$ using Algorithm ECGA.
-
•
$
{\mathrm{T}_{\mathrm{ECGH}}}$: The total solution time for solving
$
\mathrm{GPM}$ using Heuristic ECGH.
Table 2
Results for solving
$
\overline{\mathrm{GPM}}$ and GPM using the CCG features.
Test problem
$
{\mathit{TP}_{i}}$ I
|
$
{\mathit{LB}^{\ast }}(\overline{\mathrm{GPM}})$ |
$
{\mathrm{T}_{\mathrm{ECGA}}}$ (seconds) |
$
{\tau ^{\ast }}(\mathrm{GPM})$ |
$
{\mathrm{T}_{\mathrm{ECGH}}}$ (seconds) |
ρ % |
(
$
{\varepsilon _{1}}$,
$
{\varepsilon _{2}}$) |
1 |
48.0 |
0.35 |
51.0 |
1.48 |
5.882353 |
(0, 0) |
2 |
1379.0 |
3.05 |
1392.0 |
4.65 |
0.933908 |
(0, 0) |
3 |
2879.0 |
4.01 |
2883.0 |
4.84 |
0.138744 |
(0, 0) |
4 |
3144.0 |
5.75 |
3145.0 |
6.59 |
0.031797 |
(0, 0) |
5 |
12459.0 |
14.36 |
12459.0 |
16.67 |
0.000000 |
(0, 0) |
6 |
51806.0 |
35.34 |
52526.0 |
50.83 |
1.370750 |
(0, 0) |
7 |
91242.0 |
1042.42 |
92273.0 |
1123.08 |
1.117337 |
(0, 0) |
8 |
66484.0 |
16.31 |
66484.0 |
17.84 |
0.000000 |
(0, 0) |
9 |
85758.0 |
23.14 |
85760.0 |
25.28 |
0.002332 |
(0, 0) |
10 |
92042.0 |
23.27 |
93059.0 |
24.35 |
1.092855 |
(0.00001, 0) |
11 |
10825.79 |
1795.3 |
11473.34 |
1825.81 |
5.643954 |
(0.00001, 0) |
12 |
73011.0 |
25.84 |
73063.0 |
27.67 |
0.071171 |
(0.001, 0) |
13 |
3614.0 |
24.09 |
3820.0 |
26.05 |
5.392670 |
(0.005, 0) |
14 |
44231.0 |
23 |
44555.0 |
24.12 |
0.727191 |
(0.005, 0) |
15 |
42106.0 |
24.08 |
43611.63 |
25.48 |
3.452359 |
(0.005, 0) |
16 |
61479.0 |
25.14 |
63020.0 |
28.8 |
2.445255 |
(0.005, 0) |
17 |
23002.0 |
26.06 |
23737.0 |
28.64 |
3.096432 |
(0.005, 0) |
18 |
3418.0 |
26.94 |
3674.0 |
29.06 |
6.967882 |
(0.005, 0) |
19 |
5239.0 |
28.45 |
5417.0 |
30.59 |
3.285952 |
(0.05, 0) |
20 |
16812.09 |
1904.34 |
17521.0 |
1987.16 |
4.045895 |
(0.2, 0) |
21 |
65132.0 |
13060 |
67245.0 |
13239.3 |
3.142241 |
(0.2, 0) |
22 |
51076.0 |
6462.82 |
58177.2 |
9974.89 |
12.206171 |
(0.2, 0.1) |
23 |
3671.0 |
16462.8 |
3894.0 |
16591.9 |
5.726759 |
(0.2, 0.1) |
24 |
48552.0 |
17328.5 |
52278.0 |
18148.5 |
7.127281 |
(0.2, 0.1) |
AVG |
35808.75 |
2432.72 |
36729.92 |
2635.98 |
3.08 |
|
Table 3
Results for solving
$
\overline{\mathrm{GPM}}$ and GPM without the CCG features.
Test problem
$
{\mathit{TP}_{i}}$ I
|
$
{\mathit{LB}^{\ast }}(\overline{\mathrm{GPM}})$ |
$
{\mathrm{T}_{\mathrm{ECGA}}}$ (seconds) |
$
{\tau ^{\ast }}(\mathrm{GPM})$ |
$
{\mathrm{T}_{\mathrm{ECGH}}}$ (seconds) |
ρ % |
1 |
24.0 |
2 |
57.0 |
5 |
57.89 |
2 |
1409.0 |
26 |
1417.0 |
28 |
0.56 |
3 |
3466.0 |
42 |
3466.0 |
42 |
0 |
4 |
10837.5 |
1756 |
10837.5 |
1756 |
0 |
5 |
46625.0 |
805 |
46625.0 |
805 |
0 |
6 |
44930.0 |
1183 |
44930.0 |
1183 |
0 |
7 |
90099.0 |
571 |
90099.0 |
571 |
0 |
8 |
69459.0 |
10819 |
69459.0 |
10819 |
0 |
9 |
136174.0 |
5379 |
136174.0 |
5379 |
0 |
10 |
16922.66 |
284 |
17068.0 |
492 |
0.85 |
11 |
40307.99 |
2656 |
40802.0 |
4025 |
1.21 |
12 |
58437.42 |
9349 |
59157.0 |
10691 |
1.22 |
13 |
1837.0 |
15 |
1837.0 |
15 |
0 |
14 |
21389.0 |
1015 |
21703.44 |
2055 |
1.45 |
15 |
70301.44 |
476272 |
71545.0 |
481129 |
1.74 |
16 |
16571.33 |
838 |
17094.0 |
1042 |
3.06 |
17 |
37442.45 |
7014 |
38060.0 |
8222 |
1.62 |
18 |
3304.0 |
1178 |
3528.0 |
1693 |
6.35 |
19 |
3410.13 |
10640 |
3528.0 |
14012 |
3.34 |
20 |
11292.95 |
1207 |
12492.0 |
1376 |
9.60 |
21 |
23051.92 |
6769 |
23824.0 |
17679 |
3.24 |
22 |
53427.27 |
85003 |
54761.0 |
225112 |
2.44 |
23 |
145.59 |
8323 |
145.59 |
9457 |
0 |
24 |
271.41 |
34284 |
290.91 |
36578 |
6.70 |
AVG |
31714.00 |
27726.25 |
32037.52 |
34756.92 |
4.22 |
We begin by presenting computational results pertaining to solving Model GPM using Heuristic ECGH based on a set of 24 test problems having up to 100 vertices with different partitioning requirements. Tables
2 and
3, respectively, present our computational experience in solving Model GPM with and without the CCG Features. Note that because the weights associated with Problem GPP are randomly generated, repeated implementations of Heuristic ECGH might produce different objective function values, optimality gaps and run-times for a given test problem. Also, observe that in Proposition
2, we have assumed that Problem SP is solved using
$
{\varepsilon _{2}}=0$, in which case we have the provable lower bound given either by
$
{\tau ^{\ast }}(\overline{\mathrm{GPM}})$ if
$
{\tau ^{\ast }}(\mathrm{SP})\geqslant 0$ or otherwise by
$
{\mathit{LB}^{\ast }}$. However, when using a tolerance
$
{\varepsilon _{2}}>0$ while solving Problem SP, we can modify Proposition
2 to assert that the established duality gap is given by
$
-n{\tau ^{\ast }}(\mathrm{SP})+n{\varepsilon _{2}}\geqslant 0$, with
$
{\mathit{LB}^{\ast }}\gets {\mathit{LB}^{\ast }}-n{\varepsilon _{2}}$. The use of this lower bounding scheme is instrumental in curtailing the tailing-off effect associated with column generation. Hence, for each test problem, we first set
$
{\varepsilon _{1}}={\varepsilon _{2}}=0$ and try to solve Model GPM within some specified time. In case a solution is not obtainable, we then set
$
{\varepsilon _{2}}=0$ and set
$
{\varepsilon _{1}}$ to some sufficiently small value and gradually increment it until we reach a solution within the specified time. For test instances that remain unsolved, we set
$
{\varepsilon _{2}}$ to a sufficiently small positive value and increment it until we obtain a solution within the specified time. From our preliminary computational experiments, we noticed that solving Problem SP even with the default cutting plane feature of CPLEX was cumbersome in some test instances, especially those having a relatively large number of vertices, while the time to update the solution to GPM was in most cases just a few seconds.
In order to better understand the efficiency of the CCG Features and its contribution toward enhancing the solution quality for Model GPM, we experimented with solving this model using Heuristic ECGH both with and without the CCG Features. As shown in Tables
2 and
3, the incorporation of the CCG Features reduced the average solution time for solving Model
$
\overline{\mathrm{GPM}}$ by 11-fold and for solving Model GPM by 12-fold. This substantial reduction in the average solution times is attained by virtue of mitigating the tailing-off effect at termination. The average optimality gap at termination when solving Model GPM with and without the enhancing features are given by 3.08% and 4.22%, respectively. Although the higher average optimality gap obtained for the latter is skewed because of the relatively high optimality gap of 57.89% obtained when solving problem
$
{\mathit{TP}_{1}}$ (without this test case, the average optimality gap is given by 1.88%), but still the significant reduction in the average solution time when using the CCG Features strengthens the robustness of the proposed column generation approach.
Table 4
Ssummary of run-times and optimality gaps for model GPM.
Problem set |
Test problems |
Max number of vertices |
Least
$
{\mathrm{T}_{\mathrm{ECGH}}}$
|
Largest
$
{\mathrm{T}_{\mathrm{ECGH}}}$
|
Ave
$
{\mathrm{T}_{\mathrm{ECGH}}}$
|
Least ρ % |
Largest ρ % |
Ave ρ % |
$
{S_{1}}$ |
$
\mathit{TP}{1_{1}},\dots ,\mathit{TP}{1_{10}}$ |
36 |
1.48 |
1825.81 |
260.75 |
0 |
5.88 |
1.35 |
$
{S_{2}}$ |
$
\mathit{TP}{1_{11}},\dots ,\mathit{TP}{1_{21}}$ |
84 |
24.12 |
13239.30 |
2348.93 |
0.07 |
6.96 |
3.48 |
$
{S_{3}}$ |
$
\mathit{TP}{1_{22}},\dots ,\mathit{TP}{1_{24}}$ |
100 |
9974.89 |
18148.50 |
13587.56 |
5.72 |
12.22 |
8.35 |
Table 5
Tolerances for model
$
\overline{\mathrm{GPM}}$ and problem SP.
Problem set |
Least
$
{\varepsilon _{1}}$
|
Largest
$
{\varepsilon _{1}}$
|
Average
$
{\varepsilon _{1}}$
|
Least
$
{\varepsilon _{2}}$
|
Largest
$
{\varepsilon _{2}}$
|
Average
$
{\varepsilon _{2}}$
|
$
{S_{1}}$ |
0 |
0 |
0 |
0 |
0 |
0 |
$
{S_{2}}$ |
0.00001 |
0.02 |
0.0400 |
0 |
0 |
0 |
$
{S_{3}}$ |
0.2 |
0.2 |
0.2 |
0.1 |
0.1 |
0.1 |
In the remainder of this section, we focus and analyse results obtained using the CCG Features. To provide insights into the performance of our approach for solving Model GPM, we partition our test problems into three sets, denoted by
$
{S_{1}},{S_{2}}$ and
$
{S_{3}}$, based on the number of vertices ranging up to 36, 84, and 100, respectively. Tables
4 and
5 provide results for these partitioned subsets of problems. As expected, with an increase in the number of vertices, both the total run-time for solving Model GPM using ECGH and the resulting optimality gap at termination increased. Test problems from the set
$
{S_{1}}$ (with
$
n\leqslant 36$) were solvable without using any termination tolerances for solving either
$
\overline{\mathrm{GPM}}$ or Problem SP, and in this case the least, largest, and average optimality gaps obtained were given by 0%, 5.88%, and 1.35%, respectively. For test problems from
$
{S_{2}}$ (having
$
n\leqslant 84$), we solved Model
$
\overline{\mathrm{GPM}}$ using a range of incrementally increasing gap tolerances. In this case, the least, largest, and average optimality gaps obtained were given by 0.7%, 6.96%, and 3.45%, respectively. For test problems in
$
{S_{3}}$ (having
$
n\leqslant 100$), using the aforementioned modified lower bounding result, the least, largest, and average optimality gaps obtained were given by 5.72%, 12.22%, and 8.35%, respectively.
7 Summary, Conclusions and Future Research
This paper examines a graph partitioning problem that is concerned with the partitioning of a complete weighted graph
$
G(V,E)$ into n complete subgraphs each having the same number of α vertices, with the objective of minimizing the total weight of edges included in the subgraphs. This problem has many applications in various contexts such as assignment-related group partitioning problems, micro aggregation in statistics, telecommunication, and political redistricting. To solve this problem, we formulated a mixed-integer program, denoted by GPM, which directly attempts to select a minimum-cost collection of n valid partitions from the entire set of valid partitions in order to constitute an n-partition. Exploiting the structure of Model GPM, we then designed a column generation heuristic (ECGH) that incorporates the following three enhancing features for solving this model: (a) a lower bounding facility based on solving the pricing subproblem, which helps to curtail the tailing off effect typically associated with column generation; (b) a complementary column generation feature that attempts to generate multiple columns at each iteration to constitute a feasible n-partition, and (c) the generation of initial columns for Model GPM that serve to provide a starting basis as well as to restrict the dual solution space, thereby contributing toward dual stabilization.
Detailed computational results were presented for solving Model GPM. These results demonstrated that the CCG Features proposed for enhancing the traditional column generation framework yielded comparable quality solutions (3% optimality on average) with respect to the standard classical column generation approach while reducing the average run-time for solving Models
$
\overline{\mathrm{GPM}}$ and GPM by 11-fold and 12-fold, respectively. Based on our computational results, we propose investigating further algorithmic strategies for dealing with relatively larger problems. In particular, solving Problem SP within algorithm ECGH was especially cumbersome in test instances of Problem GPP that involve a relatively large number of vertices. In fact, we were able to obtain reasonable solutions for up to 100 vertices for Model GPM, but for problems having 150 vertices, we were unable to solve even the linear programming relaxation of Problem SP after two days of run-time. Hence, we recommend exploring some alternative ways for solving Problem SP, including a polyhedral analysis coupled with more effective heuristic solution approaches.
Another extension worth exploring for solving Model GPM is as follows. Let
$
{\overline{\mathrm{GPM}}_{\mathrm{LR}}}$ be the current restricted version of Model
$
\overline{\mathrm{GPM}}$ obtained from the final iteration of Algorithm ECGH. We can then solve
$
{\overline{\mathrm{GPM}}_{\mathrm{LR}}}$ to optimality as a 0-1 program directly using a commercial package such as CPLEX by utilizing some suitable specialized decomposition scheme as necessary, in order to obtain a good quality feasible solution to Model GPM. This might be particularly attractive because of the complementary column generation strategy implemented within the solution process (Ghoniem and Sherali,
2009). Moreover, this solution approach can further provide facility to consider equity issues within the vertex partitioning scheme through the addition of suitable side-constraints, which are difficult otherwise to accommodate within the column generation modelling and solution process. In the future, we also aim to explore alternative modelling approaches for Problem GPP that attempt to directly generate the required partitions and use decomposition schemes such as Lagrangian relaxation while incorporating necessary equity.