Minimal Total Area Convex Set Partitioning Problem

The set-partitioning problem is a well known NP-hard combinatorial problem. A real-world problem of this class for the vehicle routing problem in Florida area was formulated by Juricek [5]. He requires partitioning of customers to clusters. The clusters should be constructed as “optimal” areas for 1vehicle routing. An intuitive criterion for the well-formed area of the cluster for one vehicle is the smallest convex polygon that encloses all points of cluster – convex hull.


Introduction
The set-partitioning problem is a well known NP-hard combinatorial problem. A real-world problem of this class for the vehicle routing problem in Florida area was formulated by Juricek [5]. He requires partitioning of customers to clusters. The clusters should be constructed as "optimal" areas for 1-vehicle routing. An intuitive criterion for the well-formed area of the cluster for one vehicle is the smallest convex polygon that encloses all points of clusterconvex hull.
We present two problems: G Convex set partitioning problem: A set of points in a plane have to be partitioned to a given number of clusters so that every two convex hulls of cluster members have empty intersection and the total area of cluster's convex hulls is minimal. G Convex location problem: A set of q seeds of clusters are searched with a bounded capacity of cluster and convex constraint for a pair of assigned points.

Convex hull problem
Finding the convex hull of a set of points in plane is one of most interesting elementary problems in computational geometry [1].
Let P ϭ {p 1 , p 2 , …, p n }, n Ն 3 be a set of distinct points in the Euclidean plane. The convex hull of P is the minimal convex area (bordered by points in P) that contains every point of P. We will denote this area by co හ nv හ h හ (P). For convenience we say that a point p ʦ P is a boundary point of the convex hull of P if p is a boundary vertex of the convex hull of P. The convex hull problem is the problem of computing the convex hull of P and reporting the boundary points of the convex hull in the order in which they appear on the hull -we will note this set convh (P). Fig. 1 shows an example of the convex hull of set P ϭ {p 1 , p 2 , …, p 10 }. The points p 4 , p 6 , p 7 , p 8 , p 9 ʦ (P -convh(P)) lie in the convex hull but they are not boundary points and the points p 1 , p 2 , p 3 , p 5 , p 10 ʦ convh(P) are boundary points of the convex hull.
As early as 1972, Graham gave a convex hull algorithm with O(nlog(n)) worst-case running time. In our application we used the Python program [3] implementing Graham's scan algorithm.

Convex set partitioning problem
The problem of partitioning customers (represented by the points on the plane) to the convex hulls of vehicle areas can be formulated as the following optimization problem (CSP): Let us have the set of n points P ϭ {p 1 , p 2 , …, p n } in the plane and the integer q where n Ն 6 and 2 Յ q Յ [n/3]. The goal is to find a set partitioning of the set P to q partitions -clusters of points -P(q) ϭ (P 1 , P 2 , …, P q ) such that every two clusters have empty intersection and the total area of the convex hulls of partitioning members is minimal. Fig. 2 shows an example of the convex set partitioning of set P to three clusters P 1 , P 2 , P 3 of points. Every two convex hulls of partitioning have empty intersection i.e. co හ nv denotes the area o the polygon p Let H ϭ {H 1 , H 2 , …, H m } be the set of all subsets of the boundary points from P which lie on the convex hulls. We will use the abbreviate notations M ϭ {1, 2, …, m} and N ϭ {1, 2, …, n}. We can now define the binary variables We define the point-to-cluster incidence matrix A ϭ (a ij ) where and the cluster-to-cluster incidence matrix B ϭ (b ij ) where Let us remind that |A| denotes the area of object A. Now we can formulate and solve the CSP problem as the following binary programming problem (BCSP): (1) (2) if solution has clusters with convex hull of points if otherwise H .
The objective function (1) minimizes the total area of the convex hulls in the solution. The cardinality constraint (2) states that the partitioning contains exactly q clusters. The set partitioning constraints (3) ensure that every point of the set P lies in exactly one cluster. Constraint (4) tells us that every two convex hulls are disjunct.. The logical constrain (5) chooses a set of clusters in the solution x jk ϭ 1, k ϭ 1, 2, …, q. The optimal solution of the CSP problem has the following form For the exact solution of the BCSP we have the known set H which has an exponential growth. Its size is too large for the solving of practical problems via accessible bivalent programming solvers.
One approach how to try to find an approximate solution is the reduction of the set H. The natural way how to do it is based on the capacities c i of the points p i . Let C be the capacity of vehicles. We can define the capacity of a cluster as the sum of capacities of its points. The cluster of the points P is then a feasible cluster if .
Now we can formulate the problem which helps to reduce the set H.

