Optimal Matroid Partitioning Problems

This paper studies optimal matroid partitioning problems for various objective functions. In the problem, we are given a finite set $E$ and $k$ weighted matroids $(E, \mathcal{I}_i, w_i)$, $i = 1, \dots, k$, and our task is to find a minimum partition $(I_1,\dots,I_k)$ of $E$ such that $I_i \in \mathcal{I}_i$ for all $i$. For each objective function, we give a polynomial-time algorithm or prove NP-hardness. In particular, for the case when the given weighted matroids are identical and the objective function is the sum of the maximum weight in each set (i.e., $\sum_{i=1}^k\max_{e\in I_i}w_i(e)$), we show that the problem is strongly NP-hard but admits a PTAS.


Introduction
The matroid partitioning problem is one of the most fundamental problems in combinatorial optimization. In this problem, we are given a finite set E and k matroids (E, I i ), i = 1, . . . , k, and our task is to find a partition (I 1 , . . . , I k ) of E such that I i ∈ I i for all i. We say that such a partition (I 1 , . . . , I k ) of E is feasible. The matroid partitioning problem has been eagerly studied in a series of papers investigating structures of matroids. See e.g., [7,8,9,15,23] for details. In this paper, we study weighted versions of the matroid partitioning problem. Namely, we assume that each matroid (E, I i ) has a weight function w i : E → R + . We consider several possible objective functions of the matroid partitioning problem.
We define the minimum (Op (1) , Op (2) )-value matroid partitioning problem as the one for finding a feasible partition with minimum (Op (1) , Op (2) )-value. The maximum problems are defined analogously. These matroid partitioning problems are natural to study, and have many applications in various areas such as scheduling and combinatorial optimization. We note that all the matroids and/or all the weights may be identical in case such as scheduling with identical machines.
The minimum ( , )-value matroid partitioning problem is reducible to the weighted matroid intersection problem, and vice versa [8]. Here, the weighted matroid intersection problem is to find a maximum weight subset that is simultaneously independent in two given matroids. It is known that this problem is polynomially solvable, and many papers have worked on algorithmic aspects of this problem [15,23]. Generalizations of the weighted matroid intersection problem have also been studied [16,20,17].
Special cases of the minimum (max, )-value matroid partitioning problem have been extensively addressed in the scheduling literature under the name of the minimum makespan scheduling. Since this problem is NP-hard, many papers have proposed polynomial-time approximation algorithms. We remark that most papers focused on subclasses of matroids as inputs: for example, free matroids [18,24], partition matroids [26,25,19], uniform matroid [14,1,4], and general matroids [25]. Approximation algorithms for the maximum (min, )-value matroid partitioning problem are also well-studied, see, e.g., [3,13,26,19].
The other matroid partitioning problems also have many applications, and yet they are not much studied especially for general matroids. We here describe some examples of applications.
Minimum bottleneck spanning tree Consider the minimum bottleneck spanning tree problem: given a connected undirected weighted graph G = (V, E; w), we are asked to find a spanning tree whose maximum weight edge is minimized. Let (E, I 1 ) be a graphic matroid obtained from G and let (E, I 2 ) be its dual. Then, this problem is formulated as the minimum (max, max)-value matroid partitioning problem with (E, I 1 ), (E, I 2 ), w 1 = w and w 2 = 0, where the (max, max)-value is max i=1,2 max e∈Ii w i (e).
Maximum total capacity spanning tree partition Assume that we are given an undirected weighted graph G = (V, E; w), which can be partitioned into k edge-disjoint spanning trees. The maximum total capacity spanning tree partition problem is to compute a partition of the edges into k edgedisjoint spanning trees such that the total of the minimum weight in each spanning tree is maximized. Then, the problem can be written as the maximum ( , min)-value matroid partitioning problem having k identical graphic matroids, where the ( , min)-value is k i=1 min e∈Ii w(e).
Minimum total memory of a scheduling In this problem we are also given n jobs E and k identical machines, and each job needs to be scheduled on exactly one machine. In addition, we are given size s(e) of job e ∈ E. The set of feasible allocation for each machine i is represented by a family of independent sets I i of a matroid. The goal of the problem is to minimize the total memory needed, i.e., ( , max)-value k i=1 max e∈Ii s(e). Burkard and Yao [2] showed that the minimum ( , max)-value matroid problem can be solved by a greedy algorithm for a subclass of matroids, which includes partition matroids. Dell'Olmo et al. [5] investigated optimal matroid partitioning problems where the input matroids are identical partition matroids.
The goal of our paper is to analyze the computational complexity of these matroid partitioning problems for general matroids.

