Cost optimal project scheduling