1. A method for dynamically allocating channels in a cellular system, comprising the steps of: (a) generating a list of candidate channels for a new call using a measurement-based dynamic channel assignment (MBDCA) algorithm; (b) applying a dynamic reuse-distance criterion algorithm to the list of candidate channels based on a specified minimum reuse distance and current usage of one or more of the candidate channels in neighboring cells to select a channel for the new call; and (c) using the selected channel for the new call.