Our results
We first show that the maximization problems can be reduced to the minimization problems. For example, the maximum ( , min)-value matroid partitioning problem can be transformed to the minimum ( , max)-value matroid partitioning problem. Hence, we focus only on the minimization problems.
Our main result is to analyze the computational complexity of the minimum ( , max)-value matroid partitioning problem. This problem contains the maximum total capacity spanning tree partitioning problem and the minimum total memory scheduling problem. We first show that the problem is strongly NP-hard even when the matroids and weights are respectively identical. However, for such instances, we also propose a polynomial-time approximation scheme (PTAS), i.e., a polynomial-time algorithm that outputs a (1+ε)-approximate solution for each fixed ε > 0. Our PTAS computes an approximate solution by two steps: guess the maximum weight in each I * i for an optimal solution (I * 1 , . . . , I * k ), and check the existence of such a feasible partition. We remark that the number of possible combinations of maximum weights is |E| k and it may be too large. To reduce the possibility, we use rounding techniques in the design of the PTAS. First, we guess the maximum weight in I * i for only s indices. Furthermore, we round the weight of each element and reduce the number of different weights to a small number r. Then, now we have r s possibilities. To obtain the approximation ratio (1 + ε), we need to set r and s to be Ω(log k) respectively, and hence the number of possibilities r s is still large. Our idea to tackle this is to enumerate sequences of maximum weights in the nonincreasing order. This enables us to reduce the number of possibilities to r+s−1 r (≤ 2 r+s−1 ). This implies that our algorithm is a PTAS. Moreover, for the ( , max) case with general inputs, we provide an εk-approximation algorithm for any ε > 0. The construction is similar to the identical case. We also prove the NP-hardness even to approximate the problem within a factor of o(log k).
For the (min, min), (max, max), (min, max), and (min, ) cases, we provide polynomial-time algorithms. The main idea of these algorithms is a reduction to the feasibility problem of the matroid partitioning problem. For the (max, min) and ( , min) cases, we give polynomial-time algorithms when the matroids and weights are respectively identical, and prove strong NP-hardness even to approximate for the general case. These results are summarized in Table 1 with their references.

The organization of the paper
In Section 2, we define optimal matroid partitioning problems and show basic properties of theses problems. In particular, we see that the maximization problems are reducible to minimization problems. In Table 1: The time complexity of the optimal matroid partitioning problems (the results of the paper are in bold). Identical case means I 1 = · · · = I k and w 1 = · · · = w k . objective identical case general case reference ( , ) P P [8,11] (max, ) SNP-hard SNP-hard [12] ( , max) PTAS εk-approx. Section 3 SNP-hard NP-hard even for o(log k)-approx. (min, min) P P Section 4 (max, max) P P Section 4 (min, max) P P Section 4 (min, ) P P Section 4 (max, min) P NP-hard even to approximate Sections 4, 5 ( , min) P NP-hard even to approximate Sections 4, 5 Section 3, we prove that the minimum ( , max)-value matroid partitioning problem with identical matroids and identical weights is strongly NP-hard but admits a PTAS. We also show that the problem for general case has no o(log k)-approximation algorithm but has an εk-approximation algorithm. Section 4 deals with tractable cases among other problems, and Section 5 gives hardness results.

