Portfolio optimization is one of the most important problems in the finance field. The traditional mean-variance model has its drawbacks since it fails to take the market uncertainty into account. In this work, we investigate a two-stage stochastic portfolio optimization model with a comprehensive set of real world trading constraints in order to capture the market uncertainties in terms of future asset prices. Scenarios are generated to capture uncertain prices of assets. Stability tests are performed and the results confirm the effectiveness of the scenario generation method used for this work. We propose a hybrid combinatorial approach, which integrates a hybrid algorithm and a linear programming (LP) solver for the problem with a large number of scenarios, where the hybrid algorithm is used to search for the assets selection heuristically and the LP solver solves the corresponding sub-problems of weight allocation optimally. The hybrid algorithm is based on Population Based Incremental Learning (PBIL) while local search, hash search, elitist selection, partially guided mutation and learning inheritance are also adopted. Comparison results against other 3 algorithms are given. The results show that our hybrid combinatorial approach can solve the two-stage stochastic model effectively and efficiently. The effects of different parameter settings are also examined.