In this paper, a two-phase approach based on multi-criteria decision making and multi-objective optimization is developed to solve the problem of optimal portfolio selection. In the first phase, the initial selection of suitable companies for investment is done by considering the criteria extracted from the literature review. In the second phase, a multi-objective mathematical optimization model is developed to determine the optimal investment in each company according to risk and return criteria. In order to deal with uncertainty conditions, a data-based approach is used, which is one of the newest applied methods in this field. According to the obtained results, it is observed that cash adequacy ratio with score 0.1604 is the most important criterion and operating profit with score 0.004 is the least important one. In the alternative prioritization section, it is concluded that Shraz, Shavan, Shenft and Vanft companies have a high priority for investment. In solving the mathematical model under certain conditions, it is observed that the Pareto members 152, 154 and 193 have the smallest distance from the ideal solution (0.0121) and therefore each of them can be used as the final solution. In solving the problem under uncertain conditions, numerical scenarios resulting from changes in the prioritization of companies based on the coefficient v is used in the VIKOR model. After solving the model, it is observed that the impact of different scenarios on corporate investment is not negligible and consequently investors need to pay attention to this fact.