Preliminaries
A matroid is a set system (E, I) with the following properties: (I1) ∅ ∈ I, (I2) X ⊆ Y ∈ I implies X ∈ I, and (I3) X, Y ∈ I, |X| < |Y | implies the existence of e ∈ Y \ X such that X ∪ {e} ∈ I. A set I ⊆ I is said to be independent, and an inclusion-wise maximal independent set is called a base. We denote the set of bases of (E, I) by B(I). All bases of a matroid have the same cardinality, which is called the rank of the matroid and is denoted by rank(I). For any B 1 , B 2 ∈ B(I) and e 1 ∈ B 1 \ B 2 , there exists e 2 ∈ B 2 \ B 1 such that B 1 − e 1 + e 2 ∈ B(I) and B 2 − e 2 + e 1 ∈ B(I). We call (A, I|A), (E \ A, I \ A), (E \ A, I/A), and (E, I (l) ), respectively, the restriction, deletion, contraction, and truncation of (E, I). It is well known that (A, I|A), (A, I \ A), (E \ A, I/A), and (E, I (l) ) are all matroids. Given matroids M 1 = (E 1 , I 1 ) and M 2 = (E 2 , I 2 ), we define the matroid union, denoted by M 1 ∨ M 2 , to be (E 1 ∪ E 2 , I 1 ∨ I 2 ) where I 1 ∨ I 2 = {I 1 ∪ I 2 : I 1 ∈ I 1 , I 2 ∈ I 2 }. Any matroid union is also a matroid. For more details of matroids, see e.g., [22].

Model
Throughout the paper, we assume that every matroid is given by an independence oracle, which checks whether a given set is independent. Let k be a positive integer. We denote [k] = {1, . . . , k}. Let (E, I i ) be a matroid and w i : E → R + be a nonnegative weight function for i ∈ [k]. We denote n = |E|. For any k sets I 1 , . . . , I k ⊆ E, we call (I 1 , . . . , I k ) a feasible partition of E if it satisfies that i∈[k] I i = E, ). In particular, (I 1 , . . . , I k ) is said to be a base partition if it is a feasible partition and I i ∈ B(I i ) for all i ∈ [k]. For two operators Op (1) ∈ {max, min, } and Op (2) ∈ {max, min, }, we define the (Op (1) , Op (2) )-value of a feasible partition (I 1 , . . . , I k ) as Op (2) e∈Ii w i (e). 1 We remark that the condition I i = ∅ (∀i ∈ [k]) is imposed to make the objective function well-defined. Moreover, if we define max e∈∅ w i (e) = 0, min e∈∅ w i (e) = ∞, and e∈∅ w i (e) = 0, then we can reduce the problem where empty sets are allowed to our problem by adding dummy elements.
In this article, we study the following minimization problem: min (I1,...,I k ): feasible partition We refer to the problem as the minimum (Op (1) , Op (2) )-value matroid partitioning problem. We write a problem instance as (E, (I i , w i ) i∈ [k] ). If (I i , w i ) are identical for all i ∈ [k], we write (E, (I, w), k). For the identical case, we can consider the partitioning problem where k is also a variable. This problem can be solved by solving (E, (I, w), i) for i = 1, . . . , n. Thus it suffices to focus on the problem where k is given.
It is known to be easy to decide whether there exists a feasible partition or not. Moreover, the minimum ( , )-value matroid partitioning problem can be solved in polynomial time. These facts are useful to show our results later.
Theorem 2.1 ( [8,11]). There exists a polynomial-time algorithm that decides whether or not there exists a feasible partition for any given matroids (E, I 1 ), . . . , (E, I k ). Moreover, if it exists, we can find a feasible partition with minimum ( , )-value in polynomial time.

