Тейлор и Гант сделали планирование объектом своих исследований и дали ему визуальную и концептуальную форму. Однако они не разрешили фундаментальный вопрос: какая же система планирования лучше? Первый намек на то, что на этот вопрос в принципе можно ответить, появился только спустя несколько десятилетий – в 1954 году в научной работе, опубликованной математиком-исследователем Селмером Джонсоном из корпорации RAND.
Джонсон исследовал сценарий переплетного дела: сначала книгу нужно напечатать на одном станке, а потом переплести, используя другой. Но наиболее распространенным примером спаренной работы двух устройств из нашей жизни служит прачечная. Когда вы стираете вещи, в первую очередь они проходят через стиральную машину, а потом отправляются в сушилку. Количество времени, которое займет каждый процесс, напрямую зависит от того, что вы загружаете. Если одежда сильно запачкана, то времени на стирку потребуется больше, при этом время на сушку не будет отличаться от обычного. Большее количество вещей будет дольше сушиться, но стирка займет то же время, что и в случае меньшей загрузки. И здесь Джонсон задал вопрос: «Если за один подход вам необходимо постирать и посушить несколько условных комплектов вещей, как это лучше организовать?»
Его ответ был таков: вам необходимо определить, какой процесс займет у вас меньше всего времени, то есть выбрать тот комплект, стирка или сушка которого займет минимальное время. Если комплект быстро постирается, начните именно с него. Если же минимальное количество времени требуется для сушки, займитесь этим комплектом в последнюю очередь. Повторите те же действия в отношении остальных комплектов вещей, двигаясь от начала и конца расписания к середине.
Интуитивно понятно: алгоритм Джонсона работает потому, что вне зависимости от выбранной последовательности загрузки белья в самом начале будет работать только стиральная машина, при этом сушилка будет простаивать (а в самом конце, когда останется только посушить выстиранные вещи, – наоборот). Если в самом начале стирать вещи на коротких программах, а в конце сушить наименьшее количество вещей, то мы увеличим период, когда и стиральная машина, и сушильная работают одновременно. Таким образом, у нас получится свести к минимуму время, проведенное в прачечной. Анализ Джонсона лег в основу первого оптимального алгоритма планирования: начните с недолгой стирки и закончите полупустой сушилкой.
Помимо непосредственных сфер применения алгоритма работа Джонсона выявила два более глубоких факта: во-первых, планирование можно выразить с помощью алгоритма, во-вторых, решения для оптимального планирования существуют. Это позволило убрать из рассмотрения ставшие популярными книги, которые описывали стратегии для целых паноптикумов гипотетических заводов со всевозможными видами и количествами станков.