Выбрать главу

А вот пример из другой области — составление учебного расписания для факультета вуза. Каждый курс факультета разбит на потоки и группы. Со студентами проводятся следующие занятия: а) курсовые лекции — занят весь курс; б) потоковые лекции — занят поток; в) практические занятия — занята одна группа; г) лабораторные работы — занята часть группы; д) спецкурсы — поток разбивается на части, не совпадающие с группами.

В распоряжение факультета обычно выделяется некоторый аудиторный фонд, причем аудитории имеют разную вместимость. Ясно, что каждый преподаватель и группа (курс, поток) могут быть заняты лишь в одном занятии. Вариантов расписания можно составить тройное множество. Учитывать приходится и степень трудности лекций, и последовательность практических занятий и семинаров, и многое другое. Но крайне нежелательно в расписании наличие «окон». Поэтому составить расписание надо так, чтобы их было минимальное количество. Сделать это можно только на ЭВМ.

Стоит привести еще один пример — решение задачи планирования мультипрограммной работы электронной вычислительной машины. В настоящее время слова «электронная вычислительная машина» все чаще заменяются понятием «вычислительная система». Действительно, современная ЭВМ представляет собой комплекс автономно работающих специальных устройств, выполняющих в определенной последовательности операции по обработке информации. Чтобы полностью загрузить работой вычислительную систему ЭВМ, необходимо, чтобы в ней одновременно работали все устройства, то есть чтобы она одновременно решала несколько задач. При таком методе значительно увеличивается производительность ЭВМ. Поскольку при решении экономических задач приходится вводить и выводить огромные массивы информации, а ввод и вывод занимают много времени, то в промежутках между ними центральное вычислительное устройство фактически должно простаивать. Во избежание простоев задачи комбинируют таким образом: пока выводится информация одной из них, а вводится — другой, центральное устройство перерабатывает информацию третьей. Порядком запуска задач в машину занимается специальная программа-диспетчер, а режим работы системы называется мультипрограммным. Исходными данными для программы-диспетчера служит описание порядка, в котором решаются задачи, с указанием продолжительности каждой операции. Необходимо составить расписание работы ЭВМ так, чтобы время простоя основных устройств системы было минимальным.

Можно привести еще десятки примеров, когда приходится решать подобные задачи. Они встречаются во всех областях деятельности человека. Что же в них общего?

Во-первых, все они связаны с планированием, то есть так или иначе в них прогнозируется деятельность человека, предприятия, организации на некоторый предстоящий период времени. Надо заметить также, что в процессе планирования осуществляется привязка операций и работ к календарным периодам. Поэтому эти задачи в практике известны под названием «задачи календарного планирования».

Во-вторых, как правило, все они многовариантные, а следовательно, оптимизационные. Откуда берется многовариантность, скажем, в задаче планирования работы участка, уже говорилось: от различных порядков запуска деталей в обработку. Аналогично и в остальных задачах различные порядки прохождения судов, различные наборы работ сетевого графика, различные порядки запуска задач на ЭВМ создают большое количество вариантов плана. Из них и выбирается самый подходящий, оптимальный, по критерию, указанному в задаче.

Итак, принципиально новый подход к планированию заключается в том, что система производственного планирования при наличии на предприятии АСУ строится на основе широкого использования экстремальных задач календарного планирования.

Тут может возникнуть вопрос: а что раньше, до АСУ, вопросы календарного планирования не решались? Ведь существовали и вузы и шлюзы! Мультипрограммной ЭВМ, как, впрочем, и обычной машины, правда, не было, так что незачем было составлять график ее работы, зато составлялись же железнодорожные расписания?