Caching means that you keep your stuff close to where you might need it. If you keep your spices in the kitchen rather than your lavatory, congratulations, you are already doing this. Computers perform caching by storing data that it often needs in its fast memory rather than the slower hard drive. This poses the obvious problem of predicting what you will need a lot and what not. An ideal caching system should be clairvoyant.
An elegant solution is assuming that the things you used in the past will be useful in the near future as well. For organizing your paper files, you can use the smart Nogushi filing system:
Keep your documents in a stack. New documents go on top. If you need a document from the stack, put it back on top afterward.
This stack of documents will be self-organizing in the sense that the materials you need a lot tend to be at the top while papers you do not need anymore will slowly collect at the bottom. I find it a comforting thought that one of the most efficient ways to organize paperwork is by plopping it on a pile on your desk.
You can also apply this on your computer. I set the filing system of my MacBook such that a new Finder window will show all my documents in the order of last opened.
Planning a complex project with many interdependent tasks is no easy task. One such project is cooking a multi-course dinner: vegetables should be cut before they can be sautéed, the oven should be used optimally and, for God's sake, do not use the knife for raw vegetables after using it for meat! Scheduling theory is a serious business!
Depending on what metric is relevant, different strategies have to be followed. Using earliest due date you try to minimize the maximum lateness by always choosing the task which has to be finished first, regardless of how long it takes. This ensures that everything is completed as early as possible. If you instead want the maximize the number of tasks finished before the due date, you best follow Moore's algorithm. Here, you again pick the job that has to be completed first, unless it looks like you cannot finish it in time. In that case, you discard that task and choose the next most urgent task. You will end up with a splendid dinner, but without meringue on your lemon pie.
If you just have to do some chores at home or some tasks at work, without a specific order, you will spend the same amount of time regardless of their order. When different people are waiting on you to finish your tasks; however, you can minimize their collective waiting time. To this end, just do the jobs in order of the time needed to complete them. This is called shortest processing time. In practice, some things are more important than others (taking out the trash takes less time than bringing someone to the hospital, but you are still advised to the latter first). For this reason, it makes sense to weight your tasks by importance:
Do tasks in order of importance divided by the time it takes to finish the task.
So, if one task takes twice as much time as another, only do it first if it is more than two times as important.
Overfitting: our brains are wired to find patterns that might not be there. Sometimes the most simple explanation is correct.
Randomness as an inspiration for new ideas. Make your opening page in your browser a random Wikipedia page. Visit the Tumblrverse!
Computational kindness: try to limit the computational burden to your friends and family. Rather than asking your friends for a data to meet (an open problem), give them some two possible dates to meet (a verification problem).
Optimal transportation theory: for dividing desserts among colleagues.