Dynamic multi-objective optimization algorithms are used as powerful methods for solving many problems worldwide. Diversity, convergence, and adaptation to environment changes are three of the most important factors that dynamic multi-objective optimization algorithms try to improve. These factors are functions of exploration, exploitation, selection and adaptation operators. Thus, effective operators should be employed to achieve a robust dynamic optimization algorithm. The algorithm presented in this study is known as spread-based dynamic multi-objective algorithm (SBDMOA) that uses bi-directional mutation and convex crossover operators to exploit and explore the search space. The selection operator of the proposed algorithm is inspired by the spread metric to maximize diversity. When the environment changed, the proposed algorithm removes the dominated solutions and mutated all the non-dominated solutions for adaptation to the new environment. Then the selection operator is used to select desirable solutions from the population of non-dominated and mutated solutions. Generational distance, spread, and hypervolume metrics are employed to evaluate the convergence and diversity of solutions. The overall performance of the proposed algorithm is evaluated and investigated on FDA, DMOP, JY, and the heating optimization problem, by comparing it with the DNSGAII, MOEA/D-SV, DBOEA, KPEA, D-MOPSO, KT-DMOEA, Tr-DMOEA and PBDMO algorithms. Empirical results demonstrate the superiority of the proposed algorithm in comparison to other state-of-the-art algorithms.