The purpose of project scheduling in the process of project management is to determine execution periods for all project activities, subject to given resource or time constraints, with the objective that the resulting schedule reflects as much as possible the planning targets. This work is based on current publications that show that despite decades of research, there is still a gap between the requirements of practical planning on the one hand and the modelling and solving abilities of current state-of-the-art solution methods on the other hand. This applies in particular to the modeling of flexible, schedulable resource demands and the ability to incorporate different planning targets. In the classic model, resource demands of an activity are constant over the whole execution period and the length of this period itself is also constant. In contrast, flexible schedulable resource demands have only a total demand for the whole activity, and the activity execution duration plus the demand distribution over that execution time is determined in the optimization process. Activities can have any number of flexible schedulable and/or constant resource demands. For solving this model, two approaches are developed, namely a mixed-integer program (MIP) and a genetic algorithm (GA). While a Branch&Bound solver with the MIP can only solve small sized instances within a reasonable time, the GA achieves good solutions even for larger instances in a short, constant time. Compared to previous metaheuristic approaches, the GA is able to solve schedules under regular and non-regular objective functions and, thus, can handle different planning targets. Three different objective functions are considered in computational tests for modified test instances of the well-known PSPLIB and a case study from practice.