An improved fruit fly optimization algorithm (IFFOA) for solving the multidimensional knapsack problem (MKP) is proposed. The parallel search is employed to balance exploitation and exploration. A modified harmony search algorithm (MHS) is presented to add cooperation among swarms in IFFOA. A novel vertical crossover is designed to guide stagnant dimensions out of local optima. Experimental results indicate that IFFOA is an effective alternative for solving the MKP.