Cool MPC-inspired Productivity Method


Is it possible to use the latest developments (decades old actually) in control theory to get your life/company/project schedule on track? I don't know, but if you want to try, here's one way to do it:

What is MPC?

MPC (Model Predictive Control) is a controller algorithm that plans out the most optimal sequence of actions it can take, and executes the first action of the sequence before replanning the sequence from scratch on the next step. A horizon (number of steps to plan for/sequence length) is chosen, and the controller uses certain optimization techniques to find the set of actions that will, upon execution, result in an optimal output. This does not always mean that the system will have reached its target if the entire sequence is executed, just that it gets as close as it can to the target.

The interesting part is, after figuring out this plan, the controller only executes the first step of the plan, then discards the rest. Then with the new information at hand, another plan is made and its first step executed. This goes on as long as the controller is running.

The advantage of this approach to following through with the initial plan is, if something unexpected pops up, or if some assumptions in your plan turn out to be faulty, these can be corrected for as the controller replans from scratch every turn. Even in the cases where the system model is perfect and there are no unexpected disturbances to mess with the plan, recomputing a short-term optimal plan every turn ends up giving better results than computing a long-term plan at the beginning.

Applying to scheduling

The most challenging part of applying this to to-do lists and the like is the optimization part. Since it's hard to quantify/model everyday tasks and how long they will take, there is a big obstacle preventing us from using pre-existing optimization techniques. You can either assign scores & costs to your tasks based on certain criteria, or give up the optimization altogether and figure out a plan that feels optimal intuitively.

Does it work?

I only tried this once so far, and I did my planning based on what felt right, instead of calculations. I am not sure if it helped me plan or execute my tasks better, but it definitely made me more aware of the time I was spending on tasks and helped me get a feel for whether the project would be completed in time or not.
I consistently underestimated how long my tasks would take in my plans.

Perhaps with continued usage of this method I will get better at scheduling ample time for each task and start seeing additional benefits of the method.