b. At the end of each Sprint
In Scrum, it is mandatory to conduct all the Scrum ceremonies including Sprint Retrospective.
Sprint Retrospective is a meeting where all the team members sit and retrospect from their current sprint and lay out the action items to improvise for the upcoming sprints. For the very same reason, Sprint Retrospective is conducted at the end of each Sprint.