A new algorithm for the direct allocation method named "adjacent facets searching algorithm "was presented to solving the three-objective constrained control allocation problem. The key problem of direct allocation method is to determine the intersection of the desired objective vector with the convex hull of the attainable moments set(AMS). Instead of searching all the boundary of the AMS, the algorithm proposed start from a facet in the boundary of the AMS, searching the adjacent facets one by one, until the facet with which the desired objective intersected was founded. The algorithm relaxed the restriction assumed in the original method that any three columns of the controls effectiveness matrix are linearly independent, and returns optimal solutions in any cases. The high precision and the ability of real time application were validated. Simulation result shows the effectiveness of the algorithm, when applying in the flight control system of an aircraft with multiple control surfaces.