Improper placement of distributed generation (DG) units in power systems would not only lead to an increased power loss, but could also jeopardise the system operation. To avert these scenarios and tackle this optimisation problem, this study proposes an effective method to guide electric utility distribution companies (DISCOs) in determining the optimal size and best locations of DG sources on their power systems. The approach, taking into account the system constraints, maximises the system loading margin as well as the profit of the DISCO over the planning period. These objective functions are fuzzified into a single multi-objective function, and subsequently solved using genetic algorithm (GA). In the GA, a fuzzy controller is used to dynamically adjust the crossover and mutation rates to maintain the proper population diversity (PD) during GA's operation. This effectively overcomes the premature convergence problem of the simple genetic algorithm (SGA). The results obtained on IEEE 6-bus and 30-bus test systems with the proposed method are evaluated with the simulation results of the classical grid search algorithm, which confirm its robustness and accuracy. This study also demonstrates DG's economic viability relative to upgrading substation and feeder facilities, when the incremental cost of serving additional load is considered.