You need to alias some field to Id
in order for the Map<Id, SObject>(List<SObject>)
constructor to work.
SELECT
OpportunityLineItemId Id,
MIN(ScheduleDate) Starts
FROM OpportunityLineItemSchedule
WHERE ...
GROUP BY OpportunityLineItemId