This paper addresses a real life scheduling problem characterised by multi-resource operations whose completion simultaneously requires more than one (renewable) resource of different types. Such problems arise in various companies not only in manufacturing but also in services. Solving such a problem needs to address two interconnected subproblems: a sequencing subproblem and a resource-allocation subproblem if more than one resource is available in some types. The resource-allocation subproblem consists of allocating to each operation the resources it requires while the sequencing subproblem consists of determining the order in which each resource performs the operations assigned to it. This paper focuses on the resource-allocation subproblem. It generalises the basic scheduling problems which consist of determining the operations' starting or completion times for a given processing sequence for every resource. We consider a cost function taking into account the makespan, the cost of resource utilisation, and the load imbalance among the resources of the same type. We first formulate the problem into a mixed-integer linear program (MILP). To efficiently solve it, even in practical-sized instances, an exact algorithm called BD (Benders decomposition with enhancing cuts) is developed where the master problem only considers integer variables. We prove that the slave problem can be transformed into finding the longest paths in a digraph and therefore can be solved with the Bellman–Ford algorithm. To enhance the efficiency of the method, equivalent solutions are limited in the master problem. The performance of the approach is evaluated by comparing it against CPLEX, a state-of-the-art commonplace MILP solver, used to directly solve the initial MILP. The computational results demonstrate that BD provides competitive solutions in all upper and lower bounds. In particular, it improves, compared with CPLEX, the upper and lower bounds by 5.07% and 4.63%, respectively, in solving practical-sized instances. The experiment also shows that considering load balancing can make more rational use of resources and avoid adverse effects caused by excessive workload of staff and imbalanced use of equipment, which is very important in real-world production.