A new behavior-based algorithm is developed for reactive navigation of mobile robots. While fuzzy logic body of the algorithm performs the main tasks of obstacle avoidance and target seeking, an actual-virtual target switching is used to resolve the problem of limit cycles in any types of concave obstacles. The overall performance of the algorithm is then enhanced by using GA optimization of the functions. In this work, concave obstacles may have any shape such as corner, U-shape cul-de-sac, snail shape, or any other complicated shape. Trajectories and behavior analysis of a Pioneer robot are demonstrated to prove the robustness of the proposed algorithm.