I am trying to prove a simple local search algorithm could solve exactly this problem:
$\underset{S \in I(M), |S|=k}{max} c(S)$
where $M$ is a matroid, and $ I(M)$ is the set of all independent set, $c(S) = \sum_{v \in S}c(v)$.
In the book "A First Course in Combinatorial Optimization" by Jon Lee, it is given that a local search/ Swap algorithm return the optimal solution. But the author did not provide a proof.
I tried to follow the greedy algorithm heuristic to prove the optimality of this local search algorithm, but it didn't work.
I also tried to prove it when the matroid is a graphic matroid, e.g., a spanning tree. I tried to use the cycle property of the minimum spanning tree to prove the optimality, but it didn't work either.