Yeah, of course you may
The assignment was about creating a new scheduling scheme, in which you calculate the timeslice of all proccesses at the begining of an epoch, so that the total timeslices you give out is 150*N (millisecs), where N is the number of tasks in the run queue. There are more requirements of course, but this is the general idea.
Therefor, when an epoch ends I do all the calculations and calculate all the timeslices based on the processes currently in the active queue and there is no need to re-calculate the timeslice of a task after it finishes its timeslice as it will be done when the entire epoch ends and a new one begins.