Mathematical Programming

, Volume 36, Issue 1, pp 39–53

Two algorithms for weighted matroid intersection

  • Carl Brezovec
  • Gérard Cornuéjols
  • Fred Glover
Article

DOI: 10.1007/BF02591988

Cite this article as:
Brezovec, C., Cornuéjols, G. & Glover, F. Mathematical Programming (1986) 36: 39. doi:10.1007/BF02591988

Abstract

Consider a finite setE, a weight functionw:E→R, and two matroidsM1 andM2 defined onE. The weighted matroid intersection problem consists of finding a setIE, independent in both matroids, that maximizes Σ{w(e):e inI}. We present an algorithm of complexity O(nr(r+c+logn)) for this problem, wheren=|E|,r=min(rank(M1), rank (M2)),c=max (c1,c2) and, fori=1,2,ci is the complexity of finding the circuit ofI∪{e} inMi (or show that none exists) wheree is inE andIE is independent inM1 andM2. A related problem is to find a maximum weight set, independent in both matroids, and of given cardinalityk (if one exists). Our algorithm also solves this problem. In addition, we present a second algorithm that, given a feasible solution of cardinalityk, finds an optimal one of the same cardinality. A sensitivity analysis on the weights is easy to perform using this approach. Our two algorithms are related to existing algorithms. In fact, our framework provides new simple proofs of their validity. Other contributions of this paper are the existence of nonnegative reduced weights (Theorem 6), allowing the improved complexity bound, and the introduction of artificial elements, allowing an improved start and flexibility in the implementation of the algorithms.

Key words

Matroids matroid intersection algorithm polynomial algorithm 

Copyright information

© The Mathematical Programming Society, Inc. 1986

Authors and Affiliations

  • Carl Brezovec
    • 1
  • Gérard Cornuéjols
    • 1
  • Fred Glover
    • 2
  1. 1.Carnegie-Mellon UniversityPittsburghUSA
  2. 2.University of ColoradoBoulderUSA

Personalised recommendations