Convex location problem
When we approximate q convex hulls of the CSP problem as q-median of seeds of clusters we have the following optimization problem (CL): Let us have the given set of n points P ϭ {p 1 , p 2 , …, p n } in the plane, integer q where n Ն 6 and 2 Յ q Յ [n/3] and positive integer numbers c 1 , c 2 , …, c n , C. The goal is to find a q seeds of feasible clusters of points -S(q) ϭ {s 1 , s 2 , …, s q ) such every two cluster hulls of cluster have empty intersection and the sum of Euclidean distances of points to seeds of clusters is minimal.
This model measures the cluster by a sum of distances from the seed of cluster to the points of cluster as we can see in Fig. 3. The convexity constraint assigns the point p to the cluster P 1 because the distance from the point s 1 to point p is shorter than the distance from the point s 2 to point p.
Let D ϭ (d ij ) be the matrix of Euclidean distances between the points P and let us denote the maximum distance by d max . We can define the bivalent variables y i ϭ 1 if the point p i is a seed of ,

Fig. 2 Convex set partitioning P(3) ϭ (P 1 , P 2 , P 3 ) of points P
the same cluster and y i ϭ 0 otherwise. We also define the bivalent variables x ij ϭ 1 if the point pj is assigned to the seed pi. It is easy to construct the set S ϭ {p i ʦ P : y i ϭ 1}. Now we can formulate and solve the CL problem as the bivalent-programming problem (BCL): i, j, k ʦ N, i j, j k (11) The objective function (7) minimizes the total distance of the points to the nearest seed. The cardinality constraint (8) states that the solution has q clusters. The assignment constraint (9) ensures that every point of the set P is assigned exactly to one computed seed. The capacity constraint (10) is valid for feasible clusters only. The convexity constraint (11) ensures that the constructed convex hulls are really of shape of a convex polygon. Finding such polygon is similar to the same phase in Voronoi algorithm. The constaraint describes a situation when we need to decide to which cluster a point belongs. When there is more possibilities it is always assigned to a cluster with nearest seedThe last logical constraint (12) chooses seeds and defines clusters with its seed.
It can be proved that the BCL problem is NP-hard. Janacek and Gabrisova studied the possible approach to an approximate solution of the capacitated location problem based on lagrangean relaxation in [4]. Computational experiments with program glpsol for solution of mixed linear programming problems show that using Open Source library GLPK (GNU Linear Programming Kit) [7] we can find a good approximate solution of a real-world problem.

Instances of Florida area
We verified the models on the two instances of Florida area with n ϭ 234 points and the number of clusters q ϭ 10 and q ϭ 13. The capacities of points are daily weights of customer's demands. For every q we solved 7 instances of BCSP problems with and C k ϩ 1 is the maximum of cluster capacities in the solution of instance with the vehicle capacity C kϪ1 for k ϭ 1, …, 6. The points on convex hulls define the reduced set H q ϭ {H 1 , H 2 , …, H 7·q }. By solving the BCSP problem, we got the clusters for ten vehicles as we can see in Fig. 4. The convex hulls were constructed by Graham's scan algorithm [3] implemented in Python [2], [6], [8]. An interesting property of the obtained solution is that the clusters have a relatively uniform distribution of the cluster capacity defined by the left side of inequality (6). Note that the total time of computing via [7] program glpsol was between 15 -16 hours for one q.

Open questions
The experiments with Florida instances show that real world BCSP problems with several hundreds of points can require long computational times. Reduction of the problem by solving some associated BCL problems is possible. Open questions are G the approximate ratio for presented heuristic, G the applicability of estimation of vehicle service with the aid of the area and weight of cluster, G the possibility of weakening the formulation of the convexity constraint (11) in the BCL problem,