Climate change is the one of the most important issues faced globally and reasons of it must be reduced immediately in every area. Installing distributed power generation (DG) is one of the powerful options for reducing carbon emissions in power generation. However, improper allocation of these assets has several drawbacks. Efficient, novel and robust algorithm which is combination of both k-Means clustering and Particle Swarm Optimization is proposed in order to allocate DGs. Proposed algorithm clusters distribution network buses and selects to most proper cluster to allocate DG in this way it reduces possible buses. Furthermore, sizing and generation constraints of DGs are quite important for allocation. Therefore, several cases including different DG sizes and types are implemented to obtain the best results. Moreover, multiple DG cases are included in the study. Finally, DGs have considered as wind turbines for best cases and cases have analysed in 24 hourly bases including uncertainties both demand and production side. 33 Bus test feeder power losses are reduced up to 69%, 86%, 90% at best cases and 39%, 53%, 55% at including uncertainties by proposed algorithm for cases 1, 2, 3 DG installed, respectively.