Utility-oriented Offloading with Multiple Service Constraints for Mobile-Edge Computing