A mathematical model is proposed to describe how vacant and occupied taxis will cruise in a road network to search for customers and provide transportation services. The model assumes that a taxi driver, once having picked up a customer, will move to the customer’s destination by the shortest path; and that a taxi driver, once having dropped a customer, will try to minimize individual expected search time required to meet the next customer. The probability that a vacant taxi meets a customer in a particular zone is specified by a logit model by assuming that the expected search time in each zone is an identically distributed random variable due to variations in perceptions and the random arrival of customers. The whole movement of all empty and occupied taxis is formulated as an optimization model, from which a gravity-type distribution of empty taxis is derived. Consequently, the taxi movement model can be solved efficiently by the established iterative balancing method and can be incorporated into any standard transportation planning packages.