Basic properties
In this subsection, we provide basic properties of the partitioning problems. These properties imply that the minimization and maximization versions of matroid partitioning problems can be reduced to each other.
We first observe that we only need to consider base partitioning problems. Let M i = (E, I i ) be a matroid for i ∈ [k]. We add dummy elements so that any feasible partition is a base partition. To describe this precisely, we denote r Namely, M ′ i is a uniform matroid of rank (rank(I i ) − 1), and M i is the rank(I i )-truncation of the matroid union M i ∨ M ′ i . Then, we have the following proposition. Proposition 2.2. For any (E, (I i , w i ) i∈[k] ), its minimum (Op (1) , Op (2) )-value is the same as the minimum (Op (1) , Proof. We observe that by the definition of On the other hand, since ( Thus, we obtain Op (1) i∈ e∈Ii w i (e) and the proposition holds.
We remark that the same property holds for the maximization problem. In the following, we assume |E| = i∈[k] rank(I i ). We next show that the maximization problems are reducible to the minimization ones.

Proposition 2.3. For any feasible partition
Proof. By a simple calculation, we have for any feasible partition (I 1 , . . . , I k ). Here, the right hand side is a constant, and hence the proposition holds.
We note that these reductions above are not approximation factor preserving. Hence, the (in)approximability of the maximization problems are not deduced from that of the minimization problems.

The minimum ( , max)-value matroid partitioning problem
In this section, we study the minimum ( , max)-value matroid partitioning problem. We first deal with the case where the matroids and weights are respectively identical and then go to the general case.

Strong NP-hardness of the identical case
We first prove that the minimum ( , max)-value matroid partitioning problem is strongly NP-hard even if the matroids and weights are respectively identical.
To prove this, we use the densest l-subgraph problem, which is known to be strongly NP-hard [10]. The densest l-subgraph problem is, given a graph G and an integer l, to find a subgraph of G induced on l vertices that contains the largest number of edges.
In our reduction, we use the following property on a partition matroid. Let (E, I) be a partition matroid defined by I = {I : |I ∩ S i | ≤ η i (i ∈ [p])}, where (S 1 , . . . , S p ) is a partition of E, and η 1 , . . . , η p are positive integers. In addition, we assume that |S i | = η i · k for each i ∈ [p] so that E can be partitioned into k bases of I. Then, for any weight w, we can construct greedily an optimal partition to the instance (E, (I, w), k) of the minimum ( , max)-value matroid partitioning problem.
, and let w be any weight.
Proof. Let (I * 1 , . . . , I * k ) be an optimal partition. Without loss of generality, we may assume that max e∈I * 1 w(e) ≥ · · · ≥ max e∈I * k w(e). Let j be any index in [k]. In addition, let (i ′ , e j ) be the pair of an index and an element attaining max i∈[p] max e∈Ii,j w(e). We claim that max e∈I * j w(e) ≥ w(e j ). To show this, we suppose the contrary. We denote S = h<j I i ′ ,h ∪ {e j }. Note that |S| = (j − 1)η i ′ + 1 and w(e) ≥ w(e j ) for all e ∈ S. Since (E, I) is a partition matroid, at most (j − 1)η i ′ elements in S are contained in I * 1 , . . . , I * j−1 . By assumption max e∈I * j w(e) < w(e j ), there is an index ℓ > j such that I * ℓ has some element e ′ ∈ I * ℓ ∩ S. Then we have max e∈I * ℓ w(e) ≥ w(e ′ ) ≥ w(e j ) > max e∈I * j w(e), which contradicts the assumption max e∈I * j w(e) ≥ max e∈I * ℓ w(e).
Theorem 3.2. The minimum ( , max)-value matroid partitioning problem is strongly NP-hard even if the matroids and weights are identical.
To solve the densest l-subgraph problem, it suffices to find a set of n − l vertices such that the set of the other l vertices attain max T ⊆V |F [T ]|. We construct a matroid so that every feasible partition of the ground set corresponds to some set of n − l vertices in V , and the ( , max)-value is the number of edges in the induced subgraph by the other l vertices.
Note that the matroid (E, I) in the above proof is graphic because it can be seen as a matroid corresponding to a cycle with n + 2m vertices and each adjacent vertices is connected by n + 2m − 1 multiple edges. Thus, the maximum total capacity spanning tree partition problem is NP-hard.

PTAS for the identical case
In this subsection, we provide a PTAS for the minimum ( , max)-value matroid partitioning problem with identical matroids and weights. This is the best possible result (unless P=NP) because the problem is strongly NP-hard as we proved in the previous subsection.
We start with the following observation, which will be also useful in Section 3.4.
) be any instance of the minimum ( , max)-value matroid partitioning problem, and let (I * 1 , . . . , I * k ) be an optimal solution. When we know max e∈I * i w i (e) for all i ∈ [k], we can easily compute a feasible partition (I 1 , . . . , I k ) such that i∈[k] max e∈Ii w i (e) ≤ i∈[k] max e∈I * i w i (e). Proof. The feasible partitions for matroids (E, I i |{e : w i (e) ≤ max e * ∈I * i w i (e * )}) i∈[k] satisfy the condition. Thus, we can find one of them in polynomial time by Theorem 2.1.
Let (E, (I, w), k) be a problem instance, and let ε < 1/2 be a positive number. We write w max = max e∈E w(e). Let (I * 1 , . . . , I * k ) be an optimal solution. The idea of the algorithm is to guess the maximum weights. Since the number of possibilities of the maximum weights is at most n k , we can solve the problem by solving the feasibility of matroid partitioning problems n k times. Thus, we can solve the problem efficiently when k is small, but not in polynomial time. In order to reduce the possibilities, we guess max e∈I * i w(e) only for some i's. Without loss of generality, we assume that max e∈I * 1 w(e) ≥ · · · ≥ max e∈I * k w(e). We define a set J = {i 1 , . . . , i s } of indices by By definition, it holds that 1 = i 1 < i 2 < · · · < i s ≤ k, and s = ⌊1/ε 2 ⌋ + ⌊log 1+ε (kε 2 )⌋. Note that for any j = ⌊1/ε 2 ⌋ + t and t ≥ 1, we have as ε < 1/2. For notational convenience, we denote i 0 = 0 and i s+1 = k + 1.
To reduce the number of possibilities more, we round the weights w(e). For all e ∈ E, define Our algorithm guesses max e∈I * i j w ′ (e) for each i j ∈ J. We write u * j for the value. Then, it finds a feasible partition (I 1 , . . . , I k ) that satisfies max e∈I1 w(e) ≥ · · · ≥ max e∈I k w(e) and max e∈Ii j w ′ (e) ≤ u * j for all i j ∈ J. The algorithm is summarized in Algorithm 1.
Note that, without the restriction u 1 ≥ · · · ≥ u s , the number of possible combinations of values u 1 , . . . , u s is r s = k Θ(log log k) , which is not polynomial with respect to k.
In the remainder, we show the approximation ratio of the algorithm.
Claim 3.7. Let OPT denote the optimal value and let ALG denote the ( , max)-value of (I 1 , . . . , I k ).
Claims 3.6 and 3.7 imply that Algorithm 1 is a PTAS.

Hardness of the general case
We show a stronger result than the NP-hardness of the minimum ( , max)-value matroid partitioning problem by reducing the set cover problem. Given a set V = [n] and a collection S = {S i ⊆ V : i ∈ [k]}, the set cover problem is to find a subset S ′ (⊆ S) of minimum cardinality such that S ′ covers V , i.e., It is known that the set cover problem cannot be approximated in polynomial time to within a factor of o(log k) unless P=NP [6,21]. Proof. Let (V, S) be an instance of the set cover problem. We first construct an instance of the minimum ( , max)-value matroid partitioning problem with identical matroids and different weights. Define a set D of (k − 1)n dummy elements. Let E = V ∪ D be the ground set and let I = {I ⊆ E : |I| ≤ n}. For each element e ∈ E and i ∈ [k], the weight w i (e) is defined by 0 if e ∈ D, 1 if e ∈ S i , and a sufficiently large number if e ∈ V \ S i (for example, k 2 ). Let us consider an instance (E, (I, w i ) i∈[k] ) of the minimum ( , max)-value matroid partitioning problem, which is the identical matroids case.
To show the theorem for the identical matroid case, it is sufficient to prove that there exists a set cover S * (⊆ S) of size at most t if and only if there exists a feasible partition (I 1 , . . . , I k ) of E such that First, let S * be a set cover of size t. For notational convenience, we denote S * = {S 1 , . . . , S t }. By the definition of S i 's, there exists some partition ( . Some V i 's may be empty. Then, let (D 1 , . . . , D k ) be an arbitrary partition of D such that |D i | = n − |V i | for i = 1, . . . , t and |D i | = n for i = t + 1, . . . , k. We construct a partition (I 1 , . . . , Since |I i | = n for all i, this partition is feasible. At most t sets in I i 's contain an element of V , and hence it holds that i∈[k] max e∈Ii w i (e) ≤ t.
Conversely, let (I 1 , . . . , I k ) be a partition of E such that i∈[k] max e∈Ii w i (e) = t (≤ k). Here, the value of max e∈Ii w i (e) is 1 if I i contains an element of V and otherwise the value is 0. Since every element of V is contained in some I i , t sets among I 1 , . . . , I k contain an element of V . We denote such sets by I 1 , . . . , I t by rearranging the indices. Since i∈[t] I i \ D = V and I i \ D ⊆ S i (i ∈ [k]), we have i∈[t] S i ⊇ V . Thus, (S 1 , . . . , S t ) is a set cover of size t. This proves the theorem for identical matroid case.
For the identical weights case, we construct an instance (E, (I i , w) i∈[k] ) of the minimum ( , max)value matroid partition problem by setting Then the statement holds by a similar proof.

Algorithm for the general case
In this subsection, we provide an εk-approximation algorithm for any ε > 0. Let (E, (I i , w i ) i∈[k] ) be an instance of the minimum ( , max)-value matroid partitioning problem, and let (I * 1 , . . . , I * k ) be any optimal partition. Similarly to the PTAS described in Section 3.2, our algorithm guesses max e∈I * i w i (e) for each i ∈ [k]. In order to reduce the number of possibilities, we only guess top-⌈1/ε⌉ weights of max e∈I * i w i (e). For simplicity, let r = ⌈1/ε⌉. Let J * = {i 1 , . . . , i r } be the indices of top-r weights, i.e., max e∈I * i w i (e) ≥ max e∈I * j w i (e) for any i ∈ J * and j ∈ [k] \ J * . Let u * i = max e∈I * i w i (e) for each i ∈ J * . Then it finds a feasible partition (I 1 , . . . , I k ) that satisfies max e∈Ii w i (e) ≤ u * i for i ∈ J * and max e∈Ii w i (e) ≤ min j∈J * u * The algorithm is summarized in Algorithm 2. Proof. Let (I * 1 , . . . , I * k ) be an optimal solution to the problem and (I 1 , . . . , I k ) be the output of Algorithm 2.
We first analyze the running time of Algorithm 2. The number of possibility of J is k r (≤ k r ). For each J, the number of possible combination of values u i for i ∈ J is |E| r . Hence, the algorithm checks the feasibility of the matroid partitioning problem at most (k|E|) r = (k|E|) 2⌈1/ε⌉ times and this is a polynomial with respect to k and |E| for fixed ε. Thus, the algorithm runs in polynomial time.
Next, we show the approximation ratio of the algorithm. The optimum value OPT is at least Let (I ′ 1 , . . . , I ′ k ) is a feasible partition of E obtained at line 3 in Algorithm 2 using J = J * and u i = u * i for each i ∈ J. Then, the objective value ALG of (I 1 , . . . , I k ) is at most Thus, it is an εk-approximation algorithm.

Polynomial-time solvable optimal matroid partitioning problems
In this section, we provide algorithms for the cases (1) (Op (1) , Op (2) ) = (min, min), (max, max), (min, max) or (min, ); (2) (Op (1) , Op (2) ) = (max, min) or ( , min) with identical matroids. We first deal with the first case. For the (min, min), (max, max), (min, max) and (min, ) problems, we show polynomial-time reductions to the matroid partitioning problem. Then we can see that these are polynomially solvable by Theorem 2.1. Proof. Let (E, (I i , w i ) i∈[k] ) be any problem instance. We denote by (I * 1 , . . . , I * k ) an optimal feasible partition of the problem. Define (i * , e * ) ∈ argmin (i,e)∈[k]×I * i w i (e). Note that the (min, min)-value of (I * 1 , . . . , The number of possibility of (i, e) is k · |E|. For each (i, e), the condition (5) can be checked in polynomial time by Theorem 2.1. Thus we can find (i ′ , e ′ ) in polynomial time. Then, the optimal value w i * (e * ) is at most w i ′ (e ′ ), because there exists a feasible partition (I ′ 1 , . . . , I ′ k ) such that e ′ ∈ I ′ i ′ . On the other hand, the optimal value w i * (e * ) is at least w i ′ (e ′ ) because E \ {e * } ∈ I 1 ∨ · · · ∨ I i * −1 ∨ (I i * /{e * }) ∨ I i * +1 ∨ · · · ∨ I k . Thus, w i ′ (e ′ ) is the optimal value of the problem, and hence we can compute the optimal value (and partition) in polynomial time.
We also show the polynomial-time solvability of the minimum (max, max), and (min, max)-value matroid partitioning problems in a similar way.
Theorem 4.2. The minimum (max, max) and (min, max)-value matroid partitioning problems (E, (I i , w i ) i∈ [k] ) are solvable in polynomial time.
Proof. We prove the (max, max) case. The key idea is that the optimal value is at most w if and only if E has a feasible partition for (I 1 |{e : w 1 (e) ≤ w}, . . . , I k |{e : w k (e) ≤ w}).
Since the optimal value is in {w i (e) : i ∈ [k], e ∈ E}, we can obtain the optimal value by setting w for all the possibilities. As the condition (6) can be checked in polynomial time by Theorem 2.1 and the number of the possibilities is at most k × |E|, we can compute the optimal value (and partition) in polynomial time.
Next, we see the (min, max) case. In this case, the optimal value is at most w if and only if there exists i * such that E has a feasible partition for (I 1 , . . . , I i * −1 , (I i * |{e : w i * (e) ≤ w}), I i * +1 , . . . , I k ).
Thus, we can find the optimal value by setting i * for all [k] and w for all {w i * (e) : e ∈ E}. Proof. Let (E, (I i , w i ) i∈[k] ) be any problem instance. We denote by (I * 1 , . . . , I * k ) an optimal partition of the problem. For each j ∈ [k], let (I j 1 , . . . , I j k ) be an optimal solution for a minimum ( , )-value of the matroid partitioning problem instance (E, Thus, we can obtain an optimal solution by solving (E, (I i , w j i ) i∈[k] ) for all j ∈ [k]. The running time is polynomial by using the polynomial-time algorithm in Theorem 2.1.
Next we consider the (max, min) case and the ( , min) case. As we will see in the next section, the optimal matroid partitioning problems for these cases are (strongly) NP-hard even to approximate. We provide polynomial-time algorithms for instances where matroids are identical (weights may differ). The following lemma plays the crucial role for this purpose.
Proof. Suppose the contrary that there exists no such partition. Let (I 1 , . . . , I k ) ∈ I k be a partition of E such that e i ∈ I i for all i ∈ [j] with j (< k) as large as possible. Note that e j+1 ∈ I j+1 . If e j+1 ∈ I i for some i > j, then we can obtain a partition with larger j by just swapping I j+1 and I i , which contradicts the maximality of j. Otherwise, i.e., i ≤ j, there exists e ∈ I j+1 such that (I i \ {e j+1 }) ∪ {e} ∈ I and (I j+1 \ {e}) ∪ {e j+1 } ∈ I. Thus, (I 1 , . . . , (I i \ {e j+1 }) ∪ {e}, . . . , (I j+1 \ {e}) ∪ {e j+1 }, . . . , I k ) is also a feasible partition and this is a contradiction.
We will reduce the problem of finding an optimal partition to the minimum weight perfect bipartite matching problem. It is well-known that this problem is solvable in polynomial time (see e.g., [15,23] for basic algorithms). Now we are ready to prove the theorem. Proof. Let (E, I) be any matroid. Recall that the existence of a feasible partition is checkable in polynomial time by Theorem 2.1. Hence, in what follows, we assume that (E, (I, w), k) has a feasible partition.
We first consider the (max, min) problem. By Lemma 4.4, the minimum (max, min)-value is at most w if and only if the bipartite graph (E, [k], {(e, i) : w i (e) ≤ w}) has a right-perfect matching. Thus, we can get the optimal value in polynomial time by setting w for all {w i (e) : i ∈ [k], e ∈ E} and checking the existence of a right-perfect matching.
Next, we consider the ( , min) problem. By Lemma 4.4, the minimum ( , min)-value is the minimum weight of right-perfect matchings in the weighted bipartite graph (E, [k], E × [k]; w), where weight w is defined as w(e, i) = w i (e) for each (e, i) ∈ E × [k]. Thus, we can find the optimal value in polynomial time.

Hardness of optimal matroid partitioning problems
In this section, we show that the minimum (max, min) and ( , min)-value matroid partitioning problems are both strongly NP-hard even to approximate. We give a reduction from SAT, which is an NP-complete problem [12]. Proof. Let U be the set of variables and C be the set of clauses for a given SAT instance. For each clause C ∈ C, let P C and N C be the set of the variables appearing in the clause C as positive and negative literals, respectively. Let C x = {C 1 x , . . . , C s(x) x } ⊆ C be the set of clauses in which x occurs, where s(x) is the cardinality of C x .
We consider an instance of the minimum (max, min)-value matroid partitioning problem on matroids (E, I C ) (C ∈ C) and (E, I x ) (x ∈ U ). Here the ground set E is given by E = x∈U E x , where Intuitively, x C andx C represent a truth assignment for x, and x d is just a dummy element to keep the minimum weight corresponding to (E, I x ) to zero. For each C ∈ C, the independence family I C is given by and for each x ∈ U , the family I x is defined by where C s(x)+1 x is regarded as C 1 x . We set the weights of the elements as w(e) = 0 (e ∈ C∈C ( x∈PC {x C } ∪ x∈NC {x C }) ∪ x∈U {x d }), 1 (e ∈ C∈C ( x∈NC {x C } ∪ x∈PC {x C })).
Then, we claim that there exists a feasible partition whose (max, min)-value is 0 if and only if the given SAT instance is satisfiable. Assume that the SAT instance is satisfiable. Let ψ : U → {T, F} be a truth assignment that satisfies the instance. Then, we define a partition of E by I C = {x C : ψ(x) = T (x ∈ P C ∪ N C )} ∪ {x C : ψ(x) = F (x ∈ P C ∪ N C )} (C ∈ C), It is not difficult to see that this is feasible. Moreover, its (max, min)-value is 0. Conversely, assume that there is a feasible partition problem whose (max, min)-value is 0. Let I * C (C ∈ C) and I * x (x ∈ U ) consist an optimal partition. Note that I * x is either {x C : C ∈ C x } ∪{x d } or {x C : C ∈ C x } ∪ {x d }. Indeed, x C i x ∈ I x impliesx C i+1 x ∈ C C i+1 x and x C i+1 x ∈ I x ). Moreover, as the (max, min)-value is 0, at least one of x∈PC {x C } ∪ x∈NC {x C } is contained in I C for each C ∈ C. Thus, the following truth assignment satisfies the SAT instance: Therefore, the minimum (max, min)-value matroid partition problem is NP-hard, and there exists no approximation algorithm to the problem unless P=NP.
Since for any feasible partition, the (max, min)-value is 0 if and only if the ( , min)-value is 0, the proof works for the minimum ( , min)-value matroid partitioning problem in the same way.