The design of handoff algorithms for cellular communication systems based on mobile signal-strength measurements is considered. The design problem is posed as an optimization to obtain the best tradeoff between the expected number of service failures and expected number of handoffs, where a service failure is defined to be the event that the signal str ength falls below a level required for satisfactory service to the subscriber. Based on dynamic programming arguments, an optimal solution is obtained, which, though impractical, can be used as a benchmark in the comparison of suboptimal schemes. A simple locally optimal handoff algorithm is derived from the optimal solution. Like the standard hysteresis algorithm, the locally optimal algorithm is characterized by a single threshold. A systematic method for the comparison of various handoff algorithms that are akin to the receiver operating characteristic (ROC) curves of radar detection is presented. Simulation results show that the locally optimal algorithm outperforms the hysteresis algorithm, especially in situations where accurate prediction of signal strength is possible. A straightforward technique for adapting the locally optimal algorithm to changing environments is suggested. That natural adaptability is the algorithm’s principle advantage over current approaches.