# Machine Scheduling

Machine scheduling is the practice of allocating orders to positions on machines. Traditionally minimizing objectives such as makespan, weighted production times, total production time as well as others.

In managerial terms this practice aims to prioritize orders of the most important clients and maximize the output of the available hardware. Needless to say that optimizing the allocation of orders can result in substantial profit increases.

Even the simplest problem of allocating a body of orders to a single machine is deceptively hard. If one was to enumerate all the possible combinations to schedule 15 jobs on a single machine there would be more than 1,300,000,000,000 sequences to evaluate. (assuming a computer could evaluate 1 million schedules per second it would still take more than 15 days to evaluate all schedules using an iterative procedure.)

Needless to say more intelligent mathematical techniques are needed to increase this speed. For small scale problems exact solution techniques can be applied but for most company scale problems tailored heuristic approaches often provide the only manageable option.

I started working on machine scheduling problems during my master's dissertation. More specifically by developing an algorithm for a parallel machine scheduling setup in knitted fabrics manufacturing. On these pages I will demonstrate some of my work surrounding this topic.

More content coming soon!