In atmospheric and oceanic studies, it is important to investigate the uncertainty of model solutions. The conditional non-linear optimal perturbation (CNOP) method is useful for addressing the uncertainty. This paper reviews the development of the CNOP method and its computational aspects in recent years. Specifically, the CNOP method was first proposed to investigate the effects of the optimal initial perturbation on atmosphere and ocean model results. Then, it was extended to explore the influences of the optimal parameter perturbation, model tendency perturbation and boundary condition perturbation. To obtain solutions to these optimal perturbations, four kinds of optimization approaches were developed: the adjoint-based method, the adjoint-free method, the intelligent optimization method and the unconstrained optimization method. We illustrate the calculation process of each method and its advantages and disadvantages. Then, taking the Zebiak–Cane model as an example, we compare the CNOPs related to initial conditions (CNOP-Is) calculated by the above four methods. It was found that the dominant structures of the CNOP-Is for different methods are similar, although some differences in details exist. Finally, we discuss the necessity and possible direction for designing a more effective optimization approach related to the CNOP in the future.