Scheduling And Moore’s Algorithm
3 min read

Scheduling And Moore’s Algorithm

Scheduling And Moore’s Algorithm
Photo by Michael Dziedzic / Unsplash

Scheduling is not only an important concept when it comes to computer science but also an important and probably an overlooked concept to live a better life. It might be easy to think about scheduling at the earliest but as we dive a little deep into this vast ocean of life with tiny reefs present with attractive pulls, we get to see that it’s probably not that simple to choose a particular strategy to schedule. The reason it’s so is because of the numerous metrics that’s involved in scheduling. Some tasks might have sharp deadlines, some may not. Some might demand to be prioritized in terms of importance but need not be really urgent. Some might want you to not have a deadline at all but only complete at the earliest possible. With all these different metrics, it’s really hard to follow a single best strategy of scheduling.

Different authors have presented different solutions to all these questions posed, but it’s finally up to us to choose which idea/ideas to standby and follow. David Allen in “Getting Things Done” stands by the statement of doing tasks under two minutes as soon as it comes to mind whereas his rival bestseller author Brian Tracy advises to start the day by doing the most difficult things first and then move to the easier ones in “Eat That Frog!”. Neil Fiore in “The Now Habit” suggests one to schedule social engagements first and then fill the gaps with personal tasks whereas the father of American psychology, William Jones, strongly stands by his statement “there’s nothing so fatiguing as the eternal hanging on of an uncompleted task”. So as we read more, we come to know that each author and great mind has his/her way of living and it’s finally up to us to customize our lifestyle by choosing what best applies to us.

Coming back to the the topic, when it comes to scheduling tasks, we need to associate them with what our goal is and then try to analyze the situation. If we wish to minimize the maximal lateness (ie, task with longest time) then we can follow the “Earliest Due Date” principle, which is fairly intuitive and asks one to complete the task with earliest due dates first. This is not only intuitive but also optimal. But what if your goal is not to minimize the maximal lateness ? Assume we have a situation in which there’s different types of food with different expiry dates. Now applying the earliest due date principle, we might want to eat food that has lesser time to expire first. The problem with this algorithm in this situation is that you might run out of time for the last or last before food and it might expire. This is certainly not the most appetizing way to look at things and especially when it comes to food. In such cases, maybe we want to move to a different algorithm and this is where Moore’s Algorithm pitches in. In Moore’s Algorithm, we start in a similar way to “Earliest Due Date” and then once we know we won’t get to eating the next item in time, we pause, look back at the meals we have already planned and throw out the item that takes the largest time to consume. This increases the likeliness of maximum amount of food we can taste as well as make sure everything’s covered under the mentioned expiry date. And throwing out doesn’t really mean wastage of food, you can always choose to donate that food or rather compost.

As mentioned earlier, it’s important to understand what your goal is and choose an algorithm that best matches the end goal of your choice. This article only answers some questions when it comes to the numerous metrics put forth in scheduling. In order to know how to schedule when we have tasks with different importance and other such nuances, make sure to follow this newsletter and read the next article “Getting Things Done with Weight”. Cheers.


Enjoyed the read ?

Subscribe to my FREE newsletter and get super interesting articles delivered straight to your inbox.

Have something to share ?

Feel free to drop a mail to thebotsite@protonmail.me